将树莓派机器人小车原雷达更换为思岚激光雷达

这里是将韩国的LG雷达更改为思岚的rplidar

1、硬件连接
激光雷达转接板图片:在这里插入图片描述

激光雷达通过串口转接板连接到树莓派,树莓派和所有的硬件通信除了网络基本上都是通过USB串口形式,在ubuntu里面的dev下会产生一个相应的设备节点,一般熟悉的有dev下的ttyUSB0、ttyUSB1、ttyUSB2这样的,但是这样的是不规范的,当插入多个设备之后不知道ttyUSB0、ttyUSB1、ttyUSB2分别对应什么,所以要对对应的设备CP2102芯片(USB转串口)做一个修改串口号,修改之后就可以在ubuntu加载驱动时候通过描述符重定义设备名字。在这里我们只能给CP2102去修改,像CH340这样的USB转串口是不能修改的。
修改方法:
安装 CP21xx Customization Utility,将雷达的这个转换模块接到电脑,打开软件在这里插入图片描述
打开之后点击1处Refresh重新扫描一下,然后在2处的Serial行修改Value值,可以根据自己需要将0001修改成0002、0003等,修改完成后点击3处的Program Device,就会保存设置。

在这里插入图片描述
修改完成后将雷达连接到树莓派上,然后给机器人上电。
2、树莓派配置
首先下载思岚激光雷达的一个包,直接搜索思岚科技->下载与支持->RPLIDAR A Series->GitHub仓库,将代码下载。
打开虚拟机, ssh连接小车,挂载/mnt。

ssh huike@192.168.12.1
sudo mount -t nfs 192.168.12.1:/home/huike/robot_ws /mnt

首先将Windows下下载好的rplidar_ros_master.zip复制到虚拟机中(PC端)->解压缩->修改一下名字(防止和原来的雷达包名字重复,我改成rplidar_ros),然后将修改后的包复制到树莓派的src下(在PC端进行):

cp /home/ubuntu_name/rplidar_ros /mnt/src/ -rf

然后在树莓派的工作空间下进行编译(在树莓派中进行):

sudo data -s "2020-12-23 13:17:30"
cd /robot_ws
catkin_make

查看树莓派上的usb设备,在工作空间robot_ws中输入:

ls /dev/ttyUSB*

可以看到有很多个设备,这时候需要确定哪一个是我们刚刚安装的雷达接口,subl(一种编辑器,个人认为比较好用)打开src/huanu_robot_start/src/creat_huanyu_udev.sh
在这里插入图片描述
可以看到第三行是我们新安装的思岚激光雷达rplidar,将串口号由0004改为0001(之前硬件连接中设置的0001),保存。进入huanyu_robot_start功能包中给creat_huanyu_udev.sh一个执行权限,然后运行当前目录下的该文件。

cd src/huanyu_robot_start/
sudo chmod +x creat_huanyu_udev.sh
sudo creat_huanyu_udev.sh

然后把思岚雷达重新拔插一下,再重新查看一下dev下是否有新安装好的雷达:

ls /dev/rplidar_laser

如果一切正常是可以看到rplidar_laser下面有文件的。
subl打开rplidar_ros 下的rplidar.launch文件,将
<param name="serial_port" type="string" value="/dev/ttyUSB0"/>中的value值改为"dev/rplidar_laser",保存一下。
退回到robot_ws/src目录下,当添加新的功能包后都需要运行一下rospack,这样运行roslaunch才能找到我们的功能包:

rospack profile

接下来运行launch文件:

roslaunch rplidar_ros rplidar.launch

3、验证激光雷达
在PC端运行

rostopic list
rostopic echo /scan

可以查看到/scan话题,监听一下/scan的数据也是可以收到的。
打开rviz,可以从rplidar.launch中看出,他的frame_id就是laser,所以在rviz中将frame改为laser,可以看到激光点信息。

此时说明雷达安装时没有问题的。

4、雷达代码移植到小车
(1)将rplidar.launch文件中的node节点信息复制。
在这里插入图片描述
(2)打开huanyu_robot_start.launch,将原来雷达的功能包屏蔽掉,将思岚雷达的代码粘贴过来。在这里插入图片描述
接下来修改静态tf的发布,修改(2)中文件的如下代码:在这里插入图片描述
可以看到args中有6个数(有的是7个),分别代表:x、y、z的坐标(从base_footprint开始的坐标 )和四元数。
接下来修改args的值:先假设六个数分别为abcdef(为了写起来方便,程序中不用),a代表雷达相对于机器人正中心x方向偏移?米(右手笛卡尔坐标系);b代表y方向偏移?米;c代表激光雷达的高度?米;d代表雷达正方向和小车正方向偏移量(思岚激光雷达的正方向在电机和屁股座那里,而我们反过来安装的,雷达正方向和小车正方向相反,为180度,为π,所以写3.1415,如果安装时是其他角度,因为是右手笛卡尔坐标系,顺时针为负方向,逆时针为正方向)。后面的laser也要和node中的laser对应起来,保持一致。
修改为如下参数:在这里插入图片描述
此时,所有的代码设置完成 ,保存。

4、启动小车验证

roslaunch huanyu_robot_start Huanyu_robot_start.launch
roslaunch huanyu_robot_start gmapping_slam.launch

打开rviz ,可以看到地图和激光点都是ok的。

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒-于-嬉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值