利用ROS進(jìn)行機(jī)器人開發(fā),我想大多數(shù)企業(yè)是想借助ROS實(shí)現(xiàn)機(jī)器人的導(dǎo)航、定位與路徑規(guī)劃,它的出現(xiàn)大大降低了機(jī)器人領(lǐng)域的開發(fā)門檻,開發(fā)者無需向前人一樣走眾多彎路,掌握多種知識(shí)才能開始實(shí)現(xiàn)機(jī)器人設(shè)計(jì)的夢(mèng)想,他們可以利用ROS的基礎(chǔ)框架配合選定的功能包快速實(shí)現(xiàn)系統(tǒng)原型,從而讓開發(fā)人員將重心集中于核心算法研究上,當(dāng)然用戶也可以單獨(dú)選用某些功能包,將其集成在已有的產(chǎn)品中,實(shí)現(xiàn)特定功能。那么機(jī)器人定位導(dǎo)航除了借助ROS實(shí)現(xiàn),還有其他方案嗎?在公布另一種自主定位導(dǎo)航方案前,我們先來了解下ROS機(jī)器人操作系統(tǒng)的優(yōu)缺點(diǎn)!
ROS的優(yōu)缺點(diǎn)剖析
1.優(yōu)點(diǎn)
ROS的設(shè)計(jì)者考慮到各開發(fā)者使用的開發(fā)語言不同,因此ROS的開發(fā)語言獨(dú)立。因此,除了官方提供的功能包之外,ROS還聚合了全世界開發(fā)者實(shí)現(xiàn)的大量開源功能包,如思嵐科技(SLAMTEC)就發(fā)布了針對(duì)其自主研發(fā)的激光雷達(dá)RPLIDAR的ROS功能包RPLIDAR_ROS。這些開源功能包與 ROS一起構(gòu)成了強(qiáng)大的開源生態(tài)環(huán)境。
ROS的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)也頗有特色,ROS運(yùn)行時(shí)是由多個(gè)松耦合的進(jìn)程組成,每個(gè)進(jìn)程ROS稱之為節(jié)點(diǎn)(Node),所有節(jié)點(diǎn)可以運(yùn)行在一個(gè)處理器上,也可以分布式運(yùn)行在多個(gè)處理器上。在實(shí)際使用時(shí),這種松耦合的結(jié)構(gòu)設(shè)計(jì)可以讓開發(fā)者根據(jù)機(jī)器人所需功能靈活添加各個(gè)功能模塊。
2.缺點(diǎn)
ROS作為一個(gè)開源系統(tǒng),除了具有以上優(yōu)點(diǎn)外,也存在一定的不足之處,比如,ROS因?yàn)閷⒐δ芊植荚诟鱾€(gè)節(jié)點(diǎn)之中,節(jié)點(diǎn)間基于消息機(jī)制通信,通訊部分消耗了很多系統(tǒng)資源。尤其是當(dāng)所有節(jié)點(diǎn)位于同一個(gè)處理器時(shí),ROS仍然一直執(zhí)行相應(yīng)的消息分發(fā),節(jié)點(diǎn)間的數(shù)據(jù)傳遞通過內(nèi)存復(fù)制,大量的系統(tǒng)資源都浪費(fèi)在通訊上,使得系統(tǒng)必須選用高性能的處理器和存儲(chǔ)系統(tǒng)以彌補(bǔ)損耗。換句話說,利用ROS來實(shí)現(xiàn)SLAM,需要配備性能優(yōu)越的硬件設(shè)備,這對(duì)于一些小型化嵌入式平臺(tái),尤其是實(shí)際的機(jī)器人產(chǎn)品里,其對(duì)計(jì)算資源、存儲(chǔ)空間的消耗會(huì)使成本大幅上升。
除了ROS本身系統(tǒng)設(shè)計(jì)的局限性外,利用ROS實(shí)現(xiàn)SLAM需要深入的調(diào)整優(yōu)化,耗費(fèi)大量人力與時(shí)間成本。更為重要的是,針對(duì)具體的機(jī)器人產(chǎn)品,如掃地機(jī)器人,還需要獨(dú)特的貼邊清掃、折回清掃、多房間自主導(dǎo)航等功能,目前已有的ROS系統(tǒng),只能實(shí)現(xiàn)簡(jiǎn)單的建圖,無法滿足掃地機(jī)器人的實(shí)際需要。
除了ROS,機(jī)器人定位導(dǎo)航還有什么方案?
在機(jī)器人商用應(yīng)用開發(fā)的道路上,很多技術(shù)團(tuán)隊(duì)和公司針對(duì)機(jī)器人特定功能開發(fā)著相應(yīng)商用產(chǎn)品,特別是在移動(dòng)機(jī)器人領(lǐng)域,思嵐科技的Slamware控制模塊就將SLAM算法,導(dǎo)航,定位等功能集成在一個(gè)體積很小的模塊,并且提供了多平臺(tái)的SDK方便用戶使用。針對(duì)掃地機(jī)器人等具體領(lǐng)域應(yīng)用,思嵐科技也提供完整的解決方案,整合了其特有的貼邊清掃、往復(fù)式打掃、區(qū)域劃分、斷點(diǎn)續(xù)掃、自動(dòng)回充等功能,方便掃地機(jī)器人廠家進(jìn)行整合,不需要進(jìn)行二次開發(fā)。
ROS的出現(xiàn),為機(jī)器人研發(fā)提供了標(biāo)準(zhǔn)化的框架,其方便的代碼重用,可以加快機(jī)器人產(chǎn)品原型設(shè)計(jì)和算法驗(yàn)證,但要真正做到穩(wěn)定可靠,選擇已有的成熟解決方案能大幅度降低研發(fā)成本,快速獲得產(chǎn)品原型,投入市場(chǎng)。
關(guān)鍵字:ROS,激光雷达