Xycar 자이카 자율주행 기능 소개

 

목차

자이카 실제 주행 모습

자율주행 경진대회 모습

트랙의 다양한 미션 소개

미션을 통과하는 방법

자이카를 사용한 프로젝트 소개

 

자이카의 자율주행

Xycar 자이카의 자율주행 모습 소개

 

Xycar 자이카

 

(주)자이트론에서 제작한 1/10 크기의 자율주행 모형차

X모델, A모델, B모델, C모델

 

Xycar 구동 동영상

 

국민대 자율주행 경진대회

 

한동대 자율주행대회 동영상

 

한동대 모형차 자율주행대회

 


자이카의 자율주행 기능

자율주행 트랙에서 다양한 미션을 통과하는 자율주행 기능 소개

 

미션 수행 자율주행

 

차선 따라 주행

 

영상에서 차선 찾기

 

OpenCV 기반의 영상처리

허프변환을 이용

머신러닝 모델 적용

 

직진? 회전?

 

정지선 인식

 

횡단보도 인식

 

신호등 인식

 

언덕 구간

 

장애물

 

로터리 진입

 

차선 변경

 

QR 코드

 

지금 어떤 미션을 수행해야 하는지 알려주는 지표

 

자율주행 경진대회에 도전

 

다양한 미션 완수해서 최단시간으로 완주하면 우승한다.

 


자이카 자율주행 프로젝트

자이카를 사용한 다양한 자율주행 프로젝트 소개

 

자율주행 소프트웨어

 

규칙기반 자율주행 SW + 학습기반 자율주행 SW

 

머신러닝 YOLO 활용 자율주행

 

Yolo v2 모델 적용

 

강화학습 기반 자율주행

 

가장 기본적인 강화학습 모델인 DQN(Deep Q-Network) 적용

 

End-to-End 자율주행

 

지도 학습

 

Adaptive Cruise Control

 

추돌 방지 자율주행

 

PID 제어

 

차량이 흔들거리면서 주행하지 않도록 제어

 

AR Tag 기반의 주차

 

AR Tag를 보고 자동차의 자세를 파악하여 주차

 

YOLO 활용 자율주행

 

사람을 찾고 그 사람을 쫓아가는 주행

 

직각 주차 / 평행 주차

 

라이다 기반 복도 주행

 

최대한 빠르게 주행

 

앞차 따라가기 주행

 

앞에서 달리는 차량이 지나간 경로를 따라서 주행

 

비보호 좌회전

 

규칙기반 vs 학습기반

 

고속 코너링 - 드리프트 주행

 

드리프트 주행

 

스탠포드 대학의 MARTY 프로젝트

 

MIT 대학의 머신러닝 기반 드리프트 주행

 


원격접속 개발환경 구축

 

목차

자이카 개발환경 소개

자이카에 모니터 직접 연결

자이카 리눅스 로그인

무선 와이파이 접속

원격 접속 프로그램 VNC 소개

스마트폰에서 자이카로 원격 접속

윈도우 PC에서 자이카로 원격 접속

리눅스 PC에서 자이카로 원격 접속

 

개발환경 구축

원격접속을 이용한 개발환경 구축

 

Xycar의 SW 구성

 

Xycar는 Linux PC

 

프로세서 보드에서 유선, 무선 LAN 네트워크 지원, USB 포트 제공, HDMI 영상출력 커넥터 제공

 

Xycar는 컴퓨터 본체

 

프로세서 + SSD(하드디스크) + 무선랜 + 키보드 + 마우스 + 모니터

 

Xycar에 모니터 붙여서 부팅하면

 

Xycar 리눅스(우분투) 로그인

 

아이디는 nvidia, 패스워드는 nvidia

 

Xycar에 무선으로 접속?

 

무선 와이파이로 Xycar에 접속 가능

 

리눅스의 원격접속 기능

 

리눅스는 원격접속 기능을 제공

 

원격 접속

 

Text 기반 접속 & GUI 기반 접속

 

Text 기반 원격접속을 위한 SSH 프로그램

 

GUI 기반 원격접속

 

GUI 기반 원격접속을 위한 VNC 프로그램

 

스마트폰에서 VNC 이용한 Xycar 접속

 

Xycar는 무선공유기?

 

Xycar가 무선공유기, 즉 AP로 동작한다.

 

와이파이 접속

 

Xycar는 ipTIME(무선공유기)와 동일하다.

 

Xycar 와이파이에 접속하려면?

 

SSID(무선공유기 이름) 값을 알아야 함

 

스마트폰에서 와이파이로 Xycar에 접속하기

 

와이파이 비번은 xycar123

 

스마트폰에서 VNC 이용한 Xycar  접속

 

Xycar에 있는 리눅스로 무선 원격 접속

VNC 앱 구동하고 IP 주소(10.42.0.1)와 비번(nvidia) 입력하여 접속

 

PC와 노트북에서 Xycar로 와이파이 접속

 

Xycar로 와이파이 원격 접속

 

노트북에서 VNC 프로그램 사용해서 원격접속

 

윈도우 / MacOS 버전의 VNC 프로그램 사용

 

Download VNC Viewer | VNC® Connect

 

www.realvnc.com

 

리눅스 PC에서 터미널 사용해서 Xycar 원격접속

 

$ ssh -Y nvidia@10.42.0.1 입력 후 비밀번호 nvidia 입력

 

리눅스 PC에서 Remmina 이용한 Xycar 원격접속

 

Remmina

원격 데스크탑 프로그램 (우분투에 기본 설치되는 프로그램)

 

Remmina 이용한 Xycar 접속

 

해상도 변경

 

바탕 화면에 있는 "화면크기확장" 아이콘을 클릭

 

노트북과 스마트폰을 함께 사용 가능

 

여러 장치들을 동시에 Xycar에 접속할 수 있다.

 


자이카 주행시키기

 

목차

자이카 와이파이 원격 접속

바탕화면 아이콘

프로그램 실행시키기

프로그램 종료 시키기

 

자이카 주행시키기

Xycar 처음 움직여보기 &

여러가지 방법으로 주행시키기

 

와이파이 무선 원격접속

 

Xycar 리눅스 바탕화면

 

바탕화면에 여러 가지 실행아이콘이 있다.

 

실행 아이콘

 

바탕화면 실행아이콘은 ~/Desktop 폴더에 있다.

 

실행 아이콘 설명

 

자율 주행

뷰어 실행

사람 인식 주행

화면 크기 확장

카메라 위치 조정

장애물 회피 주행

조이스틱 제어

 

실행한 프로그램을 끝내고 싶을 때

 

Ctrl+C를 누르면 실행되던 프로그램들이 모두 종료된다.

 

실행아이콘 - 화면 크기 확장

 

실행아이콘 - 조이스틱 제어

 

수동 조종을 위한 안드로이드 앱

 

xycar_joystic.apk

 

drive.google.com

 

실행아이콘 - 카메라 위치 조정

 

실행아이콘 - 뷰어 실행

 

실행아이콘 - 자율주행

 

실행아이콘 - 사람 인식 주행

 

실행아이콘 - 장애물 회피 주행

 

Xycar 주행시키기

 

화면 크기 확장 → 뷰어 실행 → 카메라 위치 조정 → 조이스틱 제어 → 자율 주행 → 사람 인식 주행 → 장애물 회피 주행

 


자이카 SW 플랫폼

 

목차

자이타 SW 플랫폼 구조

계층1 - 리눅스

계층2 - ROS

계층3 - 라이브러리

 

Xycar 자이카 SW 플랫폼

Xycar에 탑재된 소프트웨어 플랫폼 설명

 

Xycar에 탑재되는 SW 구성도

 


시스템SW - 리눅스

 

Xycar 시스템SW - 운영체제 : 리눅스

 

Xycar = 리눅스 PC

 

Xycar는 바퀴가 달려 움직일 수 있는 리눅스 PC

 

Xycar 부팅

 

엔비디아 프로세서 보드 위에 리눅스 설치

 

Xycar 시스템 소프트웨어 - 미들웨어 : ROS

 

ROS (Robot Operating System)

 

ROS는 자동차(로봇의 일종) 제어를 위한 미들웨어

 

ROS 배포판

 

실습 때는 ROS Kinetic Kame 버전을 쓴다.

 

ROS가 제공하는 도구들

 

RVIZ

RQT

GAZEBO

 

Xycar의 ROS Package

 

ROS Package (디바이스 드라이버)

ROS에서 특정 하드웨어의 구동에 필요한 모든 것을 모아 놓은 SW 집합체

 

Xycar에 기본 설치된 ROS Package

 


시스템SW - 라이브러리

영상처리 / 머신러닝 / GPU활용 / 코딩

 

Xycar 시스템 소프트웨어 - 라이브러리

 

다양한 라이브러리 제공

 

영상처리 지원 라이브러리

 

OpenCV

 

자율주행에서의 영상처리 (OpenCV 기반)

 

머신러닝 지원 라이브러리

 

텐서플로 (TensorFlow)

파이토치 (PyTorch)

 

GPU 활용 지원 라이브러리

 

쿠다 (CUDA : Compute Unified Device Architecture)

 

코딩을 위한 라이브러리 (프로그래밍 언어)

 

파이썬 (Python)

 

Xycar 자율주행SW 작성은 파이썬으로

 

Xycar SW플랫폼 for 자율주행

 


자율주행차 모터 제어 장치

 

목차

자이카의 모터 장치

구동모터와 조향모터

모터제어기

 

자율주행차 모터제어장치

자이카의 모터

구동모터와 조향모터

 

Xycar  하드웨어

 

Xycar에서 사용하는 장치들

 

Xycar-A 모델 시스템 구성도

 

자동차 구동부

 

전후진 + 조향

 

구동모터

 

구동모터의 회전 원리

 

구동모터 - BLDC 모터

 

3상 구동모터 회전 원리

 

조향 모터

 

조향 모터 (서브 모터)

 


자율주행차 모터제어장치

모터제어기

 

모터제어기

 

ESC (Electronic Speed Controller)

모터 스피드 제어기

 

VSEC

 

ESC 모터제어기

 

아두이노를 거쳐서 ESC를 조작해서 모터를 제어

 

아두이노를 사용하는 경우의 구동장치 조종 방법

 

기존 ESC대신 VESC를 사용하여 모터를 제어

 

'자율주행 데브코스 > WEEK05 - Xycar' 카테고리의 다른 글

DAY01. 자율주행과 자이카(Xycar)  (0) 2021.01.04

+ Recent posts