[2023-03-30] 2. 실습 장비 자이카
자이카
종류 및 스펙
자이카 구성 부품 및 시스템 구성도
자이카의 모터 제어 장치
-
구동 모터
-
모터의 회전 속도는 공급되는 전력의 양에 따라 결정됨
-
배터리의 전력이 모터제어기를 거쳐 모터로 전달되고 모터의 회전력이 기어박스를 통해 바퀴의 회전력으로 변환됨
-
-
조향 모터(서보 모터)
- PWM 신호로 모터의 회전각도 조종
- 빠르게 ON/OFF를 반복하여 신호 전달
기존 아두이노를 사용하여 구동장치 조종 방법
- 일반적인 RC카에서는 조종기의 모터 제어 신호가 리시버를 통해서 모터에 전달됨
- 소프트웨어가 대신할 때는 프로세서 보드의 모터 제어 신호가 아두이노를 통해서 모터에 전달됨
- 아두이노에는 조향모터를 제어할 수 있는 PWM 신호를 만드는 코드와 구동모터를 위한 모터제어기(ESC)를 제어할 수 있는 코드가 담겨있어야 함
- 조향모터
- 구동모터
- 아두이노에는 조향모터를 제어할 수 있는 PWM 신호를 만드는 코드와 구동모터를 위한 모터제어기(ESC)를 제어할 수 있는 코드가 담겨있어야 함
VESC를 사용하는 경우의 구동장치 조종방법
- 프로세서가 USB를 통해 VESC를 제어
- 차량의 주행 속도 조절
- 차량의 주행 방향 조절
자이카 소프트웨어 구성
- 운영체제로 리눅스 설치
- 각종 센서와 모터제어를 위한 미들웨어 ROS 설치
- 자이카 장치제어를 위한 ROS Package 구축
- 자율주행 SW 프로그래밍은 파이썬으로 작성 및 오픈소스 라이브러리 활용
자이카의 ROS 패키지(장치 제어)
-
ROS 노드 정보
-
모터제어기(/xycar_motor)
-
토픽 sub : /xycar_motor
-
/auto_drive(pub 노드)에서 /xycar_motor(sub 노드)로 /xycar_motor 토픽 전달
-
-
라이다(/xycar_lidar)
- 토픽 pub : /scan
-
카메라(/usb_cam)
- 토픽 pub : /usb_cam/image_raw
-
초음파센서(/xycar_ultrasonic)
- 토픽 pub : /xycar_ultrasonic
-
IMU센서(/xycar_imu)
- 토픽 pub : /imu
-
Depth 카메라(/camera/realsense2_camera)
- 토픽 pub : /camera/color/image_raw, /camera/depth/image_rect_raw
-
다양한 미션 수행
- 직선 주행
- 곡선 주행
- 정지선
- 돌발 장애물
- U턴
- 로터리 진입과 진출
- 차선 변경
- 신호등 신호 구분
- 언덕
- 요철 구간
- 정차 등
자이카 시동 걸기
배터리 충전
- 메인 배터리(19V) : 프로세서 보드와 센서 장치에 전원을 공급
- USB 3.0 충전기로 충전 가능(입력단자)
- 배터리 용량은 40,000mAh(40Ah)
- 40Ah = 2A * 20h (2A씩 뽑아 쓰면 20시간 동안 사용 가능, 2A 충전기로 충전하면 20시간 소요)
- 매인 배터리 켜기 & 잔량확인
- 배터리에서 전기를 뽑아 쓰려면 배터리 위에 있는 시작 버튼을 눌러야 함 (파워세이브로 평상시는 꺼져 있음)
- 누를 때 마다 전압 설정이 바뀌는데 19V 인지, 잔량이 충분한지 확인해야 함
- 전기를 쓰지 않으면 자동으로 다시 꺼짐
- 모터 배터리(8.4V) : 자동차 구동 모터에 전원 공급
- 배터리 용량은 3,000mAh(40Ah)
- 특별한 충전기를 사용하여 충전
- 1시간 이내에 고속 충전이 가능함
![image](https://user-images.githubusercontent.com/116723552/229268278-59c208a9-a766-4dda-8072-1ab17898f617.png
- Start/Enter를 눌러 세팅 시작
- Dec, Inc를 눌러 1.5A로 세팅
- Start/Enter를 눌러 세팅 완료
- Start/Enter을 2초 이상 누르면 충전 시작
- 충전이 완료되면 알람 소리와 함께 자동으로 충전이 종료됨
전원 켜기
-
전원 버튼
-
파란색 버튼 : 모터 배터리 전원 스위치
-
빨간색 버튼 : 메인 배터리 전원 스위치
-
노랑색 버튼 : 프로세스 보드 Power-On 스위치
-
-
프로세서 보드 전원켜기
- 메인 배터리에 있는 시작 버튼 누르기
- 파랑색(모터) 스위치를 누르기
- 빨간색(USB장치) 스위치를 누르기
- 녹색(TX2) 스위치를 누르기
- 빨간색 메인 버튼에 불이 켜지면 노란색 스위치를 누름
- 프로세서 보드에서 녹색 LED가 켜지고 몇 초간 부팅 과정이 진행되고 완료가 되면 LED에 V자가 뜸
- 메인보드에 있는 노란색 라벨과 같은 숫자의 와이파이가 있는지 검색하여 자이카가 정상 부팅 되었는지 확인함
- 자이카와 모니터를 hdmi 케이블로 연결하여 확인하는 방법도 있음
-
전원끄기
-
가능하면 리눅스 전원끄기를 함
-
불가능하면 빨간색 버튼을 꺼서 프로세서를 끄고 나중에 파란색 버튼을 꺼서 모터를 끔
-
녹색(TX2) 스위치 -> 빨간색(USB장치) 스위치 -> 파랑색(모터) 스위치 순으로 끄면 됨
-
원격 접속 환경 구축
- 스마트폰에서 VNC를 이용한 리눅스(자이카) 접속
- 구글 플레이에서 VNC Viewer 앱 설치
- 스마트폰에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
- VNC Viwer 앱 구동 후 IP 주소(10.42.0.1) 및 비밀번호(nvidia) 입력
- 노트북에서 VNC 를 이용한 리눅스(자이카) 접속
- 노트북에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
- VNC Viewer 설치 후 File - New Connection 창 열기
- VNC Server에 10.42.0.1 입력, Name에 원하는 이름(My_Xycar) 입력
- My_Xycar 생성 후 더블 클릭 후 비밀번호(nvidia) 입력
- 리눅스 노트북에서 터미널을 사용하여 자이카 접속(텍스트 기반)
- 노트북에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
- 리눅스 노트북에서 터미널을 열고
$ ssh-Y nvidia@10.42.0.1
입력 - 비밀번호(nvidia) 입력
-
리눅스 노트북에서 Remmina(리미너, 원격접속 프로그램)으로 자이카 접속(GUI 기반)
- 노트북에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
- Remmina 실행
- VNC로 설정한 후 10.42.0.1에 연결
-
기존 사용하고 있는 와이파이 무선공유기에 자이카 추가 연결하는 법(자이카를 노트북과 같은 단말기로 만들기)
- /etc/modprobe.d/bcmdhd.conf 에 들어가
options bcmdhd op_mode=2
로 자이카의 와이파이 설정을 변경 - 자이카 리눅스의 우측 상단을 클릭하여 Edit Connections를 누름
- WI-Fi 네트워크 설정에서 Mode를 hotspot 모드에서 client 모드로 변경
- /etc/modprobe.d/bcmdhd.conf 에 들어가
원격 접속화면 해상도 변경
- 바탕화면의 화면 크기 확장 아이콘 클릭
$ xyrander --fb 700x700
를 자이카 우분투 콘솔창에 입력하여 해상도 변경 가능
자이카 바탕화면 아이콘
- 뭔가 이상할 때, 코드의 문제인지 하드웨어의 문제인지 확인하기 위해 아래의 프로그램을 사용