Dashboard Test#

What you’ll do

  • GUI(Dashboard)로 UART 연결을 확인하고, 최소 동작(구동/조향/상태/속도)을 검증합니다.

Prerequisites

  • Linux Port Setup 완료

  • 초기 테스트는 바퀴가 공중에 뜬 상태(또는 아주 낮은 속도)에서 진행 권장

Next

KMC Dashboard는 배포된 GUI 프로그램을 통해 UART 통신 연결 상태 확인, 명령 입력 전송, 속도 요청/보조 명령 모니터링 등을 수행하여 차량이 정상 동작하는지 빠르게 테스트할 수 있는 도구입니다. 패킷 ID 등 바이트 레벨 규격은 UART Protocol Reference에 정리되어 있습니다.


1. Checklist#

하드웨어가 올바르게 동작하는지 확인하기 위한 체크리스트입니다.

  • 포트/baud rate 설정 후 연결이 유지된다

  • 속도 요청으로 속도 (\(\mathrm{m/s}\))를 읽을 수 있다

  • 보조 명령(AllState)으로 온도 (\(^\circ\mathrm{C}\))/전류 (\(\mathrm{A}\))/에러 코드를 읽을 수 있다

  • 명령 입력으로 구동/조향이 기대한 방향으로 동작한다


2. 설치#

KMC Dashboard는 참가자용으로 배포된 실행 파일(GUI)입니다. 대회 안내에서 제공되는 다운로드 링크(Release)를 통해 운영체제에 맞는 프로그램을 받아 설치합니다.

  • Dashboard 설치

  • Release 탭에서 OS별 설치 파일 선택

    • Windows: .exe 또는 설치 패키지

    • Ubuntu: .AppImage / 실행 파일 등 배포 형태에 맞게 설치

설치가 끝나면 Dashboard를 실행합니다.

참고

Dashboard가 없어도 UART 프로토콜만으로 제어/모니터링 구현이 가능합니다.
패킷 형식은 UART Protocol Reference을 참고하세요.

KMC Dashboard 메인 화면


3. 연결 설정 (CONNECTION)#

차량과 PC를 USB로 연결한 뒤, Dashboard에서 포트와 baud rate를 설정합니다.

3.1 Port#

운영체제별로 포트 이름이 다릅니다.

  • Windows

    • 장치관리자 → 포트(COM & LPT)

    • USB Serial Port (COMx) 형태로 표시되는 COM 번호를 확인하여 입력 (ex COM5)

  • Ubuntu

    • 권장 고정 링크: /dev/ttyKMC

    • 또는 일반 포트: /dev/ttyUSB0

    • 포트 확인:

      ls -l /dev/ttyKMC
      ls -l /dev/ttyUSB*
      

설치/연결 방법 문서:

3.2 Baud rate#

  • 하드웨어와 UART 통신에 사용할 baud rate를 설정합니다.

  • 통신이 불안정하면 더 낮은 baud rate로 시도하는 것이 도움이 될 수 있습니다.

  • 반대로 통신이 안정적이고 빠른 응답이 필요하면 더 높은 baud rate를 사용할 수 있습니다.


4. 주행 명령 테스트 (CONTROL)#

Dashboard의 Control 섹션은 차량 주행 명령을 전송하는 기능입니다.

  • Send Control

    • 차량에 명령 입력을 전송합니다.

    • 일반적으로 선속도 \(v\)와 곡률 \(\kappa\)를 기반으로 Ackermann 주행 입력이 적용됩니다.

  • Return to Center

    • 조이스틱 입력을 놓았을 때 조향을 중앙으로 자동 복귀시키는 옵션입니다.

    • 직진 안정성 확인 및 실수로 조향이 남는 상황을 줄이는 데 유용합니다.

주의

초기 테스트는 바퀴가 공중에 뜬 상태 또는 아주 낮은 속도에서 시작하는 것을 권장합니다.


5. 시스템 기능 (SYSTEM)#

모터 드라이버의 초기화/리셋 및 엔코더 보정 기능입니다.

5.1 RESET Mx#

  • 선택한 모터 번호의 모터 드라이버를 Reset 합니다.

  • 모터 번호 할당:

    • 왼쪽 모터: 0

    • 오른쪽 모터: 1

5.2 ENC CAL Mx (Encoder Calibration)#

  • 선택한 모터의 엔코더 보정(캘리브레이션)을 수행합니다.

주의

엔코더 캘리브레이션 수행 시 바퀴는 자유 회전 상태여야 합니다.
캘리브레이션 중 바퀴에 힘이 가해지거나(손으로 잡기, 바닥에 닿아 마찰 발생 등) 회전이 방해되면 보정이 잘못될 수 있고, 이후 동작이 비정상일 수 있습니다.


6. 상태/속도 모니터링 (READ STREAMS)#

차량의 상태를 읽어오는 기능입니다.

  • AllState

    • 보조 명령(AllState)으로 상태 데이터를 읽습니다. (프로토콜에서는 0xAFID=0x06)

    • 모터 상태(각도/속도/전류/온도/에러 코드 등)를 포함한 데이터를 주기적으로 수신합니다.

  • Vehicle Speed

    • 속도 요청으로 차량의 현재 속도 (\(\mathrm{m/s}\))를 읽습니다.


7. 송수신 주기 설정 (RATES)#

차량과의 통신 주기를 설정합니다.

  • 명령 입력 송신 주기

  • 속도 요청/보조 명령 주기


8. 그래프 표시 옵션 (DISPLAY FILTER)#

그래프(Plot)에서 어떤 신호를 표시할지 선택합니다.

  • Show Speed

    • 보조 명령으로 읽어온 각 모터의 속도 (\(\mathrm{rpm}\))를 그래프에 표시

  • Show Current

    • 보조 명령으로 읽어온 각 모터의 전류 (\(\mathrm{A}\))를 그래프에 표시

  • Show Vehicle Speed

    • 속도 요청으로 읽어온 차량 속도 (\(\mathrm{m/s}\))를 그래프에 표시


9. 주요 표시 영역 설명#

9.1 VEHICLE SPEED#

  • 속도 요청 응답으로 수신된 차량 속도 (\(\mathrm{m/s}\)) 표시

9.2 BATTERY#

  • 보조 명령(Battery Voltage)로 읽어온 배터리 전압 표시 (프로토콜에서는 0xAFID=0x07)

9.3 MOTOR INFO#

  • 보조 명령(AllState) 데이터(각도/속도/전류/온도/에러 등)를 표 형태로 표시 (프로토콜에서는 0xAFID=0x06)