This is pegasus_gazebo_plugins package developed for our quadruped robot "Pegasus",which is used for Pegasus robots in gazebo simulation and ROS environment.closed_loop_plugin is one of the plugins that open here,to solve the issue that URDF not support Closed loop chains.

For more information, please refer to


The URDF served the ROS, it has several notable is it does not support closed loop chains. The SDF served the gazebo, support closed loop chains - this can be achieved by allowing two different joints to have the same child link but different parents The closed_loop_plugin works after the robot model is converted from urdf to sdf, inserting a new joint into the SDF.



In order to install the pegasus_gazebo_plugins, clone the latest version from this repository into your catkin workspace and compile the package using ROS.

 cd catkin_workspace/src
 git clone
 cd ../


This closed_loop_plugin just like a button that connects two joints

  • <joint>the name of the added joint

  • <child> the name that child coordinate of the added joint

  • <parent> the name that parent coordinate of the added joint

add to your robot.urdf:

  <plugin name="Myrobot_ClosedLoopPlugin" filename="">
    <joint>add_joint</joint> <child>add_joint_child_link</child> 

{*} note: You can change the position where two joints are connected in closed_loop_plugin.cpp

  • math::Pose jointOrigin(x,y,z,roll,pitch,yaw);

math::Pose jointOrigin(0.00,0.00,0.00,0.00,-0.00,0.00);

Wiki: Angel_jj/closed_loop_plugin (last edited 2019-05-07 02:42:01 by Angel_jj)