曹少泳(北京理工大學(xué)珠海學(xué)院 機械與車輛學(xué)院,廣東 珠海519085)
特種變結(jié)構(gòu)履帶式機器人的軟件設(shè)計
曹少泳
(北京理工大學(xué)珠海學(xué)院 機械與車輛學(xué)院,廣東 珠海519085)
以特種變結(jié)構(gòu)履帶式機器人為研究對象,結(jié)合機器人的結(jié)構(gòu)特點和性能指標,搭建了基于STM32的機器人控制系統(tǒng)。采用模塊化設(shè)計的思想和策略,針對特種變結(jié)構(gòu)履帶式機器人的行進模塊和可變結(jié)構(gòu)模塊進行了軟件設(shè)計。在系統(tǒng)軟件設(shè)計中,采用模塊化結(jié)構(gòu)和C語言編程,編寫了按鍵控制模塊、A/D轉(zhuǎn)換模塊、PWM模塊等的應(yīng)用子程序;然后在搭建的硬件平臺上進行了相關(guān)實驗驗證。實驗結(jié)果表明,本文所研制的控制系統(tǒng)能夠很好地完成機器人的前進、后退、停止、轉(zhuǎn)彎和變結(jié)構(gòu)等控制任務(wù),且控制系統(tǒng)工作可靠,性能穩(wěn)定,直流無刷電機動態(tài)響應(yīng)狀態(tài)良好,步進電機運行平滑,能夠很好地滿足機器人的性能指標。
變結(jié)構(gòu)履帶式機器人;模塊化設(shè)計;控制系統(tǒng);軟件設(shè)計
特種變結(jié)構(gòu)履帶式機器人的軟件設(shè)計是該機器人的核心部分,是實現(xiàn)控制功能的必要因素之一。
在特種變結(jié)構(gòu)履帶式機器人的控制系統(tǒng)中,軟件的設(shè)計采用模塊化思想和C語言編程,這一部分主要包括履帶輪電機與擺臂電機調(diào)速方案選擇,履帶輪電機與擺臂電機的程序流程規(guī)劃以及程序的編寫[1-4]。
文中是以特種變結(jié)構(gòu)履帶式機器人為研究平臺,要求對其控制系統(tǒng)進行設(shè)計,使之能夠?qū)崿F(xiàn)該機器人的前進、后退、停止、轉(zhuǎn)彎和變結(jié)構(gòu)(如圖1所示)等運動,其控制系統(tǒng)采用模塊化的設(shè)計思想,控制系統(tǒng)系統(tǒng)框圖如圖2所示[5-8]。
由圖2可以得知:特種變結(jié)構(gòu)履帶式機器人的控制系統(tǒng)主要由主控模塊、A/D控制模塊、按鍵控制模塊以及電機控制電路模塊組成[9]。
圖1 機器人變結(jié)構(gòu)時的狀態(tài)
圖2 特種變結(jié)構(gòu)履帶式機器人系統(tǒng)組成框圖
2.1 履帶輪電機的調(diào)速方案
文中選用的主動輪電機為2個無刷直流電機,由直流電機的調(diào)速原理我們得知,只需改變電機電樞電壓即可實現(xiàn)對電機調(diào)速[10]。
文中采用4個三極管組成的H型PWM電路調(diào)速特性優(yōu)越、調(diào)整平滑且能夠?qū)崿F(xiàn)無級調(diào)速,因此本文對特種變結(jié)構(gòu)履帶式機器人的履帶輪電機選擇PWM調(diào)速技術(shù)進行調(diào)速。而對于PWM信號的產(chǎn)生,通常有兩種方案:一種是通過硬件的方式產(chǎn)生PWM信號;另一種則是通過軟件的方式來產(chǎn)生。文中利用STM32F103VET6的定時計數(shù)器外加軟件延時等方式來實現(xiàn)PWM信號脈沖寬度的調(diào)節(jié),從而實現(xiàn)電機調(diào)速的目的,這種方案能夠方便控制系統(tǒng)的設(shè)計,簡化硬件電路,而且可操作性強[11]。
2.2 擺臂電機的調(diào)速方案
本設(shè)計中,采用STM32F103VET6對步進電機進行加減速控制,實際上就是改變輸出脈沖的時間間隔。STM32F103VET6控制步進電機電脈沖輸出的頻率,有軟件和硬件兩種能夠?qū)崿F(xiàn)。通過對比分析,采用硬件的方法實現(xiàn)對擺臂電機的調(diào)速,即利用STM32 F103VET6內(nèi)部的定時器對擺臂電機進行調(diào)速控制。
履帶輪電機程序設(shè)計主要分為3個部分,分別為主程序設(shè)計、按鍵控制子程序設(shè)計以及A/D控制子程序設(shè)計[12-13]。
3.1 主程序設(shè)計
主程序首先對程序進行初始化設(shè)置,然后依次讀取按鍵狀態(tài)以及搖桿狀態(tài),判斷機器人履帶輪應(yīng)該執(zhí)行的指令,最后命令機器人執(zhí)行相應(yīng)的動作。其設(shè)計流程圖如圖3所示。
圖3 主程序設(shè)計流程圖
3.2 按鍵子程序設(shè)計
按鍵控制子程序主要為履帶機器人的履帶輪電機設(shè)置3個按鍵K1、K2和K3,分別用于控制左右兩側(cè)履帶輪電機的同步啟動、反向運動以及停止。其程序設(shè)計流程圖如圖4所示。
圖4 按鍵控制子程序流程圖
3.3 A/D控制子程序設(shè)計
A/D控制子程序是為控制系統(tǒng)設(shè)置2個搖桿(即2路A/D,通過滑動變阻器的形式,把模擬量轉(zhuǎn)為數(shù)字量),通過上下遙控滑動搖桿(改變滑動變阻器的模擬量從而改變數(shù)字量),來改變左右兩個履帶主動輪的PWM波的占空比,從而改變2個直流電機的電樞電壓,實現(xiàn)控制左輪與右輪的調(diào)速的目的。機器人的轉(zhuǎn)彎是通過左右兩輪存在速度差完成。其程序設(shè)計流程圖如圖5所示。
擺臂電機的程序設(shè)計主要分為3個部分:主程序設(shè)計、定時器中斷子程序設(shè)計和按鍵控制子程序設(shè)計。
圖5 A/D控制子程序流程圖
4.1 主程序設(shè)計
主程序首先對程序進行初始化設(shè)置,然后讀取按鍵狀態(tài),判斷履帶式機器人擺臂電機應(yīng)該執(zhí)行的運動狀態(tài),從而做出相應(yīng)動作,做出變結(jié)構(gòu)運動。擺臂電機主程序的設(shè)計流程圖如圖6所示。
圖6 主程序設(shè)計流程圖
4.2 定時器中斷子程序設(shè)計
定時器中斷子程序的設(shè)計是為了實現(xiàn)擺臂電機調(diào)速目的,通過硬件的方式改變STM32F103VET6發(fā)出的電脈沖的周期。定時中斷子程序首先設(shè)置初始定時周期,然后按照調(diào)速的要求分別設(shè)定中斷次數(shù),每計數(shù)一個定時周期,中斷次數(shù)減1。當(dāng)中斷次數(shù)為0時,先判斷電機的運行狀態(tài),若擺臂電機為運行狀態(tài)時,則改變電脈沖周期,從而實現(xiàn)擺臂電機的調(diào)速;若擺臂電機為停止?fàn)顟B(tài)時,則直接中斷返回。其設(shè)計流程圖如圖7所示。
4.3 按鍵控制子程序設(shè)計
擺臂電機按鍵控制子程序主要為履帶機器人的擺臂電機設(shè)置5個按鍵S1、S2、S3、S4和S5組成,分別用于控制擺臂電機的正轉(zhuǎn)、反轉(zhuǎn)、停止、加速和減速。利用5個按鍵的協(xié)調(diào)配合,從而實現(xiàn)機器人越障和上下樓梯。其程序設(shè)計流程圖如圖8所示。
圖7 定時器中斷子程序設(shè)計流程圖
圖8 按鍵控制子程序流程圖
由于在特種變結(jié)構(gòu)履帶式機器人的控制系統(tǒng)中,主控芯片STM32F103VET6無法通過Proteus等軟件進行仿真,因此,對控制系統(tǒng)的驗證只能通過實驗的方式來進行。特種變結(jié)構(gòu)履帶式機器人的功能目的是實現(xiàn)該機器人的前進、后退、停止、加減速、轉(zhuǎn)彎和變結(jié)構(gòu)等基本運動。要實現(xiàn)機器人的這一系列運動,本質(zhì)上是實現(xiàn)對兩個履帶輪電機和一個擺臂電機的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速以及停止的配合控制。通過機器人兩邊履帶輪電機同步控制實現(xiàn)其前進、后退、加速與減速,控制兩履帶輪電機之間存在速度差來實現(xiàn)轉(zhuǎn)向,通過控制擺臂電機轉(zhuǎn)動的角度來實現(xiàn)變結(jié)構(gòu)運動。特種變結(jié)構(gòu)履帶機器人控制系統(tǒng)的實驗驗證主要包括對履帶輪電機的實驗驗證以及擺臂電機的實驗驗證[14-19]。
5.1 履帶輪電機的實驗驗證
在本設(shè)計中,對履帶輪電機的控制實驗只進行一路。首先根據(jù)選型好的硬件,搭建特種變結(jié)構(gòu)履帶式機器人履帶輪電機的控制電路。
在履帶輪電機的控制電路中,A/D控制部分用于左右兩邊履帶輪電機的速度調(diào)節(jié),即通過2個搖桿的同步上下滑動來控制機器人的前進與后退,通過2個搖桿的異步滑動使機器人兩邊履帶輪之間形成速度差,從而實現(xiàn)轉(zhuǎn)彎;3個按鍵K1、K2和K3則用于控制左右履帶輪的同使啟動、反轉(zhuǎn)與停止。
履帶輪電機的實驗操作與現(xiàn)象:按下電機啟動按鈕K1,履帶輪電機開始正轉(zhuǎn);向上滑動搖桿(A/D控制模塊),電機的轉(zhuǎn)速變快,當(dāng)搖桿滑動至最高點時,PWM控制信號的占空比為1,電機達到最大轉(zhuǎn)速;復(fù)位搖桿,電機轉(zhuǎn)速回到初始狀態(tài);向下滑動搖桿,電機轉(zhuǎn)速逐漸變慢,當(dāng)搖桿滑動到最低點時,PWM信號的占空比為0,電機停止轉(zhuǎn)動;按下反轉(zhuǎn)按鍵K2,電機實現(xiàn)反轉(zhuǎn);按下停止按鍵,電機停轉(zhuǎn)。
5.2 擺臂電機的實驗驗證
根據(jù)已經(jīng)選型完的擺臂電機控制電路的相關(guān)硬件,搭建擺臂電機控制電路,在擺臂電機的控制電路中,系統(tǒng)設(shè)定的5個按鍵主要用于控制擺臂電機實現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、停止、加速和減速等基本運動,分別為S1、S2、S3、S4和S5。通過這5個按鍵的協(xié)調(diào)使用,使機器人進入變結(jié)構(gòu)運動狀態(tài),從而實現(xiàn)其越障以及上下樓梯。但在一般情況下,特種變結(jié)構(gòu)履帶式機器人在越障以及上下樓梯的過程中,即在進行變結(jié)構(gòu)運動的時候,是不需要進行加減速控制。加減速按鍵的設(shè)置是為機器人的功能擴展。加減速按鍵主要在用特殊場合,比如在任務(wù)緊急的情況下,特種變結(jié)構(gòu)履帶式機器人需要在特定時間內(nèi)完成任務(wù),此刻為實現(xiàn)快速越障與上下樓梯目的而需要進行擺臂電機加速控制;或在對該機器人進行展示時,為了向觀眾充分展示機器人變結(jié)構(gòu)狀態(tài)而進行慢動作演示,此刻才需要用到減速按鍵。
擺臂電機的實驗操作與現(xiàn)象:按下正轉(zhuǎn)S1按鍵,擺臂電機開始正轉(zhuǎn)運轉(zhuǎn);連續(xù)2次按下加速鍵S4,擺臂電機的速度發(fā)生連續(xù)變化,實現(xiàn)三級調(diào)速;連續(xù)2次按下減速按鍵S5,擺臂電機的速度回到初始狀態(tài),再連續(xù)2次減速減S5,速度實現(xiàn)三級減速,擺臂電機達到最低速度;按下停止按鍵S3,擺臂電機停止運轉(zhuǎn);按下反轉(zhuǎn)按鍵S2,擺臂電機實現(xiàn)反轉(zhuǎn)。
通過實驗表明,履帶輪電機的控制電路的設(shè)計能夠很好地完成特種變結(jié)構(gòu)履帶式機器人的前進、后退、停止以及轉(zhuǎn)彎等基本運動,滿足該機器人對行進功能的要求;擺臂電機的控制電路的設(shè)計能夠?qū)崿F(xiàn)特種變結(jié)構(gòu)履帶式機器人進行變結(jié)構(gòu)運動,能夠滿足該機器人進行越障與上下樓梯的功能要求。
[1]林志煒.履帶式移動機器人運動控制系統(tǒng)設(shè)計[M].南京:南京理工大學(xué)出版社,2008.
[2]歐青立,何克忠.室外智能移動機器人的發(fā)展及其關(guān)鍵技術(shù)研究[J].機器人,2000(22):519-526.
[3]陳淑艷,陳文家.履帶式移動機器人研究綜述[J].機電工程報,2007,24(12):109-112.
[4]曹凱.移動機器人技術(shù)研究現(xiàn)狀與未來[J].信息系統(tǒng)工程,2013(5):140.
[5]張捍東,張彬,岑豫皖.基于ARM的嵌入式移動機器人控制系統(tǒng)的設(shè)計[J].工業(yè)控制機器人,2008,21 (7):31-33.
[6]李楠,王明輝,馬書根,等.基于聯(lián)合運動規(guī)劃的可變形履帶機器人在線翻越樓梯控制方法[J].機械工程學(xué)報,2012(1):47-56.
[7]樸春日,顏國正,王志武,等.一種履帶式機器人設(shè)計及其越障分析 [J].現(xiàn)代制造工程,2013(3):24-27.
[8]劉開創(chuàng),施家棟,王建中,等.移動機器人自主返航控制系統(tǒng)設(shè)計與實驗[J].計算機測量與控制,2016(3):71-75.
[9]馮清秀,鄧星鐘.機電傳動控制[M].武漢:華中科技大學(xué)出版社,2012.
[10]李鐵才,杜坤梅.電機控制技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2000.
[11]王成元,夏加寬,孫宜標.現(xiàn)代電機控制技術(shù)[M].北京:機械工業(yè)出版社,2009.
[12]王靜霞.單片機應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2012.
[13]譚浩強.C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2012.
[14]Shardlow M A,Greening J J.Motor control DC[J].
Automatica,2003(22):64-81.
[15]LIU Xi-ming.The numerical control system of servo motor[J].China New Technologies and Products,2010(3):174.
[16]Clark C M.Probabilisticroad map sampling strategies for multi-robot motion planning[J].Robotics and Autonomous Systems,2005,53:24-264.
[17]YANG Wei-hong,Keiichi Watanuki,Shen Zhao. A quick intelligent control system for a mobile robot to avoid collision with moving obstacles[J]. Microsystem Technologies,2005,11(8):569-576.
[18]齊雪婷,馬訓(xùn)鳴,劉霞,等.基于CAN的分布式頂升控制系統(tǒng)設(shè)計[J].西安工程大學(xué)學(xué)報,2016(1):118-123.
[19]王志翔,王竹平.MRAC在位置隨動控制系統(tǒng)中的應(yīng)用[J].電子科技,2016(9):30-33.
Software design of the special variable structure tracked robot
CAO Shao-yong
(School of Mechanical Engineering and Vehicle,Zhuhai College of Bejing Institute of Technology,Zhuhai 519085,China)
According to the special structure of tracked robot, combined with the structure characteristics and performance index of robot,built a robot controller based on STM32.The ideas and methods of modular design,module for travel and variable structure module special variable structure of tracked robot is software design.In the software design of the system,uses the modular structure and C language programming,written application subroutine button control module,A/D conversion module,PWM module and so on;and then in the hardware platform is validated by some experiments.The experimental results show that,the control system which is developed in this paper can easily complete the robot move forward,backward,stop,turn and variable structure control tasks,and the control system is reliable,stable performance,DC brushless motor dynamic response in good condition,step motor running smooth,can satisfy the performance index of the robot very well.
variable structure tracked robot;modular design;control systems;software design
TP242;TN<919.82 文獻標識碼:A class="emphasis_bold">919.82 文獻標識碼:A 文章編號:1674-6236(2017)07-0045-04919.82 文獻標識碼:A
1674-6236(2017)07-0045-04
A 文章編號:1674-6236(2017)07-0045-04
2016-03-26稿件編號:201603354
曹少泳(1982—),男,江西九江人,碩士研究生,講師。研究方向:機械電子、機器人、電機與控制。