ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi, I too am facing the same problem. I have a urdf with the transmission elements in it. I tried to implement the a single joint control on it. I created a launch file and I open my model using roslaunch. I open a new terminal n follow the commands in the "running a real time joint controller" I can see my xml file in the plugin list but I do not see a .so file in the "lib" directory. Infact I do not know which lib directory I should check for it.

And do u need to add the description of the plugin in the urdf file ?

<plugin>
...
...
....
</plugin>

do u need those lines of script in the urdf file for you to be able to control a joint even if u are trying to control it by running the controller seperately like in the tutorial?

click to hide/show revision 2
Added the plugin portion to the urdf model file and faced some errors

Hi, I too am facing the same problem. I have a urdf with the transmission elements in it. I tried to implement the a single joint control on it. I created a launch file and I open my model using roslaunch. I open a new terminal n follow the commands in the "running a real time joint controller" I can see my xml file in the plugin list but I do not see a .so file in the "lib" directory. Infact I do not know which lib directory I should check for it.

And do u need to add the description of the plugin in the urdf file ?

<plugin>
...
...
....
</plugin>

do u need those lines of script in the urdf file for you to be able to control a joint even if u are trying to control it by running the controller seperately like in the tutorial?

okay guys I added the following script in the urdf file

<gazebo>
   <controller:gazebo_ros_controller_manager name="gazebo_ros_controller_manager" plugin="libgazebo_ros_controller_manager.so">
      <alwaysOn>true</alwaysOn>
      <updateRate>1000.0</updateRate>
      <interface:audio name="gazebo_ros_controller_manager_dummy_iface" />
    </controller:gazebo_ros_controller_manager>
  </gazebo>

I added this to the urdf file and I ran the model and I get a bunch of errors.

Error [parser.cc:696] XML Element[controller:gazebo_ros_controller_manager], child of element[model] not defined in SDF. Ignoring.[model]
Error [parser.cc:687] Error reading element <model>
Error [parser.cc:370] Unable to read element <sdf>
Error [parser.cc:292] parse as old deprecated model file failed.
Error [parser.cc:620] Unable to read file[/usr/share/drcsim-1.3/models/hubo_leg/model.urdf]
Error [parser.cc:687] Error reading element <world>
Error [parser.cc:370] Unable to read element <sdf>
Error:   Could not find the 'robot' element in the xml file
         at line 61 in /tmp/buildd/ros-fuerte-urdfdom-0.2.3-1precise-20121011-0155/urdf_parser/src/model.cpp
Error [parser_urdf.cc:1529] Unable to call parseURDF on robot model
Warning [parser.cc:378] SDF has no <sdf> element in file[urdf file]
Error [parser.cc:292] parse as old deprecated model file failed.
Error [Server.cc:220] Unable to read sdf file[hubo_leg.world]

I am not able to understand what these errors are telling me. Can we use the PR2 controllers on a urdf model and open it up in gazeb ?