졸업작품 1주차 : Heading

Jaemin_Eun·2024년 3월 15일
0

2024 졸업작품

목록 보기
1/1

프로젝트 구상

어느새 졸업을 목전에 둔 4학년이 되어버렸다.
우리학교에서는 1학기에 졸업작품 프로젝트를 진행하므로
지난 겨울과 겨울방학을 거쳐 조원들과 프로젝트 주제와 세부내용을 정리하는 시간을 가졌다.

결정된 주제는 "자동정리의자 및 제어 시스템" 으로
자율주행기술을 활용하여 다양한 위치에 있는 의자를 사용자 조작에 따라 원하는 위치로 안전하게 이동시키는 것과 사용자가 모바일환경에서 웹앱을 통해 명령을 내릴 수 있게 하는 것을 목표로 잡았다.
가장 문제가 되는 바퀴가 달린 의자, 거기다가 동력원과 통신모듈까지 장착된 HW가 필요했기 때문에 터틀봇을 사용하여 의자를 대체하기로 했다.

무슨 일을 하게 될까

핵심이 되는 자율주행기술은 다행히도 내 룸메이자 관련대회 우승경력이 있는 유능한 친구를 중심으로 개발하기로 했고, react를 다뤄본 적이 있는 친구는 프론트엔드를,
나는 웹애플리케이션과 백엔드간에 통신과 백엔드 개발에 집중하게 되었다.

직접적인 백엔드 개발 경험이 없기 때문에 내가 하고있는 작업이 정확히 어떤 작업인지도 잘 모르겠으나 "일단 해보면 어떻게든 되겠지!" 라는 생각으로 열심히 땅바닥 헤딩을 하고있다.

flask + react + ROS = ???

가장 먼저 해결해야 할 문제는 ROS서버에서 터틀봇들의 좌표를 flask웹서버에 전달하는 것이다. 최초에는 HTTP나 MQTT 프로토콜을 통해 해결할 수 있을 것으로 생각했지만, 양방향 통신이 가능해야 하기 때문에(사용자의 명령을 전달하기 위해서)
ros_bridge 라이브러리를 사용한 웹소켓 통신을 하는 것으로 계획이 바뀌었다.

해결방법이 도저히 떠오르지 않아 StackOverflow에 질문을 남기기도 했었는데
Transitive라는 ROS 풀스택 오픈소스 프레임워크를 추천받아서 만약에 웹소켓을 사용하는 방식이 잘 안된다면 Transitive를 사용하는 방안도 생각하고 있다.

한편, flask와 react간에 통신은 비교적 쉽게 구현할 수 있으나, CORS같은 정책적인 문제로 데이터전달이 차단되는 문제가 지속적으로 발생해서 임시방편으로 웹서버에 CORS정책을 아예 enable해놓았다. 차후에 CORS, SOP 같은 정책에 대해 이해를 높혀서 더 합리적인 해결법을 도입해야 할 것 같다.

0개의 댓글