본문으로 이동
SK-INTELLIX / ARCHITECTURE ATLASMR7 개발 가이드 ↗

전체 Atlas / 모듈 상세 · 1398d109

AMRAgent·MCUAgent · 두 장치 전송 경로 — 상세 구조도

기준 커밋: 1398d109c391c4044cae26d0e9aea4d3f08d9670. 도식은 기존 구현을 설명한다. 제품 이미지 설치·실기기 성공을 증명하지 않는다.

AMR typed Binder·socket과 MCU serial·DeviceAgent HAL 경로의 분리

SVG 원본 크게 열기 · Mermaid 원본 · 모듈 분석 본문

AMRAgent·MCUAgent · 두 장치 전송 경로
SVG 원본을 열어 확대하고, 아래 연결 표에서 E 번호를 확인하세요.

읽는 순서와 연결 의미

행은 책임·실행 경로별 묶음이며 별도 프로세스라는 뜻은 아니다. 같은 행의 인접 연결은 화살표로, 행을 넘거나 떨어진 상자 사이 연결은 동일한 E 번호의 출력·입력 포트로 표시한다. 아래 표는 방향과 의미를 모두 풀어 쓴 것이다. 그림의 코드 파일명을 눌러 저장소로 이동하는 기능은 없으며, 아래 경로로 지정 커밋을 조회할 수 있다.

연결 출발 → 도착 동작 종류
E01 AMRAgent Stub → AMRCmdDispatcher typed op 호출·명령
E02 AMRCmdDispatcher → command 객체 command 생성 호출·명령
E03 command 객체 → socket transport send 호출·명령
E04 RecvThread → CallbackHandler report 결과·이벤트
E05 CallbackHandler → DA MainService Binder callback 결과·이벤트
E06 MCUAgent Stub → Manager executeMethod 호출·명령
E07 Manager → Comm 주기 송수신 호출·명령

구성요소별 책임과 코드 근거

상자 구성요소 책임·상태 지정 커밋의 소스 경로
N01 AMRAgent Stub IAMRControl.opMapping 등 / generic sendModuleCommand=-1 apps/AMRAgent/java/com/sk/airbot/amragent/AMRAgent.java
N02 AMRCmdDispatcher AMRCommand HandlerThread / 명령 생성·지연·반복 apps/AMRAgent/java/com/sk/airbot/amragent/AMRCmdDispatcher.java
N03 command 객체 주행 / 매핑 / 도킹 / OTA / protocol request 구성 apps/AMRAgent/java/com/sk/airbot/amragent/command/
N04 socket transport SockSender / 송신 경로 / 하위 AMR는 저장소 밖 apps/AMRAgent/java/com/sk/airbot/amragent/util/SockSender.java
N05 RecvThread frame / timeout / 상태 해석 / position / map / battery apps/AMRAgent/java/com/sk/airbot/amragent/RecvThread.java
N06 CallbackHandler 등록 client에 report Bundle / IAMRControlCallback apps/AMRAgent/java/com/sk/airbot/amragent/CallbackHandler.java
N07 DA MainService reportCmd 소비 / 제품 상태 반영·상위 알림 apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/main/MainService.java
N08 AMRState AMR 내부 상태 / mapping / driving / factory apps/AMRAgent/java/com/sk/airbot/amragent/AMRState.java
N09 MCUAgent Stub IMCUControl Bundle 입구 / Manager.executeMethod apps/MCUAgent/java/com/sk/airbot/mcuagent/MCUAgent.java
N10 Manager method/action → Protocol / Handler로 Comm 주기 실행 apps/MCUAgent/java/com/sk/airbot/mcuagent/Manager.java
N11 Comm makeSendPackeck / read frame / SerialPort input/output apps/MCUAgent/java/com/sk/airbot/mcuagent/comm/Comm.java
N12 DA MCUComm → HAL DeviceAgent의 별도 경로 / MCUAgent bind는 주석 apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/device/item/mcu/MCUComm.java

해석 경계와 변경 시 검토

Connections

전체 시각 자료 · 전체 분석 · 모듈 분석 · 전체 소스 근거