串聯(lián)仿生毛毛蟲的制作【內(nèi)附例程源代碼&樣機(jī)3D文件】
1. 運(yùn)動功能說明
? ? ? ?串聯(lián)仿生毛毛蟲樣機(jī)是一款純關(guān)節(jié)串聯(lián)的蠕蟲形機(jī)器人,可以像蟲子一樣的上下蠕動前進(jìn),樣子呈波浪狀。

2. 結(jié)構(gòu)說明
? ? ? ?該樣機(jī)由5個關(guān)節(jié)模組串聯(lián)構(gòu)成,結(jié)構(gòu)比較單純。

3. 運(yùn)動功能實現(xiàn)
? ? ? ?本樣機(jī)只需要讓5個舵機(jī)按照一定的時序,做出波浪形擺動的動作,即可實現(xiàn)蠕動爬行。
? ? ? ?舵機(jī)和關(guān)節(jié)模組的控制方法請參考如何驅(qū)動模擬舵機(jī)【https://www.robotway.com/h-col-129.html】,以及舵機(jī)關(guān)節(jié)模組【https://www.robotway.com/h-col-121.html】。
3.1 電子硬件
在這個示例中,采用了以下硬件,請大家參考:
Basra主控板(兼容Arduino Uno)、Bigfish2.1擴(kuò)展板、7.4V鋰電池
3.2 編寫程序
編程環(huán)境:Arduino 1.8.19
(1)實現(xiàn)尾部關(guān)節(jié)運(yùn)動(Tail_Swing.ino),代碼如下:

? ? ? ?此段程序之所以看起來那么復(fù)雜,是因為它搭建了一個程序框架,在這個框架中,大家可以通過改變參數(shù),來決定哪個舵機(jī)運(yùn)動,以及怎么運(yùn)動,不需要重寫整個程序。
? ? ? ?(2)編寫并燒錄以下程序,它可以讓毛毛蟲全身的關(guān)節(jié)一起運(yùn)動(Body_Swing.ino),代碼如下:

? ? ? ?燒錄后,打開Serial Monitor,輸入up,down,turnTime的值,可直接改變?nèi)筷P(guān)節(jié)的運(yùn)動參數(shù),例如,輸入50,100,2000。

? ? ? ?關(guān)節(jié)的運(yùn)動狀態(tài)會實時發(fā)生變化。其中50代表擺動的起始角度50°,100代表擺動的終止角度100°,2000代表運(yùn)動持續(xù)時間是2000毫秒。
? ? ? ?(2) 上一例程中,機(jī)器毛毛蟲相鄰關(guān)節(jié)的運(yùn)動相位差為180°,根據(jù)樣機(jī)的運(yùn)動姿態(tài)分析,各個關(guān)節(jié)的運(yùn)動相位差為90°左右的時候運(yùn)動效應(yīng)該比較好。
? ? ? ?將相鄰關(guān)節(jié)的運(yùn)動相位差調(diào)整為90°(Worm_Go.ino),代碼如下:

? ? ? ?燒錄后,打開Serial Monitor,輸入up,down,turnTime的值,并實時觀察運(yùn)動變化。你可以通過這種方法調(diào)整機(jī)器人的運(yùn)動姿態(tài),直至對爬行效果滿意為止。
4. 擴(kuò)展樣機(jī)
? ? ? ?本樣機(jī)沒有設(shè)計左右擺動的結(jié)構(gòu),因此不能左右轉(zhuǎn)向,有興趣的朋友可以嘗試為其加上左右擺動的結(jié)構(gòu),讓它的運(yùn)動方式更加豐富。
5. 資料內(nèi)容
①?樣機(jī)3D文件
② 例程源代碼
資料內(nèi)容下載鏈接 https://www.robotway.com/h-col-149.html