我編程實(shí)現(xiàn)的一個(gè)自主機(jī)器人(自主者,非遙控也),能夠識(shí)別并規(guī)避障礙。她擁有全封閉的底盤(pán)并使用差速轉(zhuǎn)向(原文為“tank steering”,坦克的駕駛方式),這種轉(zhuǎn)向方式使用兩臺(tái)分開(kāi)控制的電動(dòng)機(jī)分別驅(qū)動(dòng)兩個(gè)主動(dòng)輪(一機(jī)一輪)
控制信號(hào)來(lái)自其自身攜帶的Arduino微型控制器(在國(guó)內(nèi)用單片機(jī)如PIC、AVR,或者Arm處理器都可以很好地替代),另外有一個(gè)舵機(jī)用于Makey頭部的轉(zhuǎn)動(dòng)。Makey的頭部裝有一個(gè)超聲波探頭,她會(huì)持續(xù)的左右搖頭,以得到不同方向上的距離信息,并進(jìn)行存儲(chǔ)和處理
1???工具和材料
● (使用的工具與零部件列表這里沒(méi)翻,畢竟相當(dāng)一部分東西買(mǎi)原版都不太現(xiàn)實(shí)也沒(méi)有必要--國(guó)內(nèi)的家伙事兒差不多的也能土法上馬,有興趣的童鞋請(qǐng)參考原文)
2???制作機(jī)身
● 機(jī)身由兩片鋁合金薄板制成,涉及的加工方法有切割、鉆孔和折彎。你可以一次一片的加工,或者兩片一起做以減少占用加工設(shè)備的機(jī)時(shí)。成品見(jiàn)2.5
● 注意:切割金屬時(shí)務(wù)必佩戴防護(hù)眼鏡
2.1???切割
● 用帶鋸機(jī)把鋁合金片切成圖紙的形狀,切割的邊緣一定要在線(xiàn)外
● 提示:切割內(nèi)角時(shí),先切出一個(gè)大概的弧形曲線(xiàn),然后從兩個(gè)方向直線(xiàn)進(jìn)刀以得到直角
2.2???打孔
● 用沖子和小錘子在圖上有十字線(xiàn)的17處沖出定位孔,為下一步的鉆孔做準(zhǔn)備。另外要在圖上長(zhǎng)方形的孔的四個(gè)角上沖透
● 按照?qǐng)D上標(biāo)十字線(xiàn)處的尺寸鉆孔,要首先取下貼上去的圖紙(不過(guò)別扔了),用鉆頭對(duì)準(zhǔn)前面留下的沖痕開(kāi)鉆可以使鉆孔更精確
● 把金屬牢固的夾在廢木頭板上或者隨便什么墊子上,這樣可以得到更平滑的孔而不會(huì)導(dǎo)致薄金屬板在鉆孔處扭曲變形
● 為了掏成方形孔而鉆圓形孔時(shí),你可能需要調(diào)整鉆孔的直徑以使圓孔邊緣與長(zhǎng)方形的邊相切
2.3???挖槽
● 用沖剪完成對(duì)長(zhǎng)方形孔的加工,如果你愿意的話(huà)可以把前面揭下來(lái)的圖再貼回去,以便容易知道長(zhǎng)方形的邊界在哪。最后把邊緣磨平
● 用手工打磨工具去掉金屬邊緣的毛刺。給小孔磨邊的方法為:把大鉆頭的尖端插進(jìn)小孔,然后手工轉(zhuǎn)幾下
沖剪是長(zhǎng)成這樣滴:
2.1-2.3都是跟合金板過(guò)不去的活兒,原作者的辦法基本是土法上馬,與美帝的高科技風(fēng)格嚴(yán)重不符。柚子在大學(xué)折騰機(jī)器人那會(huì)兒去交大觀(guān)摩,他們有加工中心,只要把CAD圖畫(huà)出來(lái)發(fā)過(guò)去,那邊用等離子切割機(jī)就給“打印”出來(lái)了,鉆啊、掏異形啊這種活兒根本不存在。更神奇的是切完的邊不用磨,基本不扎手。另外我們用土法掏方形孔的時(shí)候是先鉆大孔,把帶鋸拆開(kāi)一頭套進(jìn)去然后慢慢鋸,得到的孔要多丑有多丑,然后還得上鐵砧拿小錘砸平
2.4???彎板
● 把底板的折彎圖用雙面膠貼到鋁板的另一面,對(duì)準(zhǔn)圓洞方洞的位置,別貼歪了
● 把鋁片貼折彎圖的一面向上塞進(jìn)彎板機(jī)里,在所有標(biāo)示折彎的部位折90度
● 每個(gè)長(zhǎng)邊上的兩個(gè)突出部要先折,然后再折機(jī)身的邊。(順序反了就塞不進(jìn)去了)
● 折彎后要緩慢釋放,測(cè)量,確認(rèn)每一處折彎都要是直角
2.5???制作頂板
● 重復(fù)2.1-2.4步驟,加工頂板(top),然后你就搞定了每個(gè)機(jī)器人都會(huì)喜歡的底盤(pán)
3???運(yùn)動(dòng)系統(tǒng)
3.1???安裝電機(jī)
● 用4-40 x 1螺絲穿過(guò)小孔,將驅(qū)動(dòng)電機(jī)定位在底板上,電機(jī)的傳動(dòng)軸應(yīng)該穿過(guò)大孔
● 使用螺母和墊片在電機(jī)的一端上緊,因?yàn)榭梢允┱沟目臻g尺寸很小,可能需要尖嘴鉗子(夾住螺母)才能上緊
3.2???制作輪轂
● 用2英寸(外徑,合50.8mm)的空心鉆頭(見(jiàn)過(guò)裝空調(diào)的師傅在墻上鉆大洞用的那種鉆吧,很類(lèi)似)在廢木頭板上鉆出輪子(鉆透木板之后木板上有個(gè)圓洞,鉆頭中間的洞里會(huì)剩下個(gè)圓片,這個(gè)圓片就是輪子),我用了18號(hào)板(貌似是一種規(guī)格),最終得到的輪子有3/4英寸(19.05mm)厚,直徑1.8英寸(45.72mm)。鉆輪子的時(shí)候要牢固的固定木板,并且緩慢進(jìn)刀,防止卡住鉆頭
● 給2個(gè)木頭輪子分別對(duì)心定位一個(gè)輪心(圖中白色塑料的小輪子),并用小螺絲標(biāo)記兩個(gè)孔的位置,在此位置上用1英寸(原文如此,合25.4mm,不過(guò)疑為有誤,從圖上看孔絕對(duì)沒(méi)那么大)的鉆頭鉆透
● 給木頭輪子噴漆,我喜歡紅色光面防銹漆,這種東西非常薄,顏色很亮,覆蓋性好并且容易清潔。注意,不要在安裝孔里噴太多
3.3???制作輪胎
● 用43號(hào)鉆頭在輪心上鉆兩個(gè)相對(duì)的孔,然后用4-40絲錐在每個(gè)孔里攻出螺紋
● 用兩個(gè)4-40 x 1螺絲從木輪外側(cè)把輪子和輪心固定在一起,不要太緊
● 給每個(gè)輪子裝輪胎,輪胎外徑比較大的一面朝外。最后把輪子裝在驅(qū)動(dòng)電機(jī)的傳動(dòng)軸上
3.1-3.3就是折騰那倆輪子,原作者極其不厚道,沒(méi)說(shuō)怎么對(duì)心,這個(gè)很重要,誰(shuí)也不希望做完的機(jī)器人跑起來(lái)一跳一跳的。您還別問(wèn)我咋對(duì)心,我也沒(méi)經(jīng)驗(yàn),新手還是找現(xiàn)成的輪子對(duì)付一套比較安全。另外3.2-3.3中原作者留下一個(gè)邏輯錯(cuò)誤,看出來(lái)的童鞋請(qǐng)舉手
3.4???安裝萬(wàn)向輪
● 使用螺絲、螺母以及墊片將萬(wàn)向滾珠安裝在底板底部
4???電控系統(tǒng)
4.1???安裝電源
● 按照第一步打印出來(lái)的隔板圖樣,從一塊硬塑料上切出隔板(隔板是用來(lái)裝線(xiàn)路板的,用塑料是為了絕緣),按說(shuō)明打孔,嘗試著塞進(jìn)機(jī)器人的外殼并使之架在驅(qū)動(dòng)電機(jī)之上,作必要的修整,令其充分貼合匹配
● 用兩個(gè)4-40 x 2螺絲將Arduino控制線(xiàn)路板與硬塑料隔板固定在一起,螺絲應(yīng)從隔板下方穿入,并在線(xiàn)路板上方擰螺母。線(xiàn)路板上的USB接口需要和機(jī)器人面板上預(yù)先留好的開(kāi)口充分對(duì)齊
● 將電池夾具鉚接在機(jī)器人外殼的左側(cè)面板上,預(yù)制的鉚釘頭朝外,這樣的話(huà)丑的一頭就朝里啦
關(guān)于鉚接,這里指的不是造泰坦尼克的那種把燒紅了的鋼制鉚釘插進(jìn)去擠兌一下的工藝,而是一種將鋁合金預(yù)制鉚釘?shù)拈_(kāi)放端在常溫下擠壓成型從而將兩個(gè)或更多構(gòu)件固定在一起的方法,最常見(jiàn)到的是各地馬路邊的刮大風(fēng)能掉下來(lái)砸死人的鐵皮廣告牌子,它們就是用這種工藝把鍍鋅薄鋼板固定在L字鋼框架支撐結(jié)構(gòu)上滴
4.2???控制板
● 按照制造商的教程,把原型板(ProtoShield)焊好
● 用帶鋸機(jī)把板子上的BlueSMiRF接頭切下來(lái),這個(gè)接頭是用來(lái)連接藍(lán)牙模塊的,我們的機(jī)器人用不到那東西。是不是鋸得很爽?
● 把面包板接在原型板上,原型板插在Arduino上,如果用的是Diecimila(Arduino主板的一個(gè)版本),那么將電源跳線(xiàn)設(shè)置在EXT位上
焊接原型板絕對(duì)不是個(gè)輕松的活兒,沒(méi)基礎(chǔ)的童鞋搞不定也不用糾結(jié)。面包板(breadboard)是這么個(gè)東西,其意義在于省了燒電烙鐵的麻煩,不過(guò)問(wèn)題是有時(shí)候元件捅進(jìn)去會(huì)接觸不良...
5???給WALL·E安上一雙明亮的眼睛
5.1???WALL·E的脖子
● 咱這個(gè)項(xiàng)目用的是HS-55型舵機(jī)及與之配套的較短的一字舵角,用5''鉆頭對(duì)舵角最靠外的兩個(gè)孔進(jìn)行擴(kuò)孔
Du-Bro Mini E/Z 連接頭, #DUB845
微副翼系統(tǒng) Du-Bro Micro Aileron System, #DUB850
● 將兩個(gè)Du-Bro Mini E/Z連接頭從正面穿過(guò)搖臂兩端的孔,并在反面用黑色橡膠的部件固定
● 將控制桿(圖中所示的細(xì)鐵絲樣?xùn)|西)穿過(guò)Du-Bro Mini E/Z連接頭,并用連接頭附帶的螺絲擰緊
5.2???WALL·E之眼
● 有挑戰(zhàn)性的工作來(lái)咯!咱們需要把舵機(jī)和超聲波探頭接在一起。把從舵機(jī)上伸出來(lái)的控制桿分別穿過(guò)位于傳感器電路板對(duì)角的定位孔(這個(gè)定位孔來(lái)自Du-Bro Mini E/Z連接頭,連接頭又插在板子上的螺絲眼里,然后另一端用那個(gè)黑橡膠部件固定)并向外折成90度角
● 控制桿應(yīng)該從舵角開(kāi)始豎直向上,并且給超聲波探頭留下足夠插信號(hào)線(xiàn)的空間,傳感器正面(有收發(fā)端,也就是像倆小眼睛的那一面)朝前,控制桿上還應(yīng)該套上絕緣套(就是那個(gè)塑料管)以防止短路,絕緣套在Du-Bro套件里可以找到。確認(rèn)安裝無(wú)誤后,將控制桿與傳感器上的連接頭擰緊。
Du-Bro是美國(guó)的一家生產(chǎn)模型配件的公司,很遺憾我沒(méi)找到這些產(chǎn)品的國(guó)內(nèi)版本。歡迎在國(guó)內(nèi)見(jiàn)過(guò)這些配件的同學(xué)提供信息
5.3???給WALL·E安上一雙明亮的眼睛
● 將舵機(jī)和超聲波探頭出來(lái)的線(xiàn)穿過(guò)機(jī)器人外殼頂部預(yù)先留下的長(zhǎng)方形開(kāi)孔
● 舵機(jī)也要插進(jìn)那個(gè)頂部開(kāi)孔,調(diào)整好位置后兩邊用螺絲與螺母將舵機(jī)與外殼固定好,剪去多余的控制桿(還是那個(gè)細(xì)鐵絲)
● 把舵機(jī)搖臂與舵機(jī)上到一起,用小螺絲刀調(diào)整一下保證Makey的眼睛(傳感器)朝前
6???連接并測(cè)試驅(qū)動(dòng)電機(jī)
6.1???電機(jī)預(yù)處理
● 咱的地?cái)傌涬姍C(jī)上的連接頭部件是很脆弱滴,所以連接部分一定要用心
● 從外殼里拆出電機(jī)和Arduino線(xiàn)路板
● 切2紅2黑各12英寸(304.8mm,12寸炮是305mm的,比如筑波級(jí)的2*2主炮)電線(xiàn),每條線(xiàn)的兩端1英寸(25.4mm)剝?nèi)ソ^緣皮。先別焊接,用一個(gè)紅黑線(xiàn)對(duì)在電機(jī)的末端(有電源接點(diǎn)的那一端)纏幾圈,以防止拉斷,然后讓線(xiàn)對(duì)從電機(jī)頂端通過(guò),用雙面泡沫膠帶將其固定在電機(jī)上。注意不要覆蓋電機(jī)上的任何孔洞,同時(shí)要為電機(jī)的固定留足空間
● 將電容的兩個(gè)引腳分別穿過(guò)電機(jī)接線(xiàn)頭上的小孔,焊接(這里應(yīng)該是把引腳穿過(guò)去的部分和同一根引腳的根部焊在一起,這樣的話(huà)引腳和電機(jī)接線(xiàn)頭就充分連通了。注意,千萬(wàn)別把倆引腳焊在一起!)這需要使用尖嘴鉗的巧妙掰彎手法。然后把給電機(jī)供電的電線(xiàn)頭與電容引腳,注意,不是電機(jī)接線(xiàn)頭,焊在一起,焊牢穩(wěn)一些。再然后剪掉多余的電容引腳。把電容和纏在電機(jī)末端的電線(xiàn)一起用黑膠布(也就是絕緣膠帶)緊密的纏在電機(jī)上,并且用更多的泡沫膠帶把這個(gè)鼓鼓囊囊的位置包起來(lái)(還是為了固定)
● 把漏在外面的電機(jī)供電線(xiàn)擰成雙絞線(xiàn),這樣可以減低電路中的噪聲(一個(gè)供電的低壓直流線(xiàn)路里有點(diǎn)噪聲怕什么?原作者的想法好奇怪)。給電機(jī)標(biāo)出左和右
在電機(jī)上并聯(lián)了一個(gè)電容,這樣做有兩個(gè)好處。
其一,在穩(wěn)定的直流電路里,電容是開(kāi)路,不會(huì)影響電機(jī)工作,但是給電機(jī)通電的那一瞬間,電容因?yàn)橐潆?,可以分?dān)一部分電流,所以電容作為一個(gè)保護(hù)器件可以保護(hù)電機(jī)。
其二也是更重要的,這種直流電機(jī)的接線(xiàn)頭是一個(gè)銅合金片,從電機(jī)的塑料外殼里伸出來(lái)(通常被和塑料鑄在一起),鬼知道奸商們用了什么材料,反正這個(gè)東西非常脆,尖嘴鉗上去經(jīng)常能掰斷,然后這個(gè)電機(jī)就沒(méi)啥搶救的價(jià)值鳥(niǎo),另外這個(gè)銅片不怎么粘焊錫,焊接不易。但是電容的引腳一般都是類(lèi)似鋁、錫一樣的柔韌金屬,想怎么扳都能成形,焊起來(lái)也容易得多,所以作者把電氣連接的活兒都轉(zhuǎn)到這個(gè)引腳上來(lái)做。
【連電機(jī)的小經(jīng)驗(yàn)】銅接線(xiàn)片作連接之前最好用細(xì)砂紙小心的蹭幾下,去掉氧化物。電容線(xiàn)腳穿過(guò)去之后輕輕拉緊,在穿孔附近用尖嘴鉗用力捏一下,使線(xiàn)腳與銅片充分接觸。另外電線(xiàn)最好挑獨(dú)軸的,也就是絕緣皮里面只有一根金屬的,那種絕緣皮里有一束極細(xì)銅絲的線(xiàn)焊起來(lái)會(huì)有想死的沖動(dòng)
6.2???電機(jī)測(cè)試
● 將短實(shí)心跳線(xiàn)分別焊接到電機(jī)供電線(xiàn)和電池接頭線(xiàn)上,這些跳線(xiàn)可以讓你把它們(電機(jī)和電池)插到面包板上,焊接之后用熱縮膠帶作焊點(diǎn)的絕緣(用絕緣膠布纏是一樣的,除了丑一點(diǎn)和大一點(diǎn))。將電機(jī)供電線(xiàn)穿過(guò)塑料隔板(4.1提到的那個(gè))上的大窟窿(因?yàn)槊姘搴碗姍C(jī)分別在隔板上下兩側(cè))
● 按圖示把電機(jī)驅(qū)動(dòng)器插進(jìn)面包板中間的一行孔里,使之和電機(jī)以及一個(gè)電池連通(注意,在面包板上,每一行的孔之間是連通的)。使用短跳線(xiàn)并保證這些線(xiàn)緊貼面包板,傻大黑粗的大電線(xiàn)是不配塞進(jìn)機(jī)器人里的
● 從?Arduino官網(wǎng)?下載Arduino的軟件并且安裝之,通過(guò)USB接口把你的Arduino和電腦連起來(lái),如果你用的是Diecimila版本的話(huà),把它的電源跳線(xiàn)接換到USB檔上。
● 為了測(cè)試電機(jī),運(yùn)行名為01_Test_Motor_Rotation的程序,此時(shí)左邊的電機(jī)應(yīng)該先往前轉(zhuǎn)再往后轉(zhuǎn),然后是右邊的,先往前再往后。如果不是這樣,檢查一下你的接線(xiàn)。接下來(lái)運(yùn)行02_Test_Motor_Speed,此時(shí)電機(jī)應(yīng)該以低速啟動(dòng),然后加速,最后反方向轉(zhuǎn),如果不是這樣的話(huà)檢查線(xiàn)腳D11和D3
7???連接并測(cè)試舵機(jī)和傳感器
7.1???連接舵機(jī)
● 將電機(jī)和Arduino再裝回機(jī)器人里面,找兩個(gè)3針的單排直角插針(通常是將一個(gè)20針的單排插針折斷得到)插在面包板上,把舵機(jī)線(xiàn)接在上面,具體接線(xiàn)規(guī)則為:黑線(xiàn)-GND(地線(xiàn),電池負(fù)極),紅線(xiàn)-+5V(電池正極),黃線(xiàn)-Arduino跳線(xiàn)D10
● 再來(lái)一個(gè)3針右轉(zhuǎn)接頭,這個(gè)是接超聲波探頭的,接線(xiàn)規(guī)則為黑線(xiàn)-GND(地線(xiàn),電池負(fù)極),紅線(xiàn)-+5V(電池正極),黃線(xiàn)-Arduino跳線(xiàn)D9
7.2???測(cè)試舵機(jī)和超聲波探頭
● 運(yùn)行舵機(jī)對(duì)中程序03_Test_Servo_Center,松開(kāi)舵機(jī)搖臂的螺絲并微調(diào),舵機(jī)臂與超聲傳感器盡量指向正前,因?yàn)槎鏅C(jī)軸齒輪的問(wèn)題,這一步可能無(wú)法完全對(duì)中,沒(méi)關(guān)系,我們稍后再調(diào)整
● 運(yùn)行程序04_Test_Servo_Sweep,這個(gè)程序可以讓超聲波探頭慢慢的搖頭
● 再來(lái)測(cè)試超聲波探頭,運(yùn)行05_Test_Sensor_Distance,點(diǎn)擊Arduino軟件的數(shù)據(jù)流監(jiān)視器圖標(biāo),你應(yīng)該能看到不斷跳出來(lái)的測(cè)距讀數(shù),而且如果你在傳感器之前揮舞你的手,測(cè)距讀數(shù)應(yīng)該有變化。如果你得到的讀數(shù)始終是0或者255厘米或者別的什么錯(cuò)誤的讀數(shù),檢查你的接線(xiàn)是否有誤,并且千萬(wàn)確定你的傳感器沒(méi)接反 :P
7.3???安裝開(kāi)關(guān)
● 終于可以接電源開(kāi)關(guān)鳥(niǎo)!把Arduino最后一次拆出來(lái),為了裝開(kāi)關(guān),需要把還沒(méi)用到的電池引線(xiàn)的紅線(xiàn)焊在開(kāi)關(guān)的一端并且把另一跟紅線(xiàn)焊在開(kāi)關(guān)的另一端。同樣別忘了把電池的黑色引線(xiàn)和另一個(gè)根黑線(xiàn)焊在一起
● 把線(xiàn)從機(jī)器人側(cè)面的方形孔穿好,開(kāi)關(guān)需要打在“1”的檔位上,把開(kāi)關(guān)塞進(jìn)方孔里固定好,這個(gè)調(diào)整可能會(huì)用到鉗子
● 把從開(kāi)關(guān)出來(lái)的紅色線(xiàn)腳接到原型板的RAW線(xiàn)腳上(這個(gè)線(xiàn)腳還連著Arduino的Vin線(xiàn)腳),把從電池出來(lái)的黑色線(xiàn)接到原型板的GND線(xiàn)腳上,如果你用的是Diecimila版本的話(huà),把它的電源跳線(xiàn)調(diào)回到EXT檔上
8???系統(tǒng)測(cè)試
● 現(xiàn)在所有的電子設(shè)備工作都正常鳥(niǎo),小心的把所有東西塞回機(jī)器人里,啥也別落下。裝好電池,把機(jī)器人放好,別摔了。用來(lái)傳程序的USB接口應(yīng)該能從側(cè)面的孔里露出來(lái)
● 重新載入并運(yùn)行01_Test_Motor_Rotation,注意,所謂前是指機(jī)器人的USB接口和傳感器指向的方向,如果你的機(jī)器人反著跑,檢查在線(xiàn)腳AOut1, AOut2, BOut1, BOut2, AIn1, AIn2, BIn1, 和 BIn2處的接線(xiàn),可能也會(huì)需要反轉(zhuǎn)驅(qū)動(dòng)電機(jī)的連接
● 重新運(yùn)行其他的測(cè)試程序,確認(rèn)接線(xiàn)正常,測(cè)試完成后把舵機(jī)和傳感器的線(xiàn)塞進(jìn)外殼里,扣上頂蓋,擰上4個(gè)螺絲固定,收工!
9???給你的WALL·E注入靈魂
● 有時(shí)候你的硬件做好了你就沒(méi)啥事可干了,不過(guò)你的程序是寫(xiě)不完滴。這也是你展示創(chuàng)造力的好時(shí)機(jī)
● 在代碼中你需要使用digitalWrite和analogWrite這倆函數(shù)來(lái)控制驅(qū)動(dòng)電機(jī),通過(guò)傳遞值給電機(jī)驅(qū)動(dòng)器的各3個(gè)線(xiàn)腳。其中一個(gè)可以接收介于0到255之間的值,用于控制傳給電機(jī)的電流大小,這個(gè)是用來(lái)控制速度的。另外2個(gè)線(xiàn)腳則使用布爾型變量,用于決定每個(gè)電機(jī)兩端的電位高低,這個(gè)可以決定電機(jī)的方向(當(dāng)然電機(jī)兩端只能一端是高電位)
● 你可以編寫(xiě)類(lèi)似void Forward()這樣的函數(shù)實(shí)現(xiàn)簡(jiǎn)單的動(dòng)作,比如后退(兩個(gè)電機(jī)同時(shí)反轉(zhuǎn)),Spin_Left(原地左轉(zhuǎn),右輪正轉(zhuǎn)左輪反轉(zhuǎn)),Arc_Left(畫(huà)弧左轉(zhuǎn),右輪正轉(zhuǎn)左輪不動(dòng))之類(lèi)的。Arduino的編程環(huán)境使你的代碼實(shí)驗(yàn)和加載都很方便
● 另外一個(gè)好玩的事情是規(guī)避障礙,只要運(yùn)行這樣一個(gè)循環(huán):往前走,讀取測(cè)距信息,如果障礙物太近則采取躲避動(dòng)作比如后退并轉(zhuǎn)彎,返回循環(huán)體頭部
?
評(píng)論
查看更多