看了各種關于機器人的科幻片,你就沒有想過自己做一個片中的機器人出來么? 實干派的DIYer可不是只會幻想的喲。PVC_Robot同學就用了廉價又好加工的PVC材料來制作了他的第一個六足機器昆蟲,同時給出了非常詳細的工具和材料獲得方式。DIY黨人要速度圍觀。
機器昆蟲
?
偶然的機會,在網上看到這張圖片,于是自己也有沖動作一只出來。
為了做出這個東西,自學了單片機,加上自己軟件開發的基礎,以及過去做模型積累的一些動手經驗,有了后來的這個機器昆蟲。
當然最后實際出來的東西,樣子上和現在這個圖片相去甚遠,性能上也一般般,沒辦法,業余的,水平有限嘛。
1 工具和材料
○ 關節和基礎結構的制作材料——PVC線槽。
采用PVC線槽的原因是取材容易、價格便宜,一般的五金店都有賣,而且便于加工、強度和重量都合適。
○ 其他材料,詳見作者?個人博客?。
● 在作者的?另一篇博文?里,有關于工具的詳細介紹。
2 基本機械結構
2.1 原始加工件
● 把PVC線槽切成關節的形狀。
2.2 大腿橫向關節
● 這是6只大腿的橫向關節,弄好后才發現,全部都是一樣。其中3只要重做,應該是兩兩對稱的。
● 重做之后的6只關節。
2.3 關節控制的舵機
● 考慮盡可能的縮小體積,所以采用的是2.5g微型舵機,6只腳每只3個關節,總共18個關節,也就是18個舵機。(因為數量比較大,這個花費還是比較多的,有點心疼)。
關于 2.5g微型舵機
● 把舵機嘗試安裝到關節件上。
2.4 完善關節件
● 進一步打磨修飾關節件。
● 還可以看到PVC線槽上的標號(這個最后換掉了)。
● 完成后的6只大腿的橫向關節件。
?
2.5 安裝關節舵機
● 大腿橫向關節上的舵機已經裝好。其中一個舵機連接主軀干,另一個連接大腿的縱向關節。
2.6 安裝主軀干
● 主軀干也是用PVC線槽做的,連接上6只大腿橫向關節。
● 關節舵機與軀干是靠舵盤連接的,舵盤是用自攻螺絲固定在軀干上。中間有一個洞是用來給自攻螺絲最后總裝時固定嵌入的舵機主軸的。
● 來一個遠景,看到一點加工的現場。
● 為了更牢固,并減輕重量,每個舵盤的固定螺絲由2顆大號的自攻螺絲改為4顆1.2mm的帶螺母的小機牙螺絲。
● 另外,關于大腿縱向關節和小腿關節的圖片,其實都差不多,只是形狀有不同,但是由于中間忘了拍照了,所以這里就省略掉了。
2.7 完整的機械結構
● 完整組裝好的機械結構,有點樣子了。
● 主軀干、大腿橫向關節、大腿縱向關節、小腿關節,都是PVC線槽做的。18個關節的舵機也全部裝好。(換了一個LED背景燈光,照片有點重影)
● 本來軀干上固定舵機舵盤的螺絲都是螺母在下面的,但是因為選擇的螺絲長了一點,往下裝會影響底部舵機的旋轉,所以改為螺母向上裝,雖然是看起來是難看一點。不過后面會在軀干上再裝上電路板擋住一點,相對就好一些。
3 基本電路系統
3.1 控制電路
● 控制電路的核心采用AVR單片機的MEGA16芯片,考慮到體積,同時也想有點挑戰性,沒有直接用現成舵機控制板,而是用核心板準備自己寫舵機控制程序。
關于 M16核心小板
3.2 電路調試
● 初步完成基本電路的安裝,連接電腦燒錄程序,進行簡單的舵機控制的調試。
● 確定舵機動作幅度所需要的PWM頻率時,用到了 舵機測試器
● 除了通過USBASP連接電腦之外,電源也暫時是外接的電池組。
3.3 張牙舞爪
● 編好固定動作的程序,燒錄到電路上,進行簡單的動作調試。
● 來一個“張牙舞爪”的動作。
● 很酷吧,不過肚子還是趴在桌面上的(肚子下面是電池盒以及6只大腿橫向關節)。
3.4 縮成一團
● 再來一個動作“縮成一團”。
● 這個動作的名字起得不怎么樣,還是靠肚子頂住桌面的。
● 這是俯視圖。
3.5 站起來了
● 各位觀眾,接下來是關鍵的一個動作——從趴著的狀態下自行站起來。
● 它站起來了!沒錯,它完全靠自己的力量站起來了!
● 雖然有點艱難,站起來后還是有點歪歪扭扭的,但終究是站起來了。(開始一直擔心舵機的力量不足,不能自己站起來……)
● 站起來后的俯視圖。
● 舵機的力量確實不足,小腿必須是直的(斜的話撐不起來)。而且雖然站起來了,但是舵機由于力矩偏小,還是有點吱吱的抖動。
● 這還沒有裝上電池,希望加上電池的重量后舵機還能頂住。
3.6 完善供電
● 本來希望把舵機和單片機的電源完全獨立分開,以避免干擾,最后是只用了一個組電池:舵機直接接電池,單片機通過穩壓電路連接同一組電池,實踐證明中間的穩壓電路還是能夠很好的實現抗干擾的隔離功能。
● 舵機供電,開始曾經考慮過用2節5號鎳氫電池通過一個DC-DC大電流升壓板的升壓到5V給所有舵機供電,經實驗后發現完全行不通——18個舵機需要的電流太大了,最后只能考慮直接用2節3.7V的7號鋰電串聯起來供電。
● 翻過來,可以看到底部的電池。
● 單片機供電,本來考慮采用一節7號鎳氫電池通過一個塊微型DC-DC升壓板升壓到5V,為縮小體積后來也考慮過用3V的CR2032紐扣鋰電升壓,但實際調試后發現電流也較大一下子就耗光電池了。最后是用一塊7805穩壓小板直接接到2節鋰電上獲得5V電壓。 關于微型升壓板:http://item.taobao.com/item.htm?id=4039234002
3.7 完善電路
● 給電路上加上了幾個控制開關(總電源、舵機電源、單片機電源、單片機復位)。
● 接USBASP的10Pin插座也固定在了頂部的線路板上。
● 另外頂部的電路板留了一些位置,準備以后接傳感器用的。
● 側視圖,可以看得到屁股后面的帶散熱片的7805穩壓芯片。
3.8 全負荷狀態
● 把2節7號的鋰電池都裝上,在全重狀態下,也能簡單的站起來。
● 終于松了一口氣,雖然還有一點抖動,但終究是能夠獨立站起來的。
● 照片有點模糊,可能是自己有點激動,拍照的時候手抖了。
?
3.9 繼續完善
● 18只舵機,耗電還是比較大的,所以再加裝了一塊電池的電壓監控板,可以實時看到鋰電的電壓變化情況。
● 與一個香煙盒對比大小。
● 接下來的工作還是在繼續調試程序控制動作,最終考慮加上一些傳感器并支持用紅外或者藍牙進行遙控!
4 完善機械結構
4.1 增強腿結構
● 原來的腿結構是直接對照原型CG圖的,可能是為了美觀忽略了實際的機械性能。
● 但是現在,為了動力更足,為了舵機的壽命,也顧不得保持原來的芊芊細腿了,于是決定對腿的機械機構進行加固——該肥還是讓它肥一點吧,健康最重要,嘿嘿!
● 這是加固之前,腿各關節都是直接單邊固定舵機的舵盤,有點單薄,力量分布不均衡支撐起來不是很穩,對舵機的壓力有點大,長時間開機容易損壞舵機。
● 加固之后:按照傳統的機械結構進行加強,即舵機的另一邊也增加固定的支撐軸,以確保受力平衡。
● 所有關節的舵機都加上外套,并在另外方向延長出一根螺絲作為固定軸。
4.2 安裝加固底盤
● 在底部的大腿縱向關節,加上一塊底盤。
4.3 完整的新結構
● 正視圖,所有關節結構都有所增強。
● 后視圖
● 俯視圖
● 側視圖
● 底部特寫。加固了所有關節,并加大了鋰電容量。
?
4.4 新結構的啟動
● 啟動,自行站起來。
4.5 完善電源系統
● 鋰電池的電壓是7.4V,而舵機通常的最高電壓是6V。為了保護舵機延長其壽命,可以串聯兩個硅整流二極管用來降壓。每個二極管可以降壓0.7,兩個降1.4V,剛好可以把7.4V降到6V。
● 由于18個舵機一起電流非常大,一般的硅二極管功率不夠,干脆用了一個整流堆D25XB的其中兩個二極管。
● 增加了兩個LED發光二極管。紅的指示總電源打開,綠的指示舵機電源打開。
● 后視圖,藍燈是單片機供電指示。
● 正視圖,藍燈為單片機核心板上的指示燈,紅燈為總電源指示燈。
5 實現初步行走
5.1 機械定型
● 在設計行走步態的時候,發現了一個嚴重的問題,就是支撐腿的力量還是不足——主要是由于追求小型化而采用最小型的2.5g舵機,由于舵機力矩不足,導致支撐腿力量不夠,靜止站立的時候還勉強,但在行走時就經常發生“腿軟”現象。
● 為解決這個問題,曾經一度想要換成大一點的9g舵機,但是一旦那樣的話由于尺寸會大很多導致機械部件基本都需要重新制作,那樣不異于重新做一個新的了。再三思考,想到了把所有的機械腿都縮短,也就是減小力臂的長度,從而降低對舵機的壓力。
● 經過重新設計試驗,把所有的腿都縮短了,雖然難看了不少——“短腿了、不再高挑”,但是確實解決了“腿軟”的問題,也基本確定機械部分的定型。
● 俯視圖
● 側視圖
?
● 側視圖
● 后視圖
5.2 初步行走
● 模仿昆蟲來設計步態,初步實現了行走。動作還是有點生硬,而且步子太小,移動速度還是有點慢,走直線還不夠直,仍需繼續完善。
● 背景聲音中有節奏的“咄——咄”聲,其實是因為步態還有點生硬,腳觸地瞬間敲打桌面的聲音,如果是地板就不會有這樣的聲音。
● 這段里面有我們家旺財,它瞄了一陣這只奇特的怪物,有點害怕的走開了,呵呵~
觀看各角度的?行走視頻
6 動作調試完善
6.1 踢踏舞步
● 最初的這個行走不夠自然順暢,但是看起來還蠻有節奏的,而且還有“跺腳”的“咄咄聲”,就像跳踢踏舞一樣,姑且定名為“踢踏舞步”吧,呵呵。
6.2 直線行走
● 對踢踏舞步進一步調整,發現要實現很自然的行走還是有難度的,暫時也只能做到稍微再把速度加快一點。
● 把左右兩邊的6只腳分別編號,一邊是單號,即1、3、5,另一邊是雙號,即2、4、6.。模仿六足動物行走,兩組腳,每組3只(一邊的2只加另一邊的1 只,即1/4/5和2/3/6),兩組腳交替抬起向前擺動,根據三角形的穩定性,同一時間都確保有一組腳(3只)是著地的。
● 原來是只有在腿放下往后擺動的瞬間,整體是往前進行一次移動,為加快速度,現在在腳前擺的瞬間,后腳同時增加了一個向后蹬的動作,即多了一個時間點向前移動。因此整體行進速度快了一點。
● 不過,即便如此,整體動作的協調性還是和真實動物的動作差遠了,主要原因還是在于調試比較復雜,而且舵機動作的精度還是不夠。暫時也只能先這樣,先調試好動作就增加動作的自動控制之類的,至于動作協調性完善等以后有精力和條件再慢慢弄吧。
評論
查看更多