李 晟 李玉曉
[摘要]介紹一種冗余自由度的工業(yè)機(jī)器人單片機(jī)分布式控制系統(tǒng),主機(jī)的主程序、示教盒主程序、再現(xiàn)程序以及從機(jī)與主機(jī)的通訊程序的設(shè)計。
[關(guān)鍵詞]工業(yè)機(jī)器人分布式控制模塊化結(jié)構(gòu)
中圖分類號:TP2文獻(xiàn)標(biāo)識碼:A文章編號:1871--7597(2009)1020158--01
一、引言
冗余自由度的工業(yè)機(jī)器人有七個自由度,包括機(jī)器人底座的直線運動,腰部的回轉(zhuǎn)運動,大臂的俯仰運動,小臂的俯仰運動和腕部的回轉(zhuǎn)、俯仰和左右擺動。其中前四個自由度的作用是將手腕部件定位到工作范圍內(nèi)的任意一點,后三個自由度的作用是使末端執(zhí)行器能夠完成作業(yè)任務(wù)。
機(jī)器人分布式控制系統(tǒng)以微處理器為基礎(chǔ),合作執(zhí)行一個共同任務(wù),其基本思想是把一個比較復(fù)雜系統(tǒng)分解,分層實施,再輔以網(wǎng)絡(luò)進(jìn)行信息傳遞,從而完成整個系統(tǒng)的性能優(yōu)化。
二、控制軟件的總體設(shè)計思想
在主控單元軟件中,將機(jī)器人的工作狀態(tài)分為歸零、示教、編輯、回原點、再現(xiàn)等幾種工作狀態(tài)。軟件設(shè)計采用模塊化結(jié)構(gòu)。主控軟件共分為三大模塊,分別是主模塊、任務(wù)模塊和功能模塊,如圖1所示。
初始化模塊是對系統(tǒng)的可編程芯片進(jìn)行編程,開辟系統(tǒng)緩沖區(qū),建立軟件標(biāo)志等;自檢模塊完成整個控制系統(tǒng)的自檢和自診斷;在歸零模塊中,機(jī)器人的主控單元向關(guān)節(jié)控制板發(fā)出指令,使所選關(guān)節(jié)歸零,即關(guān)節(jié)到達(dá)有機(jī)器人內(nèi)部傳感器確定的一個基準(zhǔn)位置;示教模塊中根據(jù)用戶指令產(chǎn)生相關(guān)的關(guān)節(jié)動作指令,將此指令傳送給關(guān)節(jié)控制板,并接收關(guān)節(jié)控制板的回送信息,還可以將機(jī)器人所希望的關(guān)節(jié)位置記憶下來;在編輯模塊中,操作者可離線修改示教記憶關(guān)節(jié)空間的坐標(biāo)值,也可修改示教記憶的路徑;在再現(xiàn)模塊中,控制系統(tǒng)對作業(yè)進(jìn)行動作規(guī)劃,生成機(jī)器人路徑。
每一個從機(jī)控制一個執(zhí)行機(jī)構(gòu),負(fù)責(zé)機(jī)器人各關(guān)節(jié)的相應(yīng)動作。在接收控制主機(jī)的命令時,首先接收主機(jī)發(fā)送來的控制命令字,然后接收運動參數(shù)并存儲到對應(yīng)的存儲單元中。控制從機(jī)接收數(shù)據(jù)完成后,在自己的控制程序中識別命令字,之后按命令字的要求控制實現(xiàn)運動動作。
控制系統(tǒng)的主程序流程圈如圖2所示。
三、示赦和再現(xiàn)子程序
按下示教盒的“示教”鍵,則示教盒處于等待輸入示教次數(shù)n的狀態(tài),一旦輸入,再次按下“示教”鍵,就發(fā)出讓機(jī)器人開始示教命令,并將n值發(fā)送到備關(guān)節(jié)控制單片機(jī)。而各關(guān)節(jié)控制單片機(jī)在接到命令后,隨即查詢接收示教循環(huán)次數(shù)n,對各關(guān)節(jié)進(jìn)行直接運動操作,并存儲各有關(guān)數(shù)據(jù)以便再現(xiàn)時使用,本機(jī)器人可存儲10組示教數(shù)據(jù)。再現(xiàn)運動是示教的目的,其示教再現(xiàn)子程序用來再現(xiàn)所選中10組示教中的一種。
四、通訊程序設(shè)計
主單片與示教盒之間通過單片機(jī)的串口直接進(jìn)行通訊,與AVR之間屬于多機(jī)通訊問題,通過異步通訊接收發(fā)送器8250進(jìn)行。從機(jī)須服從主機(jī)的調(diào)度、支配。串口通訊程序用于AT89S8252單片機(jī)和AVR之間的通訊,其程序框圖如圖3所示。
主機(jī)AT89S8252串行口一直處于查詢狀態(tài),檢查是否有讓主機(jī)發(fā)送示教軌跡數(shù)據(jù)到關(guān)節(jié)控制單片機(jī)的命令或讓主機(jī)從關(guān)節(jié)控制單片機(jī)接收示教軌跡數(shù)據(jù)的命令。若與存儲指令相符,則打開示教軌跡數(shù)據(jù)文件,先讀取示教軌跡數(shù)據(jù)長度,然后將整個文件讀到主機(jī)的數(shù)據(jù)區(qū),接著逐一發(fā)關(guān)節(jié)控制單片機(jī)地址碼,掛鉤后發(fā)送軌跡數(shù)據(jù),發(fā)送完畢后重新進(jìn)入查詢狀態(tài)。
五、結(jié)論
基于模塊化結(jié)構(gòu)的分布式單片機(jī)系統(tǒng),由單片機(jī)構(gòu)成上下兩級。上位機(jī)以AT89S8252單片機(jī)為核心,下位機(jī)采用AVR單片機(jī)AT9082313。機(jī)器人的控制采用計算機(jī)示教再現(xiàn)點位控制方式,具有功能分散,易于維修調(diào)試,可靠性高等特點。