返回首頁 hi, 歡迎來到機器人在線 請登錄/ 免費注冊 訂閱郵件
有疑問,咨詢在線客服

【技術干貨】機器人課程系列:如何安裝ROS(機器人操作系統)

時間:2019-05-30 來源:機器人在線


由上圖可以看到,在PC端的系統有Windows、Linux與Mac,而在手持系裝置有Android和iOS占大宗,看來ROS的目標就是想做機器人的Android系統。

ROS是什么?


維基上ROS的定義如下,


ROS(機器人操作系統,RobotOperating System),是專為機器人軟件開發所設計出來的一套電腦操作系統架構。它是一個開源的元級操作系統(后操作系統),提供類似于操作系統的服務,包括硬件抽象描述、底層驅動程序管理、共享功能的執行、程序間消息傳遞、程序發行包管理,它也提供一些工具和庫用于獲取、建立、編寫和執行多機融合的程序。


之前的課程里分享了很多機器人的專案,很多伙伴也都有做各種不同的機器人,例如:雙足機器人、教育型機器人或是Arduino的關節型機器人。這些機器人有些沒有操作系統,且硬件設計都不一樣,如果在新的項目只是想用之前設計的一部分的話,代表要重復制作,才有辦法使用到別人早就做過的東西。


由于code無法維護,因此當項目時程不明確,且軟件人員離職后,新來的程序員還要看懂前人所留下的自閉軟件系統,等到三個月試用期一過,又離職到其他公司上班了!如此重復造輪子,PM要先跳腳,專案就要爆炸了!


所以,這時ROS就這么橫空出世了!(當然這不是理由,哈哈)


在機器人智慧化的過程當中,ROS(機器人操作系統)成為最關鍵的一環,當機器人要投入生活甚至是醫療等更多元的場景時,皆需要面對相較普通的生產線以及更復雜的空間環境,而ROS也相較于我們大腦的中樞,不僅能匯集環境變動的數據,亦能分析服務對象的空間位置,進而提供對應的服務操作。


回到設計的需求,用ROS跑項目的確可以加速進行。基本上ROS的核心精神就是在巴別塔里面講著相同的語言。


總而言之,就是不要再重復造部件!而ROS是架構在Linux內的一套軟件,所以只要有Ubuntu就行啦!這次我們用仿真器,可以是VMWARE或是Virtual Box,使用Ubuntu 16.04安裝ROS Kinetic,但在2018五月時,ROS推出了Melodic,也有網友在Ubuntu 18.04安裝,基本上也沒什么問題!


ROS安裝過程


這篇文章在VMWARE使用ubuntu-16.04.5-desktop-amd64.iso。



在安裝過程中,會需要輸入Ubuntu的賬號及密碼。



下圖有一點小小提示,本來作者是用預設的20GB,但在嘗試ROS的仿真器與程序代碼后,東灌西灌的結果就是20GB搞到要爆炸了,所以建議60GB會比較好一點點。



簡單提一下,作者的MAC Air 128G一開始是用雙系統切了一半過去,用了1個月后系統容量爆炸,完完全全不夠用啊!!!之后再來提一下MAC系統如果不是只想模擬該怎么辦。


由于這篇文章目的在模擬,所以在Windows與MAC OS都能用VMWARE或是Virtual Box,但問題來了,如果您是研究所以上的學生,教授要您做出硬件來,VMWARE或是Virtual Box都無法控制到遠程的硬件啊!這也是作者試了好幾次才發現,一定要用原生的Linux系統加上ROS才行啊!!!所以建議在Windows上的解決方式是直接做雙系統,反正硬盤夠大,但UEFI的BIOS也搞了許久。


而在MAC Air就不能切雙系統了,128G切一半就不能拿來工作了,所以在MAC Air是用外接128G USB隨身碟安裝Ubuntu,這也搞了許久,總之Windows與MAC OS安裝ROS都可以寫一篇文章了。好,回到開始用VMWARE安裝Ubuntu的時候,會看到下圖,這時可以去喝杯飲料悠閑的等待~



安裝完畢后,可以去更新一下在Software & Updates,但不更新也可以準備安裝就是了。



然后在Terminal輸入以下指令:


sudo sh -c ‘echo “debhttp://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’


這個時候會請您輸入密碼,之后再貼上KEY的指令(如下方指令):


sudo apt-key adv –keyserverhkp://ha.pool.sks-keyservers.net:80 –recv-key421C365BD9FF1F717815A3895523BAEEB01FA116



然后再sudo apt-get update:



接著sudo apt-get upgrade升所有需要的安裝包:



所以建議前面不要Software & Update也可以,接著就是安裝Desktop-Full版本的ROS系統在Ubuntu內:sudo apt-get install ros-kinetic-desktop-full




安裝完畢,再來呢?接下就就是要初始化!


sudo rosdep init



rosdep update



配置環變量:


echo “source /opt/ros/kinetic/setup.bash”>> ~/.bashrc


source ~/.bashrc



上面2句還挺重要的,不然每次ROSRUN xxx什么安裝包都出現Error,例如:



But!人生就是有這個But!


印象中有一次在Windows的VMWARE中也輸入上面2句然后再ROSRUN還是出現Error,所以就開了MAC Air內的Ubuntu看了一下.bashrc檔照抄:



紅框是有修正過的,如果您下了ROSRUN的指令也出現Error,就照抄Source的那行吧!



許眼尖的讀者會發現上面的.bashrc檔最后一行是TURTLEBOT3!


作者當初就是在Windows的VMWARE安裝UBUNTU及MAC Air安裝Virtual Box,不論是在哪臺機器都控制不了Turtlebot3的硬件啊!至于如何控制硬件!?接下來安裝所有以后可能用的到的套件:


sudo apt-get install python-rosinstallpython-rosinstall-generator python-wstool build-essential



安裝結束啰 ~ 而本篇的最后,就是來個roscore測試一下!



然后看到如下圖的描述沒出現Error就正確啦~



恭喜各位進入ROS的世界!!!

關鍵字: 機器人 技術干貨
閱讀 753 19 收藏
精選內容專享

本文是機器人在線會員獨享內容

立即登錄解鎖全文
今晚生肖会开什么特马