Turtlebot2 底盘与激光雷达串口配置问题

  按照Turtlebot入门教程中的配置步骤(http://www.ncnynl.com/archives/201611/1095.html),可以基本完成激光雷达的安装调试工作,但在使用时可能会出现如下错误:

Turtlebot2 底盘与激光雷达串口配置问题_第1张图片

  这是因为教程中配置rplidar_laser.launch文件时,设置串口时将值设置为ttyUSB0,如下所示:

  而激光雷达实际对应的串口编号与连接顺序有关,可以通过ls -l /dev | grep ttyUSB命令查看,结果如下图所示:

Turtlebot2 底盘与激光雷达串口配置问题_第2张图片

  可以看到激光雷达rplidar对应实际端口编号是ttyUSB1,与文件rplidar_laser.launch中设置的值不相符,故而导致错误。而端口编号又是由USB线插入的先后顺序决定,在使用turtlebot2时,我们一般习惯性先插入机器人USB线,再接入rplidar,所以kobuki底盘对应ttyUSB0,rplidar对应ttyUSB1。

  那么如何避免因为连接顺序不同导致串口读取错误呢,我们可以使用创建别名的方法,将中的“/dev/ttyUSB0”替换为“/dev/rplidar”,具体操作在Turtlebot入门教程中的配置步骤(http://www.ncnynl.com/archives/201611/1095.html)亦有介绍。

/etc/udev/rules.d  同理我们也可以给turtlebot2的kobuki底盘设置别名,在/etc/udev/rules.d/57-kobuki.rules文件中可以看到底盘已被设置成别名“kobuki”。故可以直接修改minimal.launch文件中的“connected on [/dev/ttyUSB0, /dev/ttyS0]"/>”语句,其中的ttyUSB0替换为kobuki,保存之后完成别名设置工作。



你可能感兴趣的:(ROS;,Turtlebot2)