例程開源鏈接:https://pan.baidu.com/s/1PpacwWdcqvmT4xJEspaojw?pwd=6edb 提取碼:6edb
初始設定與啟動
首先,我們啟動小車并觀察其運行情況。小車通過測量左右輪的路程差來進行方向調節。一旦找到尋跡的黑色線,即開始尋跡操作。我們使用了5個尋跡感應管來實現精確的尋跡功能。
尋跡過程
在第一圈中,我們可以看到小車迅速定位并開始尋跡。每一圈結束后,小車進行角度調整,通過調整左右輪的路程差來實現方向調節。尋跡過程中,小車沿著預設的角度前行,一旦再次檢測到黑色線,即刻重新開始尋跡操作。
控制策略概述
總體而言,我們的控制策略相對簡單明了:在空白區域通過左右輪的路程差進行實時方向調節,并在尋跡模塊檢測到線時立即切換到尋跡模式。在達到ABCD點后,我們先進行方向調整,將車輛轉向設定方向,然后執行路程差控制。
其中路程差進行方向調節實現代碼如下:
void task0(void) { IR_Check(); if(FLAG_ONir==1&&timecount>=300) //有傳感器了,聲光提示,停下 { StartFlag=0; setspeedr=0;setspeedl=0; // 停車 R_Pid_Ctrl(0,SPEED_RIGHT); L_Pid_Ctrl(0,SPEED_LEFT); beeponflag=1; } else { setrightroad=5000; setleftroad=5000; if(Flag_PID>=1) { if(rightroad>leftroad+10) {Flag_PID=0; Car_turnright(80,40);} else if(leftroad>rightroad+10) {Flag_PID=0; Car_turnright(40,80);} else {Flag_PID=0; Car_turnright(80,80);} R_Pid_Ctrl(setspeedr,SPEED_RIGHT); L_Pid_Ctrl(setspeedl,SPEED_LEFT); } } }
車輛轉角實現代碼如下:(以下代碼為左輪速不動,右輪轉動調角度)
void ToangleR(unsigned int targetangl, unsigned int picha) { do { if(Flag_PID>=1) { Flag_PID=0; R_Pid_Ctrl(15,SPEED_RIGHT); } if(Flag_Encode == 1) //標志位檢測執行 10ms 實時速度顯示 { Encode_Speed();Flag_Encode=0; } }while(targetangl+picha
此外,左右輪速度的控制也至關重要。我們采用閉環電機速度控制,確保在尋跡過程中左右輪速度能夠精確控制,以提高運動穩定性和直線行駛效果。
PID速度閉環實現代碼如下:(以下代碼為左輪速度閉環控制代碼。)
void L_Pid_Ctrl(unsigned int Target,unsigned int Real) //PID速度控制函數 { int Error=0; //本次差值,上次差值 float j=0.0,i; if(Target==0) { LastError=0; dError=0; SumError=0; outpwml=0; ATIM_SetCompare2B(outpwml); return; } Error =(Target-Real); //本次偏差 if(SumError*L_Ki>1600) //計算積分項 { SumError=1600; SumError=SumError/L_Ki; } // 輸出到最大值后,不再累計偏差,抗積分飽各 else SumError +=Error; dError=Error-LastError; //微分項,偏差的變化 LastError=Error; //記錄本次偏差,用于下次計算 i=L_Kp; j=Errori; i=L_Ki; * j=j+SumError*i; i=L_Kd; j=j+dError*i; if(j>1600)outpwml=1600+1; else if(j1)outpwml=1; else outpwml=j; ATIM_SetCompare2B(outpwml); }
調試過程中的挑戰
在實際調試過程中,我們遇到了幾個挑戰。首先是PID參數調節,這直接影響到小車的穩定性和精確性。其次是尋跡過程中的速度調整和轉向角度的精確控制,這些都需要仔細調整以保證最佳性能。
綜上所述,項目中涉及到多個參數,它們的合理調整直接影響小車的最終運行效果。我設定的是跑6圈,但實際上小車可以持續運行更多圈數,每一輪的積累反而會減小誤差,從而提高穩定性和準確性。
授人以漁,24電賽H題完賽資料開源,思想開源-(1)硬件講解21 播放 · 0 贊同視頻
?
授人以漁,24電賽H題完賽資料開源,思想開源-(2)軟件講解65 播放 · 0 贊同視頻
?
授人以漁,24電賽H題完賽資料開源,思想開源-(3)控制思想講解29 播放 · 0 贊同視頻
審核編輯 黃宇
-
開源
+關注
關注
3文章
3133瀏覽量
42079 -
控制策略
+關注
關注
0文章
24瀏覽量
8934 -
尋跡
+關注
關注
0文章
6瀏覽量
12513 -
CW32
+關注
關注
1文章
168瀏覽量
502
發布評論請先 登錄
相關推薦
評論