How to open controller manager for a different robot_description?
I am simulating a multi-robot system. I have a different name for the robot descriptions for different robots. When I tried to start the controller manager.
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="camera_position_controller joint_state_controller">
<remap from="robot_description" to="robot1_description" />
</node>
It gives the error:
[INFO] [WallTime: 1442100763.719533] [0.533000] Loading controller: camera_position_controller
[ERROR] [1442100763.811078289, 0.621000000]: Could not find parameter robot_description on parameter server
[ERROR] [1442100763.811171897, 0.621000000]: Failed to parse urdf file
[ERROR] [1442100763.811233707, 0.621000000]: Failed to initialize the controller
[ERROR] [1442100763.811282445, 0.621000000]: Initializing controller 'camera_position_controller' failed
The .yaml file for controller params.
robot1:
# Publish all joint states -----------------------------------
joint_state_controller:
type: joint_state_controller/JointStateController
publish_rate: 10
# Position Controllers ---------------------------------------
camera_position_controller:
type: effort_controllers/JointPositionController
joint: camera_joint
pid: {p: 100.0, i: 0.01, d: 10.0}
Kindly help.
did you ever figure out how to fix this? I'm stuck on the same problem. my joint_state_controller is getting loaded, but not the other position controllers.
I suggest using multimaster_fkie for multirobot systems. ROS master is originally designed for just one robot. You have to run multiple masters on different ports to simulate multirobot systems.