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

rosrun controller_manager controller_manager list

asked 2014-04-21 06:26:37 -0500

b3l33 gravatar image

I am attempting to spawn controllers but interactions with controller_manager seem to hang.

1) when I attempt to launch my controllers I see the following after a timeout:

[INFO] [WallTime: 1398097365.560001] Controller Spawner: Waiting for service controller_manager/load_controller [WARN] [WallTime: 1398097395.567543] Controller Spawner couldn't find the expected controller_manager ROS interface. [gripper/controller_spawner-1] process has finished cleanly log file: /home/user/.ros/log/57c14baa-c96f-11e3-b22a-c81f6621927d/gripper-controller_spawner-1*.log

2) Subsequently, if I attempt to merely list controllers/types the call hangs until I kill the process:

rosrun controller_manager controller_manager list

Anyone have any tips on what I am doing wrong? I have confirmed that ros_control and ros_controllers are installed.

Thanks in advance.

edit retag flag offensive close merge delete

Comments

Do you have a control process running? Can you see the controller_manager service with `rosservice list` ?

ahendrix gravatar image ahendrix  ( 2014-04-21 06:50:18 -0500 )edit

No, it does not appear in the list of services....

b3l33 gravatar image b3l33  ( 2014-04-21 07:14:53 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2014-04-21 09:12:23 -0500

b3l33 gravatar image

updated 2014-04-21 09:13:32 -0500

I found my mistake. I had a type-o in my URDF. I was using an incorrect tag in the gazebo plugin namespace element. Namely, I had

<gazebo> <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"> <robot_namespace>/gripper</robot_namespace> </plugin> </gazebo>

When I should have had

<gazebo> <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"> <robotNamespace>/gripper</robotNamespace> </plugin> </gazebo>

edit flag offensive delete link more
2

answered 2014-04-21 07:28:50 -0500

ahendrix gravatar image

It sounds like you don't have a control loop running.

The controller_manager paradigm has two components, the control loop itself, which reads data and sends commands to the actuators, and which has loadable controllers through a service, and the controller_manager, which calls that service to load and unload controllers.

In your case, it sounds like your control loop isn't running. It's hard to say more without knowing what kind of robot you're trying to control and which nodes are already running.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2014-04-21 06:26:37 -0500

Seen: 4,963 times

Last updated: Apr 21 '14