0
$\begingroup$

Rosanswers logo

Hello everyone,

I'm trying to configure my custom-made robotic manipulator to use MoveIt2 and perform motion planning and simulation in Gazebo. I'm running into some issues when trying to run the demo.launch.py file. Specifically, I'm seeing several error messages related to the controller manager and robot model not being loaded.

Here are the details: ROS Distro: ROS2 Humble Packages: gazebo_ros2_control, moveit2, and a custom package for my robot

Error Messages:-

roskuttan2@roskuttan2:~/ros2_ws$ ros2 launch hexa_bot_description_moveit_config demo.launch.py

[INFO] [launch]: All log files can be found below /home/roskuttan2/.ros/log/2023-05-24-15-34-27-976153-roskuttan2-29661 [INFO] [launch]: Default logging verbosity is set to INFO Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead. [INFO] [static_transform_publisher-1]: process started with pid [29662] [INFO] [robot_state_publisher-2]: process started with pid [29664] [INFO] [move_group-3]: process started with pid [29666] [INFO] [rviz2-4]: process started with pid [29668] [INFO] [ros2_control_node-5]: process started with pid [29670] [INFO] [spawner-6]: process started with pid [29672] [INFO] [spawner-7]: process started with pid [29691] [static_transform_publisher-1] [INFO] [1684922668.700475327] [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] [WARN] [1684922668.707950107] [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-2] [INFO] [1684922668.708029943] [robot_state_publisher]: got segment JAW1_1 [robot_state_publisher-2] [INFO] [1684922668.708062812] [robot_state_publisher]: got segment JAW2_1 [robot_state_publisher-2] [INFO] [1684922668.708071760] [robot_state_publisher]: got segment JAW3_1 [robot_state_publisher-2] [INFO] [1684922668.708077457] [robot_state_publisher]: got segment JAW6_1 [robot_state_publisher-2] [INFO] [1684922668.708082723] [robot_state_publisher]: got segment Jaw4_1 [robot_state_publisher-2] [INFO] [1684922668.708090723] [robot_state_publisher]: got segment Jaw5_1 [robot_state_publisher-2] [INFO] [1684922668.708096410] [robot_state_publisher]: got segment NEMA_3_1 [robot_state_publisher-2] [INFO] [1684922668.708101730] [robot_state_publisher]: got segment NEMA_4_1 [robot_state_publisher-2] [INFO] [1684922668.708106985] [robot_state_publisher]: got segment NEMA_5_1 [robot_state_publisher-2] [INFO] [1684922668.708114370] [robot_state_publisher]: got segment Nema_1_1 [robot_state_publisher-2] [INFO] [1684922668.708120014] [robot_state_publisher]: got segment Nema_2_1 [robot_state_publisher-2] [INFO] [1684922668.708125161] [robot_state_publisher]: got segment Nema_6_1 [robot_state_publisher-2] [INFO] [1684922668.708130170] [robot_state_publisher]: got segment base_link [rviz2-4] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [ros2_control_node-5] [INFO] [1684922668.724202049] [resource_manager]: Loading hardware 'GazeboSimSystem' [ros2_control_node-5] terminate called after throwing an instance of 'pluginlib::LibraryLoadException' [ros2_control_node-5] what(): According to the loaded plugin descriptions the class gazebo_ros2_control/GazeboSystem with base class type hardware_interface::SystemInterface does not exist. Declared types are fake_components/GenericSystem mock_components/GenericSystem test_hardware_components/TestSystemCommandModes test_hardware_components/TestTwoJointSystem test_system [ros2_control_node-5] Stack trace (most recent call last): [ros2_control_node-5] #16 Object "", at 0xffffffffffffffff, in [ros2_control_node-5] #15 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0x55d431a4dd84, in [move_group-3] [INFO] [1684922668.727829680] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00349362 seconds [move_group-3] [INFO] [1684922668.728205202] [moveit_robot_model.robot_model]: Loading robot model 'hexa_bot'... [ros2_control_node-5] #14 Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0x7f701de29e3f] [ros2_control_node-5] #13 Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main [0x7f701de29d8f] [ros2_control_node-5] #12 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0x55d431a4d89e, in [ros2_control_node-5] #11 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0x7f701e7b9c27, in controller_manager::ControllerManager::ControllerManager(std::shared_ptrrclcpp::Executor, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, rclcpp::NodeOptions const&) [ros2_control_node-5] #10 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0x7f701e7b8dd7, in controller_manager::ControllerManager::init_resource_manager(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) [ros2_control_node-5] #9 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f701e1c2207, in hardware_interface::ResourceManager::load_urdf(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool) [ros2_control_node-5] #8 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f701e1ca856, in [ros2_control_node-5] #7 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f701e1a1858, in [ros2_control_node-5] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f701e2ae517, in __cxa_throw [ros2_control_node-5] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f701e2ae2b6, in std::terminate() [ros2_control_node-5] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f701e2ae24b, in [ros2_control_node-5] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f701e2a2bbd, in [ros2_control_node-5] #2 Source "./stdlib/abort.c", line 79, in abort [0x7f701de287f2] [ros2_control_node-5] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x7f701de42475] [ros2_control_node-5] #0 | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal [ros2_control_node-5] | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation [ros2_control_node-5] Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x7f701de96a7c] [ros2_control_node-5] Aborted (Signal sent by tkill() 29670 1000) [move_group-3] terminate called after throwing an instance of 'rclcpp::exceptions::InvalidParameterTypeException' [move_group-3] what(): parameter 'robot_description_planning.joint_limits.joint_2.max_velocity' has invalid type: expected [double] got [integer] [move_group-3] Stack trace (most recent call last): [move_group-3] #18 Object "", at 0xffffffffffffffff, in [move_group-3] #17 Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x556b13d91784, in [move_group-3] #16 Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0x7effd4229e3f] [move_group-3] #15 Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main [0x7effd4229d8f] [move_group-3] #14 Object "/opt/ros/humble/lib/moveit_ros_move_group/move_group", at 0x556b13d90322, in [move_group-3] #13 Object "/opt/ros/humble/lib/libmoveit_cpp.so.2.5.4", at 0x7effd4d78094, in moveit_cpp::MoveItCpp::MoveItCpp(std::shared_ptrrclcpp::Node const&, moveit_cpp::MoveItCpp::Options const&) [move_group-3] #12 Object "/opt/ros/humble/lib/libmoveit_cpp.so.2.5.4", at 0x7effd4d75a3b, 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.4", at 0x7effd4c9960a, in planning_scene_monitor::PlanningSceneMonitor::PlanningSceneMonitor(std::shared_ptrrclcpp::Node const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) [move_group-3] #10 Object "/opt/ros/humble/lib/libmoveit_planning_scene_monitor.so.2.5.4", at 0x7effd4c9955a, in planning_scene_monitor::PlanningSceneMonitor::PlanningSceneMonitor(std::shared_ptrrclcpp::Node const&, std::shared_ptr<planning_scene::PlanningScene> const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) [move_group-3] #9 Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.4", at 0x7effd4443c1e, in robot_model_loader::RobotModelLoader::RobotModelLoader(std::shared_ptrrclcpp::Node const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool) [move_group-3] #8 Object "/opt/ros/humble/lib/libmoveit_robot_model_loader.so.2.5.4", at 0x7effd44423d9, 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.4", at 0x7effd443c1a2, in [move_group-3] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7effd46ae517, in __cxa_throw [move_group-3] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7effd46ae2b6, in std::terminate() [move_group-3] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7effd46ae24b, in [move_group-3] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7effd46a2bbd, in [move_group-3] #2 Source "./stdlib/abort.c", line 79, in abort [0x7effd42287f2] [move_group-3] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x7effd4242475] [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 [0x7effd4296a7c] [move_group-3] Aborted (Signal sent by tkill() 29666 1000) [rviz2-4] [INFO] [1684922669.003443390] [rviz2]: Stereo is NOT SUPPORTED [rviz2-4] [INFO] [1684922669.004206744] [rviz2]: OpenGl version: 4.3 (GLSL 4.3) [rviz2-4] [INFO] [1684922669.027584700] [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] [ros2_control_node-5]: process has died [pid 29670, exit code -6, cmd '/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_thpmnbde --params-file /home/roskuttan2/ros2_ws/install/hexa_bot_description_moveit_config/share/hexa_bot_description_moveit_config/config/ros2_controllers.yaml']. [ERROR] [move_group-3]: process has died [pid 29666, exit code -6, cmd '/opt/ros/humble/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_dxbx1rs5 --params-file /tmp/launch_params_48ugzghh']. [spawner-7] [INFO] [1684922671.009950473] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1684922671.026591131] [spawner_hexa_bot_description_group_controller]: Waiting for '/controller_manager' node to exist [rviz2-4] [ERROR] [1684922672.130330591] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available [rviz2-4] [INFO] [1684922672.151834003] [moveit_ros_visualization.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params. [spawner-7] [INFO] [1684922673.020264249] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1684922673.035092681] [spawner_hexa_bot_description_group_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1684922675.029253228] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1684922675.044829332] [spawner_hexa_bot_description_group_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1684922677.038332564] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1684922677.054533688] [spawner_hexa_bot_description_group_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [ERROR] [1684922679.046636011] [spawner_joint_state_broadcaster]: Controller manager not available [spawner-6] [ERROR] [1684922679.062596025] [spawner_hexa_bot_description_group_controller]: Controller manager not available [ERROR] [spawner-7]: process has died [pid 29691, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --ros-args']. [ERROR] [spawner-6]: process has died [pid 29672, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner hexa_bot_description_group_controller --ros-args']. [rviz2-4] [ERROR] [1684922683.283295822] [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] [1684922683.287717563] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF [rviz2-4] [ERROR] [1684922683.294888309] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Robot model not loaded ^C[rviz2-4] [INFO] [1684922701.918329435] [rclcpp]: signal_handler(signum=2) [WARNING] [launch]: user interrupted with ctrl-c (SIGINT) [robot_state_publisher-2] [INFO] [1684922701.918333012] [rclcpp]: signal_handler(signum=2) [static_transform_publisher-1] [INFO] [1684922701.918796360] [rclcpp]: signal_handler(signum=2) [INFO] [static_transform_publisher-1]: process has finished cleanly [pid 29662] [INFO] [robot_state_publisher-2]: process has finished cleanly [pid 29664] [ERROR] [rviz2-4]: process has died [pid 29668, exit code -11, cmd '/opt/ros/humble/lib/rviz2/rviz2 -d /home/roskuttan2/ros2_ws/install/hexa_bot_description_moveit_config/share/hexa_bot_description_moveit_config/config/moveit.rviz --ros-args --params-file /tmp/launch_params_ajn0rii4 --params-file /tmp/launch_params_qwstxkze']. [rviz2-4] [INFO] [1684922701.918329435] [rclcpp]: signal_handler(signum=2)


Originally posted by Roskuttan on ROS Answers with karma: 53 on 2023-05-24

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Hello ROS community,

I recently encountered an issue while using the MoveIt2 Setup Assistant, where it generated integer values for joint limits in the configuration files. This caused compatibility issues when launching MoveIt2, resulting in the following error message:

terminate called after throwing an instance of 'rclcpp::exceptions::InvalidParameterTypeException' what(): parameter 'robot_description_planning.joint_limits.joint_X.max_velocity' has invalid type: expected [double] got [integer]

After investigating the problem, I discovered that the MoveIt2 Setup Assistant generates integer values for joint limits by default, while MoveIt expects them to be doubles (floating-point numbers).

To resolve this issue, I recommend following these steps:

Open the configuration files generated by the MoveIt2 Setup Assistant.
Locate the joint limit parameters, such as joint_X.max_velocity, where X corresponds to the joint number.
Change the integer values to doubles by adding a decimal point and a zero after the integer value. For example, change 5 to 5.0.
Save the modified configuration files.

By changing the integer values to doubles, MoveIt will correctly interpret the joint limits and prevent the InvalidParameterTypeException error.

I hope this solution helps anyone who may encounter this issue while using the MoveIt2 Setup Assistant. If you have any further questions or need clarification, feel free to ask!

Best regards, roskuttan


Originally posted by Roskuttan with karma: 53 on 2023-05-25

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.