Ask Your Question
3

[WARN]: Controller Spawner couldn't find the expected controller_manager ROS Interface

asked 2017-03-12 19:25:07 -0600

jarvis gravatar image

updated 2017-03-13 03:23:27 -0600

gvdhoorn gravatar image

Hi,

I've been trying to run the husky_gazebo node.. But for some reason, I'm not able to control husky using the teleop_keyboard.

The status once I run roslaunch husky_gazebo husky_playpen.launch is:

... logging to /home/aditya/.ros/log/956de5ca-06c6-11e7-ac58-c8ff287985b5/roslaunch-aditya-Lenovo-Yoga710-14ISK-13541.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.
For more infos, see http://wiki.ros.org/xacro#Processing_Order
deprecated: xacro tags should be prepended with 'xacro' xml namespace.
Use the following script to fix incorrect usage:
find . -iname "*.xacro" | xargs sed -i 's#<([/]?)(if|unless|include|arg|property|macro|insert_block)#<\1xacro:\2#g'
when processing file: /home/aditya/CSE180/src/husky_gazebo/urdf/description.gazebo.xacro

xacro.py is deprecated; please use xacro instead
started roslaunch server http://aditya-Lenovo-Yoga710-14ISK:37005/

SUMMARY

PARAMETERS

/ekf_localization/base_link_frame: base_link
/ekf_localization/frequency: 50
/ekf_localization/imu0: imu/data
/ekf_localization/imu0_config: [False, False, Fa...
/ekf_localization/imu0_differential: True
/ekf_localization/imu0_queue_size: 10
/ekf_localization/imu0_remove_gravitational_acceleration: True
/ekf_localization/odom0: husky_velocity_co...
/ekf_localization/odom0_config: [False, False, Fa...
/ekf_localization/odom0_differential: False
/ekf_localization/odom0_queue_size: 10
/ekf_localization/odom_frame: odom
/ekf_localization/two_d_mode: True
/ekf_localization/world_frame: odom
/husky_joint_publisher/publish_rate: 50
/husky_joint_publisher/type: joint_state_contr...
/husky_velocity_controller/angular/z/has_acceleration_limits: True
/husky_velocity_controller/angular/z/has_velocity_limits: True
/husky_velocity_controller/angular/z/max_acceleration: 6.0
/husky_velocity_controller/angular/z/max_velocity: 2.0
/husky_velocity_controller/base_frame_id: base_link
/husky_velocity_controller/cmd_vel_timeout: 0.25
/husky_velocity_controller/enable_odom_tf: False
/husky_velocity_controller/estimate_velocity_from_position: False
/husky_velocity_controller/left_wheel: ['front_left_whee...
/husky_velocity_controller/linear/x/has_acceleration_limits: True
/husky_velocity_controller/linear/x/has_velocity_limits: True
/husky_velocity_controller/linear/x/max_acceleration: 3.0
/husky_velocity_controller/linear/x/max_velocity: 1.0
/husky_velocity_controller/pose_covariance_diagonal: [0.001, 0.001, 0....
/husky_velocity_controller/publish_rate: 50
/husky_velocity_controller/right_wheel: ['front_right_whe...
/husky_velocity_controller/twist_covariance_diagonal: [0.001, 0.001, 0....
/husky_velocity_controller/type: diff_drive_contro...
/husky_velocity_controller/wheel_radius_multiplier: 1.0
/husky_velocity_controller/wheel_separation_multiplier: 1.875
/robot_description: <?xml version="1....
/rosdistro: kinetic
/rosversion: 1.12.6
/twist_mux/locks: [{'topic': 'e_sto...
/twist_mux/topics: [{'topic': 'joy_t...
/use_sim_time: True
NODES
/
base_controller_spawner (controller_manager/spawner)
ekf_localization (robot_localization/ekf_localization_node)
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
spawn_husky_model (gazebo_ros/spawn_model)
twist_marker_server (interactive_marker_twist_server/marker_server)
twist_mux (twist_mux/twist_mux)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[gazebo-1]: started with pid [13562]
process[gazebo_gui-2]: started with pid [13567]
process[robot_state_publisher-3]: started with pid [13572]
process[base_controller_spawner-4]: started with pid [13573]
process[ekf_localization-5]: started with pid [13580]
process[twist_marker_server-6]: started with pid [13593]
process[twist_mux-7]: started with pid [13599]
process[spawn_husky_model-8]: started with pid [13625]
[ INFO] [1489285026.759704645]: [twist_marker_server] Initialized.
[ INFO] [1489285026.963734797]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1489285026.964849792]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1489285027.836769729, 1298.500000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1489285027.885431704, 1298.550000000]: Physics dynamic reconfigure ready.
Warning [parser_urdf.cc:1232] multiple inconsistent exists due to fixed joint reduction overwriting previous value [true] with [false].
[ INFO] [1489285028.861646869, 1298.680000000]: Laser Plugin (robotNamespace = /), Info: Using the 'robotNamespace' param: '/'
[ INFO] [1489285028.861787644, 1298.680000000]: Starting Laser Plugin (ns = /)!
[ INFO] [1489285028.863121697, 1298.680000000]: Laser Plugin (ns = /) <tf_prefix_>, set ...
(more)
edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
3

answered 2017-03-31 00:54:54 -0600

jarvis gravatar image

Okay I solved the problem ! The package that needed to be downloaded was

sudo apt-get install ros-kinetic-gazebo-ros-control

Then of course, I had to include gazebo with robot name space header in the xml file which was given in the following link:

http://answers.ros.org/question/21471...

Thanks @ufr3c_tjc appreciate the help!

edit flag offensive delete link more

Comments

Thanks, that works in my project, merci!!!

Ansonwu gravatar image Ansonwu  ( 2020-10-03 21:41:00 -0600 )edit
7

answered 2017-03-14 18:05:50 -0600

ufr3c_tjc gravatar image

If your computer is slow, sometimes Gazebo doesn't launch controller manager fast enough for the controller_spawner service. This happens on my machine the first launch each day. But I doubt this is the issue if gazebo is loading within 30 seconds. Try putting the controller_spawner launch lines in a separate file and launch it once the rest of gazebo is up and running for a little bit just to be sure it has time to launch controller_manager.

edit flag offensive delete link more

Comments

I didn't work. The gazebo launches in 30 seconds. In fact it loads in 5 seconds. But the controller_manager doesn't load after 30 seconds. I have an SSD+Core i5 with 16 gb RAM so I don't think its slow. I even downloaded the controller_manager from github:source into my workspace. Still doesn't work

jarvis gravatar image jarvis  ( 2017-03-18 15:50:17 -0600 )edit
1

Did you install ros_control from debian packages? ie sudo apt-get install ros-kinetic-ros-control? Are you running this as a Gazebo simulation, or on the actual robot? If it's gazebo, you need to launch the ros_control gazebo plugin which serves as controller_manager interface when using Gazebo

ufr3c_tjc gravatar image ufr3c_tjc  ( 2017-03-20 02:07:44 -0600 )edit

I have installed the mentioned package. The controller_manager is added in the launch file. The launch works on my lab PC. But it does not work on my laptop. And my laptop is faster than my lab PC (in my lab PC I run it on a virtual machine.). And I am running it as a simulation.

jarvis gravatar image jarvis  ( 2017-03-20 18:19:15 -0600 )edit
2

You should have the gazebo_ros_control plugin running when you launch. This sits in the URDF and is used by gazebo as the controller manager interface. See here. This is where gazebo handles the ros_control side of things, not the through normal cm.

ufr3c_tjc gravatar image ufr3c_tjc  ( 2017-03-20 23:53:08 -0600 )edit

@jarvis hey, did you figure out what was wrong?

robot_commander gravatar image robot_commander  ( 2017-03-29 17:09:13 -0600 )edit

Not yet. The problem still persists.

jarvis gravatar image jarvis  ( 2017-03-29 17:46:15 -0600 )edit

thanks @ufr3c_tjc for your insight on this problem. I was running roscore on cloud system and gazebo on ros slave and the controller spawner launch was getting timeout. I separated the controller launch which resolved the controller spawner error but now I am getting p gain errors

utsavrai gravatar image utsavrai  ( 2020-10-09 03:41:35 -0600 )edit

"launch it once the rest of gazebo is up and running for a little bit just to be sure it has time to launch controller_manager" How to do that?

ignacio gravatar image ignacio  ( 2021-06-02 04:06:32 -0600 )edit
2

answered 2020-06-20 21:41:01 -0600

biglotusturtle gravatar image

updated 2020-06-23 01:38:12 -0600

jayess gravatar image

I've found that if you're using kinetic all of the following packages are required (even if you installed ros-desktop-full)

sudo apt-get install ros-kinetic-ros-control ros-kinetic-joint-state-controller ros-kinetic-effort-controllers ros-kinetic-position-controllers ros-kinetic-velocity-controllers ros-kinetic-ros-controllers ros-kinetic-gazebo-ros ros-kinetic-gazebo-ros-control

Hopefully this helps someone else

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2017-03-12 19:25:07 -0600

Seen: 16,651 times

Last updated: Jun 23 '20