-
Notifications
You must be signed in to change notification settings - Fork 43
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
No plan execution #8
Comments
Hi @mrayh001, Thank you very much for contacting us. Unfortunately, ros2_RobotSimulation only supports the ROS2 Robot Triggers defined in ros2_data and ros2_actions packages. These actions use a very simple move_group node, which uses OMPL planning to plan and execute the robot movements (you can find this in any robot_interface.launch.py file, in the move_group node definition). Thus, moveit2 will complain about some missing information (e.g., joint limits) if you want to execute any complex movement or planner, such as time parametrization (which I can see you are using) or the Pilz Industrial Motion Planner. However, there is a way to define the joint limits that your execution is complaining about. I cannot guarantee that this will 100% solve your problem, but it will define the acceleration limits for your joints. You need to follow these steps:
joint_limits:
shoulder_pan_joint:
has_velocity_limits: true
max_velocity: 3.15
has_acceleration_limits: true
max_acceleration: 10.0
shoulder_lift_joint:
has_velocity_limits: true
max_velocity: 3.15
has_acceleration_limits: true
max_acceleration: 10.0
elbow_joint:
has_velocity_limits: true
max_velocity: 3.15
has_acceleration_limits: true
max_acceleration: 10.0
wrist_1_joint:
has_velocity_limits: true
max_velocity: 3.2
has_acceleration_limits: true
max_acceleration: 10.0
wrist_2_joint:
has_velocity_limits: true
max_velocity: 3.2
has_acceleration_limits: true
max_acceleration: 10.0
wrist_3_joint:
has_velocity_limits: true
max_velocity: 3.2
has_acceleration_limits: true
max_acceleration: 10.0
# joint_limits.yaml file:
joint_limits_yaml = load_yaml(
"ur5_ros2_moveit2", "config/joint_limits.yaml"
)
joint_limits = {'robot_description_planning': joint_limits_yaml}
# move_group node:
run_move_group_node = Node(
package="moveit_ros_move_group",
executable="move_group",
output="screen",
parameters=[
robot_description,
robot_description_semantic,
kinematics_yaml,
joint_limits,
ompl_planning_pipeline_config,
trajectory_execution,
moveit_controllers,
planning_scene_monitor_parameters,
{"use_sim_time": True},
],
) This will allow you to add information about the joint acceleration limits into the move_group node. Regards, |
Hey @mrayh001, |
Hi , I am trying to run this in ROS 2 humble, ubuntu 22.04.
When I execute ros2 launch ur5_ros2_moveit2 ur5.launch.py
I can't execute any trajectory basically because it says i have to define an acceleration limits in URDF or joint_limits.yaml
The partial output:
[rviz2-17] [INFO] [1681417475.035408610] [interactive_marker_display_94871693411616]: Service response received for initialization
[rviz2-17] [INFO] [1681417542.921162527] [move_group_interface]: MoveGroup action client/server ready
[move_group-18] [INFO] [1681417542.922056694] [moveit_move_group_default_capabilities.move_action_capability]: Received request
[move_group-18] [INFO] [1681417542.922585385] [moveit_move_group_default_capabilities.move_action_capability]: executing..
[move_group-18] [INFO] [1681417542.922800746] [moveit_move_group_default_capabilities.move_action_capability]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[move_group-18] [INFO] [1681417542.922841654] [moveit_move_group_capabilities_base.move_group_capability]: Using planning pipeline 'move_group'
[rviz2-17] [INFO] [1681417542.922942098] [move_group_interface]: Planning request accepted
[move_group-18] [INFO] [1681417542.924870420] [moveit.ompl_planning.model_based_planning_context]: Planner configuration 'ur5_arm' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[move_group-18] [ERROR] [1681417543.048884791] [moveit_trajectory_processing.time_optimal_trajectory_generation]: No acceleration limit was defined for joint shoulder_pan_joint! You have to define acceleration limits in the URDF or joint_limits.yaml
[move_group-18] [WARN] [1681417543.048922632] [moveit_ros.add_time_optimal_parameterization]: Time parametrization for the solution path failed.
[move_group-18] [INFO] [1681417543.048977349] [moveit_move_group_default_capabilities.move_action_capability]: Motion plan was computed successfully.
[rviz2-17] [INFO] [1681417543.049940292] [move_group_interface]: Planning request complete!
[rviz2-17] [INFO] [1681417543.049949352] [move_group_interface]: time taken to generate plan: 0.0304088 seconds
[move_group-18] [INFO] [1681417565.252176289] [moveit_move_group_default_capabilities.move_action_capability]: Received request
[move_group-18] [INFO] [1681417565.252590660] [moveit_move_group_default_capabilities.move_action_capability]: executing..
[move_group-18] [INFO] [1681417565.252799078] [moveit_move_group_default_capabilities.move_action_capability]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[move_group-18] [INFO] [1681417565.252962096] [moveit_ros.plan_execution]: Planning attempt 1 of at most 1
[move_group-18] [INFO] [1681417565.252993345] [moveit_move_group_capabilities_base.move_group_capability]: Using planning pipeline 'move_group'
[rviz2-17] [INFO] [1681417565.253123676] [move_group_interface]: Plan and Execute request accepted
[move_group-18] [INFO] [1681417565.253760401] [moveit.ompl_planning.model_based_planning_context]: Planner configuration 'ur5_arm' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[move_group-18] [ERROR] [1681417565.400122973] [moveit_trajectory_processing.time_optimal_trajectory_generation]: No acceleration limit was defined for joint shoulder_pan_joint! You have to define acceleration limits in the URDF or joint_limits.yaml
[move_group-18] [WARN] [1681417565.400148010] [moveit_ros.add_time_optimal_parameterization]: Time parametrization for the solution path failed.
[move_group-18] [INFO] [1681417565.400367426] [moveit_move_group_default_capabilities.move_action_capability]: Solution was found and executed.
[rviz2-17] [INFO] [1681417565.401689723] [move_group_interface]: Plan and Execute request complete!
I tried to define acceleration limits inside ur5_macro.urdf.xacro. but it does not work. Do you know any solution to this? Thanks.
The text was updated successfully, but these errors were encountered: