劉 碩,師五喜
(天津工業大學 電氣工程與自動化學院,天津 300387)
在實際工程應用中,由于單個智能體自身能力的局限性,在處理復雜任務或處于復雜環境下僅靠個體行為往往無法解決。人們受到自然界中魚群、鳥群等生物種群協作完成捕食、遷移等生物集群協作行為的啟發,將這種生物集群編隊協作的特點運用到多智能體系統中。目前,編隊運動問題已在很多領域得到應用,例如在工業領域,人們控制多個移動機器人以特定隊形搬運大的物體;在軍事上,多個自主式小車被用于編隊巡邏或偵察;在警務領域,人們控制多個移動機器人組成弧形包圍或捕獲入侵者等。
多機器人編隊控制是目前國內外研究的熱門課題之一。多移動機器人的編隊運動,要求多個移動機器人作為一個編隊同時運動到目標區域,并在運動過程中始終保持給定隊形,同時能安全地避開可能出現的障礙物。這種群體行為控制是解決許多機器人協作問題的基礎,它對實現多機器人在分布式空間環境中協同執行任務具有重要意義。
智能小車,也稱輪式移動機器人,它是人工智能、自動控制、計算機等多個學科領域的交叉與綜合,在倉儲運輸等領域應用廣泛。常見的智能小車控制器運算能力差,通過編碼器反饋定位存在明顯誤差,本文采用同Optitrack光學運動捕捉系統捕獲智能小車位姿,用于計算小車的期望速度,使小車的控制速度命令更精確。
上位機控制系統用來設計智能小車跟隨者的控制算法,基于領航-跟隨策略的編隊模型,采用模型預測控制計算得到跟隨者智能小車的速度信號,最后通過藍牙模塊將期望速度信號發送到智能小車上控制小車運動。同其他控制方法相比,模型預測控制具有滾動優化和反饋校正的機理,能夠處理系統的狀態約束和輸入約束,能夠良好地滿足實驗現實需求。
小車的位姿信息通過光學運動捕捉系統實時獲取,并將獲取的位姿信息傳輸到上位機控制系統。上位機控制系統用Simulink搭建,通過模型預測控制算法計算智能小車按照期望軌跡運行應該具備的線速度和角速度,共采用2對藍牙模塊分別配對建立上位機和智能小車的通信,用來分別傳輸線速度和角速度。小車采用兩輪差速驅動,并使用一個萬向輪作為支撐輪,控制器采用STM32F103ZET6,電機采用帶有編碼器的直流減速電機,并使用L298N芯片作為電機驅動模塊。通過增量式PID控制PWM信號輸出,進而控制電機達到指定轉速來驅動小車。
上位機控制系統通過Simulink搭建,安裝有Quanser實時數據流傳輸軟件,由于接收捕獲的智能小車的位姿信息。在本文智能小車編隊控制系統的設計中利用光學運動捕捉系統獲取智能小車的位姿信息,光學運動捕捉系統是用空間內6個紅外識別攝像頭,通過識別智能小車領航者上面的成不對稱圖形分布的紅外識別小球,來確定智能小車的坐標和航向角的位姿信息。控制系統框圖如圖1所示,獲取的智能小車的位姿和設定的期望位姿進行比較得到位置誤差,在運算控制模塊中利用模型預測控制算法得到智能小車應具備的線速度和角速度,最后通過配置的串口模塊利用藍牙傳輸到智能小車上,完成智能小車的運動控制。

圖1 上位機控制系統框圖Fig.1 Host computer control system block diagram
本文中智能小車的領航者和跟隨者均采用STM32F103ZET6作為控制器,且均擁有主控模塊、電源模塊、運動控制模塊、避障模塊,另外跟隨者智能小車還具備無線傳輸模塊用于接收上位機控制系統的速度指令信號。STM32F103ZET6控制器具有UART、I/O端口、定時器等外設用于開發[2],其中定時器可設置為編碼器模式用于獲取電機轉速,通過配合傳感器模塊獲取的外界信息和無線傳輸模塊接受的控制信號完成整個智能小車的運動控制,整個智能小車的硬件系統框圖如圖2所示。

圖2 智能小車硬件系統框圖Fig.2 Smart car hardware system block diagram
智能小車領航者和跟隨者在運動過程中均需要完成避障功能,當智能小車避障模塊檢測到障礙物時觸發外部中斷,小車改變左右兩輪的速度,使小車向著遠離障礙物的方向移動[1]。基于智能小車的車身尺寸和室內實驗場景的綜合考慮,選擇紅外避障模塊,該模塊對環境光線適應能力強,具有一對發射與接收管,發射管發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經過比較電路處理之后,綠色指示燈亮起,同時信號輸出接口輸出一個低電平的數字信號給控制器,用于反應障礙物檢測情況,該模塊的電路原理如圖3所示。

圖3 避障模塊電路原理圖Fig.3 Obstacle avoidance module circuit schematic
智能小車跟隨者的運動控制信號由上位機控制系統計算得到,然后通過無線傳輸模塊傳輸到智能小車跟隨者上。本設計中無線通信模塊采用的是藍牙HC05,該模塊傳輸距離為10 m能達到室內實驗控制的需求,一共采用4個模塊,上位機和智能小車上分別用2個模塊,分成2組配對。藍牙模塊通過連接串口來接收數據,數據格式為8位數據位,1位停止位,無奇偶校驗位的常用串口通信格式[3]。藍牙模塊與上位機需要通過USB-TTL模塊連接,與控制器核心板上的UART端口連接,HC05藍牙模塊的電路如圖4所示。

圖4 藍牙模塊電路原理圖Fig.4 Bluetooth module circuit schematic
3.3.1 電機驅動模塊
智能小車的運動控制通過改變左右輪的轉速來實現,電機和控制器核心板之間需要連接電機驅動模塊來實現電機的調速。本設計中選用L298N模塊作為電機驅動模塊,該模塊使用大容量濾波電容,續流保護二極管,提高了可靠性,具有驅動能力強,發熱量低,抗干擾能力強的特點。本模塊可以使用78M05通過驅動電源部分取電,在本設計中由于采用12 V的直流電源供電,為了避免穩壓芯片損壞需要使用外置5 V的邏輯供電。本模塊可以驅動兩路直流電機,使能端ENA、ENB高電平時有效,通過設置IN1、IN2端確定電機轉動方向,對使能端輸出PWM波實現調速,L298N模塊電路原理如圖5所示。

圖5 L298N電機驅動模塊電路原理圖Fig.5 L298N motor drive module circuit schematic
3.3.2 電機
本設計中智能小車的驅動電機采用的是額定電壓12 V型號為25GA370的直流減速電機,直流電機上安裝有正交編碼器,編碼器可隨電機轉動識別刻度盤上的刻度觸發脈沖,電機旋轉一周觸發11個脈沖。控制器的定時器端口需要在程序中設置為編碼器模式,用于采集脈沖數,進而用來計算電機當前轉速。最終搭建完成的智能小車如圖6所示。

圖6 智能小車硬件實驗平臺Fig.6 Smart car hardware experiment platform
在智能小車編隊控制系統設計中,編隊策略采用的是領航-跟隨法,跟隨者智能小車的速度控制信號通過模型預測控制算法得到。智能小車的領航者和跟隨者在電機轉速控制中均采用了增量式PID算法,領航者的運行軌跡由程序設定,左右電機根據設定速度按照預期軌跡運動。跟隨者智能小車通過藍牙模塊接收期望線速度和角速度,根據接收的線速度和角速度可以計算得到智能小車左輪、右輪電機應具備的轉速。
在智能小車運動過程中,隨著電機轉動編碼器觸發脈沖,將控制器與編碼器連接的定時器端口設置為編碼器模式,可以獲得編碼器觸發的脈沖數,通過間隔時間觸發定時中斷可計算得到當前電機的轉速。計算得到的電機速度和期望速度的誤差,應用增量式PID調節PWM波輸出達到期望速度。應用到智能小車上的離散控制系統的增量式PID公式為

應用增量式PID調節PWM信號,將累計輸出信號用于控制電機驅動最終達到期望速度。
為了描述多個智能小車編隊的系統中各個小車在隊形結構中的位置,以兩個智能小車為例來說明本文所采用的領航-跟隨者隊形結構的幾何模型,如圖7所示。

圖7 領航-跟隨編隊模型Fig.7 Leader-follower formation model
對于一個領航-跟隨編隊系統,編隊的主軌跡通常由領航者決定,跟隨者的參考軌跡由領航機器人生成的虛擬小車軌跡決定。假設跟隨者與領航者最終達到的距離與角度分別為λd和φd,那么虛擬小L-FL-F車與領航者之間的距離和角度分別為λd和φd。L-FL-F在世界坐標系X-Y中,虛擬小車與領航者之間的位置關系為

跟隨者智能小車通過調節自身線速度和角速度,位姿信息收斂到虛擬小車位姿狀態,完成編隊控制。
定義跟隨者智能小車的運動學模型為

可以簡單的表示為

式中:x=△[x y θ]T表示以智能小車兩輪軸心連線中心點為參考點的機器人的坐標和方向角;u=△[v w]T表示控制輸入,其中v和w分別代表智能小車的線速度和角速度。

將上式與參考軌跡運動學模型相減可得:

上位機控制系統采用模型預測控制算法,選擇目標函數求得最優解,通過滾動優化來計算得到移動機器人的期望線速度和角速度[4-5],選擇目標函數為

實驗應用中,加權矩陣 Q=diag(1,1,0.5),R=0.1I2×2
無障礙物橢圓軌跡實驗效果如圖8所示。

圖8 橢圓軌跡無障礙編隊跟蹤效果圖Fig.8 Elliptical trajectory barrier-free formation tracking effect chart
有障礙物直線運動實驗效果如圖9所示。

圖9 直線軌跡有障礙編隊跟蹤效果圖Fig.9 Straight track trajectory formation tracking effect chart
本文簡述了基于光學運動捕捉系統的智能小車控制系統的設計思路和系統框圖,主要研究了上位機控制系統的搭建和模型預測控制算法的應用[6],以及智能小車的硬件設計和使用數字增量式PID控制直流減速電機的轉速,還介紹了上位機控制系統和智能小車之間通過藍牙模塊進行無線通信,智能小車的自主避障功能。經過實驗測試后可知,該控制系統能很好的達到預期的實驗效果,并且以其精度高、誤差小的特點可以應用在控制算法研究、室內無人車運輸等領域。