精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

小型三節履帶底盤的制作

jf_72402704 ? 來源:jf_72402704 ? 作者:jf_72402704 ? 2023-01-29 09:15 ? 次閱讀

1.運動功能說明

雙節履帶車可以通過兩個驅動輪的差速運動來實現前進、后退、原地轉向、大半徑轉向等基本行駛功能,并可通過舵機關節模塊進行小臂的抬起和落下。通過底盤運動與小臂運行的結合,實現上臺階、通過坑洼地面等功能。

poYBAGPU2qmAQSpEAClc7y-aRzo800.png
pYYBAGPU2quAOW4oAEhD9SXtnQg440.png
pYYBAGPU2rCADKIGAJ_tEKt-oGw226.png
poYBAGPU2q6AFXirAIo6j_FXtgk279.png

2. 結構說明

該樣機由兩組 三節共源驅動履帶模組 ,和2個 舵機擺動關節 構成,履帶呈軸對稱分布在車架上,舵機關節模塊驅動小臂抬起。如下圖所示,左下和右上的圓周舵機驅動履帶,左上的舵機關節驅動上面的兩個小臂,右下的舵機關節驅動下面的兩個小臂。

poYBAGPU2vCADaLIAANGsR6hFJk512.png

3. 運動功能實現

3.1 電子硬件

在這個示例中,我們采用了以下硬件,請大家參考:

poYBAGPU2wuAYMdmAAAQFR0F-04368.png

將2個圓周舵機分別裝在Bigfish擴展板的舵機引腳上,左側圓周舵機接D4號引腳;右側圓周舵機接D3號引腳;將車頭關節模塊的舵機接在D7號引腳;車尾關節模塊的舵機接在D8號引腳。并將主控板和電池在車身固定好。

pYYBAGPU2yqAZ1amAAKv01DlFNY234.png

3.2 編寫程序【完整代碼詳見https://www.robotway.com/h-col-133.html】

編程環境:Arduino 1.8.19

前擺臂運動的代碼:

/*------------------------------------------------------------------------------------
版權說明:Copyright 2022 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 機器譜 2022-5-31 https://www.robotway.com/
------------------------------------------
實驗功能:
實現三節履帶小車前擺臂下、上、水平動作。
三節履帶車后擺臂下、上、水平動作
------------------------------------------
實驗接線:
.----------------------.
| |
-------------| |--------------
后擺臂舵機:D8 | | 前擺臂舵機:D7
-------------| |--------------
| |
*----------------------*
------------------------------------------------------------------------------------*/
#include //調用舵機庫
Servo ServoArmHead; //聲明前擺臂舵機對象
Servo ServoArmTail; //聲明后擺臂舵機對象
#define Servo_Head_Pin 7 //定義前擺臂舵機引腳號7
#define Servo_Tail_Pin 8 //定義后擺臂舵機引腳號8
#define Servo_Head_Up 130 //定義前擺臂向上時角度值
#define Servo_Head_Down 40 //定義前擺臂向下時角度值
#define Servo_Head_Level 90 //定義前擺臂保持水平時角度值
#define Servo_Tail_Up 130 //定義后擺臂向上時角度值
#define Servo_Tail_Down 40 //定義后擺臂向下時角度值
#define Servo_Tail_Level 90 //定義前擺臂保持水平時角度值
/*枚舉類型.當第一個參數為1時,后面的每一個參數一次增1【如:Headdown=2,Taillevel=7】Headlevel(前擺臂水平)、
Headup(前擺臂向上)、Headdown(前擺臂向下)Taillevel(后擺臂水平)、Tailup(后擺臂向上)、Taildown(后擺臂向下)*/
enum{Headup=1,Headdown,Headlevel,Tailup,Taildown,Taillevel};
//程序初始化部分:使能舵機對象
void setup() {
ServoArmHead.attach(Servo_Head_Pin);
ServoArmTail.attach(Servo_Tail_Pin);
}
//主程序部分:前擺臂、后擺臂分別執行向上、水平、向下動作.
void loop() {
arm_state( Headup ); delay(1000); //前擺臂向上,程序等待1秒
arm_state( Headlevel); delay(1000); //前擺臂水平,程序等待1秒
arm_state( Headdown ); delay(1000); //前擺臂向下,程序等待1秒
arm_state( Tailup ); delay(1000); //后擺臂向上,程序等待1秒
arm_state( Taillevel); delay(1000); //后擺臂水平,程序等待1秒
arm_state( Taildown); delay(1000); //后擺臂向下,程序等待1秒
}
//前擺臂、后擺臂上、下、水平子函數
void arm_state(int arm_state){
switch( arm_state )
{
case Headup: ServoArmHead.write( Servo_Head_Up ); break;
case Headdown :ServoArmHead.write( Servo_Head_Down ); break;
case Headlevel:ServoArmHead.write( Servo_Head_Level); break;
case Tailup: ServoArmTail.write( Servo_Tail_Up ); break;
case Taildown :ServoArmTail.write( Servo_Tail_Down ); break;
case Taillevel:ServoArmTail.write( Servo_Tail_Level); break;
default: break;
}
}

前進功能的代碼:

/*------------------------------------------------------------------------------------
版權說明:Copyright 2022 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 機器譜 2022-5-31 https://www.robotway.com/
-----------------------------------
實驗功能:
實現三節履帶小車前進.
注意事項:圓周舵機90度表示停止.
---------------------------------------------------
實驗接線:
左輪圓周舵機:D4
| |
.----------------------.
| |
------------| |------------
| | 車頭
------------| |------------
| |
*----------------------*
| |
右輪圓周舵機:D3
------------------------------------------------------------------------------------*/
#include //調用舵機庫函數
#define Servo_Num 2 //定義舵機數量2
#define Left_Servo_Forward 70 //定義前進時小車左輪速度
#define Right_Servo_Forward 110 //定義前進時小車右輪速度
Servo Car_Servo[Servo_Num]; //聲明舵機對象,表示聲明了2個舵機對象
void Forward(); //前進
const int servo_pin[Servo_Num] = { 4, 3 };//定義舵機引腳號.
const int angle_init[Servo_Num] = { 90, 90 };//定義舵機初始化角度
//程序初始化部分:分別使能舵機對象,并設置各個舵機初始角度
void setup() {
for( int i=0;i
Car_Servo[i].attach( servo_pin[i] ); //使能舵機對象
Car_Servo[i].write( angle_init[i] ); //設置舵機初始角度
}//即設定履帶小車初始為停止狀態
}
//主程序部分:三節履帶車前進
void loop() {
Forward();
}
//前進子程序
void Forward() {
Car_Servo[0].write( Left_Servo_Forward );
Car_Servo[1].write( Right_Servo_Forward );
}

履帶底盤結合擺臂運行的代碼:

/*------------------------------------------------------------------------------------
版權說明:Copyright 2022 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 機器譜 2022-5-31 https://www.robotway.com/
---------------------------------------------------------------
實驗功能:
實現三節履帶小車前進、后退、停止、自轉、大半徑轉向、前擺臂向上
抬起、前擺臂水平、前擺臂向下、后擺臂向上、后擺臂水平、后擺臂向下.
【注意】:當我們給定圓周舵機一個速度時,例如50,如果我們
不給該圓周舵機停止(即90),那么該舵機會以50的速度一直轉動.
--------------------------------------------------------------
實驗接線:
左輪圓周舵機:D4
| |
.----------------------.
| |
-------------| |--------------
后擺臂舵機:D8 | | 前擺臂舵機:D7
-------------| |--------------
| |
*----------------------*
| |
右輪圓周舵機:D3
------------------------------------------------------------------------------------*/
#include //調用舵機庫函數
#define Servo_Num 4 //定義舵機數量
Servo Car_Servo[Servo_Num]; //聲明舵機對象,表示聲明了3個舵機對象
const int servo_pin[Servo_Num] = { 4, 3, 7 ,8 };//定義舵機引腳號.
const int angle_init[Servo_Num] = { 90, 90, 90, 90 };//定義舵機初始化角度
/*枚舉類型.當第一個參數為1時,后面的每一個參數一次增1【如:Backward=2,Taillevel=11】Forward(前進)、Backward(后退)、
TurnInPlace(原地旋轉)、BigTurn(大轉向)、Stop(小車停止)、Headlevel(前擺臂水平)、Headup(前擺臂向上)、
Headdown(前擺臂向下)、Taillevel(后擺臂水平)、Tailup(后擺臂向上)、Taildown(后擺臂向下)*/
enum{Forward=1,Backward,TurnInPlace,BigTurn,Stop,Headup,Headdown,Headlevel,Tailup,Taildown,Taillevel};
//程序初始化部分:分別使能舵機對象,并設置各個舵機初始角度
void setup() {
for( int i=0;i
Car_Servo[i].attach( servo_pin[i] ); //使能舵機對象
Car_Servo[i].write( angle_init[i] ); //設置舵機初始角度
}//即設定履帶小車初始為停止狀態
}
//主程序部分:執行小車各個狀態
void loop()
{
Car_State( Headup, 1000 ); //小車前擺臂向上抬起,等待1秒
Car_State( Forward, 2000 ); //小車前進,等待2秒
Car_State( Stop, 2000 ); //小車停止,并等待2秒
Car_State( Headlevel, 1000 ); //小車前擺臂水平
Car_State( Headdown, 1000 ); //小車前擺臂向下
Car_State( Backward, 2000 ); //小車后退,等待2秒
Car_State( Tailup, 1000 ); //后擺臂向上【注意這里沒寫Stop,故此時的小車會一直以程序前一行的后退狀態繼續后退】
Car_State( Taillevel, 1000 ); //后擺臂水平
Car_State( Taildown, 1000 ); //后擺臂向下
//........后續可自行添加自己需要的小車狀態........
}
/*--------------------------------------------------------------
該函數封裝了小車各個狀態.
參數car_state表示小車執行狀態. 參數time_delay表示程序等待時間
程序使用示例:
Car_State( Forward, 1000 );表示小車執行前進動作,等待1000毫秒
Car_State( ArmUp, 1500 );表示小車執行前擺臂向上動作,等待1500毫秒
*/
void Car_State( int car_state, unsigned long time_delay ) {
switch( car_state ) {
case Headlevel: Car_Servo[2].write( 90 ); delay( time_delay); break;
case Headup: Car_Servo[2].write( 130 ); delay( time_delay); break;
case Headdown: Car_Servo[2].write( 40 ); delay( time_delay); break;
case Taillevel: Car_Servo[3].write( 90 ); delay( time_delay); break;
case Tailup: Car_Servo[3].write( 130 ); delay( time_delay); break;
case Taildown: Car_Servo[3].write( 40 ); delay( time_delay); break;
case BigTurn: Car_Servo[0].write( 60 ); Car_Servo[1].write( 104 ); delay( time_delay); break;
case Backward: Car_Servo[0].write( 120 ); Car_Servo[1].write( 60 ); delay( time_delay); break;
case Stop: Car_Servo[0].write( 90 ); Car_Servo[1].write( 90 ); delay( time_delay); break;
case Forward: Car_Servo[0].write( 70 ); Car_Servo[1].write( 110 ); delay( time_delay); break;
case TurnInPlace: Car_Servo[0].write( 60 ); Car_Servo[1].write( 60 ); delay( time_delay); break;
default: break; //否則, 程序跳出該循環.
}
}

4.擴展樣機

本樣機可以根據實際需要改變共源履帶的長度、輪徑等,也可以用其他傳動方式(如齒輪組等)構造共源驅動,如下圖所示:

pYYBAGPU3GaAMRSRAGtsx6pMMWs131.png
poYBAGPU3GeAVF9mAHBjtb-gzf8264.png
poYBAGPU3GqACcW_AJH8oGWBizQ228.png

5.資料內容

樣機3D文件

例程源代碼

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    210

    文章

    28212

    瀏覽量

    206566
  • 底盤
    +關注

    關注

    3

    文章

    243

    瀏覽量

    14660
  • 舵機
    +關注

    關注

    17

    文章

    265

    瀏覽量

    40958
收藏 人收藏

    評論

    相關推薦

    鋰電池充電電路圖如何設計 三節鋰電池充電管理芯片電路圖解析

    ? ?電池充電電路圖如何設計?小編給大家帶來三節鋰電池充電管理芯片電路圖解析: 關于三節鋰電池供電的產品,在三節鋰電池上,需要個電路系統: 1,
    發表于 12-12 12:18 ?2.4w次閱讀

    履帶底盤制作

    1.運動功能說明 ? ? ? ?斜履帶底盤可以通過兩側履帶的差速運動來實現前進、后退、原地轉向、大半徑轉向等基本行駛功能。另外,傾斜的履帶
    的頭像 發表于 12-14 10:33 ?2038次閱讀
    斜<b class='flag-5'>三</b>角<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b>的<b class='flag-5'>制作</b>

    小型平行履帶底盤制作分享

    小型平行履帶底盤可以通過兩側履帶的 差速運動 來實現前進、后退、原地轉向、大半徑轉向等基本行駛功能。
    的頭像 發表于 01-12 14:50 ?3081次閱讀
    <b class='flag-5'>小型</b>平行<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b>的<b class='flag-5'>制作</b>分享

    履帶機器人 金屬底盤

    ` 本帖最后由 威凱-智控 于 2012-8-14 23:28 編輯 今天給大家分享一個全金屬的履帶機器人底盤準備最履帶機器人的朋友們,可以一起交流一下機器人瘋狂愛好者 讓思維沸騰起來 讓智慧行動起來 共同創造機器人的精彩!
    發表于 08-14 23:25

    履帶底盤的結構部分

    ,懸掛也是主要指標之一。 ,導向輪,就是前面翹起來的那個。 四,履帶。很久以前曾經想過用3D打印自己做,后來放棄了,原因是。。。丫的太麻煩了,幾百,每節都要幾十分鐘,3D打印的速度太慢了。最近又上
    發表于 02-19 03:54

    三節鋰電池充電管理芯片 IC電路圖如何設計

    `關于三節鋰電池供電的產品,在三節鋰電池上,需要個電路系統: 1,三節鋰電池保護電路, 2,三節鋰電池充電電路, 3,
    發表于 12-12 09:39

    三節鋰電池充電管理芯片電路圖

      關于三節鋰電池供電的產品,在三節鋰電池上,需要個電路系統:1,三節鋰電池保護電路,2,三節鋰電池充電電路,3,
    發表于 01-28 17:16

    ZS6063_5A三節鋰電池充電管理集成電路

    ZS6063 是PWM 降壓模式三節鋰電池充電管理集成電路,獨立對三節鋰電池充電進行自動管理,具有封裝外形小,外圍元器件少和使用簡單等優點。
    發表于 06-14 16:05 ?18次下載

    CW1233三節鋰電池保護板的充電電路原理圖合集

    本文檔的主要內容詳細介紹的是CW1233三節鋰電池保護板的充電電路原理圖合集包括了PW4203高壓13V-20V降壓充三節鋰電池充電電路,PW4053輸入5V,給三節串聯鋰電池充電電路
    發表于 11-10 08:00 ?71次下載
    CW1233<b class='flag-5'>三節</b>鋰電池保護板的充電電路原理圖合集

    PT6303三節鋰電池保護板的充電電路原理圖

    本文檔的主要內容詳細介紹的是PT6303三節鋰電池保護板的充電電路原理圖包括了:PW4203高壓13V-20V降壓充三節鋰電池充電電路,PW4053輸入5V,給三節串聯鋰電池充電電路
    發表于 11-10 08:00 ?74次下載
    PT6303<b class='flag-5'>三節</b>鋰電池保護板的充電電路原理圖

    PW4203三節鋰電池保護板和充電電路原理圖

    本文檔的主要內容詳細介紹的是PW4203三節鋰電池保護板和充電電路原理圖包括了:PW4203高壓13V-20V降壓充三節鋰電池充電電路,PW4053輸入5V,給三節串聯鋰電池充電電路
    發表于 11-10 08:00 ?57次下載
    PW4203<b class='flag-5'>三節</b>鋰電池保護板和充電電路原理圖

    鋰電池充電電路圖如何設計三節鋰電池充電管理芯片電路圖解析

    關于三節鋰電池供電的產品,在三節鋰電池上,需要個電路系統:1,三節鋰電池保護電路,2,三節鋰電池充電電路,3,
    發表于 03-17 21:28 ?105次下載
    鋰電池充電電路圖如何設計<b class='flag-5'>三節</b>鋰電池充電管理芯片電路圖解析

    藍牙遙控履帶底盤行駛

    1. 功能描述 本文提供的示例所實現的功能為:用手機APP遙控斜履帶底盤樣機實現移動,包括前進、停止、后退、原地左轉、原地右轉。 ? 2. 電子硬件 在這個示例中,采用了以下硬件,請大家
    的頭像 發表于 12-16 13:37 ?654次閱讀
    藍牙遙控<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b>行駛

    小型履帶底盤制作

    1.運動功能說明 雙履帶車可以通過兩個驅動輪的差速運動來實現前進、后退、原地轉向、大半徑轉向等基本行駛功能,并可通過舵機關節模塊進行小臂的抬起和落下。通過底盤運動與小臂運行的結合,實現上臺階、通過
    的頭像 發表于 01-07 10:56 ?814次閱讀
    <b class='flag-5'>小型</b>雙<b class='flag-5'>節</b><b class='flag-5'>履帶</b><b class='flag-5'>底盤</b>的<b class='flag-5'>制作</b>

    履帶底盤制作分享

    1.運動功能說明 正履帶底盤可以通過兩側履帶的差速運動來實現前進、后退、原地轉向、大半徑轉向等基本行駛功能。同時,由于車身的正角特性,
    的頭像 發表于 01-18 10:40 ?838次閱讀
    正<b class='flag-5'>三</b>角<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b>的<b class='flag-5'>制作</b>分享