?

基于STM32的全向移動機器人設計

2022-11-22 09:08劉源杰何玉靈潘圓媛匡江華
信息記錄材料 2022年9期
關鍵詞:移動機器人后輪前輪

黃 充,劉源杰,何玉靈,潘圓媛,匡江華

(1江西制造職業技術學院 江西 南昌 330095)

(2南昌工程學院江西省精密驅動與控制重點實驗室 江西 南昌 330099)

0 引言

近年來科技在高速發展[1],隨著電子科技的逐漸完善和物聯網的普及,關于移動機器人的研究朝著現代化、智能化、小型化的方向發展。而集成控制、通信、傳感技術于一體的輪式機器人作為機器人行業的典型代表,在汽車、機械、物流等行業有著大量應用。由于人類涉足的范圍在不斷地擴大,有些地方人無法到達,如深山、發生災難的地下、坍塌的樓房等,這些地帶都有著極高的危險性。傳統的移動機器人大多受輪胎結構的限制,移動的靈活性降低,活動范圍受限,難以滿足人們對智能移動機器人的要求。本文設計的全向移動機器人可通過PS2無線遙控手柄遠程控制機器人進行前后移動、平移、斜移等多個方向運動以及移動速度的設定,并且由霍爾編碼器測得的實際速度與給定速度進行處理,結合增量式PID算法獲得四個電機輸出控制量,減少當移動機器人遇到不同的路況因地面摩擦力的不同導致行進速度偏離預設速度的發生率。

1 機器人總體架構及設計

1.1 控制系統總體設計

本文設計的基于STM32的移動機器人,主要實現全方位移動、無線通信等功能,控制系統框圖如圖1所示。該系統主要由STM32單片機、電源模塊、PS2無線遙控手柄、按鍵模塊、電機驅動模塊、直流減速電機、麥克納姆輪構成。為了高效實現系統的功能,單片機需要完成與各個模塊之間的信號傳輸,對單片機在省電、處理速度等性能方面有較高要求[2],因此移動機器人選擇型號為STM32F103ZET6作為主控芯片。電機選用裝有AB雙相霍爾式編碼器的大扭矩減速電機,其中可承重60 kg、額定扭矩為2.5 N*m、額定轉速為350 rpm,與電機聯軸器相連的麥克納姆輪(輪子直徑127 mm)組成行進機構實現多方向運動?;魻柧幋a器用于檢測機器人運動速度,選用WSDC2412D雙通道驅動器作為驅動模塊,采用增量式PID控制算法對給定速度和實際速度的值進行處理,調整輸出PWM波實現穩速控制,實際速度由霍爾編碼器測得反饋給STM32單片機從而實現閉環控制。

圖1 總體設計框圖

1.2 移動機器人底盤結構設計

本文所設計的機器人底盤結構由電機、麥克納姆輪以及鋁合金結構件組成,四個大扭矩直流減速電機分別由兩個雙通道的驅動器驅動,采用四輪驅動的方式保證機器人在運動的過程中有更好的驅動力以及更高的穩定性和安全性。傳統的移動機器人采用普通輪胎難以在不改變自身姿態的前提下完成多種運動方式,故四個輪子采用結構緊湊、靈活性強的麥克納姆輪底盤示意圖如圖2所示,輪子的布局方式要以移動機器人中心對稱的方式使其有三自由度運動能力實現全方向移動,以便在有限的活動空間內能夠靈活運動,圖3為移動機器人底盤結構實物圖。

圖2 移動機器人底盤示意圖

圖3 移動機器人底盤結構實物圖

2 硬件設計

2.1 雙通道直流減速電機驅動模塊

采用WSDC2412D雙通道電機驅動模塊驅動四個獨立的直流減速電機控制輪式機器人運動。驅動模塊內部含兩個高電壓大電流的全橋式驅動器,兩個通道都能夠允許通過12 A的持續電流和峰值電流能夠達到70 A。驅動器內部各個器件模塊時序高度優化,可調節的PWM范圍較大,PWM輸入脈寬可低至2 us[3]。板載過熱、過壓、欠壓保護電路,內部結構簡圖如圖4所示,降低驅動器在高溫高壓等異常工作情況下短路甚至燒毀的可能性,狀態指示燈實時顯示驅動器運行狀態。

圖4 驅動器內部結構簡圖

邏輯部分的控制信號均進行電氣隔離,充分兼容單片機3~5 V的電壓輸入,顯著增強了單片機電路的安全性;驅動模塊供電范圍Vs為6~28 V,功率電源電流最大值為24 A,支持7~24 V供電級別減速電機。INAx、INBx為邏輯輸入端,x對應1或2兩個通道號,引腳的輸入電平標準的邏輯級別,不受其他信號干擾。通過改變STM32單片機引腳輸出的邏輯,電平可控制電機的正轉、反轉以及制動,輸入信號懸空時為高電平狀態。

2.2 麥克納姆輪

麥克納姆輪由Mecanum AB公司的瑞典科學家Bengt Erland IIon于上世紀70年代發明,目前被廣泛應用于物流倉儲自動化、自動化工廠和智能泊車設備等。輪子主要由輪轂、輥子和輥子軸構成[4],輪轂是支撐架,輥子沿與輪轂夾角45°的方向平行排列,所有輪子均為主動輪,當輪轂沿同一方向轉動,輥子與地面產生的摩擦力與輪轂滾動方向相反,阻礙輪轂的轉動。

移動機器人的工作狀態,主要是由WSDC2412D雙通道驅動模塊驅動四個直流減速電機結合麥克納姆輪組合成的運動執行機構決定,根據對四個輪子的協調控制能夠實現前進后退、左右平移、斜移、順時針或逆時針自轉等多種運動方式。

圖5 輪式機器人示意圖

圖5為輪式機器人示意圖,輪的滾動帶動機器人移動規則如下:

當四個輪均向正向轉動時,機器人將向前移動;

當四個輪均向反向轉動時,機器人將向后移動;

當左前輪1、右后輪4反向轉動,右前輪2、左后輪3正向轉動,機器人將向左移;

當右前輪2、左后輪3反向轉動,左前輪1、右后輪4正向轉動,機器人將向右移;

當左前輪1、左后輪3反向轉動,右前輪2、右后輪4正向轉動,機器人將逆時針自轉;

當右前輪2、右后輪4反向轉動,左前輪1、左后輪3正向轉動,機器人將順時針自轉;

當左前輪1、右后輪4正向轉動,右前輪2、左后輪3不動時,機器人將向右上移動;

當左前輪1、右后輪4反向轉動,右前輪2、左后輪3不動時,機器人將向左下移動;

當右前輪2、左后輪3正向轉動,左前輪1、右后輪4不動時,機器人將向左上移動;

當右前輪2、左后輪3反向轉動,左前輪1、右后輪4不動時,機器人將向右下移動。

2.3 PS2無線手柄

機器人要完成多種運動方式以及速度控制主要通過讀取PS2手柄發送的按鍵信息或者遙控信息,如無線手柄負責傳輸按鍵信息,無線接收器與STM32單片機相連,用于接收手柄的信息;當單片機接收到手柄信息后將發送設定的控制信息至電機驅動器,從而驅動電機轉動帶動麥克納姆輪實現機器人的多方位運動。

PS2的信號接收器一共有9個引腳,對照實物圖引腳分配從左往右依次為DI/DAT、DO/CMD、空端口、GND、VDD、CS/SEL、CLK、空端口和ACK。DI/DAT和DO/CMD引腳分別是手柄到單片機、單片機到手柄的流向端口,屬于全雙工通信模式。CS/SEL引腳提供手柄觸發信號,在正常通信過程中置于低電平。

PS2通信具體流程:在CS觸發信號發生時,手柄開始進入通信狀態,CS拉低電平,在完整8 bit數據通信完成之后轉高電平。CLK時鐘信號為下降沿是進行數據收發,上升沿DI/DO數據存在交叉現象,數據不穩定。當STM32讀取手柄的按鍵信息時,首先將CS的電平置為低電平并發送“0x01”命令,手柄將發送相應ID信息即“0x41為綠燈模式,0x73為紅燈模式”;同時,控制板將發送“0x42”的請求數據的命令,隨后手柄發送“0X5A”[5]作為應答信號,此時單片機開始接收數據,本系統可以分別通過按鍵和遙桿對移動機器人的運動方式、運動的速度進行控制。

3 增量式PID控制算法實現

由于全向移動機器人需要實現工作的環境和條件復雜多變,在運動的過程中電機轉速控制顯得尤為重要,誤差分析和優化處理必不可少。本文采用PID調節方式來對機器人運動狀態調整,傳統的PID算法結構框如圖6所示,PID算法精確能夠滿足相當多的工業對象控制要求,尤其適用于可建立精確模型的確定性系統,該算法操作簡單、魯棒性強、可靠性高、實用性強。PID控制器用于范圍廣泛的問題:過程控制、電機驅動、磁性和光學記憶、汽車、飛行控制、儀器儀表、控制器等有多種不同的形式。

圖6 傳統PID算法框圖

采用增量式PID控制算法相較于位置式PID算法主要是因為沒有誤差累積現象,控制增量ΔU(k)與本次采樣值、上兩次采樣值均相關。由于控制增量ΔU(k)只和三次采樣相關,可以縮短故障點范圍。在控制過程中存在手動與自動相互切換時對應沖擊小,基本上可以做到無干擾切換。

在實現閉環轉速控制過程中,主要使用增量式PID算法對給定速度與編碼器測得的實際速度值進行處理,得出控制量,有著高效、響應快、誤差小的特性。轉速控制PID算法控制流程為預設的目標轉速值與通過霍爾編碼器測得的實際轉速進行比較,計算出誤差e(k)。根據增量式PID運算公式計算出控制增量ΔU(k),再和U(k)相加得出控制輸出量,控制算法如下式[6]:

式(1)中:e(k)代表本次偏差;e(k-1)代表上次偏差;e(k-2)代表上上次偏差;Kp代表比例系數,Ki代表積分系數;Kd代表微分系數。

4 程序設計與實現

系統程序采用模塊化編程思想,將初始化配置、電機驅動、無線遙控等程序進行封裝,在編寫程序過程中只需調用即可,便于測試過程中能夠高效地解決問題且移植性能好,可縮短開發周期。

4.1 系統主程序設計

系統上電后,STM32單片機初始化,串口中斷以及定時器初始化,電機驅動子程序、無線遙控子程序完成初始化,圖7為系統主程序設計。移動機器人有按鍵和遙桿兩種模式,遙控手柄啟動后與接收器信號相通,默認配置為按鍵模式。每個按鍵鍵值傳輸給單片機處理后發送到電機驅動模塊,電機驅動模塊驅動電機實現不同的正反轉狀態,組成多種運動模式。

圖7 系統主程序流程圖

4.2 電機驅動程序設計

電機子程序初始化完成后,根據給定的轉速輸出對應的PWM波以及通過改變電機驅動模塊對應引腳的邏輯電平來實現電機的正反轉。采用霍爾式編碼器測速,程序內部開啟定時計數器在設定的時間內捕獲輸出有效脈沖信號個數計算出電機轉動速度,并通過增量式PID算法,將速度偏移量進行補償形成閉環控制,圖8為電機驅動電路子程序流程圖。

圖8 電機驅動電路子程序流程圖

5 結論

本文設計的以麥克納姆輪為驅動輪的全向移動機器人,可完成一般移動機器人不能進行的平移、斜移以及原地自轉等運動,并且結合增量式PID控制算法保證了在運動過程中速度的穩定。同時,采用PS2無線遙控手柄發送指令進行遠程控制,機器人能夠在活動范圍較窄、空間存在較多障礙物以及需要頻繁變換運動方向的工作場景中提高工作效率、降低時間成本。

猜你喜歡
移動機器人后輪前輪
2019款起亞K5 Pro車左后輪電子駐車制動功能失效
移動機器人自主動態避障方法
移動機器人路徑規劃算法綜述
室內環境下移動機器人地圖構建與路徑規劃技術
創意涂鴉
基于多傳感器融合的機器人編隊ADRC控制
前輪和后輪
后輪主動轉向和可變轉向傳動比對輔助轉向系統的影響
拆前輪不蹭碟
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合