FROM OBSERVATION TO MOTION

차량은 무엇을 보고,
어떻게 움직일까요?

이랑에서 벗어난 정도를 추정하고, 갈 방향을 정한 뒤,
네 바퀴가 실행할 수 있는 명령으로 바꿉니다.
위험 조건이 생기면 감속하거나 정지 상태를 유지합니다.

실제 프로그램의 전체 임무 보기 ↗
붉은 외곽 레일과 검은 프레임을 갖춘 AMT 4륜 플랫폼의 Blender 렌더
영상 외형을 재구성한 모델 · 치수는 추정값

이 페이지의 기준 이번 상세 영상에 사용한 소프트웨어와 자체 실행 데이터입니다. 센서·지면·구동은 시뮬레이션 모델이며, 실제 차량과 연결된 제어 화면은 아닙니다. 아래 기준값은 제조사 사양이 아닌 현재 설정값입니다.

01 / THE CONTROL LOOP

작은 판단을, 1초에 20번 반복합니다.

한 번 정한 조향을 끝까지 유지하지 않습니다. 0.05초마다 새로운 관측을 반영해 다음 명령을 계산합니다. 화면은 목표 10Hz로 갱신되며, 영상의 30fps와는 다른 주기입니다.

  1. 관측바퀴·지면 속도, 기울기, 이랑의 위치를 얻습니다.
  2. 추정노이즈가 섞인 관측을 모아 위치와 방향을 추정합니다.
  3. 판단안전 조건과 임무 단계를 확인하고 갈 방향을 정합니다.
  4. 제한슬립·경계·작물·정지 및 조향 조건을 적용합니다.
  5. 실행·기록네 바퀴 명령으로 바꾸고, 모델의 다음 움직임을 기록합니다.
계획한 속도 ≠ 실제로 나온 속도

바퀴가 돌아도 지면에서 미끄러질 수 있습니다. 그래서 바퀴 속도 외에 독립적인 지면 속도 관측을 함께 사용합니다. 다음 판단에는 이 차이가 다시 반영됩니다.

한 주기 안의 자세한 처리 순서

지면 센서 갱신 → 이랑 합성 관측과 상태 추정 → 안전 검사 → 임무 단계 결정 → MPC 또는 PP → 지면 감속 → 농지 감독 → 네 바퀴 명령 배분 → 지면 운동 계산 → 평가·기록 순서입니다. 상태 추정치는 제어에, 모델의 정답 상태는 별도 평가에 사용합니다.

02 / OBSERVE & ESTIMATE

“얼마나 옆으로 벗어났나”와
“어느 쪽을 보고 있나”를 구분합니다.

거리

횡방향 오차

목표 이랑 중심에서 왼쪽 또는 오른쪽으로 벗어난 거리입니다. 중심으로 돌아가는 데 필요한 보정량을 알려줍니다.

각도

방향 오차

차량이 향하는 방향과 이랑 방향의 차이입니다. 현재 중심에 있어도 방향이 틀어져 있으면 곧 옆으로 벗어날 수 있습니다.

관측에는 일부러 노이즈를 넣습니다. 추정기는 이전 움직임으로 예측한 상태와 새 관측을 결합해 흔들림을 줄입니다. IMU는 차체의 회전·기울기 정보를 제공하는 센서 모형입니다.

P0–P5는 무엇이 다른가요?
현재 구현의 합성 관측·추정 방식
프로필기본 방식과 추가 정보
P0작은 각도를 가정한 상태 예측
P1비선형 움직임을 반영한 상태 예측
P2P1에 차체 IMU 정보 추가
P3P2에 작물열 관측을 추가하고 큰 이상 관측을 걸러냄
P4P2에 평행한 이랑의 관측 추가
P5P2에 GNSS 위치 관측 모형 추가

추가 정보도 모두 생성한 관측입니다. 실제 영상 분할 신경망·스테레오 복원·GNSS 수신기를 연결한 결과가 아닙니다. P0/P1 비교에서도 지면 안전 감독용 IMU는 사용했습니다. 번호가 높을수록 항상 오차가 작아지는 것은 아닙니다.

프로필별 실제 계산 데이터 ↓

03 / PLAN & ALLOCATE

갈 방향을 정한 뒤, 네 바퀴에 나눠 줍니다.

이랑 추종에는 두 가지 제어기를 비교합니다. 두 방식 모두 추정한 위치·방향을 사용하며, 같은 바퀴 한계와 안전 조건을 통과해야 합니다.

PP / PURE PURSUIT

조금 앞의 목표를 따라가기

앞쪽 목표 지점을 향하는 곡률, 즉 얼마나 휘어 갈지를 계산합니다. 현재 오차와 방향을 함께 보정합니다.

기본 미리보기 거리: 0.85 m + 속도 × 0.25 s
기본 보정 이득: 0.90

MPC / MODEL PREDICTIVE CONTROL

앞으로의 움직임을 미리 비교하기

약 2.4초 앞까지 예측해, 이랑 오차와 과한 조향이 작아지는 명령을 찾습니다. 다음 주기에 다시 계산합니다.

12개 예측 단계 × 0.2초
제약을 적용한 반복 계산: 18회

같은 차체 움직임이라도 바퀴마다 명령이 다릅니다.

차량 중심의 전진·옆 이동·회전을 각 바퀴 위치에 맞는 조향각과 속도로 변환합니다. 선회할 때 안쪽과 바깥쪽 바퀴의 경로가 다르기 때문입니다.

조향각 범위
±45°
조향 속도 상한
60°/s
바퀴 가속도 상한
0.80 m/s²

요청한 각도를 만들 수 없다면, 실제 바퀴가 굴러갈 수 있는 방향의 속도 성분만 사용합니다. 지면 상태에 따라 속도와 가속도는 더 낮아질 수 있습니다.

“MPC가 더 좋다”라고 단정하지 않는 이유

이번 동일 시드 3쌍에서는 평균 바퀴 횡오차 P95가 PP 2.80 cm, MPC 2.89 cm였습니다. 이 단순 모델에서는 PP가 조금 작았습니다. 조건과 설정에 따라 결과가 달라지므로 실제 농지에서의 우월성으로 해석하지 않습니다. 현재 MPC는 횡방향·방향의 축약 예측 모델이며, 차량과 토양의 모든 비선형 물리를 최적화하는 모델은 아닙니다.

영상에서 제어 설명 보기 ↗

04 / ROW TO ROW

이랑 끝에서는 바로 방향을 뒤집지 않습니다.

  1. 이랑 추종중앙을 따라 전진합니다.
  2. 끝에 접근끝 2.8 m 전부터 감속합니다.
  3. 이랑 이탈끝을 지나 선회 공간으로 나옵니다.
  4. 세 번의 선회전진 → 후진 → 전진으로 방향을 바꿉니다.
  5. 다음 이랑 진입전진하면서 옆 방향 오차를 보정합니다.

다음 이랑에 들어갈 때의 ‘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초였습니다.

고장 6종의 주입·래치·정지 기록 ↓

06 / CROP CLEARANCE

차체 아래에 작물이 들어갈 공간부터 확인합니다.

최저 하부 높이에서 두둑 높이와 작물 높이를 뺍니다. 기울면 한쪽 하부가 더 내려오므로 그만큼의 여유도 제외합니다. 남은 공간이 2 cm 미만이면 이 검사를 통과하지 못합니다. 출발 전에는 평지 기준의 차체·작물 형상을 검사하고, 주행 중에는 IMU로 관측한 기울기를 추가해 부족하면 정지를 요청합니다.

하부 여유 = 하부 높이 − 두둑 − 작물 − 기울기로 줄어든 높이

작물과 기울기를 바꿔 보세요.

현재 코드의 하부 여유 식 · 설명용 계산
계산된 하부 여유+4.35 cm하부 여유 검사 통과

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 여유를 더해 먼저 제외합니다. 그 안쪽에서 남은 거리와 계획 정지거리를 비교합니다.

계획 정지거리 = 속도 × 반응시간 + 속도² ÷ (2 × 감속도)

속도가 두 배가 되면 어떻게 될까요?

이랑 끝 경계 방향의 속도 성분 · 단순 계산 예시
계획에 필요한 정지거리0.69 m현재 예시에서는 거리 여유가 있습니다

이 거리에서 계산한 속도 상한 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 증가했습니다. 한 숫자가 좋아졌다고 모든 동작이 좋아진 것은 아닙니다.

이 설명과 계산 예시는 새 차체 상세판의 코드·기본 설정을 기준으로 작성했습니다. 실제 차량 제원과 센서·브레이크 시험을 통해 보정하기 전까지 실물 운용 성능을 뜻하지 않습니다.

상세 영상으로 돌아가기 ↗