机器人平台搭建(四)——为机器人装配激光雷达

机器人平台搭建(四)——为机器人装配激光雷达

总述

移动机器人在环境中获取障碍物的具体位置、房间的内部轮廓等信息都是非常必要的,这些信息是机器人创建地图、进行导航的基本数据,使用激光雷达作为这种场景应用下的传感器。
激光雷达可用于测量机器人和其他物体之间的距离。

1、rplidar功能包

针对激光雷达,ROS中有相应的驱动功能包——rplidar,该功能包的相关话题、参数设置接口如下。
(1)话题与服务
rplidar功能包发布的话题和提供的服务。
话题发布
名称:Scan
类型:sensor_msgs/LaserScan
描述:发布激光雷达数据
服务
名称:stop_motor
类型:std_srvs/Empty
描述:停止旋转电机

名称:start_motor
类型:std_srvs/Empty
描述:开始旋转电机
(2)参数
rplidar功能包中可供配置的参数
参数:serial_port
类型:string
默认值:"/dev/ttyUSB0"
描述:激光雷达串口名称

参数:serial_baudrate
类型:int
默认值:115200
描述:串口波特率

参数:frame_id
类型:string
默认值:“laser”
描述:激光雷达坐标系

参数:inverted
类型:bool
默认值:false
描述:是否倒置安装

参数:angle_compensate
类型:bool
默认值:true
描述:角度补偿
rplidar功能包的安装可以使用如下命令完成:

sudo apr-get install ros-kinetic-rplidar-ros

2、PC端驱动rplidar

将rplidar连接到PC端的USB接口,使用lsusb命令检测是否连接成功。
启动激光雷达的过程中有可能遇到串口权限问题。
使用以下命令添加用户权限可以解决该问题。其中USER_NAME是当前用户名,设置后需要注销并重新登录Ubuntu系统:

sudo gpasswd --add USER_NAME dialout

正常工作后,可以使用激光雷达获取信息,使用以下命令启动激光节点:

扫描二维码关注公众号,回复: 13027228 查看本文章
rosrun rplidar_ros rplidarNode

如果终端中的输出信息无报错,则说明rplidar启动成功。
使用rostopic命令查看当前系统中的话题列表:

rostopic list

如果想查看更多关于激光雷达发布的信息,可以使用以下命令打印:

rostopic echo /scan

但是终端中的激光数据并不形象,故可以使用rviz在图形化界面下显示激光雷达数据。修改“Fixed Frame”为“laser”,点击“Add”按钮添加LaserScan显示插件,设置插件订阅“/scan”话题,就可以看到激光雷达信息。
也可以使用rplidar功能包中的命令直接在rviz中查看激光数据:

roslaunch rplidar_ros view_rplidar.launch

猜你喜欢

转载自blog.csdn.net/weixin_45661757/article/details/113192409