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