자이카

종류 및 스펙

image

image

자이카 구성 부품 및 시스템 구성도

image

자이카의 모터 제어 장치

  • 구동 모터

    • 모터의 회전 속도는 공급되는 전력의 양에 따라 결정됨

    • 배터리의 전력이 모터제어기를 거쳐 모터로 전달되고 모터의 회전력이 기어박스를 통해 바퀴의 회전력으로 변환됨

  • 조향 모터(서보 모터)

    • PWM 신호로 모터의 회전각도 조종
    • 빠르게 ON/OFF를 반복하여 신호 전달

image

기존 아두이노를 사용하여 구동장치 조종 방법
  • 일반적인 RC카에서는 조종기의 모터 제어 신호가 리시버를 통해서 모터에 전달됨
  • 소프트웨어가 대신할 때는 프로세서 보드의 모터 제어 신호가 아두이노를 통해서 모터에 전달됨
    • 아두이노에는 조향모터를 제어할 수 있는 PWM 신호를 만드는 코드구동모터를 위한 모터제어기(ESC)를 제어할 수 있는 코드가 담겨있어야 함
      • 조향모터
      • 구동모터

image

VESC를 사용하는 경우의 구동장치 조종방법

image

  • 프로세서가 USB를 통해 VESC를 제어
    • 차량의 주행 속도 조절
    • 차량의 주행 방향 조절

자이카 소프트웨어 구성

  • 운영체제로 리눅스 설치
  • 각종 센서와 모터제어를 위한 미들웨어 ROS 설치
  • 자이카 장치제어를 위한 ROS Package 구축
  • 자율주행 SW 프로그래밍은 파이썬으로 작성 및 오픈소스 라이브러리 활용

image

자이카의 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

image

다양한 미션 수행

  • 직선 주행
  • 곡선 주행
  • 정지선
  • 돌발 장애물
  • U턴
  • 로터리 진입과 진출
  • 차선 변경
  • 신호등 신호 구분
  • 언덕
  • 요철 구간
  • 정차 등

자이카 시동 걸기

배터리 충전
  • 메인 배터리(19V) : 프로세서 보드와 센서 장치에 전원을 공급
    • USB 3.0 충전기로 충전 가능(입력단자)
    • 배터리 용량은 40,000mAh(40Ah)
    • 40Ah = 2A * 20h (2A씩 뽑아 쓰면 20시간 동안 사용 가능, 2A 충전기로 충전하면 20시간 소요)
    • 매인 배터리 켜기 & 잔량확인
      • 배터리에서 전기를 뽑아 쓰려면 배터리 위에 있는 시작 버튼을 눌러야 함 (파워세이브로 평상시는 꺼져 있음)
      • 누를 때 마다 전압 설정이 바뀌는데 19V 인지, 잔량이 충분한지 확인해야 함
      • 전기를 쓰지 않으면 자동으로 다시 꺼짐

image

  • 모터 배터리(8.4V) : 자동차 구동 모터에 전원 공급
    • 배터리 용량은 3,000mAh(40Ah)
    • 특별한 충전기를 사용하여 충전
      • 1시간 이내에 고속 충전이 가능함

![image](https://user-images.githubusercontent.com/116723552/229268278-59c208a9-a766-4dda-8072-1ab17898f617.png

image

  1. Start/Enter를 눌러 세팅 시작
  2. Dec, Inc를 눌러 1.5A로 세팅
  3. Start/Enter를 눌러 세팅 완료
  4. Start/Enter을 2초 이상 누르면 충전 시작
  5. 충전이 완료되면 알람 소리와 함께 자동으로 충전이 종료됨

image

전원 켜기
  • 전원 버튼

    • 파란색 버튼 : 모터 배터리 전원 스위치

    • 빨간색 버튼 : 메인 배터리 전원 스위치

    • 노랑색 버튼 : 프로세스 보드 Power-On 스위치

  • 프로세서 보드 전원켜기

  1. 메인 배터리에 있는 시작 버튼 누르기
  2. 파랑색(모터) 스위치를 누르기
  3. 빨간색(USB장치) 스위치를 누르기
  4. 녹색(TX2) 스위치를 누르기
  5. 빨간색 메인 버튼에 불이 켜지면 노란색 스위치를 누름
  6. 프로세서 보드에서 녹색 LED가 켜지고 몇 초간 부팅 과정이 진행되고 완료가 되면 LED에 V자가 뜸
  7. 메인보드에 있는 노란색 라벨과 같은 숫자의 와이파이가 있는지 검색하여 자이카가 정상 부팅 되었는지 확인함
  8. 자이카와 모니터를 hdmi 케이블로 연결하여 확인하는 방법도 있음
  • 전원끄기

    • 가능하면 리눅스 전원끄기를 함

    • 불가능하면 빨간색 버튼을 꺼서 프로세서를 끄고 나중에 파란색 버튼을 꺼서 모터를 끔

    • 녹색(TX2) 스위치 -> 빨간색(USB장치) 스위치 -> 파랑색(모터) 스위치 순으로 끄면 됨

image

원격 접속 환경 구축

  • 스마트폰에서 VNC를 이용한 리눅스(자이카) 접속
    1. 구글 플레이에서 VNC Viewer 앱 설치
    2. 스마트폰에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
    3. VNC Viwer 앱 구동 후 IP 주소(10.42.0.1) 및 비밀번호(nvidia) 입력
  • 노트북에서 VNC 를 이용한 리눅스(자이카) 접속
    1. 노트북에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
    2. VNC Viewer 설치 후 File - New Connection 창 열기
    3. VNC Server에 10.42.0.1 입력, Name에 원하는 이름(My_Xycar) 입력
    4. My_Xycar 생성 후 더블 클릭 후 비밀번호(nvidia) 입력
  • 리눅스 노트북에서 터미널을 사용하여 자이카 접속(텍스트 기반)
    1. 노트북에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
    2. 리눅스 노트북에서 터미널을 열고 $ ssh-Y nvidia@10.42.0.1 입력
    3. 비밀번호(nvidia) 입력
  • 리눅스 노트북에서 Remmina(리미너, 원격접속 프로그램)으로 자이카 접속(GUI 기반)

    1. 노트북에서 자이카 와이파이 접속하기(SSID : 자이카의 SSID, 비밀번호 : xycar123)
    2. Remmina 실행
    3. VNC로 설정한 후 10.42.0.1에 연결
  • 기존 사용하고 있는 와이파이 무선공유기에 자이카 추가 연결하는 법(자이카를 노트북과 같은 단말기로 만들기)

    1. /etc/modprobe.d/bcmdhd.conf 에 들어가 options bcmdhd op_mode=2 로 자이카의 와이파이 설정을 변경
    2. 자이카 리눅스의 우측 상단을 클릭하여 Edit Connections를 누름
    3. WI-Fi 네트워크 설정에서 Mode를 hotspot 모드에서 client 모드로 변경
원격 접속화면 해상도 변경
  • 바탕화면의 화면 크기 확장 아이콘 클릭
  • $ xyrander --fb 700x700를 자이카 우분투 콘솔창에 입력하여 해상도 변경 가능

자이카 바탕화면 아이콘

  • 뭔가 이상할 때, 코드의 문제인지 하드웨어의 문제인지 확인하기 위해 아래의 프로그램을 사용

image