-
Notifications
You must be signed in to change notification settings - Fork 531
Closed
Description
Here's an outline of my problem:
- I have multiple robots in Gazebo with different URDF descriptions. Each robot is pushed into a namespace (/robot1/...), and each frame id is pre-pended with a prefix (robot1_....). Consequently, I have no robot_description param in the global namespace.
- libgazebo_ros_control (running inside Gazebo) initializes ControllerManager. Gazebo runs in the global namespace.
effort_controllers/JointPositionController(running inside Gazebo) callsurdf::Model::initParamwhich does not respect the controller's constructed namespace, and executes asearchParamin Gazebo's global namespace, which fails.
I can't figure out how to tell the controller to read the robot_description from robot1/robot_description.
Furthermore, It's unclear to me why each controller is trying to read the URDF independently in the first place. Doesn't it make more sense to use the controller manager.
If this issues needs a patch, and I can provide one. Would an acceptable solution be that I duplicate Model's search inside a controller, since the controller has the correct NodeHandle?
progtologist, bmagyar, nstiurca, willcbaker, qbrobotics-AT and 1 more
Metadata
Metadata
Assignees
Labels
No labels