slam_gmapping 是使用粒子滤波算法进行建图的一种方式,它严重依赖里程计,所以使用前面用stm32搭建的底层建图效果并不理想,接下来考虑进行线速度与角速度的标定,或使用谷歌的gartographer建图,为了方便使用串口连接,所有串口号都使用软连接,参考rplidar_ros/scripts/rulidar.rules,
使用lsusb-vvv查看idVendor和idProduct,然后在/etc/udev/rule.d下新建软连接的设备的.rules文件
# set the udev rule , make the device_port be fixed by rplidar
#
KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"
安装必要的slam_gmapping包,接下来就是配置rplidar和gmapping的launch 文件,以下直接给出
my_robot_gmapping.launch:
my_robot_rplidar_laser.launch: