ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Error Loading Custom Robotic Manipulator Model in MoveIt2 on ROS2 Humble(error launching demo.py)

asked 2023-05-24 05:53:03 -0500

Roskuttan gravatar image

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

Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead. [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' [rviz2-4] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [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 [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_ptr<rclcpp::executor>, 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&, 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<char="">, std::allocator<char> > 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<char="">, std::allocator<char> > 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 ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2023-05-25 02:37:12 -0500

Roskuttan gravatar image

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

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2023-05-24 05:53:03 -0500

Seen: 557 times

Last updated: May 25 '23