基于树莓派搭建ROS小车
- 1.树莓派安装ubuntu系统
- 1.1 下载ubuntu Server 20.04 的镜像包
- 1.2镜像烧录
- 1.3安装ubuntu桌面
- 1.4安装nomachine,可以进行远程控制
- 1.5 搜索不到无线网络列表,但实际上已连接网络
- 1.6 按照官方教程安装ROS
- 1.7 建立工作空间
所需东西:树莓派4b、32以上的SD卡、一个读卡器、一个屏幕
1.树莓派安装ubuntu系统
1.1 下载ubuntu Server 20.04 的镜像包
1.官网下载:树莓派官网
2.在imager镜像烧录软件里写入系统
3.清华镜像源:清华源
清华镜像源下载速度较快,选择你要安装的版本,我这里选择20.04.5
,选择release
,树莓派烧录的是以.xz
结尾的,根据你的树莓派是32位的还是64位 的自行选择。
1.2镜像烧录
我这里选择的是官方烧录软降Raspberry Pi Imager:
下载地址
1.把SD卡插进读卡器,插进电脑。
2.进入软件,首先点击选择SD卡
,选择你所插入的SD卡
3.进入选择操作系统
,先进行擦除
,然后进行使用自定义镜像
,选择你下载的镜像包
4.进行高级设置,最好每次烧录都进行设置,首先开启SSH服务
,使用密码登录
,接着设置用户名和密码
,尽量简单,方便记住。然后设置自己的wifi名称和密码
。最后进行保存。
5.点击烧录
,烧录完成以后,打开boot文件夹
,(如果不显示,就重新插拔读卡器)network-config
,这个是烧好ubuntu系统之后自带的网络配置文件。我是接入的手机热点,其中111
是wifi名称,12345678
是密码,你也可以直接把我的代码粘贴进去。
特别注意:
- 如自己对照修改的话,每行的缩进是空格,不是Tap缩进
- 如果你的WiFi名称没有空格的话,就要把WiFi名称左右两个双引号删掉
- 如果你的WiFi名称有空格或者特殊字符如(“-”)的话,就要把两个引号加上
version: 2
wifis:
renderer: networkd
wlan0:
dhcp4: true
optional: true
access-points:
111:
password: "12345678"
6.在boot文件夹下添加ssh文件,添加一个.txt
的文件,在修改名字为ssh
,注意不要.txt的后缀
。
8.弹出读卡器,把SD卡插进树莓派,有可能第一次连不上网,多重启几次
。
1.3安装ubuntu桌面
这一步是换源,也可以不换。以下提供两种换源方法
- 可以使用鱼香ros的一键换源,跟着提示依次选择5 2 1
wget http://fishros/install -O fishros && . fishros
- 首先将系统自带的source.list文件备份,然后使用vim打开该文件,
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list
vim编辑器,使用i/a/o进入插入模式,将原本文件中的内容删除或者#号注释,然后加入下列链接,然后按ESC退出插入模式,然后使用:wq,保存并退出vim编辑器(vim具体用法自己搜一下)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu-ports/ focal-proposed main restricted universe multiverse
使用ROS的rviz, gazebo等仿真工具,需要桌面图形环境。
先更新一下系统
sudo apt-get update
sudo apt-get upgrade
reboot
以上设置基本就可以安装Ubuntu桌面了,过程比较漫长。
sudo apt install ubuntu-desktop
安装成功以后重启树莓派就可以出现桌面
reboot
1.4安装nomachine,可以进行远程控制
windows版下载
linux版下载注意在ubuntu系统里下载的后缀是.deb
1.首先进行Ubuntu系统里的安装,把安装包导入树莓派,运行下面命令
sudo dpkg -i 安装包名
2.自己电脑进行跟着提示进行安装,安装完成后打开软件,此时应保证你的电脑和树莓派在同一个网络下。一般会直接搜索到同一网络下的IP,直接连接就可以,出现下图,输入Ubuntu的用户名和密码,就可以进入Ubuntu的界面了。
1.5 搜索不到无线网络列表,但实际上已连接网络
由于之前手动配置了文件,此时桌面右上角的WIFI图标显示找不到任何wifi信号,
sudo vim /etc/netplan/01-network-manager-all.yaml
注意vim的使用方法:
1.命令模式
i
切换到输入模式,左下角出现–输入–
x
删除当前光标所在处字符
2.输入模式
删除、换行、上下移动翻页、退格、输入等和平时输入一样。
esc
退出输入模式
3.底线命令模式
点击esc后,输入
:wq
退出程序并保存文件
:w
保存文件
:q
退出程序
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
保存退出后,重启网络管理服务
sudo service network-manager restart
重启树莓派后,就可以选择其他网络了
1.6 按照官方教程安装ROS
我用官方安装教程失败,最后选用了鱼香ros的一键安装,会自动的安装依赖、换源等。每个选项都选1.
wget http://fishros/install -O fishros && . fishros
启动 roscore
roscore
测试小乌龟,分别在另外两个终端输入命令
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
1.7 建立工作空间
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make