moveit / moveit_setup_assistant

THIS REPO HAS MOVED TO https://github.com/ros-planning/moveit
8 stars 20 forks source link

Assistant should load velocity limits from URDF #44

Closed mikeferguson closed 11 years ago

mikeferguson commented 11 years ago

Velocity limits from the URDF should be put into joint_limits.yaml -- this will improve out of the box performance for most users.

JeremyZoss commented 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 _moveit_controller_manager.launch and others.

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.