本發明涉及機器人運動控制,尤其是涉及一種機器人運動控制系統、方法、設備及介質。
背景技術:
1、現代自動化生產和手術機器人領域中,串聯多關節機械臂的使用較為普及,主要分為工業機械臂和協作機械臂。機器人運動控制系統集成商需針對特定的應用領域、用戶需求在通用工業機器人產品的基礎上進行功能的定制與擴展。其中,機器人運動控制系統是一個比較復雜,綜合性很強的軟件系統。在面對不同應用領域,不同用戶需求的時候,需要在通用機器人產品的基礎上進行功能的定制與擴展。但是,由于前期軟件架構的不合理,導致在面對多樣化需求的開發過程中,出現工作效率低、開發困難、開發成本高、難以維護等問題,因此有必要設計出一種合理的通用軟件架構。
技術實現思路
1、有鑒于此,本發明的目的在于提供一種機器人運動控制系統、方法、設備及介質,設計了一種合理的模塊化和層級化的機器人運動控制系統通用軟件架構,有利于進行功能的定制與擴展,提高了系統的開發效率以及降低了系統的開發成本。
2、第一方面,本發明實施例提供了一種機器人運動控制系統,包括:接口層、應用層、控制層和硬件抽象層;其中,
3、接口層用于:接收控制終端針對被控機器人下發的任務指令,并對任務指令進行解析得到被控機器人待執行的控制指令;
4、應用層用于:對自身當前所處狀態進行切換,并在不同狀態下根據控制指令調用控制層內的不同機械臂模型,處理多個機械臂模型的協同運動;
5、控制層用于:對單個機械臂模型當前所處狀態進行切換,并控制單個機械臂模型響應控制指令,以使單個機械臂模型執行控制指令對應的動作;
6、硬件抽象層用于:根據機械臂模型與機器人硬件之間的拓撲結構,按照機械臂模型執行的動作對被控機器人搭載的機器人硬件進行控制。
7、在一種實施方式中,應用層的主體結構為組件化的狀態機模塊,應用層的狀態包括應用層初始化狀態、應用層待機狀態和應用層任務狀態;應用層具體用于:
8、在應用層初始化狀態下,將讀取的機器人配置參數下發至控制層,以使控制層創建機械臂模型,并在創建結束之后從應用層初始化狀態切換至應用層待機狀態;
9、當接收到控制指令時從應用層待機狀態切換至應用層任務狀態;
10、在不同的應用層任務狀態下,根據控制指令調用控制層內的不同機械臂模型,處理多個機械臂模型的協同運動。
11、在一種實施方式中,控制層包括多個機械臂模型,所述機械臂模型的主體結構為組件化的狀態機模塊,每個機械臂模型的狀態均包括模型待機狀態和模型任務狀態;控制層具體用于:
12、基于應用層下發的機器人配置參數創建機械臂模型,并在創建結束之后控制每個機械臂模型進入模型待機狀態;
13、當接收到控制指令時,根據控制指令攜帶的模型標識,控制模型標識對應的目標機械臂模型從模型待機狀態切換至模型任務狀態;
14、在目標機械臂模型處于模型任務狀態下,控制目標機械臂模型響應控制指令,以使目標機械臂模型執行控制指令對應的動作。
15、在一種實施方式中,模型任務狀態包括使能狀態、去使能狀態、運動狀態、錯誤狀態、復位狀態中的一種或多種。
16、在一種實施方式中,控制層具體用于:
17、如果接收到的控制指令為使能指令,則控制目標機械臂模型從模型待機狀態切換至使能狀態,以觸發目標機械臂模型使能,在目標機械臂模型使能成功的情況下返回模型待機狀態,在目標機械臂模型使能失敗的情況下進入錯誤狀態;
18、或者,如果接收到的控制指令為去使能指令,則控制目標機械臂模型從模型待機狀態切換至去使能狀態,以觸發目標機械臂模型去使能,在目標機械臂模型去使能成功的情況下返回模型待機狀態,在目標機械臂模型去使能失敗的情況下進入錯誤狀態;
19、或者,如果接收到的控制指令為運動指令,則控制目標機械臂模型從模型待機狀態切換至運動狀態,以觸發目標機械臂模型執行運動指令對應的動作,在運動完成的情況下返回模型待機狀態,在運動過程中出現異常的情況下進入錯誤狀態;
20、或者,如果在錯誤狀態下接收到的控制指令為復位指令,則控制目標機械臂模型從錯誤狀態切換至復位狀態,以消除目標機械臂模型存在的錯誤,在錯誤消除成功的情況下返回模型待機狀態,在錯誤未消除成功的情況下返回錯誤狀態。
21、在一種實施方式中,硬件抽象層還用于:
22、如果機器人硬件發生變更,響應拓撲結構修改操作,對機器臂模型與機器人硬件之間的拓撲關系進行修改,進而根據修改后的拓撲結構,按照機械臂模型執行的動作對變更后的機器人硬件進行控制。
23、在一種實施方式中,硬件抽象層還用于:接收機器人硬件對應的硬件狀態信息,將硬件狀態信息經控制層反饋至應用層;
24、應用層還用于:將自身的應用層狀態信息和硬件狀態信息反饋至接口層;
25、接口層還用于:對應用層狀態信息和硬件狀態信息進行打包處理,將打包處理后的應用層狀態信息和硬件狀態信息上傳至控制終端。
26、第二方面,本發明實施例還提供一種機器人運動控制方法,應用于第一方面提供的任一項機器人運動控制系統,方法包括:
27、通過接口層接收控制終端針對被控機器人下發的任務指令,并對任務指令進行解析得到被控機器人待執行的控制指令;
28、通過應用層對自身當前所處狀態進行切換,并在不同狀態下根據控制指令調用控制層內的不同機械臂模型,處理多個機械臂模型的協同運動;
29、通過控制層對單個機械臂模型當前所處狀態進行切換,并控制單個機械臂模型響應控制指令,以使單個機械臂模型執行控制指令對應的動作;
30、通過硬件抽象層根據機械臂模型與機器人硬件之間的拓撲結構,按照機械臂模型執行的動作對被控機器人搭載的機器人硬件進行控制。
31、第三方面,本發明實施例還提供一種電子設備,包括處理器和存儲器,存儲器存儲有能夠被處理器執行的計算機可執行指令,處理器執行計算機可執行指令以實現第二方面提供的方法。
32、第四方面,本發明實施例還提供一種計算機可讀存儲介質,計算機可讀存儲介質存儲有計算機可執行指令,計算機可執行指令在被處理器調用和執行時,計算機可執行指令促使處理器實現第二方面提供的方法。
33、本發明實施例提供的一種機器人運動控制系統、方法、設備及介質,包括:接口層、應用層、控制層和硬件抽象層;其中,接口層用于:接收控制終端針對被控機器人下發的任務指令,并對任務指令進行解析得到被控機器人待執行的控制指令;應用層用于:對自身當前所處狀態進行切換,并在不同狀態下根據控制指令調用控制層內的不同機械臂模型,處理多個機械臂模型的協同運動;控制層用于:對單個機械臂模型當前所處狀態進行切換,并控制單個機械臂模型響應控制指令,以使單個機械臂模型執行控制指令對應的動作;硬件抽象層用于:根據機械臂模型與機器人硬件之間的拓撲結構,按照機械臂模型執行的動作對被控機器人搭載的機器人硬件進行控制。本發明實施例設計了一種合理的模塊化和層級化的機器人運動控制系統通用軟件架構,也即將機器人運動控制系統劃分為接口層、應用層、控制層和硬件抽象層,利用接口層實現與控制終端之間的通信連接,利用應用層實現多機械臂模型的協同運動,利用控制層實現對單個機械臂模型的狀態切換和運動控制,以及利用硬件抽象層實現對機器人硬件的控制,基于上述軟件架構,可以有效降低代碼的耦合程度,有利于進行功能的定制與擴展,提高了系統的開發效率以及降低了系統的開發成本。
34、本發明的其他特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點在說明書、權利要求書以及附圖中所特別指出的結構來實現和獲得。
35、為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。