Ask Your Question

compute_cartesian_path does not compute continuous joint positions

asked 2019-06-13 12:29:10 -0600

romana gravatar image


I am running Ubuntu 16.04.5 LTS 16.04 in WSL with ROS kinetic.

While calculating several cartesian paths for a staubli_tx260l (6axes industrial robot) with the compute_cartesian_path service, it happens that sometimes the path is invalid, since the joint positions along the paths are not continuous, see for example picture below.

image description

The flip happens between the 4th and the 5th position, where the robot should move from position

[-0.8164353348567588, -1.0937959386772529, 1.4667880334652406, 1.9230484632374774, 0.3627698072434711, 3.9772405581658408]


[2.0767835783263866, -0.4576791782176186, 1.4568906881126429, -2.735827535224531, 1.191242394368736, -0.2624960939982821]

This is the MoveIt log:

[ INFO] [1560442288.701454600]: Received request to compute Cartesian path
[ INFO] [1560442288.707727800]: Attempting to follow 2 waypoints for link 'robotB_speaker_tcp' using a step of 0.010000 m and jump threshold 0.000000 (in global reference frame)
[ INFO] [1560442288.748145300]: Computed Cartesian path with 15 points (followed 100.000000% of requested trajectory)

I am using a custom moveit package for the staubli robot, but the same occurred also with the ur5_moveit_package. So I guess the problem has to do with the planning algorithm rather than the model.

Is this a bug or do I miss some setting?

Thanks in advance!

Best, Romana

edit retag flag offensive close merge delete


The jump_threshold parameter passed to the compute_cartesian_path method is used to control the maximum joint angle jumps between successive joint angles to still be considered a valid path. What are you setting for that value?

jarvisschultz gravatar image jarvisschultz  ( 2019-06-13 14:39:37 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-06-13 14:57:50 -0600

gvdhoorn gravatar image

updated 2019-06-13 15:00:56 -0600


and jump threshold 0.000000

so 0, meaning : disabled, meaning: all joint configurations are acceptable.

So I guess the problem has to do with the planning algorithm

there is no planning. compute_cartesian_path(..) only interpolates.

edit flag offensive delete link more


@gvdhoorn oops.... didn't read the question carefully enough. That jump_threshold is very likely the error. You are also correct that compute_cartesian_path does no planning. Only interpolation, collision checking, and joint limit checking.

jarvisschultz gravatar image jarvisschultz  ( 2019-06-13 15:28:08 -0600 )edit

Thank you very much for your quick reply, this seems obvious now ;)

I changed it and it works now!

While wondering in which situations such a parameter could be of use, I stumbled also over this thread:

romana gravatar image romana  ( 2019-06-14 01:10:50 -0600 )edit

hello, i have a problem with add Cartesian to Rviz. im using ros kinetic 16.04.5. Someone help me? gravatar image  ( 2019-06-25 20:32:33 -0600 )edit
1 please don't post comments on questions asking for help. You've already posted a question.

gvdhoorn gravatar image gvdhoorn  ( 2019-06-26 01:46:39 -0600 )edit

@gvhhoorn my question but nobody answers :< gravatar image  ( 2019-06-26 01:52:38 -0600 )edit

That is still not a reason to post comments on tangentially related questions. If nobody answers, perhaps nobody knows or they don't have time.

gvdhoorn gravatar image gvdhoorn  ( 2019-06-26 01:54:02 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2019-06-13 12:29:10 -0600

Seen: 266 times

Last updated: Jun 13 '19