Defining more than one group of arm while using moveit with industrial robot simulator.

494 views
Skip to first unread message

Karthikeyan Yuvraj

unread,
May 11, 2013, 8:34:23 PM5/11/13
to swri-ros...@googlegroups.com
Hello everyone,

I have been using this tutorial http://ros.org/wiki/Industrial/Tutorials/Create_a_MoveIt_Pkg_for_an_Industrial_Robot .  Initially I used just one arm for my humanoid robot and it worked well,here is a video:  http://youtu.be/ZuPLkSa0dho . Now I am planning to add legs and an other arm but it gives the following error,when I try to execute a planned trajectory:


[ INFO] [1368318679.193348235]: Waiting for left_arm/joint_trajectory_action to come up
[ INFO] [1368318684.193518284]: Waiting for left_arm/joint_trajectory_action to come up
[ERROR] [1368318689.193775591]: Action client not connected: left_arm/joint_trajectory_action
[ERROR] [1368318689.206472786]: No controller handle for controller 'left_arm'. Aborting.

Also here is my controllers.yaml file:

controller_manager_ns: pr2_controller_manager
controller_list:
  - name: left_arm
    ns: joint_trajectory_action
    default: true
    joints:
      - LSP
      - LSR
      - LSY
      - LWP
      - LWY
      - LEP
  - name: right_arm
    ns: joint_trajectory_action
    default: true
    joints:
      - RSP
      - RSR
      - RSY
      - RWP
      - RWY
      - REP
     
Also here is my joint_names.yaml
controller_joint_names: ['LSP','LSR','LSY','LWP','LWY','LEP','RSP','RSR','RSY','RWP','RWY','REP']


Also here is my moveit_planning_excution_sim.launch

<launch>
 # The planning and execution components of MoveIt! configured to run
 # using a simulated ROS-Industrial node

 #-------------------------------------
 # These actions are normally handled in the "real" robot's bringup launch file
 #
 # load the URDF
 <param name="robot_description" textfile="/home/karthik/groovy_workspace/hubo-ach-tab/hubo-models/huboplus_kart.urdf" />
 # run the robot simulator and action interface nodes


 
 <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
 #-------------------------------------
 
<rosparam command="load" file="$(find cart_hubo_moveit)/config/joint_names.yaml"/>

 <include file="$(find cart_hubo_moveit)/launch/move_group.launch">
  <arg name="publish_monitored_planning_scene" value="true" />
 </include>

 <include file="$(find cart_hubo_moveit)/launch/moveit_rviz.launch"/>
</launch>


I am clearly wrong about adding the second group,any advice?. 

regards,
Karthik





Zoss, Jeremy K.

unread,
May 12, 2013, 5:59:16 PM5/12/13
to swri-ros...@googlegroups.com

Karthik,

 

The industrial_robot_simulator package has not been well-tested for multi-arm configurations.  It will probably require additional modifications to the launch file shown in the tutorial.

 

In particular, the industrial_robot_simulator expects the joint_names list of the incoming trajectory commands to match the list shown in controller_joint_names.  If you set things up as shown below, the simulator node will probably receive two different command trajectories (one for each arm group), which will not match the unified controller_joint_names parameter you have defined.

 

You will likely need to create two different namespaces, with parallel instantiations of the industrial_robot_simulator chain.  The different arm commands can then be mapped to separate simulator nodes.  This will be a bit tricky when setting up the launch file, but should be possible.

 

Alternatively, if this architecture does not well mirror the configuration you expect to use for interfacing to your actual robot hardware, then the better solution might be to modify the industrial_robot_simulator and joint_trajectory_action nodes to be more flexible for dual-arm configurations.

 

Hope this helps,

  Jeremy Zoss

  Robotics and Automation Engineering

  Southwest Research Institute

--
You received this message because you are subscribed to the Google Groups "swri-ros-pkg-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to swri-ros-pkg-d...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Philipp Ennen

unread,
Oct 15, 2013, 12:07:18 PM10/15/13
to swri-ros...@googlegroups.com, karthikey...@gmail.com
Hey everyone,

are there any news?

I am new to ROS and have to implement a collision-aware path planning for two ABB IRB 120.  So I started to follow the MoveIt-Tutorial for ROS-Industrial (http://wiki.ros.org/Industrial/Tutorials/Create_a_MoveIt_Pkg_for_an_Industrial_Robot).

In my controllers.yaml are two controllers defined, one for each robot:

controller_manager_ns: IRB120_controller_manager
controller_list:
  - name: "lefty_controller"
    action_ns: joint_trajectory_action
    type: FollowJointTrajectory
    default: true
    joints: [joint_1, joint_2, joint_3, joint_4, joint_5, joint_6]
  - name: "righty_controller"
    action_ns: joint_trajectory_action
    type: FollowJointTrajectory
    default: true
    joints: [joint_7, joint_8, joint_9, joint_10, joint_11, joint_12]

My launch-File for the controller manager looks like:
<launch>
  <arg name="moveit_controller_manager" default="moveit_simple_controller_manager/MoveItSimpleControllerManager"/>
  <param name="moveit_controller_manager" value="$(arg moveit_controller_manager)"/>
  <arg name="controller_manager_name" default="IRB120_controller_manager" />
  <param name="controller_manager_name" value="$(arg controller_manager_name)" />
  <arg name="use_controller_manager" default="true" />
  <param name="use_controller_manager" value="$(arg use_controller_manager)" />
  <rosparam file="$(find IRB120_moveit_config)/config/controllers.yaml"/>
</launch>

But if I start the rviz simulation, i recieve a lot of errors.
First of all i get problems with the namespace. (This made sense, so i have removed those two seperate controllers and put one big controller with the name "" and twelve joints (joint_1...joint_12)  into the controller.yaml)
After this modification everything works fine for the robot "lefty", but for "righty" nothing is working. I get this error message:

[ INFO] [1381850851.969137350]: Planning attempt 1 of at most 1
[ INFO] [1381850851.969833341]: No planner specified. Using default.
[ INFO] [1381850851.969882282]: Attempting to use default projection.
[ INFO] [1381850851.970055851]: Starting with 1 states
[ INFO] [1381850851.991527527]: Created 156 (70 start + 86 goal) states in 136 cells (67 start (67 on boundary) + 69 goal (69 on boundary))
[ INFO] [1381850851.991565164]: Solution found in 0.021641 seconds
[ INFO] [1381850851.991951702]: Path simplification took 0.000336 seconds
[ WARN] [1381850852.604970725]: The complete state of the robot is not yet known.  Missing joint_7, joint_8, joint_9, joint_10, joint_11, joint_12

The listening of the rostopic joint_states also throws only information for the first six joints.

Maybe anyone has an idea? Why are the joints_7.. joints_12 not available?

Best regards,
Philipp

Shaun Edwards

unread,
Oct 15, 2013, 2:24:57 PM10/15/13
to swri-ros...@googlegroups.com, karthikey...@gmail.com
Philipp,

If you could share our package, I might be able to help you better.  The fact that you aren't seeing joints 7-12 is probably a moveit configuration issue.  You might want to cross post your question to the moveit discussion group: (https://groups.google.com/forum/#!forum/moveit-users)

Shaun


--

Philipp Ennen

unread,
Oct 17, 2013, 1:15:12 PM10/17/13
to swri-ros...@googlegroups.com, karthikey...@gmail.com
Hey Shaun,

thanks for your answer.

I have attached the package with all my modifications. Mostly I added seperate namespaces of both robots.
Today i wrote a node, which subscribes the JointStates of both namespaces and publish them as a single /joint_state with 12 joints. Currently this node allows to see the state of both robots in rviz.

Now I am happy that the path planning and execution works for the left robot. But if I want to move the right robot with the simulation started by "moveit_planning_execution.launch", I get following error:


[ INFO] [1382028251.944898564]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[ INFO] [1382028251.946233615]: No planner specified. Using default.
[ INFO] [1382028251.946301429]: Attempting to use default projection.
[ INFO] [1382028251.946592627]: Starting with 1 states
[ INFO] [1382028251.980327415]: Created 405 (294 start + 111 goal) states in 326 cells (241 start (234 on boundary) + 85 goal (85 on boundary))
[ INFO] [1382028251.980370559]: Solution found in 0.033986 seconds
[ INFO] [1382028251.980807322]: Path simplification took 0.000403 seconds
[ INFO] [1382028255.817654702]: Received new trajectory execution service request...
[ERROR] [1382028255.818081096]: Joint trajectory action failing on invalid joints
[ WARN] [1382028255.818415291]: Controller handle reports status FAILED
[ INFO] [1382028255.818552063]: Execution completed: FAILED


Maybe you have a little hint for me ;)
Thanks a lot!

Greetings
Philipp
 
IRB120_moveit_config.zip

peter...@gmail.com

unread,
Oct 8, 2016, 6:14:45 PM10/8/16
to swri-ros-pkg-dev, karthikey...@gmail.com
HI! Philipp Ennen

I am struggling with this problem,Please tell me how did you solve this problem! thanks for any help!
Peter Lin.

Philipp Ennen於 2013年10月18日星期五 UTC+8上午1時15分12秒寫道:

peter...@gmail.com

unread,
Oct 18, 2016, 2:27:00 PM10/18/16
to swri-ros-pkg-dev, karthikey...@gmail.com


Karthikeyan Yuvraj於 2013年5月12日星期日 UTC+8上午8時34分23秒寫道:
Reply all
Reply to author
Forward
0 new messages