开发环境配置——Ubuntu16.04和ROS kinetic(一)
实现自主导航功能,当前的主流做法是采用ROS机器人操作系统,通过激光SLAM或视觉SLAM构建环境地图,再借助Navigation导航包实现。下面介绍一下前期的开发环境配置。
ROS
机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。详细的内容在这里后续补上连接。
ROS虽然叫做操作系统,但并非Windows、Mac那样通常意义的操作系统,它只是连接了操作系统和你开发的ROS应用程序,所以它也算是一个中间件,基于ROS的应用程序之间建立起了沟通的桥梁,所以也是运行在Linux上的运行时环境,在这个环境上,机器人的感知、决策、控制算法可以更好的组织和运行。
本文将介绍ROS kinetic的环境配置,官方推荐适配的Linux版本为Ubuntu 16.04。
Ubuntu 16.04 安装过程
ubuntu16.04的安装主要分三种,一种是在windows上的虚拟机上进行安装,一种是直接双系统或者单系统的本地磁盘安装,还有一种是在树莓派上进行安装。
本项目采用的是双系统安装和树莓派安装,采用ssh远程控制的形式进行后续操作。本地磁盘双系统安装教程参考这里后续补上连接。下面将着重介绍树莓派下的Ubuntu 16.04的安装过程。
本项目上位机用的是树莓派3B+,对应的Ubuntu系统应为Ubuntu mate 16.04.
1、下载镜像文件
下面提供适用于3B+的Ubuntu mate 16.04镜像文件,百度云链接,密码:osek。感谢博主【jacka654321】分享,亲测可用,且没有因为树莓派外接显示屏而出现彩虹屏问题。彩虹屏问题及解决。
另外再分享一个比较方便的树莓派镜像文件下载地址:树莓派系统镜像汇总网站。
2、准备烧写软件
推荐使用balena公司的U盘烧写工具balenaEtcher,该软件在烧写完成后有个自检操作,比较安全。官网地址:https://www.balena.io/etcher/,到官网下载最新版本。
3、准备SD卡格式化工具
这里推荐SD Card Formatter ,官网链接:https://www.sdcard.org/downloads/formatter/,也可以去别的地方下载,可以使用就行,版本无所谓。
4、烧写
准备一个SD卡读卡器,准备一张8g以上的SD卡,建议准备32g或64g的SD卡,且读写速度最好快点;新卡或旧卡先用SD卡格式化工具进行格式化;然后用烧写工具将准备好的Ubuntu Mate镜像烧写进SD卡。
5、连接和系统配置
烧写完成后,用HDMI线连接到电脑显示屏,记住是先连接显示屏,再上电开启树莓派,配置系统,否则无法正常显示,后续如果在通电情况下拔下屏幕再插上去,也会造成无法显示。
上电后可看到命令行配置进程。
然后出现Ubuntu mate 图标
系统配置选择默认即可。
网络这里可以跳过,在进入系统后在设置,到时候可能需要再重启一次系统。
在配置用户名界面时,勾选Log in automatically,否现在后面每次进入树莓派都要输入登陆密码,比较繁琐。
等依次出现的两个进度条滚完,树莓派会重启进入系统,只需要耐心等待。
至此,树莓派顺利安装ubuntu mate系统,建议使用前再重启一次,否则连接WiFi的时候没有可连接的网络列表。
ROS kinetic安装在下一章贴出ROS kinetic安装与配置。
后续配置建议
Ubuntu系统安装完成后,建议再做以下几个步骤,提高后续开发的效率。
1、更换源
Ubuntu mate自带的源总感觉效果不是很好,建议更换国内的源。更换源的步骤可参考Ubuntu系统,网上都有详细的教程。后面有空我会转载一篇,贴上链接。
2、更换浏览器
Ubuntu mate 自带的火狐浏览器用不多久就会崩溃,建议在一开始就下载一个备用浏览器,这里推荐Google主导开发的网页浏览器Chromium。
3、创建&扩充交换Swap空间
后面在编译时,由于交换空间容量问题,编译的时候经常会卡住,提早扩充交换空间,提高后续开发效率。
以下给出增加swap的步骤:
cd /opt
sudo mkdir image
cd image
//创建swap文件
sudo touch swap
//添加交换空间并设置为4G,建议设置为至少4G
sudo dd if=/dev/zero of=/opt/image/swap bs=1024 count=4096000
//等个几分钟,会返回如下
//4096000+0 records in
//4096000+0 records out
//大小 copied, 所用时间 s, 速度 MB/ssudo mkswap /opt/image/swap
//设置交换空间
sudo mkswap /opt/image/swap
//启用新增的交换空间
sudo swapon /opt/image/swap
//确认是否已经生效,并查看交换空间大小
free -m
参考链接:
1、https://blog.csdn.net/jacka654321/article/details/83044233
2、https://blog.csdn.net/wxz3wxz/article/details/70237302