Universal Robots Forum

ROS2 MoveIt - No Planning Library Loaded

Hello,
I try to control my UR10e with ROS2 foxy and MoveIt2 on Ubuntu 20.04.

I installed the Universal_Robots_ROS2_Driver and followed the Instructions to get it up on MoveIt (first without real hardware).

I did these commands: (as described on github)

ros2 launch ur_bringup ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy use_fake_hardware:=true launch_rviz:=false

ros2 launch ur_bringup ur_moveit.launch.py ur_type:=ur5e robot_ip:="xxx.xxx" use_fake_hardware:=true launch_rviz:=true

then RViz started and I could get the Robot Model appear.

But I can not any paths because my dropdown menus are empty, as shown here:

And I get the Error No Planning Library Loaded:

I also got this output in the terminal where I started Moveit/Rviz:

jo@myubuntu:~/workspace/ros_ur_driver$ ros2 launch ur_bringup ur_moveit.launch.py ur_type:=ur5e robot_ip:="xxx.xxx" use_fake_hardware:=true launch_rviz:=true
[INFO] [launch]: All log files can be found below /home/jo/.ros/log/2021-10-07-13-35-11-784322-myubuntu-25381
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [move_group-1]: process started with pid [25387]
[INFO] [mongo_wrapper_ros.py-2]: process started with pid [25389]
[INFO] [rviz2-3]: process started with pid [25391]
[INFO] [static_transform_publisher-4]: process started with pid [25393]
[static_transform_publisher-4] [INFO] [1633606512.405927545] [static_transform_publisher]: Spinning until killed publishing transform from 'world' to 'base_link'
[move_group-1] [WARN] [1633606512.806270377] [move_group.move_group]: MoveGroup launched without ~default_planning_pipeline specifying the namespace for the default planning pipeline configuration
[move_group-1] [WARN] [1633606512.806383263] [move_group.move_group]: Falling back to using the the move_group node namespace (deprecated behavior).
[move_group-1] Parsing robot urdf xml string.
[move_group-1] [INFO] [1633606512.817065200] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.0025104 seconds
[move_group-1] [INFO] [1633606512.817136955] [moveit_robot_model.robot_model]: Loading robot model 'ur'...
[move_group-1] terminate called after throwing an instance of 'std::bad_alloc'
[move_group-1]   what():  std::bad_alloc
[mongo_wrapper_ros.py-2] [INFO] [1633606512.883474058] [mongodb]: Starting mongodb with db location /tmp/db listening on localhost:33829
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.928+0200 I CONTROL  [initandlisten] MongoDB starting : pid=25444 port=33829 dbpath=/tmp/db 64-bit host=myubuntu
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] db version v3.6.8
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] git version: 8e540c0b6db93ce994cc548f000900bdc740f80a
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.1f  31 Mar 2020
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] allocator: tcmalloc
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] modules: none
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] build environment:
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten]     distarch: x86_64
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten]     target_arch: x86_64
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I CONTROL  [initandlisten] options: { net: { port: 33829 }, storage: { dbPath: "/tmp/db" } }
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I -        [initandlisten] Detected data files in /tmp/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I STORAGE  [initandlisten] 
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:12.929+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=7438M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),cache_cursors=false,compatibility=(release="3.0",require_max="3.0"),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
[ERROR] [move_group-1]: process has died [pid 25387, exit code -6, cmd '/home/jo/workspace/ros_ur_driver/install/moveit_ros_move_group/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_vx6dtep6 --params-file /tmp/launch_params_fku1uqoj --params-file /tmp/launch_params_xnvo3nea --params-file /tmp/launch_params_8uip5_wv --params-file /tmp/launch_params_azjn4n3q --params-file /tmp/launch_params_fcdvl47p --params-file /tmp/launch_params_3ra1t076'].
[rviz2-3] [INFO] [1633606513.122035554] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-3] [INFO] [1633606513.122118895] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-3] [INFO] [1633606513.147732786] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-3] Warning: class_loader.impl: SEVERE WARNING!!! A namespace collision has occured 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-3]          at line 253 in /opt/ros/foxy/include/class_loader/class_loader_core.hpp
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.470+0200 I STORAGE  [initandlisten] WiredTiger message [1633606513:470092][25444:0x7f90c4eb3f40], txn-recover: Main recovery loop: starting at 9/6656
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.523+0200 I STORAGE  [initandlisten] WiredTiger message [1633606513:523706][25444:0x7f90c4eb3f40], txn-recover: Recovering log 9 through 10
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.562+0200 I STORAGE  [initandlisten] WiredTiger message [1633606513:562394][25444:0x7f90c4eb3f40], txn-recover: Recovering log 10 through 10
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.600+0200 I STORAGE  [initandlisten] WiredTiger message [1633606513:600046][25444:0x7f90c4eb3f40], txn-recover: Set global recovery timestamp: 0
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] 
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] 
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server. 
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] **          Start the server with --bind_ip <address> to specify which IP 
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] **          addresses it should serve responses from, or with --bind_ip_all to
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] **          bind to all interfaces. If this behavior is desired, start the
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] **          server with --bind_ip 127.0.0.1 to disable this warning.
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.632+0200 I CONTROL  [initandlisten] 
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.640+0200 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/tmp/db/diagnostic.data'
[mongo_wrapper_ros.py-2] 2021-10-07T13:35:13.640+0200 I NETWORK  [initandlisten] waiting for connections on port 33829
[rviz2-3] [ERROR] [1633606516.278651424] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-3] Parsing robot urdf xml string.
[rviz2-3] [INFO] [1633606516.393713359] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00231946 seconds
[rviz2-3] [INFO] [1633606516.393795645] [moveit_robot_model.robot_model]: Loading robot model 'ur'...
[rviz2-3] [ERROR] [1633606516.407660355] [moveit_background_processing.background_processing]: Exception caught while processing action 'loadRobotModel': std::bad_alloc
[rviz2-3] Parsing robot urdf xml string.
[rviz2-3] [INFO] [1633613093.199225701] [interactive_marker_display_93830246193440]: Target frame is now base_link
[rviz2-3] [ERROR] [1633613102.424182014] [moveit_ros_visualization.motion_planning_frame_manipulation]: Object recognition action server not responsive

Can someone please help me or tell me which steps I could go to solve my problem?

best regards

[move_group-1] [INFO] [1633606512.817136955] [moveit_robot_model.robot_model]: Loading robot model 'ur'...
[move_group-1] terminate called after throwing an instance of 'std::bad_alloc'
[move_group-1]   what():  std::bad_alloc

That doesn’t sound too good… Is there something wrong with you rmoveit installation? If you compiled moveit from source, it might be good to rebuild your workspace from scratch.

Thanks for your reply.
I rebuilt the workspace and because it didn’t work anyway, I re-installed my ubuntu but it still shows the same error…

Is it correct to git clone the driver with “-b foxy” as an argument? Because on Github it doesn’t say that the argument is needed but without it is not even possible to build.

kind regards

Are there any additional MoveIt Robot Models needed, which are not included when following the steps on this site GitHub - UniversalRobots/Universal_Robots_ROS2_Driver at foxy ?

Foxy and main branch have been diverging recently due to upstream developments.

I’ve just tested a minimal setup with

========= ros2_control_demos =========
## foxy...origin/foxy
========= Universal_Robots_Client_Library =========
## master...origin/master
========= Universal_Robots_ROS2_Driver =========
## foxy...origin/foxy
========= ur_msgs =========
## ros2...origin/ros2

and sudo apt install ros-foxy-moveit ros-foxy-ros2-control and this works as expected.

Thanks again for your answer, I was hoping that the ros2-control was the problem, because I did not install ros-foxy-ros2-control seperately at first.

After I installed it, I rebuilt the Driver (github instructions) but it is still the same error…

My steps are:

  1. Install Ubuntu 20.04 (apt update, upgrade etc…)

  2. Install ros-foxy-desktop (Installing ROS 2 via Debian Packages — ROS 2 Documentation: Foxy documentation)

  3. sudo apt install ros-foxy-moveit ros-foxy-ros2-control

  4. follow the github instructions for the Universal_Robot_ROS2_Driver (Getting Started + Using Moveit)

Do I miss something?

then I execute these both commands, each in a seperate Terminal (after sourcing the workspace):

ros2 launch ur_bringup ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy use_fake_hardware:=true launch_rviz:=false


ros2 launch ur_bringup ur_moveit.launch.py ur_type:=ur5e robot_ip:="xxx.xxx" use_fake_hardware:=true launch_rviz:=true

But I do not start the external_control URCap in between (as described on github in the foxy branch). Is it necessary to use hardware in this step or can I test it without first?

best regards

by the way, my builds finish with no errors, and Rviz is starting. First without the robot model being displayed, but i can add it with the RobotModel and /robot_description. But I still get the same results as the pictures from my post are showing…

Thank you very much for your help!
It works now, since your commit! :slight_smile:

best regards