Service Interface Reference

사용 가능한 서비스 인터페이스 정의입니다.

planning/set_waypoints

Waypoint 목록을 설정합니다.

Request:

Field

Type

Description

waypoints

Waypoint[]

Waypoint 배열

repetition

uint8

반복 횟수 (0=무한)

current_index

uint8

시작 인덱스

Response:

Field

Type

Description

success

bool

성공 여부

message

string

결과 메시지

가능한 Response 메시지:

  • "set waypoint success" - 성공

  • "waypoint list is empty" - waypoint가 비어있음

  • "service timeout" - 서비스 응답 없음

planning/get_waypoints

현재 미션 상태를 조회합니다.

Request: (empty)

Response:

Field

Type

Description

success

bool

성공 여부

message

string

결과 메시지

waypoints

Waypoint[]

현재 waypoint 목록

repetition

uint8

남은 반복 횟수

current_index

uint8

현재 목표 인덱스

planning/append_waypoint

Waypoint를 큐에 추가합니다.

Request:

Field

Type

Description

waypoint

Waypoint

추가할 waypoint

Response:

Field

Type

Description

success

bool

성공 여부

message

string

결과 메시지

set_map (SetLaserMap)

PCD 맵을 로드하고 Localization을 초기화합니다.

Request:

Field

Type

Description

name

string

맵 프레임 이름

pc

PointCloud2

포인트 클라우드 데이터

initial_pose

Pose

초기 로봇 자세

Response:

Field

Type

Description

success

bool

성공 여부

message

string

결과 메시지

가능한 Response 메시지:

  • "Map saved." - 성공

  • "service timeout" - Fast-LIO 플러그인 미로드

Waypoint Message

string frame      # 좌표 프레임: "map_name", "gps", "odom"
float64 x         # X 좌표 (GPS: latitude)
float64 y         # Y 좌표 (GPS: longitude)
float64 z         # Z 좌표 (GPS: altitude)
bool use_z        # Z 좌표 검사 여부

set_listen (Joy 제어)

수동 조이스틱 제어를 활성화/비활성화합니다.

Request:

Field

Type

Description

data

string

제어 명령 문자열

Request data 형식:

  • 활성화: "토픽명<&>클라이언트ID" (예: "joy<&>my_app")

  • 비활성화: "토픽명<&><CLOSE>" (예: "joy<&><CLOSE>")

Response:

Field

Type

Description

success

bool

성공 여부

message

string

결과 메시지

robot_state (Topic)

로봇의 상태 정보를 발행하는 토픽입니다.

토픽명: robot_state

메시지 필드:

Field

Type

Description

actuator_states

ActuatorState[]

액추에이터(모터) 상태 배열

base_pos

double[3]

베이스 위치 [x, y, z]

base_quat

double[4]

베이스 쿼터니언 [x, y, z, w]

base_lin_vel

double[3]

선속도 [vx, vy, vz]

base_ang_vel

double[3]

각속도 [wx, wy, wz]

voltage

double

현재 배터리 전압 (V)

current

double

현재 전류 (A)

max_voltage

double

최대 전압

min_voltage

double

최소 전압

body_temperature

double

본체 온도 (°C)

state

int32

Locomotion 상태 (0-9)

joy_listen_type

int32

Joy 소스 타입 (0=JOY, 1=VEL_CMD, 2=NONE)

ActuatorState 메시지:

Field

Type

Description

name

string

모터 이름 (예: “FR_hip”)

position

double

관절 위치 (rad)

velocity

double

관절 속도 (rad/s)

effort

double

관절 토크 (Nm)

status

uint16

상태 코드 (0 = 정상)

temperature

double

모터 온도 (°C)

Locomotion State 값:

상태

0

COMM_DISABLED (통신 비활성)

1

COMM_ENABLED (통신 활성)

2

MOTOR_READY (모터 준비)

3

MOTOR_COMMUTATION (모터 정류 중)

4

MOTOR_ENABLED (모터 활성)

5

IN_TEST_MODE (테스트 모드)

6

STANDING_MODE (서있는 상태)

7

IN_CONTROL (제어 중/걷기)

8

SITDOWN_MODE (앉은 상태)

9

MOTOR_DISABLED (모터 비활성)