-
Notifications
You must be signed in to change notification settings - Fork 525
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
Does JointTrajectoryController assume that joints are rotational? #432
Comments
I think you are quite right about this. Did you come around to solve it in the end or still building your 3+ meters long linear joint? :) |
I don't have a 3+m long linear joint so I was never really affected by this, just wanted to point it out for the next guy :) |
steinmn
added a commit
to nLinkAS/ros_controllers
that referenced
this issue
Mar 25, 2022
As "the next guy", thank you so much for this comment @alain-m. This was really giving me a headache until I found this! |
bmagyar
pushed a commit
that referenced
this issue
Nov 13, 2023
bmagyar
pushed a commit
that referenced
this issue
Nov 13, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Does
JointTrajectoryController
assume that joints are rotational - continuous, revolute - instead of linear - prismatic -? I cannot find any such assumption documented on the wiki or in the code, but maybe I missed something.I see the
angle_wraparound_
member, apparently used to differentiate continuous from revolute joints.The calculation for the
state_joint_error_
on position at https://github.com/ros-controls/ros_controllers/blob/melodic-devel/joint_trajectory_controller/include/joint_trajectory_controller/joint_trajectory_controller_impl.h#L390 and that for thestate_error
on position at https://github.com/ros-controls/ros_controllers/blob/melodic-devel/joint_trajectory_controller/include/joint_trajectory_controller/joint_trajectory_controller_impl.h#L394 useangles::shortest_angular_distance
which will always give you a result in [-pi;pi].It would be confusing to find that the position error on my linear joint mysteriously doesn't want to go beyond [-3.14meters;3.14meters], although a linear joint with such a length is probably not very common...
The text was updated successfully, but these errors were encountered: