← Docs hub

A1 SoC 전체 구조 — 1398d109 기준

기준: 1398d109c391c4044cae26d0e9aea4d3f08d9670. 지정 커밋의 추적 파일을 직접 확인한 정적 구조 분석이며, 현재 HEAD·후속 TaskManager·SKIX 구현을 포함하지 않는다.

이 문서군은 a1-packages가 제품 안에서 맡는 역할을 앱 → 기능 조정 → 동료 서비스 → 네이티브·외부 HAL 순서로 설명한다. 이 저장소는 전체 AOSP가 아니라 제품 패키지 묶음이다. Android 프레임워크, 커널, HAL 구현까지 이 저장소에 들어 있다고 읽으면 안 된다.

핵심은 DeviceAgent다. 일반 장치 명령을 받고 제품 상태·청정·이동·예약을 조정하며, AMR·IoT·Vision 등 별도 앱과 연결한다. WSS와 Streaming은 같은 APK 안의 별도 Service와 Binder 진입점을 가진다. 네이티브 서비스와 SDK·권한 설정도 패키지 묶음에 포함된다.

A1 SoC 계층별 구성

전체 SVG와 모듈별 확대 자료

대형 전체도 + 모듈별 상세도 12장 · 전체 SVG 원본

A1 SoC 전체 모듈 구조

읽는 순서

순서 문서 설명 범위
1 전체 앱 지도 apps의 모든 디렉터리, 소스·prebuilt 차이, 앱별 진입점
2 DeviceAgent 내부 골격 중심 클래스, 모든 기능 패키지, 상태·정책·실행 책임
3 Binder·HAL·데이터 계약 공개 API, 동료 서비스, callback, 접근 제어, 데이터 저장
4 부팅과 대표 기능 실행 부팅, 청정·이동, 예약, WSS·영상·음성 흐름
5 빌드·네이티브·정책 루트 구성, 설치 선언, 서비스·라이브러리·스크립트·SELinux
6 소스 근거와 확인 범위 재현 명령, 커밋 통계, 코드 지도, 미확인 경계

모듈별 상세 분석

각 문서는 진입점, 주요 내부 클래스, 호출·callback 방향, thread/lifecycle, 저장소, 외부 의존과 미확인 경계를 설명한다.

상세 문서 포함 모듈·기능
DeviceAgent 도메인 실행 청정·이동·지도, WSS·Streaming·EventAsset 연계, 설정·유지보수·알림·보고서·OTA·보정·interaction
AMR·MCU typed AMR command, socket transport, MCUAgent serial과 DA HAL 구분
IoT·Update MQTT 수신·응답·재연결, OTA UI와 UpdateEngine 소유권
Vision·EventAsset·LLM 인식 callback, 영상·음성 녹화, clip·upload, LLMAgent 구현 한계
Pairing·SDK·시험 앱 BLE/Wi-Fi, DeviceControlAPI, AirbotSdkProject, devicecontrolapi_test, permissions
두 Launcher 화면·ViewModel·repository, DeviceControl callback, 두 변형의 차이
ICT·오류·부팅 지원 설비 시험 socket, ErrorProvider SQLite, StartupService reset 조건

전체 구성의 책임 경계

영역 책임 코드 근거
PUI·외부 호출자 사용자 입력과 화면·음성 표현 apps/SKMLauncher2/, apps/LLMAgent/
SDK 호출 앱에서 Binder·Bundle 계약 사용 apps/AirbotSdkProject/devicecontrolapi/, apps/DeviceControlAPI/
DeviceAgent 제품 동작 조정, 상태·정책, 장치 명령 분배 apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/
동료 앱 AMR 이동, IoT 통신, Vision, Pairing, Update, EventAsset apps/의 해당 모듈
native 서비스 복호화, Ethernet 설정, 로그 수집 service/
공유 native library serial port JNI libs/serial_port/
제품 편입·접근 설정 모듈 선택, 권한 XML, 정책 파일 packages.mk, apps/permissions/, sepolicy/
외부 플랫폼 Android 시스템 서비스, device_manager·SoundFlow HAL 구현 이 저장소에는 호출부만 확인됨

기존 Wiki와의 관계

DeviceAgent / SoC Domain Map의 도메인 분류와 DeviceAgent and SoC의 문서 연결을 참조했다. 다만 두 문서는 TaskManager 설계·후속 구현도 설명한다. 이 문서군이 해당 커밋의 실제 구조 기준선이다.

SKIX 설계 이력은 같은 커밋의 책임 집중을 리팩터링 출발점으로 설명한다. 여기서는 목표 Manager·Core·Registry를 현재 구현인 것처럼 그리지 않는다.

구조를 읽을 때 주의할 점

sendModuleCommand()의 정수 반환이나 Binder 호출 성공이 이동·청정의 물리 완료를 뜻하지 않는다. 완료는 각 도메인의 callback과 장치 상태까지 추적해야 한다. 이 문서는 APK 실행·AOSP 빌드·실기기 검증을 했다는 보고서가 아니다.

상세 정책·책임 보강

MR7 모듈 환경·51개 Manager·정책 상세 분석: 현재 quber/mr7 소스에서 조건·예외·실제 반환값까지 추적한 후속 자료.

Connections

전체 목차 · 앱 구성 · DeviceAgent 내부 · IPC · 실행 흐름 · 플랫폼·빌드 · 근거·확인 범위

재사용 가능한 구조도

전체 구성 Mermaid · IPC Mermaid · 부팅 Mermaid · 빌드 배치 Mermaid

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date