1. 功能說明
本文示例將實現R328a樣機4自由度并聯機器狗下蹲的功能。
![樣機-【R328】4自由度并聯機器狗-下蹲-圖1](https://file1.elecfans.com//web2/M00/89/66/wKgZomSCmDaARgy3AFFc8T7Zmtg934.gif)
2. 結構說明
本樣機的并聯驅動結構與 【R082】4自由度并聯四足 類似,兩款樣機可以對比來看。
本樣機腿部的結構如下圖所示:驅動核心部分是兩個5桿結構的組合。
![樣機-【R328】4自由度并聯機器狗-下蹲-圖2](https://file1.elecfans.com//web2/M00/89/64/wKgaomSCmDeAQizEAAAnJlAICDg607.png)
驅動核心部分再搭配下圖的四桿結構,即可構成單側的腿。驅動核心部分再搭配下圖的四桿結構,即可構成單側的腿。
![樣機-【R328】4自由度并聯機器狗-下蹲-圖3](https://file1.elecfans.com//web2/M00/89/66/wKgZomSCmDeAPmQNAAAU_m8DyJg162.png)
![樣機-【R328】4自由度并聯機器狗-下蹲-圖4](https://file1.elecfans.com//web2/M00/89/64/wKgaomSCmDiANnWsAAAq8ETTB18812.png)
![樣機-【R328】4自由度并聯機器狗-下蹲-圖5](https://file1.elecfans.com//web2/M00/89/66/wKgZomSCmDiAdV0PAAA1BKqyhpA375.png)
3. 電子硬件
在這個示例中,我們采用了以下硬件,請大家參考:
主控板 |
|
擴展板 |
|
電池 |
7.4V鋰電池 |
電路連接:為了便于識別控制4自由度并聯機器狗,我們先規定好機器狗的前方以及舵機位置編號(如下圖所示):
![樣機-【R328】4自由度并聯機器狗-下蹲-圖6](https://file1.elecfans.com//web2/M00/89/64/wKgaomSCmDmAGpSiAABMfs-hgs8010.png)
將舵機(A1、A2 、B1、B2)連接在Bigfish擴展板的D4、D7、D3、D8端口,如下圖所示:
![樣機-【R328】4自由度并聯機器狗-下蹲-圖7](https://file1.elecfans.com//web2/M00/89/66/wKgZomSCmDmAELCMAABrlLzL9MM308.jpg)
4. 功能實現
上位機:Controller 1.0
下位機編程環境:Arduino 1.8.19
實現思路:實現4自由度并聯機器狗站立、前蹲、后蹲的動作。
4.1 調試舵機角度
利用上位機 Controller軟件調整4自由度并聯機器狗的舵機角度,記錄下機器狗站立、前蹲、后蹲時舵機的角度;然后利用Arduino IDE進行下位機編程,利用這些角度實現機器狗下蹲的功能。
對于如何利用Controller軟件進行調試機器狗的舵機角度,可參考【U002】如何驅動模擬舵機-Controller 1.0b軟件的使用 在本次實驗中,經過調試,對于4自由度并聯機器狗站立、前蹲、后蹲時的舵機角度值如下圖所示:
![樣機-【R328】4自由度并聯機器狗-下蹲-圖8](https://file1.elecfans.com//web2/M00/89/64/wKgaomSCmDmAe26LAAANjgr2Xn8518.png)
![樣機-【R328】4自由度并聯機器狗-下蹲-圖9](https://file1.elecfans.com//web2/M00/89/66/wKgZomSCmDqAA0LlAAAMztoTjI4924.png)
![樣機-【R328】4自由度并聯機器狗-下蹲-圖10](https://file1.elecfans.com//web2/M00/89/64/wKgaomSCmDqAdghjAAAOHGxccyI681.png)
4.2 示例程序
下面提供一個4自由度并聯機器狗下蹲的參考例程(Dog_squat.ino),例程源代碼詳見 【https://www.robotway.com/h-col-237.html】 ,實驗效果可參考演示視頻。
/*------------------------------------------------------------------------------------
版權說明: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 機器譜 2023-05-26 https://www.robotway.com/
------------------------------*/
/*
本例程實現機器小狗站立、前蹲和后蹲
*/
#include?Servo.h??>
#define SERVO_SPEED 60 //定義舵機轉動快慢的時間
#define ACTION_DELAY 0 //定義所有舵機每個狀態時間間隔
Servo myServo[4];
int f = 15; //定義舵機每個狀態間轉動的次數,以此來確定每個舵機每次轉動的角度
int servo_port[4] = {3,4,7,8}; //定義舵機引腳
int servo_num = sizeof(servo_port) / sizeof(servo_port[0]); //定義舵機數量
float value_init[4] = {1513,1457,1074,1545}; //定義舵機初始角度
void setup() {
Serial.begin(9600);
for(int i=0;i?servo_num;i++){
ServoGo(i,value_init[i]);
}
delay(2000);
}
void loop() {
Dog_squat();
}
void Dog_squat()
{
servo_move(value_init[0],value_init[1],value_init[2],value_init[3]);//直立
servo_move(1243,1703,1278,1299);//向后蹲下
servo_move(value_init[0],value_init[1],value_init[2],value_init[3]);//直立
servo_move(1715,1255,1052,1545);//向前蹲下
servo_move(value_init[0],value_init[1],value_init[2],value_init[3]);//直立
}
void ServoStart(int which)
{
if(!myServo[which].attached())myServo[which].attach(servo_port[which]);
pinMode(servo_port[which], OUTPUT);
}
void ServoStop(int which)
{
myServo[which].detach();
digitalWrite(servo_port[which],LOW);
}
void ServoGo(int which , int where)
{
if(where!=200)
{
if(where==201) ServoStop(which);
else
{
ServoStart(which);
myServo[which].write(where);
}
}
}
void servo_move(float value0, float value1, float value2, float value3) //舵機轉動
{
float value_arguments[] = {value0, value1, value2, value3};
float value_delta[servo_num];
for(int i=0;i?servo_num;i++)
{
value_delta[i] = (value_arguments[i] - value_init[i]) / f;
}
for(int i=0;i?f;i++)
{
for(int k=0;k?servo_num;k++)
{
value_init[k] = value_delta[k] == 0 ? value_arguments[k] : value_init[k] + value_delta[k];
}
for(int j=0;j?servo_num;j++)
{
ServoGo(j,value_init[j]);
}
delay(SERVO_SPEED);
}
delay(ACTION_DELAY);
}
5. 擴展樣機
本樣機可以做出一些擴展,如下圖所示的在樣機上方增加平板,此樣機可用探索者零件或探索者兼容零件制作。
![樣機-【R328】4自由度并聯機器狗-下蹲-圖11](https://file1.elecfans.com//web2/M00/89/66/wKgZomSCmDuAI-EMAABkpAKlfr0928.jpg)
審核編輯黃宇
-
機器狗
+關注
關注
3文章
173瀏覽量
10193
發布評論請先 登錄
相關推薦
運用BLDC設計新型五自由度并聯機器人的方案分享
【案例分享】BLDC在新型五自由度并聯機器人中的應用
反螺旋理論與五自由度并聯機器人設計方法
![反螺旋理論與五<b class='flag-5'>自由度</b><b class='flag-5'>并聯機器</b>人設計方法](https://file.elecfans.com/web2/M00/4A/0D/pYYBAGKhvI-Aa8bkAABHn3d8IKk281.png)
并聯機器人的少自由度并聯機構設計
![<b class='flag-5'>并聯機器</b>人的少<b class='flag-5'>自由度</b><b class='flag-5'>并聯機</b>構設計](https://file.elecfans.com/web2/M00/4A/1C/pYYBAGKhvJqAY85SAABZAdKokBI548.png)
一種三自由度冗余驅動混聯機器人的設計
![一種三<b class='flag-5'>自由度</b>冗余驅動混<b class='flag-5'>聯機器</b>人的設計](https://file.elecfans.com/web2/M00/49/89/poYBAGKhwMSABpEzAAAZVjjahhk802.jpg)
二自由度冗余驅動并聯機器人動態控制
![二<b class='flag-5'>自由度</b>冗余驅動<b class='flag-5'>并聯機器</b>人動態控制](https://file.elecfans.com/web1/M00/4F/92/o4YBAFre4WaADRPoAAA0SVM0R7k479.jpg)
運用BLDC對新型五自由度并聯機器人的設計
![運用BLDC對新型五<b class='flag-5'>自由度</b><b class='flag-5'>并聯機器</b>人的設計](https://file.elecfans.com/web1/M00/65/DE/pIYBAFuwJmWAYo6gAAEGgjQrvfI406.png)
并聯機器人市場又情況如何市場活躍度最高的并聯機器人企業TOP5
如何分析新型二自由度平動并聯機器人的結構和運動學
![如何分析新型二<b class='flag-5'>自由度</b>平動<b class='flag-5'>并聯機器</b>人的結構和運動學](https://file.elecfans.com/web1/M00/B9/1D/pIYBAF58ZxuAcs6lAAE3xqj67w4997.png)
評論