前言
本文仅为我在项目中遇见的一些常见的问题的记录,SLAM太难了QAQ。
准备工作
在进行SLAM项目实践前,需要进行简单的基础知识的了解
- ROS基本用法 ,推荐古月居的21讲,我记得B站就有;
- gazebo基本用法,推荐官方教程。本学习项目是通过仿真获取数据,故需要使用gazebo操作,如使用实体机器人或已有数据包,可忽略本部分内容 ;
- Linux简单使用 ,会点命令行操作就行;
环境配置
基础:ros:noetic+catkin
仿真:gazebo 11.9.0
Lego-loam:gtsam
平台:husky(无实物仿真)
传感器:velodyne HDL32
项目来源
主要是跟着这个做的,但它传感器用的是realsense,需要自己替换一下
问题记录
I haven’t installed Chinese input method in my linux, so the part I wrote in in linux will be English.
Widely uesd :
- <opencv/cv.h>找不到:找到报错的地方,改成
#include <opencv2/imgproc.hpp>
- ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope: Replace
CV_LOAD_IMAGE_COLOR
, bycv::IMREAD_COLOR
, and thenCV_LOAD_IMAGE_GRAYSCALE
bycv::IMREAD_GRAYSCALE
in your source file. - lego-loamCTRL+C停止后保存不了点云:
[pcl::PCDWriter::writeASCII] Input point cloud has no data!
rviz里选中 Map cloud再导入数据进行建图。 - catkin_make时,PCL报错:CmakeLists.txt里加上
set(CMAKE_CXX_STANDARD 14)
- resource not found: xxx That means you didn’t get xxx package. Just use
sudo apt-get install ros-noetic-xxx
to install the package. - ERROR: cannot launch node of type[AA/BB]:CC. Similar to the previous question, use
sudo apt-get install ros-noetic-CC to install the package.
- When you load a new world in gazebo, it is always need a few minutes to finish the preparing process.
Special for this project :
- There are many topic mismatched, you may need to delete the ‘/’ signal in the source file.
- The husky source used in the project mentioned above is not simulating with radar sensor. It use realsense camera instead. However, A-loam can not utilize the pointcloud given by realsense camera. So, you have to change the sensor on husky.
- You may use the husky model provided by official website, and that model contains a right .xacro document about VLP-16.
Good Luck!