隨著計算機和自動控制技術的迅速發展,農業機械將進入高度自動化和智能化時期。漿果采摘機器人的應用可以提高勞動生產率和產品質量,改善勞動條件,解決勞動力不足等問題。漿果采摘機器人主要由機械手及末端執行器、視覺及決策系統、控制系統等部分組成。本文將闡述如何利用ARM 微處理器實現漿果采摘機器手的運動控制。 本控制系統采用ARM(Advanced RISC Machine)微處理器,其與單片機和DSP 等相比具有很強的通用性,以其高速度、高性價比和低功耗等優點被廣泛應用于各個領域。 1 控制系統功能要求 漿果采摘機器人的主要執行部分———機械手分為手臂和手腕兩部分。機械手如何躲避障礙物并能準確到達果實目標的位置是由機械手的自由度決定的,通常機械手在空間的位置和運動范圍主要取決于手臂部分的自由度,為了使機械手能夠到達空間的任一指定位置,其手臂部分至少應具有3 個自由度。手腕部分自由度主要是用來調整末端執行器在空間的姿態,為了使末端執行器在空間也能取得任意要求的姿態,在理論上要求手腕部分也應具有3 個自由度。其示意簡圖如圖1 所示。 控制系統的任務是從上位機接受指令,驅動各自由度所對應的電機,從而使采摘機械手到達指定位置進行作業。 2 控制系統硬件設計 機器人控制系統一般需要滿足以下幾個基本要求。 ①控制系統的小型化、輕型化和模塊化; ②控制系統的實時性; ③系統的穩定性和開放性。 為此將本控制系統設計成由主控制模塊、驅動模塊和反饋模塊三部分組成,如圖2 所示。 2.1 主控制模塊設計 為了能夠滿足機器人控制需求,同時兼顧機器人對控制器體積、重量、功耗等敏感特性的要求,主控制模塊采用Samsung 公司基于ARM920T 核(適用于實時環境) 的低功耗、16/32bit、高性能的RISC 微處理器S3C2410,其主頻為266MHz。操作系統則選用源碼公開、專為ARM 設計,可靠性高的實時、多任務內核arm-Linux。 要使微處理器能夠正常工作,必須對其外圍進行擴展,圖3 所示為實現整個ARM 主控制模塊的硬件系統原理圖。 電源模塊負責為整個模塊提供穩定、干凈的直流電源。JTAG 調試單元用來實現程序的在線調試。串行通信模塊則通過RS232 通訊標準實現主控制模塊與上位機的通訊。為使系統能夠運行較大的程序(如LINUX內核和文件系統),在微處理器外圍擴展了32M 字節的SDRAM 內存芯片。擴展了16M 字節的FLASH 芯片作為程序和數據的存儲設備,以保證掉電時程序和數據不會丟失。 2.2 驅動模塊設計 本機器人系統采用直流電機控制,電機驅動芯片選用ST 公司的L298。L298 是ST 公司生產的一種高電壓、大電流電機驅動芯片。該芯片的主要特點是工作電壓高,輸出電流大,瞬間峰值電流可達3A,持續工作電流為2A;內含兩個H 橋的高電壓大電流全橋式驅動器,可用來驅動直流電動機、步進電動機、繼電器和線圈等感性負載;采用標準TTL 邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可外接檢測電阻,將變化量反饋給控制電路。 2.3 反饋模塊設計 本系統的電機使用光電編碼器進行測速。光電編碼器具有低慣量、低噪聲、高分辨率和高精度等特點,適合于控制直流電機。將編碼器產生的脈沖信號經變換得到電動機速度用于速度反饋形成速度閉環,同時可以對脈沖信號進行計數和運算,從而得到采摘機器手的位置和速度。 3 控制系統軟件設計 控制系統中控制任務的實現由應用程序來完成,應用程序設計的好壞將直接決定整個系統的控制質量和控制效率。為了更好地進行系統調試以及功能擴展,控制系統軟件也采用了模塊化結構設計。系統主程序主要分為初始化模塊和運行模塊兩大部分。 3.1 初始化模塊 初始化模塊需要完成的工作是:異常向量表定義、堆棧初始化、系統變量初始化、中斷系統初始化、I/O 初始化和外圍初始化等操作。 3.2 運行模塊 運行模塊通過中斷形式進行,包括測速模塊、PID控制模塊和PWM 波輸出模塊。主要工作流程為:首先判斷是否有新的速度指令,若有,則判斷出速度大小和方向,并將其轉換成程序中規定的統一形式,以方便進行PID 控制;然后判斷是否有新的傳感器反饋值,若有,則計算出電機的速度大小,并執行電機的PID 控制程序,接著調用電機驅動程序,改變PWM 占空比,輸出PWM 波,實現電機的速度控制。測速模塊每隔一定采樣時間對光電編碼器脈沖進行采樣,以得到速度反饋值,運行模塊的主要流程如圖4 所示。 4 結束語 基于ARM 的運動控制系統是漿果采摘機器人系統的一個重要組成部分。ARM 微處理器性能好、功耗低、體積小、移植性較好。以ARM 微處理器為核心的運動控制系統可以通過硬件平臺的改進和升級、軟件算法的再生和模塊化使整個控制系統具備可移植性,具有一定應用價值。 |