Let's always enforce joint limits being set #1804
Replies: 5 comments 1 reply
-
Are we sure the |
Beta Was this translation helpful? Give feedback.
-
Another small issue here: URDF only allows position/vel/effort limits. The URDF can't hold acceleration limits. ros-controls/ros2_control#340 That means, we'll be requiring everybody to add a |
Beta Was this translation helpful? Give feedback.
-
Another small issue. I'm discovering these issues as I try to implement the idea:
I don't think gripper joints should require acceleration limits, eh? Overall, I'm starting to think there are too many issues for this idea to be practical. |
Beta Was this translation helpful? Give feedback.
-
Yes, and it's a huge shortcoming of MoveIt these days that this is not possible right now. By the state of the art this should simply exist in MoveIt. Looking at obvious cases as BD's Atlas, dynamics limits are a complex function of system state depending on maximum motor torques and this function can be modeled and evaluated for trajectory generation/optimization. |
Beta Was this translation helpful? Give feedback.
-
I just ran into issues with this in the context of TOTG requiring velocity/acceleration limits for all joints, and have my two cents to contribute: Agreed that a default of 1.0 rad/s doesn't make any sense and I'm in favor of removing that. However, I don't think this should require ALL joint limits to be defined. Take, for example, a robot with 5 joints where 3 of them have velocity/acceleration limits and 2 don't. Rather than erroring out, should we just bypass those 2 unbounded joints and have the 3 bounded joints set the limits? I'd be OK with throwing an error if NONE of the active joints in the group had bounds, but so long as there is one valid bounded joint, we should be able to progress. |
Beta Was this translation helpful? Give feedback.
-
There are so many features in MoveIt that depend on proper joint limits being set, and I don't see any meaningful use case in MoveIt that works without them. We can't compute trajectory profiles based on force and payload, and even then, it would make sense to always require velocity/acceleration limits. So instead of checking for those everywhere we need them, let's always require them to be set in the RobotModelLoader once and drop the logic for them being optional.
Beta Was this translation helpful? Give feedback.
All reactions