(大連大學 素質教育基地,遼寧 大連 116622)
板球控制系統是典型的基于視覺圖像識別的運動控制系統。通過執行機構(電機或氣缸)控制平板傾斜角度,實現對板上小球運動位置和運動軌跡的精確控制。它涵蓋了機器視覺、圖像處理、運動控制、智能控制等多學科知識,并將其實現的自動化應用產品。專家學者多研究控制系統理論,但很少給出現實解決方案。板球系統是一個多變量,非線性控制對象,是球桿系統的二維擴展。作為一個具有兩個自由度的機械控制系統,板球系統通常用于對動態系統的研究和在實驗室進行經典控制理論和現代控制理論的控制過程中進行研究的平臺。本系統設計是在邊長為 70 cm 光滑的正方形平板上均勻分布著9個外徑 3 cm 的圓形區域,其編號分別為 1~9 號,通過控制光滑平板的傾斜,使直徑不大于2.5 cm的小球能在平板上按可設路徑滾動,并實現任意可設坐標的定點停留,系統具有較強的抗干擾能力[1]。將從機械結構、電路控制系統及軟件算法等方面[2],詳細介紹板球控制系統的設計與實現過程[3]。
板球控制系統的設計制作首先就要從機械結構入手。精良的機械結構不僅減少了控制過程中的機構誤差造成的算法負擔,是系統能夠實現精確控制的基礎,更能保障系統穩定運行。
系統的機械結構主要分為兩大部分,即攝像頭支撐架和平板部分,兩者是沒有任何機械連接的擺嵌關系,可輕松拆分組合,不影響系統的正常運作。這是本系統機構的一大亮點,能分開裝運,占空間小。整體結構如圖1所示。

圖1 整體結構
攝像頭支撐架的主要作用是固定攝像頭,故其結構沒有嚴格要求,有龍門架式和懸臂梁式,只要能立穩不抖即可,本攝像頭支撐架是由空心方鋁管搭建的懸臂梁支撐架。而平板部分的機構要求較為嚴格,分為光滑平板,底座和舵機執行部件。光滑平板是邊長為70 cm,厚為1.5 cm的雪弗板,雪弗板可與木材相媲美,強度好,不變形,能使平板的表面盡可能的保持水平不出現弧度。密度比木材小,自重輕,可以減輕舵機的負載量。底座上的挺柱通過自主設計3D打印的萬向節與平板底中心連接,以中心點建立空間直角坐標系,可以很好的限制光滑平板的X方向移動,Y方向移動及Z方向移動和轉動等四個自由度。為了使四自由度更有效限制,采用粗方形鋼挺柱,抗彎扭性強,同時穩固性提高。舵機執行部件兩個,垂直分布,用螺釘與底座固定,通過自主雕刻的擺臂連桿機構分別與平板底側X,Y軸線上的一點連接,連接點皆用單向鉸支座。這樣兩個舵機靠擺臂連桿傳動實現可控的光滑平板X軸轉動和Y軸轉動,從而完成控制平板的傾斜角度。整體架構看起來靈活輕便,機構原理簡單明了。
執行部件主要由舵機及其傳動件構成,如圖2所示。

圖2 執行傳動部件
系統采用 MG995 舵機作為動力源,其金屬外殼能提供較好的散熱,金屬齒輪強度高,嚙合好,在高阻力、快沖擊甚至堵轉等情況下不易斷齒,具有過流保護,在額定功率下,響應較快,精度夠,能提供 13 kg的扭矩。因此在設計擺臂與連桿等傳動件長度時,具有較廣的范圍,擺臂如果過長,抗阻性低,擺角弧線放大率高,雖反應速度快,但控制精度不夠。反之,擺臂過短,抗阻性高,擺角弧線放大率低,雖控制精度夠,但反應慢。連桿根據擺臂長度而定,主要是將擺臂的上下運動傳遞給平板使之傾斜,同時確保擺臂的擺角中心位于水平。綜上,經過初步的理論計算,分別設計與制作了5組擺臂和連桿,除長度不同之外,外形也略有不同,分別安裝后經過多次實驗數據對比,最終確定能使控制比較精確且舵機載荷較小的擺臂長為50 mm,連桿長為100 mm。
板球控制系統除了要有良好的機械結構外,還要有出色的電控設計,使整個系統充滿活力,系統電控設計框圖如圖3所示。電控設計包括硬件電路和軟件程序,其中硬件電路是電控設計的基礎,而軟件程序則是電控設計的核心,兩者相結合才能實現可控,穩定和高精度的板球控制系統。

圖3 電控設計框架
硬件電路主要由單片機控制系統、人機交互模塊、攝像頭視覺模塊、電源模塊和舵機執行模塊等構成。單片機最小系統以恩智浦(NXP)半導體公司32位的MK60DN512ZVLQ10單片機為主控芯片。運行頻率高達100 MHz、嵌套向量中斷控制器、 512KB片內Flash、16路通道DMA、多路16位ADC、多路PWM波通道、100多個通用I/O口等等,完全能夠滿足本控制系統所需要的所有功能模塊。
電源模塊采用開關電源模塊,由市電降壓為12 V再轉為直流電,輸出電流6 A。再由電路板上的LM2941-6 V,LM240-5 V,AMS1117-3.3 V等低壓差線性穩壓芯片分別穩出6 V、5 V和3.3 V等電壓源為各個模塊供電,焊接多個多值電容,電源模塊注重濾波防噪。因電機在啟動或堵轉的時候瞬時電流都比較大,峰值能達到3A以上,因此要求系統必須有足夠穩定的輸出電流。電機驅動電路選擇IR2104與IRFP4368組合,IR2104芯片是H橋驅動芯片,耐壓值較高能夠達到幾百伏,通過單片機輸出的PWM信號轉化為電壓信號進行控制。驅動管選用高頻、高速、超大電流MOS管IRFP4368,其最高電流可以達到200A以上,能很好的保證系統穩定運行。板球控制系統的中攝像頭離平板高度約100 cm左右,支撐架上攝像頭與被攝物體距離跟拍攝效果有一定的距離關系。攝像頭的高度越高,采集的角度越大,容易出現雜波等失真。高度越低,雖然失真率低,但采集的角度小,不足以將整個平板均采集出來。綜合考慮,選用OV5116作為視覺采集模塊。它由模擬灰度攝像頭和信號硬件二值化電路組成,主要識別捕捉滾球在平板上的坐標,故將球與平板各涂黑白兩色即可區分。OV5116模擬灰度攝像頭視頻信號中包括了多種同步信號及脈沖信號,利用LM1881芯片將只需要的灰度圖像信號從中分離出來。灰度圖像信號在由雙路運放芯片AD8032構成的模擬信號反向比較器電路處理轉化成黑白二值圖像信號,可直接用普通I/O口讀取圖像,大大減少了單片機資源的占用,通過調節可變電位器即可對圖像二值化閾值進行微調,電路如圖4所示。

圖4 硬件二值化
撥碼開關、按鍵和OLED液晶電路可組成人機交互部分,通過按鍵和撥碼開關可對程序參數進行修改并重新存儲在單片機的片內Flash中,而液晶用于顯示變量和圖像,方便了系統的脫機調試。
小球在平板上的運動并不是亂七八糟毫無規律的,涵蓋著速度、加速度、動能等等數學與力學的知識,是有一定強大的理論依據的。為方便對板球的控制算法設計,運用所學的知識作適當推理,以拉格朗日方程描述物體的運動,其功能相當于牛頓第二定律,建立了與拉格朗日問題相關的簡單數學模型:廣義動量對時間的變化率等于系統廣義力和拉格朗日力之和[4]。
(i=1,2,3…,n)

平板上的小球具有動能和勢能,具有廣義坐標和廣義速度,符合拉格朗日方程。
小球有兩個移動方向、三個旋轉(可以忽略);平板有兩個旋轉方向[7]。此系統主要確定與控制4個自由度[6]:球的位置坐標和平板傾斜角。
小球的動能包括其自身的轉動動能和在平板上的平移動能[8]:
小球在運動過程中沒有滑動,從而:
將兩公式合并,得出小球平移動能:
平板的動能包括其自身的轉動動能和小球繞平板支撐點的轉動動能:

將兩公式合并,得出平板的動能:
選擇坐標原點為零勢能點,則平板勢能為零,小球勢能Vb為:
Vb=mg(xsinα+ysinβ)
于是得到拉格朗日函數:
為描述小球在板上的運動情況,可解出小球的加速度與板的傾斜角度和角速度的關系:
還可以解出平板傾斜的動力學受外部驅動力和小球位置與速度的影響:
控制算法的軟件程序分為人機交互初始化、圖像采集、坐標獲取、控制算法和控制量輸出,其中前幾部分較為簡單,而控制算法才是系統電控設計的關鍵所在,并且與機械結構有所聯系,在此將單獨對本系統的控制算法作研究。通過數學模型的簡單分析,控制算法的設計就很簡單了。
2.3.1 控制思路
小球要想在水平板上靜止不動,那么平板必須處于水平位置。當要控制小球從甲位置滾到乙位置停止時,其理想的運動現象 做簡要分解,如圖5所示,可對小球從起始位置運動到目標位置的六個特征時間點進行粗略分析,小球是:靜止→加速滾動→勻速滾動→減速滾動→靜止,而平板則是:水平→正向傾斜→水平→反向傾斜→水平。

圖5 六時刻狀態
上述平板的運動調節過程是根據小球的當前位置實施調整的,球偏離目標越遠平板傾斜的角度越大,球離目標越近,雖然平板傾斜的角度越小,但平板調整的頻率增高。可以看出小球的滾動是平板以其水平位置為基礎的增減傾斜實現的。由于小球在光滑平板上滾動,滑動摩擦力小,加上舵機靈敏性的局限,系統難以在開環控制狀態下實現對小球的控制。因此,引進了具有滾球位置坐標實時反饋的PID閉環控制算法,閉環結構框圖如圖6所示。

圖6 閉環控制結構框圖
通過對各式PID算法的嘗試,本板球控制系統最終采用位置式PID控制算法,通過調節出合理的PID的算法參數,閉環效果明顯,系統能實現快反應、高穩態和高精度控制。
在完成目的任務之前小球在板上是一直運動的,攝像頭采集與處理的圖像信號會有一定的延遲,為了減小誤差并快速準確的預測小球的運動位置,減少平板角度的調整頻率和角度,使用經典的卡爾曼濾波算法的遞推預估,不斷的對小球的位置進行采集->預測->更新->采集->預測-更新。
2.3.2 算法控制過程
相較于攝像頭到平板的距離,平板的傾斜幅度過小可以忽略不計,圖像幾乎不產生畸變,因此圖像處理和控制算法不用考慮三維模型中小球的坐標及軌跡,完全可以當作二維平面處理。以平板中心建立二維直角坐標系,為了方便控制,運用正交分解法,將小球的滾動分解為X,Y兩個方向的分運動,并且分別單獨采用PID算法閉環控制,如圖7所示。

圖7 平面運動分解
即將實時捕捉到的小球坐標(X0,Y0),與目標位置的坐標(X,Y)相減,其中X軸坐標的偏差△X用于X軸閉環控制,經過PID調節得出X軸的增量±PWM占空比,再與平板X軸向水平位置PWM占空比相加,控制量輸出給控制平板X軸向傾斜的舵機,完成對小球X軸向分運動的控制。同理,Y軸的閉環控制亦是如此。
平板的水平監測是通過x、y兩個方向的舵機的轉角決定的。系統上電自檢時,除了要對攝像頭進行初始化及板中心點定位之外,需要監測x和y兩個舵機當前的轉角對應的PWM值,存儲在flash中,作為平板水平的基準值,記為舵機中值。最終的PID調節只有兩個舵機轉角達到此值時,平板必然水平。
2.3.3 算法參數調節
PID控制器是由比例環節(placeP)、積分環節(placeI)和微分環節(placeD)組成。以下是PID控制器實際控制的部分核心C語言程序:
signed long int Servo_PIDControl(struct PID *pid)
{
signed long local_error = 0;
signed long local_derror = 0;
pid->local_Ref = Set_Mid_Servo;
local_error = pid->local_Ref - pid->local_FeedBack;
if ((local_error < local_DEADLINE) && (local_error > -local_DEADLINE))
{ ; }// 不執行PID調節
else // 執行位置PID調節
{
local_derror = local_error - pid->local_PreError;
// 計算微分項偏差
pid->local_PreIntegral += local_error;
// 存儲當前積分偏差
pid->local_PreError = local_error;
// 存儲當前偏差
pid->local_PreU = pid->placeP * local_error + pid->placeI * pid->local_PreIntegral + pid->placeD * local_derror; // 位置PID算法
if (pid->local_PreU >= local_MAX)
{ // 防止調節溢出
pid->local_PreU = local_MAX;
}
else if (pid->local_PreU <= local_MIN)
{
pid->local_PreU = local_MIN;
}
}
return(pid->local_PreU / 1000);
}
位置式PID控制算法是由單片機輸出的控制量直接去控制執行機構,這個控制量與執行機構的位置是一一對應。由于此控制算法是全量輸出,每次輸出均與過去的狀態有關,計算時要對過去進行累加;而且單片機輸出的控制量對應的是執行機構的實際位置,如遇外因導致控制量的大幅度變化,會引起執行機構位置的大幅度變化,造成嚴重的后果。因而系統采用輸出控制量增量的增量式PID。單片機控制系統采用恒定的采樣周期,一旦確定了placeP、placeI 、placeD,只要使用前后三次測量值的偏差,即可求出控制增量。
它能將兩個不相關的數學變量建立起聯系,類似函數關系中的映射,以坐標的偏差為控制器的輸入,則可輸出控制舵機的PWM占空比。采用經驗法對參數進行調節。比例系數placeP:將小球與目標點的坐標偏差進行放大,使偏差的數量級符合占空比的數量級。比例系數由小逐漸加大,當平板出現震蕩為止,則placeP值取當前值的80%;積分系數placeI:消除系統的穩態誤差,提高無差度,但在位置式閉環控制中的作用不大,故placeI值取placeP值的5%;微分系數placeD:具有預見性,能預見小球運動趨勢并超前控制,在小球還沒到達目標位置時,通過小球的滾動速率,可提前減速,故placeD值由小往大加,直到小球減速正好停于目標位置為止。同樣的,PID算法參數的調節也是X軸、Y軸分別調節,由于系統基本上是理想對稱的,所有在X、Y方向上的閉環控制參數基本一致。
根據系統要求,控制光滑平板的傾斜角度使滾球能在平板上按可設路徑滾動,并實現任意可設坐標的定點停留。測量小球從起點位置到達目標位置的時間,同時測量小球在從起始位置出發到達目標位置的過程,其路徑的偏差,還有小球實際停留位置與目標位置的偏差。所以測試儀器有秒表和直尺,多次記錄測試結果。由于測量時需要小球的位置痕跡,但有色的痕跡對攝像頭造成巨大干擾,所以將小球沾水浸濕,這樣小球的運動軌跡呈一透明的水印,即可測量有對攝像頭無干擾。
表1 小球完成從同一位置出發至目標位置并靜止的時間

(s)

表2 小球停留靜止后其實際位置與目標位置的偏差 (mm)
通過測試的所得結果,放置小球從同一位置出發至目標位置并停留靜止的時間大約在5秒左右,小球停留靜止后其實際位置與目標位置的偏差基本在0~3 mm之間,小球從同一起始點出發到目標位置的過程中,其實際運動軌跡與理論要求的軌跡偏差也是在0~3 mm之間。由于攝像頭的像素不是很高,圖像不可能不含噪點及外界因素的存在,精度受到一定的干擾,但是各項精度基本上符合理論計算和理論預計,證明了PID控制算法[9]設計的參數可優化性和調節性,達到設計要求。

表3 小球從同一起始點出發到目標位置其實際運動軌跡與理論要求的軌跡偏差 (mm)
本系統在機械的結構設計制作上提高了精度控制、硬件電路設計上提高了控制簡易化、軟件算法設計上以拉格朗日理論為基礎簡化了控制算法。在機械方面的結構設計制作有許多創新進步之處,特別是攝像頭支架與平板的分體式和執行機構的傳動上的設計等。控制算法應用了位置PID和雙PID控制策略及調參方法等具有工程實際意義,為板球控制系統理論與技術的發展具有積極的作用。通過團隊協作,及機電經驗知識實現了這集機械設計制作,軟硬件電子控制于一身的機電一體化高精度板球控制系統。本設計獲2017年大學生電子設計競賽全國一等獎。