경로 편집 기능
내비게이션 에디터는 로봇이 주행할 토폴로지 기반 경로를 편집하는 도구입니다. PostgreSQL/PostGIS 데이터베이스와 연동하여 경로 데이터를 관리합니다.
화면 구성
- 좌측 패널: 레이어 관리, 속성 편집
- 중앙 영역: 위성 지도 (OpenLayers) 위에 경로를 오버레이
- 우측 패널: 선택된 피처의 속성 상세
Load DB Layers 버튼
DB 레이어를 불러오는 초록색 버튼입니다 (데이터베이스 아이콘 포함).
- 클릭하면 설정된 DB 연결에서 레이어 데이터를 가져옵니다
- 데이터가 없거나 연결 실패 시 오류 메시지를 표시합니다
DB 레이어
PostgreSQL에서 로드한 데이터 레이어:
- route_node: 경로 노드
- route_edge: 경로 엣지
- market: POI / 마커
Map 레이어
Tile Map에서 Open으로 원하는 맵을 로드하여 맵 목록에 추가합니다.
편집 모드 및 단축키
상단 툴바에서 다음 모드를 전환합니다. 키보드 단축키로도 활성화할 수 있으며, 한 번에 하나의 모드만 활성화됩니다.
| 모드 | 단축키 | 색상 | 기능 |
|---|---|---|---|
| Edit Mode | Q | 주황색 | 기존 노드/엣지 선택 및 편집 |
| Node Mode | W | 청록색 | 새 노드 추가 및 엣지 연결 |
| POI Mode | E | 분홍색 | 관심 지점(POI) 추가 |
| Delete Mode | R | 빨간색 | 노드/엣지/POI 삭제 |
| 취소/선택 해제 | Escape | — | 현재 선택 취소 |
버튼 상태 및 인터랙션
각 모드 버튼은 비활성(기본) 상태와 활성 상태에서 색상이 달라집니다.
| 상태 | 외형 |
|---|---|
| 비활성 | 어두운 배경, 회색 텍스트 (border-white/10 bg-white/5 text-gray-400) |
| 활성 | 모드 색상 배경 + 흰색 텍스트 + 레이블에 ” ON” 접미사 표시 |
| 호버 | 약간 밝은 배경 (hover:bg-[#252525] hover:text-white) |
예를 들어 POI Mode가 활성화되면 버튼에 “POI Mode ON” 텍스트가 표시되고 핑크색으로 강조됩니다.
Edit 모드 (Q)
기존 노드와 엣지를 선택하여 수정합니다.
- 노드 이동: 노드를 드래그하여 위치 변경
- 엣지 선택: 엣지를 클릭하여 속성 편집
- 다중 선택: Ctrl + 클릭으로 여러 피처 선택
- Edit 모드 활성화 시 Allocate Tag 버튼이 툴바에 추가 표시됩니다
Allocate Tag 버튼
Edit 모드에서만 나타나는 버튼으로, 선택한 노드/엣지에 태그를 자동 할당합니다.
| 상태 | 외형 |
|---|---|
| 기본 | 주황색 배경 + 태그 아이콘 |
| 할당 중 | 스피너 + “Allocating…” 텍스트 |
| 완료 | 기본 상태로 복귀 |
Node Mode (W)
새로운 노드를 추가합니다.
- 지도에서 원하는 위치를 클릭하면 노드가 생성됩니다
- 연속으로 클릭하면 노드가 자동으로 엣지로 연결됩니다
POI Mode (E)
관심 지점(Point of Interest)을 추가합니다.
- 지도에서 클릭하여 POI 위치를 지정합니다
- POI 유형을 선택합니다 (충전소, 대기 지점, 승하차 지점 등)
Delete Mode (R)
선택한 피처를 삭제합니다.
- 노드 또는 엣지를 클릭하면 삭제됩니다
- 노드 삭제 시 연결된 엣지도 함께 삭제됩니다
속성 편집
선택한 엣지의 속성을 우측 패널에서 편집합니다:
| 속성 | 설명 | 값 |
|---|---|---|
| Road Type | 도로 유형 | 보행로 / 차도 / 횡단보도 |
| Path Type | 경로 유형 | 양방향 / 단방향 |
| Spatial Type | 공간 유형 | 실외 / 실내 / 지하 |
| Speed | 주행 속도 제한 | 0.5 ~ 2.0 m/s |
위성 지도 배경
툴바 좌측의 Satellite 셀렉터에서 배경을 전환합니다:
| 옵션 | 설명 |
|---|---|
| 구글 위성 영상 | |
| Kakao | 국내 고해상도 위성 (기본값) |
| OpenStreetMap | 오픈스트리트맵 지형도 |
실제 사용 흐름
1. [Load DB Layers] → DB에서 기존 경로 데이터 로드2. Node Mode(W) 활성화 → 지도에서 순서대로 클릭하여 노드 추가3. Escape → Node Mode 종료4. Edit Mode(Q) 활성화 → 노드를 클릭/드래그하여 위치 조정5. 엣지 클릭 → 우측 패널에서 Road Type, Speed 등 속성 설정6. (선택) Allocate Tag → 태그 자동 배정7. 데이터는 편집 즉시 DB에 자동 저장됨좌표계
내비게이션 에디터는 URDF 좌표계를 지원합니다. 로봇의 로컬 좌표와 GPS 좌표 간 변환이 자동으로 수행됩니다.
데이터 저장
편집한 경로 데이터는 즉시 DB에 저장됩니다. 별도의 저장 버튼 없이 편집 작업이 실시간으로 반영됩니다.