摘 要:所謂工業機器人可以認為是一種擬人手臂、手腕和手功能的機械電子裝置,它可把任意物件或工具按空間位置姿態的要求進行移動,從而完成某一工業生產的作業要求。如夾持焊槍,對汽車或摩托車車體進行點焊或弧焊;末端安裝手鉗,給壓鑄機或成型機上下料或裝配機械零部件;末端安裝噴槍進行噴涂作業。設計機器人的控制程序中會出現一系列的問題一個比較有難度的部分,所以筆者在這提及到了狀態機設計的思路。通過對相關理論的引用和回顧中,給出了半自動的X射線的晶體角的分類機的簡易智能機器人等的相關轉換設計的相關實例,說明此方法的可用性和有效性。
關鍵詞:狀態轉換;有限狀態機;機械手;機器人
中圖分類號:TP242 文獻標識碼:A 文章編號:1674-7712 (2014) 02-0000-01
一、前言
工業機器人系統通常分為機器人本體和控制器兩大部分。微控制器的主要作用是根據用戶的指令對機器人本體進行操作和控制,為每一個不同的機器人設計不同功能的控制程序是一個設計者經常感到困擾的難題。許多機器人都是有多個任務的,這些任務間是相關聯的,且每個任務都有明確的細致要求,這就使得機器人的控制設計難度增大。在此,有一種叫狀態機理論的相關概念,它能用在機器人的控制程序設計上。
二、有限狀態機理論
有限狀態機,又稱有限狀態自動機,簡稱狀態機。有限狀態機理論構成有限狀態機的具體內容是:有限狀態機是由寄存器組和組合邏輯構成的硬件時序電路。它是由有限個狀態相互間的轉換構成的,下一個狀態不但取決于各個輸入值,還取決于當前的所有狀態。在任意時刻,當前狀態就只能存在一個。只有在有事件輸入的條件下,狀態才會產生并發出一個輸出。對在給定時刻要進行的活動的描述的是動作。它包括了進入動作、退出動作、輸入動作和轉移動作四個動作。
三、有限狀態機的優、缺點
有限狀態機,又稱有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。它具有以下優缺點:
優點:思路明確,內容簡單易懂,狀態間的關系明了,容易編程;只需要改動輸出就可以改動機器人的動作要求;當發現程序不對時,更能快速的找到錯誤的點。
缺點:在每一個時刻,有且只有一個狀態,沒有并發性的表達方式,更不能描述異步并發系統;當設計需求的狀態太多時,反而編程變得更耗時和困難。
四、基于狀態轉換方法的機器人的程序控制的設計實例
狀態機是具有基于狀態的動態行為的機器。它是一個動態系統,對時間和狀態產生的時間做出反應。一個狀態機包含一組有限的狀態和一組轉換的集合。其中狀態描述運算中不同的階段,而轉換所描述的是如何使運算從一個狀態變化到另一個狀態。依賴于此理論的有限性,才能發此理論用在機器人的編程設計上,設計時可以把機器人的每個動作按要求先合理分成多個狀態,并給予特定的符號代表每個狀態,在每個狀態給予相應的輸出要求,及機器人的動作和反映。再細分到每個狀態的輸入條件,根據機器人在工作時感應到的事件來觸發輸入信號,使狀態轉換。如此,只要知道觸發的條件,就能很簡單的編寫完機器人的控制程序。筆者舉了一下具體兩個例子說明有限狀態機的表達是一個方便實用的機器人控制程序表達方式。
(一)簡易智能車機器人的狀態轉換程序設計
簡易智能車機器人的狀態轉換程序設計尋跡競速機器人是第六屆全國大學生電子設計競賽的E題,這不進是考驗學生的動手能里,更是考驗學生對機器人智能控制的知識的掌握,如果在編程時只按照條件的判斷編寫代碼,會有很大的難度而且花費很多的時間。基于以上所述的狀態機的理論編寫的話,會很簡單快速的編寫完成,讓出更多時間給機器人其他部分的設計上,具體題目的要求是請參考參考書籍[2]。簡易智能電動車的行駛路線如圖1所示。
此簡易智能機器人可分為3個工作,分別是檢測工作、控制工作和顯示工作,他們之間是相互交錯的關系,這增加了參賽者編寫程序的難度。如上述,筆者在下面將簡單描述有限狀態機理論編寫程序的思路。狀態轉換方法的簡易智能電動車的狀態設計以及控制狀態轉換過程如圖2所示。
由圖2可見,機器人要從起跑線出發,通過一個直到后向左轉彎,然后通過幾個障礙物,再進入倉庫。分析可得具體過程可以分為9個狀態,就能簡單理順編程的思路了。再分別對每個狀態進行細致的分析,分析出每個狀態的輸入條件的和輸出信息,并分析出狀態間轉換的出發事件,這樣就可以完成程序的整體設計。
(二)分類機械手的狀態轉換程序設計
機械手是一種能夠自動定位控制并且可重新編程改變功能的多功能機器。它有多個自由度,可用來搬運各種工件,可以在各種不同環境中工作。能在各種有害環境下操作從而保護人身安全,因而廣泛的應用于機械制造、冶金、電子、輕工和原子能等工作部門。它可代替人們的繁重工作,實現生產的機械化和自動化。
在生產半導體的工廠中,有一種名叫半自動X射線晶體角分類機的機器,其工藝要求就是能卸載晶片并能自動分類晶片。該分類機械手的具體工作如下:(1)開啟啟動命令,分類機械手由待命區域轉至回轉臺的上方;(2)啟動電動氣閥,使得機械手的垂直臂伸長,讓吸嘴正對已被測量的晶片;(3)使控制氣閥對吸嘴加以負壓,對回轉臺上的測量吸頭加以正壓,將已測量完的晶片轉吸附在吸嘴上;(4)控制氣閥使機械手的垂直臂回縮到原始位置,再對回轉臺測量吸頭加負壓,使之可吸附下一個晶片;(5)測量計算機的給出指令,使機械手移至分類料盒上方;(6)打開氣閥,取消吸嘴負壓,使晶片落入分類料盒中;(7)機械手移至起始待命位置,到此完成了一次晶片分類任務,并準備開始下一個過程。
通過以上的具體介紹,顯然,控制其工作狀態及其轉換可以表達出機械手的各項工作任務以及相互間的變換,7項工作任務分別編號為1~7的工作狀態,根據具體要求,再進一步的添加了3個新的隱含狀態,分別是上電自檢、基礎步長自學習以及記憶和故障報警任務。該分類機械手的具體狀態設計以及控制狀態間轉換過程如圖3所示。由上述的有限狀態機理論可知,每個狀態都要完成一個特定的任務,但是狀態間要有所聯系,而且狀態間的轉換是要有外部的觸發事件的刺激,使機器人能在不同的狀態下做出相應的動作。以此為依據,對分類機械手控制程序分成多個模塊進行設計,并根據時間屬性值或者觸發事件來互相銜接工作。
五、結束語
以上通過兩個應用實例,說明了機器人動作行為的表示方法中,有限狀態機是其中簡單又好的一種,此方法不僅使機器人程序設計思路簡明了,還簡化了程序設計的過程,能減短設計者在編寫程序的時間,使設計周期更快,并且日后機器人出錯時,如果來源于程序,此思路編寫的程序更容易找出錯誤。
參考文獻:
[1]王忠海,葉以正.SoC有限狀態機優化驗證方法研究[J].計算機輔助設計與圖形學學報,2005(09).
[2]全國大學生電子設計組委會.第六屆(2003年)全國大學生電子設計競賽試題[Z].
[3]蔣宗禮.形式語言與自動機理論[M].北京:清華大學出版社.2003.
[4]黃曉霞,蕭蘊詩.基于多智能體的新型智能決策支持系統體系結構的產生和發展[J].微型電腦應用,2002(05).
[5]江海升.范輝.USSD對話有限狀態自動機的設計與實現[J].計算機應用,2005(09).
[作者簡介]黃俊杰(1991.04-),男,廣西桂林人,在校本科生,重慶大學城市科技學院,研究方向:機器人。