如何讓6自由度雙足機器人實現(xiàn)行走?
1. 運動功能說明
? ? ? 6自由度雙足機器人樣機是一款擁有6自由度的串聯(lián)型雙足,相當于人形機器人的下半身。它可以實現(xiàn)抬腿、邁步、蹲下和起立、行走、翻跟頭等等功能。
2. 結(jié)構(gòu)說明
? ? ? 6自由度雙足機器人樣機的每條腿由3個 舵機關(guān)節(jié)模組【https://www.robotway.com/h-col-121.html】 構(gòu)成。足部結(jié)構(gòu)一般有兩種設(shè)計方案,一種叫“狹窄足印”,比較常規(guī)如下圖所示:

? ? ? ?還有一種叫“交叉足印”,也叫“工”形腳或“工”字腳。這種設(shè)計方案可以保證機器人行走時重心始終落在支撐零件上,能夠降低控制難度,如下圖所示:

3. 運動功能實現(xiàn)
? ? ? ?本文先以交叉足印樣機為例進行說明。本樣機的運動功能主要是依靠舵機的擺動配合實現(xiàn)的,我們可以參考人體結(jié)構(gòu),把兩條腿上的三個舵機按從上到下的順序,對應(yīng)理解為只能前后擺動的髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)(真實的生物關(guān)節(jié)類似于球鉸,更加復(fù)雜)。我們需要參考人行走時三個關(guān)節(jié)的擺動角度關(guān)系,為雙足機器人確定并調(diào)出對應(yīng)的一系列舵機角度。
? ? ? ?為了比較輕松地完成前進、后退動作,需要讓腿抬得高一些,以避免邁步時工形腳干涉。
3.1 電子硬件
????在這個示例中,我們采用了以下硬件,請大家參考:
主控板:Basra(兼容Arduino Uno)
擴展板:Bigfish2.1
電池:??? 7.4V鋰電池
????由于舵機比較多,為了完成控制,我們需要約定一下樣機的前、后方向,并對舵機進行編號:


3.2 運動控制
上位機:Controller 1.0
下位機編程環(huán)境:Arduino 1.8.19
(1)初始位置的設(shè)定:使用Controller上位機對機器人進行調(diào)試,調(diào)試目標為使機器人保持直立狀態(tài),并且保持右腳的支撐臂在前。
????①將Controller下位機程序servo_bigfish.ino直接下載到主控板。這段代碼供Controller上位機與主控板通信,并允許調(diào)試舵機。代碼如下:

下載完成后,保持主控板和電腦的USB連接,以便利用上位機進行調(diào)試。
????②雙擊打開Controller 1.0b.exe:


????③界面左上角選擇:設(shè)置-面板設(shè)置,彈出需要顯示的調(diào)試塊,可通過勾選隱藏不需要調(diào)試的舵機塊:聯(lián)機-選擇主控板對應(yīng)端口號以及波特率。




?????④拖動進度條,可以觀察相應(yīng)的舵機角度轉(zhuǎn)動,直到樣機姿態(tài)達到我們的預(yù)想目標。然后勾選左下角添加-轉(zhuǎn)化,獲得舵機調(diào)試的數(shù)組:

⑤該數(shù)組可直接復(fù)制到后面的行走程序中“各個舵機的初始位置”部分進行使用。
(2)編寫并下載行走程序的代碼(Biped_Robot.ino)到主控板:
? ? ? 將上個步驟記錄的角度數(shù)據(jù)依次填入相應(yīng)舵機的初始值,比如:float servo_value[6] = {90, 44, 46, 82, 115, 100}; //各個舵機的初始位置。為了減少重力的干擾,一般先把機器人調(diào)整成直立狀態(tài)采值。采值后,需要注意的是舵機0、3的初始值應(yīng)在上個步驟結(jié)果值基礎(chǔ)上減去10,使其進入行走姿態(tài)。修改完成后便可以直接將程序下載到主控板,然后將主控板、電池安裝到機器人最上面的平臺(應(yīng)以重心較低為標準),然后連接好舵機線,順利的話現(xiàn)在機器人應(yīng)該就可以正常行走了。但是由于舵機的內(nèi)部結(jié)構(gòu)問題,相應(yīng)的角度輸出可能會存在誤差,這樣的表現(xiàn)便是機器人的支撐臂會出現(xiàn)“打架”現(xiàn)象,這個問題的解決方法是修改程序中對應(yīng)的參數(shù)調(diào)節(jié)系數(shù),例如:servo_value[4] -= 11;
? ? ? ?可以修改參數(shù)“11”的大小,需要注意的是程序的整個循環(huán)特定的位置對應(yīng)特定的值,因此在修改的時候程序后面相應(yīng)舵機的輸出系數(shù)也需要相應(yīng)的改變,由此達到一個完滿的循環(huán)。
4. 資料內(nèi)容
① 6自由度雙足-行走-例程源代碼
② 6自由度雙足-樣機3D文件
資料下載鏈接?https://www.robotway.com/h-col-160.html