clean_robot配置指南
Ubuntu18.04安装
详情见参考我的另一篇文章 Windows 10系统下 Ubuntu18.04安装指南
ROS环境配置
详情见参考我的另一篇文章 Ubuntu18.04 ROS开发
下载clean_robot
部署
下载 clean_robot_navigation
在主目录中新建navigation/src
将下载好的 clean_robot_navigation 压缩文件提取到src文件夹下
主目录/navigation/src/
在主目录中新建clean_robot/src
将下载好的 clean_robot 压缩文件提取到src文件夹下
主目录/clean_robot/src/
编译navigation
打开终端,输入以下代码
cd navigation
catkin_make
一般情况下会不断报错,如下
Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
原因是系统中缺少依赖包,输入以下代码
sudo apt-get install libsdl-dev
还有
Could NOT find SDL_image (missing:SDL_IMAGE_LIBRARIES SDL_IMAGE_INCLUDE_DIRS)
或者
输入以下代码
sudo apt-get install libsdl-image1.2-dev
还有
Could not find a package configuration file provided by "tf2_geometry_msgs"
输入以下代码
注意:缺少的包"tf2_geometry_msgs在代码中要写成 tf2-geometry-msgs
不然也会报错
sudo apt-get install ros-melodic-tf2-geometry-msgs
其他错误和上述同理,报什么错就安装提示的依赖包即可
但是要注意Ubuntu18.04对应的ROS相关依赖包开头必须是melodic
sudo apt-get install ros-melodic-
否则会报错:无法定位软件包
编译clean_robot
打开终端,输入以下代码
cd clean_robot
catkin_make
一般情况下也会不断报错,如下
Could not find a package configuration file provided by "costmap_2d"
输入以下代码
sudo apt-get install ros-melodic-costmap-2d
还有
输入以下代码
sudo apt-get install qt4-default
其他大致情况(包括解决方式)和编译navigation时一致
其他错误
1。在VSCode中打开clean_robot文件夹
打开下述文件时
clean_robot/src/clean_robot-main/explore/src/explore.cpp
VSCode 会报错
请打开下图中的c_cpp_properties.json
在includePath中添加下述代码
,即可解决上述问题
"/opt/ros/melodic/include"
"/usr/include"
2。VSCode还会会提示ROS_INFO有错误,是因为在该文件中未声明ros/ros.h头文件,只需在代码首行添加以下代码
即可
#include <ros/ros.h>
3。打开navigation/src/clean_robot_navigations-main/map_server/src/main.cpp,vscode会报错
根据注释,需要自行下载Bullet包
新建终端,然后输入以下代码
mkdir bullet/src
然后将压缩包解压到 /home/用户名/bullet/src 文件夹中
新建终端
cd bullet
catkin_make
然后在 c_cpp_properties.json 的 includePath 中添加下述路径,即可解决问题
/home/用户名/bullet/src/bullet3-3.06/src
4。打开 navigation/src/clean_robot_navigations-main/dwa_local_planner/src/dwa_planner_ros.cpp,会出现 Eigen/Core 头文件报错
先查看是否安装了Eigen
sudo apt-get install libeigen3-dev
若错误未解决,输入以下代码
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
错误应该就消失了