-
Notifications
You must be signed in to change notification settings - Fork 40
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
Fixed the wrong type for time parameterization in ompl #55
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR!
Another big change to the configs in moveit 2.7+
is how kinematics is loaded. Now the kinematics yaml needs to be namespaced under robot_description_kinematics
so loading the yaml like we do now will not work.
One easy way to resolve this is to rely on moveit_config_utils to load all params under correct namespaces without having to update the kinematics.yaml
file.
Do you mind also updating the abb_moveit.launch.py
file to rely on moveit_config_utils
instead?
In the meanwhile I will create + push a humble
branch so that users on Humble have a compatible version of this repo to work with.
Okay I have pushed the changes you requested @Yadunund. Please review these changes to abb_moveit.launch.py to see if this is what you were asking for. Thank you for the feedback. |
I have also noticed that a lot of the same files are referenced in the abb_control.launch.py file. What I have done before is had a separate file called moveit_utils.py or something like that, which has an object that builds the MoveItConfigsBuilder, then both files (abb_control and abb_moveit) can just call that utils file object. This would reduce redundant code. But this was not requested so I didn't do that for this commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jodle001
Thanks for making the requested changes and sorry for the delay in following up (I was away for a bit). Left a couple of minor comments to address before we can merge.
In addition, please also add an <exec_depend>moveit_configs_utils</exec_depend>
tag to the package.xml
for the newly introduced dependency.
Removed hard coded config package Co-authored-by: Yadu <[email protected]>
added argument names for clarity. Co-authored-by: Yadu <[email protected]>
Added moveit_configs_utils dependency to package.xml
I have made the changes requested, let me know if there is anything else that you would like to have changed. |
Added one more change to publish robot description and robot semantic. |
Thanks for addressing the additional feedback so quickly. Do you mind fixing the formatting of the code so that Format CI job passes? I think the |
Okay I believe the formatting changes have been made to pass your test. |
Format CI is still failing. |
Sorry about that, I set that up and used the local command to fix the formatting. Thank you for your help. |
f"{moveit_config_file.perform(context)}", | ||
) | ||
) | ||
.planning_pipelines( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry one last thing came to mind. I don't think we should restrict the planning_pipelines
to just ompl
. If we remove this entry, the builder will load default configs for ompl
, stomp
, chomp
and pilz
which would be nicer for users to play around with in the rviz palnning panel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick question, I removed the lines here:
But I was getting this error without adding a pilz_cartesian_limits.yaml file to the moveit_config package:
[ERROR] [launch]: Caught exception in launch (see debug for traceback): "File /opt/robotic_platform/install/abb_irb1200_5_90_moveit_config/share/abb_irb1200_5_90_moveit_config/config/pilz_cartesian_limits.yaml doesn't exist"
So I added this to the abb_irb1200_5_90_moveit_config package in the config directory:
cartesian_limits:
max_trans_vel: 1.0
max_trans_acc: 2.25
max_trans_dec: -5.0
max_rot_vel: 1.57
But even with this, If you select the pilz planner it doesn't seem to successfully plan a path. The other planners I see available are ompl, and CHOMP and they can both successfully plan a path.
Not sure how you would like me to proceed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the problem is because the pilz_indsutrial_motion_planner
is loaded based on the deafult config file in moveit_config_utils but there isn't a default pilz_cartesian_limits.yaml
file. Hence you had to manually include on in the config folder here. I think if you use moveit_setup_assistant
, it does generate this file in the local config.
Perhaps you can open an issue ticket in upstream moveit to include a default pilz_cartesian_limits.yaml
file in moveit_config_utils
?
But even with this, If you select the pilz planner it doesn't seem to successfully plan a path. The other planners I see available are ompl, and CHOMP and they can both successfully plan a path.
I think this is because we have not set any acceleration limits in the joint_limits.yaml
file which are needed by the planner. You should be seeing a message printout indicating this
[move_group-1] [INFO] [1704356296.402945412] [moveit_move_group_capabilities_base.move_group_capability]: Using planning pipeline 'pilz_industrial_motion_planner'
[move_group-1] [ERROR] [1704356296.402995752] [moveit.ros_planning.planning_pipeline]: Exception caught: 'acceleration limit not set for group manipulator'
If you edit the joint_limits.yaml
file by setting has_acceleration_limts: true
for each joint a specify some max_acceleration
like 5.0
, you should be apply to plan PTP motions with pilz_industrial_motion_planner
.
I think it's best to leave the acceleration limits as false
for now until someone can share accurate values for this specific robot.
…tesian_limits yaml.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for iterating on this PR!
"moveit_controller_manager": "moveit_simple_controller_manager/MoveItSimpleControllerManager", | ||
} | ||
|
||
trajectory_execution = { | ||
# MoveIt does not handle controller switching automatically |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This behavior was lost in the changes as by default, moveit_manage_controllers
is set to True
by the builder. I'll open a PR to update.
* Fixed the wrong type for time parameterization in ompl * Updated to use the MoveItConfigsBuilder * Optimized the imports. * Update abb_bringup/launch/abb_moveit.launch.py Removed hard coded config package Co-authored-by: Yadu <[email protected]> * Update abb_bringup/launch/abb_moveit.launch.py added argument names for clarity. Co-authored-by: Yadu <[email protected]> * Update package.xml Added moveit_configs_utils dependency to package.xml * Formatting adn also publishing robot_description and semantic * Fixed formatting to pass format test per requeset by Yadunund. * Used pre-commit to fix formatting locally. * Removed planning pipeline limits to ompl planner, also added pilz_cartesian_limits yaml. --------- Co-authored-by: Yadu <[email protected]>
* Fixed the wrong type for time parameterization in ompl * Updated to use the MoveItConfigsBuilder * Optimized the imports. * Update abb_bringup/launch/abb_moveit.launch.py Removed hard coded config package * Update abb_bringup/launch/abb_moveit.launch.py added argument names for clarity. * Update package.xml Added moveit_configs_utils dependency to package.xml * Formatting adn also publishing robot_description and semantic * Fixed formatting to pass format test per requeset by Yadunund. * Used pre-commit to fix formatting locally. * Removed planning pipeline limits to ompl planner, also added pilz_cartesian_limits yaml. --------- Co-authored-by: Jacob Odle <[email protected]>
#54 related to this issue I created. Here is the change.