MoveIt: How to write a joint_names.yaml for robots with multiple arms.

asked 2016-08-31 16:44:54 -0500

Hello all,

I currently have a robotic system that has x4 UR robots. 1 UR10 and 3 UR5s. In the controllers.yaml file, each robot has it's own controller of the format one right after another as such:

name: ur10_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
joints:
  - ur10shoulder_pan_joint
  - ur10shoulder_lift_joint
  - ur10elbow_joint
  - ur10wrist_1_joint
  - ur10wrist_2_joint
  - ur10wrist_3_joint
name: 1ur5_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
joints:
  - 1ur5shoulder_pan_joint
  - 1ur5shoulder_lift_joint
  - 1ur10elbow_joint
  - 1ur10wrist_1_joint
  - 1ur10wrist_2_joint
  - 1ur10wrist_3_joint 
etc...

I have a controller manager launch file written as per suggested in the following tutorial http://wiki.ros.org/Industrial/Tutori... , but when I try and run:

roslaunch robotsys_moveit_config moveit_planning_execution.launch

it opens Rviz properly and OMPL and I can interact and plan with the markers for each of the robots, but the terminal keeps outputting:

[ERROR] [1472678806.945676410]: Joint 'joint_1' not found in model 'robot_sys'
[ERROR] [1472678806.945750650]: Joint 'joint_2' not found in model 'robot_sys'
[ERROR] [1472678806.945792766]: Joint 'joint_3' not found in model 'robot_sys'
[ERROR] [1472678806.945837863]: Joint 'joint_4' not found in model 'robot_sys'
[ERROR] [1472678806.945888083]: Joint 'joint_5' not found in model 'robot_sys'
[ERROR] [1472678806.945924409]: Joint 'joint_6' not found in model 'robot_sys'
[ERROR] [1472678807.045649343]: Joint 'joint_1' not found in model 'robot_sys'
[ERROR] [1472678807.045704638]: Joint 'joint_2' not found in model 'dante_sys'
[ERROR] [1472678807.045734499]: Joint 'joint_3' not found in model 'dante_sys'
[ERROR] [1472678807.045761852]: Joint 'joint_4' not found in model 'dante_sys'
[ERROR] [1472678807.045789157]: Joint 'joint_5' not found in model 'dante_sys'
[ERROR] [1472678807.045815873]: Joint 'joint_6' not found in model 'dante_sys'

I personally think that I need a joint_names.yaml file to be written, but since there are x4 robots, I don't know how to write it. All the examples I've seen are one line that says:

controller_joint_names: [jointname_1, jointname_2, ... jointname_N]

Any idea???

edit retag flag offensive close merge delete

Comments

One suggestion it to check your urdf model file? looks like you have "joint_1, 2 ,3..." joint names in robot_sys and dante_sys...but your controller yaml file has completely different names (1ur10wrist_3_joint...etc). Normally you have to match the names everywhere.

johnyang gravatar imagejohnyang ( 2016-09-07 20:26:09 -0500 )edit