Problem with move_base and plugin
Hi,
I'm trying to set up my navigation stack as described in the navigation tutorial (3). I'm just using laserscanning data (topic: /scan) as input data. When launching move_base.launch I get the following error message:
[ INFO] [1492703004.522593034]: Using plugin "static_layer"
[ INFO] [1492703004.934024440]: Requesting the map...
[ INFO] [1492703008.961617911]: Resizing costmap to 4000 X 4000 at 0.050000 m/pix
[ INFO] [1492703009.729487121]: Received a 4000 X 4000 map at 0.050000 m/pix
[ INFO] [1492703009.773186553]: Using plugin "obstacle_layer"
[ INFO] [1492703009.846848125]: Subscribed to Topics: laser_scan_sensor
[ INFO] [1492703010.106286438]: Using plugin "inflation_layer"
[ INFO] [1492703011.212133919]: Using plugin "obstacle_layer"
terminate called after throwing an instance of 'pluginlib::LibraryLoadException'
what(): Could not find library corresponding to plugin costmap_2d::ObstacleLayer. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.
[move_base-3] process has died [pid 21563, exit code -6, cmd /opt/ros/kinetic/share/move_base/move_base __name:=move_base __log:=/home/ubuntu/.ros/log/5d670626-25d8-11e7-9af6-b827ebab1210/move_base-3.log].
log file: /home/ubuntu/.ros/log/5d670626-25d8-11e7-9af6-b827ebab1210/move_base-3*.log
What am I doing wrong? Where is my mistake... I searched the forum for quiet a long time now, but still havn't found a working answer.
Thanks in advance.
base_local_planner_params.yaml
TrajectoryPlannerROS:
max_vel_x: 0.19
min_vel_x: 0.095
max_vel_theta: 0.256
min_in_place_vel_theta: 0.192
acc_lim_theta: 3.2
acc_lim_x: 2.5
acc_lim_y: 2.5
holonomic_robot: true
costmap_common_params.yaml
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[5, 5], [5, 15],[0, 10]]
inflation_radius: 0.55
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
global_costmap_params.yaml
global_costmap:
global_frame: /odom
robot_base_frame: base
update_frequency: 2.0
static_map: true
local_costmap_params.yaml
local_costmap:
global_frame: odom
robot_base_frame: base
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.05
I'm not trying to be a smart @ss, but did you follow the instructions in the error? "Could not find library corresponding to plugin costmap_2d::ObstacleLayer. Make sure the plugin description XML file has the correct name of the library and that the library actually exists."
Thanks for the answer and suggestion. I've seen the instruction as well, but I didn't know what that is telling me at all... Does the error message mean the costmap_plugins.xml file in my costmap_2d folder? Or do I have to mess around with the pluginlib.
Which version of ROS are you using?
The
obstacle_layer
plugin is compiled into the liblayers.so library. Check that this file is present. I just ran it on Kinetic with no problems, so it is possible that something has gone wrong in the environment settings on your computer. Are you running the nav stack from binaries or source?I'm running on Kinetic as well. You mean
/opt/ros/kinetic/lib/liblayers.so
? I need to have a look at it. Currently I'm running from binaries, since installing from source was not possible on a Rasperry Pi, due to lack of RAM space...What OS are you using on the Pi? Check if the file is at that path. If it is, check that, after setting up your shell for ROS,
/opt/ros/kinetic/lib
is included inLD_LIBRARY_PATH
.I'm running Ubuntu 16.04.2 LTS.
/opt/ros/kinetic/lib
is also included inLD_LIBRARY_PATH
.liblayers.so
is also existing. Any other suggestions?