조향 제어/모터 제어

Study/Control Theory · 2020. 4. 10. 09:41

아래 내용은 논문과 다른 참고자료를 참조한 내용입니다.

 

원 자료는 게시물 말미에 게재하겠습니다.

 

 

 

 

1. 조향제어

 

[1] 자율주행 차량의 조향 제어기 비교 평가 

 

전세계적으로 자율주행 차량의 개발이 활발히 이루어지고 있다.

 

교통을 통제하고 했던 기존의 시연과 달리 이제는 공공도로의 교통 흐름에 자율주행차량이 문제 없이 주행 가능한지 실증하는 시험이 시작되고 있다.

 

기존 수동 조작 차량들과 자율주행 차량이 혼재하여 운행하기에 주행 상황에 적합한 자율주해조향 제어기 개발이 절실하다.

 

자율주행 차량에는 PID, Pure-pursuit, Stanley method, Sliding mode control 4가지 제어기가 널리 사용된다.

 

10가지 다양한 환경에서 성능을 비교 평가 시험한 결과

->  횡방향 바람, 내리막길, 빗길, 눈길, 중량 변화, 회전 교차로, 급커브, 차선 변경, 목표점 변경 (5m, 15m)

=> carsim 시뮬레이터를 사용함

 

10가지 중 7가지 환경에서 Sliding mode control이 가장 강건한 제어 성능을 보였다.

 

Stanley method는 근거리 목표점 변동 시 강건한 성능을 보였다.

 

Pure-pursuit 제어기는 원거리 목표점 변동 시 강점을 보였다.

 

PID 제어기는 전반적으로 평균 수준의 제어 성능을 보였다.

 

 

 

[2]  자동차에 대한 나의 비전 -- Embedded System & Path Tracking

 

이 사람의 졸업논문은 'Vision Sensor를 통한 Waypoint 감지 및 Waypoint 정보를 통한 Pathh Tracking'이란 주제.

 

해당 자료에 path tracking을 pure pursuit model로 matlab simulink를 통해 구현하는 것이 나와있다.

 

환경 친화적 자동차, IVI (In-Vehicle Infotainment), 지능형 자동차

 

위 세가지 미래형 자동차 개발 동향에 세계 주요 자동차 회사들이 발 맞춰 나가고 있다.

 

그 중에서도 지능형 자동차가 급변하는 시대 속에서 다양한 고객의 필요를 충족시킬 수 있다고 생각한다.

 

특히, 전자제어 시스템을 통해 고객의 필요에 맞는 자동차를 개발하고, 고객을 만족시킬 수 있다.

 

1) Embedded System

 

임베디드 시스템이란 주어진 기능이나 목적을 수행하기 위해 하드웨어와 소프트웨어를 병렬적으로 개발하는 시스템이다.

 

임베디드 프로세서는 MCU (Microcontroller Unit)이 사용되고, 자동차에는 MCU가 많게는 100여개까지 내장되고 있다.

 

다시말하면, 자동차 내에 전자제어를 담당하는 부분이 임베디드 시스템이다.

 

 

2) Path Tracking

 

Vision Sensor를 통해 받은 waypoint의 좌표, 차량의 좌표 및 heading angle을 가지고 path를 생성하고, 생성된 path를 따라가는 제어기를 만든다. 

 

여기서 path tracking을 위해 pure pursuit를 사용한다.

 

upper control 부분인 path planning과 path tracking을 담했다. (upper control이 아닌 부분은 뭐지)

 

 

3) Pure Pursuit

 

차량이 주어진 path를 찾아갈 때 차량 앞에 놓인 path 위의 한 점을 원 호를 그리며 따라가는 방법입니다.

 

이 때 차량의 속도에 따라 lookahead point의 좌표가 달라진다.

-> 속도가 빨라지면 좀 더 먼 곳에 lookahead point를 둬야하고, 속도가 느리면 가까운 곳에 두어 overshoot를 줄이고 saturation time에 빨리 도달할 수 있다.

 

즉, 빨리 달리면 가다가 바로 꺽을 수 없으니까 현재 속도에 기반하여 도달 가능한 목표 지점을 설정하고 해당하는 위치에 도달하기 위한 경로를 호를 그리면 생성하는 방법인 듯 하다.

 

차량 kinematics
모델링
pure pursuit
pure pursuit geometry
pure pursuit geometry equation

L는 제어하고자 하는 차량의 길이, alpha는 lookahead point와 현재 heading vector와의 사이각.

 

윗 식을 통해 조향각과 차량 속도를 입력으로 헤딩 각도의 속도를 얻을 수 있다.

 

이를 적분하면 헤딩 각도를 알 수 있다.

 

 

4) 구현 순서

 

(1) 차량의 좌표값과 waypoint의 좌표값을 통해 lookahead point를 찾는다.

 

 

(2) Lookahead point와 차량의 좌표값으로 앞으로 나아갈 조향각을 찾는다.

(3) 시작점과 끝점의 waypoint, 현재 차량의 좌표값, heading angle을 통해 lookahead point를 따라가기 위한 조향각을 얻는다. 

 

(4) (3)에서 얻은 조향각으로 새로운 좌표를 찾는다.

 

* Pure Pursuit의 Tuning을 위해선 속도에 따른 Lookahead Point의 위치 변경이 필수적 입니다. 따라서 K=10부터 K=50까지의 변화를 관찰하면서 적절한 K 값을 찾아보았습니 다. 그래프의 x축은 시간축이고, y축은 시간에 따라 생기는 Error값을 표시했습니다. K값이 매우 작다면 Lookahead Point를 필요 이상으로 짧게 보게 되어 좀 더 많은 Oscillation이 생길 것이고, K값이 너무 크다면 Overshoot은 작게 발생할 지 모르나 Saturation에 더 늦 게 다다를 것입니다.

 

-> K 들어간 식을 참조해줬나?

 

 

 

[3] 자율주행차량의 안정적인 곡선 경로 추종을 위한 차량 무게 배분을 고려한 횡 방향 오차 보정 Pure Pursuit에 관한 연구

 

자율주행 자동차의 도입은 크게 운전자의 편의 증진과 실수에서 비롯된 사고 위험을 줄이기 위함이다.

 

이산화탄소 배출의 감소, 효율적인 에너지 사용 가능, 효율적이고 빠른 물류 운송이 뒤를 따른다.

 

현재 자율주행 자동차의 수준은 ADAS (Advanced Driver Assistance System, 첨단 운전자 보조 시스템)에서 자율주행으로 진화하는 단계이다.

 

헤딩 단계는 주행 중 발생할 수 있는 사건 및 사고에 대하여 자동차가 도로환경 및 주행 환경을 인식, 판단하고 운전자를 대체하 여 차량을 제어할 수 있도록 개발되고 있는 시스템이다.

 

자율주행차의 제어 시스템은 통합 시스템으로부터 경로 추종에 따른 제어값을 입력받아 제어하는 시스템이다.

 

제어 시스템은 횡방향 제어 시스템과 종방향 제어 시스템으로 나뉜다.

 

종방향 제어 시스템은 가/감속과 제동으로 나뉜다.

 

횡방향 제어는 통합 시스템으로부터 경로 추종의 횡방향 조향 각이 주어지면  조향 시스템의 MDPS (전동식 파워 스티어링) 시스템이나 별도로 장착된 스마트 모터에 구동 신호를 보내 조향 제어를 수행한다.

 

종방향 제어의 엑셀 컨트롤은 APS (엑셀 포지션 센서) 값을 제어하여 가속 또는 감속, 제동은 스마트 모터에 명령 값을 보내 종 방향 제어를 수행한다.

 

자율주행차량 제어 시스템

 

 

통합시스템의 구성도

 

 

1) 기하학적 경로 추종

 

이동로봇에서 가장 많이 쓰이는 경로 추종 방법으로 기하학적 방법 (Geometic Method)이 있다.

 

이 방법은 차량과 경로 사이의 기하학적 관계를 이용하여 경로를 추종하는 방법으로 Pure pursuitStanley Method가 있다.

 

현재의 차량 위치와 방위각을 이용하여 주어진 경로 상의 적합한 추종 목표지점을 선정하여 이를 추종하기 위한 조향각을 계산한다.

 

차량 앞쪽의 오류를 계싼하기 위해 예견거리를 사용하거나 간단한 원호 계산에서부터 스크류 이론까지 확장될 수 있다.

 

 

1-1) Geometric Vehicle Model

 

차량과 경로 사이의 기하학적 관계를 이용한 방법이다

 

경로 추종을 위해 차량을 단순화 시켜 자전거 모델로 만든다.

 

자동차의 두 개의 앞바퀴와 뒷바퀴를 각각 하나로 결합하여 자전거와 같이 두 개의 바퀴를 가지는 모델이다.

 

해당 모델은 낮은 속도와 적당한 조향 각에서 좋은 성능을 가진다.

 

 

1-2) Pure Pursuit

 

Pure Pursuit Method는 기하학적으로 차량의 전방 경로의 목표 지점 G와 후륜 축과 연결된 원호의 곡률을 이용한다.

 

목표 지점은 후륜 축과 목표 지점까지의 거리인 예견거리 Ld로부터 결정된다.

 

예견 거리는 속도에 따라 좌표가 달라진다.

 

속도가 빨리지면 좀 더 먼 곳에, 느려지면 좀 더 가까운 곳에 예견 거리를 두어 Overshoot를 줄이고 Saturation Time에 빨리 도달할 수 있게 해야 한다.

 

식은 나중에 참조한다.

 

 

1-3) Stanley Method

 

 

Stanley Method는 스탠 포드 대학의 자율주행차량을 경로 진입에 사용한 경로 추종 방법이다.

 

앞바퀴 중심 위치에 대한 경로 곡선의 최단거리차량과 곡선 접선 각도 오차를 이용하여 조향각을 결정한다.

 

 

theta_e(t)는 자동차의 전륜과 경로의 접선 방향을 평행하게 유지하기 위해 존재한다.

 

또한, 차량이 경로에서 벗어난 거리만큼 조향각을 조정하여 경로를 벗어나지 않도록 유지 시켜준다.

 

k는 경로로 수렴하는 속도를 나타내는 게인 파라미터이다. 

 

 

 

2) 기하학적 방법의 단점과 개선 방법

 

현재 자율주행 자동차가 경로를 추종하는데 있어 기하학적 방법은 자동차 모델에 매우 적합하여 경로 추종 방법에 기본적으로 많이 쓰인다.

 

이러한 기하학적 방법은 수시로 변화하는 노면 상태, 차량 상태에 따른 동역학적 모델이 고려되어 있지 않다.

 

따라서, 차량의 타이어 slip 율에 의해 똑같은 경로를 주행하더라도 주행환경에 따라 경로 추종 시 횡방향 오차가 크다.

-> 특히 곡선 구간에서 그 정도가 심함

 

곡선구간에서 속도증가와 탑승 인원 증가 및 위치에 따라, 각 바퀴에 받는 수직력 (하중)의 증가로 횡력이 증가한다.

 

횡력 (lateral forces): 조향각을 변경시키면 차륜은 원래의 주행 방향으로부터 벗어나게 되는데 이 동작에 의해 탄성체인 타이어는 노면과의 접촉면에서 옆 방향으로 변형된다.? 뭔 소리야 시벌 => (횡력 개념 체크!)

-> 이 변형에 의해 횡력이 발생한다.

 

경로의 곡선에서 속도증가와 하중증가에 따른 사이드슬립 각이 증가하는데 이는 경로 추종 불안정경로 이탈 문제를 발생시킨다.

 

횡방향 오차가 고려된 동역학적 모델인 MPC를 사용할 수 있다.

 

논문에선 일부러 횡력이 생기는 Pure Pursuit 방법을 사용하고, 이를 해결하기 위한 방법 (아래)을 제안한다.

 

 

 

 

 

 

2. 샤시 CAN

 

 

[1] 샤시 제어 시스템을 위한 CAN및 FlexRay기반 네트워크 시스템의 성능 평가

 

1) 최근 지능형 자동차 내부 전장 시스템

 

차량 지능화를 목적으로 기존의 기계적인 장치들과 유압 장치들이 상당 부분 마이크로컨트롤러와 전기 및 전자 장치로 빠르게 바뀌어 가고 있는 추세이다.

-> 전자 파워 스티어링 (Electronic Power Steering, EPS), 능동 서스펜션 시스템 (Active Suspension System, ABS) 등

=> 전자 제어 유닛 (Electronic Control Unit, ECU)에 의해 기존의 기계 시스템과 전기 전자 시스템이 통합된 대표적 시스템

 

다수의 ECU를 일대일로 연결하는 결선 방식은 많은 문제를 야기

-> 현재 차량 내 배선은 승용차의 경우 1400m, 튜닝이 잘 된 경우 50kg의 배선 증가는 100W의 전력 소비를 발생 함

=> 다시 말하면, 100km의 거리를 움직일 때 0.2리터의 추가 연료 소비를 의미한다.

 

최근에는 차량 전자 시스템에 통신 네트워크를 접목시킨 차량 내 네트워크 (In-Vehicle Networking, IVN)가 활발히 연구되고 있다.

 

지능형 자동차에 적용되는 전자 제어식 안전성 프로그램 (Electronic Stability Program)이나 순항 제어 시스템 (Advanced Cruise Control,ACC)과 같은 첨단 안전 시스템에 대한 관심도 증가되고 있다.

 

첨단 안전 시스템이 증가함에 따라 ECU가 독립적으로 task를 수행하고 네트워크를 통해 그 정보를 공유하는 방식인 실시간 분산 시스템에 대한 연구도 중요하게 다루어지고 있다.

 

차량 내 네트워크와 실시간 분산 시스템이 적용된 예는 아래와 같은 통합 샤시 제어 (Unified Chassis Control, UCC) 시스템이 있다.

 

 

 

다양한 프로토콜실시간 분산시스템을 위한 차량 내 네트워크로 개발되었다.

 

대표적으로 사건 기반 프로토콜 (event-triggered protocol) 방식으로 널리 사용되는 CAN (Controller Area Network)이 있고,

 

시간 기반 프로토콜 (time-triggered protocol) 방식인 TTP/C (Time Triggered Protocol/Class C)와 TTCAN (Time Triggered Controller Area Network)등이 개발되었다.

 

 

 

마이크로컨트롤러와 전기 및 전자 장치로 빠르게 바뀌어 가고 있는 추세

=>

전자 제어 유닛 (Electronic Control Unit, ECU)에 의해 기존의 기계 시스템과 전기 전자 시스템이 통합

=>

다수의 ECU를 일대일로 연결하는 결선 방식은 많은 문제를 야기

=>

차량 전자 시스템에 통신 네트워크를 접목시킨 차량 내 네트워크

=>

첨단 안전 시스템에 대한 관심도 증가

=>

 ECU가 독립적으로 task를 수행하고 네트워크를 통해 그 정보를 공유하는 방식인 실시간 분산 시스템에 대한 연구

 

 

결국, 차량 내의 기존 장치들이 ECU에의한 전자 제어 장치로 바뀌는데 너무 많이 바껴서 일대일로 연결하는 것에 한계가 생김.

 

그 와중에 새로운 기술들은 계속 발전함.

 

따라서, 차량 내 네트워크 시스템을 이용한 실시간 분산 시스템에 대한 연구를 진행한다.

 

2) CAN 통신

 

가장 널리 사용되는 차량 내 네트워크 프로토콜인 CAN은 전송 속도에 따라 CAN high-speed와 CAN low-speed로 나뉜다.

 

CAN low-speed의 경우 LIN (Local Interconnect Network)과 함께 비주기 (aperiodic) 메세지로 이루어져 있고, 버스 (bus)의 트래픽 (traffic)이 상대적으로 낮은 바디 네트워크 시스템에 사용된다.

 

CAN high-speed의 경우 실시간 분산 제어가 필요한 챠량의 샤시 네트워크, X-by-Wire 시스템과 같이 주기성 (periodic), 비주기성 메시지가 혼재해 있고, 트래픽이 상대적으로 높은 시스템에 사용된다.

 

2-1) CAN의 개요

 

CAN은 자동차 내의 각종 계측제어 장비들간에 디지털 직렬 통신을 제공하기 위해 1988년 보쉬와 인텔에 의해 개발되었고 1993년 ISO에 의해 국제 표준 규격으로 제정된 차량용 네트워크 프로토콜이다.

 

CAN의 특징은 다음과 같다.

 

[1] 메시지 지향성 프로토콜 (message-oriented protocol)

노드의 주소에 의해 데이터 교환이 이뤄지지 않고, 메시지 우선순위를 기준으로 할당된 ID에 의해 데이터 교환이 이뤄진다.

-> 멀티캐스팅, 브로드캐스팅이 가능하다.

-> 순수한 수신기라면 어떠한 하드웨어나 소프트웨어 변경없이 CAN 통신망에 추가할 수 있다.

 

[2] 보완적인 에러 감지 메커니즘

다양한 에러 감지 메커니즘이 서로 보완적으로 에러를 감지하기 때문에 안전성이 높다.

-> 에러가 감지되면 자동적으로 재전송하는 능력 때문에 다른 프로토콜에 비해 에러 회복 시간이 짧다.

 

[3] 멀티 마스터 능력 (multi-master)

네트워크에 버스를 점유하기 위한 감독자 노드 (bus master)가 필요 없다.

-> 모든 노드는 버스가 비워지는 동시에 모든 메시지들이 전송을 시작한다.

-> 만약 몇 개의 노드가 동시에 전송을 시작하더라도 우선순위가 높은 메시지는 바로 전송된다.

 

[4] 결점이 있는 노드의 감지와 비활성화

CAN은 버스의 상태를 항상 모니터링 하기 때문에 결점 있는 노드를 감지하여 비활성화 시킨다.

 

[5] 많은 업체들이 개발 중이기 때문에 가격이 저렴하고 조달이 용이하다.

 

 

2-3) CAN의 데이터 전송 방식

 

 

 

 

 

 

3. FailSafe

 

정확한 계측값을 얻기 위해 필터를 사용할 수 있다.

반응형