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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

基于XR806實現(xiàn)競技機(jī)器人先進(jìn)模糊控制器

全志在線 ? 來源:全志在線開發(fā)者論壇 ? 2023-12-16 15:55 ? 次閱讀

機(jī)器人的模糊控制是一種基于模糊邏輯理論的計算機(jī)控制方法,它通過模擬人類思維和決策過程來實現(xiàn)對機(jī)器人行為的控制。

本文中所介紹使用的競技機(jī)器人先進(jìn)模糊控制器FreeRTOS環(huán)境下基于XR806為項目主控,給機(jī)器人部署先進(jìn)模糊控制器,它通過將機(jī)器人的輸入信號轉(zhuǎn)化為模糊變量,并根據(jù)模糊規(guī)則對這些變量進(jìn)行處理,實現(xiàn)對于競技機(jī)器人的結(jié)構(gòu)控制和定位控制等功能。

項目介紹

開發(fā)環(huán)境使用window10+VMware+ubuntu 18.04,并基于XR806——FreeRTOS為項目主控,部署先進(jìn)模糊控制器,實現(xiàn)對于競技機(jī)器人的結(jié)構(gòu)控制和定位控制等。

競技機(jī)器人的無線控制器選擇上使用可以實現(xiàn)多維狀態(tài)機(jī)功能的XR806作為主控,并通過USART進(jìn)行CAN轉(zhuǎn)換來向電機(jī)發(fā)送信息,收到信息后電機(jī)驅(qū)動對機(jī)器人做出控制,此時機(jī)器人通過模糊控制器來反饋定位器、雷達(dá)等傳感器傳來的數(shù)據(jù)實現(xiàn)信息交互。

b9ebf578-9be7-11ee-8b88-92fbcf53809c.jpg


控制部署

在封裝好電機(jī)驅(qū)動電流環(huán)時,實現(xiàn)對電機(jī)的控制,相當(dāng)于建立了一種繼電特性的非線性控制,此時使用繼電整定法的Z-N臨界比例度法去建立模糊域。


根據(jù)以下臨界系數(shù)表,整定求出模糊域。

b9fe907a-9be7-11ee-8b88-92fbcf53809c.png


模糊推理及清晰化

模糊推理的核心就是計算出E和EC的隸屬度。同時把E和EC分為多種子集情況:負(fù)最大NB,負(fù)中NM,負(fù)小NS,零ZO,正小PS,正中PM,正大PB等七種情況。然后計算E/EC種子集的隸屬度。

進(jìn)行模糊推理后,可以根據(jù)計算的隸屬度,建立模糊規(guī)則表,實現(xiàn)對輸出值的清晰化。對應(yīng)到應(yīng)用層的輸出函數(shù),實現(xiàn)控制輸出。

ba1b3018-9be7-11ee-8b88-92fbcf53809c.png

FOC控制及仿真效果

ba2ce2d6-9be7-11ee-8b88-92fbcf53809c.jpg

FOC控制邏輯

ba47220e-9be7-11ee-8b88-92fbcf53809c.jpgba5386a2-9be7-11ee-8b88-92fbcf53809c.jpg

仿真效果

代碼實現(xiàn)

自動整定部分核心代碼:

void PID_AutoTune_Task(void)
{
    
  if(pid.AutoRegurating_Status != START) return;


  /*定義臨界Tc*/
  float Tc = 0.0;
  
  static int start_cnt; //記錄最大值出現(xiàn)的時間
  static int end_cnt;  //記錄周期結(jié)束時的時間值 


    
  static uint16_t cool_cnt = 0; 
  static uint16_t heat_cnt = 0;
    
//  pid.Autotune_Cnt ++; //計數(shù)
  
  
  if((pid.Pv_position == UP) && (pid.Pv < pid.Sv)) 
 ? ?{
 ? ? ? ?cool_cnt ++;
 ? ? ? ?if(cool_cnt >= 3) //連續(xù)三次都越過,則說明真的越過了
    {
      pid.Pv_position = DOWN; //標(biāo)記當(dāng)前在下方了
      pid.Zero_Across_Cnt ++;  //標(biāo)記穿越一次
      cool_cnt = 0;
    }
  }
  else if((pid.Pv_position == DOWN)&&(pid.Pv > pid.Sv))//剛才在下方,現(xiàn)在在上方
  {
    heat_cnt++;
    if(heat_cnt >= 3) //連續(xù)三次都越過,則說明真的越過了
    {
      pid.Pv_position = UP;  //標(biāo)記當(dāng)前在下方了
      pid.Zero_Across_Cnt ++;  //標(biāo)記穿越一次
      heat_cnt = 0;
    }    
  }
  

實現(xiàn)模糊控制的核心代碼:

 ecFuzzy[1] = 1.0 - ecFuzzy[0];  
 /*********查詢模糊規(guī)則表*********/   
 num =  KpRule[pe][pec]; 
 KpFuzzy[num] += (eFuzzy[0]*ecFuzzy[0]); 
 num =  KpRule[pe][pec+1];  
 KpFuzzy[num] += (eFuzzy[0]*ecFuzzy[1]); 
 num =KpRule[pe+1][pec]; 
 KpFuzzy[num] += (eFuzzy[1]*ecFuzzy[0]);   
 num =  KpRule[pe+1][pec+1]; 
 KpFuzzy[num] += (eFuzzy[1]*ecFuzzy[1]); 
 /*********加權(quán)平均法解模糊*********/  
 Kp_calcu  =  KpFuzzy[0]*kpRule[0] +KpFuzzy[1]*kpRule[1]+ 
              KpFuzzy[2]*kpRule[2] +KpFuzzy[3]*kpRule[3]+ 
              KpFuzzy[4]*kpRule[4] +KpFuzzy[5]*kpRule[5]+ 
              +KpFuzzy[6]*kpRule[6];  


  printf(" %f,%f,%d,%d,kp = %f
", err, errchange, pe, pec, Kp_calcu);
 return(Kp_calcu);

實物展示

無刷電機(jī)控制:

ba7b5e20-9be7-11ee-8b88-92fbcf53809c.gif

整體定位控制:

ba9c9392-9be7-11ee-8b88-92fbcf53809c.gif

審核編輯:湯梓紅

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

    關(guān)注

    114

    文章

    17019

    瀏覽量

    183251
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    213

    文章

    29555

    瀏覽量

    211894
  • 電機(jī)
    +關(guān)注

    關(guān)注

    143

    文章

    9263

    瀏覽量

    148602
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    492

    瀏覽量

    63886
  • xr806
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    1442

原文標(biāo)題:XR806實現(xiàn)競技機(jī)器人先進(jìn)模糊控制器

文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    使用XR806聯(lián)調(diào)控制四足馬術(shù)機(jī)器人

    本項目使用XR806串口協(xié)議與大疆A板的stm32通訊,實現(xiàn)并聯(lián)四足機(jī)器人的單腿運(yùn)動學(xué)逆解與整體步態(tài)規(guī)劃,本文將講解項目所涉及的算法以及代碼實現(xiàn)步驟。
    的頭像 發(fā)表于 10-28 09:18 ?1180次閱讀
    使用<b class='flag-5'>XR806</b>聯(lián)調(diào)<b class='flag-5'>控制</b>四足馬術(shù)<b class='flag-5'>機(jī)器人</b>

    開源項目!教你如何復(fù)刻自平衡賽車機(jī)器人、智能家居中控、競技機(jī)器人先進(jìn)模糊控制器

    使用window10+VMware+ubuntu 18.04 這里不多闡述 按照官方文檔移植XR806的FreeRTOS 項目介紹 基于XR806——FreeRTOS為項目主控,部署先進(jìn)
    發(fā)表于 12-26 09:17

    先進(jìn)機(jī)器人控制

    先進(jìn)機(jī)器人控制》從控制的角度系統(tǒng)地介紹了機(jī)器人學(xué)的基礎(chǔ)知識和當(dāng)前的發(fā)展?fàn)顩r。全書共分為12章,由基礎(chǔ)篇、
    發(fā)表于 09-19 15:30

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

    XR806芯片介紹XR806是全志科技旗下子公司廣州芯之聯(lián)研發(fā)設(shè)計的一款支持WiFi和BLE的高集成度無線MCU芯片,支持鴻蒙L0系統(tǒng)。具有集成度高、硬件設(shè)計簡單、BOM成本低、安全可靠等優(yōu)點
    發(fā)表于 11-15 17:08

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

    XR806芯片介紹XR806是全志科技旗下子公司廣州芯之聯(lián)研發(fā)設(shè)計的一款支持WiFi和BLE的高集成度無線MCU芯片,支持鴻蒙L0系統(tǒng)。具有集成度高、硬件設(shè)計簡單、BOM成本低、安全可靠等優(yōu)點
    發(fā)表于 11-15 18:32

    XR806在線調(diào)試方法

    PRJCONF_SWD_EN 13、由于PB2和PB3是在__wrap_main()中初始化成調(diào)試接口的,所以上電并不是調(diào)試口,意味著不要使用jlink控制XR806進(jìn)入復(fù)位,不然大概率會跑飛。4、由于沒辦法控制
    發(fā)表于 12-02 09:56

    XR806芯片的mac地址要如何存放以及如何獲取

    XR806芯片系統(tǒng)異常重啟如何解決?XR806芯片如何更換打印log口?XR806芯片的mac地址要如何存放以及如何獲取?求解答
    發(fā)表于 12-28 06:42

    如何保證休眠時XR806芯片GPIO的電平狀態(tài)呢

    如何保證休眠時XR806芯片GPIO的電平狀態(tài)呢?XR808/XR809/XR871/XR872和XR8
    發(fā)表于 12-29 06:16

    【直播預(yù)告】全志XR806芯片應(yīng)用實戰(zhàn)分享

    /joinXR806優(yōu)秀開發(fā)例程《基于OpenHarmony的棋子分揀機(jī)》《用全志XR806開源鴻蒙開發(fā)板做一個四足行走機(jī)器狗》《【XR806開發(fā)板實戰(zhàn)】輕松連上華為云
    發(fā)表于 02-28 17:39

    【直播預(yù)告】全志XR806芯片應(yīng)用實戰(zhàn)分享會!

    /joinXR806優(yōu)秀開發(fā)例程《基于OpenHarmony的棋子分揀機(jī)》《用全志XR806開源鴻蒙開發(fā)板做一個四足行走機(jī)器狗》《【XR806開發(fā)板實戰(zhàn)】輕松連上華為云
    發(fā)表于 03-01 09:27

    全志XR806基于FreeRTOS下部署競技機(jī)器人先進(jìn)模糊控制器

    XR806的FreeRTOS 項目介紹 基于XR806——FreeRTOS為項目主控,部署先進(jìn)模糊控制器,
    發(fā)表于 11-30 14:01

    XR806開發(fā)板試用】使用編碼進(jìn)行調(diào)光

    之前做過一個LED調(diào)光的項目,這次想拿XR806實現(xiàn),后續(xù)打算加入遠(yuǎn)程控制的功能。
    的頭像 發(fā)表于 10-08 11:08 ?1094次閱讀

    全志XR806底板位號圖

    全志XR806底板位號圖
    發(fā)表于 10-19 15:11 ?0次下載

    全志XR806鴻蒙無線模組原理圖

    全志XR806鴻蒙無線模組原理圖
    發(fā)表于 10-19 15:11 ?7次下載

    全志XR806開發(fā)板原理圖

    全志XR806開發(fā)板原理圖
    發(fā)表于 10-19 15:11 ?12次下載

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品