Skip to content

swm-huduck/avoid-android-app

Repository files navigation

1. AVOiD

HUDuck팀의 AR HUD와 운전자 사이의 징검다리, AVOiD입니다.

AVOiD는 HUD(Head up display) 디바이스와 블루투스 통신을 통해, 운전자(사용자, 이하 '사용자') 편의에 맞는 HUD 환경을 구축해줍니다.

2. 기능

AVOiD는 총 4개의 기능으로 이뤄져 있습니다.

  1. 내비게이션
  2. 내 차 설정
  3. 디바이스 연결
  4. HUD 표시 항목 설정

2.1. 내비게이션 🧭

  1. 검색을 통해 원하는 장소를 찾을 수 있습니다.
  2. 사용자의 화물차 정보를 기반으로 경로를 추천 및 안내합니다.
  3. AR 내비게이션을 위한 경로 정보를 실시간으로 HUD 디바이스에 전달합니다.

2.1.1. 플로우 차트

2.1.2. GPS 테스트 방법

아래에 링크된 GPS 센서값 변경 애플리케이션을 통해, GPS 테스트를 쉽게 하실 수 있습니다.

Fake GPS Location - GPS JoyStick

2.1.3. 구동 화면

메인 검색 검색 결과
현재 위치를 표시한다. 목적지를 검색할 수 있다.
추천 검색어와 자음 검색을 지원한다.
검색된 목적지의 이름, 업종, 주소, 지도상 위치를 표시한다.
거리뷰 경로 안내
선택된 장소의 거리뷰를 보여준다. 7가지의 경로 탐색 옵션(고속도로 우선, 무료 우선 등)을 통해 경로를 추천한다.
길 안내 시연 영상
시연 영상:
자체 구현 내비게이션으로 사용자의 위치를 기반으로 길을 안내한다.
AR 내비게이션을 위한 회전 이벤트(좌회전, 우회전 등)의 거리 정보를 실시간으로 HUD에 전송한다.

2.2. 내 차 설정 🚚

내비게이션 경로 검색에 필요한 사용의 화물차 정보를 입력할 수 있습니다.

기본값이 있어, 사용자의 필요에 맞게 입력을 선택할 수 있습니다.

입력되는 정보는 다음과 같습니다.

  1. 차량 너비
  2. 차량 높이
  3. 차량 길이
  4. 차량 무게
  5. 화물 무게
  6. 총 무게 (자동 계산, 차량 무게 + 화물 무게)

2.2.1. 플로우 차트

2.2.2. 구동 화면

내 차 설정 前 내 차 설정 後
사용자 화물차의 정보를 입력하여, 내비게이션에서 화물차가 원활히 지날 수 있는 경로를 추천한다.
설정 내용은 화물이 변경될 경우, 화물 중량만 변경하면 된다.

2.3. 디바이스 연결 📱

블루투스(BLE, Bluetooth low energy)를 통해 HUD 디바이스와 스마트폰의 연결을 돕습니다.

한 번 등록한 HUD 디바이스는 애플리케이션을 실행하면 자동으로 연결됩니다.

2.3.1. 플로우 차트

2.3.2. Data Interface Description

2.3.3. 구동 화면

HUD 디바이스 연결 확인
스마트폰과 HUD 디바이스의 블루투스 연결을 관리할 수 있다.
한 번 등록된 HUD 디바이스의 정보는 저장되어 AVOiD 실행 시 자동으로 연결된다.

2.3.4. 시연 영상

시연 영상

2.4. 옵션 설정 ⚙

사용자가 HUD에 표시하고자 하는 옵션을 지정할 수 있습니다.

지정 가능한 옵션은 다음과 같습니다.

  1. 위험 경고
    1. 앞 차 급정거 (ON/OFF)
    2. 위험 민감도 (민감/보통/둔감)
  2. 내비게이션
    1. 속도 (ON/OFF)
    2. 회전 정보 (ON/OFF)
  3. 스마트폰 알림
    1. 전화 (ON/OFF)
    2. 문자 (ON/OFF)
    3. 카카오톡 (ON/OFF)

2.4.1. 플로우 차트

2.4.2. 구동 화면

HUD 표시 옵션 설정
HUD에 표시할 기능을 제어할 수 있다.
변경 내용은 즉시 HUD 디바이스에 전송되어 적용된다.
본 기능을 통해 운전자의 전방 주시를 최대화한다.

3. UI/UX

3.1. 와이어 프레임

3.2. 스토리보드

3.3. 흐름도

4. 프로젝트 시작하기

4.1. 개발 환경

PC OS macOS Big Sur 11.6 (Apple M1)
Android Studio Arctic Fox | 2020.3.1 Beta 3 (aarch64)
Android Emulator Pixel 2 API 30 (Android 11.0, arm64)
Android Gradle Plugin Version 7.0.0-beta03
Gradle Version 7.0

4.2. API (SDK)

애플리케이션의 구현을 위해 사용된 API 목록입니다.

NAVER MAPS API
T map API

4.3. API Key 설정

위에 열거된 API를 사용하기 위해, 반드시 API Key를 입력해야 합니다.

API Key 발급 방법은 API Document를 참고하시면 됩니다.

4.3.1. NAVER MAPS API

NAVER MAPS API Document

res/values/api_keys.xml 파일 내부에 클라이언트 ID를 입력합니다.

<string name="naver_maps_client_id">클라이언트 ID</string>

4.3.2. T map API

T map API Document

res/values/api_keys.xml 파일 내부에 API Key를 입력합니다.

<string name="skt_map_api_key">API Key</string>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages