[ros-users] [Discourse.ros.org] [ROS-Industrial] Integration of 6-axis manipulator and 2-axis positioner (external axes)

Thomas Lehmann via Discourse.ros.org ros.discourse at gmail.com
Thu Feb 21 01:59:38 UTC 2019

I am currently working on setting up a 6-axis welding robot with a 2-axis positioner for wire and arc additive manufacturing (WAAM). What we are attempting is very similar to what @VictorLamoine describes here: https://discourse.ros.org/t/path-planning-with-external-axis/4451

So what we would need to do is to integrate the manipulator and positioner w.r.t. kinematics and planning including collision avoidance so that the planner can account for simultaneous motion of both the manipulator and positioner. I am assuming that Descartes might be able to plan trajectories for both groups simultaneously including collision avoidance.

I am not sure if there are already packages available for this type of setup (manipulator and 2-axis positioner) and could not find much in public repositories. Therefore, I have started to develop support and moveit_config packages for our WAAM system based on the assumption that our manipulator-positioner setup would be very similar to a two-arm system. The design of the manipulator-positioner support package is therefore roughly modeled after the Motoman SDA10f support package. The moveit_config package was created using the moveit setup assistant and this tutorial: http://wiki.ros.org/Industrial/Tutorials/Create_a_MoveIt_Pkg_for_an_Industrial_Robot.  

The packages can be found here:

They depend on the `motoman_ma2010_support` and `motoman_motopos_d500_support` packages, which can be found in this fork of the ros-industrial/motoman repo for the time being: https://github.com/Adamsua-lab/motoman.

I am now wondering if this is the correct approach to achieve the integration of manipulator and positioner.   
I am posting this here and not in ROS Answers as I can imagine that using a manipulator together with a 2-axis positioner is found frequently in the industry and is therefore of general interest. I am also hoping that my attempt and struggles to make this work (see below) might help further the discussion on this subject. 

I have tested the `moveit_config` package using `moveit_planning_execution.launch sim:=true`. But there seems to be an issue with the service `/get_planning_scene`. The following error messages are thrown: 

[ INFO] [1550623893.876476244]: waitForService: Service [/get_planning_scene] has not been advertised, waiting...
[ WARN] [1550623897.538627753]: Waiting for ma2010_d500/arm_controller/joint_trajectory_action to come up
[ INFO] [1550623898.898565207]: Failed to call service get_planning_scene, have you launched move_group? at /tmp/binarydeb/ros-kinetic-moveit-ros-planning-0.9.15/planning_scene_monitor/src/planning_scene_monitor.cpp:498

`move_group` is indeed running but `/get_planning_scene` seems to be stuck for some reason. The service is actually listed when running `rosservice list | grep /get_planning_scene`.

When I instead launch `demo.launch`, I can plan and execute manipulator pose goals successfully.

I have a slight suspicion that there is something wrong with the controller-setup or something related to it as the `demo.launch` and `moveit_planning_execution.launch` files launch different controllers. 

I am getting essentially the same behaviour as described above when running the same two launch-scripts of the `motoman_sda10f_moveit_config` package. 

Has anyone encountered an error like this before and would know how to solve it?

[Visit Topic](https://discourse.ros.org/t/integration-of-6-axis-manipulator-and-2-axis-positioner-external-axes/7931/1) or reply to this email to respond.

More information about the ros-users mailing list