SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——3.装机后一些实用软件安装和系统设置

摘要                                              

经过前面一系列的铺垫,相信你们对整个miiboo机器人的DIY有了一个清晰总体的认识。接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发。本章将从树莓派3的开发环境搭建入手,为后续ros开发、slam导航及语音交互算法作准备。本章内容:html

1.安装系统ubuntu_mate_16.04python

2.安装ros-kineticlinux

3.装机后一些实用软件安装和系统设置nginx

4.PC端与robot端ROS网络通讯算法

5.Android手机端与robot端ROS网络通讯chrome

6.树莓派USB与tty串口号绑定django

7.开机自启动ROS节点ubuntu



3.装机后一些实用软件安装和系统设置 

虽然咱们顺利安装了ubuntu-mate-16.04系统,而且在系统上装好了ROS-kinetic发行版,为了后面跟高效和便捷的开发,这里将进行一些很是实用软件的安装和系统设置。vim

3.1.开机自动登陆                   

装完系统后第一次开机,会要求设置用户名和密码,这里应该设置用户开机自动登陆,只有登陆后树莓派3才能自动链接到无线网络,从而才能远程控制。若是装机时已经设置了,请直接跳过这一部分;若是你搞忘记或遗漏了,没有设置开机自动登陆,也没关系,用下面的的方法进行自动登陆设置。centos

打开文件/usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greet.conf,在[seat:*]节点下修改或添加如下代码

autologin-user=ubuntu #ubuntu是要自动登陆的用户名

3.2.超级用户root密码设置             

装完ubuntu-mate-16.04系统后,root用户默认是没有密码的;用普通用户ubuntusudo权限去设置root用户的密码。

反正咱们是用于学习,出于方便记忆的考虑,因此和以前设置ubuntu的用户名和密码同样,这里设置root的用户名和密码也同样,也就是root用户的密码也是root

ubuntu@ubuntu-desktop:~$ sudo passwd root 
[sudo] password for ubuntu:    #键入ubuntu密码 
Enter new UNIX password:       #键入root新密码 
Retype new UNIX password:      #确认root新密码 
passwd: password updated successfully

root密码设置成功后,su root登陆进去验证一下,若是能登陆就设置成功了。

3.3.扩展SWAP空间                  

因为后续在树莓派3上须要编译一些大型的程序和运行复杂的SLAM算法,默认的物理内存1GB是不够用的,经常形成卡机死机等现象,这里须要添加SWAP扩展空间,其实就是当系统内存不足时会用硬盘上SWAP分区做为虚拟内存

因为个人microSD卡是32GB的,因此能够多分配一些给SWAP,因此分配4GBSWAP空间。具体步骤:

#先关闭swap
cd /var 
sudo swapoff /var/swap 

#重设swap大小1M*4096=4GB,会花较长时间,请耐心等待 
sudo dd if=/dev/zero of=swap bs=1M count=4096
 
#格式化 
sudo mkswap /var/swap 

#开启swap 
sudo swapon /var/swap 

#设置开机启动,在/etc/fstab文件中添加以下代码 
/var/swap swap swap defaults 0 0 
#查看当前已生效的swap 
swapon -s 
#查看当前swap使用状况 
free -m

3.4.链接wifi网络                    

为了让机器人启动后,咱们能经过网络远程访问须要给机器人配置好网络链接,并分配静态IP,让机器人开机后就能自动链接wifi。关于设置的内容已经在上面安装ros-kinetic详细介绍了,有须要的直接前去翻阅就行。

3.5.安装chromium浏览器              

前一段时间,在ubuntu-mate-16.04上安装ROS后,ubuntu-mate-16.04系统自带的Firefox浏览器不能用了,Firefox最近对这个故障进行了修复。不过为了保险起见,仍是推荐安装谷歌为linux系统推出的浏览器chromium,跟咱们平时用的闻名于世的chrome浏览器是差很少的。安装很简单,就一条命令。

sudo apt-get install chromium-browser

3.6.安装vimssh工具                 

vimLinux中一款很经典的代码文本编辑器,不管是本地仍是远程编辑文本都很强大;ssh功能很强大,不紧能够提供用户远程登陆控制系统和编辑文件,还提供命令终端下的scp远程文件传输。安装很简单,几条命令就搞定。

#安装vim
sudo apt-get install vim
#安装ssh服务端
sudo apt-get install openssh-server
#开启ssh服务
sudo service ssh start
#设置开机自启动ssh服务,在开机自启动脚本/etc/rc.local加入下面这条命令,
#注意加入位置是在exit 0这一句以前
service ssh start 
#检查ssh是否启动,使用下面命令
ps -e | grep ssh
若是输出中含有ssh-agent和sshd就说明成功了 

3.7.经过ssh远程登陆到机器人            

树莓派3主板是安装在miiboo机器人上的,因为机器人要在地上自由移动,给机器人上的树莓派配一个HDMI显示器和鼠标键盘用于程序调试显然是不方便的。一个很好的方法是,工做端PC和机器人链接到同一个路由器完成局域网组网,而后PC端用ssh远程登陆到机器人,这样就能够在工做PC端对机器人上的程序和文件进行调试开发了。

ssh远程登陆方法:

#在PC端上打开终端,ssh远程登陆机器人,
#ubuntu为登陆用户名,192.168.0.117为登陆机器的IP,根据实际替换
ssh ubuntu@192.168.0.117

#退出ssh远程登陆
exit

一旦PC端打开的终端窗口ssh远程登陆机器人后,就能够在该终端下像在机器人上使用终端同样进行操做了。PC端能够打开多个终端窗口ssh远程登陆机器人,这样在不一样的终端下能够开启机器人上不一样的程序。

3.8.在工做PC端远程编辑机器人上的文件      

已经介绍了经过ssh远程登陆机器人的方法,其实能够直接在登入的终端下用vim对机器人上的文件进行查看编辑。可是,若是须要同时编辑多个文件,或对一个软件项目源码进行编辑,vim就不方便了。

这里推荐在PC端安装IDE开发工具(比较推荐atom,不过sublime text也不错,根据我的喜爱选择吧),而后将机器人上的系统文件夹远程挂载在PC端系统,这样就能够在PC端上用IDE开发工具直接对远程挂载过来的文件及文件夹进行编辑了。

PC端安装IDE开发工具atom很简单,直接在ubuntu软件中搜索atom,而后点击安装就好了,如图21

(图21)在PC端安装IDE开发工具atom

将机器人上的系统文件夹远程挂载在PC端系统,首先打开[文件]管理器,找到左侧栏的[链接到服务器],在服务器地址栏输入远程文件地址(如sftp://192.168.0.117/home/ubuntu,这里的sftp是协议,192.168.0.117是远程设备IP地址,/home/ubuntu是远程设备中想要被挂载的文件夹请根据实际替换),而后点击[链接],这是须要输入远程设备的登陆名和密码,如图22

(图22)将机器人上的系统文件夹远程挂载在PC端系统

挂载好后,就可使用各类咱们喜欢的编辑工具对文件夹中的文件进行编辑了,如图23,不过远程文件系统挂载会比较占用网路带宽,不用时建议尽可能断开。

(图23)挂载好后的远程文件夹

后记              

------SLAM+语音机器人DIY系列【目录】快速导览------

第1章:Linux基础

1.Linux简介

2.安装Linux发行版ubuntu系统

3.Linux命令行基础操做

第2章:ROS入门

1.ROS是什么

2.ROS系统总体架构

3.在ubuntu16.04中安装ROS kinetic

4.如何编写ROS的第一个程序hello_world

5.编写简单的消息发布器和订阅器

6.编写简单的service和client

7.理解tf的原理

8.理解roslaunch在大型项目中的做用

9.熟练使用rviz

10.在实际机器人上运行ROS高级功能预览

第3章:感知与大脑

1.ydlidar-x4激光雷达

2.带自校准九轴数据融合IMU惯性传感器

3.轮式里程计与运动控制

4.音响麦克风与摄像头

5.机器人大脑嵌入式主板性能对比

6.作一个能走路和对话的机器人

第4章:差分底盘设计

1.stm32主控硬件设计

2.stm32主控软件设计

3.底盘通讯协议

4.底盘ROS驱动开发

5.底盘PID控制参数整定

6.底盘里程计标

第5章:树莓派3开发环境搭建

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通讯

5.Android手机端与robot端ROS网络通讯

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点

第6章:SLAM建图与自主避障导航

1.在机器人上使用传感器

2.google-cartographer机器人SLAM建图

3.ros-navigation机器人自主避障导航

4.多目标点导航及任务调度

5.机器人巡航与现场监控

第7章:语音交互与天然语言处理

1.语音交互相关技术

2.机器人语音交互实现

3.天然语言处理云计算引擎

第8章:高阶拓展

1.miiboo机器人安卓手机APP开发

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章将持续更新,敬请关注-----------------

 

若是你们对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一块儿讨论学习^_^

 

关于咱们:

视频教程:

 

https://www.bilibili.com/video/av61448040

相关文章
相关标签/搜索