树莓派4b安装Ubuntu20.04及ROS并使用激光雷达建图

 

一、安装Ubuntu20.04

1.1 镜像下载和烧录

树莓派的Ubuntu系统镜像可以在Ubuntu官网下载,Server是服务器版本,amd64代表64位,armhf代表32位,raspi3和raspi4分别代表树莓派3和树莓派4。

我们选择64位的Ubuntu Server 20.04.2 LTS

下载好后将系统烧写到卡里,树莓派官方出了一个烧写工具比较好用,也可以用balenaEtcher或者Win32DiskImager等其他工具。

 

1.2 使用SSH连接树莓派

SSH默认是安装的,可以直接连接,用户名和密码都是ubuntu,第一次登录会要求更改一个复杂一点儿的密码。

如果无法连接可以尝试把卡插在电脑上在system-boot目录新建一个ssh文件(没有后缀)

Mac可以直接在终端输入:

touch /Volumes/system-boot/ssh

 之后将卡插入树莓派开机即可。

第一次开机推荐直接使用网线连接电脑,容易获取树莓派的IP地址,如果电脑连网的话树莓派也会自动连网。

如果Mac已经连网,用网线连接树莓派后在终端输入:

arp -a

找到后缀为[bridge]的IP就是树莓派的IP地址。

树莓派开机后在终端输入:

ssh [email protected]        //改为你树莓派的IP地址

就可以使用ssh连接树莓派了。

Windows可以用putty连接。

 

1.3 更换国内源

命令行输入:

sudo su                //切换为root用户
nano /etc/apt/sources.list

把所有的url全换为https://mirrors.ustc.edu.cn/ubuntu-ports/

之后

sudo apt-get update
sudo apt-get upgrade

 

1.4 安装桌面

sudo apt-get install ubuntu-desktop

等待安装完成后重启树莓派就可以进入桌面了

sudo reboot

1.5 打开VNC

Ubuntu自带屏幕共享的功能,但必须要插上屏幕才能使用VNC连接。

在设置中找到Sharing中的Screen Sharing

需要先连接一个wifi才能打开

现在连接会报错,需要安装dconf-editor:

sudo apt-get install dconf-editor

打开dconf Editor,在/org/gnome/desktop/remote-acess/

中关闭require-encryption

之后就可以使用wifi的IP地址进行vnc连接了。

 

二、安装ROS

 

ROS的安装可以参考官网的教程。

2.1 添加ROS源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

这个源的速度可以接受,也可使用国内源,但有的源会404。

设置密钥:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

也可以使用curl代替apt-key:

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

更新软件包列表:

sudo apt-get update

 

2.2 安装ROS

有好多版本可选,这里我们安装最全的

sudo apt install ros-noetic-desktop-full

注意这里的noetic,Ubuntu20.04对应的版本号是noetic,如果添加源后无法找到包的话可以检查一下版本号是否和系统版本对应。

 

如果还是找不到包的话可以使用命令找一下有哪些包可用,并安装可用的包

sudo apt-cache search ros-noetic

 

2.3 配置环境变量

Bash:

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

zsh:

echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

 

2.4 安装依赖包

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

注意这里都是python3,有些18.04的教程是python,会出现问题。

 

2.3 初始化rosdep

sudo rosdep init
rosdep update

到这里ROS就安装好了,可以用小乌龟测试一下,这里就不写了,直接使用激光雷达。

 

三、测试激光雷达

这里使用的是思岚A1激光雷达,其他激光雷达方法类似。

3.1 安装思岚激光雷达包

新建一个文件夹并clone

mkdir -p ~/rplidar_test/src
cd ~/rplidar_test/src
git clone https://gitee.com/h_yun/rplidar_ros.git

从GitHub clone速度可能会很慢,这里用的是是我导入码云后的链接。

编译

cd ..
catkin_make

3.2配置环境变量

source /turtlebot_ws/devel/setup.bash

3.4配置端口权限

将激光雷达连接树莓派

ls -l /dev |grep ttyUSB
sudo chmod a+rw /dev/ttyUSB0

3.5测试

命令行输入

roscore

打开另一个终端

cd ~/rplidar_test/src
. devel/setup.bash
roslaunch rplidar_ros view_rplidar.launch

这时会发现激光雷达停转一下后继续转,之后就能在屏幕上可以看见图像了

这样就说明环境已经配置好了,雷达正常工作。

参考[ROS学习笔记]ROS中使用激光雷达(RPLIDAR)

 

四、使用hector_mapping建图

这里参考思岚A1激光雷达hector_mapping建图与定位

 

4.1 安装hector_mapping:

sudo apt-get install ros-noetic-hector-slam

如果之前安装的是ros-noetic-desktop-full,那么就可以直接进行下一步了。

 

4.2 新建一个launch文件

nano ~/rplidar_test/src/rplidar_ros/launch/test0.launch

内容如下:






































    




 









  


原文中有较为详细的代码解释,可以参考一下。

 

4.4启动RVIZ

roscoe

打开另一个终端:

cd ~/rplidar_test/src
. level/steup.bash
roslaunch rplidar_ros view_rplidar.launch

这时就可以看见二维图像了

至此,环境的配置就全部结束了。

你可能感兴趣的:(激光雷达,Linux,ROS,ubuntu,linux,slam)