0
$\begingroup$

Rosanswers logo

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


Originally posted by romana on ROS Answers with karma: 3 on 2019-06-13

Post score: 0


Original comments

Comment by jarvisschultz on 2019-06-13:
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?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

@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.


Originally posted by gvdhoorn with karma: 86574 on 2019-06-13

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by jarvisschultz on 2019-06-13:
@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.

Comment by romana on 2019-06-14:
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

Comment by [email protected] on 2019-06-25:
hello, i have a problem with add Cartesian to Rviz. im using ros kinetic 16.04.5. Someone help me?

Comment by gvdhoorn on 2019-06-26:
@[email protected]: please don't post comments on questions asking for help. You've already posted a question.

Comment by [email protected] on 2019-06-26:
@gvhhoorn http://answers.ros.org/question/326916/how-to-add-cartesian-path-planner-moveit-plugin-in-rviz/ my question but nobody answers :<

Comment by gvdhoorn on 2019-06-26:
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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.