前面介绍了ROS的安装以及简单的使用,接下来主要围绕树莓派记录下ROS的一些开发应用。尽管树莓派已经出了4B,由于手上有一个树莓派2B的板子就先用2B版来搞一下!本文自认为介绍的还是比较详细,无论是有显示设备还是没有显示设备都能够搞起来,只需要有树莓派主板,主板电源,sd卡,读卡器,网线,USB网卡(非必需),电脑一台足矣!
1.下载系统镜像
首先要进行的就是系统的烧写了,ubuntu官方是有适配树莓派的系统镜像的,最新已经出Ubuntu 20.04.1 LTS了,适配的树莓派版本也有详细的说明,大家可以自己下载镜像烧写系统,Ubuntu for Raspberry Pi 。
比如这里的ubuntu-18.04.5-preinstalled-server-armhf+raspi2.img,然后准备一张SD卡,建议16G,高速卡最好,写入的速度会快很多!
2.SD卡系统制作
用读卡器将SD卡插在电脑上,打开Win32 Disk Image:
点击1处加载下载的镜像,然后直接点击Write等待完成即可。
制作完成之后呢电脑会识别出两个分区,打开boot分区,找到Config.txt,在最后加上
hdmi_force_hotplug=1
hdmi_driver=2
这样是配置HDMI输出,具体参数可以参考如下:
这里介绍的参数比较全面,实际我只修改了上面的两句,可以根据自己的实际情况添加参数。
下面就分成两种情况了:
a.有HDMI显示设备,将SD卡插入树莓派,连接HDMI显示设备,上电即可,最后会出现登陆界面:
用户名密码默认都是:ubuntu
既然没有显示设备,我们可以考虑用远程桌面的方式进行操作,下面会有介绍。
b.如果没有HDMI的显示设备,我们可以使用SSH远程登陆的方式访问树莓派,SSH默认是开启的,这比之前的版本友好太多。
ssh首先就是需要知道树莓派的IP地址,参考下一步。
3.扫描确定树莓派IP地址
将制作好的SD卡插入树莓派,启动上电,插上网线,首先我们需要知道的是树莓派的IP地址,以便我们可以通过ssh远程登录。首先介绍一款IP,端口扫描的工具,PortScan:
可以先拔掉树莓派的网线扫面一遍,再插上网线再扫描一遍,这样还是比较容易的排查出树莓派的IP地址的,这里是192.168.1.114。
4.ssh远程登陆
该版本的ubuntu默认ssh是开启的,打开putty:
默认的用户名与密码都是ubuntu,第一次会提示修改密码,按提示修改即可。
5.更换国内软件源
更换国内软件源的目的就是为了保证软件更新下载速度。
首先切换到root用户
sudo su
vim /etc/apt/sources.list
将 http://ports.ubuntu.com/ 全部替换为 http://mirrors.ustc.edu.cn/ubuntu-ports/ ,这是中科大的
更新一下系统:
sudo apt-get update
sudo apt-get upgrade
更换国内源后速度还是可以的。
6.USB无线网卡的配置
首先插上USB无线网卡:
ifconfig
可以看到无线网卡的名字是wlan0
打开如下,etc/netplan/路径下的配置文件
sudo vim /etc/netplan/50-cloud-init.yaml
按照上面配置wlan0,需要替换SSID名字和密码即可。
然后使配置生效:
sudo netplan generate
sudo netplan apply
这样就配置好wifi自动连接了!
7.安装桌面系统
官方推荐的是以下三种桌面:
这里选择的是
sudo apt-get install xubuntu-desktop
这个过程还是需要等一段时间的,下载很快,安装需要一定的时间,我这里将近用了1个小时。
设置开机自动登陆
sudo vim /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
添加autologin-user=ubuntu
如下图:
8.安装teamviwer
如果IP地址发生变化的话还得需要重新查找确定IP之后才能通过SSH远程登录,安装teamviwer的好处就是不依赖于IP地址远程直接账户密码即可实现远程。
树莓派终端wget下载,命令:
wget https://dl.teamviewer.cn/download/linux/version_15x/teamviewer-host_15.9.5_armhf.deb
关于这个下载地址你可以登录官方网站 https://www.teamviewer.cn/cn/中找到对应的版本复制下载链接到这里。
sudo dpkg -i teamviewer-host_15.9.5_armhf.deb
dpkg相关被占用,重启
sudo reboot
重新连接ssh登陆
sudo dpkg -i teamviewer-host_15.9.5_armhf.deb
sudo apt-get install -f
sudo dpkg -i teamviewer-host_15.9.5_armhf.deb
输入y进行安装
安装完毕。
安装完成后,查看ID,设置密码 ,启动
sudo teamviewer info
记下ID
sudo teamviewer passwd 123456
sudo teamviewer --daemon start
sudo teamviewer --daemon enable
sudo reboot
重启后,电脑上打开teamviwer输入树莓派的ID以及密码即可远程连接了!
(重启树莓派后需要等一会等到teamviewer服务起来后才能连接上)
9.安装ROS
我们这里通过SSH远程登陆后进行安装步骤如下:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo rosdep init
rosdep update
至于
sudo rosdep init
rosdep update
可能报错的问题参考之前的文章ROS备忘录(1)-ROS安装
这里注意的是如果没有安装桌面系统sudo gedit /etc/hosts时,找不到gedit可以换成用vim打开编辑
sudo vim /etc/hosts
安装完成后如下图:
参考:
ROS备忘录(1)-ubuntu18.04 ROS安装
树莓派安装最新版teamviewer
树莓派UBUNTU MATE 自动登录用户
Ubuntu Server 18.04配置无线Wifi网卡
Ubuntu 18.04 无线网卡配置