Hector建图(Ubuntu20.04PC+树莓派4B+Rplidar A1)
1 实现功能
通过树莓派控制激光雷达Rplidar A1,并发布扫描数据话题,在搭载Ununtu20.04的PC端使用Hector建图功能进行建图,并通过Rviz查看建图效果
2 硬件准备
1.树莓派4B+
2.装有ubuntu20.04的PC
3.激光雷达Rplidar A1
3 Ubuntu20.04下安装ROS系统
3.1 添加sources.list
打开终端输入以下命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
3.2 添加keys
打开终端输入以下命令:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.3 安装桌面完整版
(包含ROS、rqt、rviz、机器人通用库、导航以及2D/3D感知)
打开终端输入以下命令:
sudo apt install ros-noetic-desktop-full
3.4 环境配置
打开终端输入以下命令:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.5 测试
在终端中输入roscore
命令,如果显示结果如下,则安装ROS成功。
4 PC与树莓派多机通信配置
因为要在PC端进行建图,所以要设置树莓派与PC端的ROS多机通信,这里设树莓派为主机,PC为从机,首先对主机和从机的/etc/hosts
文件进行修改
sudo gedit /etc/hosts
在其中添加树莓派的IP地址及主机名称(这样做是为了后面在设置Master的地址时可以直接使用名字)
192.168.43.195 xtark-robot
IP地址 主机名称(可以任意设)
在两台主机上分别ping对方的名字,如果都可以ping通则表示底层通信没问题
然后修改主机和从机的.bashrc
文件进行修改
sudo gedit .bashrc
将原来的ROS_MASTER_URI注释掉,重新添加为要设主机的名称或 IP地址,这里设名称,如果连到了不同的网络,以后就可以直接从前面说的 /etc/hosts
文件里改IP地址即可
export ROS_MASTER_URI=http://主机名称或主机IP地址:11311
最后测试是否设置成功,在树莓派终端用命令roscore
启动ROS,然后在PC的终端用命令rostopic list
查看当前发布的话题,如果能查到表示多机通信布置成功
5 激光雷达Rplidar A1配置
5.1 创建工作空间
要使用ROS的功能包,首先要创建工作空间
mkdir -p ~/工作空间名字(自定义)/src //创建文件夹
cd ~