1. 運(yùn)動(dòng)功能說明
本文實(shí)例將實(shí)現(xiàn)2自由度并聯(lián)仿生腿模組運(yùn)動(dòng)起來,模擬實(shí)現(xiàn)狗腿行走的動(dòng)作。
2. 結(jié)構(gòu)說明
2自由度并聯(lián)仿生腿模組是由兩個(gè)舵機(jī)驅(qū)動(dòng)的,它的所有動(dòng)作都將在兩個(gè)舵機(jī)的配合運(yùn)動(dòng)下實(shí)現(xiàn)。
3. 運(yùn)動(dòng)原理說明
2自由度并聯(lián)仿生腿模組運(yùn)動(dòng)的點(diǎn)位如下圖所示:
在這個(gè)示例中,我們采用了以下硬件,請大家參考:
主控板 | Basra主控板(兼容Arduino Uno)? |
擴(kuò)展板 | Bigfish2.1擴(kuò)展板? |
電池 | 7.4V鋰電池 |
電路連接:將2個(gè)舵機(jī)連接在Bigfish擴(kuò)展板的D4、D7端口。
5. 運(yùn)動(dòng)功能實(shí)現(xiàn)
上位機(jī):Controller 1.0
下位機(jī)編程環(huán)境:Arduino 1.8.19
實(shí)現(xiàn)思路:實(shí)現(xiàn)2自由度并聯(lián)仿生腿模組運(yùn)動(dòng)起來。
5.1 舵機(jī)角度的確定
將2自由度并聯(lián)仿生腿模組用工具調(diào)整至合適的點(diǎn)位后,用量角器測量出相應(yīng)的舵機(jī)角度值。模擬狗腿行走的動(dòng)作,對每個(gè)動(dòng)作的角度進(jìn)行測量并記錄數(shù)據(jù)。
操作步驟:① 以固定舵機(jī)的兩個(gè)螺絲為固定量角器位置。
② 擰緊螺絲,防止取下量角器時(shí)角度發(fā)生變化,導(dǎo)致測量的不夠準(zhǔn)確。
③ 對量角器進(jìn)行讀數(shù)并進(jìn)行數(shù)據(jù)記錄。
④ 利用Controller動(dòng)作編輯軟件,輸入測量到的角度值進(jìn)行嘗試,如果動(dòng)作和實(shí)際有偏差的話可改變角度參數(shù)進(jìn)行調(diào)整,直至得到正確的舵機(jī)角度組合為止。關(guān)于Controller動(dòng)作編輯軟件的使用方法,可參考【U002】如何驅(qū)動(dòng)模擬舵機(jī)-Controller 1.0b軟件的使用【https://www.robotway.com/h-col-129.html】
5.2 示例程序
下面提供一個(gè)2自由度并聯(lián)仿生腿模組運(yùn)動(dòng)的參考例程(tuibuyundong.ino),程序源代碼及模組3D文件詳見 https://www.robotway.com/h-col-239.html :
/*------------------------------------------------------------------------------------ 版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved. Distributed under MIT license.See file LICENSE for detail or copy at https://opensource.org/licenses/MIT by 機(jī)器譜 2023-06-02 https://www.robotway.com/ ------------------------------*/ #include???Servo.h????> #define upper_servo_initialangle 90 #define lower_servo_initialangle 90 Servo upper_servo; //大腿舵機(jī) Servo lower_servo; //小腿舵機(jī) void setup() { upper_servo.attach(4); lower_servo.attach(7); upper_servo.write(upper_servo_initialangle); lower_servo.write(lower_servo_initialangle); delay(1000); } void loop() { //大腿動(dòng)一下 for(int i=0;i???30;i++) { upper_servo.write(upper_servo_initialangle+i); delay(100); } for(int j=30;j????>0;j--) { upper_servo.write(upper_servo_initialangle+j); delay(100); } //小腿動(dòng)一下 for(int i=0;i???30;i++) { lower_servo.write(lower_servo_initialangle+i); delay(100); } for(int j=30;j????>0;j--) { lower_servo.write(lower_servo_initialangle+j); delay(100); } }
審核編輯黃宇
-
舵機(jī)
+關(guān)注
關(guān)注
17文章
268瀏覽量
41013 -
2自由度
+關(guān)注
關(guān)注
0文章
3瀏覽量
1182
發(fā)布評論請先 登錄
相關(guān)推薦
評論