moveit2 icon indicating copy to clipboard operation
moveit2 copied to clipboard

Robot Model not Loaded: MoveIt w/ RVIZ

Open xardarii opened this issue 1 year ago • 21 comments

Hey there! I have been working on a custom robotic arm and I am kinda new to this but I ran into this issue after I successfully generated the moveit configuration files using Moveit Setup Assistant. I am not able to load the robot model into RVIZ when i run the "ros2 launch robot_moveit_config demo.launch.py" command and the motion planning shows an error.

Environment

  • ROS Distro: Humble
  • OS Version: Ubuntu 22.04
  • Binary build?

Steps to reproduce

  1. Generate the moveit configuration files using MoveIt Setup Assistant
  2. cd into the workspace
  3. Colcon build all the packages in the workspace
  4. Source install/setup.bash
  5. run the command "ros2 launch robot_moveit_config demo.launch.py"

Expected behaviour

My custom robot should load in RVIZ and I should be able to plan motion.

Current behaviour

Screenshot from 2024-01-14 22-44-40

Console output

[INFO] [launch]: All log files can be found below /home/xardarii-dev/.ros/log/2024-01-14-22-24-10-585017-xardarii-dev-28764
[INFO] [launch]: Default logging verbosity is set to INFO
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
[INFO] [static_transform_publisher-1]: process started with pid [28765]
[INFO] [robot_state_publisher-2]: process started with pid [28767]
[INFO] [move_group-3]: process started with pid [28769]
[INFO] [rviz2-4]: process started with pid [28771]
[INFO] [ros2_control_node-5]: process started with pid [28773]
[INFO] [spawner-6]: process started with pid [28793]
[INFO] [spawner-7]: process started with pid [28795]
[static_transform_publisher-1] [INFO] [1705253051.694828534] [static_transform_publisher0]: Spinning until stopped - publishing transform
[static_transform_publisher-1] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-1] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-1] from 'world' to 'base_link'
[robot_state_publisher-2] [INFO] [1705253051.706974300] [robot_state_publisher]: got segment Link_1
[robot_state_publisher-2] [INFO] [1705253051.707163909] [robot_state_publisher]: got segment Link_2
[robot_state_publisher-2] [INFO] [1705253051.707189631] [robot_state_publisher]: got segment Link_3
[robot_state_publisher-2] [INFO] [1705253051.707208474] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1705253051.707224933] [robot_state_publisher]: got segment world
[rviz2-4] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[ros2_control_node-5] [WARN] [1705253051.775095848] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-5] [INFO] [1705253051.782069248] [resource_manager]: Loading hardware 'FakeSystem' 
[ros2_control_node-5] [INFO] [1705253051.784188161] [resource_manager]: Initialize hardware 'FakeSystem' 
[ros2_control_node-5] [WARN] [1705253051.785090442] [mock_generic_system]: Parsing of optional initial interface values failed or uses a deprecated format. Add initial values for every state interface in the ros2_control.xacro. For example: 
[ros2_control_node-5] <state_interface name="velocity"> 
[ros2_control_node-5]   <param name="initial_value">0.0</param> 
[ros2_control_node-5] </state_interface>
[ros2_control_node-5] [INFO] [1705253051.785136454] [resource_manager]: Successful initialization of hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1705253051.785191671] [resource_manager]: 'configure' hardware 'FakeSystem' 
[ros2_control_node-5] [INFO] [1705253051.785204327] [resource_manager]: Successful 'configure' of hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1705253051.785214607] [resource_manager]: 'activate' hardware 'FakeSystem' 
[ros2_control_node-5] [INFO] [1705253051.785223733] [resource_manager]: Successful 'activate' of hardware 'FakeSystem'
[move_group-3] [INFO] [1705253051.803078818] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.011324 seconds
[move_group-3] [INFO] [1705253051.803177999] [moveit_robot_model.robot_model]: Loading robot model 'robot'...
[ros2_control_node-5] [INFO] [1705253051.812724383] [controller_manager]: update rate is 100 Hz
[move_group-3] terminate called after throwing an instance of 'rclcpp::exceptions::InvalidParameterTypeException'
[move_group-3]   what():  parameter 'robot_description_planning.joint_limits.Joint_1.max_velocity' has invalid type: expected [double] got [integer]
[move_group-3] Stack trace (most recent call last):
[ros2_control_node-5] [INFO] [1705253051.820171475] [controller_manager]: RT kernel is recommended for better performance
[move_group-3] ros-planning/moveit#18   Object "", at 0xffffffffffffffff, in 
[move_group-3] ros-planning/moveit#17   Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x56005734c724, in 
[move_group-3] ros-planning/moveit#16   Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0x7fea13a29e3f]
[move_group-3] ros-planning/moveit#15   Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main [0x7fea13a29d8f]
[move_group-3] ros-planning/moveit#14   Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x56005734b2c2, in 
[move_group-3] ros-planning/moveit#13   Object "/opt/ros/humble/lib/libmoveit_cpp.so.2.5.5", at 0x7fea1459ce94, in moveit_cpp::MoveItCpp::MoveItCpp(std::shared_ptr<rclcpp::Node> const&, moveit_cpp::MoveItCpp::Options const&)
[move_group-3] ros-planning/moveit#12   Object "/opt/ros/humble/lib/libmoveit_cpp.so.2.5.5", at 0x7fea1459a84b, in moveit_cpp::MoveItCpp::loadPlanningSceneMonitor(moveit_cpp::MoveItCpp::PlanningSceneMonitorOptions const&)
[move_group-3] ros-planning/moveit#11   Object "/opt/ros/humble/lib/libmoveit_planning_scene_monitor.so.2.5.5", at 0x7fea144be48a, in planning_scene_monitor::PlanningSceneMonitor::PlanningSceneMonitor(std::shared_ptr<rclcpp::Node> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[move_group-3] ros-planning/moveit#10   Object "/opt/ros/humble/lib/libmoveit_planning_scene_monitor.so.2.5.5", at 0x7fea144be3da, in planning_scene_monitor::PlanningSceneMonitor::PlanningSceneMonitor(std::shared_ptr<rclcpp::Node> const&, std::shared_ptr<planning_scene::PlanningScene> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[move_group-3] ros-planning/moveit#9    Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.5", at 0x7fea137cec3e, in robot_model_loader::RobotModelLoader::RobotModelLoader(std::shared_ptr<rclcpp::Node> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
[move_group-3] ros-planning/moveit#8    Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.5", at 0x7fea137cd3f9, in robot_model_loader::RobotModelLoader::configure(robot_model_loader::RobotModelLoader::Options const&)
[move_group-3] ros-planning/moveit#7    Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.5", at 0x7fea137c71a2, in 
[move_group-3] ros-planning/moveit#6    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fea13eae4d7, in __cxa_throw
[move_group-3] ros-planning/moveit#5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fea13eae276, in std::terminate()
[move_group-3] ros-planning/moveit#4    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fea13eae20b, in 
[move_group-3] ros-planning/moveit#3    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fea13ea2b9d, in 
[move_group-3] ros-planning/moveit#2    Source "./stdlib/abort.c", line 79, in abort [0x7fea13a287f2]
[move_group-3] ros-planning/moveit#1    Source "../sysdeps/posix/raise.c", line 26, in raise [0x7fea13a42475]
[move_group-3] #0  | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
[move_group-3]     | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
[move_group-3]       Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x7fea13a969fc]
[move_group-3] Aborted (Signal sent by tkill() 28769 1000)
[rviz2-4] [INFO] [1705253052.215352662] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] [INFO] [1705253052.216303455] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-4] [INFO] [1705253052.247065536] [rviz2]: Stereo is NOT SUPPORTED
[ros2_control_node-5] [INFO] [1705253052.340275905] [controller_manager]: Loading controller 'robotplanner_controller'
[ros2_control_node-5] [WARN] [1705253052.357601012] [robotplanner_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[spawner-6] [INFO] [1705253052.384092784] [spawner_robotplanner_controller]: Loaded robotplanner_controller
[ros2_control_node-5] [INFO] [1705253052.385752753] [controller_manager]: Configuring controller 'robotplanner_controller'
[ros2_control_node-5] [INFO] [1705253052.385974574] [robotplanner_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-5] [INFO] [1705253052.386009886] [robotplanner_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ros2_control_node-5] [INFO] [1705253052.386027180] [robotplanner_controller]: Using 'splines' interpolation method.
[ros2_control_node-5] [INFO] [1705253052.388414112] [robotplanner_controller]: Controller state will be published at 50.00 Hz.
[ros2_control_node-5] [INFO] [1705253052.393240866] [robotplanner_controller]: Action status changes will be monitored at 20.00 Hz.
[rviz2-4] 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-4]          at line 253 in /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp
[spawner-6] [INFO] [1705253052.431667556] [spawner_robotplanner_controller]: Configured and activated robotplanner_controller
[ros2_control_node-5] [INFO] [1705253052.548884046] [controller_manager]: Loading controller 'joint_state_broadcaster'
[INFO] [spawner-6]: process has finished cleanly [pid 28793]
[spawner-7] [INFO] [1705253052.592620385] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ros2_control_node-5] [INFO] [1705253052.594728237] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2_control_node-5] [INFO] [1705253052.594850254] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-7] [INFO] [1705253052.622476574] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[INFO] [spawner-7]: process has finished cleanly [pid 28795]
[ERROR] [move_group-3]: process has died [pid 28769, exit code -6, cmd '/opt/ros/humble/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_l35i_082 --params-file /tmp/launch_params_t8nz45fa'].
[rviz2-4] [ERROR] [1705253055.430979629] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-4] [INFO] [1705253055.490134361] [moveit_ros_visualization.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params.
[rviz2-4] [ERROR] [1705253065.609118373] [rviz]: Could not find parameter robot_description_semantic and did not receive robot_description_semantic via std_msgs::msg::String subscription within 10.000000 seconds.
[rviz2-4] Error:   Could not parse the SRDF XML File. Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0
[rviz2-4]          at line 715 in ./src/model.cpp
[rviz2-4] [ERROR] [1705253065.621057817] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF
[rviz2-4] [ERROR] [1705253065.639710877] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Robot model not loaded

xardarii avatar Jan 14 '24 17:01 xardarii

Thanks for reporting an issue. Because we're a volunteer community, providing a pull request with suggested changes is always welcomed.

welcome[bot] avatar Jan 14 '24 17:01 welcome[bot]

Hi, as far as I understood from your log. I guess we need to focus on these lines

[rviz2-4] [ERROR] [1705253065.609118373] [rviz]: Could not find parameter robot_description_semantic and did not receive robot_description_semantic via std_msgs::msg::String subscription within 10.000000 seconds.
[rviz2-4] Error: Could not parse the SRDF XML File. Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0
[rviz2-4] at line 715 in ./src/model.cpp
[rviz2-4] [ERROR] [1705253065.621057817] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF

So what it means is like your robot model is not available in the parameter server. Please visit [Universal Robot Github](https://github.com/ros-industrial/universal_robot/blob/melodic-devel/ur10e_moveit_config/launch/moveit_rviz.launch) and see how they are doing it. Basically you need to launch files that will publish robot to parameter server.

Akumar201 avatar Jan 17 '24 14:01 Akumar201

Hello! Did you find any solution to this problem? I am currently having the exact same issue :( Any help would be greatly appreciated!

LuisOPortela avatar Mar 12 '24 18:03 LuisOPortela

Hi @LuisOPortela please explain your issue completely with logs.

Akumar201 avatar Mar 12 '24 18:03 Akumar201

hey there, I am also running into same issue with the same environment setup. When I run ros2 launch panda_moveit_config demo.launch.py everything is working fine. I tried to create the same setup like panda_description folder to my custom robot named gimbal_description. and created the moveit2 config files using moveit setup assistant.

but when I run ros2 launch gimbal_moveit_config demo.launch.py, I am unable to see the robot in the rviz.

Here is my console output:

nisat@pc:~/control_ws$ ros2 launch gimbal_moveit_config demo.launch.py 
[INFO] [launch]: All log files can be found below /home/nisat/.ros/log/2024-03-13-09-14-23-854622-pc-67690
[INFO] [launch]: Default logging verbosity is set to INFO
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
[INFO] [static_transform_publisher-1]: process started with pid [67691]
[INFO] [robot_state_publisher-2]: process started with pid [67693]
[INFO] [move_group-3]: process started with pid [67695]
[INFO] [rviz2-4]: process started with pid [67697]
[INFO] [ros2_control_node-5]: process started with pid [67699]
[INFO] [spawner-6]: process started with pid [67701]
[INFO] [spawner-7]: process started with pid [67703]
[INFO] [spawner-8]: process started with pid [67705]
[static_transform_publisher-1] [INFO] [1710301464.286382374] [static_transform_publisher0]: Spinning until stopped - publishing transform
[static_transform_publisher-1] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-1] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-1] from 'world' to 'gimbal_link0'
[robot_state_publisher-2] [WARN] [1710301464.292067896] [kdl_parser]: The root link gimbal_link0 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-2] [INFO] [1710301464.292151022] [robot_state_publisher]: got segment gimbal_link0
[robot_state_publisher-2] [INFO] [1710301464.292198245] [robot_state_publisher]: got segment gimbal_link1
[robot_state_publisher-2] [INFO] [1710301464.292208410] [robot_state_publisher]: got segment gimbal_link2
[robot_state_publisher-2] [INFO] [1710301464.292216156] [robot_state_publisher]: got segment gimbal_link3
[robot_state_publisher-2] [INFO] [1710301464.292223662] [robot_state_publisher]: got segment gimbal_link4
[ros2_control_node-5] [WARN] [1710301464.301751798] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-5] [INFO] [1710301464.301958681] [resource_manager]: Loading hardware 'FakeSystem' 
[ros2_control_node-5] [INFO] [1710301464.302559632] [resource_manager]: Initialize hardware 'FakeSystem' 
[ros2_control_node-5] [WARN] [1710301464.302614865] [mock_generic_system]: Parsing of optional initial interface values failed or uses a deprecated format. Add initial values for every state interface in the ros2_control.xacro. For example: 
[ros2_control_node-5] <state_interface name="velocity"> 
[ros2_control_node-5]   <param name="initial_value">0.0</param> 
[ros2_control_node-5] </state_interface>
[ros2_control_node-5] [INFO] [1710301464.302627870] [resource_manager]: Successful initialization of hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1710301464.302686872] [resource_manager]: 'configure' hardware 'FakeSystem' 
[ros2_control_node-5] [INFO] [1710301464.302695282] [resource_manager]: Successful 'configure' of hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1710301464.302701365] [resource_manager]: 'activate' hardware 'FakeSystem' 
[ros2_control_node-5] [INFO] [1710301464.302706020] [resource_manager]: Successful 'activate' of hardware 'FakeSystem'
[move_group-3] [INFO] [1710301464.302846664] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00157355 seconds
[move_group-3] [INFO] [1710301464.302874931] [moveit_robot_model.robot_model]: Loading robot model 'gimbal'...
[move_group-3] [WARN] [1710301464.304392981] [moveit_robot_model.robot_model]: Could not identify parent group for end-effector 'hand'
[move_group-3] terminate called after throwing an instance of 'rclcpp::exceptions::InvalidParameterTypeException'
[move_group-3]   what():  parameter 'robot_description_planning.joint_limits.gimbal_joint2.max_velocity' has invalid type: expected [double] got [integer]
[move_group-3] Stack trace (most recent call last):
[ros2_control_node-5] [INFO] [1710301464.304640355] [controller_manager]: update rate is 100 Hz
[ros2_control_node-5] [INFO] [1710301464.304766322] [controller_manager]: RT kernel is recommended for better performance
[move_group-3] #18   Object "", at 0xffffffffffffffff, in 
[move_group-3] #17   Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x61c3c37c2724, in 
[move_group-3] #16   Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0x78456f429e3f]
[move_group-3] #15   Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main [0x78456f429d8f]
[move_group-3] #14   Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x61c3c37c12c2, in 
[move_group-3] #13   Object "/opt/ros/humble/lib/libmoveit_cpp.so.2.5.5", at 0x78457006be94, in moveit_cpp::MoveItCpp::MoveItCpp(std::shared_ptr<rclcpp::Node> const&, moveit_cpp::MoveItCpp::Options const&)
[move_group-3] #12   Object "/opt/ros/humble/lib/libmoveit_cpp.so.2.5.5", at 0x78457006984b, in moveit_cpp::MoveItCpp::loadPlanningSceneMonitor(moveit_cpp::MoveItCpp::PlanningSceneMonitorOptions const&)
[move_group-3] #11   Object "/opt/ros/humble/lib/libmoveit_planning_scene_monitor.so.2.5.5", at 0x78456ff8b48a, in planning_scene_monitor::PlanningSceneMonitor::PlanningSceneMonitor(std::shared_ptr<rclcpp::Node> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[move_group-3] #10   Object "/opt/ros/humble/lib/libmoveit_planning_scene_monitor.so.2.5.5", at 0x78456ff8b3da, in planning_scene_monitor::PlanningSceneMonitor::PlanningSceneMonitor(std::shared_ptr<rclcpp::Node> const&, std::shared_ptr<planning_scene::PlanningScene> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[move_group-3] #9    Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.5", at 0x78456f28ac3e, in robot_model_loader::RobotModelLoader::RobotModelLoader(std::shared_ptr<rclcpp::Node> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
[move_group-3] #8    Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.5", at 0x78456f2893f9, in robot_model_loader::RobotModelLoader::configure(robot_model_loader::RobotModelLoader::Options const&)
[move_group-3] #7    Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.5", at 0x78456f2831a2, in 
[move_group-3] #6    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x78456f8ae4d7, in __cxa_throw
[move_group-3] #5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x78456f8ae276, in std::terminate()
[move_group-3] #4    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x78456f8ae20b, in 
[move_group-3] #3    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x78456f8a2b9d, in 
[move_group-3] #2    Source "./stdlib/abort.c", line 79, in abort [0x78456f4287f2]
[move_group-3] #1    Source "../sysdeps/posix/raise.c", line 26, in raise [0x78456f442475]
[move_group-3] #0  | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
[move_group-3]     | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
[move_group-3]       Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x78456f4969fc]
[move_group-3] Aborted (Signal sent by tkill() 67695 1000)
[ros2_control_node-5] [INFO] [1710301464.444362051] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner-8] [INFO] [1710301464.462851786] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ros2_control_node-5] [INFO] [1710301464.474101792] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2_control_node-5] [INFO] [1710301464.474212067] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-8] [INFO] [1710301464.505507335] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[ros2_control_node-5] [INFO] [1710301464.657560262] [controller_manager]: Loading controller 'hand_controllers'
[INFO] [spawner-8]: process has finished cleanly [pid 67705]
[ros2_control_node-5] [INFO] [1710301464.665210619] [controller_manager]: Loading controller 'arm_controllers'
[spawner-7] [INFO] [1710301464.665629181] [spawner_hand_controllers]: Loaded hand_controllers
[ros2_control_node-5] [WARN] [1710301464.670785996] [arm_controllers]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ros2_control_node-5] [INFO] [1710301464.675221072] [controller_manager]: Configuring controller 'hand_controllers'
[ros2_control_node-5] [INFO] [1710301464.675345925] [hand_controllers]: Action status changes will be monitored at 20Hz.
[spawner-6] [INFO] [1710301464.676575555] [spawner_arm_controllers]: Loaded arm_controllers
[ros2_control_node-5] [INFO] [1710301464.685378153] [controller_manager]: Configuring controller 'arm_controllers'
[ros2_control_node-5] [INFO] [1710301464.685659501] [arm_controllers]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-5] [INFO] [1710301464.685730865] [arm_controllers]: Command interfaces are [position] and state interfaces are [position velocity].
[ros2_control_node-5] [INFO] [1710301464.685764310] [arm_controllers]: Using 'splines' interpolation method.
[ros2_control_node-5] [INFO] [1710301464.686527178] [arm_controllers]: Controller state will be published at 50.00 Hz.
[ros2_control_node-5] [INFO] [1710301464.689637090] [arm_controllers]: Action status changes will be monitored at 20.00 Hz.
[spawner-7] [INFO] [1710301464.716501966] [spawner_hand_controllers]: Configured and activated hand_controllers
[spawner-6] [INFO] [1710301464.736077421] [spawner_arm_controllers]: Configured and activated arm_controllers
[INFO] [spawner-7]: process has finished cleanly [pid 67703]
[INFO] [spawner-6]: process has finished cleanly [pid 67701]
[rviz2-4] [INFO] [1710301465.215208864] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] [INFO] [1710301465.215258903] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-4] [INFO] [1710301465.229747736] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] 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-4]          at line 253 in /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp
[ERROR] [move_group-3]: process has died [pid 67695, exit code -6, cmd '/opt/ros/humble/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_keowhe4o --params-file /tmp/launch_params_p3s74afb'].
[rviz2-4] [ERROR] [1710301468.298984085] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-4] [INFO] [1710301468.313981127] [moveit_ros_visualization.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params.
[rviz2-4] [ERROR] [1710301478.386862068] [rviz]: Could not find parameter robot_description_semantic and did not receive robot_description_semantic via std_msgs::msg::String subscription within 10.000000 seconds.
[rviz2-4] Error:   Could not parse the SRDF XML File. Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0
[rviz2-4]          at line 715 in ./src/model.cpp
[rviz2-4] [ERROR] [1710301478.391110425] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF
[rviz2-4] [ERROR] [1710301478.398484035] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Robot model not loaded

nisathav avatar Mar 13 '24 04:03 nisathav

Meanwhile, I have discovered some corrections that have fixed the problem for me. I don't know if this will help in your cases, but they were the following:

  • In the config folder of the created package, a number of variables are as ints and not as doubles, which causes the "move_group" process to crash. To fix this, in the "joint_limits.yaml" add ".0" to the limits. For example, change the max velocity from 1 to 1.0. This error can be seen in the log of @nisathav posted above:
[move_group-3]   what():  parameter 'robot_description_planning.joint_limits.gimbal_joint2.max_velocity' has invalid type: expected [double] got [integer]
  • Change the "sensors_3d.yaml" file to simply be:
 sensors: []

In my case, I don't think I will need it to be anything more than that, and it was making the "move_group" crash once again.

With the fixes above Rviz was able to load my robot model but I was still not able to plan movements. To fix this, I added some extra lines to the "joint_limits.yaml" file. Here's what it looks like for one of my joints named "Joint_1":

........

joint_limits:
 Joint_1:
   has_velocity_limits: true
   max_velocity: 1.0
   has_accelaration_limits: true
   max_accelaration: 1.0 
   has_jerk_limits: false

 .......

Hope this helps! Let me know if it does :)

LuisOPortela avatar Mar 13 '24 14:03 LuisOPortela

Hi there, tried them and received the following error. Nothing is loading up now.

nisat@pc:~/control_ws$ ros2 launch gimbal_moveit demo.launch.py 
[INFO] [launch]: All log files can be found below /home/nisat/.ros/log/2024-03-14-13-03-21-509953-pc-39842
[INFO] [launch]: Default logging verbosity is set to INFO
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
[ERROR] [launch]: Caught exception in launch (see debug for traceback): 'capabilities'

nisathav avatar Mar 14 '24 07:03 nisathav

I never had that issue @nisathav, so I don't know how to help you :( It's also strange because that error seems to be before the fixes I mentioned interfere with the launch. In your place, I would try to check if I changed anything that broke the launch. But apparently, more people are having that issue aswell: https://github.com/ros-planning/moveit2/issues/2734

LuisOPortela avatar Mar 14 '24 09:03 LuisOPortela

@nisathav please see if this https://github.com/ros-planning/moveit2/pull/2587 fixes


[ERROR] [launch]: Caught exception in launch (see debug for traceback): 'capabilities'


mink007 avatar Mar 14 '24 13:03 mink007

~/ws_moveit/install/moveit_configs_utils/lib/python3.10/site-packages/moveit_configs_utils/launches.py

added highlighted yellow line in above file image

image

resolves this issue: "[ERROR] [launch]: Caught exception in launch (see debug for traceback): 'capabilities'"

mink007 avatar Mar 15 '24 03:03 mink007

~/ws_moveit/install/moveit_configs_utils/lib/python3.10/site-packages/moveit_configs_utils/launches.py

added highlighted yellow line in above file image

image resolves this issue: "[ERROR] [launch]: Caught exception in launch (see debug for traceback): 'capabilities'"

Thank you for the correct solution! It resolved my issue.

gitzhou2006go avatar Mar 26 '24 01:03 gitzhou2006go

This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups.

github-actions[bot] avatar May 10 '24 12:05 github-actions[bot]

Hello, I met the same problem, how to solve it, thank you very much!

jixiexiaoli avatar May 15 '24 01:05 jixiexiaoli

~/ws_moveit/install/moveit_configs_utils/lib/python3.10/site-packages/moveit_configs_utils/launches.py

added highlighted yellow line in above file image

image resolves this issue: "[ERROR] [launch]: Caught exception in launch (see debug for traceback): 'capabilities'"

mink007 avatar May 15 '24 01:05 mink007

~/ws_moveit/安装/moveit_configs_utils/lib/python3.10/site-packages/moveit_configs_utils/launches.py 在上面的文件中添加了突出显示的黄线 图像 图像解决了此问题:“[ERROR] [launch]:在启动中捕获异常(请参阅调试以获取回溯):”capabilities“”

Thank you for your help.I've fixed this capabiliti issue, but I still can't load my model after opening it.Do you have a solution for this erro. [rviz2-3] [ERROR] [1715739073.071318699] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF [rviz2-3] [ERROR] [1715739073.101394782] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Robot model not loaded

jixiexiaoli avatar May 15 '24 02:05 jixiexiaoli

~/ws_moveit/安装/moveit_configs_utils/lib/python3.10/site-packages/moveit_configs_utils/launches.py 在上面的文件中添加了突出显示的黄线 图像 图像解决了此问题:“[ERROR] [launch]:在启动中捕获异常(请参阅调试以获取回溯):”capabilities“”

Thank you for your help.I've fixed this capabiliti issue, but I still can't load my model after opening it.Do you have a solution for this erro. [rviz2-3] [ERROR] [1715739073.071318699] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF [rviz2-3] [ERROR] [1715739073.101394782] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Robot model not loaded

Uploading 微信图片_20240515101434.png…

jixiexiaoli avatar May 15 '24 02:05 jixiexiaoli

see if the location(unix path) of the model file (xacro/urdf) is as expected. also the format of the xacro/urdf.

mink007 avatar May 15 '24 02:05 mink007