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