Closed mikeferguson closed 11 years ago
Since the URDF doesn't contain accel limits, using URDF limits to initialize the joint_limits.yaml file will never be "correct" out of the box. This enhancement would be an improvement over the current behavior, but I think we could probably do more.
Ideally, we might add an additional page (widget) to the Setup Assistant to specify these planning limits. The velocities on this page could be initially populated from the URDF. It could also include checkboxes to enable/disable velocity or accel limits, setting the appropriate fields in the joint_limits.yaml file. This functionality might cause issues with Editing an existing moveit package, since I don't think the SA currently reads in values from config files other than .setup_assistant and .srdf. So, this fix might first depend on Issue #32.
Another approach would be to simply display a notice after "Generate Configuration Files" that some files should be manually edited to implement full functionality. This list would include joint_limits.yaml, but potentially also
If we do auto-populate joint_limits.yaml from URDF limits, it might be worth allowing users to specify a scaling factor to de-rate the maximum joint speeds for planning purposes. As far as I know, MoveIt will always try to plan trajectories at "maximum speed" as defined in the joint_limits.yaml file. For Industrial Robots, this max speed can be fairly quick, and it is sometimes desirable to do initial testing and application development at reduced speeds (e.g. 25% of max-joint-speed) for increased safety.
Velocity limits from the URDF should be put into joint_limits.yaml -- this will improve out of the box performance for most users.