Fail to start effort_controllers/JointVelocityController (ros_controllers)
Hi.
I managed to make the effort_controllers/JointPositionController successfully works, but some of my joints need to be controlled using the velocity.
When using this type, I get the following error message:
gzserver: /home/arnaud/Documents/catkin_ws/src/ros_control/hardware_interface/include/hardware_interface/joint_state_interface.h:71: double hardware_interface::JointStateHandle::getVelocity() const: Assertion `vel_' failed.
Aborted (core dumped)
Any idea of how to fix this? It looks like a run-time error.
Thx in advance.
Can you post a backtrace? And can you detail what steps you are going through to run Gazebo?
I am running into the same problem in Gazebo 1.9.0. Where should I post example files so you can see what I'm doing?
Can you update your original question with the example files?
Gazebo 1.9.1 manifests the problem differently. See this question to find out how to download my example repo: http://answers.gazebosim.org/question/4165/jointvelocitycontroller-does-not-work-in-gazebo/
Ultimately, the problem is this: a JointVelocityController derivative gain of around 0.01 can result in a very large effort. When that effort value is sent to Gazebo, many of the robot's links are moved to the world origin. I am currently adding a joint limit interface to gazebo_ros_control in order to prevent the problem, though a fix for Gazebo's reaction to large efforts would be welcome.
Please check my answer below for a full description of the pb, including code and configuration files. This question can be closed.