前言
簡單來說之前這個系列都在做心酸的QQ,
爬一爬文之後發現原來不只我,
大家照下方連結那個tutorial走,先安裝作業系統,在裝ROS,都要花9hr+,
http://wiki.ros.org/ROSberryPi/Setting%20up%20ROS%20on%20RaspberryPi
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi
還可能會遇到Dependencies一直搞不好,
遲早氣死,至少我到現在已經重灌過三次,還是不行
後來發現有另一種方法是,
在灌作業系統的同時,就「內建」幫你灌好ROS,
就是把ROS直接包在image檔裡面
天啊~這真是太佛心了,幫大家省下了大量的時間,
跪拜貢獻者
作業系統與ROS的相關資源
統整一下至今為止找到的教學與資源
1.ROS Fuerte x Raspbain 的 image
http://www.instructables.com/id/Raspberry-Pi-and-ROS-Robotic-Operating-System/
這篇也是同時把系統跟ROS一次灌好,
但由於這篇的ROS太古老了,很多功能都還沒有(印象中好像沒有catkin_make)
所以不用這篇
2.ROS indigo x ubuntu 的 step-by-step tutorial
http://therobotacademy.com/meetup/installing-ros-indigo-ubuntu-trusty-raspberry-pi-2
要先灌好ubuntu在灌ROS過程有點繁瑣
不推薦,容易debug用很久
3.ROS indigo x raspbian 的 image (簡單版)
http://www.mauriliodicicco.com/raspberry-pi2-ros-images/
這篇也是同時把系統跟ROS一次灌好,
可惜系統是用Raspbian,
而且是基本款,有些套件會沒有灌,
但還是不錯有需要的話可以灌這一版
4.ROS indigo x ubuntu arm 14.04 的 image (完整)
http://www.mauriliodicicco.com/raspberry-pi2-ros-images/
這篇也是同時把系統跟ROS一次灌好,
大推~有成功有推,但網路方面撞牆了有點久才成功
但整體而言是非常棒的,很有效率
14.04配indigo,完美~
4.ROS indigo x raspbian jessie 的 step-by-step tutorial
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi
先灌Raspbian在灌ROS,
這個就是9hr+,會做到死掉還做不出來的那個,
超級花時間,大不推
教學開始
使用上方的4.ROS indigo x ubuntu arm 14.04.02 的 image (完整版)
參考網站:http://www.mauriliodicicco.com/raspberry-pi2-ros-images/
然後務必先看過這篇:「Raspberry Pi 2」查詢IP與連線狀態 透過無線網卡 使用SSH 遠端操作 教學
1.下載image檔
我們這次決定要安裝的是ROS indigo x ubuntu arm 14.04.02 image (完整版),
根據網站裡說的這個image好像有在某個有名的ROS workshop使用,
所以穩定性應該蠻高的,載點如下
https://drive.google.com/file/d/0ByBoXG5G8QBMcWRYMTNnaXRMTnM/view
2.解壓縮兩次
下載下來的檔名應該會長下圖這樣
從.tar.gz開始解->.tar ->.img 就完成了
3.把系統灌到SD卡
先格式化你的SD卡到exFAT格式
然後三步把.img檔安裝到隨身碟(把img檔丟在桌面)
首先找到你的disk編號
$ diskutil list
這邊我是disk2,然後繼續接下來的步驟
$ diskutil unmountDisk disk2
這行會跑很久,然後沒有任何output是正常的,耐心等
$ sudo dd if=~/Desktop/aristoteles.img of=/dev/rdisk2 bs=2m
4.開機登入ubuntu
準備好以下七樣東西:
1. Raspberry Pi (Raspberry Pi 2 Model B V1.1)
2. SD卡 (sandisk 32G) 與 Adapter
3. micro USB-B線 與 電源(變壓器、行充)
4. 筆電 (mac pro)
5. 網路線 與 無線網卡
6. HDMI接頭 的顯示器(電腦螢幕or電視)
7. USB接頭 的鍵盤 與 滑鼠
然後
1.把SD卡插到Pi的SD卡槽
2.把螢幕的HDMI線插到Pi的HDMI孔
3.鍵盤滑鼠的USB插到Pi的USB孔
4.把microUSB的電源插到Pi的microUSB孔
重新插拔電源線就會開機摟~
5.設定無線網路
沒有網路不但不能ssh,
也不能apt-get東西,
可以說是什麼都不能做啊~
參考:「Raspberry Pi 2」查詢IP與連線狀態 透過無線網卡 使用SSH 遠端操作 教學
底下有專門for Ubuntu14.04的解法
我自己最後是靠法二搞定的,讓系統在一開機就去抓手機的熱點
不過這也有缺點,沒抓到就會卡超久才開機,可能要一直按esc跟enter還不一定有救
6.安裝GUI介面
參考:「Raspberry Pi 2」Linux的圖形化介面(UI) 介紹 安裝 筆記
$ sudo apt-get install xubuntu-desktop
完成後如下圖
7.使用Remote Desktop
參考:「Raspberry Pi 2」使用 Microsoft Remote Desktop 遠端桌面 連線到 另一台電腦 有圖形化介面
$ sudo apt-get update
$ sudo apt-get install xrdp
$ sudo service xrdp restart
完成後如下圖
這是後可以再回去看看
這篇:「Raspberry Pi 2」查詢IP與連線狀態 透過無線網卡 使用SSH 遠端操作 教學
在網路設定上有GUI時該怎麼設定
8.基礎環境建設
設定roscd路徑到workplace
先進到.bashrc
$ vim ~/.bashrc
然後把原本的註解掉
#source /opt/ros/indigo/setup.bash
加入新的在下面,就是你的workplace裡的devel裡的bash檔
source /home/user_name/Documents/roscode/ros_indigo/devel/setup.bash
測試ROS node
先來試試用這個方法裝的ROS到底能不能用
簡單跑個烏龜看看
$ sudo apt-get install ros-
$ rosrun turtlesim turtlesim_node
http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes
裝libserial
一步解決
$ sudo apt-get update
$ sudo apt-get install libserial-dev
https://www.howtoinstall.co/en/ubuntu/utopic/libserial-dev
裝ros_control
這個package在以後跑很多東西都會用到
一步解決
$ sudo apt-get install ros-indigo-ros-control ros-indigo-ros-controllers http://wiki.ros.org/ros_control
但有的時候用apt-get裝的系統會找不到,
不知道為什麼,所以我是用git clone的方法,裝在workplace
$ cd CATKIN_WORKSPACE/src
$ wstool init
$ wstool merge https://raw.github.com/ros-controls/ros_control/indigo-devel/ros_control.rosinstall
$ wstool update
$ cd ..
$ rosdep install --from-paths . --ignore-src --rosdistro indigo -y
$ catkin_make
Troubleshooting
當catkin_make處理到某個pkg失敗的時候
可以使用分開來catkin_make的方法
先build好一個pkg再重跑一次catkin_make
$ catkin_make --pkg pkg_name
$ catkin_make
http://forum.erlerobotics.com/t/solved-problem-with-error-invoking-make-j4-l4-failed/803/2
當roslaunch失敗的時候
像是:ERROR: cannot launch node of type [robot_state_publisher/robot_state_publisher]: robot_state_publisher
或是:ERROR: cannot launch node of type [rqt_robot_steering/rqt_robot_steering]: rqt_robot_steering
都可以直接apt-get那個pkg
$ sudo apt-get install ros-indigo-rqt-robot-steering
$ sudo apt-get install ros-indigo-gmapping
$ sudo apt-get install ros-indigo-robot-state-publisher
http://answers.ros.org/question/81716/robot-state-publisher-error/
無法使用hokuyo layzer
因為這種的hokuyo layzer會吃非常多電
會讓raspberry pi關機或讓其他USB設備失能(ex:無線網卡)
要改用這種的hokuyo layzer可以分開供電,只是吃的電壓是12V,可能要另外接個升壓電路
實用推~
回覆刪除rviz的大小寫是不是寫錯了?
回覆刪除您好,我使用桌機介面是W10,進行Win32DiskImager燒錄,但是燒好後,插入pi板中無法工作!
回覆刪除想尋求協助。
您好,請問是否是燒錄aristoteles.img檔?燒錄有成功嗎?然後不能工作是指不能開機嗎?是否能附相關截圖?感謝
刪除您好,我燒錄aristoteles.img是成功的,但是開機只進到工作畫面,就停滯工作不動了(您好我的圖片似乎無法截圖給您),可以給我信箱讓我寄截圖給您嗎?
刪除我使用的是raspberry pi3版,是否會有影響呢?
刪除可以將照片上傳至免費圖床:http://imgur.com/
刪除然後複製連結貼在這邊喔
然後你說的可能沒錯
因為這個image檔下載的是Ubuntu14.04,wiki ubuntu說的
https://wiki.ubuntu.com/ARM/RaspberryPi
他只支援RPi2,ubuntu16.04才有支援RPi3,
另外Ubuntu MATE也有支援RPi3,
或是建議您可以使用「3.ROS indigo x raspbian 的 image (簡單版)」
用raspbian當作業系統
好,謝謝您的協助
刪除你好,「3.ROS indigo x raspbian 的 image (簡單版)」的網址好像失效了??
回覆刪除因為我是RPi3 Model B 所以沒辦法用Ubuntu14.04。