diff --git a/MACGYVBOT-DECK/assets/operator-gui-command-interface.png b/MACGYVBOT-DECK/assets/operator-gui-command-interface.png new file mode 100644 index 0000000..3c106b1 Binary files /dev/null and b/MACGYVBOT-DECK/assets/operator-gui-command-interface.png differ diff --git a/MACGYVBOT-DECK/index.html b/MACGYVBOT-DECK/index.html index 581d74d..9c8d7b7 100644 --- a/MACGYVBOT-DECK/index.html +++ b/MACGYVBOT-DECK/index.html @@ -178,20 +178,61 @@

COMMAND

MacGyvBot
-
Command / LLM
-

Command는 자연어를 robot task intent로 바꾸는 입구입니다

+
Command / Pipeline
+

자연어 명령을 Task로 바꾸는 Command Pipeline

- IMPLEMENTATION -

LLM parser + rule fallback

-

사용자 명령에서 action, tool name, target mode를 추출합니다. LLM이 느리거나 실패해도 대표 명령은 규칙 기반 parser가 처리합니다.

-
CMD“렌치 가져와”, “이거 정리해”, pause, resume
+ INTERFACE ENTRY +

Voice / GUI Text → typed ROS command

+

음성 STT와 GUI 텍스트 입력을 같은 command path로 통합하고, 사용자의 한국어 명령을 task coordinator가 처리할 수 있는 구조화된 command로 변환합니다.

+
CMDbring, return, pause, resume, cancel, home
-
WHY

사용자는 정해진 문법으로 말하지 않으므로 task coordinator가 받을 안정적인 intent가 필요했습니다.

-
VOCAB

공구명과 동작 표현을 정규화해 같은 명령을 같은 task intent로 보냅니다.

-
FALLBACK

LLM 응답이 늦거나 실패해도 기본 명령은 규칙 기반 parser로 처리합니다.

+
01Inputmicrophone STT와 GUI 입력을 /stt_text로 통합ROS
+
02Fast path“멈춰”, “재개”, “취소” 같은 제어 명령은 LLM 전에 즉시 처리SAFE
+
03ParserLLM parser와 rule parser가 action/tool/target을 정규화NLP
+
04CommandToolCommand 또는 RobotTaskControl typed message로 publishTASK
+
+
+
+
+ +
+
MacGyvBot
+
Command / Prompt Engineering
+

Schema와 Context 기반 LLM Parser

+
+
+
+
사용자 표현
정규화 결과
처리 의도
+
드라이버 가져다줘
bring / screwdriver
공구 요청
+
스패너 줘
bring / wrench
별칭 정규화
+
이거 정리해
return / unknown
지시어 유지
+
멈춰
pause / unknown
fast control
+
+
+
SCHEMA응답 형식 제한action, tool_name, target_mode, confidenceJSON
+
CONTEXT명령 의미 주입bring, return, pause, resume, cancel, homeLLM
+
VOCAB공구 별칭 정규화렌치, 스패너, 몽키렌치 → wrenchTOOL
+
GUARDfallback과 혼선 방지rule parser 보조, unsupported drill 제거SAFE
+
+
+
+
+ +
+
MacGyvBot
+
Operator GUI
+

로봇 상태 확인과 수동 제어를 통합한 Operator GUI

+
+
+
MacGyvBot operator GUI screenshot
+
+
STATUSRobot Status로봇·카메라·Detector 상태 확인UI
+
CHATChat / TTS사용자에게 필요한 안내만 chat으로 표시하고 TTS는 chat 메시지만 발화UX
+
LOGTask Log개발자가 볼 topic/status/error detail은 log panel로 분리DBG
+
GRIPGripper Control안전 상태에서만 slider와 숫자 입력으로 RG2 gripper 폭 제어SAFE
diff --git a/MACGYVBOT-DECK/styles/common.css b/MACGYVBOT-DECK/styles/common.css index ccb741a..9286023 100644 --- a/MACGYVBOT-DECK/styles/common.css +++ b/MACGYVBOT-DECK/styles/common.css @@ -502,6 +502,31 @@ ul.clean-list li::before { align-items: stretch; } +.proof-rig.prompt-rig .table { + margin-top: 0; + height: 100%; +} + +.proof-rig.prompt-rig .signal-stack { + height: 100%; + align-content: stretch; +} + +.proof-rig.prompt-rig .signal-row { + grid-template-columns: 72px .9fr 1.35fr 58px; + min-height: 82px; +} + +.proof-rig.operator-gui-rig .operator-gui-stack { + height: 100%; + align-content: stretch; +} + +.proof-rig.operator-gui-rig .signal-row { + grid-template-columns: 76px 1fr 1.28fr 54px; + min-height: 76px; +} + .system-map, .proof-panel, .results-board, @@ -892,6 +917,18 @@ ul.clean-list li::before { } .placeholder b { display: block; font-size: 28px; margin-bottom: 10px; color: #fff; } .placeholder span { display: block; font-size: 18px; line-height: 1.35; max-width: 520px; } +.placeholder.image-fill { + padding: 0; + overflow: hidden; + background: #07090a; + border-style: solid; +} +.placeholder.image-fill img { + width: 100%; + height: 100%; + display: block; + object-fit: contain; +} .failure-media-grid { display: grid;