-
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
Issues with MoveIt2 configuration for ABB IRB1200 Robot - Simulation #73
Comments
Hi @dayvsonsilva, I use docker run the ros 2 rolling, got the same error as yours. after apply the two changes and rebuild still get the same error, still does not load MotionPlanning as shown in your image. is there anything we could miss here ? Thanks! |
Hi Wei, can you post the log from your terminal? One thing that I may not have made clear is that in joint_limits.yaml, all axes must be modified. joint_limits:
joint_1:
has_velocity_limits: true
max_velocity: 5.027
has_acceleration_limits: true
max_acceleration: 15.0
joint_2:
has_velocity_limits: true
max_velocity: 4.189
has_acceleration_limits: true
max_acceleration: 15.0
joint_3:
has_velocity_limits: true
max_velocity: 5.236
has_acceleration_limits: true
max_acceleration: 15.0
joint_4:
has_velocity_limits: true
max_velocity: 6.981
has_acceleration_limits: true
max_acceleration: 15.0
joint_5:
has_velocity_limits: true
max_velocity: 7.069
has_acceleration_limits: true
max_acceleration: 15.0
joint_6:
has_velocity_limits: true
max_velocity: 10.472
has_acceleration_limits: true
max_acceleration: 15.0 Another detail is that the max_acceleration value that I configured (15.0) is not the value in the robot's datasheet, it is just a test value, I need to find the robot's manual and check this data. |
Hi @dayvsonsilva, here all my terminal errors: root@9358374d31de:~/test1# ros2 launch abb_bringup abb_moveit.launch.py robot_xacro_file:=irb1200_5_90.xacro support_package:=abb_irb1200_support moveit_config_package:=abb_irb1200_5_90_moveit_config moveit_config_file:=abb_irb1200_5_90.srdf.xacro
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-11-01-11-37-51-258995-9358374d31de-14269
[INFO] [launch]: Default logging verbosity is set to INFO
WARNING:root:Cannot infer URDF from `/root/test1/install/abb_irb1200_5_90_moveit_config/share/abb_irb1200_5_90_moveit_config`. -- using config/abb_bringup.urdf
WARNING:root:Cannot infer SRDF from `/root/test1/install/abb_irb1200_5_90_moveit_config/share/abb_irb1200_5_90_moveit_config`. -- using config/abb_bringup.srdf
[INFO] [move_group-1]: process started with pid [14272]
[INFO] [rviz2-2]: process started with pid [14273]
[INFO] [static_transform_publisher-3]: process started with pid [14274]
[INFO] [robot_state_publisher-4]: process started with pid [14275]
[static_transform_publisher-3] [WARN] [1730461071.515236206] []: Old-style arguments are deprecated; see --help for new-style arguments
[static_transform_publisher-3] [INFO] [1730461071.554447860] [static_transform_publisher]: Spinning until stopped - publishing transform
[static_transform_publisher-3] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-3] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-3] from 'world' to 'base_link'
[robot_state_publisher-4] [WARN] [1730461071.580134027] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
[robot_state_publisher-4] [INFO] [1730461071.580265124] [robot_state_publisher]: Robot initialized
[rviz2-2] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[move_group-1] Error: Name of virtual joint is not specified
[move_group-1] at line 77 in ./src/model.cpp
[move_group-1] [INFO] [1730461071.634989899] [move_group.moveit.moveit.ros.rdf_loader]: Loaded robot model in 0.00364555 seconds
[move_group-1] [INFO] [1730461071.635161702] [move_group.moveit.moveit.core.robot_model]: Loading robot model 'abb_irb1200_5_90'...
[move_group-1] [INFO] [1730461071.635188854] [move_group.moveit.moveit.core.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint
[move_group-1] [WARN] [1730461071.646036422] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
[move_group-1] [INFO] [1730461071.646135943] [move_group.moveit.moveit.kinematics.kdl_kinematics_plugin]: Joint weights for group 'manipulator': 1 1 1 1 1 1
[rviz2-2] MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)
[rviz2-2] glx: failed to create drisw screen
[move_group-1] [INFO] [1730461071.701752886] [move_group.moveit.moveit.ros.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[move_group-1] [INFO] [1730461071.701912497] [move_group.moveit.moveit.ros.moveit_cpp]: Listening to 'joint_states' for joint states
[move_group-1] [INFO] [1730461071.703775358] [move_group.moveit.moveit.ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[move_group-1] [INFO] [1730461071.704306196] [move_group.moveit.moveit.ros.planning_scene_monitor]: Listening to '/attached_collision_object' for attached collision objects
[move_group-1] [INFO] [1730461071.704327408] [move_group.moveit.moveit.ros.planning_scene_monitor]: Stopping existing planning scene publisher.
[move_group-1] [INFO] [1730461071.705953927] [move_group.moveit.moveit.ros.planning_scene_monitor]: Stopped publishing maintained planning scene.
[move_group-1] [INFO] [1730461071.708132320] [move_group.moveit.moveit.ros.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[move_group-1] [INFO] [1730461071.708287332] [move_group.moveit.moveit.ros.planning_scene_monitor]: Starting planning scene monitor
[move_group-1] [INFO] [1730461071.712905330] [move_group.moveit.moveit.ros.planning_scene_monitor]: Listening to '/planning_scene'
[move_group-1] [INFO] [1730461071.712939169] [move_group.moveit.moveit.ros.planning_scene_monitor]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[move_group-1] [INFO] [1730461071.713745876] [move_group.moveit.moveit.ros.planning_scene_monitor]: Listening to 'collision_object'
[move_group-1] [INFO] [1730461071.714409162] [move_group.moveit.moveit.ros.planning_scene_monitor]: Listening to 'planning_scene_world' for planning scene world geometry
[move_group-1] [WARN] [1730461071.714964396] [move_group.moveit.moveit.ros.occupancy_map_monitor]: Resolution not specified for Octomap. Assuming resolution = 0.1 instead
[move_group-1] [ERROR] [1730461071.714987150] [move_group.moveit.moveit.ros.occupancy_map_monitor]: No 3D sensor plugin(s) defined for octomap updates
[move_group-1] [FATAL] [1730461071.721635528] [move_group.moveit.moveit.ros.planning_pipeline]: Exception while loading planner 'ompl_interface/OMPLPlanner': According to the loaded plugin descriptions the class ompl_interface/OMPLPlanner with base class type planning_interface::PlannerManager does not exist. Declared types are Available plugins:
[move_group-1] terminate called after throwing an instance of 'pluginlib::LibraryLoadException'
[move_group-1] what(): According to the loaded plugin descriptions the class ompl_interface/OMPLPlanner with base class type planning_interface::PlannerManager does not exist. Declared types are
[rviz2-2] MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)
[rviz2-2] glx: failed to create drisw screen
[rviz2-2] [INFO] [1730461071.786074145] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-2] [INFO] [1730461071.786197679] [rviz2]: OpenGl version: 4.5 (GLSL 4.5)
[rviz2-2] [INFO] [1730461071.828355849] [rviz2]: Stereo is NOT SUPPORTED
[ERROR] [move_group-1]: process has died [pid 14272, exit code -6, cmd '/opt/ros/rolling/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_fgc69_g0'].
[rviz2-2] Warning: class_loader.impl: SEVERE WARNING!!! A namespace collision has occurred with plugin factory for class rviz_default_plugins::displays::InteractiveMarkerDisplay. New factory will OVERWRITE existing one. This situation occurs when libraries containing plugins are directly linked against an executable (the one running right now generating this message). Please separate plugins out into their own library or just don't link against the library and use either class_loader::ClassLoader/MultiLibraryClassLoader to open.
[rviz2-2] at line 321 in /opt/ros/rolling/include/class_loader/class_loader/class_loader_core.hpp
[rviz2-2] [WARN] [1730461071.925754349] [rcl.logging_rosout]: Publisher already registered for node name: 'rviz2'. If this is due to multiple nodes with the same name then all logs for the logger named 'rviz2' will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[rviz2-2] [ERROR] [1730461074.960847306] [rviz2.moveit.ros.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-2] [INFO] [1730461075.011500521] [rviz2.moveit.ros.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params.
[rviz2-2] Error: Name of virtual joint is not specified
[rviz2-2] at line 77 in ./src/model.cpp
[rviz2-2] [INFO] [1730461075.166587617] [rviz2.moveit.ros.rdf_loader]: Loaded robot model in 0.0125437 seconds
[rviz2-2] [INFO] [1730461075.166671006] [rviz2.moveit.core.robot_model]: Loading robot model 'abb_irb1200_5_90'...
[rviz2-2] [INFO] [1730461075.166691177] [rviz2.moveit.core.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint
[rviz2-2] [WARN] [1730461075.203112647] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
[rviz2-2] [INFO] [1730461075.203266909] [rviz2.moveit.kinematics.kdl_kinematics_plugin]: Joint weights for group 'manipulator': 1 1 1 1 1 1
[rviz2-2] [INFO] [1730461075.260048684] [rviz2.moveit.ros.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[rviz2-2] [INFO] [1730461075.303083566] [rviz2.moveit.ros.planning_scene_monitor]: Starting planning scene monitor
[rviz2-2] [INFO] [1730461075.304431210] [rviz2.moveit.ros.planning_scene_monitor]: Listening to '/monitored_planning_scene'
[rviz2-2] [INFO] [1730461075.481855209] [interactive_marker_display_110440514737552]: Connected on namespace: /rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic
[rviz2-2] [WARN] [1730461075.483595995] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
[rviz2-2] [INFO] [1730461075.650074819] [interactive_marker_display_110440514737552]: Sending request for interactive markers
[rviz2-2] [INFO] [1730461075.693162724] [interactive_marker_display_110440514737552]: Service response received for initialization
[rviz2-2] [INFO] [1730461080.486839630] [rviz2.moveit.ros.planning_scene_monitor]: Failed to call service get_planning_scene, have you launched move_group or called psm.providePlanningSceneService()?
[rviz2-2] [INFO] [1730461080.486926103] [rviz2.moveit.ros.motion_planning_frame]: group manipulator
[rviz2-2] [INFO] [1730461080.486935337] [rviz2.moveit.ros.motion_planning_frame]: Constructing new MoveGroup connection for group 'manipulator' in namespace '' |
At first I couldn't link the failures to specific reasons. My suggestion is that you check the branch you are using (Rolling). I reproduced the process again by creating a new workspace. Again, only the changes I pointed out were necessary. I used rosdep to ensure that all dependencies were installed. Please use ros2 pkg list to check which packages you have installed and compare them with the list below.
|
Thanks a lot! @dayvsonsilva, I install all pkgs start with moveit from your list, now the it works! |
Please open a PR to fix any configs! |
Development Environment:
After following the environment preparation tutorial and running the commands below:
dayvson@dayvson:~/ws_abb$ ros2 launch abb_bringup abb_control.launch.py description_package:=abb_irb1200_support description_file:=irb1200_5_90.xacro launch_rviz:=false moveit_config_package:=abb_irb1200_5_90_moveit_config use_fake_hardware:=true
and
dayvson@dayvson:~/ws_abb$ ros2 launch abb_bringup abb_moveit.launch.py robot_xacro_file:=irb1200_5_90.xacro support_package:=abb_irb1200_support moveit_config_package:=abb_irb1200_5_90_moveit_config moveit_config_file:=abb_irb1200_5_90.srdf.xacro
I got the following error:
And consequently MoveIt2 does not load MotionPlanning as shown in the image.
After researching and not finding any reference to what could be the error, I started checking the moveit configuration files and comparing the repository code with the moveit2 example files, I found a significant difference in the ompl_planning.yaml file. As a test I made the modification of:
To:
With the modifications when trying to run the code I got an error just signaling that the maximum acceleration of the joints was not defined, so I modified the code to:
To:
With this, I was able to run the simulation and it was also possible to plan and execute movements.
If anyone has the same problem, perhaps they can use this solution. Or if possible, I would like to understand if the root cause was actually just the lack of a package at the beginning of the process.
The text was updated successfully, but these errors were encountered: