999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Arduino的輪式移動機器人速度控制模式比較

2017-07-06 11:03:17王凱正張華達張會琪
關鍵詞:移動機器人

王凱正,林 棻,張華達,張會琪

(南京航空航天大學 車輛工程系, 南京 210016)

?

基于Arduino的輪式移動機器人速度控制模式比較

王凱正,林 棻,張華達,張會琪

(南京航空航天大學 車輛工程系, 南京 210016)

目前對于Arduino平臺的輪式移動機器人的控制都是基于硬件自帶的IDE環境,但在該環境下程序可讀性差、調試困難,且很難采用高級控制算法。針對以上問題,提出了2種基于Arduino平臺的輪式移動機器人速度控制模式。第1種控制模式為離線模式,即將上位機中的控制模型下載至Arduino控制器進行離線運算,并將返回的數據通過Simulink的圖形處理界面進行實時監控;第2種控制模式為在線模式,即將Arduino控制器采集的速度等信號返回上位機處理運算,將經過處理運算的數據反饋至Arduino控制器對輪式移動機器人進行在線控制。通過PID算法對2種控制模式進行了實車試驗對比。結果表明:此兩種模式均能對速度進行精確控制,在線模式具有更好的速度跟蹤精度和響應速度。

輪式移動機器人;Arduino;速度控制;PID算法

輪式移動機器人可以工作在各種惡劣危險環境中,具有成本低、試驗方便、試驗重復性好、不易受到外界環境的干擾等優點,在許多領域得到了廣泛應用[1]。因此,為了使輪式移動機器人在最佳狀態工作,研究其速度控制方法是非常有必要的[2]。Arduino是一款便捷靈活、方便上手的開源電子原型平臺,其顯著特點是價格低廉,并具有豐富的功能引腳,能夠簡單地與各類傳感器、電子元件和諸多擴展功能模塊結合,實現系統級應用[3-4]。

通常輪式移動機器人對速度的控制是應用脈沖寬度調制(pulse width modulation,PWM)技術和PID控制策略直接編寫成程序代碼來實現的。這種方法對編程能力和邏輯思維能力要求高,存在控制算法復雜、程序調試不便、容易出錯等缺點。Matlab已有高級算法集成工具箱,采用Matlab來編寫控制算法,無需編程人員從底層編寫。此外,Matlab強大的數據處理和監控功能也是IDE環境所不能比擬的。Matlab可以離線仿真調試,還可以硬件在環調試,提高了研究效率、縮短了開發周期,可快速完成設計任務。從2013版Matlab開始可以從官網下載Arduino支持包,這使得將Simulink作為Arduino的軟件開發平臺變得更加便捷和規范[5]。

利用Simulink和Arduino,將Simulink控制系統框圖下載至Arduino控制器,使框圖在控制器中獨立進行離線運算,自行對速度進行控制,并將返回的數據通過Simulink的圖形處理界面進行實時監控。本文稱這種方法為離線模式。第2種方法是采用Arduino控制器采集速度等數據,并通過串口返回數據至上位機,利用Simulink進行運算處理。將經過運算處理的數據反饋至Arduino控制器對輪式移動機器人進行在線控制。本文稱這種方法為在線模式。本文應用這兩種思路,分別設計出了適合于兩種處理器的速度PID控制框圖,并進行了實物調試。

1 離線模式下Simulink控制模型的建立

本文采用的控制器為Arduino UNO。該控制板的I/O接口分為數字和模擬兩種,有專門的PWM輸入和輸出,可以與Matlab進行交互式聯合仿真,從而可以將復雜控制系統模型下載至控制器芯片中進行離線控制。

1.1 電機正反轉判定

輪速控制可以通過測速傳感器實現。本設計所使用的是光電編碼器,所以這里僅介紹增量式編碼器。增量式編碼器的工作原理:將角位移轉換成周期性的電信號,再把電信號轉變成計數脈沖,用脈沖的個數表示位移的大小。增量式編碼器輸出為方波脈沖相位差90°的A、B相,根據兩相脈沖的上升下降沿可方便判斷出電機旋轉的方向。

在Simulink中建立如圖1所示的離線模式控制系統框圖。電機通過Enable Motors模塊控制。H型全橋式電路是最常見的、也是相對簡單的直流電機驅動控制電路。當使用L293D 芯片來對直流電機進行驅動時,可通過施加電壓的方向和電流的方向實現電機正反轉,因此電機控制模塊包含4個數字輸出端口,通過給定的高電壓和低電壓來進行電機正反轉控制。

1.2 輪速測量模塊設計

離線模式控制系統框圖有2個輸入信號,分別對應電機的2個相位轉速傳感器信號,通過轉速傳感器傳回的相位差判斷電機的正反轉。經過反復測試,Arduino支持包提供的算例中測速模塊有較大的誤差[6],因此本文采用自主編寫的encoder 測速模塊來采集固定時間的脈沖數,如圖2所示。由于相位轉速傳感器有2個,因此可以采用平均值來減小誤差。若采集的時間過短,采集周期內所采集的脈沖數過少,隨著速度變化,脈沖數變化幅度比較小甚至不變,導致脈沖數和PWM值對應關系不明確,容易產生較大誤差;若采集周期過大,則無法滿足機器人對速度的實時性的要求。因此,經過反復嘗試,本文采集0.1 s內的脈沖個數[7]。

圖1 離線模式控制系統框圖

圖2 encoder測速模塊

由于硬件傳感器以及外界擾動等因素,轉速傳感器和控制器采集的0.1 s內的脈沖數會在穩定值附近波動。此誤差會因多級轉換運算而被放大,造成控制器難以對速度進行精確跟蹤,輪速控制也無法快速收斂到穩定值。另外,輪速測量會產生毛刺,使控制器重新參與速度運算,造成轉速頻繁抖動。

為了使小車能平穩運行和變速,本研究增加了change模塊(如圖3所示),濾除掉幅值為1的波動誤差,旨在不影響機器人自主數據采集以及數據運算精度的前提下,減小甚至消除處理器采集脈沖數據時產生的誤差。

圖3 誤差消除change模塊

1.3 輪速控制與實時監控

通過脈沖數和PWM對應轉化模塊計算出相應的PWM數值輸入到Arduino控制器的PWM引腳。直流電機的PWM控制是通過調節驅動送到電機電樞電壓的幅值達到改變直流電機轉速的目的。PWM的取值范圍為0~255,當輸入為0時,輸出占空比為0的PWM信號;當輸入為255時,輸出占空比為1的PWM信號。在驅動過程中,通過改變PWM占空比等參數即可實現車速大小、方向的改變,從而實現對車速的控制。

由Simulink編寫的控制系統框圖可完全在Arduino控制器中運行,并通過Arduino支持包里自帶的Serial Transmit模塊[8]將控制器的數據通過串口發送至上位機。由于控制器傳回的數據為當前速度對應的PWM值,并非速度值,所以需要進行相應的轉化。上位機將數據進行接收后轉化為對應的速度在示波器中顯示,并存儲數據以便后期處理,如圖4所示。由此可實現對電機轉速的實時監控。

2 離線模式下PID控制模型的建立

2.1 PID控制原理

PID控制[9]是發展較為成熟的控制策略之一,它將偏差的比例(P)、積分(I)和微分(D)通過線性組合綜合構成控制量,對被控對象進行控制。在控制系統建模仿真中,該算法簡單實用,并有較高的可靠性,因此在生產過程中是一種普遍采用的控制方法。PID 控制系統原理如圖5所示。

圖4 上位機數據接收框圖

圖5 PID 控制系統原理框圖

1) 比例部分的作用是為了及時成比例地反映控制系統的偏差信號,以最快速度產生控制作用,使偏差減小。

2) 積分部分的作用主要是為了保證被控量在穩態時對設定值的無靜差跟蹤。

3) 微分部分的作用主要是為了改善閉環系統的穩定性和動態響應的速度。

以微處理器為硬件核心的控制系統為離散時間控制系統。PID控制采用的差分方程表示如下:

(1)

式中:u(n)為第N采樣周期時的輸出;en為第N采樣周期的偏差;N為采樣周期。

令Δen=en-en-1,則有

(2)

令Ki=Kp/Ti,Kd=Kp/Td,則有

(3)

為了避免在求取控制量u(t)時對偏差求和運算,在實際應用中通常采用增量式:

Δu(n)=u(n)-u(n-1)

(4)

由于

并且

Δen=en-en-1

Δen-1=en-1-en-2

所以有

Δu(n)=Kp(en-en-1)+KiTen+

(5)

也可以寫作

(6)

2.2 PID控制模型調試

本文研究的輪式移動機器人如圖6所示,由Arduino控制器、直流減速電機、超聲波傳感器、速度傳感器等幾個部分組成,只需要將Simulink中的相關控制程序下載至Arduino控制器中,就可以離線驅動小車進行前進、后退、轉彎、避障、循跡等。

圖6 輪式移動機器人實物模型

需要注意的是,實物中設置的采樣時間和Simulink串口接收模塊必須保持一致,并且上位機和控制器必須采用同樣的通信串口。本文選取0.005 s作為的Arduino控制器和Simulink控制系統的采樣時間,即控制器端和上位機每隔0.005 s傳輸和接收1次數據,因此選取離散化的PID控制器。將Arduino控制器與Simulink進行仿真交互,實時監控串口返回的數據,改變PID參數進行調試。經反復嘗試,當參數P=10,I=35,D=0時,控制效果最好。

圖7和圖8為當參數P=10,I=35,D=0時的PWM曲線和對應的速度曲線。

圖7 離線模式下PWM曲線

圖8 離線模式下速度曲線

由圖7和圖8可以看出:采用離線模式能對電機轉速進行良好的控制。本文預設PWM參數穩定值為200,對應速度值為0.838 m/s。在此參數下PWM峰值為209,對應速度值為0.855 m/s。電機在0.4 s時間內從靜止達到預定的轉速并保持穩定,最終穩定值為196,對應速度為0.821 m/s,超調量為6.63%,穩態誤差為2%。由此可見,此控制器將0.1 s作為脈沖數的采集周期,符合圖7和圖8所示的每0.1 s速度發生變化的曲線規律。

3 上位機在線模式下PID控制模型的建立

3.1 數據采集模塊設計

因上位機和Arduino采用不同的處理器進行運算,并且涉及到串口接收和發送數據的同步問題,在該模式下,控制器采集數據,上位機處理數據。針對這種情況設計如圖9所示的控制結構在上位機中進行運算,同時設計控制器信息接收模塊僅用于接收和傳遞數據,如圖10所示。該部分仍需下載至控制器。

圖9 上位機處理PID控制系統原理框圖

圖10 控制器信息接收模塊框圖

在線模式下處理PID控制系統模型與離線模式下有區別,因此串口接收模塊采用能讀取二進制數據的Serial Receive和Serial Send模塊進行數據傳輸。由于上位機和Arduino控制器默認字符類型分別為double(雙精度十進制)和unit8(無符號二進制),所以將數據傳入串口前需要進行字符類型轉換[10]。同時因為uint8字符類型的范圍為0~255,所以為了防止數據溢出,要在數據傳輸之前進行相應減小,并在控制器接收數據后進行還原。

根據圖10中的Serial Receive串口接收數據模塊的使用特性,當有數據輸入時,Status口判定為1,Data口輸出串口數據;當無數據輸入時,Status口判定為0,Data口輸出255。上位機選取的采樣時間為0.005 s,數據傳輸并非連續,且在真值和255之間跳動,如圖11所示。這主要是因為上位機和控制器建立連接需要時間,以及數據的測量精度問題。

圖11 未處理的接收數據

當Status狀態為0時,需要將Data口輸出的255濾掉,防止干擾對正確速度的判斷和計算。處理后的數據如圖12所示。

圖12 處理后的輸入數據

3.2 PID控制模型調試

將圖10中的控制系統框圖下載至控制器中進行實車試驗。確認采樣時間相同、串口匹配,將Arduino與上位機相連,改變PID參數進行調試。為方便比較,本方法采用與離線模式相同的參數,即P=10,I=35,D=0,采樣時間為0.005 s。圖13和14分別為在線模式下PWM值和對應轉換的速度。

圖13 在線模式下PWM曲線

圖14 在線模式下速度曲線

由圖13和圖14可以看出:采用在線模式能對電機轉速進行良好的控制。在線模式與離線模式采用同樣的參數,即 PWM參數穩定值為200,對應轉速為0.838 m/s。在線模式在此參數下的PWM峰值為207,對應速度值為0.838 m/s,能使機器人在0.4 s時間內從靜止達到預定的轉速并保持穩定,最終穩定值為199.98,對應速度為0.838 m/s,超調量為3.5%,穩態誤差為0.01%由此可見,此控制器將0.1 s作為脈沖數的采集周期,符合圖13和圖14所示的每0.1 s速度發生變化的曲線規律。

將圖7和圖13以及圖8和圖14對比可以看出:在相同參數下離線模式和在線模式均能在0.4 s 達到穩定速度;但是在線模式下超調量僅為3.5%,低于離線模式下的6.63%,且靜態誤差只有0.01%。與離線模式相比,在線模式更能精確地對速度進行控制。

由于采用在控制器獨立運行的方法,存在每次參數調整都要重新對框圖進行下載燒錄以及控制器對Matlab個別框圖支持不到位的缺點,使得用上位機進行運算處理的方法更勝一籌。隨著算法研究的不斷深入和控制框圖容量的增大,對處理器性能要求也逐漸增加,因此采用上位機進行在線運算處理的方法對大型控制算法的運算能力要強于Arduino處理器單獨運算的方法。

4 結束語

本文提出了2種基于Arduino的輪式移動機器人速度控制模式,即離線模式和在線模式。以輪式移動機器人速度為控制對象,分別編寫兩種模式下的PID控制框圖,并進行實車對比和驗證。

實驗結果表明:采用相同控制參數,在線模式對于速度控制的超調量更小、穩態誤差也低于離線模式。因此,在線模式具有更好的速度跟蹤精度和響應速度。

采用此兩種方法,只須將精力放在控制算法上,大大縮短設計和調試周期,有著傳統c語言程序編寫算法無法比擬的巨大優勢,可為以后更高級的控制算法開發奠定基礎。

[1] 陳懂.輪式移動機器人運動控制系統的研究與實現[D].南京:東南大學,2005.

[2] YU H,KARIMIH R,ZHU X.Research of smart car’s speed control based on the internal model control[J].Abstract and Applied Analysis,2014(7):1-5.

[3] 蔡睿妍,Arduino的原理及應用[J].電子設計工程,2012(16):155-157.

[4] ALESSANDRO D’Ausilio.Arduino:A low-cost multipurpose lab equipment[J].Behavior Research Methods,2012,44(2):305-313.

[5] BARBER R,HORRA M,CRESPO J.Control Practices using Simulink with Arduino as Low Cost Hardware[J].IFAC Proceedings Volumes,2013,46 (17):250-255.

[6] Mathworks Corp.User’s Guide R2013a[Z].2013.

[7] 李山,王民慧.智能車車速檢測與控制模塊設計[J].工業控制計算機,2013, 26(9):135-136.

[8] 梁湘,基于MATLAB的數據實時采集與處理的實現[J].科技信息,2008(9):44-45.

[9] 李曉丹.模糊PID控制器的設計研究[D].天津:天津大學,2005.

[10] 劉秀,用Matlab實現硬件端口采集的方法[J].兵工自動化,2003,22(3):58-60.

(責任編輯 劉 舸)

Comparison of Speed Control Modes of Wheeled Mobile Robot Based on Arduino

WANG Kai-zheng, LIN Fen, ZHANG Hua-da, ZHANG Hui-qi

(Department of Automotive Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016,China)

Currently the control of wheeled mobile robot based on Arduino is dealt with the IDE programming environment. Under the environment, the program is difficult to read and debug, and it is also complex to use the advanced control algorithm. In order to overcome the above defects, two kinds of speed control modes are proposed. The first mode is offline mode, and the control model of host computer is downloaded to the Arduino controller for operation, and the returned data is monitored in real time through the graphical interface of Simulink. The second mode is online mode, the speed and other signals collected from the Arduino controller are returned to the host computer to process. The processed data is fed back to the Arduino controller to control the wheeled mobile robot. Two control modes are compared by PID algorithm under real robot condition. Test results show that the speed can all be accurately controlled in the two modes, online mode has better speed tracking accuracy and response speed.

wheeled mobile robot;Arduino;speed control;PID algorithm

2017-02-21

中央高校基本科研業務費專項資金資助項目(NS2015015);中國博士后科學基金資助項目(2016M601799);南京航空航天大學研究生創新基地(實驗室)開放基金資助項目(kfjj20160207,20170215)

王凱正(1992—),男,山東青島人,碩士,主要從事車輛動力學與控制,E-mail:653935270@qq.com;通訊作者 林棻(1980—),男,江蘇南京人,博士,副教授,主要從事車輛動力學與控制研究,E-mail:flin@nuaa.edu.cn。

王凱正,林棻,張華達,等.基于Arduino的輪式移動機器人速度控制模式比較[J].重慶理工大學學報(自然科學),2017(6):70-77.

format:WANG Kai-zheng, LIN Fen, ZHANG Hua-da,et al.Comparison of Speed Control Modes of Wheeled Mobile Robot Based on Arduino[J].Journal of Chongqing University of Technology(Natural Science),2017(6):70-77.

10.3969/j.issn.1674-8425(z).2017.06.010

TP273

A

1674-8425(2017)06-0070-08

猜你喜歡
移動機器人
移動機器人自主動態避障方法
移動機器人VSLAM和VISLAM技術綜述
基于改進強化學習的移動機器人路徑規劃方法
基于ROS與深度學習的移動機器人目標識別系統
電子測試(2018年15期)2018-09-26 06:01:34
基于Twincat的移動機器人制孔系統
室內環境下移動機器人三維視覺SLAM
簡述輪式移動機器人控制系統中的傳感器
未知環境中移動機器人的環境探索與地圖構建
極坐標系下移動機器人的點鎮定
基于引導角的非完整移動機器人軌跡跟蹤控制
主站蜘蛛池模板: 丰满人妻久久中文字幕| 亚洲欧美另类中文字幕| 亚洲性影院| 成人一级黄色毛片| 欧美日韩国产精品综合| 国产无码性爱一区二区三区| 最新精品久久精品| 亚洲男女天堂| 天天综合色网| 2022国产无码在线| 尤物成AV人片在线观看| 美女内射视频WWW网站午夜| 精品少妇人妻一区二区| 国产乱子伦视频在线播放| 国产香蕉在线视频| 国模视频一区二区| 欧美成人亚洲综合精品欧美激情| 全午夜免费一级毛片| 日韩欧美网址| 国产青榴视频在线观看网站| 日本手机在线视频| 久久精品免费看一| 国产无码精品在线| 日韩精品一区二区三区免费| AⅤ色综合久久天堂AV色综合| 精品一区国产精品| 午夜高清国产拍精品| 国产91无码福利在线| 日韩无码视频网站| jizz亚洲高清在线观看| 国产乱子伦视频三区| 国产精品妖精视频| 亚洲天堂免费在线视频| 一本大道无码高清| 成人欧美日韩| 97se综合| 伊人久久福利中文字幕| 国产精品久久久久久久伊一| 国产va视频| 99热国产这里只有精品9九| 久草热视频在线| 成人一区专区在线观看| 凹凸精品免费精品视频| 精品一區二區久久久久久久網站 | 动漫精品中文字幕无码| 91原创视频在线| 在线播放真实国产乱子伦| 2024av在线无码中文最新| 美美女高清毛片视频免费观看| 18禁黄无遮挡网站| 久久精品波多野结衣| 福利一区三区| 亚洲精品波多野结衣| 亚洲中文字幕日产无码2021| 91极品美女高潮叫床在线观看| 亚洲国产精品不卡在线| 久久久噜噜噜久久中文字幕色伊伊 | 99热这里只有精品免费| 国产人成乱码视频免费观看| 91高清在线视频| 亚洲欧美一级一级a| 国产SUV精品一区二区6| 毛片视频网址| 国产小视频在线高清播放| 国产性爱网站| 成人免费一区二区三区| 亚洲美女操| 国产精鲁鲁网在线视频| 伊人久久大香线蕉aⅴ色| 国产乱子精品一区二区在线观看| 女人18毛片久久| 欧美激情视频在线观看一区| a亚洲视频| 精品丝袜美腿国产一区| 国产在线精品网址你懂的| 国产精品女同一区三区五区| jizz亚洲高清在线观看| 又大又硬又爽免费视频| 国产在线观看第二页| 亚洲天堂首页| 久久香蕉国产线看观看精品蕉| 免费三A级毛片视频|