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