標準范圍:
本標準規定了模塊化和網絡化構建的機器人產品的軟件資源的功能封裝技術,機器人軟件開發領 域的組件模型和相應的設計規范,以及機器人組件的集成方法。
本標準適用于機器人軟件開發領域。非模塊化、網絡化機器人系統中的機器人軟件開發和設計亦可參照使用本標準。
本標準針對機器人產品軟件資源的功能組件化需求,采用模塊化設計思想規定了模塊化和網絡化 構建的機器人軟件功能組件框架,包括功能組件的接口描述和狀態轉換,組件化機器人軟件系統的設計方法,為機器人軟件設計者和使用者提供參考。
本標準有助于建立一個良好的機器人產業的生態環境。開發人員可以將來自不同供應商的機器人功能組件結合到一個的應用程序中,從而使得機器人和機器人軟件的開發變得方便和快捷,使得機器人系統變得靈活和高效。
執行狀態管理:
組件執行狀態描述如下。
———執行環境:是組件內線程的抽象表示。線程根據當前狀態執行組件內相關的工作任務。
———行為內核:負責組件的內部邏輯處理。具體包含一個有限狀態機(FSM)和一個內部邏輯單元,用于計算和處理不同時刻組件所處的狀態模式。
———狀態自檢:組件可以對自身狀態自檢,當出現異常時通過異常接口對外通知。
組件狀態變遷:
創建狀態:
當前機器人功能組件已經被實例化,但是還沒有完全初始化。處于創建狀態的機器人功能組件可以進行初始化操作,若初始化成功,則組件變遷到非激活狀態。
非激活狀態:
當前機器人功能組件已經完全初始化,但是沒有被任何的執行環境所調用。處于創建狀態的機器 人功能組件可以進行激活操作,若激活成功,則組件變遷到激活狀態。
激活狀態:
當前機器人功能組件被至少一個執行環境調用,通常當前機器人功能組件的核心功能處于執行狀態。處于激活狀態的機器人功能組件可以進行失活操作,若失活成功,則組件變遷到非激活狀態。處于激活狀態的機器人功能組件若遇到執行錯誤,則組件將變遷到與環境相對應的錯誤狀態。
錯誤狀態:
當前機器人功能組件在一個給定的執行環境遇到問題時,處于錯誤狀態的機器人功能組件可以被重置,如果重置成功,機器人功能組件的狀態將會變遷到非激活狀態,如果重置失敗將還是保持錯誤狀態。