??激光雷达是现今机器人尤其是无人车领域及最重要、最关键也是最常见的传感器之一,是机器人感知外界的一种重要手段。本文将介绍在ROS下使用激光雷达传感器,我们选用的激光雷达型号为思岚A1。
使用流程如下:
当前直接连接Jetson nano即可,如果连接的是虚拟机,注意虚拟机的相关设置。
USB查看命令:
ll /dev/ttyUSB*
授权(将当前用户添加进dialout组):
sudo usermod -a -G dialout your_user_name
授权完需要重启,重启之后才可以生效。
进入工作空间的src目录,下载相关雷达驱动包,下载命令如下:
git clone https://github.com/Slamtec/rplidar_ros.git
返回工作空间,调用catkin_make
编译,并source ./devel/setup.bash
,为端口设置别名(将端口 ttyUSBX 映射到 rplidar):
cd src/rplidar_ros/scripts/
./create_udev_rules.sh
首先确认端口,编辑 rplidar_a1.launch 文件。
<launch>
<node name="rplidarNode" pkg="rplidar_ros" type="rplidarNode" output="screen">
<param name="serial_port" type="string" value="/dev/rplidar"/>
<param name="serial_baudrate" type="int" value="115200"/>
<param name="frame_id" type="string" value="laser"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool" value="true"/>
</node>
</launch>
终端工作空间下输入命令:
roslaunch rplidar_ros rplidar_a1.launch
启动 rviz,添加 LaserScan 插件:
注意: Fixed Frame 设置需要参考 rplidar.launch 中设置的 frame_id,Topic 一般设置为 /scan,Size 可以自由调整。
??当我们配置好分布式框架后,想要启动roscore发现没有反应,这便需要我们重新进行IP的配置了。
单机模式设置:
使用gedit命令打开~/.bashrc
,把分布式注释掉,并在后面追加:
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
最后我们还需要source一下,否则没用。
source ~/.bashrc