diff --git a/amr/v1/slamnav_map.fbs b/amr/v1/slamnav_map.fbs index dc0eb330..1d7c7465 100644 --- a/amr/v1/slamnav_map.fbs +++ b/amr/v1/slamnav_map.fbs @@ -18,7 +18,7 @@ namespace SLAMNAV; - file_type : 파일 타입 - file_size : 파일 크기 */ -table MapFileInfo { +table FileInfo { file_name: string; created_at: string; updated_at: string; @@ -42,8 +42,8 @@ table MapInfo { created_at: string; updated_at: string; map_type: string; - cloud_info: [MapFileInfo]; - topo_info: [MapFileInfo]; + cloud_info: [FileInfo]; + topo_info: [FileInfo]; } /* diff --git a/amr/v1/slamnav_program.fbs b/amr/v1/slamnav_program.fbs new file mode 100644 index 00000000..614bb1c8 --- /dev/null +++ b/amr/v1/slamnav_program.fbs @@ -0,0 +1,49 @@ + +namespace SLAMNAV; + +/* + category : RPC + response : One-shot + topic : {robotType}/call_pause + usage : 로봇 동작 전체 일시 정지 ( movePause 동작 ) + field + - result : 동작 수행 결과 ( "success" / "fail" ) +*/ +table RequestCallPause { +} +table ResponseCallPause { + result: string; + message: string; +} + + +/* + category : RPC + response : One-shot + topic : {robotType}/call_resume + usage : 로봇 동작 resume ( moveResume 동작 ) + field + - result : 동작 수행 결과 ( "success" / "fail" ) +*/ +table RequestCallResume { +} +table ResponseCallResume { + result: string; + message: string; +} + + +/* + category : RPC + response : One-shot + topic : {robotType}/call_halt + usage : 로봇 동작 전체 일시 정지 ( moveStop 동작 ) + field + - result : 동작 수행 결과 ( "success" / "fail" ) +*/ +table RequestCallHalt { +} +table ResponseCallHalt { + result: string; + message: string; +} \ No newline at end of file diff --git a/amr/v1/slamnav_status.fbs b/amr/v1/slamnav_status.fbs index 46e18c21..3ae0eae9 100644 --- a/amr/v1/slamnav_status.fbs +++ b/amr/v1/slamnav_status.fbs @@ -44,20 +44,34 @@ struct StatusMotor { current: float; } + /* category : Data Structure - usage : 위치 추정 상태 + usage : 전원 상태 field - - inlier_error : 인라이어 오차 - - inlier_ratio : 인라이어 비율 - - mapping_error : 매핑 오차 - - mapping_ratio : 매핑 비율 + - bat_in/out : 배터리 입출력 전압 + - bat_current : 배터리 전류 + - total_power : 총 전력 + - power : 현재 전력 + - bat_percent : 배터리 잔량 (%) + - tabos_* : TABOS BMS 정보 + - charge_current : 충전 전류 + - contact_voltage : 접점 전압 */ -struct StatusCondition { - inlier_error: float; - inlier_ratio: float; - mapping_error: float; - mapping_ratio: float; +struct StatusPower { + bat_in: float; + bat_out: float; + bat_current: float; + total_power: float; + power: float; + bat_percent: float; + tabos_voltage: float; + tabos_current: float; + tabos_soc: float; + tabos_soh: float; + tabos_temp: float; + charge_current: float; + contact_voltage: float; } /* @@ -65,7 +79,6 @@ struct StatusCondition { usage : 로봇 상태 플래그 field - emo : 비상정지 상태 - - localization : 위치 추정 상태 ( "good" / "none" / "fail" ) - power : 전원 상태 - sss_recovery : SSS 복구 상태 - sw_reset : 소프트웨어 리셋 상태 @@ -77,7 +90,6 @@ struct StatusCondition { */ table StatusRobotState { emo: bool; - localization: string; power: bool; sss_recovery: bool; sw_reset: bool; @@ -104,34 +116,6 @@ table StatusRobotSafetyIoState { mcu1_din: [bool]; } -/* - category : Data Structure - usage : 전원 상태 - field - - bat_in/out : 배터리 입출력 전압 - - bat_current : 배터리 전류 - - total_power : 총 전력 - - power : 현재 전력 - - bat_percent : 배터리 잔량 (%) - - tabos_* : TABOS BMS 정보 - - charge_current : 충전 전류 - - contact_voltage : 접점 전압 -*/ -struct StatusPower { - bat_in: float; - bat_out: float; - bat_current: float; - total_power: float; - power: float; - bat_percent: float; - tabos_voltage: float; - tabos_current: float; - tabos_soc: float; - tabos_soh: float; - tabos_temp: float; - charge_current: float; - contact_voltage: float; -} /* category : Data Structure @@ -166,7 +150,7 @@ table StatusMap { - dock_result : move_result 상태 ( "move" / "success" / "cancel" / "fail" ) - dock : 도킹 이동 상태 ( "stop" ) - trigger_id : charge trigger 명령의 id ( 최근에 accept 된 명령 반환 ) - - trigger_result: move_result 상태 ( "move" / "success" / "cancel" / "fail" ) + - trigger_result: move_result 상태 ( "start" / "success" / "cancel" / "fail" ) - charge : 충전 상태 ( "" ) */ table StatusChargeState { @@ -178,6 +162,47 @@ table StatusChargeState { charge: string; } + +/* + category : Data Structure + usage : 위치 추정 상태 + field + - loc_id : localization 명령의 id ( 최근에 accept 된 명령 반환 ) + - loc_result : localization_result 상태 ( "move" / "success" / "cancel" / "fail" ) + - loc_status : 위치 추정 상태 ( "good" / "none" / "fail" ) + - inlier_error : 인라이어 오차 + - inlier_ratio : 인라이어 비율 + - mapping_error : 매핑 오차 + - mapping_ratio : 매핑 비율 +*/ +struct StatusLocState { + loc_id: float; + loc_result: float; + loc_status: float; + inlier_error: float; + inlier_ratio: float; + mapping_error: float; + mapping_ratio: float; +} + + +/* + category : Data Structure + usage : 멀티 상태 + field + - multi_id : multi 경로 id (RequestMultiPath::id 값 사용.) + - multi_result : multi_result 상태 id ( "move" / "success" / "cancel" / "fail" ) + - multi_step : 로봇 경로 step + - multi_state : multi 상태 ( "none" / "move" / "complete" / "fail" / "obstacle" / "cancel" ) +*/ +table StatusMultiState { + multi_id: string; + multi_result: string; + multi_step: int; + multi_state: string; +} + + // ------------------------------------------------- // ----------- -------- // ----------- Pub / Sub -------- @@ -189,7 +214,6 @@ table StatusChargeState { topic : {robotType}/status usage : 로봇 전체 상태 정보 field - - condition : 위치 추정 상태 - imu : IMU 센서 상태 - motor : 모터 상태 배열 - power : 전원 상태 @@ -200,7 +224,6 @@ table StatusChargeState { - dock : 도킹 상태 */ table Status { - condition: StatusCondition; imu: StatusImu; motor: [StatusMotor]; power: StatusPower; @@ -209,6 +232,8 @@ table Status { setting: StatusSetting; map: StatusMap; charge_state: StatusChargeState; + loc_state: StatusLocState; + multi_state: StatusMultiState; } @@ -233,9 +258,6 @@ table Status { - jog_move : 조그 이동 상태 ( "none" ) - obs : 장애물 상태 ( "none" / "near" / "far" / "vir" ) - path_state : 경로 상태 ( "none" / "req_path" / "recv_path" ) - - multi_id : multi 경로 id (RequestMultiPath::id 값 사용.) - - step : 로봇 경로 step - - multi_state : multi 상태 ( "none" / "move" / "complete" / "fail" / "obstacle" / "cancel" ) */ table StatusMoveState { move_id: string; @@ -244,9 +266,6 @@ table StatusMoveState { jog_move: string; obs: string; path_state: string; - multi_id: string; - step: int; - multi_state: string; } /*