通過前面一系列的鋪墊,相信大家對整個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官方教程,感興趣的朋友可以直接參考官方教程wiki.ros.org/kinetic/In。由於官方教程用英文書寫,為了方便大家閱讀,我將官方教程翻譯過來,方便大家學習,下面正式進入安裝。溫馨提醒,由於不同的編輯器對過長的句子換行的規則不同,下面的命令被自動換行後可能影響正常的閱讀,請直接參閱官方教程中的命令wiki.ros.org/kinetic/In

(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已經成功的安裝上了!!!

推薦閱讀:

相關文章