Ask Your Question
0

compute_cartesian_path does not compute continuous joint positions

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

romana gravatar image

Hello,

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]

to

[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

Comments

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 imagejarvisschultz ( 2019-06-13 14:39:37 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

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

gvdhoorn gravatar image

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

@jarvisschultz:

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

Comments

@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 imagejarvisschultz ( 2019-06-13 15:28:08 -0500 )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: https://github.com/ros-planning/moveit/issues/773

romana gravatar imageromana ( 2019-06-14 01:10:50 -0500 )edit

hello, i have a problem with add Cartesian to Rviz. im using ros kinetic 16.04.5. Someone help me?

minhsonpkmta@gmail.com gravatar imageminhsonpkmta@gmail.com ( 2019-06-25 20:32:33 -0500 )edit
1

@minhsonpkmta@gmail.com: please don't post comments on questions asking for help. You've already posted a question.

gvdhoorn gravatar imagegvdhoorn ( 2019-06-26 01:46:39 -0500 )edit

@gvhhoorn http://answers.ros.org/question/32691... my question but nobody answers :<

minhsonpkmta@gmail.com gravatar imageminhsonpkmta@gmail.com ( 2019-06-26 01:52:38 -0500 )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 imagegvdhoorn ( 2019-06-26 01:54:02 -0500 )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

2 followers

Stats

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

Seen: 75 times

Last updated: Jun 13