基于ARM的漿果采摘機(jī)械手運(yùn)動(dòng)控制研究
王迪 關(guān)曉平 郭艷玲
隨著計(jì)算機(jī)和自動(dòng)控制技術(shù)的迅速發(fā)展,農(nóng)業(yè)機(jī)械將進(jìn)入高度自動(dòng)化和智能化時(shí)期。漿果采摘機(jī)器人的應(yīng)用可以提高勞動(dòng)生產(chǎn)率和產(chǎn)品質(zhì)量,改善勞動(dòng)條件,解決勞動(dòng)力不足等問題。漿果采摘機(jī)器人主要由機(jī)械手及末端執(zhí)行器、視覺及決策系統(tǒng)、控制系統(tǒng)等部分組成。本文將闡述如何利用ARM 微處理器實(shí)現(xiàn)漿果采摘機(jī)器手的運(yùn)動(dòng)控制。
本控制系統(tǒng)采用ARM(Advanced RISC Machine)微處理器,其與單片機(jī)和DSP 等相比具有很強(qiáng)的通用性,以其高速度、高性價(jià)比和低功耗等優(yōu)點(diǎn)被廣泛應(yīng)用于各個(gè)領(lǐng)域。
1 控制系統(tǒng)功能要求
漿果采摘機(jī)器人的主要執(zhí)行部分———機(jī)械手分為手臂和手腕兩部分。機(jī)械手如何躲避障礙物并能準(zhǔn)確到達(dá)果實(shí)目標(biāo)的位置是由機(jī)械手的自由度決定的,通常機(jī)械手在空間的位置和運(yùn)動(dòng)范圍主要取決于手臂部分的自由度,為了使機(jī)械手能夠到達(dá)空間的任一指定位置,其手臂部分至少應(yīng)具有3 個(gè)自由度。手腕部分自由度主要是用來調(diào)整末端執(zhí)行器在空間的姿態(tài),為了使末端執(zhí)行器在空間也能取得任意要求的姿態(tài),在理論上要求手腕部分也應(yīng)具有3 個(gè)自由度。其示意簡(jiǎn)圖如圖1 所示。
控制系統(tǒng)的任務(wù)是從上位機(jī)接受指令,驅(qū)動(dòng)各自由度所對(duì)應(yīng)的電機(jī),從而使采摘機(jī)械手到達(dá)指定位置進(jìn)行作業(yè)。
2 控制系統(tǒng)硬件設(shè)計(jì)
機(jī)器人控制系統(tǒng)一般需要滿足以下幾個(gè)基本要求。
①控制系統(tǒng)的小型化、輕型化和模塊化;
②控制系統(tǒng)的實(shí)時(shí)性;
③系統(tǒng)的穩(wěn)定性和開放性。
為此將本控制系統(tǒng)設(shè)計(jì)成由主控制模塊、驅(qū)動(dòng)模塊和反饋模塊三部分組成,如圖2 所示。
2.1 主控制模塊設(shè)計(jì)
為了能夠滿足機(jī)器人控制需求,同時(shí)兼顧機(jī)器人對(duì)控制器體積、重量、功耗等敏感特性的要求,主控制模塊采用Samsung 公司基于ARM920T 核(適用于實(shí)時(shí)環(huán)境) 的低功耗、16/32bit、高性能的RISC 微處理器S3C2410,其主頻為266MHz。操作系統(tǒng)則選用源碼公開、專為ARM 設(shè)計(jì),可靠性高的實(shí)時(shí)、多任務(wù)內(nèi)核arm-Linux。
要使微處理器能夠正常工作,必須對(duì)其外圍進(jìn)行擴(kuò)展,圖3 所示為實(shí)現(xiàn)整個(gè)ARM 主控制模塊的硬件系統(tǒng)原理圖。
電源模塊負(fù)責(zé)為整個(gè)模塊提供穩(wěn)定、干凈的直流電源。JTAG 調(diào)試單元用來實(shí)現(xiàn)程序的在線調(diào)試。串行通信模塊則通過RS232 通訊標(biāo)準(zhǔn)實(shí)現(xiàn)主控制模塊與上位機(jī)的通訊。為使系統(tǒng)能夠運(yùn)行較大的程序(如LINUX內(nèi)核和文件系統(tǒng)),在微處理器外圍擴(kuò)展了32M 字節(jié)的SDRAM 內(nèi)存芯片。擴(kuò)展了16M 字節(jié)的FLASH 芯片作為程序和數(shù)據(jù)的存儲(chǔ)設(shè)備,以保證掉電時(shí)程序和數(shù)據(jù)不會(huì)丟失。
2.2 驅(qū)動(dòng)模塊設(shè)計(jì)
本機(jī)器人系統(tǒng)采用直流電機(jī)控制,電機(jī)驅(qū)動(dòng)芯片選用ST 公司的L298。L298 是ST 公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是工作電壓高,輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個(gè)H 橋的高電壓大電流全橋式驅(qū)動(dòng)器,可用來驅(qū)動(dòng)直流電動(dòng)機(jī)、步進(jìn)電動(dòng)機(jī)、繼電器和線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL 邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可外接檢測(cè)電阻,將變化量反饋給控制電路。
2.3 反饋模塊設(shè)計(jì)
本系統(tǒng)的電機(jī)使用光電編碼器進(jìn)行測(cè)速。光電編碼器具有低慣量、低噪聲、高分辨率和高精度等特點(diǎn),適合于控制直流電機(jī)。將編碼器產(chǎn)生的脈沖信號(hào)經(jīng)變換得到電動(dòng)機(jī)速度用于速度反饋形成速度閉環(huán),同時(shí)可以對(duì)脈沖信號(hào)進(jìn)行計(jì)數(shù)和運(yùn)算,從而得到采摘機(jī)器手的位置和速度。
3 控制系統(tǒng)軟件設(shè)計(jì)
控制系統(tǒng)中控制任務(wù)的實(shí)現(xiàn)由應(yīng)用程序來完成,應(yīng)用程序設(shè)計(jì)的好壞將直接決定整個(gè)系統(tǒng)的控制質(zhì)量和控制效率。為了更好地進(jìn)行系統(tǒng)調(diào)試以及功能擴(kuò)展,控制系統(tǒng)軟件也采用了模塊化結(jié)構(gòu)設(shè)計(jì)。系統(tǒng)主程序主要分為初始化模塊和運(yùn)行模塊兩大部分。
3.1 初始化模塊
初始化模塊需要完成的工作是:異常向量表定義、堆棧初始化、系統(tǒng)變量初始化、中斷系統(tǒng)初始化、I/O 初始化和外圍初始化等操作。
3.2 運(yùn)行模塊
運(yùn)行模塊通過中斷形式進(jìn)行,包括測(cè)速模塊、PID控制模塊和PWM 波輸出模塊。主要工作流程為:首先判斷是否有新的速度指令,若有,則判斷出速度大小和方向,并將其轉(zhuǎn)換成程序中規(guī)定的統(tǒng)一形式,以方便進(jìn)行PID 控制;然后判斷是否有新的傳感器反饋值,若有,則計(jì)算出電機(jī)的速度大小,并執(zhí)行電機(jī)的PID 控制程序,接著調(diào)用電機(jī)驅(qū)動(dòng)程序,改變PWM 占空比,輸出PWM 波,實(shí)現(xiàn)電機(jī)的速度控制。測(cè)速模塊每隔一定采樣時(shí)間對(duì)光電編碼器脈沖進(jìn)行采樣,以得到速度反饋值,運(yùn)行模塊的主要流程如圖4 所示。
4 結(jié)束語
基于ARM 的運(yùn)動(dòng)控制系統(tǒng)是漿果采摘機(jī)器人系統(tǒng)的一個(gè)重要組成部分。ARM 微處理器性能好、功耗低、體積小、移植性較好。以ARM 微處理器為核心的運(yùn)動(dòng)控制系統(tǒng)可以通過硬件平臺(tái)的改進(jìn)和升級(jí)、軟件算法的再生和模塊化使整個(gè)控制系統(tǒng)具備可移植性,具有一定應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 周立功.ARM 微控制器基礎(chǔ)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[2] 邱波,李群智,王惠娟.基于ARM 微控制器的醫(yī)療機(jī)器人主從夾持控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電一體化,2006,(6).
[3] 王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,2002.
[4] 胡曉娟.基于ARM 的移動(dòng)機(jī)器人運(yùn)動(dòng)控制研究[D].南京:南京理工大學(xué),2007.
[5] USER’SMANUALS3C2410X32-Bit RISC Microprocessor Revision0.1.Samsuang electronics[Z]
http:///publish/tech/thesis/2009/6/thesis_0_13_7331.html