Why won't my model follow the velocities when using setVelocity?

asked 2014-09-12 10:09:48 -0500

fjmorenom gravatar image

I'm currently working with a robotic arm using ros_control and Gazebo. I'm trying to use JointVelocityControllers using VelocityJointInterface to control the arm. In this case the gazebo_ros_control package uses Joint::SetVelocity to "apply" the velocities to the model. Shouldn't this make the model follow exactly the velocities that I send? (like when using Joint::SetAngle, of course taking into account that this bypasses the physics) I know the maximum force should be specified with setMaxForce(...) and that this value should be quite large, but it doesn't matter how large I set this force, the model won't execute the velocities correctly, not even close to saying acceptable (but also not so bad to say that it is not trying to follow them). For example, when I send the value 0, it remains standing for a while, but after 40 seconds it falls. Any ideas as why this could be happening?

With the file in the link below you should be able to start the model by using:

roslaunch schunk_lwa4p_extended lwa4p_extended_sim_velocityinterfaces.launch

The file is here. The model is located in: schunk_modular_robotics/schunk_description/urdf/lwa4p_extended. There you can change the values of the joint limits (which are used for setMaxForce(...)) and see that the arm will still fall, or not execute the velocites correctly, even with huge values.

BTW, I'm using ROS Hydro on Ubuntu 12.04.

edit retag flag offensive close merge delete