횡방향 오차
목표 이랑 중심에서 왼쪽 또는 오른쪽으로 벗어난 거리입니다. 중심으로 돌아가는 데 필요한 보정량을 알려줍니다.
FROM OBSERVATION TO MOTION
이랑에서 벗어난 정도를 추정하고, 갈 방향을 정한 뒤,
네 바퀴가 실행할 수 있는 명령으로 바꿉니다.
위험 조건이 생기면 감속하거나 정지 상태를 유지합니다.

이 페이지의 기준 이번 상세 영상에 사용한 소프트웨어와 자체 실행 데이터입니다. 센서·지면·구동은 시뮬레이션 모델이며, 실제 차량과 연결된 제어 화면은 아닙니다. 아래 기준값은 제조사 사양이 아닌 현재 설정값입니다.
01 / THE CONTROL LOOP
한 번 정한 조향을 끝까지 유지하지 않습니다. 0.05초마다 새로운 관측을 반영해 다음 명령을 계산합니다. 화면은 목표 10Hz로 갱신되며, 영상의 30fps와는 다른 주기입니다.
바퀴가 돌아도 지면에서 미끄러질 수 있습니다. 그래서 바퀴 속도 외에 독립적인 지면 속도 관측을 함께 사용합니다. 다음 판단에는 이 차이가 다시 반영됩니다.
지면 센서 갱신 → 이랑 합성 관측과 상태 추정 → 안전 검사 → 임무 단계 결정 → MPC 또는 PP → 지면 감속 → 농지 감독 → 네 바퀴 명령 배분 → 지면 운동 계산 → 평가·기록 순서입니다. 상태 추정치는 제어에, 모델의 정답 상태는 별도 평가에 사용합니다.
02 / OBSERVE & ESTIMATE
목표 이랑 중심에서 왼쪽 또는 오른쪽으로 벗어난 거리입니다. 중심으로 돌아가는 데 필요한 보정량을 알려줍니다.
차량이 향하는 방향과 이랑 방향의 차이입니다. 현재 중심에 있어도 방향이 틀어져 있으면 곧 옆으로 벗어날 수 있습니다.
관측에는 일부러 노이즈를 넣습니다. 추정기는 이전 움직임으로 예측한 상태와 새 관측을 결합해 흔들림을 줄입니다. IMU는 차체의 회전·기울기 정보를 제공하는 센서 모형입니다.
| 프로필 | 기본 방식과 추가 정보 |
|---|---|
| P0 | 작은 각도를 가정한 상태 예측 |
| P1 | 비선형 움직임을 반영한 상태 예측 |
| P2 | P1에 차체 IMU 정보 추가 |
| P3 | P2에 작물열 관측을 추가하고 큰 이상 관측을 걸러냄 |
| P4 | P2에 평행한 이랑의 관측 추가 |
| P5 | P2에 GNSS 위치 관측 모형 추가 |
추가 정보도 모두 생성한 관측입니다. 실제 영상 분할 신경망·스테레오 복원·GNSS 수신기를 연결한 결과가 아닙니다. P0/P1 비교에서도 지면 안전 감독용 IMU는 사용했습니다. 번호가 높을수록 항상 오차가 작아지는 것은 아닙니다.
프로필별 실제 계산 데이터 ↓03 / PLAN & ALLOCATE
이랑 추종에는 두 가지 제어기를 비교합니다. 두 방식 모두 추정한 위치·방향을 사용하며, 같은 바퀴 한계와 안전 조건을 통과해야 합니다.
앞쪽 목표 지점을 향하는 곡률, 즉 얼마나 휘어 갈지를 계산합니다. 현재 오차와 방향을 함께 보정합니다.
기본 미리보기 거리: 0.85 m + 속도 × 0.25 s
기본 보정 이득: 0.90
약 2.4초 앞까지 예측해, 이랑 오차와 과한 조향이 작아지는 명령을 찾습니다. 다음 주기에 다시 계산합니다.
12개 예측 단계 × 0.2초
제약을 적용한 반복 계산: 18회
차량 중심의 전진·옆 이동·회전을 각 바퀴 위치에 맞는 조향각과 속도로 변환합니다. 선회할 때 안쪽과 바깥쪽 바퀴의 경로가 다르기 때문입니다.
요청한 각도를 만들 수 없다면, 실제 바퀴가 굴러갈 수 있는 방향의 속도 성분만 사용합니다. 지면 상태에 따라 속도와 가속도는 더 낮아질 수 있습니다.
이번 동일 시드 3쌍에서는 평균 바퀴 횡오차 P95가 PP 2.80 cm, MPC 2.89 cm였습니다. 이 단순 모델에서는 PP가 조금 작았습니다. 조건과 설정에 따라 결과가 달라지므로 실제 농지에서의 우월성으로 해석하지 않습니다. 현재 MPC는 횡방향·방향의 축약 예측 모델이며, 차량과 토양의 모든 비선형 물리를 최적화하는 모델은 아닙니다.
04 / ROW TO ROW
다음 이랑에 들어갈 때의 ‘Crab’은 여기서는 전진과 옆 방향 보정을 함께 쓰는 동작입니다. 바퀴를 90° 돌려 순수하게 옆으로만 이동하는 장면을 뜻하지 않습니다.
현재 바퀴 각도를 유지하며 구동 목표를 0으로 낮춥니다. 속도가 남아 있을 때 조향 방향부터 크게 바꾸지 않습니다.
반대 방향 요청 또는 조향 목표가 현재 각도에서 12° 넘게 바뀔 때 적용합니다. 8초 안에 정지·정렬 조건을 만족하지 못하면 정지를 요청하고 래치를 설정합니다.
진입 구간에서 0.45 m 넘게 진행하고, 횡방향 오차가 10 cm 미만이며, 방향 오차가 약 6.9° 미만이면 일반 이랑 추종으로 복귀합니다. 단계 전환은 정해진 시간만 기다려서 수행하지 않습니다.
05 / STOP & RECOVER
정지 래치는 위험을 발견했을 때 정지 요청을 기억하는 장치입니다. 고장 원인을 지웠다는 이유만으로 주행을 다시 허용하지 않습니다.
| 확인하는 것 | 현재 기준 | 차량의 반응 |
|---|---|---|
| 제어 신호 끊김 | ACU 신호 경과시간 ≥ 0.3초 | 정지 래치 |
| 이랑 관측 끊김 | 마지막 유효 관측 후 ≥ 0.7초 | 정지 래치 |
| 지면 속도·IMU 관측 끊김 | 자료 경과시간 ≥ 0.7초 | 자료를 기다리며 구동 제한, 시간 초과 시 정지 래치 |
| 앞쪽 장애물 | 기본 보호거리 1.2 m + 모델 제동 여유 안 | 정지 래치와 지면 모드 제동 |
| 정지·조향 전환 실패 | 대기시간 ≥ 8초 | 다음 방향 진행 차단 |
| 작물·경계 조건 위반 | 요구 하부 여유 부족 또는 경계 보호영역 침범 | 출발 거절 또는 주행 중 정지 래치 |
고장 원인 제거 → 모델 속도 0.005 m/s 이하 → 신선한 센서 자료와 안전 조건 확인 → 사용자가 정지 래치 해제 → 일시정지 상태 → 명시적으로 재개해야 합니다. 조건이 남아 있으면 해제가 거절됩니다.
지면 모드에서는 정지 요청 후에도 관성·경사·마찰 제한 때문에 차량 모델이 움직일 수 있습니다. 10초 동안 제동해도 멈추지 못하면 BLOCKED(제동으로 움직임을 억제하지 못함)로 표시합니다. 시뮬레이션을 초기화하는 것은 물리적인 비상정지가 아닙니다. 실물 브레이크·안전 회로·CAN 연결은 구현 범위에 포함되지 않습니다.
실제 기록에는 0.05초 단위 계산 때문에 설정 임계시간과 다른 검출 시각이 나올 수 있습니다. 예를 들어 ACU 0.3초 기준의 이번 관측 래치 지연은 0.35초였습니다.
06 / CROP CLEARANCE
최저 하부 높이에서 두둑 높이와 작물 높이를 뺍니다. 기울면 한쪽 하부가 더 내려오므로 그만큼의 여유도 제외합니다. 남은 공간이 2 cm 미만이면 이 검사를 통과하지 못합니다. 출발 전에는 평지 기준의 차체·작물 형상을 검사하고, 주행 중에는 IMU로 관측한 기울기를 추가해 부족하면 정지를 요청합니다.
ST2 작물 26.95 cm와 두둑 24.70 cm를 제외하면 4.35 cm가 남습니다.
통과는 이 검사에 한정됩니다. 다른 안전 조건도 충족해야 출발할 수 있습니다.
고정 조건: 하부 56 cm · 두둑 24.7 cm · 축거 1.4 m · 윤거 1.0 m · 작물 밀도 0.75. 실제 거리 센서 측정값이 아닙니다.
이 감독 계산은 지면에 가라앉는 침하량을 관측하지 못합니다. 모래 조건은 임무를 완료했지만, 별도 평가에서는 음수 여유가 2,198개 계산 스텝에 기록됐습니다. 이는 기하학적 간섭 지표이며 실제 충돌 횟수나 접촉력 측정이 아닙니다. 완주가 곧 작물에 닿지 않았다는 의미는 아닙니다.
07 / BOUNDARIES & SOIL
차체 중심만 경계 안에 있으면 충분하지 않습니다. 프레임과 회전하는 타이어 전체를 감싸는 원에 15 cm 여유를 더해 먼저 제외합니다. 그 안쪽에서 남은 거리와 계획 정지거리를 비교합니다.
이 거리에서 계산한 속도 상한 0.74 m/s
반응 여유 0.18 m + 제동 여유 0.51 m
반응시간 0.3초, 감속도 0.35 m/s²를 고정한 설명용 예시입니다. 실제 코드에서는 바퀴 가속도와 추정 마찰이 더 낮은 감속도를 요구할 수 있습니다. 실제 제동거리 보장값이 아닙니다.
| 관측 | 감속 시작 | 정지 요청 |
|---|---|---|
| 추정 슬립 | 16% 초과 | 55% 이상인 상태의 누적 시간이 0.6초 이상 |
| 앞뒤·좌우 기울기 중 큰 값 | 6° 초과 | 14° 이상 |
| 형상으로 추정한 지지 여유 | 별도 감속 구간 없음 | 정규화한 지지 여유가 0.15 미만 |
슬립은 바퀴 속도와 지면 속도가 어긋나는 정도입니다. 심한 슬립의 누적 시간은 정상 구간에서 줄어들고, 속도 제한도 한 번에 풀지 않고 천천히 회복시킵니다.
경계는 이랑 앞뒤의 두 평행선입니다. 임의 형태 농지의 전체 둘레나 장애물 지도를 인식하는 기능은 없습니다. 6개 지면 재질은 공학적 계수로 계산하며 실측 토양 물성이 아닙니다. 경사·요철·마찰 제한을 포함한 축약 모델로, 완전한 토양 변형·타이어 접촉 해석은 아닙니다.
이번 경사 빙판 조건은 제동 후에도 움직임이 남아 BLOCKED로 끝났습니다. 실패·정지·출발 거절을 성공적인 완주와 구분해 기록합니다.
지면별 전체 결과와 시계열 ↓08 / READ THE EVIDENCE
화면의 결과는 이번 프로그램이 계산한 값입니다. 좋은 결과만 골라 보여주거나, 원본 발표의 성능 수치를 가져오지 않았습니다.
| 지표 | 쉬운 설명 | 읽을 때 주의할 점 |
|---|---|---|
| 바퀴 횡오차 P95 | 시간별로 네 바퀴 중 가장 크게 벗어난 오차를 모아, 그 값들의 95%가 이내에 들어가는 경계 | 선회·이랑 이탈을 제외하고 5Hz로 집계. 최대값이나 정밀도 보장값은 아님 |
| 동일 시드 비교 | 같은 무작위 조건 묶음에서 두 제어기를 각각 실행 | 3개 시드의 결과만으로 실제 농지 전체에 일반화할 수 없음 |
| 자동 튜닝 | 21개 설정 후보를 3개 선택 시드로 평가하고, 다른 3개 시드에서 한 번 더 비교 | 오차가 줄어도 조향이 거칠어질 수 있음. 선택값을 운영 설정에 자동 적용하지 않음 |
| 102/102 검증 | 48개 완료·36개 정지·18개 출발 거절이 기대한 상태와 일치 | 102개 모두 완주했다거나 물리적으로 안전하다는 뜻이 아님 |
이번 튜닝에서는 별도 시드의 P95가 약 1.53 mm 개선됐지만, 조향 속도 P95는 55.37% 증가했고 최대 바퀴 오차도 5.67 mm 증가했습니다. 한 숫자가 좋아졌다고 모든 동작이 좋아진 것은 아닙니다.
이 설명과 계산 예시는 새 차체 상세판의 코드·기본 설정을 기준으로 작성했습니다. 실제 차량 제원과 센서·브레이크 시험을 통해 보정하기 전까지 실물 운용 성능을 뜻하지 않습니다.
상세 영상으로 돌아가기 ↗