본문 바로가기

CEDC 2019 본문

Notepad

CEDC 2019

Seongjun_You 2022. 5. 15. 21:54

2019년 12월 20일에 나갔던 해커톤 대회에 있었던 일들을 적어보려고 합니다.

 

저희 조의 아이디어는 "화재 시 생존 가능성을 높이기 위한 무인로봇"입니다.

재밌는 아이디어였지만 저 혼자 개발하기 때문에 설렘과 무서움이 같이 공존했습니다.

하지만 저의 신념은 인간이 만들지 못하는 것은 없다!!!입니다.

 

차근차근 계획을 세우기로 했습니다.

먼저 상상을 했죠

건물 안에서 화재가 발생 시 디스플레이를 보며 가장 안전하고 빠른 탈출 경로를 찾아야 합니다.

 

그러기 위해서는 최단 경로라는 키워드가 중요하다고 생각했죠

제가 알고 있는 BFS알고리즘을 사용하기로 했습니다.

가스센서와 온도센서를 이용해 사람이 갈 수 있는 경로는 0 갈 수 없는 경로는 1로 설정 후

최단 경로를 계산하였습니다.

 

역시나 개발 과정 중 막히는 부분이 많았습니다.

과연 탈출구가 하나뿐일까 생각했죠

탈출구가 화재로 막혀있다면 다른 탈출구를 생각을 해야 했습니다.

그래서 미리 탈출구가 갈 수 있는지 없는지 판단하고 우선순위를 정하여 경로를 계산하였습니다.

 

두 번째로 난관에 부딪힌 경우가 있었습니다.

이때가 가장 힘들었습니다.

아두이노 브레드보드의 메모리 용량 문제였습니다.

대회까지 시간이 부족하여 서버보다는 블루투스로 데이터를 전송하기로 했기에

브레드보드에 경로 계산 코드를 짜고 있었던 게 문제였습니다.

정말 코드 처음부터 끝까지 최대한 메모리를 아낄 수 있게 리팩터링을 진행하였습니다.

사용하지 않은 변수 제거 및 재사용을 중심으로 재구성하여 해결을 진행했습니다.

 

세 번째는 어플 제작 문제였습니다.

대회 전시회가 3일 남아서 앱인벤터로 빠르게 제작하기로 했습니다.

블루투스 모듈로 0과 1 데이터를 어플로 전송해 0이면 초록색 불로 최단 경로를 표시하게 만들어 주었습니다.

 

이렇게 반복적으로 테스트하고 다음날 전시회를 기다리고 있었습니다.

전시회 당일날 마지막으로 테스트하였으나 오류가 발생했습니다.

정말 울고 싶었지만 침착하게 무엇이 문제인지 파악을 하여 센서들 하나하나 점검을 시작했습니다.

결국 케이블이 하나 빠져있던 것을 발견하고 다시 붙이고 진행하니 완벽하게 실행이 되었습니다.

 

대회는 2019 / 12 / 20 ~ 2019 / 12 / 23일 동안 진행을 하였습니다.

아시아 사람들이 모두 모이기에 몹시 떨리고 설렜습니다.

하지만 여기서 가장 큰 문제가 있었습니다.

저의 군대 입대일이 12월 23일이었습니다.

입대일 전날까지 계속 테스트를 진행하고 대회 도중에 나오게 되어 아쉬웠습니다.

저희 팀원들을 믿는 수밖에 없었습니다.

그리고 훈련소가 끝난 후 메일에서 하나의 파일을 확인했습니다.

 

글로벌캡스톤디자인(Bronze).pdf
0.40MB

 

 

'Notepad' 카테고리의 다른 글

NoSQL Injection 파이썬 이용  (0) 2022.05.23
K-HACKTON 2021  (0) 2022.05.15
시험 끝  (0) 2022.05.14
fork 디버깅, PIE 디버깅  (0) 2022.03.06
LoadLibrary  (0) 2022.02.16
Comments