如何選擇ROS機器人平台進行SLAM導航入門:(4)科研學習ROS機器人

4.科研學習ROS機器人

4.1.科研學習ROS機器人與商業應用ROS機器人的區別

商業ROS機器人都是面向具體的產品落地,或者直接面向直接的客戶開發設計的。比如說外觀,商用機器人會考慮美觀實用性,感測器的擺放也會根據具體應用場景有針對性的設計。機器人上還會考慮自動充電、緊急情況下應急開關、碰撞保護等實際問題。並且考慮到產品的穩定性和成本,往往硬體介面設計的會更加緊湊和耦合,目的就是節省成本和體積。軟體設計方面,也會考慮跟多運行效率的東西,往往會對ROS系統進行必要的裁剪,並且設計一些自己專用的通信協議。商業ROS機器人的這些優點,對於學習和科研用途的朋友來說剛好是缺點。因為外觀設計使得機器人外形結構相對固定了,不利於ROS學習開發者安裝自己的感測器進行調試和實驗;緊湊和耦合的硬體介面設計,不利於ROS機器人學習者對機器人整體工作原理進行理解和後續二次開發;軟體設計上的裁剪和特殊協議設計,也不利於代碼標準化和ROS官方DEMO的測試。

科研學習ROS機器人正是為了學習開發者而設計的,所以機器人外觀相對簡單並且具有極強的可拼接性,開發者可以根據自己的需要通過簡單的改造就能搭建自己需要的外觀的機器人。機器人上的硬體設計也更加的模塊化,電機控制、IMU、激光雷達、攝像頭、麥克風基本都是獨立標準的外設,並且大多數都提供配套的ROS驅動程序,讓學習者只有刪減感測器和修改參數也耿便利。軟體設計也大多使用各種流行的開源代碼,資料相對豐富,基本上介面也都是開放的。

所以做機器人SLAM導航和各種相關應用開發的朋友來說,選購一款適合自己的ROS機器人學習平台就非常重要了。當然如果自己動手能力強,時間又比較充足,又具備硬體電路設計、結構設計、單片機開發、電機控制調試、還懂上位機ROS驅動程序開發,可以自己設計一套機器人底盤出來。但是畢竟這個級別的大神數量是很有限的,所以選擇一個ROS機器人學習平台就很必要了。

4.2.淘寶上科研學習ROS機器人相關產品

(1)Pioneer先鋒機器人

大名鼎鼎的Pioneer先鋒機器人做ROS機器人的都應該知道,這款機器人在市場上賣了都快20年了,Pioneer3-DX這個型號在全世界各大科研機構很受歡迎。Pioneer 3-DX是一款耐用的、差分驅動的機器人,它主要應用在教學研究上。Pioneer 3-DX在使用上具有較高可靠性和耐用性,在開發應用上具有多功能性,這使它在教學研究領域成為最受歡迎的差分驅動移動機器人。MobileRobots 公司專業的設計和加工能力,使Pioneer 3-DX能夠在教室或實驗室環境中正常使用幾年的時間。Pioneer 3-DX裝配有500線編碼器的電機、19cm的輪胎、鋁製外殼、8個前置防碰撞聲納,根據需要還可為用戶安裝8個後置防碰撞聲納。Pioneer 3-DX可以安裝3塊熱拔插電池,除了以上硬體我們還為用戶提供整套的開發軟體。現在,只需再為機器人安裝上車載工控機或筆記本電腦就可以讓它走起來。

圖4.2.1 Pioneer 3-DX

先鋒機器人是很好,缺點就是太貴了,而且核心的模塊和感測器都沒有太多的資料公開。還有就是外國人用的多,在國內還需要專門引進。不過優點就是很耐用,勇哥三到五年沒什麼問題。

(2)Turtlebot海龜機器人

另一款機器人Turtlebot大家應該就更加熟悉了,俗稱小海龜機器人,是ROS官方推出的一款移動機器人,ROS系統中很多默認的程序例子都是以小海龜機器人為原型的,所以說小海龜在ROS機器人中的重要地位了。

圖4.2.2 Turtlebot3

小海龜機器人外觀合計還是很精緻的,畢竟是ROS官方強烈推薦的。小海龜機器人在wiki和github的軟體資料和教程也是相當豐富的。但是5000RMB的價格對於國內的眾多ROS機器人愛好者來說還是很難接受,雖然相比Pioneer 機器人已經便宜很多了。另一個就是,教程都是英文的,中國讀者還是有一定的不方便的。

(3)EAI移動底盤

這是中國深圳的一家專業做ROS移動底盤的公司,底盤還是相對性能穩定的,尤其是50kg大載重的性能很有亮點。EAI的底盤大部分是賣給做二次開發的用戶的吧,學習ROS機器人的開發者比較少。是由於EAI的底盤基本上就是一個移動底盤,不帶上層的SLAM建圖導航和配套的學習資料。將近1萬塊錢的售價,如果作為ROS機器人初學者買回去也是不划算的。但是需要大載重的底盤,這個價格還是可以接受的。這裡一直在提各個ROS機器人價格貴,不是說價格便宜的機器人就一定好。如果項目資金充足,性能上確實有剛需,肯定是推薦買貴的能滿足需求的ROS機器人。

(4)miiboo語音交互移動機器人

這也是深圳的一家專業做ROS機器人的公司,跟EAI的底盤恰恰不同,miiboo機器人主打的是ROS教育入門。miiboo機器人的硬體設計的模塊化做的很好,電機控制、IMU、激光雷達、攝像頭、麥克風、音響都是獨立設計,並配有很詳細的硬體感測器文檔及ROS驅動程序。

圖4.2.3 miiboo機器人

miiboo機器人的亮點主要由兩個,一個亮點是SLAM導航演算法做的效果非常好,用的是google最新版本的cartographer建圖演算法,配合輪式里程計、IMU、激光雷達三者融合建圖,並且SLAM導航功能基礎上還支持語音識別、語音合成、語音交互功能,SLAM導航+語音交互的結合已經很接近一個實際的機器人了;另外一個亮點就是miiboo機器人的ROS開發文檔做的相當棒。算是良心做ROS機器人教育的一家了吧。開發資料做的很系統,既有最基礎的Linux、ROS方便的編程入門,也有底盤電機控制、單片機硬體軟體、PID控制、里程計標定方面的核心技術細節講解,還有高級的cartographer演算法核心分析和參數調參指導,還有語音交互和機器人手機APP開發方面的教程。這麼系統的教程,真的比有些宣傳自己的ROS機器人提供大量開發資料的要強很多。而且真的是良心團隊,這些系統的開發資料都全部公開在了博客上(cnblogs.com/hiram-zhang),就算不買他家的miiboo機器人,也能夠免費學習全套的資料,足以見得miiboo機器人團隊的自信。並且博客中網友的提問,他們也是很認真的傾聽和解答,並很快在miiboo機器人做出改進,這個必須給贊。

圖4.2.4 miiboo機器人配套的教程

這個機器人是主打ROS開發入門和ROS教育的,所以如果是大載中需求的應用車體估計就夠嗆了。

(5)淘寶上眼花繚亂的ROS機器人

然後,就是淘寶上眼花繚亂的ROS機器人了,形態各異。比如說有履帶底盤的,看起來還是很酷的,不過要是真的做起SLAM導航和建圖演算法來,估計精度應該還是會有比較大的出入的,站在專業的角度講,其實履帶底盤的里程計模型並不好,也不被主流機器人所接受,如果真的要在SLAM演算法上有所突破和成果,還是推薦選擇主流的兩輪差分驅動的底盤機器人,里程計精度應該是最高的。還有一些做的也很精美的機器人,還配備有深度相機和高端的主機,這個因人而異,但是作為推薦還是不推薦買這種少見的不流行的機器人。

圖4.2.5 miiboo機器人

4.3.選購ROS機器人入門指南

(1)提供系統的開發和使用教程的重要性

相信大部分購買ROS機器人學習的朋友,都是想通過機器人學習整個ROS的軟硬體構造和工作流程,然後有能力設計自己的機器人,或者按照自己的演算法對機器人做出必要的改造與二次開發。所以一款ROS機器人是否公開硬體設計及原理、軟硬體的工作流程、已經ROS軟體驅動程序的代碼及參數作用,這些關鍵的資料就至關重要了。學習ROS機器人開發的朋友們基礎水平肯可能各不相同,有些愛好者可能是從Android或者java轉行過來搞ROS機器人的,所以對ROS系統基礎並不多;有些愛好者可能最開始是搞硬體單片機開發的,對Linux這些系統級的上層開發基礎比較差;還有些愛好者是計算機專業出身,以前只搞過演算法和框架開發,底層的東西不熟。這裡不是說要求所有的ROS機器人開發者都對機器人上的所有部分在行,但是要在機器人上做出好東西,就要有系統全盤的了解。所以一款ROS機器人能否提供從底層到上層的系統學習教程非常關鍵。其實,Turtlebot小海龜機器人和miiboo機器人在這方面做得都算不錯,如果資金充足可以買Turtlebot小海龜機器人,如果資金有限制可以買相對便宜一些的miiboo機器人。

(2)外形結構可擴展的重要性

其實這個大部分的機器人做的都是可以的,基本上是三層板壘起來的結構都是符合擴展要求的。

(3)硬體模塊化的重要性

這個必須提一下,之前用過一款叫irobot的底盤,就是掃地機器人那種。硬體介面全部集成隱藏在塑料殼子裡面,也不知道里程計、IMU是怎麼安裝和工作的,只有一個簡單的文檔告訴你怎麼驅動它。每次沒電了,這個底盤就在那叫,還亂撞,感覺用戶體驗很不好,而且模塊都封裝在塑料殼子裡面,對開發者很不友好。

(4)別太迷信軟體開源

見過很多ROS機器人上宣傳說提供各種高級的圖像識別演算法、自動跟蹤演算法、有些還開源底層的單片機程序、開源導航演算法等等。聽上去有很多功能開源,但是大部分是本來就開源的。有一些像電機控制的單片機程序或IMU模塊單片機程序開源,但是本身底層的這些固件程序要做到效果好的很難,開源往往意味著效果並不怎麼好,甚至代碼格式寫的是很糟糕的。所以其實不要太迷信軟體開源這個噱頭,能提供軟體源碼及在機器人上的詳細教程的才是靠譜的,所以一定要看這些宣稱提供軟體開源的ROS機器人是否提供了足夠有含金量的免費教程供大家檢驗。

(5)技術支持的重要性

作為開發學慣用途的ROS機器人,出現各種技術問題和bug是再正常不過的事情了。一般技術開發,都有很多論壇和社區來提供問題的交流和解答。但是ROS機器人本來就是最近才興起的,而且國內的ROS機器人還沒有發展出規模,所以其實還不存在特別專業靠譜的技術論壇。所以,購買了ROS機器人,會否能得到專業的技術支持至關重要。由於提供專業的技術支持人力成本非常高,所以一般的公司根本負擔不起免費的技術支持服務。所以,一家ROS機器人是否提供免費專業的技術支持也會相當的重要。


推薦閱讀:

[論文]VSO:Visual Semantic Odometry
三維重建入門資料
論SLAM技術發展趨勢
萌新談相機與IMU的標定
SFM:BA Jacobian矩陣推導

TAG:同時定位和地圖構建(SLAM) | 機器人操作平台(ROS) | 機器人 |