센서가 보고한 값과 우리가 알고 싶은 값
RGB 카메라의 기본 관측은 픽셀별 색/밝기 관련 디지털 값이다. 이 값은 노출·렌즈·조명·영상 처리의 영향을 받으며 물체 이름이나 미터 단위 거리가 아니다. 물체 검출기의 ‘컵’은 영상에서 계산한 추정 결과다. 그림자·반사·가림·흔들림·노출 포화가 달라지면 같은 물체의 픽셀도 달라진다. 한 영상으로 깊이를 추정하는 모델이 있어도 그 추정과 거리 센서의 관측 계약은 구별한다.
그림 M03.03-1. 각 칸은 서로 다른 역할/근거다. 나란히 비교할 항목이며 위아래가 시간 순서를 뜻하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
깊이 카메라는 픽셀과 연결된 거리 관련 값을 제공한다. 스테레오는 두 영상에서 같은 표면의 대응을 찾아 시차로 깊이를 계산한다. 무늬가 없는 벽이나 반복 무늬는 대응을 어렵게 만들고, 가려진 영역·반사체에는 유효하지 않은 값이 생길 수 있다. 능동 스테레오·구조광·비행시간 방식은 광원과 처리 방식이 다르므로 ‘모든 깊이 카메라는 햇빛에서 동일하게 실패한다’고 단정하지 않는다. RealSense의 저자 설명은 스테레오의 대응과 보정 가정을 확인하는 자료다.
깊이 값이 카메라 광축 방향 z인지 광선 방향 거리인지, 정수1이 몇 m인지 문서에서 확인한다. RGB와 깊이의 픽셀 위치도 센서 배치와 보정 없이 같다고 놓지 않는다. 이 단위의 가상 깊이는 광학 좌표에서 z축 깊이이며 단위는mm다. 센서 좌표를 로봇 좌표로 바꾸려면 M02.02의 변환이 추가로 필요하다.
LiDAR는 빛의 반사로 거리 관련 정보를 얻는다. 펄스 비행시간 방식에서는 왕복 시간을 거리로 바꾸며, 스캔 방향과 거리로 점을 구성한다. 다른 측정 방식도 있으므로 제품 원리를 확인한다. 거리·반사 강도·반환 신호 상태는 다른 필드다. 반사 강도가 곧 물체의 색상이나 분류는 아니다. 유리·저반사 표면·안개·가림·창 오염 등이 유효 반환에 영향을 줄 수 있으며, 반환 없음은 ‘장애물 없음’과 동의어가 아니다. Ouster 데이터 문서는 거리·신호·상태 필드를 나누는 제조사 사례다. 회전 스캔 한 장의 점들이 모두 정확히 같은 시각에 찍혔다고 가정해서도 안 된다.
IMU는 위치를 바로 읽지 않는다
IMU의 자이로는 센서 축 기준 각속도를, 가속도계는 비력(specific force)을 측정한다. 비력은 중력만 받는 자유낙하와 지지면 위 정지를 구별하는 양이다. 짧은 시간·작은 지역에서 지구 회전 등을 생략한 모델을 쓰면 다. B는 센서 몸체 좌표,W는 세계 좌표, R은 B벡터를 W로 옮기는 회전행렬, f는비력,a는 병진 가속도,g는 중력 가속도이며 모두 가속도 단위m/s²다. 실제 값에는 바이어스와 잡음이 더해진다.
세계 z를 위쪽, 센서 축이 세계 축과 일치한다고 가정하면 R은 단위행렬이고 g의z는-9.8m/s²다. 책상 위 정지에서는 a의z=0이므로 f의z=+9.8이다. 따라서 가속도계9.8을 ‘위로9.8 가속 중’이라고 읽으면 안 된다. 같은 자세를 정확히 알고 f의z가10.8이라면 a의z=f의z+g의z=1.0m/s²로 계산한다. 이것은 합성 기록 해석이며 자유낙하 실험을 요구하지 않는다.
자세를 모르면 몸체 축에 투영된 중력과 실제 운동 가속도를 가속도계 한 시점만으로 일반적으로 분리할 수 없다. 기울기 추정에 중력 방향을 쓰는 방법도 병진 가속도가 작다는 등의 조건이 필요하다. 자이로를 적분한 자세와 가속도를 적분한 속도/위치는 초기값·바이어스 때문에 오차가 누적된다. 높은 출력 빈도가 곧 절대 위치 정확도를 뜻하지 않는다. 관성항법 기술 보고서의 비력·좌표계 설명을 이 단순 모델과 연결한다.
GNSS의 위치, 이동 방향, 몸체 방향은 다르다
GNSS 수신기는 위성 신호의 시간·반송파·도플러 등 관측을 처리하여 위치와 시각, 구현에 따라 속도 등을 추정한다. GPS는 GNSS의 한 체계다. 위도/경도 각도와 로컬 x/y 미터는 다른 좌표 표현이며 기준 타원체·고도 정의도 확인한다. 건물에 의한 차폐·반사와 위성 배치·수신 상태는 오차를 바꾼다. GPS.gov의 정확도 설명은 위성 신호의 성능과 사용자의 위치 결과를 구별한다.
한 개 안테나의 위치 한 점은 로봇이 어느 쪽을 바라보는지 정하지 못한다. 두 위치의 차이로 구한 이동 방향도 몸체 앞쪽 방향과 자동으로 같지 않다. 옆으로 움직이거나 후진할 수 있고, 작은 이동은 위치 오차와 구별되지 않을 수 있다. 두 안테나의 기준선으로 정지 중에도 방위를 추정하는 별도 GNSS 구성은 가능하지만 일반 위치 한 점과 같은 정보가 아니다. 제조사의 이중 안테나 설명에서 추가 관측이 무엇인지 확인한다.
마지막으로 모든 센서에 좌표·단위·획득 시각·유효 상태를 붙인다. 같은 시계에서 판단 시각1000ms,깊이 획득920ms이면 관측 나이는80ms다. 그동안 상대 속도1m/s가 일정했다는 별도 가정에서 위치 변화 크기는0.08m다. 이는 센서 자체의 거리 오차가 아니라 오래된 관측을 현재로 해석할 때의 변화량이다. 갱신율30Hz는 명목 간격 약33.3ms를 뜻하지만 처리·전송 지연이33.3ms로 보장된다는 뜻은 아니다.