Robotics StackExchange | Archived questions

Failed to create the global planner

Setup: ROS melodic, Ubuntu: 18.04

Trying get into simulation of global path planning with the turtlebot3. I've followed this tutorial: http://wiki.ros.org/navigation/Tutorials/Writing%20A%20Global%20Path%20Planner%20As%20Plugin%20in%20ROS#Running_the_Plugin_on_the_Turtlebot but have done a few things different due to not being able to do it as in the tutorial. The error I'm having is:

Failed to create the global_planner/GlobalPlanner planner, are you sure it is properly registered and that the containing library is built? Exception: MultiLibraryClassLoader: Could not create object of class type global_planner::GlobalPlanner as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()

I can see that others seem to have had the same problem years ago (https://answers.ros.org/question/340900/failed-to-create-global_plannerglobalplanner/), but there's not much there and it didn't help me. Restarting my computer didn't work and source ~/.bashrc didn't help either.

One thing I've done differently is that I've altered the 'movebase.launch' file in '/opt/ros/melodic/share/turtlebot3navigation/launch/' instead of the 'movebase.launch.xml' in '/opt/ros/hydro/share/turtlebotnavigation/launch/includes' as there doesn't seem to be a destination '...turtlebot_navigation/launch/includes'. There are files in launch, but no includes. Maybe that a difference from Hydro to Melodic, I don't know. There may be a whole lot of things that need to be done differently from the tutorial when using Melodic, or with turtlebot3, but I don't know.

The carrotplanner package I've created (used that code for my .cpp and .h as a test before I would try to make my own) is in '/home/aut/catkinws/src/' and have been made with catkin_make. Wasn't sure if I need to move it to ''/opt/ros/melodic/share' or something.

Using this tutorial (https://emanual.robotis.com/docs/en/platform/turtlebot3/nav_simulation/) to guide me with turtlebot3, and after running 'roslaunch turtlebot3gazebo turtlebot3world.launch' it was then this command that led to the error 'roslaunch turtlebot3navigation turtlebot3navigation.launch map_file:=$HOME/map.yaml'. I have created the map-yaml, so there's no misunderstanding whether that's missing.

I would be very glad for any help, thank you ^^

PS: While studying this problem before coming here I noted some talk about 'launching movebase' and it's also mentioned in part 3 of the tutorial. Whether that's my problem I don't know. I would think that 'roslaunch turtlebot3navigation turtlebot3navigation.launch mapfile:=$HOME/map.yaml' this command covered it since inside 'turtlebot3_navigation.launch' it says:

  <!-- move_base -->
  <include file="$(find turtlebot3_navigation)/launch/move_base.launch">
    <arg name="model" value="$(arg model)" />
    <arg name="move_forward_only" value="$(arg move_forward_only)"/>
  </include>

Asked by OverDemon on 2022-08-18 10:06:50 UTC

Comments

Answers