generating trajectory from series of pose (movegroup computeCartesianPath)

1,975 views
Skip to first unread message

Behnam Asadi

unread,
Sep 4, 2013, 4:34:07 PM9/4/13
to moveit...@googlegroups.com
Dear all

I have tried to use "movegroup"  "computeCartesianPath" method with the following signature: 

computeCartesianPath(const std::vector<geometry_msgs::Pose> &waypoints, double eef_step, double jump_threshold, moveit_msgs::RobotTrajectory &trajectory, bool avoid_collisions = true);


to generate a trajectory from some of waypoints, (all pose stored in waypoints vector are reachable for the robot). I  tried different value for  eef_step and jump_threshold but I got the this in the end:

Computed Cartesian path with 1 points (followed 0.000000% of requested trajectory):


Attempting to follow 3 waypoints for link 'r_01' using a step of 0.100000 m and jump threshold 0.100000 (in global reference frame)
[ INFO] [1378294500.735856699]:



Could you please send me some snippet for computeCartesianPath from some a series of poses?

Thanks and regards. 

Ioan Sucan

unread,
Sep 4, 2013, 4:47:09 PM9/4/13
to Behnam Asadi, moveit-users
Hello Behnam,

Can you try higher values for jump_threshold (e.g., 1000)? Are you sure the 3 waypoints you pass in lad to valid IK solutions? Can you try them one by one as well?

Ioan

Behnam Asadi

unread,
Sep 4, 2013, 6:10:30 PM9/4/13
to moveit...@googlegroups.com, Behnam Asadi
Hello Ioan

I'm very sure of poses, because I set some valid joints values with no collision and then I FK to get the end effector pose.
regrading the values for threshold I set a very big value 100k but still the same.
Any ideas?
Does any one has any snippet code on  "computeCartesianPath" ?
Thanks and regards.

Behnam Asadi

unread,
Sep 6, 2013, 8:18:45 AM9/6/13
to moveit...@googlegroups.com
Oh I found the issue, I had to call  setStartState();
and set the start state to the first waypoint, then it worked

Justin

unread,
Apr 7, 2014, 12:21:33 AM4/7/14
to moveit...@googlegroups.com
I am having the same problem. I realize the original poster solved his problem, but the suggestions listed here didn't fix it for me.

I place a series of waypoints in the GetCartesianPathRequest message and make the service call, and get the following result:

[ INFO] [1396837735.027798931]: Received request to compute Cartesian path
[ INFO] [1396837735.071737255]: Attempting to follow 5 waypoints for link 'gcp_RIGHT' using a step of 0.030000 m and jump threshold 1000.000000 (in global reference frame)
[ INFO] [1396837735.437666374]: Computed Cartesian path with 1 points (followed 0.000000% of requested trajectory)

I am on Groovy, if that makes any difference.

Looking at the ErrorCode of the result, I see it is a 'success'. However, there is only 1 JointTrajectoryPoint in it. The waypoints I am using are valid- I have tested them using the standard planning option, and it has no difficulty computing plans between them.
I am filling out the RobotState, though my understanding from the documentation was that was unnecessary. It didn't work either way.

So, to recap: given a few valid poses, ComputeCartesianPath claims to successfully generates a path that only contains one set of joint angles that doesn't follow the requested trajectory at all.

Any suggestions?

Sam Lin

unread,
Jul 7, 2014, 2:21:57 AM7/7/14
to moveit...@googlegroups.com
Hello,

I am also having a similar problem. I'm using the UR10 arm(currently just with moveit) with a rectangle object acting like a base under the arm. I've tried the suggestion listed here, but it also doesn't seem to solve the problem.
The different waypoints I would like the arm to reach is reachable, and I have it going to each position before I attempted to create a Cartesian path.

The kinematics solver im using is one generated from going through the ikfast tutorial mentioned on the Moveit page.

However while testing around, I did come across that if I used the kinematics solver as the default one (kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin) it is able to compute a Cartesian path and I am able to see the plan on Moveit. BUT if i tried to set the points individually to check if each way point is reachable, it sometimes fails or generates really random paths to get to the point.

I'm with ROS Hyrdo.

Any suggestions?

Thank you to whoever can help us,

Sam Lin
Reply all
Reply to author
Forward
0 new messages