자율주행 자동차

세미나

이게될까 2024. 5. 16. 18:53
728x90
728x90

시리얼 통신 - 직렬로 연결하여 통신하는 방법 

동기식 - 타이밍을 일치하여 주고 받는다.

비동기식 - 클럭 없이, 구현간단 - 자율주행에 적용 why?
비트 손상 시 어떻게 할꺼? - 비동기는 오류가 애초에 적다. 
예전에 버퍼가 풀로 차는 것에 대해 문제가 많았었다..ㅠ 
3차원 라이다 문제 없었다.
VNC 원격 제어 가능

캔통신 - 차량용 네트워크를 위해 고안된 시리얼 통신방식 

 

주차

출발위치, 자세, 목표 위치 -> 주차

reeds shepp - 전 후진이 다 있는 경로 생성

슬립이 일어나도 수정이 되나? 

 

teb

엘라스틱 밴드 + 시간

teb 파라미터는 좀 많다

동적 장애물도 가능하다.

 

DWA - 가능한 모든 상황을 고려한다.

선속도, 각속도 모두 고려함!

장애물과 충돌하지 않을 선속도와 각속도를 구한다. 

단위 시간 내 최고 선 속도, 각 속도도 고려한다.

최악의 선택 - 부딪힐 수 밖에 없는 상황은? - 0,0이 나오지 않을까

 

teb - 일반주행(연산 복잡)

DWA - 트랙주행 (연산 간단)

 

 

라바콘

COLAB학습 -> best.pt

운동장 모래에 과적합 및 라벨링 문제 (잘린 라바콘도 라벨링으로 진행하였기 때문)

카메라 - 생상 분류

라이다 - 위치, 물체 인식 

 

 

ROS - master에 node 정보를 등록해야 서로 정보를 주고 받을 수 있다. 등록 후 토픽을 주고 받음

토픽 - 걍 뿌려

서비스 - 달라고 하면 줘

 

캠 => 이미지 토픽 - > 욜로 (객체 검출하여 정보를 저장)->  욜로 디텍션

 

커스텀 메세지와 빌트인 메시지 (우린 이거 사용, 검증되어 있다.)

 

이미지 토픽은 헤더에 높이 너비 등 다양한 정보가 저장되어있음

욜로를 지나 욜로 디텍션 메세지는 검출한 클래스, 검출 신뢰도, 바운딩 박스 등등 정보가 들어간다.

 

오픈 CV와 ROS 사이의 변환을 CV 브릿지가 해준다.

 

 

 

경로 추종 - 운동학 모델

경로추종이 자동차를 최종적으로 움직이게 한다. 

Pure pursuit - 저속에 좋음, 경로를 따라가기 위해 조향각을 계산해준다. 후륜 차축을 중심으로 기준점 지정해서 목표점 추적, Lookahead distance만큼 떨어진 지점을 목표값으로 계속 주행

LD 크면 컷오프, 작으면 발산(진동)

 

횡방향 오차 : 주행 중에 목표 경로로 부터 얼마나 멀리 떨어져 있는지

 

스탠리 - 고속에 좋음 (운동학 + 동역학 모델)

헤딩 오차를 조정하고, 횡방향 오차(pure pursuit 에서 나왔고, 경로를 추종하려고 노력)도 제어한다.

속도에 반비례한 조향각을 설정하여 고속에서 부드러운 주행을 진행한다.

바퀴에 적용되는 마찰력까지 생각한다. 

 

 

모터제어

스탭모터 -> 서브모터보다 저 진동, 저 소음. 

대부분 rc카는 서브모터 

 

전달함수 : 입력과 출력관의 관계를 표현

전달 함수를 통해 모터에 줄 전압값을 고른다. 

PWM : 펄스 폭을 변화시켜 평균 전압을 제어하는 방법 -> 회전 속도를 제어 

듀티 사이클 : pwm에서 High(1)가 차지하는 비율 

 

제어 코드

Pure pursuit - 경로 추종 알고리즘!

 

xyz에서 imu를 통해 이동 거리 보정

 

728x90