摘要
通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识。接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发。本章将从树莓派3的开发环境搭建入手,为后续ros开发、slam导航及语音交互算法做准备。本章内容: 1.安装系统ubuntu_mate_16.04 2.安装ros-kinetic 3.装机后一些实用软件安装和系统设置 4.PC端与robot端ROS网络通信 5.Android手机端与robot端ROS网络通信 6.树莓派USB与tty串口号绑定 7.开机自启动ROS节点
2.安装ros-kinetic
安装好系统ubuntu-mate-16.04后,就可以安装对于我们机器人开发非常重要的ROS系统了,根据ubuntu的版本与ROS行版本之间的对于关系,这里我们安装ros-kinetic这个发行版。
2.1.连接wifi网络
由于安装需要通过网络在线进行,所以需要先连接上wifi,在桌面右上角找到wifi样式的图标,在下拉栏中选择[Edit Connections…],如图13。
(图13)编辑网络连接
在弹出来的窗口中,点击[Add]来添加我们的网络连接,并选择[Wi-Fi]连接类型,最后点击[Create…]来创建,如图14。
(图14)创建网络连接
在网络连接的配置窗口中,首先设置[General]参数,为了让系统开机自启动后能自动连接该网络,勾选前两项,如图15。
(图15)网络连接General参数
然后设置[Wi-Fi]参数,SSID栏填入自己家wifi的名字(我家的wifi名字叫error),Mode栏选择Client,Device栏下拉填入自己的无线网卡号,如图16。
(图16)网络连接Wi-Fi参数
然后设置[Wi-Fi Security]参数,Security栏填入自己家wifi的加密方式(一般的加密方式都是WPA&WPA2 Personal),Password栏填入wifi的连接密码,最后点击[save]保存设置好的参数,如图17。
(图17)网络连接Wi-Fi Security参数
最后找到[Enable Networking]选项,去掉选项前面的勾,然后再勾上,让网络配置生效;稍等片刻,我们配置的wifi连接error将自动连接上,这样就连接网络完成了,如图18。
(图18)重启网络使网路配置生效
为了让机器人启动后,我们能通过网络远程访问,这里建议大家在树莓派上设置成静态IP分配,首先打开命令行终端用ifconfig查看一下当前分配给树莓派的IP地址,将这个IP地址绑定成静态IP,这样可以保证该IP不会与其他设备发生IP冲突,如图19。
(图19)查看IP地址
然后,对上面创建的网络连接的[IPv4 Settings]参数进行设置,Method栏选择Manual,Addresses栏填入静态IP参数(静态IP设为192.168.0.117,子网掩码设为255.255.255.0,网关设为192.168.0.1),DNS servers栏填入192.168.0.1,最后保存就行了,只需要重启网络静态IP就设好了,如图20。
(图20)设置静态IP
2.2.安装ros-kinetic
其实在ubuntu上安装ROS,有很详细的ROS官方教程,感兴趣的朋友可以直接参考官方教程http://wiki.ros.org/kinetic/Installation/Ubuntu。由于官方教程用英文书写,为了方便大家阅读,我将官方教程翻译过来,方便大家学习,下面正式进入安装。温馨提醒,由于不同的编辑器对过长的句子换行的规则不同,下面的命令被自动换行后可能影响正常的阅读,请直接参阅官方教程中的命令http://wiki.ros.org/kinetic/Installation/Ubuntu。
(1)设置ubuntu的sources.list
打开命令行终端,输入如下命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
(2)设置keys
打开命令行终端,输入如下命令:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
(3)安装ros-kinetic-desktop-full完整版
打开命令行终端,分别输入如下两条命令:
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
小技巧,如果安装过程提示“下载错误”,请耐心重试上面的两条命令,这个错误多半是由于网络故障造成的。
(4)初始化rosdep
打开命令行终端,分别输入如下两条命令:
sudo rosdep init
rosdep update
(5)配置环境变量
打开命令行终端,分别输入如下两条命令:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
(6)安装rosinstall
打开命令行终端,输入如下命令:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
(7)测试ros安装成功与否
打开命令行终端,输入如下命令:
roscore
如果此时出现以下内容
setting /run_id to 4cb2a932-06c0-11e9-9ff2-000c2985f3ab
process[rosout-1]: started with pid [38686]
started core service [/rosout]
那么恭喜你,ROS已经成功的安装上了!!!