参考:
TX2+rplidar+cartographer
实时 Cartographer 测试 (1) - rplidar
rplidar 跑 cartographer
ROS 下使用 rplidar 运行 google cartographer
Ubuntu版本:16.04 LTS
Jetson TX2 安装 ROS kinetic
Jetson TX2 安装 cartographer
google的官方教程:https://google-cartographer-ros.readthedocs.io/en/latest/index.html
安装Rplidar激光雷达驱动
首先必须给Jetson TX2 编译内核,才可读取出雷达,编译方法参考 http://m.blog.csdn.net/gzj2013/article/details/77069803
注意:
1、要选择 CP210x 驱动,而不是例子中的 CH341
2、必须保证Jetson TX2 中有足够的空间(大于 5G)才可正常安装
开始安装雷达驱动
在https://github.com/robopeak/rplidar_ros 下载安装 rplidar 的 ROS 驱动:
1、在 ~/catkin_ws/src
下运行:
nvidia@tegra-ubuntu:~$ git clone https://github.com/robopeak/rplidar_ros
2、重新编译,执行以下代码:
catkin_make_isolated --install --use-ninja
3、设置 USB 口的权限:
nvidia@tegra-ubuntu:~$ ls -l /dev |grep ttyUSB
nvidia@tegra-ubuntu:~$ sudo chmod 666 /dev/ttyUSB0
每次插上 rplidar 都要设置一遍 USB 口的权限,可以将权限写在 rules 里(参考这个):
root 权限新建文件 /etc/udev/rules.d/70-ttyusb.rules
写入 KERNEL=="ttyUSB[0-9]*", MODE="0666"
,保存,重新插上设备,在运行一次·ls -l /dev |grep ttyUSB*
查看权限,有两个 rw 就可以了
4、运行
驱动里提供了三个 launch 文件,跑 cartographer 的话用 rplidar.launch 即可
nvidia@tegra-ubuntu:~$ roslaunch rplidar_ros rplidar.launch
运行完可以先关掉
测试 cartographer
运行 cartographer,首先 编辑用于运行 rplidar 的配置文件:
1、 修改revo_lds_.lua:
位于/catkin_ws/src/cartographer_ros/cartographer_ros/configuration_files
文件夹下,修改了 22 和 23 行。
1 |
|
2、修改demo_revo_lds.launch :
位于~/catkin_ws/src/cartographer_ros/cartographer_ros/launch
文件夹下,注意 23 和 25 行。
主要修改两个地方,<remap from="scan"to="horizontal_laser_2d"/>
这一句后面的 horizontal_laser_2d
改成 scan
;最后的 playbag 节点删掉。
1 |
|
3、重新编译
1 |
|
4、运行
启动两个终端,分别运行 rplidar 的节点和 cartographer_ros 节点:
第一个终端:
nvidia@tegra-ubuntu:~$ roslaunch rplidar_ros rplidar.launch
第二个终端:
nvidia@tegra-ubuntu:~$ roslaunch cartographer_ros demo_revo_lds.launch