hector是基于优化的算法(解最小二乘问题),优缺点:不需要里程计,但对于雷达帧率要求很高40Hz,估计6自由度位姿,可以适应空中或者地面不平坦的情况。初值的选择对结果影响很大,所以要求雷达帧率较高。
此算法主要使用高斯牛顿法对帧间匹配进行优化,并且使用多分辨率的地图,避免求解陷入局部极值。
算法已有成熟带代码包,实现起来十分简单,手持激光雷达即可建图。
此处附上代码下载链接:https://github.com/tu-darmstadt-ros-pkg/hector_slam
或:https://download.csdn.net/download/ustcyr/24576276
本人使用的雷达型号是rplidar A2。
1、安装雷达驱动
sudo apt-get install ros-kinetic-rplidar-ros
2、串口配置设备绑定USB端口号、此步骤可根据需求设置,建议设置,设置完成后,不需要考虑串口号,设备即插即用。
终端输入:
lsusb
会看到如下信息
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 8087:0a2b Intel Corp.
Bus 001 Device 004: ID 04f3:0c1a Elan Microelectronics Corp.
Bus 001 Device 003: ID 04f2:b5a3 Chicony Electronics Co., Ltd
Bus 001 Device 008: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 007: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 006: ID 0bda:5411 Realtek Semiconductor Corp.
Bus 001 Device 002: ID