色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

【CW32開發(fā)】初探四足機器人

CW32生態(tài)社區(qū) ? 來源: CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-09-25 12:08 ? 次閱讀

一、認識機器人

機器人是一種自動執(zhí)行任務的機器,它可以模擬人類或其它生物的某些功能,并按照預設的程序或通過人工智能技術來執(zhí)行任務。

常見的一些基本概念有:

01定義:

機器人是具有感知、決策和執(zhí)行功能的自動化設備。它可以接受外部信息,進行處理,并據(jù)此執(zhí)行一定的動作。

02組成:

感知系統(tǒng):如攝像頭、傳感器等,用于接收外部信息。

控制系統(tǒng):如電腦單片機等,用于處理信息和做出決策。

執(zhí)行系統(tǒng):如機械臂、驅(qū)動器等,用于執(zhí)行具體的動作。

03分類:

工業(yè)機器人:用于制造業(yè),如焊接、組裝、搬運等。

服務機器人:用于服務業(yè),如醫(yī)療、清潔、娛樂等。

特種機器人:用于特殊環(huán)境,如深海探測、空間探測等。

04關鍵技術:

驅(qū)動技術:包括電動、液壓、氣動等驅(qū)動方式。

感知技術:包括視覺、觸覺、聽覺等多種感知方式。

導航與定位技術:如GPS、激光導航、慣性導航等。

05人工智能:

使機器人具備自主學習、推理和決策的能力。

06應用領域:

機器人廣泛應用于制造業(yè)、醫(yī)療、家政、軍事、農(nóng)業(yè)、教育等多個領域。

二、初探CW32的四足機器人控制(用于玩和學習)

本項目使用8自由度舵機控制的四足機器人。主要用于愛好者學習參考。可實現(xiàn)基本控制姿態(tài):前進、左轉(zhuǎn)、右轉(zhuǎn)、打滑、伸展、站立、躺平、擺手。有興趣的朋友,也可以增加新步態(tài)控制。

01硬件組成

wKgZombzjKKAHgquAABZwtnVU_467.webp

(1)主控原理圖

wKgaombzjKOAZGc4AABkFvOl6NE04.webp

其中MCU核心板,選用CW32F030C8T6核心板。

wKgZombzjKOACK32AAFddmlmHQg35.webp

主要使用CW32F030C8T6以下產(chǎn)品特性:

  • 內(nèi)核:ARM? Cortex?-M0+ -- 最高主頻 64MHz
  • 工作溫度:-40℃ 至 105℃;工作電壓:1.65V 至 5.5V
  • 存儲容量

最大 64K 字節(jié) FLASH,數(shù)據(jù)保持 25 年 @85℃

最大 8K 字節(jié) RAM,支持奇偶校驗

128 字節(jié) OTP 存儲器

4 ~ 32MHz 晶體振蕩器

32kHz 低速晶體振蕩器

內(nèi)置 48MHz RC 振蕩器

內(nèi)置 32kHz RC 振蕩器

內(nèi)置 10kHz RC 振蕩器

內(nèi)置 150kHz RC 振蕩器

內(nèi)置 PLL 鎖相環(huán)

時鐘監(jiān)測系統(tǒng)

允許獨立關斷各外設時鐘

16位高級控制定時器,支持6路捕獲/比較通道和3對互補PWM輸出,死區(qū)時間和靈活的同步功能

四組 16 位通用定時器

三組 16 位基本定時器

窗口看門狗定時器

獨立看門狗定時器

三路低功耗 UART,支持小數(shù)波特率

兩路 SPI 接口 12Mbit/s

兩路 I2C 接口 1Mbit/s

IR 調(diào)制器

(2)藍牙模塊

DX-BT04-E藍牙模塊:采用BK3432芯片,支持SPP V3.0+BLE V4.2藍牙協(xié)議。支持AT指令,用戶可根據(jù)需要更改串口波特率、設備名稱等參數(shù)。具有成本低、功耗低、接收靈敏高等優(yōu)點。

wKgaombzjKOAXhw7AABACFpM9Yc06.webp

DX-BT04-E模塊與單片機連線 :

GND GND
5V 5V
TXD PA10
RXD PA9

wKgZombzjKSAAlbqAAAW6L7WF2852.webp

藍牙APP安卓手機APP,可掃描下載

IOS測試APP,請在蘋果商城下載DX-SMART。

使用時,打開手機藍牙助手應用DX-SMART,設置UUID為BT16模塊,搜索藍牙設備連接BT04-E設備。

wKgaombzjKSAOvZdAACeEsUmERM76.webp

正常通訊界面如下:

wKgZombzjKSAPqUbAAC-zGdbxXs18.webp

溫馨提示:使用其它藍牙模塊時,注意2個問題:

1. 波特率設置時,藍牙模塊需與單片機相符。

2. 如果搜索不到設備,或Service失敗時,需指定正確的UUID,方可通訊。

(3)舵機控制

舵機是運動控制的主要執(zhí)行機構。價格便宜,隨處可見。值得注意的是,就是因為便宜,堵轉(zhuǎn)過載時容易損壞。

wKgaombzjKWAYuusAABi1EUI_0085.webp

本項目實驗時,也是隨機找了幾個舵機,沒有作區(qū)分使用。

wKgZombzjKWAT5eIAABcbIHlI1c33.webp

wKgaombzjKWAV3NlAABT1p51hjk16.webp

SG90舵機目前在高檔遙控玩具,如航模、包括飛機模型、潛艇模型、遙控機器人中已經(jīng)使用得比較普遍。

SG90舵機上有三根線,分別是GND(棕色線)、VCC(紅色線 接5V)和SIG(黃色線),也就是地線、電源線和信號線。

SG90舵機控制: 一般需要一個20ms 周期的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms 范圍內(nèi)的角度控制脈沖部分對應0度-180度機械周期的調(diào)節(jié)范圍。以180 度角度伺服為例,那么對應的控制關系是這樣的:

0.5ms ---------- 0 度;

1.0ms ---------- 45 度;

1.5ms ---------- 90 度;

2.0ms ---------- 135 度;

2.5ms ---------- 180 度;

wKgZombzjKaAbDnOAABS3GCMMY061.webp

值得一提的是:控制精度。本實驗使用的舵機配套的塑料齒。淘寶各賣家沒有提供具體齒數(shù)。

作者認為,這個控制精度在玩具類應用上沒有特別高要求。但需要明白這個角度控制精度為360度/齒數(shù)。

(4)結(jié)構安裝

該項目使用8個舵機。編號定義分別為①~⑧。

安裝后的實物圖如下:

wKgaombzjKaAHbUIAABQzpPdB7A52.webp

引腳定義如下:

wKgZombzjKaANNlhAAA7XhNrl4E53.webp

在腳角安裝時,舵機的控制角度范圍需要測試并確定。以下圖為例,展示了①-④號舵機的角度限制范圍:

wKgaombzjKeAdL95AAA5DOlP8GY60.webp

程序中需要對每個舵機的旋轉(zhuǎn)角度范圍做限制,才可輸出。否則,電機在旋轉(zhuǎn)時,受死角影響發(fā)生過載易產(chǎn)生損壞。

02 軟件組成

(1)使用的外設資源

(一)CW32F030內(nèi)部集成4 個通用定時器(GTIM),每個GTIM 完全獨立且功能完全相同,各包含一個16bit 自動重裝載計數(shù)器并由一個可編程預分頻器驅(qū)動。GTIM 支持定時器模式、計數(shù)器模式、觸發(fā)啟動模式和門控模式4 種基本工作模式,每組帶4 路獨立的捕獲/ 比較通道,可以測量輸入信號的脈沖寬度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)。

項目中使用了通用定時器GTIM1GTIM2的PWM輸出功能。

wKgZombzjKiAfzyiAAAsEAxkrr471.webp

wKgaombzjKmAS2AnAABy4GaMq5080.webp

wKgZombzjKmAVY4MAABRbn5KIjc74.webp

(二)CW32F030的通用異步收發(fā)器(UART) 支持異步全雙工、同步半雙工和單線半雙工模式,支持硬件數(shù)據(jù)流控和多機通信;可編程數(shù)據(jù)幀結(jié)構;可以通過小數(shù)波特率發(fā)生器提供寬范圍的波特率選擇。UART 控制器工作在雙時鐘域下,允許在深度休眠模式下進行數(shù)據(jù)的接收,接收完成中斷可以喚醒MCU 回到運行模式。

項目中使用了串口UART3外設資源。

wKgaombzjKqAXiFEAABJzkmTOxI97.webp

(2)主要實現(xiàn)代碼

主程序:

int main()
{ 
  
    Board_Iint();

    USART_SendString(CW_UART3,"Power on!");
    
    fuwei2();  
    while (1)
    {       
   
      if(UART_Flag == 1)
      {     
          if(RxDate == 'a')//站立
          { 
            zhanli();
          }
          
          if(RxDate == 'b')// 躺平
          { 
            tangping();
          }   

           if(RxDate == 'c')//擺手
           { 
            baishou();
           }
          if(RxDate == 'd')//搖擺
           { 
             yaobai();
             Delay_ms(500);
             yaobai(); 
             Delay_ms(500);
           }
           if(RxDate == 'e')//左轉(zhuǎn)
           {
             zhanli();
             Delay_ms(1000);
             zhanli2();
             Delay_ms(1000);
             zuozhuan();
             Delay_ms(1000);
             zuozhuan();
           }
           if(RxDate == 'f')//打滑
           { 
              dahua();
              dahua();
           }
           if(RxDate == 'g')//前進
           { 
              zhanli();
              Delay_ms(200);
              qianjin();
              Delay_ms(200);
              qianjin();
              Delay_ms(200);
              qianjin();
           }
           if(RxDate == 'h')//右轉(zhuǎn)
           { 
             youzhuan();
             youzhuan();
             youzhuan();
           }
      UART_Flag=0;
        }
    }
}

藍牙串口中斷:

void UART3_IRQHandler(void)//串口3中斷服務函數(shù)
{ 
    if (USART_GetITStatus(CW_UART3, USART_IT_RC) != RESET)//如果接受到了消息
    {
        RxDate = USART_ReceiveData_8bit(CW_UART3);//將寄存器的數(shù)據(jù)轉(zhuǎn)存在TxRxBuffer
        UART_Flag=1;
        USART_SendData_8bit(CW_UART3, RxDate);//將收到的消息發(fā)回給串口        
        USART_ClearITPendingBit(CW_UART3, USART_IT_RC);
    }
}

 /*復位或躺平姿態(tài)*/
void fuwei2 (void){
  Servo_SetAngle(90);
   Delay_ms(500);
  Servo_SetAngle2(90);
   Delay_ms(500); 
   Servo_SetAngle3(90);
   Delay_ms(500);
  Servo_SetAngle4(90);
   Delay_ms(500);
  Servo_SetAngle5(90);
   Delay_ms(500);
  Servo_SetAngle6(90);
   Delay_ms(500);
  Servo_SetAngle7(90);
   Delay_ms(500);
  Servo_SetAngle8(90);
   Delay_ms(500);  
}

舵機角度限制,并輸出控制。

void Servo_SetAngle(float Angle)
{
  
  if(Angle135)Angle=135;
  
  PWM_SetCompare1(Angle / 180 * 2000 + 500);
}
void Servo_SetAngle2(float Angle)
{
  
  if(Angle170)Angle=170;
  PWM_SetCompare2(Angle / 180 * 2000 + 500);
}

void Servo_SetAngle3(float Angle)
{
  
  if(Angle135)Angle=135;
  PWM_SetCompare4(Angle / 180 * 2000 + 500);
}

void Servo_SetAngle5(float Angle)
{
  
  if(Angle130)Angle=130;
  PWM_SetCompare6(Angle / 180 * 2000 + 500);
}


void Servo_SetAngle7(float Angle)
{
  Angle=180-Angle;
  
  if(Angle>130)Angle=130;
  PWM_SetCompare7(Angle / 180 * 2000 + 500);
}

void Servo_SetAngle8(float Angle)
{
  Angle=180-Angle;
  
  if(Angle

通用定時器GTIM控制初始化。

void GTIM_GPIOInit(void)
{
    GPIO_InitTypeDef GPIO_InitStruct; 
    __RCC_GPIOB_CLK_ENABLE();
    __RCC_GPIOA_CLK_ENABLE();
  
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pins = GPIO_PIN_0|GPIO_PIN_1;
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
    GPIO_Init(CW_GPIOB, &GPIO_InitStruct);
    PB00_AFx_GTIM1CH3();
    PB01_AFx_GTIM1CH4();
   
    GPIO_InitStruct.Pins =   GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_6|GPIO_PIN_7; 
    GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
    PA00_AFx_GTIM2CH1();
    PA01_AFx_GTIM2CH2();
    PA02_AFx_GTIM2CH3();
    PA03_AFx_GTIM2CH4();
    PA06_AFx_GTIM1CH1();
    PA07_AFx_GTIM1CH2();
}

void g_tim_init(void)
{
    GTIM_InitTypeDef GTIM_InitStruct ;    
    
    __RCC_GTIM1_CLK_ENABLE();   // GTIM1時鐘使能
    __RCC_GTIM2_CLK_ENABLE();   // GTIM1時鐘使能
    GTIM_GPIOInit(); 
    
    GTIM_InitStruct.Mode = GTIM_MODE_TIME;
  
    GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE;
    GTIM_InitStruct.Prescaler =GTIM_PRESCALER_DIV64;          
    GTIM_InitStruct.ReloadValue =20000;   //20MS   
    GTIM_InitStruct.ToggleOutState = DISABLE;
    GTIM_TimeBaseInit(CW_GTIM1, >IM_InitStruct);
    GTIM_TimeBaseInit(CW_GTIM2, >IM_InitStruct);
  
    GTIM_OCInit(CW_GTIM1, GTIM_CHANNEL1, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM1, GTIM_CHANNEL2, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM1, GTIM_CHANNEL3, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM1, GTIM_CHANNEL4, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM2, GTIM_CHANNEL1, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM2, GTIM_CHANNEL2, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM2, GTIM_CHANNEL3, GTIM_OC_OUTPUT_PWM_LOW);
    GTIM_OCInit(CW_GTIM2, GTIM_CHANNEL4, GTIM_OC_OUTPUT_PWM_LOW);
     
    GTIM_Cmd(CW_GTIM1, ENABLE);
    GTIM_Cmd(CW_GTIM2, ENABLE);    
}

三、展望與未來

由于該項目為初探控機器人控制,使用的是現(xiàn)有硬件資源進行組裝調(diào)試。后期有機會可以設計一款小巧控制板,裝入結(jié)構中心,形成獨立機器人。

另外,姿態(tài)控制算法在本實驗中并未提及,數(shù)學基礎較好的愛好者可作深入研究。

本次項目為作者初次嘗試,如有不足之處,歡迎批評指證。

wKgZombzjKqAYaRzAABQIrN_BEM52.webp
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 四足機器人
    +關注

    關注

    1

    文章

    90

    瀏覽量

    15194
  • CW32
    +關注

    關注

    1

    文章

    203

    瀏覽量

    626
收藏 人收藏

    評論

    相關推薦

    開源項目!OpenCat—— 一個全能的平價機器人

    OpenCat—— 面向 STEM(科學、技術、工程、數(shù)學)領域的平價機器人。一款可編程且機動性極強的機器貓,適用于 STEM(科學、技術、工程、數(shù)學)教育以及人工智能強化服務領域
    發(fā)表于 12-16 11:44

    鴻蒙機器人與鴻蒙開發(fā)板聯(lián)動演示

    鴻蒙機器人與鴻蒙開發(fā)板聯(lián)動演示,機器人的角色為迎賓機器人開發(fā)板負責人賓客出現(xiàn)監(jiān)聽
    發(fā)表于 12-02 14:55

    七騰機器人:防爆輪式機器人-輪八驅(qū)全新上線

    今日,七騰機器人有限公司(以下簡稱“七騰機器人”)推出全新產(chǎn)品:防爆輪式機器人-輪八驅(qū)。該款產(chǎn)品是七騰輪式巡檢機器人產(chǎn)品系列的最新成員,防
    的頭像 發(fā)表于 10-21 16:32 ?175次閱讀
    七騰<b class='flag-5'>機器人</b>:防爆輪式<b class='flag-5'>機器人</b>-<b class='flag-5'>四</b>輪八驅(qū)全新上線

    認識機器人CW32機器人控制項目

    認識機器人CW32機器人控制項目 一、認識機器人 機器
    的頭像 發(fā)表于 09-28 15:46 ?234次閱讀

    在NVIDIA Isaac Lab中訓練機器人運動

    由于涉及復雜的動力學,為機器人制定有效的運動策略是機器人領域面臨的重大挑戰(zhàn)。在現(xiàn)實世界中訓練
    的頭像 發(fā)表于 09-06 14:48 ?533次閱讀
    在NVIDIA Isaac Lab中訓練<b class='flag-5'>四</b><b class='flag-5'>足</b><b class='flag-5'>機器人</b>運動

    LIG Nex1收購機器人制造商Ghost Robotics

    近日,韓國國防技術領域的佼佼者LIG Nex1宣布了一項重大戰(zhàn)略收購,成功獲得美國知名機器人制造商Ghost Robotics Corp.的60%控股權。此次交易標志著LIG Nex1在全球化軍事
    的頭像 發(fā)表于 08-09 09:34 ?738次閱讀

    Al大模型機器人

    金航標kinghelm薩科微slkor總經(jīng)理宋仕強介紹說,薩科微Al大模型機器人有哪些的優(yōu)勢?薩科微AI大模型機器人由清華大學畢業(yè)的天才少年N博士和王博士團隊開發(fā),與同行相比具有許多優(yōu)勢:語言
    發(fā)表于 07-05 08:52

    小米機器人入駐小米汽車工廠,已研發(fā)鐵大、鐵蛋等機器人

    6月5日消息,北京亦莊公眾號發(fā)布文章,透露小米機器人技術有限公司(下文稱小米機器人)近日在北京經(jīng)濟技術開發(fā)區(qū)(亦莊)舉行了盛大的喬遷儀式。現(xiàn)場,小米第二代仿生
    的頭像 發(fā)表于 06-05 16:38 ?1266次閱讀

    全球機器人開發(fā)領域采用NVIDIA 機器人開發(fā)和生產(chǎn)

    比亞迪電子、西門子、泰瑞達和 Alphabet 旗下公司 Intrinsic 采用 NVIDIA Isaac 機器人平臺開發(fā)自主機械臂、人形機器人和移動機器人 ? NVIDIA 于今日
    的頭像 發(fā)表于 06-03 18:25 ?1226次閱讀

    【項目展示】基于CW32的遙控循跡小車

    CW32循跡小車.zip_免費高速下載|百度網(wǎng)盤-分享無限制? 一、概述 CW32循跡、遙控小車具有循跡和遙控兩種功能,小車的硬件模塊由CW32F030C8T6小藍板、智能小車控制底板、BT04-E
    的頭像 發(fā)表于 05-31 17:33 ?1292次閱讀
    【項目展示】基于<b class='flag-5'>CW32</b>的遙控循跡小車

    CW32量產(chǎn)燒錄工具

    本節(jié)主要介紹CW32微控制器的燒錄器CW-Writer,以及與之配合的軟件CW-Programmer的使用方法。燒錄器CW-Writer通過ISP協(xié)議,可實現(xiàn)對
    的頭像 發(fā)表于 04-25 15:22 ?1392次閱讀
    <b class='flag-5'>CW32</b>量產(chǎn)燒錄工具

    CW32快速開發(fā)入門

    CW32快速開發(fā)入門
    的頭像 發(fā)表于 04-24 18:56 ?1947次閱讀
    <b class='flag-5'>CW32</b>快速<b class='flag-5'>開發(fā)</b>入門

    為什么機器人設計常借鑒狗的外形特征?

    劉表示,機器狗是機器人的一部分,被稱為“動物”,意思很明顯是“條腿”。
    發(fā)表于 04-10 14:30 ?439次閱讀

    基于樹莓派的噴水機器人設計

    今天小編給大家?guī)淼氖莵碜訠-AROL-O團隊帶來的基于樹莓派的噴水機器人,該機器人可以在農(nóng)場環(huán)境中自主導航,識別需要澆水的植物并自動澆水,視覺系統(tǒng)采用的是 Luxonis 的 O
    的頭像 發(fā)表于 01-22 09:19 ?1898次閱讀
    基于樹莓派的<b class='flag-5'>四</b><b class='flag-5'>足</b>噴水<b class='flag-5'>機器人</b>設計

    基于CW32的門禁綜合系統(tǒng)

    基于CW32單片機的門禁綜合系統(tǒng)是一款功能強大的智能門禁解決方案,它提供了三種開鎖方式:密碼開鎖、指紋開鎖和刷卡開鎖,為用戶提供方便、安全的門禁控制。該系統(tǒng)的核心控制器采用了CW32單片機,具備
    的頭像 發(fā)表于 12-28 11:43 ?1690次閱讀
    基于<b class='flag-5'>CW32</b>的門禁綜合系統(tǒng)
    主站蜘蛛池模板: 99国产在线精品视频| 国产精品久久久久久久久久免费| 国产色综合色产在线视频| 六月婷婷国产精品综合| 午夜影院一区二区三区| 99热久久这里只有精品| 精品日韩二区三区精品视频| 视频成人永久免费视频| 98色精品视频在线| 精品无人区麻豆乱码无限制| 我与旗袍老师疯狂床震| xxxxxl荷兰| 快播可乐网| 亚洲日韩欧美国产中文在线| 国产99RE在线观看69热| 欧美国产影院| 《乳色吐息》无删减版在线观看 | 不卡的在线AV网站| 老师给美女同学开嫩苞| 亚洲精品福利一区二区在线观看| 粉嫩小护士| 飘雪在线观看免费完整版| 538在线视频一区二区视视频| 九九在线免费视频| 亚洲va精品中文字幕| 国产成人v视频在线观看| 人人啪日日观看在线| 99精品免费在线观看| 两性午夜刺激爽爽视频| 伊人久久国产免费观看视频| 国产一区二区三区在线看片| 四虎国产精品永久一区高清 | 久久综合九色| 亚洲中文字幕无码一去台湾| 国产亚洲精品AV麻豆狂野| 无码AV精品久久一区二区免费 | 麻豆区蜜芽区| 中文字幕亚洲乱码熟女在线萌芽| 九九影院午夜理论片无码| 一本道高清到手机在线| 九九热最新视频|