首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

自學習循跡移動機器人模型設計與實現:MCU 核心、雙輪差速、閃存記憶與避障轉移法

     編輯:關於C語言

一、 系統總覽

採用 AT89C51 MCU 為核心,雙後輪差速驅動,具備道路學習記憶與循跡重現功能。支援地圖仿真訓練、避障繞行、光線自適應、LCD 里程顯示、狀態指示燈、故障報警。

二、 硬體架構

  • 核心:AT89C51 (8 位元、高性價比、豐富外設)
  • 儲存:24LC256 (256KB I²C EEPROM) 存儲路徑速度數據
  • 驅動:L293B 雙 H 橋驅動兩後輪直流馬達
  • 測速:光電開關 + 均勻小孔圓盤 + CD4024 計數器 → 脈衝計數換算速度
  • 感測:光敏電阻 (環境光)、PicoDot PD 系列雷射測距傳感器 (避障)
  • 介面:LCD 顯示里程、LED 指示狀態、蜂鳴器報警

三、 關鍵算法設計

1. 測速模型

  • 圓盤孔數 L,取樣週期 T (30ms),計數 M。
  • 圓盤轉速 N = M / (L·T),車輪轉速 N/5 (皮帶輪比 1:5)。
  • 速率數據經 MCU 存入 24LC256。

2. 道路學習記憶流程

  1. 人工遙控/推引機器人走預定路線。
  2. 每 T=30ms 讀取左右輪速率 (VL, VR) 存入閃存。
  3. 訓練結束,閃存保存完整「速度-時間」序列。

3. 循跡重現與閉環控制

  1. MCU 從閃存讀取歷史速率序列。
  2. 每 T=30ms 輸出目標 PWM,驅動馬達。
  3. 回授校正:每週期內每 5ms 計數 1 次,共比對 6 次。
    實測速率 < 目標 → 加速子程式;> 目標 → 減速子程式。
  4. 誤差極小,軌跡高度吻合訓練路徑。

4. 避障轉移法 (創新點)

遇障礙物時,不重新規劃,改用幾何轉移繞行並回歸原路徑:

原路徑段 AD → 轉移為 BC
A 點左轉 90° → 勻速 v 前進 t1 到 B
B 點右轉 90° → 恢復原記錄數據前進 t2 到 C
C 點轉角 θ (θ=90° - 輪距差/輪距) → 勻速 v 前進 t1 到 D
D 點反向轉 θ 回歸原方向 d1 // d1 平行 AD
// BC 運動等效於 AD,完美繞過矩形障礙物並回歸原軌跡

t1/t2 由雷射測距依障礙物大小動態決定。

5. 地圖仿真縮放

訓練於縮圖地圖,輸出時按比例放大 PWM 週期/里程,靈活適應不同實際場景。

四、 軟體流程

  • 學習流程:初始化 → 讀取測速脈衝 → 計算速率 → 存入 EEPROM → 循環至訓練結束。
  • 重現流程:初始化 → 讀取 EEPROM → 輸出 PWM → 回授比對 (6次/週期) → 修正 PWM → 循環至結束。
  • 避障流程:偵測障礙 → 中斷讀取 → 執行轉移序列 (左轉→直行→右轉→恢復數據→轉角→直行→反轉) → 回歸主循環。

五、 優勢總結

六、 應用場景

核反應堆管道巡檢、火場/毒氣環境偵測、醫院物資/病歷傳遞、工廠搬運、室內服務機器人。

總結

該模型以低成本 8051 MCU 為核心,創新結合速度序列記憶 + 閉環 PWM 控制 + 幾何避障轉移法,實現了無需複雜 SLAM/視覺即可達到高精度循跡與自主避障,極大降低了移動機器人部署門檻,具備高度工程實用價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
對比對象本模型優勢
無線遙控可工作於電磁屏蔽環境 (礦井、核設施)
有線遙控無需人工即時操作,自主完成,精度高、效率高
固定軌道 (AGV)擺脫軌道限制,路徑靈活可重訓練,適應範圍廣