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: Path planning with external axis
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?