王相超,陳龍,顏斌
(杭州電子科技大學 電子信息學院,浙江杭州,310018)
無人控制的情況下,類似自行車的兩輪非機動車這一類欠驅動模型難以實現自平衡[1]。傳統的腳踏式兩輪平衡車采用單級角度環PID 實現平衡控制[2]。而自行車機器人則是基于動量守恒原理[3],在自行車上加裝外置動量輪,通過對電機控制算法的設計,使動量輪合理轉動產生回復力保持小車平衡[4]。在國外的相關研究中,對于自行車平衡控制器的設計多直接采取高維度的滑??刂破?,結合復雜的非線性物理建模進行控制[5~6],其難點則是設計過程過于復雜繁瑣。為了深入研究自行車機器人遇到的難題,本文在TC264 單片機主控下自主設計并實現了基于無刷電機控制的動量輪自平衡循跡自行車系統,通過類比四軸飛行器,設計三環串級PID 控制器[7],同時設計了攝像頭圖像處理算法,實現了高抗擾動、高速度的自平衡智能循跡系統。
本系統的總體方案設計框圖如圖1所示,通過使用攝像頭模塊采集道路灰度圖像,并使用圖像處理算法進行道路元素識別,并控制舵機模塊和后輪電機實現小車在道路上運行。使用陀螺儀模塊結合姿態解算算法獲取小車運行時的姿態角,結合串級PID 控制算法來控制動量輪轉動實現小車平衡。此外,為了方便車模調試,添加了SD 卡、OLED、按鍵模塊,SD 卡模塊存儲小車運行時采集的道路圖片,通過UART 串口傳輸圖像到電腦進行調試。OLED 模塊配合按鍵模塊,可以實現屏幕圖像顯示和參數調整功能。主控TC264 芯片采用TriCore2 雙核架構,引腳數量多達144P,FLASH 空間達2.5MB,主頻達200MHz,性能優越,足以實現本次復雜的系統設計。

圖1 系統總體方案框圖
系統實際圖片如圖2所示。

圖2 車模圖片
硬件總體設計采用TC264 為運算核心的設計方案,整套硬件系統可共分為3 大模塊,分別為單片機控制模塊、傳感器模塊、電機驅動模塊。
模塊間的關系如圖3所示。

圖3 模塊關系示意圖

圖4 主控芯片原理圖
主控模塊的設計采用TC264 單片機,由于此單片機功率較大,在電源模式選擇中選用外部3.3V、內部LDO1.3V電源模式供電。
外置無源晶振,通過負載電容計算公式:
再經過實際的測試,選用20MHz的無源晶振與22pF的負載電容構成晶振,如圖5所示。

圖5 晶振原理示意圖
攝像頭模塊選擇逐飛科技的總鉆風MT9V032 全局快門數字攝像頭,幀率可高達498 幀,具備高動態、全局快門、自動曝光等優點。攝像頭接口電路如圖6所示。

圖6 攝像頭接口電路

圖7 后輪電機驅動模塊電路

圖8 無刷電機驅動模塊電路
電機驅動電路一般采用驅動芯片和MOS 管組合搭建H 橋,對于后輪有刷直流電機我們采用兩片全橋驅動芯片BTN7971,該芯片雖然導通內阻較大發熱較嚴重、死區時間較短,但鑒于單車組速度較慢且不會出現正 反 轉 情 況,BTN7971 可以說是非常優秀的選擇。
驅動電路采用專用驅動芯片和MOS 搭建。驅動芯片采用國產EG2181,在價格便宜的同時還能提供較大的驅動電流。MOS 管采用英飛凌的BSC014N04LS。為了減少輸出波形的震蕩,適當加大了柵極驅動電阻、布局時減短了走線長度并且減少過孔的使用減少寄生電感,為了提高載流能力還采用了并聯MOS的設計。
系統軟件設計部分由陀螺儀姿態解算、串級PID 平衡控制、圖像采集與處理、舵機轉向控制、后輪電機速度控制五大模塊組成。系統程序流程圖如圖9所示,系統對各模塊初始化完成后進行陀螺儀姿態解算與串級PID 平衡控制,使小車可以實現原地直立;原地直立保持一小段時間,系統進入穩定狀態后進行攝像頭圖像采集與處理,結合舵機控制與速度控制模塊,小車可以保持在道路正中間行駛;在判斷到車庫元素后,小車駛入車庫中,系統停止運行。

圖9 系統程序流程圖
系統使用ICM20602 陀螺儀,通過設計四元數姿態解算算法來獲取小車運行時的偏航角、俯仰角、橫滾角,實現了收斂速度快、誤差小、抗擾動強的姿態解算算法[8]。
四元數姿態解算的原理是通過求解可以表示三維空間旋轉信息的向量具體表達式(1),得到四元數值q0,q1,q2,q3(2),再利用四元數表示三維空間姿態變換矩陣(3),將四元數表示的姿態角矩陣與姿態角變換矩陣(4)聯立,即可用四元數值表示姿態角(5,6,7)[9]。
四元數值具體計算公式如(2)所示,?t為陀螺儀采樣周期,程序中設定為5ms,xω,yω,zω為測得的三軸角速度。
四元數表示的空間姿態變換矩陣如(3)所示。
姿態角解算結果如(4)(5)(6)所示,數值迭代即可計算得到三軸姿態角。
傳統的PID 算法包括位置式PID 與增量式PID,單級PID 只有一個輸入和一個直接輸出。串級PID 控制器則是多個傳統PID 控制器串聯構成的系統,將一個PID的輸出值作為另一個PID 控制器的輸入,以此嵌套提升控制復雜度。
3.2.1 位置式PID 與增量式PID
位置式PID的原理公式如(7)所示,ek為當前時刻系統誤差,K p K i Kd分別為比例,積分,微分系數。uk為輸出值。
增量式PID的原理公式如(8)所示,ke與ek?1分別為當前時刻與上一時刻系統的偏差。 ?uk為計算得到的輸出增量。
3.2.2 自行車機器人串級PID 控制
本系統使用到了速度環、角度環、角速度環三環串聯組成的串級PID 控制器,依據三個環控制響應速度的排序決定串聯順序??刂破鹘Y構如圖10所示。其中角速度環采用式(8)所示的增量式PID,角度環與速度環采用式(7)所示的位置式PID。角速度環作為最內環,輸出值直接作用于無刷電機,速度環響應速度最慢,作為最外環,輸出作為角度環的輸入。而角度環的輸出作為角速度環的輸入依次串聯。

圖10 串級PID結構圖
由于攝像頭直接采集的原始圖像為灰度圖,而對于小車的循跡要求來說,只需一條循跡線即可。為了進一步壓縮數據,系統使用了大津法(Otsu)對灰度圖像進行高效快速的二值化。大津法的原理是利用類間方差最大化自適應篩選閾值,使得圖像前景與背景得到最大程度的分割。使用大津法得到的道路二值化圖像如圖11所示。

圖11 道路二值化圖像
在邊緣提取算法的設計上,為了降低算法對平衡控制時序的影響,保證算法運行的效率,本文采取了嵌套遍歷的算法。基本思路是:從圖像底部開始,在行中心位置左右隨機生成一個起始點,從起始點到圖像頂端開始縱向遍歷,每次縱向遍歷中嵌套一次左右橫向遍歷,每次橫向遍歷遇到黑白二色的分界點則停止。最終邊緣提取得到的道路輪廓圖如圖12所示。

圖12 道路輪廓圖像
3.4.1 自行車轉向控制算法設計
由于自行車機器人轉向完全依賴于舵機,因此精準高效的舵機控制算法至關重要。系統采用的舵機型號為S3010,驅動所需的PWM 頻率為50Hz,具有扭矩大,響應速度快,控制精度高等優點。
在舵機控制算法的選取上,為了使得控制響應速度最大,輸出擾動最小,采取了PD位置式PID 控制器。PID 控制律結構圖如圖13所示。輸入值為道路中線的第20 行橫坐標,目標值為整幅圖像的中心橫坐標93,采用式(7)去除積分項的位置式PID 進行轉向控制,輸出值為舵機PWM占空比。

圖13 PID原理框圖
但對于自行車機器人的轉向控制來說,固定參數的PID控制器難以匹配各類道路元素,不利于應用在多復雜元素的道路上。為了保證自行車轉向的流暢性,當小車行進至不同的道路元素時,適當地調整參數以保證過彎的連續絲滑。
3.4.2 自行車后輪速度控制算法設計
系統采用了去除式(8)中微分項的增量式PI 控制器對小車速度進行控制??刂破鞯妮斎胫禐榫幋a器讀取的后輪轉速,目標值為根據不同道路設定的目標轉速值,輸出為后輪電機的PWM 占空比。采用增量式PI 控制器進行速度控制具有精度高,響應速度快的優勢。
從原理的要求上出發,進行串級PID 參數整定按照角速度環-角度環-速度環的順序進行。在調試角速度環時,先調節參數I,到一定大小時,從平衡位置啟動系統,車模能在原地保持3~5s的直立即可。然后調試角度環P,在運行兩級串級PID的情況下,系統仍不穩定,但可以使車模保持10s 以上的直立即可。最后調節速度環P,參數合適的情況下,車模會在平衡位置附近來回擺動,但系統穩定,再依次調節角速度環P,角度環d,速度環I 消除系統輸出抖動。最終確定的參數如表1所示。

表1
4.2.1 長直道元素參數設置
長直道是車模行進時對平衡性能干擾最小的元素,此時降低轉向環PD 參數,提高速度環目標值,可以讓車??焖偻ㄟ^。記錄的長直道元素圖片如圖14所示。

圖14 長直道
4.2.2 彎道參數設置
車模在彎道內行駛時由于受到離心力和自行車系統慣性的影響,會不可抗的向轉彎方向傾倒一定角度。并且轉彎半徑越小,過彎速度越快,相應的傾斜角度越大,越不利于平衡控制。因此,在彎道時需要降低轉向環P 值,降低速度環目標值,讓小車慢速、繞外圈通過彎道。記錄的彎道元素圖片如圖15所示。

圖15 彎道

圖16 十字路口

圖17 三岔路口

圖18 駛入環島

圖19 環島內

圖20 駛出環島
4.2.3 十字路口參數設置
車模在行進至十字路口時,經過圖像處理,可當做長直道處理。
4.2.4 三岔路口參數設置
車模行進至三岔路口時,經過圖像處理仍存在轉向突變性,而保持一定速度下,車頭突然擺動將打破車模平衡,經過實際運行時發現車模高速駛入三岔路口時容易摔倒,因此需要降低速度環目標值,減小轉向環PD 以保證順利駛入三岔。
4.2.5 環島參數設置
車模駛入環島與駛入三岔遇到的問題一致,同樣由于突然的轉向變化引起平衡不穩定。降低速度環目標值,減小轉向環PD 減速駛入環島。在環島中與彎道處理一致,出環島與入環島處理一致。
本文設計并實現了基于單片機的動量輪自平衡循跡自行車系統,利用大扭矩,高轉速的無刷電機驅動動量輪,使用了串級PID 控制器與四元數姿態解算共同組成的平衡控制算法,實現了最大回復角17°的最終效果,同時在平衡性能上具備抗高頻擾動,高響應速率,高穩定性的優勢。此外,基于大津法研究了攝像頭圖像采集與道路識別算法,使自行車能夠識別出環島、三叉路口等復雜路段,結合了動態調整參數的舵機轉向算法和后輪速度控制算法,讓小車在道路上的運行兼具高速、流暢與穩定的特點。