雷蕾
摘 要:本文介紹了嵌入式系統在機器人控制中的應用——嵌入式機器人控制器設計的基本方法,首先介紹了機器人控制系統的基本結構和基于 PC 的控制方法,然后著重介紹了嵌入式機器人控制系統,以及 PC 的控制算法和控制程序移植到嵌入式控制器上的方法。
關鍵詞:嵌入式控制器內嵌實時操作系統(RTOS);數字信號處理(DSP);G 代碼(G Code);PC;機(Personal Computer)
1.基于PC的機器人控制系統
一個典型的機器人控制系統包括控制器、驅動系統、傳感器和被控對象(機器人機械本體)。控制器負責完成機器人運動學解算、軌跡規劃,并向下面的伺候驅動器發布控制命令。
基于 DSP 的網絡直流伺候驅動器是用于實現對兩自由機器人系統中的電機進行伺候控制,它負責接收來自控制器的伺候控制命令,主要完成兩個方面的工作:
(1)利用專用 RS-485 總線,完成網絡的建立、網絡中信號的傳遞、總線控制權的仲裁,以及與上位機之間的通信工作。
(2)完成對電機的伺候控制。主要通過對電機的光電碼盤及電流的檢測,對電機進行閉環控制,以完成必要的控制任務。
1.1基于 DSP 的嵌入式網絡直流伺候驅動器
網絡直流伺候驅動器由兩個主要部分組成,控制部分及電機伺候驅動部分。
系統在結構上分兩層,第一層主要為 DSP、外圍電路及網絡部分;第二層為電機伺候驅動部分。
第一層中,DSP 是整個系統的核心,完成對外部芯片的控制。兩片 128KB 的8-bit 存儲器組成 16-bit 的存儲器,可以存放程序和數據。MAX232 芯片完成 TTL電平信號與標準 RS-232 信號之間的轉換,用于接收來自上機位串口的信號。MAX491 芯片用于組成 RS-485 現場總線網絡。
驅動部分完成對直流電機的驅動,包括調速和正反轉,并且在負載變化時能夠保持相對恒定的速度。通過使用 DSP 的 PWM 輸出端口輸出具有不同占空比的周期信號,來控制橋驅動器的兩相按照一定的關系導通,最后輸出一定的關系導通,最后輸出一定的直流電壓大小到直流電機電梳兩端。同時還增加了對電機回路的電流反饋,當電流達到一定值時,可以控制橋控制器停止工作,從而關斷電機,以保證電機在堵轉的情況下不會因為持續發熱而燒毀。
1.2 PC 機與網絡直流伺候驅動器的接口關系
基于 DSP 的網絡直流伺候驅動器是用于實現對兩自由度機器人系統中的電機進行伺候控制的,它負責接受來自上機位的伺候控制命令,基于 485 的現場總線提供了一套完整的網絡協議。
網絡驅動器既有 RS-232 接口,也有 RS-485 接口,如果使用 RS-232 接口,則可以直接通過 PC 機的串口向驅動器發送伺候命令,控制電機按照要求運轉,但這樣只能控制一個模塊,即模塊沒有網絡能力。如果要建立網絡,則需要使用
RS-232 到 RS-485 的信號轉換,然后通過 PC 機串口向多個模塊發送網絡控制命令,組建 RS-485 網絡。通過對不同的模塊分配網絡地址,在以后的控制過程中,每一條命令都是針對不同地址的網絡驅動器,只有符合地址條件的網絡驅動器才執行相應的命令。這樣,就可以通過在 PC 端進行二次開發和編程,通過串口向網絡驅動器發送命令,實現復雜的控制功能。
2.兩自由度機器人控制軟件結構設計
兩自由度機器人控制軟件是一個機器人控制的集成環境,負責建立起用戶和機器人的接口。一方面,它從用戶那里獲取用 G 代碼代表的軌跡,幫助用戶對 G代碼進行仿真調試,另一方面,它向底層網絡控制器發送相應的命令,控制機器人實現對用戶所輸入的軌跡。
基于控制軟件的功能需求,對軟件的結構進行了大致的劃分,軟件大體上有
以下主要模塊:
1、G 代碼編輯環境。能夠允許用戶在其中對輸入的 G 代碼進行編輯,并使用一些友好的提示,僅允許輸入大寫字母和數字。
2、G 代碼的識別與解析。輸入的 G 代碼是文本形式,必須要通過數字化識別才能為計算機所使用。需要對文本形式的 G 代碼進行解析,得到用戶所描述的軌跡,然后才能執行下一步的操作。
3、直線插補與圓弧插補算法。對解析得到的 G 代碼信息進行插補,然后顯示出其軌跡。
4、兩自由度機器人的運動學逆解。對運動進行逆解,求出各個插補點的電機位置角,然后用此數據進行機器人運動的仿真。
5、機器人控制部分,這部分主要面臨建立與機器人的通信問題。在此基礎上完成諸如機器人初始化,機器人自動零點查找,以及機器人軌跡執行等操作。
2.1嵌入式機器人的控制器設計
軌跡仿真正確之后,軌跡上的每個點的電機位置便形成了。接下來,只需要在進行機器人零位調整之后將電機的位置以網絡控制指令的形式發送給底層模塊,機器人就會按照預定的軌跡執行。
2.2嵌入式控制器可以取代 PC 機
以往,進行機器人控制或是機電控制的時候,如果要實現人機接口,一般都會選用 PC 機,使用 CTR 顯示器和鍵盤進行人機接口,向受控對象發送指令,而反饋信息再返回到顯示器上。也有以 LED 顯示簡單信息,或以按鈕來進行簡單的信號輸入的,但那些應用的環境都很有限。嵌入式控制器具有液晶顯示器,完全可以替代 CTR 顯示器在控制器系統中所扮演的角色。鍵盤響應也具有很高的實時性,可以完全滿足信息的輸入和對控制系統的干預等工作。而且嵌入式控制器還具有以下突出的優點:
(1)體積小,嵌入式控制器整個系統體積只及 PC 機的幾十分之一。
(2)成本低,嵌入式控制器可以量身定做,量體裁衣,不但可以將成本降到最低,而且去掉不需要的部件,也可以提高控制系統的可靠性。
(3)功耗小,適用于野外環境或電力無法延及的環境。
2.3嵌入式機器人控制器應用程序設計
基于 ARM 的嵌入式控制器實際上就是一臺計算機,它“麻雀雖小”,但“五臟俱全”。PC 機上的機器人控制程序具有下載能力,通過一個 USB 下載軟件,可以將 PC 機上調試好的 G 文件代碼下載到嵌入式控制器,用控制器來實現對機器人的控制。嵌入式控制器使用基于μC/OS-II 內核 RTOS 操作系統。大體可以分為兩部分:界面和相應的處理程序。
由于 ARM7TDMI 芯片中沒有 MMU 文件,所以其操作系統和用戶程序的地址編輯完全是固定的,并編輯在一起,最后生成一個文件,下載到嵌入式控制器中便可執行。在這一點上,不同于 DOS 或 Windows 這種 PC 機操作系統下形成的概念。它的操作系統文件和用戶應用程序是分開的,而且可以有多個應用程序同時存于主機中。嵌入式操作系統和應用系統是在一起的,要想換一個,必須重新下載。
(作者單位:內蒙古師范大學 計算機科學學院)