Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions amr/v1/slamnav_map.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace SLAMNAV;
- file_type : 파일 타입
- file_size : 파일 크기
*/
table MapFileInfo {
table FileInfo {
file_name: string;
created_at: string;
updated_at: string;
Expand All @@ -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];
}

/*
Expand Down
49 changes: 49 additions & 0 deletions amr/v1/slamnav_program.fbs
Original file line number Diff line number Diff line change
@@ -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;
}
115 changes: 67 additions & 48 deletions amr/v1/slamnav_status.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -44,28 +44,41 @@ 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;
}

/*
category : Data Structure
usage : 로봇 상태 플래그
field
- emo : 비상정지 상태
- localization : 위치 추정 상태 ( "good" / "none" / "fail" )
- power : 전원 상태
- sss_recovery : SSS 복구 상태
- sw_reset : 소프트웨어 리셋 상태
Expand All @@ -77,7 +90,6 @@ struct StatusCondition {
*/
table StatusRobotState {
emo: bool;
localization: string;
power: bool;
sss_recovery: bool;
sw_reset: bool;
Expand All @@ -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
Expand Down Expand Up @@ -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 : 매핑 비율
*/
table StatusLocState {
loc_id: string;
loc_result: string;
loc_status: string;
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 --------
Expand All @@ -189,7 +214,6 @@ table StatusChargeState {
topic : {robotType}/status
usage : 로봇 전체 상태 정보
field
- condition : 위치 추정 상태
- imu : IMU 센서 상태
- motor : 모터 상태 배열
- power : 전원 상태
Expand All @@ -200,7 +224,6 @@ table StatusChargeState {
- dock : 도킹 상태
*/
table Status {
condition: StatusCondition;
imu: StatusImu;
motor: [StatusMotor];
power: StatusPower;
Expand All @@ -209,6 +232,8 @@ table Status {
setting: StatusSetting;
map: StatusMap;
charge_state: StatusChargeState;
loc_state: StatusLocState;
multi_state: StatusMultiState;
}


Expand All @@ -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;
Expand All @@ -244,9 +266,6 @@ table StatusMoveState {
jog_move: string;
obs: string;
path_state: string;
multi_id: string;
step: int;
multi_state: string;
}

/*
Expand Down