들어가며..
이번에는 카카오와의 기술 자문 미팅 전에 프로토타입을 만들어야 했다..
React Native...? useState..? 상태관리..? 그게 뭔데요....
아무것도 모르는 상태로 개발을 시작했다..다행히도 얼마전에 React를 활용해서 우아한 테크코스 프리코스 오픈과제를 하면서 React의 기본 개념을 공부했고, 이를 활용해서 빠른 프로토타입을 만들기로 했다.
프로토타입 플로우
프로토타입의 플로우는 간단하다. 검색창에 검색하면 경로를 표현하는 프리뷰 영상이 나오고, 음성으로 검색해도 프리뷰 영상을 보여주고, 그 다음에 경로를 선택할 수 있게하는 방식이다. 디자인은 다음과 같이 구현했다.







기존에 사용했던 OSRM의 경로탐색 알고리즘을 기반으로 OSRM을 직접 A* 알고리즘을 활용해서 새롭게 가중치를 계산하는 함수와 함께 구현했고, 이를 FastAPI로 API로 만들어서, 사용할 수 있게 했다. 그 다음에 expo audio를 사용한 음성인식을 구현하고, 백서버에서 음성을 텍스트로 바꾸는 whisper 모델과 텍스트에서 카테고리와 목적지를 추출할 수 있는 모델을 만들고, 이를 통해 경로 탐색을 진행할 수 있게 만들었다.
가장 힘들었던 부분은
음성인식 부분에서 발생하는 문제였고, 기존에는 expo av를 사용하여 음성인식을 구혔했었는데, 음성인식을 하는 과정에서 음성인식으로 경로를 찾고, 그다음 다시 한번 음성인식을 시도할 때,
Error: Prepare encountered an error: recorder not prepared.
이 에러가 계속해서 발생했다...
이를 해결하려고, 초기화를 엄격하게 제한하고, 상태관리도 확인하였지만, 결론은 expo av의 내부 오류인 것 같았다. 그래서 deprecated된 expo av대신에 expo audio로 대체하여 이를 해결할 수 있었다.
아직은 경로 탐색 알고리즘과 데이터 라벨링이 부족하기 때문에 새롭게 알고리즘을 튜닝하고, 데이터도 더 모아야 할 것 같다.
다음에 해야 할 일
카카오 개발자분들과 기술 자문 미팅을 진행하고, 실제적인 네비게이션 경로 3D 모델링을 구현하기
데이터 가공과 수집을 통해 링크 및 노드의 카테고리 삽입하기
텍스트에서 목적지와 카테고리 분류하는 정확성 튜닝하기
UI 수정하기
'노예 일지 > 스타트업 노예일지' 카테고리의 다른 글
| 토스(Toss) 결제 연동하기 (0) | 2025.12.21 |
|---|---|
| 내비게이션을 만들어보아요 (0) | 2025.10.01 |