형식
MCAP은 모든 토픽을 보존하므로 가장 완전한 그림을 제공합니다. ROS bag 임포터는 카메라 토픽(
sensor_msgs/Image와 sensor_msgs/CompressedImage)을 변환하고, 관절 상태와 기타 숫자 또는 텍스트 토픽도 보존합니다. 포인트 클라우드 등 바이너리 페이로드는 건너뜁니다. 모든 토픽을 보존해야 할 때는 MCAP을 보내세요.
롤아웃을 플릿 녹화로 보내기
각 업로드는 기존 플릿 녹화로 들어갑니다. Avala는 프로그램이 시작될 때 등록된 기기에 대한 녹화를 준비합니다. 녹화 UID를 찾으려면 녹화 목록을 조회하세요.upload_recording은 같은 소스의 중단된 업로드를 이어서 진행합니다. 호출이 완료되면 처리가 대기열에 들어간 것입니다. client.fleet.recordings.get(uid).status가 ready가 될 때까지 확인하세요.
실패와 개입을 이벤트로 표시하기
플릿 이벤트는 녹화의 특정 순간에 라벨을 붙입니다. Avala가 빠르게 찾을 수 있도록 각 실패와 각 개입을 표시하세요. 이벤트 분류에는type을, 모델 버전과 작업처럼 스택이 기록하는 정보에는 metadata를 사용하세요.
type은 error, warning, info, state_change, anomaly, custom 중 하나입니다. severity는 info, warning, error, critical 중 하나입니다. 녹화 규칙으로 이벤트를 자동으로 생성할 수도 있습니다.
ROS bag과 LeRobot 데이터셋 가져오기
롤아웃이 플릿 밖에 있으면 데이터셋으로 가져오세요. 먼저 해당 형식의 추가 패키지를 설치합니다.평가 로그 가져오기
오픈 소스 평가 도구인 Inspect Robots로 정책을 평가한다면 그 JSON 평가 로그를 가져오세요. 각 시행(한 에포크의 장면 하나)은 시퀀스 하나에 결과 라벨을 붙입니다. 실패한 시행은 필터링하고, 검토하고, 수집 작업으로 바꿀 수 있는 시퀀스가 됩니다.
가져온 모든 라벨은
source가 imported, evaluation_membership이 held_out_eval, autonomy_level이 autonomous로 설정됩니다. model_version은 실행의 정책입니다. 실행의 작업은 시행 전체에 걸친 하위 작업 하나가 됩니다. 사람이나 모델이 쓴 라벨은 --overwrite를 전달하지 않으면 유지됩니다. 전체 옵션 목록은 CLI 레퍼런스에 있습니다.
MCP 서버로 녹화와 이벤트 검사하기
MCP 서버는 플릿 데이터를 읽습니다. 어시스턴트에게 최근 실패에 대해 물어보거나 도구를 직접 호출하세요:- 녹화에는
fleet_list_recordings와fleet_get_recording recording,device,type또는severity로 필터링한fleet_list_events- 플릿 전체 요약에는
get_fleet_health
Avala가 롤아웃으로 하는 일
아래 단계는 Avala가 프로그램의 일부로 수행하는 서비스입니다. 이 단계를 위해 호출할 API는 없습니다.- 분할. Avala는 각 롤아웃을 상태 변화 지점에서 시퀀스와 하위 작업으로 나눕니다. 고객의 이벤트가 실패 순간의 기준점이 됩니다.
- 라벨링. 각 시퀀스는 시퀀스 메타데이터의 두 축, 즉 기술적 유효성 검사와 결과 라벨을 모두 받습니다.
- 클러스터링. Avala는 무엇이 잘못되었는지, 어떤 조건에서 일어났는지에 따라 실패를 묶습니다. 클러스터는 프로그램의 버전이 관리되는 실패 분류 체계에 대응합니다. 새 클러스터는 분류 체계를 확장합니다.
- 갭 분석. Avala는 실패 클러스터를 기존 학습 데이터의 커버리지 및 평가 코호트와 비교합니다.
갭 리포트
Avala는 롤아웃 배치마다 갭 리포트를 제공합니다.
고객은 갭 리포트를 검토하고 우선순위를 정합니다. 승인된 실험이 다음 수집 브리프가 됩니다.