ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Hi Guido,
ROS's spin()
function is called external to the controller manager. On the PR2, it's called from pr2_etherCAT, and in Gazebo it's called from pr2_gazebo_plugins. The controller manager itself uses ROS to load and unload controllers, and many other topics are published (such as joint_state), so if spin()
weren't being called, there would be many other issues.
I'm not sure why your subscription callback isn't being called, but I suspect it's just related to standard ROS issues and unrelated to the controllers. Try using rostopic info
, rostopic echo
, rosnode ping
, and rosnode info
. Check that both ends are connected to the same topic, and that messages are being published.
One last thing to check: be sure that your controller's init()
method finishes.
Best of luck
2 | suggested posting code |
Hi Guido,
ROS's spin()
function is called external to the controller manager. On the PR2, it's called from pr2_etherCAT, and in Gazebo it's called from pr2_gazebo_plugins. The controller manager itself uses ROS to load and unload controllers, and many other topics are published (such as joint_state), so if spin()
weren't being called, there would be many other issues.
I'm not sure why your subscription callback isn't being called, but I suspect it's just related to standard ROS issues and unrelated to the controllers. Try using rostopic info
, rostopic echo
, rosnode ping
, and rosnode info
. Check that both ends are connected to the same topic, and that messages are being published.
One last thing to check: be sure that your controller's init()
method finishes.
If you still can't find the issue, try posting some code.
Best of luck