Open dayvsonsilva opened 1 month ago
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! Wei
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, Thanks! Dayvson I have made the all changes in joint_limits.yaml as you mention above, for all joint. still same problem.
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.
ros2 pkg list
abb_bringup
abb_egm_msgs
abb_hardware_interface
abb_irb1200_5_90_moveit_config
abb_irb1200_support
abb_irb4600_support
abb_rapid_msgs
abb_rapid_sm_addin_msgs
abb_resources
abb_robot_msgs
abb_ros2
abb_rws_client
ackermann_msgs
ackermann_steering_controller
action_msgs
action_tutorials_cpp
action_tutorials_interfaces
action_tutorials_py
actionlib_msgs
actuator_msgs
admittance_controller
ament_clang_format
ament_clang_tidy
ament_cmake
ament_cmake_auto
ament_cmake_copyright
ament_cmake_core
ament_cmake_cppcheck
ament_cmake_cpplint
ament_cmake_export_definitions
ament_cmake_export_dependencies
ament_cmake_export_include_directories
ament_cmake_export_interfaces
ament_cmake_export_libraries
ament_cmake_export_link_flags
ament_cmake_export_targets
ament_cmake_flake8
ament_cmake_gen_version_h
ament_cmake_gmock
ament_cmake_google_benchmark
ament_cmake_gtest
ament_cmake_include_directories
ament_cmake_libraries
ament_cmake_lint_cmake
ament_cmake_pep257
ament_cmake_pytest
ament_cmake_python
ament_cmake_ros
ament_cmake_target_dependencies
ament_cmake_test
ament_cmake_uncrustify
ament_cmake_version
ament_cmake_xmllint
ament_copyright
ament_cppcheck
ament_cpplint
ament_flake8
ament_index_cpp
ament_index_python
ament_lint
ament_lint_auto
ament_lint_cmake
ament_lint_common
ament_package
ament_pep257
ament_uncrustify
ament_xmllint
angles
bicycle_steering_controller
builtin_interfaces
camera_calibration
camera_calibration_parsers
camera_info_manager
chomp_motion_planner
class_loader
common_interfaces
composition
composition_interfaces
compressed_depth_image_transport
compressed_image_transport
console_bridge_vendor
control_msgs
control_toolbox
controller_interface
controller_manager
controller_manager_msgs
cv_bridge
demo_nodes_cpp
demo_nodes_cpp_native
demo_nodes_py
depth_image_proc
depthimage_to_laserscan
desktop
diagnostic_msgs
diagnostic_updater
diff_drive_controller
domain_coordinator
dummy_map_server
dummy_robot_bringup
dummy_sensors
effort_controllers
eigen3_cmake_module
eigen_stl_containers
example_interfaces
examples_rclcpp_minimal_action_client
examples_rclcpp_minimal_action_server
examples_rclcpp_minimal_client
examples_rclcpp_minimal_composition
examples_rclcpp_minimal_publisher
examples_rclcpp_minimal_service
examples_rclcpp_minimal_subscriber
examples_rclcpp_minimal_timer
examples_rclcpp_multithreaded_executor
examples_rclpy_executors
examples_rclpy_minimal_action_client
examples_rclpy_minimal_action_server
examples_rclpy_minimal_client
examples_rclpy_minimal_publisher
examples_rclpy_minimal_service
examples_rclpy_minimal_subscriber
fastrtps_cmake_module
filters
force_torque_sensor_broadcaster
forward_command_controller
generate_parameter_library
generate_parameter_library_py
geometric_shapes
geometry2
geometry_msgs
gps_msgs
graph_msgs
gripper_controllers
gz_cmake_vendor
gz_common_vendor
gz_dartsim_vendor
gz_fuel_tools_vendor
gz_gui_vendor
gz_math_vendor
gz_msgs_vendor
gz_ogre_next_vendor
gz_physics_vendor
gz_plugin_vendor
gz_rendering_vendor
gz_ros2_control
gz_sensors_vendor
gz_sim_vendor
gz_tools_vendor
gz_transport_vendor
gz_utils_vendor
hardware_interface
image_common
image_geometry
image_pipeline
image_proc
image_publisher
image_rotate
image_tools
image_transport
image_transport_plugins
image_view
imu_sensor_broadcaster
interactive_markers
intra_process_demo
joint_limits
joint_state_broadcaster
joint_state_publisher
joint_state_publisher_gui
joint_trajectory_controller
joy
kdl_parser
keyboard_handler
kinematics_interface
laser_filters
laser_geometry
launch
launch_param_builder
launch_pytest
launch_ros
launch_testing
launch_testing_ament_cmake
launch_testing_ros
launch_xml
launch_yaml
libcurl_vendor
liblz4_vendor
libstatistics_collector
libyaml_vendor
lifecycle
lifecycle_msgs
logging_demo
map_msgs
mcap_vendor
message_filters
moveit
moveit_common
moveit_configs_utils
moveit_core
moveit_hybrid_planning
moveit_kinematics
moveit_msgs
moveit_planners
moveit_planners_chomp
moveit_planners_ompl
moveit_planners_stomp
moveit_plugins
moveit_py
moveit_resources
moveit_resources_fanuc_description
moveit_resources_fanuc_moveit_config
moveit_resources_panda_description
moveit_resources_panda_moveit_config
moveit_resources_pr2_description
moveit_resources_prbt_ikfast_manipulator_plugin
moveit_resources_prbt_moveit_config
moveit_resources_prbt_pg70_support
moveit_resources_prbt_support
moveit_ros
moveit_ros_benchmarks
moveit_ros_control_interface
moveit_ros_move_group
moveit_ros_occupancy_map_monitor
moveit_ros_perception
moveit_ros_planning
moveit_ros_planning_interface
moveit_ros_robot_interaction
moveit_ros_trajectory_cache
moveit_ros_visualization
moveit_ros_warehouse
moveit_runtime
moveit_servo
moveit_setup_app_plugins
moveit_setup_assistant
moveit_setup_controllers
moveit_setup_core_plugins
moveit_setup_framework
moveit_setup_srdf_plugins
moveit_simple_controller_manager
moveit_visual_tools
nav_msgs
object_recognition_msgs
octomap_msgs
ompl
orocos_kdl_vendor
osqp_vendor
osrf_pycommon
parameter_traits
pcl_conversions
pcl_msgs
pcl_ros
pendulum_control
pendulum_msgs
perception
perception_pcl
picknik_reset_fault_controller
picknik_twist_controller
pid_controller
pilz_industrial_motion_planner
pluginlib
point_cloud_transport
position_controllers
py_binding_tools
pybind11_vendor
python_cmake_module
python_qt_binding
qt_dotgraph
qt_gui
qt_gui_cpp
qt_gui_py_common
quality_of_service_demo_cpp
quality_of_service_demo_py
random_numbers
range_sensor_broadcaster
rcl
rcl_action
rcl_interfaces
rcl_lifecycle
rcl_logging_interface
rcl_logging_spdlog
rcl_yaml_param_parser
rclcpp
rclcpp_action
rclcpp_components
rclcpp_lifecycle
rclpy
rcpputils
rcutils
realtime_tools
resource_retriever
rmf_utils
rmw
rmw_cyclonedds_cpp
rmw_dds_common
rmw_fastrtps_cpp
rmw_fastrtps_shared_cpp
rmw_implementation
rmw_implementation_cmake
robot_state_publisher
ros2_control
ros2_control_test_assets
ros2_controllers
ros2action
ros2bag
ros2cli
ros2cli_common_extensions
ros2component
ros2controlcli
ros2doctor
ros2interface
ros2launch
ros2lifecycle
ros2multicast
ros2node
ros2param
ros2pkg
ros2run
ros2service
ros2test
ros2topic
ros_base
ros_core
ros_environment
ros_gz_bridge
ros_gz_interfaces
ros_gz_sim
ros_testing
ros_workspace
rosbag2
rosbag2_compression
rosbag2_compression_zstd
rosbag2_cpp
rosbag2_interfaces
rosbag2_py
rosbag2_storage
rosbag2_storage_default_plugins
rosbag2_storage_mcap
rosbag2_storage_sqlite3
rosbag2_transport
rosgraph_msgs
rosidl_adapter
rosidl_cli
rosidl_cmake
rosidl_core_generators
rosidl_core_runtime
rosidl_default_generators
rosidl_default_runtime
rosidl_dynamic_typesupport
rosidl_dynamic_typesupport_fastrtps
rosidl_generator_c
rosidl_generator_cpp
rosidl_generator_py
rosidl_generator_type_description
rosidl_parser
rosidl_pycommon
rosidl_runtime_c
rosidl_runtime_cpp
rosidl_runtime_py
rosidl_typesupport_c
rosidl_typesupport_cpp
rosidl_typesupport_fastrtps_c
rosidl_typesupport_fastrtps_cpp
rosidl_typesupport_interface
rosidl_typesupport_introspection_c
rosidl_typesupport_introspection_cpp
rpyutils
rqt_action
rqt_bag
rqt_bag_plugins
rqt_common_plugins
rqt_console
rqt_graph
rqt_gui
rqt_gui_cpp
rqt_gui_py
rqt_image_view
rqt_msg
rqt_plot
rqt_publisher
rqt_py_common
rqt_py_console
rqt_reconfigure
rqt_service_caller
rqt_shell
rqt_srv
rqt_topic
rttest
rviz2
rviz_assimp_vendor
rviz_common
rviz_default_plugins
rviz_ogre_vendor
rviz_rendering
rviz_visual_tools
sdformat_vendor
sdl2_vendor
sensor_msgs
sensor_msgs_py
service_msgs
shape_msgs
shared_queues_vendor
spdlog_vendor
sqlite3_vendor
srdfdom
sros2
sros2_cmake
statistics_msgs
std_msgs
std_srvs
steering_controllers_library
stereo_image_proc
stereo_msgs
stomp
tango_icons_vendor
tcb_span
teleop_twist_joy
teleop_twist_keyboard
tf2
tf2_bullet
tf2_eigen
tf2_eigen_kdl
tf2_geometry_msgs
tf2_kdl
tf2_msgs
tf2_py
tf2_ros
tf2_ros_py
tf2_sensor_msgs
tf2_tools
theora_image_transport
tinyxml2_vendor
tl_expected
tlsf
tlsf_cpp
topic_monitor
topic_tools
topic_tools_interfaces
tracetools
tracetools_image_pipeline
trajectory_msgs
transmission_interface
tricycle_controller
tricycle_steering_controller
turtlesim
turtlesim_msgs
type_description_interfaces
uncrustify_vendor
unique_identifier_msgs
urdf
urdf_parser_plugin
urdfdom_py
velocity_controllers
vision_msgs
vision_opencv
visualization_msgs
warehouse_ros
warehouse_ros_sqlite
xacro
yaml_cpp_vendor
zstd_image_transport
zstd_vendor
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:
and
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.