前言
大家好,由於最近專題需求,需要裝設Kinetic版本的ROS,然後Kinetic版本又只有16.04有,又很雖小的官方已經把16.04版本拔除,現在只能載到18.04版本,更氣的是網路上幾乎所有教學文章都會給你官網的連結要你去下載16.04 Orz,阿官方就只有18.04到底要我怎麼下載RRR(╬゚д゚)╭∩╮,於是經歷了重重難關,決定把這篇文章寫下來,若有其他人有這個需求,就可以來這邊看看,照著我的方法做,說不定就成功摟<3。
1 .安裝img檔
當你拿著一個樹莓派跟一張SD卡,你需要做的就是把軟體灌到SD卡上,所以找到img檔就非常的重要啦~,其實官方雖然拿掉了16.04的軟體,但其實你只要找到
神秘網址,還是可以下載,但是先不要急著下載
神秘網址的檔案,因為
神秘網址載下來你會發現3b+的Raspberry pi根本打不開,只會是一個彩色屏幕,根據
影片講解,你需要把sd卡插到3b的raspberry pi裡面,並進行一些更新作業,才能把卡片拿去給3b+使用,那如果沒有3b怎麼辦,影片最後提到他有提供一個已經更新好了img給大家,大家只要下載下來就可以直接餵給你的3b+使用摟,下載連結在影片的說明欄中,大家可以自己點選。
影片說明欄有下載img的連結,如果連結失效...再跟我說吧,我應該自己會留著它
載好之後解壓縮會得到一個7.47GB的img檔,基本上有8G的micro sd卡都足夠安裝
2 .燒錄img檔到SD卡
接下來就是跟很多教學網站的步驟一樣,如果你的sd卡有東西,可以用SD Card Formatter把SD卡格式化,確定空了之後利用Win32 DiskImager把剛剛下載的img燒錄進去,燒錄完畢就可以準備開機啦,個人當時是使用32GB的SD卡,但我認為要準備16GB以上,不然可能裝ROS會記憶體不足......(害我又重裝一次)。
3 .開機設定Wifi
開機之後接上hdmi螢幕,應該就可以看到登入畫面(對,不會讓你重新安裝,因為這個img就是幫你安裝好的版本),帳號pi,密碼raspberry,輸入後進入系統,恭喜你成功灌好16.04了,
但是!!!你會發現這個ros是沒有wifi的,不知道作者當時哪部分沒處理好,我在底下留言找到一篇教學怎麼把網路救回來的,簡單來說就是把brcm這個資料夾下載下來,貼進去pi裡面的/lib/firmware/brcm,這邊我直接提供
brcm,因為那個github下載會載很多多餘的東西,下載好後放到隨身碟,插到樹莓派,並打開brcm的檔案,接著去找到/lib/firmware(找不到的可以按左上角Pi's Home,然後點pi左邊的箭頭,再點很像磁碟機的就可以找到lib了),在fireware資料夾找到brcm,接著對它點右鍵>Open as administrator 輸入密碼raspberry,這樣打開最高權限就可以直接把隨身碟的東西都丟進去,丟進去覆蓋,並重開機,就可以連上wifi,這樣基本的Ubuntu 16.04應該是裝設成功了~(但Firefox打不開不知道為什麼 但我都用chrome沒差,只要有瀏覽器用都好)
4 .升級容量
如果你是使用超過8G的記憶卡,可以開啟時按左上角System>Preferences>Hardware>Disks看一下目前磁碟規劃,會發現SD卡就是規劃8G給Ubuntu,其他2XGB都是垃圾空在那邊,所以需要去擴展升級容量把兩者融合,那升級的步驟其實影片底下說明欄也有寫,但我再帶大家做一次。
桌面按右鍵>Open in Terminal>輸入sudo raspi-config>輸入密碼raspberry>Advanced Options>Expand Filesystem
之後重新開機,再檢查一次Disks,是不是就融合起來了呢?這樣就不怕空間不足了~(不然使用ROS其實蠻需要空間的)
PS:如果要更改密碼,也可以在進入raspi-config裡選擇第一個,然後更換密碼
5 .更改時區
你會發現wifi連上後,明明日期正確,但是時間都是錯誤的,因為目前沒有設定時區,所以我們可以到右上角點時間>Locations>Add>Location Name輸入Taipei就會出現Taipei,Taiwan>按OK>在日曆下面的Taipei右邊按Set>輸入密碼>完成更改時間
6 .裝設ROS
這邊基本上沒什麼問題,就是照著
官網的步驟一步一步去做就OK了,這邊在附贈一次我的步驟。
PS:不知道為什麼火狐瀏覽器會Crush,可以點左上Applications>Internet>Chromium Web Browser
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get upgrade(過一陣子要按y開始安裝 之後會跑一陣子 有耐心的等一下)
如果在upgrade有出現Unable to lock the administration directory(/var/lib/dpkg)...
根據我找到的
資料,跟著指令做完,就可以再重新upgrade了。
第一步驟好像不用做,其他照著做一遍就可以了,記得倒數第二個是兩個槓槓
PS:我做到這邊的時候有稍微備份一下,雖然不知道有沒有用,但或許壞掉就可以還原吧我猜,備份方法是去System>Control centre>Backups>Back up Now
sudo apt-get install ros-kinetic-desktop-full
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
7 .建立工作區
做好ROS最好的驗證就是小烏龜啦,那我就再把工作區建立好,確認你的ROS是否正常。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws && catkin_make (這個動作就是編譯,後續很常會用到)
source devel/setup.bash
echo $ROS_PACKAGE_PATH
nano ~/.bashrc
拉到最下面並輸入
source ~/catkin_ws/devel/setup.bash
export ROS_IP=localhost
export ROS_MASTER_URI=http://$ROS_IP:11311
alias cm='cd ~/catkin_ws && catkin_make' (把cm變成編譯快捷鍵)
然後按Ctrl+X >> Y >> Enrer 儲存
重新開終端機(在桌面按Ctrl+Shift+T)
roscore (開啟ROS)
Ctrl+Shift+T 開啟新分頁
rosrun turtlesim turtlesim_node (會有小烏龜視窗跑出來)
Ctrl+Shift+T 開啟新分頁
rosrun turtlesim turtlesim_teleop_key (可以用上下左右去控制小烏龜)
當你順利可以控制小烏龜的時候,也代表你的ROS裝好啦~(趕快備份XD)
8 .結論
好啦~以上就是目前你拿到Raspberry Pi 3b+ 想要用Ubuntu 16.04建立Kinetic版本的ROS的做法,因為自己摸索真的很累......,我大概重新刷系統刷了10次以上,希望能幫助到一些人。
另外還有一個非常簡單的做法,讓你pi 4也可以裝ubuntu 16.04 跟Kinetic,就是用這個
網站,他們好像是一個做機器人的公司,為了讓大家能快速進入ROS世界,你只要下載他們的img,直接燒錄進去SD卡,放進去Pi3 3b+ 4裡面,就會自己幫你灌好Ubuntu 16.04加上ROS,真的是燒錄打開就可以直接召喚小烏龜超傻眼,但是因為我要裝其他東西時出現了一點錯誤,所以又回頭來研究乾淨的Ubuntu怎麼裝,大家若想快速使用也可以用那個網站下載的img檔,非常的快速,我當時是下載2020-02-10版本,希望有幫助到大家。
若大家有任何問題歡迎在下面提問,若你覺得這個文章有幫助到你,也請不要吝嗇幫我贊助一下,你的贊助是我寫文章的動力!那就是這樣,若之後還有一些相關知識要分享也會PO在這邊,感謝~