집기 프로젝트의 관측에서 결과까지 연결한다
Pick-and-Place는 대상 선택/관측→물체/공구 좌표와 후보 자세→접근/파지→유지/이송→배치/놓기→결과 확인의 연결이다. 물체 검출 점수가 높거나 정책의 오프라인 loss가 낮다는 사실만으로 이 전체 작업의 성공이 정해지지 않는다. 프로젝트에는 대상/목적 구역, 허용 시간·개입/미상과 성공 유지 관측을 먼저 정한다. 이 단위는 주어진 합성 기록으로 설계/판정을 완료하며 실제 집기/학습 성과를 주장하지 않는다.
기하 기반 후보 계획과 모방 정책은 다른 방식으로 목표를 만들 수 있다. 후보 pose에서 IK/접근 경로를 구할 수도 있고 시연으로 학습한 정책이 관절 목표/action chunk를 낼 수도 있다. 두 경우 모두 입력/행동의 단위·프레임/시간과 현재 상태/제약을 검증한다. 정책이 관절값을 직접 냈다는 이유로 기구/충돌·감독 전제를 생략하지 않는다. 서로 다른 후보 생성 방식을 같은 평가 계약 아래 비교한다.
SO-101과 산업용 팔을 같은 명령 장치로 취급하지 않는다
장치별 관절/그리퍼·driver와 단위/정규화·토크/가동 범위, 공구/장착·중단 수단이 다르다. 현재 LeRobot SOFollower 공식 구현은 body 관절을 설정에 따라 degree 또는 정규 범위로 처리하고 gripper는 별도 범위를 사용한다. 반환된 float를 무조건 rad로 읽거나 gripper를 여섯 번째 팔 회전 관절이라고 가정하지 않는다. 정확한 revision/설정·보정 계약을 기록한다.
산업용 팔에서도 제조사/제품·제어 모드에 따라 joint/TCP·단위/상태/허용 범위가 달라진다. SO용 배열을 그대로 보내거나 한 모델에서 통과한 출력 제한을 다른 팔에 복사하지 않는다. 아래 rad 예제는 장치 공통 명령이 아닌 가상 adapter 내부의 명시된 한 관절 계약이다. 실제 연결/운전은 이 과제에 포함하지 않는다.
한 픽셀을 물체 자세 전체로 바꾸지 않는다
왜곡 보정된 pinhole 영상에서 초점 거리 fx=fy=500 pixel/주점 cx=320, cy=240 pixel, 관측 u=370/v=240 pixel, optical 축방향 depth Z=0.8 m라고 주자. optical frame은 x 오른쪽/y 아래/z 전방이고 X=(u−cx)Z/fx=0.08 m, Y=(v−cy)Z/fy=0이다. 따라서 camera 좌표의 관측 점은 (0.08,0,0.8) m다. 이 fx/fy/cx/cy의 내부 보정 파라미터 묶음을 여기서 K라고 부른다. depth를 광선 range와 혼동하지 않는다.
그림 M32.02-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
이 가상 장착에서는 camera→base의 회전이 항등이고 평행이동이 (0.3,0,0.2) m라고 입력한다. base에서 본 점은 (0.38,0,1.0) m다. 두 축 방향이 같다는 특수 입력이며 실제 로봇의 일반 장착을 뜻하지 않는다. 일반 경우에는 M14의 방향이 명시된 회전/평행이동과 해당 시각 TF가 필요하다. 카메라를 다시 달았으면 이전 보정 파일만 같아도 유효한 것은 아니다.
이 점은 물체 표면의 위치 후보이지 물체의 6D 자세/TCP grasp pose 전체가 아니다. 파지 방향/폭·공구 offset, 접촉/표면·주변 scene과 불확실성이 더 필요하다. base의 +z가 접근 방향으로 정의된 별도 가정에서 후보를 0.05 m 더한 (0.38,0,1.05)로 잡아도 접근 경로가 비었다는 증거는 아니다. 전체 링크/물체·공구와 IK·관절/그리퍼 제한을 확인한다.
후보/경로와 현재 실행 관문을 나눈다
IK는 TCP 목표에 맞는 관절 후보를 찾는 문제이고 FK는 관절에서 TCP를 계산하는 방향이다. 해가 있거나 FK 잔차가 작다는 것은 현재→후보의 모든 경로가 유효하다는 뜻이 아니다. 경로는 지나갈 자세 순서, 궤적은 시간/속도까지 붙인 실행 조건이다. MoveIt Task Constructor 저자 자료는 이런 작업을 연결된 단계의 후보/계획으로 구성하는 사례다. 이 단위는 그 API를 실행하지 않는다.
합성 후보 검수 기록이 '목표 자세/FK 위치 잔차 4 mm·허용 5 mm, 후보의 관절 범위 확인, 접근 경로/자세 오차·실제 파지 상태 미상'이라고 하자. 위치 잔차만은 통과지만 전체 실행 전제는 남아 있다. 계획 scene에 물체를 attach한 기록도 실제 그리퍼가 물체를 유지한다는 센서 결과를 대신하지 않는다. 접근/파지·유지/배치 각각의 후조건을 확인한다.
모방 행동의 가상 한 관절 출력 z=1을 평균 μ=0.3 rad/표준편차 σ=0.1 rad의 절대 목표로 복원하면 q=μ+σz=0.4 rad다. 이전 적용 명령은 0.37 rad, 업데이트 간격은 0.02 s, 명령 변화율 한계는 1 rad/s라 허용 증분은 0.02 rad다. 후보 증분 0.03 rad를 제한하면 다음 명령은 0.39 rad다. 나머지 성분도 별도로 검사해야 한다.
제한 뒤 목표가 바뀌었으므로 원래 후보의 FK/경로 판정을 새 값에 그대로 복사하지 않는다. 현재 실제 관절/그리퍼 상태와 추종·속도/토크/충돌 전제를 다시 확인한다. 이번 증분 제한은 명령 변화의 숫자 조건이며 실제 축 속도·제동/안전을 보장한 것이 아니다. 잘못된 단위/normalize 통계·모델 버전은 필터로 고칠 수 없다.
시간/실패와 성공의 분모를 함께 남긴다
관측 stamp가 같은 clock의 2.000 s이고 명령 적용 검사 시각이 2.085 s, 최대 관측 나이가 0.080 s라면 나이는 0.085 s로 0.005 s 초과한다. 기하/복원 계산이 맞아도 오래된 관측을 근거로 새 파지를 승인하지 않는다. 새 관측/scene·기구/경로와 감독 전제를 재검증한다. 이미 전달된 명령의 상태는 별도로 추적한다.
조건별 가상 작업 기록을 정상 조명 성공 8/10·가림 조건 5/10이라고 주면 각각 80/50%, 동일 비중 합계 13/20=65%다. 이것은 합성 라벨 비율이며 실제 정책/장비의 실적이 아니다. 개입/timeout·미상과 독립 그룹/선택/시험·원본을 보존한다. 성공 정의가 같아야 하며 파지 성공만으로 배치까지 성공으로 세지 않는다.
프로젝트 리포트에는 카메라/보정·정책/통계/행동/driver·장치 버전, 관측→후보/최종 명령→실제 결과의 ID/시각, 단계별 미상/거부 이유와 개선 가설을 담는다. 가림은 인지/관측의 문제인지 접근 중 가림/시간 문제인지 나누고 다른 조건을 고정해 비교한다. 기존 3.5 안전한 실행, 5.5 정규화/통계와 6.5 배포를 연결하자. 계산 과제의 완료가 실제 프로젝트 합격/장비 실증을 뜻하지 않는다.
선택 과제·공통 산출물/기본 평가 안내 열기: 세 과제 중 하나를 선택하고 M32.05/.06에 연결한다. 장비 없는 기본 기준과 선택 실물 확장 기준을 구분한다.