Coordinate State Space & Modeling

한우진·2023년 5월 4일
0

자율주행

목록 보기
4/6
post-thumbnail

Coordinate State Space

좌표 상태 공간(Coordinate State Space)은 자율주행 시스템에 사용되는 공간 표현 방식이다
이 공간에서 다양한 요소들이 동작하며, 그 요소들의 상태와 위치를 파악하고 추적하는 데 사용된다

Coordinate system

좌표 시스템(Coordinate System)은 좌표 상태 공간에서 요소들의 위치를 정의하는 방식

월드 좌표 시스템(World Coordinate System)

월드 좌표(World Coordinate)는 글로벌 좌표보다 넓은 의미로 사용되며, 특정 프레임워크나 시뮬레이션에서 전체 공간을 기준으로 한 좌표계를 의미한다
일반적으로 3D 공간에서 사용되며, 로봇공학, 컴퓨터 그래픽스 및 가상 현실에서 널리 사용된다
월드 좌표계에서 객체의 위치와 방향은 월드 프레임(World Frame)에 상대적으로 정의된다

글로벌 좌표 시스템(Global Coordinate System)

  • 지구 표면에 기반하여 전 세계적인 위치를 나타냄
  • 위도와 경도로 구성되며, GPS 같은 글로벌 위치 지정 시스템에서 사용
  • 자율주행 차량이 글로벌 위치를 파악하는 데 사용된다
  • ex) 현재 차량의 글로벌 좌표는 약 북위(latitude) 37.5665도 동경(longtitude) 126.9780도로 되어있다

지역 좌표 시스템(Local Coordinate System)

  • 자율주행 차량의 주변 환경에 초점을 맞춰 설계
  • 일반적으로 차량의 위치를 원점으로 하는 평면 좌표계를 사용
  • 차량 주변의 다른 차량, 보행자, 장애물 등의 상대적 위치를 표현
  • ex) 자율주행 차량 기준으로 3m 앞, 2m 오른쪽에 위치한 보행자는(3,2)로 표시

차량 좌표 시스템(Vehicle Coordinate System)

  • 자율주행 차량의 내부 구성 요소와 연관된 좌표 시스템이다
  • 일반적으로 차량의 중심을 원점으로 하는 3D 좌표계를 사용한다
  • 차량의 구성 요소 및 센서 위치, 방향 등을 정의함
  • 플레밍의 오른손 법칙처럼 엄지는 z축, 검지는 x축, 중지는 y축의 양의 방향을 나타내줌
  • ex) 차량 중심으로 부터 1m 앞, 0.5m 왼쪽, 0.2m 위에 위치한 카메라 센서는 차량좌표계로(1, 0.5, 0.2)로 표현

Modeling

모델링(Modeling)은 현실 세계의 현상, 개체, 시스템 등을 수학적, 물리적, 컴퓨터 기반의 모델로 표현하는 과정이다. 모델링을 통해 여러 개체와 문제를 단순화하고 분석 및 예측을 수행한다
다양한 모델링 기법들을 사용해 자율주행 시스템의 성능과 안전성을 높이고 기술 발전을 가속화 한다. 각 모델링 기법은 특정 문제에 대한 해결책을 제공하고 이들을 적절하게 조합해 자율주행 전체 시스템의 효율성과 정확도를 향상 시킨다

1. 모델링의 목적

  • 이해: 복잡한 상황과 장애물들을 간소화해 이해할 수 있도록 도움을 줌
  • 예측: 모델을 사용해 미래 상황에 대한 예측을 수행할 수 있다
  • 설계: 새로운 시스템이나 프로세스를 설계하기 위해 모델을 사용할 수 있음
  • 최적화: 모델을 기반으로 시스템과 프로세스의 성능을 최적화할 수 있다
  • 시뮬레이션: 모델을 사용해 다양한 상황을 시뮬레이션해 시스템의 동작을 테스트할 수 있다

2. 모델링 기법

  • 수학적 모델링(Mathematical Modeling): 복잡한 현상과 시스템을 수학적 방정식과 개념을 사용해 표현하는 기법이다. 이를 통해 정량적인 분석과 예측을 수행할 수 있다. 차량 동역학, 제어 이론 및 최적화와 같은 자율주행 시스템의 구성 요소를 모델링한다. 차량의 동작과 제어를 분석하고 최적의 경로를 계획해 차량의 성능을 개선시켜주는 역할을 한다

  • 물리적 모델링(Physical Modeling): 물리적 구조와 동작 원리를 기반으로 한 모델을 생성하는 방법이다. 시스템의 물리적 성질을 이해하고 설계할 수 있다

  • 컴퓨터 모델링(Computer Modeling): 컴퓨터 프로그램을 사용해 현상과 시스템을 모사하는 기법으로 시뮬레이션, 최적화, 인공지능의 분야에서 사용된다. 자율주행 차량은 시뮬레이션을 통해 다양한 주행 상황을 모델링하고 테스트한다. 이를 통해 차량의 성능과 안정성을 평가하고 개선할 수 있다. 시뮬레이션 환경에서 가상 센서, 도로 상황, 기상 조건 등을 조절해 차량의 응답을 관찰할 수 있다

  • 통계 모델링(Statistical Modeling): 데이터를 기반으로 모델링 하는 방식으로 데이터의 패턴을 발견하고 데이터와 관련된 불확실성을 추정하며, 예측을 수행하는데 사용된다. 차량의 센서 데이터나 주행 패턴을 분석해 예측 및 추론을 한다. 회귀 분석, 시계열 분석, 베이지안 추론 등이 있으며 자율 주행에선 칼만 필터(Kalman Filter)와 같은 알고리즘을 사용해 센서 데이터의 노이즈를 줄이고 차량의 위치를 추정할 수 있다

  • 기계 학습 모델링(Machine Learning Modeling): 알고리즘과 데이터를 활용하여 모델링하는 기법으로 데이터로부터 자동으로 모델을 학습하며, 예측, 분류, 군집화 등의 다양한 문제에 적용할 수 있다. 인공신경망, 결정 트리, 서포트 벡터 머신 등이 기계 학습 모델링의 예이다. 자율주행 분야에서는 주로 인공신경망(Deep Learning), 결정 트리, 서포트 벡터 머신 등과 같은 기계 학습 알고리즘을 사용해 센서 데이터로부터 차량의 제어 및 주변 환경 인식 모델을 생성한다. 차량의 경로 계획, 장애물 인식 및 추적, 표지판 및 신호 인식 등의 작업을 수행할 수 있다.

  • 에이전트 기반 모델링(Agent-Based Modeling): 독립적인 에이전트(개체)들이 상호작용하며 전체 시스템의 동작을 구성하는 모델링 기법이다. 자율주행 시스템에서는 도로 상황을 모델링하기 위해 에이전트 기반 모델링을 사용한다. 이 기법은 다른 차량, 보행자, 자전거 등의 독립적인 에이전트와의 상호작용을 통해 전체 시스템의 동작을 이해하고 예측한다

3. 수학적 모델링에서 속도와 위치 계산법

고딩 때 물리를 따로 안한 화1 생1 유저로써 수업을 듣는데 조금 난해해서 따로 공부해가지고 정리해본다.

선형 시스템에서의 계산

F = ma
힘(F) = 질량(m)
가속도(a)

자동차에 엑셀을 밟아 전진력이 작용되면 가속도를 계산할 수 있다
a = F/m
가속도(a) = 힘(F)/질량(m)
자동차의 가속도 = 자동차가 나아가는 힘/자동차의 질량

속도(v)와 위치(x) 계산

v = v0 + at
속도(v) = 자동차의 초기 속도(v0) + 가속도(a)
시간(t)

x = x0 + v0t + 0.5a*t^2


상태-공간 방정식(state-space equation)

동적 시스템을 수학적으로 표현하는 방법이다. 시스템의 상태 변수와 입력 변수 간의 관계를 나타낸 1차 방정식으로 상태 변수는 시스템의 현재 상태를 나타내는 변수, 입력 변수는 외부에서 주어지는 조건이나 값들이다 이 방정식은 선형 및 비선형 시스템 모두에 적용될 수 있다

1. 상태 방정식(state equation)

  • 상태 방정식은 시스템의 상태 변수들의 변화를 나타낸다
  • x'(t) = A x(t) + B u(t) 와 같은 형태를 가진다
  • x'(t)는 상태 변수들의 시간에 대한 미분, x(t)는 상태 변수들의 벡터, u(t)는 입력 변수들의 벡터, A는 상태 변환 행렬, B는 입력 행렬이다

2. 출력 방정식 (output equation)

  • 출력 방정식은 시스템의 출력 변수와 상태 변수, 입력 변수 간의 관계를 나타낸다
  • y(t) = C x(t) + D u(t) 와 같은 형태를 가진다
  • y(t)는 출력 변수들의 벡터, C는 출력 행렬, D는 직접 전달 행렬이다

왼쪽은 비선형(Nonlinear) 시스템, 오른쪽은 선형(Linear) 시스템의 상태 공간 방정식이다

1. 비선형(Nonlinear) 시스템

상태 변수나 입력 변수에 대한 응답이 선형적이지 않은 시스템으로 즉, 상태 변수와 입력 변수 사이의 관계가 비선형 함수로 표현되는 경우를 말한다
예시로 자동차가 있을 때, 차량의 위치와 방향을 상태 변수로 가지고 차량의 속도와 조향 각도를 입력 변수로 가진다

장점

  • 정확성: 비선형 시스템의 상태-공간 방정식은 여러 상황을 정확하게 인식하고 반영한다
  • 범용성: 비선형 시스템은 선형 시스템을 포함하는 형태로 비선형 시스템의 이론과 기법또한 선형 시스템에 적용된다
  • 다양성: 선형 시스템에서 나타나지 않는 동적 현상을 포착할 수 있다. 예를 들어 한계 주기 현상, 혼돈, 복잡한 안정성 등이 있다

단점

  • 복잡성: 비선형 시스템의 상태-공간 방정식은 분석하고 해결하기 어렵다. 선형 시스템에 비해 해석하고 해결할 수 있는 방법이 적거나 없을 가능성이 농후
  • 계산 비용: 비선형 시스템의 제어 및 최적화 문제를 해결하기 위해 수치적 방법을 사용해야 하는데 이 방법은 계산 비용이 높고 실행 시간이 길어진다
  • 제어 설계의 어려움: 선형 시스템에 비해 제어 설계가 어려워 복잡한 기법과 알고리즘이 사용된다

예시

상태 변수 x(t)

  • x1(t): 차량의 x-좌표
  • x2(t): 차량의 y-좌표
  • x3(t): 차량의 방향(ψ)

입력 변수 u(t)

  • u1(t) : 차량의 속도 (v)
  • u2(t) : 차량의 조향 각도 (δ)

상태 방정식의 구성(상태 변수들의 시간에 대한 미분)

  • x1'(t) = v * cos(ψ + δ)
  • x2'(t) = v * sin(ψ + δ)
  • x3'(t) = v * sin(δ) / L
  • L은 차량의 wheelbase(앞바퀴 축과 뒷바퀴 축의 중심부터 중심까지의 거리)

상태 방정식의 상태-공간 표현
x'(t) = f(x(t), u(t)) = [v cos(ψ + δ), v sin(ψ + δ), v * sin(δ) / L]

출력 방정식은 출력 변수를 설정해야 하는데 설정하지 않았기에 방정식 표현은 생략
차량의 위치(x,y), 차량의 방향(w), 차량의 속도(v), 차간 거리, 차선 인식 및 추적 등이 변수로 설정될 수 있다

2. 선형(Linear) 시스템

시스템의 입출력 사이의 관계가 선형적인 시스템이다. 즉, 상태 변수와 입력 변수 간의 관계가 선형 함수로 표현되는 경우를 말한다

장점

  • 분석의 용이성: 선형 시스템은 분석하기 쉽고 다양한 수학적 도구를 사용할 수 있다 따라서 여러 제어 및 추정 알고리즘을 개발할 수 있다
  • 제어 설계의 용이성: 선형 제어 기법을 사용해 차량 동역학을 제어할 수 있다. 간단한 제어 알고리즘을 개발하는데 도움이 됨

단점

  • 정확성 제한: 실제 차량 동역학의 환경은 비선형적일 수 있다. 따라서 선형 시스템은 완전하게 구현하지 못해 실제 성능과 차이가 발생할 수 있다
  • 범용성 제한: 선형 시스템은 차량 동역학의 복잡한 특성을 잡아내기 어려울 수 있다. 이로 인해 선형 모델의 적용 범위가 제한적일 수 있음

예시

상태 변수:

  • x1(t) : 차량의 위치
  • x2(t) : 차량의 속도

입력 변수:

  • u(t) : 가속도

선형 상태-공간 방정식 구성(상태 변수들의 시간에 대한 미분)

x'(t) = A x(t) + B u(t)

A = [[0, 1], [0, 0]]

B = [[0], [1]]

0개의 댓글