SLAM+語音機器人DIY系列:(五)樹莓派3開發環境搭建——3.裝機后一些實用軟件安裝和系統設置


摘要                                              

通過前面一系列的鋪墊,相信大家對整個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節點



3.裝機后一些實用軟件安裝和系統設置 

雖然我們順利安裝了ubuntu-mate-16.04系統,並且在系統上裝好了ROS-kinetic發行版,為了后面跟高效和便捷的開發,這里將進行一些非常實用軟件的安裝和系統設置。

3.1.開機自動登錄                   

裝完系統后第一次開機,會要求設置用戶名和密碼,這里應該設置用戶開機自動登錄,只有登錄后樹莓派3才能自動連接到無線網絡,從而才能遠程控制。如果裝機時已經設置了,請直接跳過這一部分;如果你搞忘記或遺漏了,沒有設置開機自動登錄,也不要緊,用下面的的方法進行自動登錄設置。

打開文件/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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM