朱 維,崔遠哲,徐鵬杰,張敬濤,湯奇榮
(同濟大學機器人技術(shù)與多體系統(tǒng)實驗室,上海 201804)
群體機器人因具有魯棒性好、靈活、可擴展性強等特點,受到了越來越多的學者關(guān)注。因此,如何設(shè)計大量相對簡單的物理可實現(xiàn)主體成為了近年來的研究熱點[1]。
群體機器人的研究目的之一為用盡可能簡單的機器人實現(xiàn)較為復(fù)雜的任務(wù),如區(qū)域搜索。而在執(zhí)行任務(wù)期間難免需要避免碰撞,因此避碰也是群體機器人的研究方向之一。早期的群體機器人研究中,大量科研人員在理論指導(dǎo)下提出了很好的控制、群智涌現(xiàn)方法,并通過仿真進行了驗證,但是群體機器人本體的缺失使得所提方法的有效性未能得到真正的驗證。因此在群體機器人平臺上對這些方法進行實驗驗證具有現(xiàn)實意義。為此,在后期國內(nèi)外學者開發(fā)設(shè)計了多款群體機器人平臺。
國外對群體機器人實體的研究較早,設(shè)計開發(fā)了多款群體移動機器人平臺。Milybot是一種較早的群體機器人平臺,由8個自主的主體組成,并且通過無線通訊進行數(shù)據(jù)交換。然而,據(jù)Vega 和 Buscaron 的研究, Milybot 不能自我重新配置和自我組織,且缺少執(zhí)行器和與其他模塊相連的連接機構(gòu)[2]。 此外,該平臺也十分昂貴。哈佛大學的Nagpal 和Rubenstein 在2010年11月開發(fā)了一款名為 Kilobot 的群體移動機器人平臺,使用該平臺可以實現(xiàn)上千機器人的群體實驗。Kilobot 和Milybot 通常僅用于協(xié)作運算和算法驗證[3]。
國內(nèi)在群體機器人平臺的研究方面亦有不少成果。文獻[4]開發(fā)了一款四輪全向移動機器人,該機器人功能強大,支持多種模塊擴展,如差分全球衛(wèi)星定位系統(tǒng)(global positioning system,GPS)、紅外感應(yīng)、射頻識別(radio frequency identification, RIFD)和機器視覺(配備攝像頭)等。但是其缺點也很明顯,結(jié)構(gòu)復(fù)雜、接線繁瑣等導(dǎo)致制造和裝配較為困難,從而造成制造成本相對較高。
為了讓群體機器人“看得見”,文獻[5]中使用了Turtlebot3機器人,該款機器人采用多層結(jié)構(gòu)設(shè)計,可以擴展,最大的特點是其頂層裝備了激光雷達用于對周邊環(huán)境進行建圖。但是該款機器人層數(shù)較多,安裝不便,不利于機器人群體系統(tǒng)的構(gòu)建。
國內(nèi)外這些群體機器人平臺存在的共性問題是安裝繁瑣、接線復(fù)雜。如Milybot,有不少的杜邦線連接各個模塊,而Kilobot則因尺寸較小導(dǎo)致安裝和接線不便;文獻[4]和[5]中提及的移動機器人則明顯展現(xiàn)出國內(nèi)移動機器人因杜邦線繁雜從而造成的安裝和調(diào)試困難。為此,開發(fā)一款杜邦線盡可能少,且可以一體化成型的群體機器人平臺具有現(xiàn)實意義,因為這將明顯減少研究人員的安裝調(diào)試時間,減少接線錯誤,從而提高研究效率。
因此,本文進行了如下兩方面的工作:1)設(shè)計了一體化成型的三輪全向移動機器人,極大地降低了群體機器人維護人員的時間成本;2)針對群體機器人的避障問題,賦予了所設(shè)計的群體機器人主動避障功能。
三全向輪移動機器人是一個完整的、可以同時且獨立地移動和轉(zhuǎn)動的機器人。3個全向輪在圓周上均勻布置,相鄰兩個全向輪的軸線之間的夾角為120°。每個全向輪和電機軸直接連接在一起,這可以保證輪子和電機有相同的旋轉(zhuǎn)軸。由于每個全向輪都由獨立的電機驅(qū)動,因此通過控制3個電機,可以實現(xiàn)平面內(nèi)機器人的平移、轉(zhuǎn)動等運動。機器人的整體結(jié)構(gòu)和尺寸如圖1所示。
圖1 機器人結(jié)構(gòu)和尺寸圖(單位:mm)
本文力求設(shè)計結(jié)構(gòu)簡單的群體移動機器人。鑒于在第1節(jié)中所提到的機器人結(jié)構(gòu)復(fù)雜、安裝困難、接線繁瑣容易出錯以及制造成本高等問題,本文將除電機信號線及電源線以外的所有電源線以及信號線集成在印制電路板(printed circuit board, PCB)中,不再需要額外接線;此外,為了使機器人能自動化批量生產(chǎn),提高安裝和維護的效率,所用到的芯片、電阻、電容等元器件全部集成在該PCB中;為使結(jié)構(gòu)更加簡單,該機器人的底盤也由該PCB充當,既減輕機器人的質(zhì)量,又可通過表面組裝技術(shù)(surface mounted technology, SMT)將電阻電容以及芯片等自動焊接在PCB上,實現(xiàn)一體化成型,從而能夠較為方便地構(gòu)建數(shù)量龐大的機器人集群。
根據(jù)圖2可得到幾何關(guān)系:
圖2 速度的幾何關(guān)系
R1=R+L=3L
(1)
(2)
速度關(guān)系:
(3)
(4)
根據(jù)圖3可對機器人進行受力分析,從而得到:
圖3 在局部坐標系和全局坐標系下力的幾何關(guān)系
(5)
則瞬時功率P為
(6)
(7)
可用
(8)
(9)
(10)
對式(10)整理可得:
(11)
式中:v為機器人的速度。
由式(11)可以分析出機器人的3種運動情況:
2)Vw1=Vw2=Vw3,則v=0,機器人轉(zhuǎn)動。
3)如果1)和2)的情況都不滿足,機器人在平動的同時繞著某一點轉(zhuǎn)動。
機器人運動過程中的每一瞬時都是上述3種情況中的一種。因此,在平面內(nèi)運動的三全向輪移動機器人可以通過控制3個電機實現(xiàn)在平面內(nèi)的靈活運動。
本文設(shè)計機器人的核心思想,即設(shè)計一款可自動化批量生產(chǎn)且結(jié)構(gòu)簡潔的機器人。因此,為了避免控制系統(tǒng)過于龐大繁雜,電控系統(tǒng)采用上位機與下位機兩級的控制體系,如圖4所示。
圖4 機器人電控系統(tǒng)結(jié)構(gòu)
圖中上位機由以Raspberry Computer Module 4B(CM4B)為核心的電路以及外圍電路組成。安裝有樹莓派官方操作系統(tǒng)的上位機,作為一個信號接收機和中央處理器,接收廣播傳遞的位置信息和速度信息(通過CM4B的WiFi功能接收信息,采用的通信協(xié)議為lightweight communications and marshalling(LCM)),處理后得到本機所需速度,該速度信息經(jīng)USART傳遞給下位機。由意法半導(dǎo)體公司的STM32F103RCT6及其外圍電路組成的下位機,將上位機傳輸而來的速度信息,解算為每個電機的轉(zhuǎn)速,并通過PWM控制電機轉(zhuǎn)速,結(jié)合電機上的霍爾傳感器反饋的電機轉(zhuǎn)速以及PID控制使得每個電機達到所需要的轉(zhuǎn)速,從而使機器人實現(xiàn)所需運動。本文設(shè)計的機器人電控系統(tǒng)的PCB底盤如圖5所示。
圖5 一體化成型機器人底盤正反面
所涉及的主要元器件信息見表1。
表1 機器人主要元件
最終制造出的實物滿足結(jié)構(gòu)簡潔、無需接線的設(shè)計要求,即除電源信號線外所有信號線以及12 V、5 V電源線均集成于PCB中,如圖5所示。
圖6右上方為與上位機相關(guān)的電路,主要為CM4B核心板及相關(guān)外圍電路,配備了USB、HDMI等接口,通過這些接口可以連接顯示器和鍵盤鼠標,從而賦予該機器人可視化編程的功能,提高調(diào)試的效率。此外,考慮到后續(xù)機器人功能拓展的需求,在PCB上預(yù)留了CSI攝像機模塊接口以及40個通用型的輸入輸出接口(general-purpose input/output, GPIO) ,其中2個GPIO用于上位機與下位機間的通信。預(yù)留的GPIO可擴展諸如GPS、紅外、RFID等模塊,可方便、靈活地增強機器人的功能。
圖6 一體化成型機器人實體
圖6左上方為電源相關(guān)外圍電路,為12 V降壓至5 V的LM2596S-5.0芯片及其外圍電路,包括電阻電容、穩(wěn)壓二極管以及肖特基二極管等,為機器人提供動力。
圖6正下方為下位機,其核心為意法半導(dǎo)體的STM32F103RCT6芯片,該芯片在外圍電路的協(xié)助下,可實現(xiàn)對電機轉(zhuǎn)速的控制。中間尺寸較大的孔附近分布有3個電機驅(qū)動芯片A4950,通過接收從下位機發(fā)送來的PWM并通過光電編碼器反饋電機轉(zhuǎn)速至下位機,從而實現(xiàn)下位機對電機轉(zhuǎn)速的PID調(diào)節(jié)。
群體機器人在執(zhí)行任務(wù)過程中常常遇到的問題是靜態(tài)的或動態(tài)的障礙物在其行進的路徑上,避開這些障礙物對群體機器人而言至關(guān)重要。因此,對于每一個群體機器人平臺,能夠?qū)崿F(xiàn)避障功能是必須的。本文中設(shè)計開發(fā)的群體機器人平臺是否具備避障的能力,必須通過實驗進行驗證。
機器人常見的避障方法有人工勢場法[6](artifical potential field,APF)、速度障礙法[7](velocity obstacle,VO)、最優(yōu)交互避碰法[8](optimal reciprocal obstacle avoidance,ORCA)等,這些方法也被用于各類群體機器人平臺的避障功能驗證。
人工勢場法和速度障礙法以及在此基礎(chǔ)上改進的方法在仿真和實際中均有較多應(yīng)用,如應(yīng)用于船舶、無人機等的避障和路徑規(guī)劃[9-10]。而最優(yōu)交互避碰法雖然仿真效果較為理想,但是少有實際應(yīng)用,鮮有基于該方法的實驗。鑒于最優(yōu)交互避碰法在仿真上的理想結(jié)果,本文采取改進的最優(yōu)交互避碰法,即將最優(yōu)交互避碰法與卡爾曼濾波器相結(jié)合,從而使得該方法更加適用于實際的群體機器人平臺。
最優(yōu)交互避碰的核心是求取速度可行域。
圖7[11](a)描述了機器人A和B的位置和尺寸信息,用公式表達為:
D(p,r)={q|‖q-p‖ (12) 式中:D(p,r)為以p為機器人圓心、r為機器人半徑的圓內(nèi)所有點的集合;q為描述機器人形狀的點。 根據(jù)位置和尺寸信息,可以求得機器人B對機器人A造成的速度障礙區(qū)域,如圖7(b)所示,陰影部分即為速度障礙區(qū)域,可表示為: 圖7 速度障礙的構(gòu)建 (13) 若機器人A相對機器人B的速度落在式(13)描述的速度障礙區(qū)域內(nèi),由于機器人A和B均采取相同的避障策略,因此機器人A和B均需要改變速度,機器人需要改變的速度由式(14)描述,形成的可行域由式(15)描述??尚杏虻膸缀谓忉屓鐖D8[11]所示。 圖8 單個機器人引起的速度可行域構(gòu)建 (14) (15) 顯然對于群體機器人中的個體A而言,還有許多其他個體將會對自身產(chǎn)生速度障礙,因此機器人需對除自身外的所有機器人求取最優(yōu)的速度可行域,并與自身最大速度取交集,從而獲得最終速度可行域,用式(16)描述為: (16) 圖9 取交集得到最終速度可行域 獲取到的機器人位置信息經(jīng)過卡爾曼濾波器,得到較為準確的機器人位置信息后,將其作為最優(yōu)交互避碰的輸入量,可以獲得較為準確的速度可行域。 本次實驗的場地是一邊長為2 m的正方形區(qū)域,機器人所需要的位置信息通過場地上方的機器視覺系統(tǒng)獲得。該系統(tǒng)通過捕捉機器人上方粘貼的標識對機器人進行識別,而后將識別得到的機器人位置信息進行廣播,采用的通訊協(xié)議為LCM,機器人通過上位機的WiFi接收廣播信息,從而獲知其余機器人的位置信息。 1)標準情形實驗。 群體機器人避障方法驗證實驗有多種,其中常用的一種實驗驗證情形為機器人初始時分布于圓周上,實驗開始后機器人向圓心靠攏,然后與圓心之間的距離小于一定值后,開始圍繞圓心旋轉(zhuǎn),經(jīng)過一段時間后,機器人停止圍繞圓心旋轉(zhuǎn),返回初始位置。 基于這一實驗思想,本次實驗設(shè)計了類似的實驗,如圖10所示。機器人較為成功地實現(xiàn)了目標。每個機器人在實驗時由機器視覺系統(tǒng)記錄下的軌跡如圖11(a)所示。 圖10 標準情形實驗 圖11 標準情形與非標準情形下機器人軌跡圖 2)隨機故障實驗。 群體機器人避障方法驗證實驗的另一常用情形為:正常運行過程中,發(fā)生突發(fā)狀況,某一機器人停止運轉(zhuǎn),測試其他機器人能否正常完成指定任務(wù)?;谶@一思想,設(shè)計了隨機故障情形下的實驗。隨機故障情形實驗的內(nèi)容與正常情形實驗類似,即仍然從初始位置向目標點靠攏并旋轉(zhuǎn),最后回到初始位置,其不同點在于,某一機器人停止運轉(zhuǎn),會阻礙其他機器人的運行,從而驗證動態(tài)障礙和靜態(tài)障礙均存在的情形下避障方法的可靠性。本次實驗使機器人B在實驗中途發(fā)生“狀況”停止,其余機器人繼續(xù)完成原定目標,如圖12所示。每個機器人在實驗時由機器視覺系統(tǒng)記錄下的軌跡如圖11(b)所示。機器人在發(fā)生突發(fā)情形后仍然成功完成了目標。 圖12 隨機故障實驗 在實驗之前,本文進行了一次標準情形的仿真。仿真參數(shù)和實驗參數(shù)一致,并且記錄了每個機器人的軌跡信息。通過仿真所得的軌跡信息與實驗記錄的軌跡信息可以計算得出每一采樣次數(shù)下機器人的軌跡誤差。圖13所示的即為機器人的軌跡誤差圖。 圖13 仿真與實驗軌跡誤差圖 記實驗場地的邊長為a,a=200 cm;機器人當前位置與仿真位置的偏差值為e;機器人直徑為d;定義偏離系數(shù)為k,k=e/d;定義rate=a/d,用于表示機器人與實驗場地的相對大小。 由圖13可知,e的取值范圍為0~70 cm,而機器人的直徑d=20 cm,因此k的最大值為3.5。k的值在實驗的初始和末尾階段較小,小于1,這表明在初始階段和末尾階段,機器人當前位置和仿真位置的偏差較小,小于一個機器人的尺寸。此外,根據(jù)rate=a/d=10可知,場地的尺寸并沒有遠遠大于機器人的尺寸,因此在實驗中無法將機器人抽象成質(zhì)點;而在仿真中,rate=a/d=100,將機器人抽象成質(zhì)點較為合理。因此,如果實驗場地足夠大,(k/rate)max=3.5/100=3.5%,這一相對誤差還是可以接受的。受限于實驗場地,無法實現(xiàn)如此大的rate。 仿真和實驗中在造成開始階段和末尾階段機器人軌跡誤差值較小,而在中間階段軌跡誤差值較大的原因在于,采用的避障方法為最優(yōu)交互避碰法,其核心是避免碰撞,即使控制器內(nèi)的卡爾曼濾波可以對傳感器獲取的較為不準確的信息進行較為準確的預(yù)測,但還是難以保證絕對精確,無法復(fù)現(xiàn)仿真中的理想環(huán)境。因此,雖然在仿真和實驗中的參數(shù)一致,但由于實驗中存在的摩擦力、電機轉(zhuǎn)速誤差等并未在方法中涉及,從而導(dǎo)致機器人位置與仿真中同一時刻的位置發(fā)生較大偏差。位置發(fā)生偏差后,相應(yīng)的避障策略也發(fā)生變動,從而使得機器人在速度可行域中選取的速度與仿真中同一時刻選取的速度存在較大差異,進而使得實驗軌跡與仿真軌跡相比偏差較大。由于機器人往初始位置移動時,彼此之間解耦,影響實驗與仿真的因素也因此減少,仿真與實驗也就越接近,從而造成機器人在逐漸回到初始位置的過程中,實驗與仿真的誤差迅速減小,回歸到10 cm左右,直到機器人到達預(yù)定的位置。 本文設(shè)計并制造了一款面向群體的一體化成型移動機器人平臺,該機器人平臺的最大特色在于高度集成化,上位機和下位機均位于同一PCB中,且電阻電容等元器件均可通過SMT完成,顯著提高了制造效率,杜絕了模塊之間接線出錯或繁瑣的問題,提高了后續(xù)維護的效率,有利于構(gòu)建數(shù)量龐大的機器人集群。此外,本文基于仿真效果較為理想的最優(yōu)交互避碰法,結(jié)合卡爾曼濾波器對其進行了小幅度的改進,并將改進后的方法應(yīng)用于本文設(shè)計開發(fā)的機器人進行了避障實驗,暴露出了最優(yōu)交互避碰在實際應(yīng)用中存在的問題,即實驗場地的邊長與機器人直徑的比值越大越好,否則機器人的避障過程中對軌跡跟蹤的相對精度會下降。4 實驗
4.1 實驗設(shè)置
4.2 實驗場景
4.3 實驗結(jié)果分析
5 結(jié)束語