# A joint control plugin for a parallel robot, the plugin does not work!

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi, I hope you are doing well. I have provided the SDF model of a parallel robot to simulate it in the Gazebo and control its end-effector. Based on my knowledge, the closed kinematic chain must be provided in SDF format so I could not use the URDF and URDF based plugin to control my robot. However, I have inserted my robot in the Gazebo and I can set the joint angle and velocity by means of the provided plan in the right side of the Gazebo. It seems to work well! I have used the gazebo_ros plugin such as "joint_trajectory_plugin", "joint_state_publisher" in order to control the robot joints and get feedback them. I am able to get the feedback by "joint_state_publisher" but I could never manage to set the position or velocity by means of the "joint_trajectory_plugin". Predicated on this failure, I have written a plugin in order to set the joint position. But the plugin does not work and the position of the intended link does not change. I will appreciate if you help me.

The SDF of the considering robot is presented as below:

    <?xml version="1.0" encoding="utf-8"?>
<sdf version="1.5">
<model name="Agile-eye">
<pose>0 0 0.0523364278812051 1.5707963267949 0 0</pose>
<gravity>1</gravity>
<self_collide>0</self_collide>
<pose>0 0 0 0 0 0</pose>
<velocity_decay>
<linear>0</linear>
<angular>0</angular>
</velocity_decay>
<inertial>
<mass>2.45302262810541</mass>
<pose>0 0 0 0 0 0</pose>
<inertia>
<ixx>0.0174089005567679</ixx>
<ixy>0.00386321027734225</ixy>
<ixz>0.00224453213339039</ixz>
<iyy>0.0163888871488208</iyy>
<iyz>0.00191258456874747</iyz>
<izz>0.021215632267225</izz>
</inertia>
</inertial>
<collision name="Base_collision">
<pose>0 0 0 0 0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://Agile-eye/meshes/Base_col.STL</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode>
<kp>100000</kp>
<kd>1</kd>
</ode>
</contact>
<friction>
<ode>
<mu>0.2</mu>
<mu2>0.1</mu2>
</ode>
</friction>
</surface>
</collision>
<visual name="Base_visual">
<pose>0 0 0 0 0 0</pose>
<material>
<ambient>0.752941176470588 0.752941176470588 0.752941176470588 1</ambient>
<diffuse>0.752941176470588 0.752941176470588 0.752941176470588 1</diffuse>
</material>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://Agile-eye/meshes/Base.STL</uri>
</mesh>
</geometry>
</visual>
<joint name="fixed to ground" type="revolute">
<parent>world</parent>
<child>Base</child>
<axis>
<limit>
<lower>0</lower>
<upper>0</upper>
</limit>
<xyz>0 0 1</xyz>
</axis>
</joint>
<gravity>1</gravity>
<self_collide>0</self_collide>
<pose>0.09692 0.05666 0.0654 -1.5707963267949 0 0</pose>
<velocity_decay>
<linear>0</linear>
<angular>0</angular>
</velocity_decay>
<inertial>
<mass>0.0402007076630336</mass>
<pose>0 0 0 0 0 0</pose>
<inertia>
<ixx>0.00012884674184318</ixx>
<ixy>6.13154456211418E-05</ixy>
<ixz>4.16049597669714E-17</ixz>
<iyy>4.84154728485539E-05</iyy>
<iyz>4.6668041639536E-15</iyz>
<izz>0.000176009253214268</izz>
</inertia>
</inertial>
<collision name="arm1_collision">
<pose>0 0 0 0 0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model ...
edit retag close merge delete