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 |
---|