嵌入式系統在機器人中的應用
嵌入式控制器越來越微型化、功能化。微型機器人、特種機器人等也獲得更大的發展機遇,無論從控制系統的結構還是機器人的智能程度方面都得到了很大的提高。以索尼的機器狗為代表的智能機器寵物是最典型的嵌入式機器人控制系統,除了能夠實現復雜的運動功能,它還具有圖像識別、語音處理等高級人機交互功能,它可以模仿動物的表情和運動行為。火星車也是一個典型例子,這個價值10億美金的技術高度密集移動機器人,采用的是VxWorks 操作系統,它可以在不與地球聯系的情況下自主工作。下面從運動控制系統、遠程控制、視頻監控系統三個方面分析嵌入式系統在機器人中的應用情況。
2.1 運動控制系統
機器人的運動控制部分一般采用ARM 7來完成,主要是由於整個系統對實時性要求較高,利用ARM 7來專門控制伺服能更好的滿足要求。
圖2.1 ARM 7實現電機控制框圖 圖2.2 遠程控制系統框架圖
圖2.1是ARM 7實現電機控制的框圖,ARM 7通過串口接收數據,並根據定義好的串口相關通信協議對接收到的數據進行解析,得到各個電機的轉向以及運動圈數,從而控制電機的轉動,串口數據的接收是通過中斷的方式來實現的。一旦有數據到達,就產生一次中斷,在中斷服務程序中,新發送過來的數據將被保存起來,並且設置標誌位為真,用以通知主任務有新的數據到達,可以調用電機驅動程序來實現電機的運動。
2.2 遠程控制
圖2.2是遠程控制系統的框架圖,任何能連接上互聯網的地方的用戶,在遠程用戶端,OPENGL 仿真將預演用戶所輸入的機器人控制命令後機器人的運動軌跡,並且將機器人的運動軌跡做相應的反解,從而得到各個控制關節,即相應的電機的運動數據,這些數據通過互聯網傳送到近端控制中心ARM 9控制板上,通過它轉發給實時控制板ARM7,ARM7就控制伺服驅動器讓電機按預定的軌跡運動,從而實現機器人的遠程控制。
遠程用戶端一個重要的功能是能實時地觀看到機器人的運動姿態,所以一個視頻客戶端是必須的。基於服務器/客戶端的模型,在ARM 9控制板上運行著視頻服務器,該視頻服務器與帶USB 接口的攝像頭相連,攝像頭實時地采集並聯機器人的運動狀態,並將采集到的圖像編碼,ARM 9控制板將經過編碼壓縮後圖像數據通過以太網傳送到遠程客戶端,遠程客戶端在接收到圖像數據後經過解碼、顯示從而形成視頻圖像,用戶也就可以觀測到機器人的運動狀態。
ARM 9控制板是整個系統的核心,它扮演著系統的數據中心,控制中心的角色。一方面它將攝像頭采集到的視頻數據經過編碼後,通過以太網發送到遠程用戶端;另一方面它將它還需要負責將遠程用戶端傳送過來的控制命令解析並轉發給ARM 7控制板並接收反饋信息。
圖2.3 遠程機器指令流程
圖2.3顯示了遠程指令的數據流向以及機器人的運動狀態反饋給遠端用戶的數據流向。 遠端用戶通過人機交互界面將所要求機器人運動姿態位置的指令輸入到遠端PC 中,經過網絡傳輸到達ARM 9控制中心,ARM 9控制中心這裏扮演著近段調試模式中那個近端PC 的角色,在接收到遠端數據後經過數據處理後,控制其串口將串口數據包發送到ARM 7控制板上,ARM 7控制板接收到數據後解析數據並且驅動電機的伺服驅動器,從而實現對機器人地控制。
由於控制命令對準確性的要求以及現實的網路情況,目前多數采用TCP 協議來傳送控制命令。
人工智能機器人的發展已成為一股不可忽視的科學潮流,智能機器人的開發越來越收到科研人員的重視。而嵌入式機器人控制系統是機器人重要的組成部分,主要對操作機的控制,以完成特定任務。隨著嵌入式系統的發展,機器人技術在未來有著更廣闊的發展空間。
嵌入式系統在機器人中的應用