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

相關文章
相關標籤/搜索