ros_control behaves differently for continuous joint robot between hydro and indigo
I am trying to upgrade from ros hydro to ros indigo; and everything has been going fine aside from ros_control
. It seems there has been some change that breaks the velocity trajectory controller for my continuous joint robot. The velocity controller seems to go the wrong direction when trying to execute a simple trajectory. I have verified that the problem does not exist in hydro by setting my ros master to an external machine that is running ros_control
in hydro, and sending the command from my indigo machine.
Here's a screenshot of the joint errors reported by the joint_trajectory_controller
shooting off. For joint 3, you see desired and actual starting out the same, then a small control error of ~0.3 is applied to make it follow a trajectory. The controller just shoots off to infinity. Note the same controller works in hydro
, but not in indigo
.
And here's the state of the controller manager:
I tried downgrading my ros_control
, and ros_controllers
to the versions found in the ros-hydro-ros-control
debian, but this did not fix the issue. I had to build these from source, and it required changing the urdfdom
version referenced by ros_control
to the one locally installed by indigo (which could be a clue).
Here are the contents of my URDF.
Has anything changed in the parsing of URDF
files, or in joint_trajectory_controller
that might have caused this issue?