引出
在使用主从机驱动激光雷达进行数据采集时,由于主机(NVIDIA的NX10主板)控制激光雷达的启动,以及数据采集,需要通过从机(自己的笔记本)来控制主机,通过一些命令行驱动主机控制激光雷达硬件。由于需要执行激光雷达驱动、实时点云显示(RVIZ),以及点云录制,需要驱动多个launch命令,需要使用很多节点,一句句的敲会显得过于繁琐,故参考CSDN多篇博文,获得此种方法:
-
1、编写launch文件一次性启动多个节点
-
2、编写sh脚本控制多个launch文件启动
-
3、编写开机自启动sh脚本文件,使我们程序开机就能自动运行
1、编写launch文件一次性启动多个节点
在我们的一个功能包的src文件夹下建立一个launch文件夹和.launch的文件,如下图
One简单的创建并使用.sh文件的小demo。
在使用笔记本驱动镭神激光雷达时,由于需要进行进行环境变量 source 的设置以及roslaunch等命令行(如4. 运行程序 所示),内容过于繁琐,故使用脚本.sh文件对其进行管理(图中 c32 应该改为ch)。
在任意路径下,打开一个终端,通过gedit run.sh 创建一个run.sh,并将其打开,将如下命令行添加进此文件。
echo"启动驱动程序..."
cd /home/huangzx/catkin_leishenCH32
source devel/setup.bash
roslaunch lslidar_ch_decoder lslidar_ch.launch --screen
并保存(如下图所示)
利用网线连接好激光雷达与笔记本之后,进入run.sh同一路径之下,打开终端,在此终端路径之下,执行
bash run.sh
则能够驱动激光雷达工作,界面如下:
任意打开一个终端,输入
rosrun rviz rviz
更改Fixed_Frame 为laser_link ,Add pointcloud2,结果为:
ok,结束,齐活。