浩然
揮揮手,對你來說是超級簡單的事情,不用多想抬手就做了。人其實(shí)也算是一個(gè)超級復(fù)雜的“機(jī)器”,即使是揮手這樣簡單的動作,也要經(jīng)過“大腦想→下達(dá)指令→手接到指令→肌肉骨骼合作完成揮手”這樣的程序,只是你的“大腦CPU”運(yùn)轉(zhuǎn)得太快,以至于你感覺不到這個(gè)過程所花的時(shí)間。機(jī)器人就不一樣啦,那么我們怎么讓機(jī)器人揮手呢?
入門級四足機(jī)器人
大家有沒有注意到,自然界大部分能夠快跑的動物,都是四條腿。軀干在中間,重心放低,不容易摔倒;四腳著地,快跑也妥妥的。
所以,初次接觸機(jī)器人的同學(xué)們,就從最基礎(chǔ),也是最常見的四足機(jī)器人開始吧。
全身都是腿
仔細(xì)看,四足機(jī)器人的每一條腿上都有三個(gè)可以運(yùn)動的關(guān)節(jié),稱為舵機(jī)。哇,比我們?nèi)祟愡€多一個(gè)關(guān)節(jié)呢!和我們的手指、胳膊和腿一樣,它可以依靠關(guān)節(jié)的轉(zhuǎn)動做出動作。四條腿的三個(gè)關(guān)節(jié)之間互相合作,便可以行走和做各種動作啦!
頭上的芯片就像我們的大腦一樣,里面裝滿了我們要做的事情,它通過那些紅紅的電線(就像我們的神經(jīng)一樣)傳輸?shù)酵鹊年P(guān)節(jié)上,然后關(guān)節(jié)就知道要怎么去運(yùn)動啦!
當(dāng)然,芯片里面的內(nèi)容,都是通過電腦編好執(zhí)行動作的程序之后輸入進(jìn)去的。(沒錯(cuò)啦,程序就是機(jī)器人能懂的指令語言哦。)
第一關(guān)節(jié):它控制機(jī)器人每條腿左右轉(zhuǎn)動的動作。
第二關(guān)節(jié):它連接第一關(guān)節(jié)和第三關(guān)節(jié),執(zhí)行腿部的抬起和放下等動作。
第三關(guān)節(jié):它就像我們的腳一樣,負(fù)責(zé)做出行走等動作。
像小貓一樣走路
你觀察過小貓是怎么走路的嗎?觀察它走每一步時(shí),腿部關(guān)節(jié)改變的角度,然后把小貓想象成四足機(jī)器人,把它的腿部關(guān)節(jié)想象成舵機(jī)。小貓走路的動作被分解成一個(gè)個(gè)慢動作,然后讓四足機(jī)器人模仿小貓走路的動作,一個(gè)一個(gè)地完成,最終完成一整套動作。這就是機(jī)器人的運(yùn)動原理的關(guān)鍵——仿生。
對于機(jī)器人來說,做任何一個(gè)動作,都要分解開來,每一步給出一個(gè)指令,他才能夠完成。比如揮手,我們就需要分解為“抬手—向左搖手—向右搖手—向左搖手—向右搖手—手回到中間位置—放下手”。
開動!組裝機(jī)器人
準(zhǔn)備材料:
組裝出一個(gè)四足機(jī)器人的框架,這對愛動手的同學(xué)們來說并不是難事,這和大家用拼裝積木、樂高、雪花插片這些材料做出模型差不多。
但是要讓機(jī)器人動起來,要求會更高一些。
尤其要注意的是關(guān)節(jié),因?yàn)殛P(guān)節(jié)才是動起來的重點(diǎn)。我們需要經(jīng)過調(diào)試,找到每個(gè)位置最合適的螺釘長度——螺釘太短,會讓機(jī)器人腿部結(jié)構(gòu)不穩(wěn)定,站不穩(wěn);相反,螺釘太長的話,又會阻礙機(jī)器人的運(yùn)動,動不了。
四條腿分別安裝好之后,我們就把它們和軀干(亞克力板)連起來。然后把負(fù)責(zé)運(yùn)動的舵機(jī)上的紅線連接到芯片對應(yīng)的位置,這樣就完成了四足機(jī)器人的組裝啦!
我讓你來揮揮手
用電腦設(shè)計(jì)動作,并沒有大家想象的那么難。因?yàn)槌绦騿T叔叔們早就為我們開發(fā)了這方面的軟件,只要學(xué)會使用軟件(和大家玩游戲的界面沒有本質(zhì)區(qū)別),加上耐心調(diào)試,你也可以成功!
首先我們把機(jī)器人的芯片和電腦連接起來,然后通過一個(gè)軟件進(jìn)行機(jī)器人的動作設(shè)定。軟件的界面是右頁上方圖片這個(gè)樣子的。
我們四足機(jī)器人站立的動作稱為原始動作,即點(diǎn)擊左上角“舵機(jī)回中”時(shí),機(jī)器人會完成的動作。
然后我們來學(xué)習(xí)如何設(shè)定機(jī)器人的每一個(gè)動作吧。首先我們看到中間的白色模塊中有四個(gè)部分,每一個(gè)部分的三個(gè)橙色框,分別對應(yīng)四足機(jī)器人四條腿的三個(gè)舵機(jī)(關(guān)節(jié)),橙色框頂部的數(shù)字與芯片上插口數(shù)字相對應(yīng)。
我們可以看到,每個(gè)橙色框中間有一個(gè)可以拖動的小方塊,將小方塊向左邊拖動,你會發(fā)現(xiàn)對應(yīng)的那個(gè)關(guān)節(jié)就能移動了。對于第一關(guān)節(jié)而言,向左拖動小方塊,它就會向左轉(zhuǎn)動,拖動的幅度越大,轉(zhuǎn)動的角度也就越大。相應(yīng)的,向右拖動小方塊,它就會向右轉(zhuǎn)動。
對于第二關(guān)節(jié)而言,向左拖動小方塊,整條腿就會向上轉(zhuǎn)動。同樣,拖動的幅度越大,轉(zhuǎn)動的角度也就越大。相應(yīng)地,向右拖動小方塊,整條腿就會向下或向里轉(zhuǎn)動。
對于第三關(guān)節(jié),向左拖動小方塊,底部的方塊就會抬起,拖動的幅度越大,抬起的角度也就越大。向右拖動小方塊,底部的方塊就會放下。
通過操作小方塊調(diào)整每個(gè)關(guān)節(jié)的角度,你就設(shè)定好一個(gè)動作了,然后點(diǎn)擊“添加動作”,這個(gè)動作就被暫時(shí)記錄到下方的程序框里。
然后,通過我們的仿生原理,再推斷在下一個(gè)動作中,每條腿每個(gè)關(guān)節(jié)怎么運(yùn)動、需要轉(zhuǎn)動多大的角度。調(diào)整小方塊的位置,得到新的動作,然后“添加動作”。
如果動作過程中需要機(jī)器回到原始動作,便點(diǎn)擊“舵機(jī)回中”,然后點(diǎn)擊“保存動作”,回中的動作便添加進(jìn)了動作排序中。
當(dāng)你添加完成一整套動作后,點(diǎn)擊“保存動作組”,便得到了一個(gè)完整的動作組,并可以將其命名為該動作的名字。
當(dāng)你想讓機(jī)器人做出這一組動作的時(shí)候,點(diǎn)擊“打開動作組”,選擇之前保存好的動作。按照說明書的要求將界面右上角的參數(shù)都調(diào)整好后,點(diǎn)擊“動作組運(yùn)行”,機(jī)器人就能完成剛才那一套動作了!在芯片上連接一個(gè)無線模塊,你就可以脫離電腦,依靠手柄來完成操作,那就更炫酷了。
但是呢,理想是豐滿的,現(xiàn)實(shí)是骨感的。很有可能你興沖沖地設(shè)計(jì)完一套動作,機(jī)器人卻根本無法完成,這是因?yàn)槲覀兒雎粤藙幼鞯倪B貫性。你可以試著分解慢動作,也可以去觀察小貓小狗的動作,總之需要保持足夠的耐心,不斷返回,不斷調(diào)試小方塊的位置,調(diào)整舵機(jī)的角度,就可以實(shí)現(xiàn)行走、旋轉(zhuǎn)、招手、蹲起這些動作啦。