-
Notifications
You must be signed in to change notification settings - Fork 543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pilz LIN planner deviates from target linear speed when rotation is involved in a move #2909
Comments
This is probably because of the way KDL handles synchronization between translation and rotation, using See
|
This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups. |
I tried using moveit built from source after #3000 , the issue seems to have been reduced a bit, but it is still very much present. |
This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups. |
The issue seems to arise from two factors within Pilz, both related to KDL::Path_line. While testing the further, we found issues with the TCP speed calculations we used for testing purposes. So for all further testing we used the actual time required for the motions rather than the speed.
solution : set
A modified version of Pilz with the above mentioned changes can be found here As noted by @gaspatxo this seems to a safety feature but this has not been clearly described in the documentation. |
Thanks for sharing your findings and solutions! I'd encourage you to put up a PR, nothing that:
|
@sea-bass Yes I would do that |
Description
My goal is to control the linear velocity at which my end effector moves throughout a move sequence. I am using the Pilz
LIN
planner and its multi-segment capability.The speed is respected when movements do not include rotation, being the
max_trans_vel
(inpilz_cartesianl_limits.yaml
) multiplied bymaxVelocityScalingFactor
.However, when rotation is involved in a move, it deviates from the specified:
In all moves the
maxVelocityScalingFactor
is the same,0.1
pilz_cartesianl_limits.yaml
:I have tested this in the Panda and xarm7 robotic arms and in both cases the behaviour is the same.
Your environment
ROS2 Humble on Ubuntu 22.04 using moveit2 binary humble install with cyclone DDS
Steps to reproduce
/move_group_sequence
capability for the panda arm #1281Note
It could be that this behaviour is not erroneous. However, I have not been able to find much documentation on the pilz planner and I currently reading the source coude to understand where this is coming from. If this is the intended behaviour, it seems to me contradictory to the philosophy of the pilz LIN planner
The pilz LIN section in moveit docs says:
The text was updated successfully, but these errors were encountered: