移动机器人在环境中获取障碍物的具体位置、房间的内部轮廓等信息都是非常必要的,这些信息是机器人创建地图、进行导航的基础数据,除上面所讲的Kinect,还可以使用激光雷达作为这种场景应用下的传感器。
激光雷达可用于测量机器人和其他物体之间的距离。采用SLAMTEC公司的低成本激光雷达——rplidar A1
,这款雷达适合室内移动机器人使用,可以最快10Hz的频率检测360°范围内的障碍信息,最远检测距离是6m。
rplidar功能包
针对rplidar A1这款激光雷达,ROS中有相应的驱动功能包——rplidar,该功能包的相关话题、参数设置接口如表
rplidar功能包中的话题和服务
rplidar功能包中的参数
rplidar功能包的安装可以使用如下命令完成:
sudo apt-get install ros-kinetic-rplidar-ros
PC端驱动rplidar
将rplidar连接到PC端的USB接口,使用lsusb命令检测是否连接成功
启动激光雷达的过程中有可能遇到如图所示的串口权限问题。
使用以下命令添加用户权限可以解决该问题。其中USER_NAME是当前用户名,设置后需要注销并重新登录Ubuntu系统:
sudo gpasswd --add USER_NAME dialout
一切正常工作后,就可以使用激光雷达获取信息了,使用以下命令启动激光节点:
rosrun rplidar_ros rplidarNode
如果终端中的输出信息如图所示,则说明rplidar启动成功: