Planning complex plans using multiple waypoints with MoveIt
Hi,
I am currently doing a school project where we were given the task to "simulate" a welding path using a UR5. Since the welding path has to be very precise we have created a path containing around 700 waypoints that the arm has to go through. Initially we tried simply defining every single pose using Eigen::Affine3d and Eigen::Quaterniond, for instance this is our first waypoint.
Eigen::Affine3d pose1= Eigen::Translation3d(0.618794, 0.02779, 0.1482) * Eigen::Quaterniond(0.4815, 0.1315, -0.8665, 0);
Following defining all 700 of these poses we would simply do
group.setPoseTarget(pose1);
group.move();
group.setPoseTarget(pose2);
group.move();
and so on.
Now this probably has a number of disadvantages, but the most apparent one is that when running this program on a real UR5, the motors stop after every group.move which means that there is a LOT of stuttering.
My question is:
Is there a way to compute a path with all of these waypoints included? And can this path then be executed in one fluid motion? If this is not possible using MoveIt, is there another way to do it within ROS? We really want to use ROS for this, but watching other groups use "simple" simulation software to execute their paths is rather disheartening and makes us want to go for the "easy" solution.
We are currently running ROS Indigo on Ubuntu 14 using ROS Industrial for simulation and the Modern UR driver for when connecting to the UR5.
Any help is appreciated and please tell me if i need to explain anything further.