李 晟 李玉曉
[摘要]介紹一種冗余自由度的工業機器人單片機分布式控制系統,主機的主程序、示教盒主程序、再現程序以及從機與主機的通訊程序的設計。
[關鍵詞]工業機器人分布式控制模塊化結構
中圖分類號:TP2文獻標識碼:A文章編號:1871--7597(2009)1020158--01
一、引言
冗余自由度的工業機器人有七個自由度,包括機器人底座的直線運動,腰部的回轉運動,大臂的俯仰運動,小臂的俯仰運動和腕部的回轉、俯仰和左右擺動。其中前四個自由度的作用是將手腕部件定位到工作范圍內的任意一點,后三個自由度的作用是使末端執行器能夠完成作業任務。
機器人分布式控制系統以微處理器為基礎,合作執行一個共同任務,其基本思想是把一個比較復雜系統分解,分層實施,再輔以網絡進行信息傳遞,從而完成整個系統的性能優化。
二、控制軟件的總體設計思想
在主控單元軟件中,將機器人的工作狀態分為歸零、示教、編輯、回原點、再現等幾種工作狀態。軟件設計采用模塊化結構。主控軟件共分為三大模塊,分別是主模塊、任務模塊和功能模塊,如圖1所示。
初始化模塊是對系統的可編程芯片進行編程,開辟系統緩沖區,建立軟件標志等;自檢模塊完成整個控制系統的自檢和自診斷;在歸零模塊中,機器人的主控單元向關節控制板發出指令,使所選關節歸零,即關節到達有機器人內部傳感器確定的一個基準位置;示教模塊中根據用戶指令產生相關的關節動作指令,將此指令傳送給關節控制板,并接收關節控制板的回送信息,還可以將機器人所希望的關節位置記憶下來;在編輯模塊中,操作者可離線修改示教記憶關節空間的坐標值,也可修改示教記憶的路徑;在再現模塊中,控制系統對作業進行動作規劃,生成機器人路徑。
每一個從機控制一個執行機構,負責機器人各關節的相應動作。在接收控制主機的命令時,首先接收主機發送來的控制命令字,然后接收運動參數并存儲到對應的存儲單元中??刂茝臋C接收數據完成后,在自己的控制程序中識別命令字,之后按命令字的要求控制實現運動動作。
控制系統的主程序流程圈如圖2所示。

三、示赦和再現子程序
按下示教盒的“示教”鍵,則示教盒處于等待輸入示教次數n的狀態,一旦輸入,再次按下“示教”鍵,就發出讓機器人開始示教命令,并將n值發送到備關節控制單片機。而各關節控制單片機在接到命令后,隨即查詢接收示教循環次數n,對各關節進行直接運動操作,并存儲各有關數據以便再現時使用,本機器人可存儲10組示教數據。再現運動是示教的目的,其示教再現子程序用來再現所選中10組示教中的一種。
四、通訊程序設計
主單片與示教盒之間通過單片機的串口直接進行通訊,與AVR之間屬于多機通訊問題,通過異步通訊接收發送器8250進行。從機須服從主機的調度、支配。串口通訊程序用于AT89S8252單片機和AVR之間的通訊,其程序框圖如圖3所示。
主機AT89S8252串行口一直處于查詢狀態,檢查是否有讓主機發送示教軌跡數據到關節控制單片機的命令或讓主機從關節控制單片機接收示教軌跡數據的命令。若與存儲指令相符,則打開示教軌跡數據文件,先讀取示教軌跡數據長度,然后將整個文件讀到主機的數據區,接著逐一發關節控制單片機地址碼,掛鉤后發送軌跡數據,發送完畢后重新進入查詢狀態。
五、結論
基于模塊化結構的分布式單片機系統,由單片機構成上下兩級。上位機以AT89S8252單片機為核心,下位機采用AVR單片機AT9082313。機器人的控制采用計算機示教再現點位控制方式,具有功能分散,易于維修調試,可靠性高等特點。