6x3=18 - BIG Private Box

MIE capstone
EmSys2024A (토론 | 기여)님의 2021년 6월 20일 (일) 07:08 판 (시스템 구성)
이동: 둘러보기, 검색

프로젝트 소개

프로젝트 명

BIG(Barcode-Identification-Guaranteeing) Private Storage Box

바코드 인증 방식의 개인용 무인 택배함 시스템 설계

프로젝트 기간

2021.4.5~2021.6.21

팀 소개

서울시립대학교 기계정보공학과 (20164300**) (이*하) (팀장)
서울시립대학교 기계정보공학과 (20164300**) (남*준)
서울시립대학교 기계정보공학과 (20164300**) (박*호)
서울시립대학교 기계정보공학과 (20184300**) (최*리)

프로젝트 개요

용어 정의

1. 바코드 : 컴퓨터로 판독 가능한 1차원 선형 코드 및 2차원 매트릭스 코드를 통칭한다.
2. 기구부 : 이번 프로젝트에서 직접 제작할 택배함의 모형을 명칭한다.
3. 데이터베이스 : 이번 프로젝트에서 사용하는 Firebase의 Firestore Database(비관계형 데이터베이스)와 Storage(데이터 저장소)를 통칭한다.

프로젝트 요약

사용자의 거주지 앞에 두고 사용할 수 있는 개인용 무인 택배함을 개발하여 수령자의 부재 시 발생할 수 있는 도난 사고 및 개인 정보 노출 사고를 방지한다. 무인 택배함에는 잠금 장치와 도난 시도 감지 기능이 탑재되어 사용자의 물품을 안전하게 보관할 수 있고, 사용자는 어플리케이션을 통해 인터페이스를 제공받는다. 택배 기사는 송장 번호 바코드를 스캔하여 잠금장치를 해제함으로써 부재중인 사용자와 비밀번호를 확인하는 등의 추가적인 상호작용 없이도 택배함을 사용할 수 있다.

프로젝트의 배경 및 기대효과

1. 배경
증가하는 1인 가구 및 택배 이용량
1인 가구가 점점 증가하고 있고, 택배 이용횟수 역시 증가하는 추세이다. 대부분의 1인 가구는 경제활동인구이므로 택배를 직접 받는 데 어려움이 있다. 따라서 수령자 부재 시에 택배 기사가 택배를 문 앞에 놓고 가는 경우가 빈번하고, 이는 도난 사고와 개인 정보 노출 사고로 이어질 위험이 있다. 그뿐 아니라, 부재중 택배 수령은 택배 이용 시 사용자와 택배 기사 모두에게 가장 큰 불편함을 주는 요소이다.
파일:6x3=18그림1.jpg
파일:6x3=18그림2.jpg
파일:6x3=18그림3.jpg
공공 무인 택배함 사용 시 어려움
공공 무인 택배함은 택배 수령자에게 부재 시 발생할 수 있는 ‘도난 사고’의 위험과 ‘개인 정보 노출 사고’의 위험으로부터 어느 정도의 안전성을 제공한다. 하지만 공공 무인 택배함의 보급률은 그리 높지 않고, 1인 가구의 경우에는 접근성 역시 현저히 낮다. 공공시설이기에 철저한 관리가 필요하지만, 실제 운영 시에 미수령 물품에 대한 관리가 제대로 이루어지지 않아 이용 가능한 무인 택배함을 찾기 어려울 때가 있다.
공공 무인 택배함은 택배 수령자뿐만 아니라 택배 기사에게도 불편함이 있다. 택배 기사들이 공공 무인 택배함을 이용할 때마다 비밀번호를 설정하고 사용자에게 그 비밀번호를 전달해야 하는 과정을 거쳐야 하므로 시간적인 손해가 생긴다. 이는 수많은 택배를 정해진 시간 안에 배송해야 하는 택배 기사에게 매우 큰 번거로움으로 다가온다.
파일:6x3=18그림4.jpg
개인용 무인 택배함 사용 시 불편함
공공 무인 택배함의 불편함을 해결하고자 개인용 무인 택배함 역시 등장하였다. 이러한 제품들은 개폐를 위해 열쇠나 비밀번호를 사용한다.
파일:6x3=18그림5-1.jpg
파일:6x3=18그림5-2.jpg
열쇠형 무인 택배함은 한 번 택배함을 닫은 이후에는 열쇠를 사용하여 열어야 하므로, 2개 이상의 택배를 수령하기 어렵다는 문제점이 있다. 비밀번호형 무인 택배함은 사용자가 비밀번호를 사전에 택배 기사에게 전달해야 하므로 보안을 위해 주기적인 비밀번호 변경이 필요하고 이는 이후에 또 다시 새로운 비밀번호를 택배 기사에게 전달해야 한다는 번거로움이 있다.


2. 기대효과
도난 사고 및 오배송, 개인 정보 노출 사고 방지
무인 택배함을 열 수 있는 바코드는 사용자가 어플리케이션을 통해 생성할 때마다 갱신이 되는 사용자용 고유 QR코드와 사용자의 물품의 송장 번호를 담고 있는 바코드 두 가지이다. 따라서 어플리케이션 사용자와 물품을 가지고 있는 택배 기사만이 택배함을 열 수 있으므로 택배 배송 이후 발생할 수 있는 도난 사고와 개인 정보 노출 사고 등을 방지할 수 있다. 또한, 오배송된 물품의 바코드로는 택배함을 열 수 없으므로 택배 기사의 실수로 발생하는 오배송 사고를 예방할 수 있다.
또한, 도난 시도 감지 메커니즘을 통해 도난 시도가 감지되면 어플리케이션을 통해 사용자에게 알림을 전송하여 사용자가 도난에 대해 신속한 대처를 할 수 있도록 도와준다. 이후 일정 시간 간격으로 택배함 내부를 촬영하여 데이터베이스에 저장하고 사용자 어플리케이션을 통해 촬영된 이미지를 확인할 수 있도록 한다.
사용자와 택배 기사 모두의 편리한 사용
사용자는 어플리케이션을 통해 생성되는 QR코드를 사용해 택배함을 간편하게 열 수 있다. 또한 사용자가 어플리케이션을 통해 주문한 물품의 송장 번호를 등록하면 해당 바코드 정보가 데이터베이스에 저장되어 택배 기사가 해당 물품을 배송할 때 사용자와의 추가적인 연락 없이도 택배함을 열 수 있고, 사용자는 택배함에 해당 물품이 도착했을 때 어플리케이션을 통해 도착 알림을 받을 수 있다. 이러한 택배함의 독립적 사용은 사용자와 택배 기사 간 불필요한 상호작용을 줄이며 택배 기사와 사용자의 추가적인 부담을 줄일 수 있다.

프로젝트 개발 목표

목적 계통도

파일:6x3=18목적계통도

1. 편의성
개인용 무인 택배함은 사용자의 집 문 바로 앞에 비치를 할 수 있기 때문에 주거 건물의 공공 무인 택배함이 없어 무인 택배함을 사용하기 위해서는 먼 거리를 이동해야 하는 1인 가구들에게 지리적으로 높은 수준의 접근성을 제공할 수 있고, 사용자 어플리케이션을 통해 택배 송장 번호를 등록하거나 알림을 확인하는 등 어느 곳에서든 원격으로 택배함에 접근할 수 있다.
또한 바코드 스캔 인증 방식을 채택하여 수령자와 배송자 모두 직관적으로 택배함을 사용할 수 있게 한다.
2. 실용성
바코드 인증 방식과 사용자 어플리케이션을 활용한 개인용 무인 택배함은 수령자가 도착 예정인 물품의 송장 번호를 어플리케이션을 사용해 등록함으로써, 수령자와 배송자의 독립적인 사용이 가능하게 하여 무인 택배함의 비밀번호 및 기타 정보들을 전달하는 등의 불필요한 상호작용을 제거할 수 있다.
의류나 개인 용품 등 비교적 크지 않은 물품의 배송이 잦은 1인 가구의 특성을 고려하여 택배함의 크기를 선택하고, 2단으로 접고 펼 수 있도록 제작함으로써 집 앞 공간을 낭비하지 않고 효율적으로 사용할 수 있다.
3. 보안성
기구적 장치와 잠금 장치를 사용하여 제품 자체의 도난 및 물품의 도난을 방지하고 정확한 바코드 스캔과 데이터베이스를 통한 인증 과정을 거쳐 인증이 성공한 경우에만 택배함을 개방함으로써 제품의 보안성을 강화한다. 쉽게 생성이 가능한 바코드의 특성을 고려하여 사용자의 개인용 QR코드는 사용자가 어플리케이션을 통해 생성한 이후 일정 시간이 지난 후에는 무효화되어 임의의 바코드를 사용한 비정상적인 접근 시도를 차단하고 택배함을 개인화하여 사용할 수 있게 한다.
4. 경제성
시중에 판매되고 있는 열쇠형 및 비밀번호형 개인용 무인 택배함들은 크기와 기능에 따라 기본 10 ~ 20 만원의 가격대를 형성하고 있다. 제작 비용은 이를 초과하지만 바코드 인식 기능 및 사용자 어플리케이션 활용 등 추가적인 기능을 고려하고 프로토타입 제작 비용임을 감안했을 때, 실제 제품의 가격은 다른 경쟁 제품과 근소한 차이라고 할 수 있을 것이다. 거의 동일한 가격에 추가적인 기능을 추가함으로써 제품의 경제성을 추구하고자 한다.

동작 시나리오

정상 시나리오

파일:6x3=18정상시나리오.jpg

사용자가 송장 번호를 어플리케이션에 등록하고 등록된 택배가 오는 상황을 가정한다. 택배기사는 송장 번호 바코드를 바코드 인식 모듈에 스캔하면 라즈베리파이에서 송장 번호를 바탕으로 데이터베이스에 해당 번호가 있는 지 확인한다. 해당 송장 번호가 데이터베이스에 있고 Valid 필드가 True인 경우 잠금장치를 해제한다. 이후 데이터베이스에 택배 도착 정보를 저장하고 어플리케이션으로 FCM을 전송하여 사용자는 택배가 도착했다는 알림을 받을 수 있다.

오동작 시나리오

파일:6x3=18오동작시나리오.jpg

바코드 인식 모듈에 바코드를 인식했지만, 잠금장치가 해제되지 않는 경우는 3가지로 정리할 수 있다. 1) 올바른 송장 번호가 데이터베이스에 저장되어있지만, 바코드 인식 모듈에서 바코드를 잘못 판독한 경우, 2) 잘못된 송장 번호가 데이터베이스에 저장된 경우, 3) 사용자와 택배기사 외에 다른 사람이 바코드 인식을 시도하는 경우이다. 3가지 경우 모두 사용자에게 해당 정보를 알려 조치할 필요가 있으므로 라즈베리 파이에서 바코드 스캔 정보와 데이터베이스 내용이 일치하지 않은 횟수를 카운트하고 10초 이내에 바코드 인식 실패 횟수가 3회인 경우 데이터베이스로 해당 정보를 저장한다. 이후 데이터베이스에서 사용자 어플리케이션으로 FCM을 전송하여 사용자가 어플리케이션을 통해 알림을 확인할 수 있게 한다.

도난 시도 감지 시나리오

파일:6x3=18도난시도감지시나리오.jpg

진동 센서 모듈에 진동이 감지되면 진동 센서 모듈은 아날로그 출력 신호를 내보낸다. 라즈베리파이는 아날로그-디지털 컨버터를 통해 진동 센서 모듈의 측정값을 입력받고 라즈베리파이에서 도난 시도 감지를 위해 별도로 설정한 진동 세기의 임계 값과 비교한다. 설정한 임계 세기 값 이상의 측정값이 지속되면 도난 시도로 감지하여 데이터베이스로 도난 시도 감지 정보 및 카메라가 촬영한 내부 이미지를 전송한다. 또한, 라즈베리파이는 사용자 어플리케이션에 도난 시도 감지 알림을 보내 사용자가 이를 알 수 있도록 한다.

구현 내용

시스템 구성

전체 구성도

파일:6x3=18전체구성도.jpg

기구부 설계 및 구현

제어부 및 회로 구현

소프트웨어 설계 및 구현

프로젝트 결과

최종 결과물

결과물 사진 혹은 시연 영상 등

미구현 내용

프로젝트 평가

평가항목

6x3=18 평가항목.png

평가결과

6x3=18 평가결과.png

1. 바코드 스캔 - 잠금 해제 응답 시간

바코드 스캐너에 바코드가 스캔된 이후 솔레노이드 잠금장치를 해제하는 함수를 호출하기 전까지 걸린 시간을 20회 반복 측정했다. 1000ms 보다 빠르도록 개발 목표치를 설정하였고 평가 결과 16.35ms로 개발 목표치 보다 낮음을 확인할 수 있었다. 바코드 스캔에 걸리는 시간과 잠금장치 회로에서 잠금해제 신호를 받고 솔레노이드 잠금장치가 열리는 시간을 정확하게 측정하는 것에는 어려움이 있었지만 모두 포함하여 측정하더라도 1000ms 보다 낮은 것을 확인할 수 있었다. 

2. 잠금 장치 정상 작동률

사용자 QR 코드 또는 valid가  true인 송장 번호 바코드일 때 정상적으로 잠금 해제 되는 지, valid가 false인 송장 번호 바코드일 때 잠금 해제가 되지 않는 지를 1회로 설정하여 총 20번 반복 측정했다. 평과 결과 20회 모두 정상적으로 동작하였기에 개발 목표치에 이르렀다고 할 수 있다.

3. 도난 시도 감지 메커니즘 정확도

사용자와 택배기사가 택배함을 사용하는 상황과 도난 시도를 가정한 상황을 설정했다. 사용자와 택배기사가 택배함을 사용하는 상황에 도난 감지가 작동하지 않고 도난 시도를 가정한 상황에서 도난 감지가 작동 하는 경우를 정상 작동으로 판단하였다. 총 20회 실험 중 11회 성공하여 목표로 한 80%에는 달성할 수 없었다. 대부분 도난 상황이 아닌 상황에서 도난 감지가 작동하여 실패했다. 목표달성에 실패한 원인으로 초기 10회 실험에서의 정확도는 70%였지만 실험의 후반부로 갈수록 진동 감지 센서가 작은 진동에서 작동하여 정확도가 낮아졌다.  

4. 바코드 인식 정확도

바코드에 실제로 저장된 데이터와 라즈베리파이에서 인식한 값이 일치하는 지를 100회 반복 측정하였고 택배 송장 바코드에 주로 사용하는 EAN 13타입과 QR코드를 평가에 사용하였다. 정확도는 100%로 바코드에 저장된 정보와 다르게 스캔되는 경우는 없을 것으로  예상할 수 있다.

5. 어플리케이션 편의성

25명 대상으로 설문 조사를 진행하였다. 문항에 대한 평가 점수는 1점(전혀 아니다.)부터 5점(매우 그렇다.)까지로 설정했다.

6x3=18 어플리케이션 설문조사.png

느낀점

이*하

평소 불편함을 느꼈던 주제로 프로젝트를 진행했기 때문에 더욱 재미있게 프로젝트를 진행했던 것 같습니다. 이번 프로젝트를 통해 제품 설계 과정에 대한 전반적인 이해 뿐 아니라 경험도 함께 얻을 수 있었고, 실제로 프로토타입을 제작하여 결과물을 만들어내는 프로젝트가 처음이었기 때문에 더욱 기억에 많이 남을 것 같습니다. 물론 처음이다 보니 일정을 계획하고 계획한 일정을 그대로 소화하는 것에 어려움을 겪기도 하고 각자에게 업무를 배분하는 것에 미숙하기도 했던 것 같습니다. 또한 팀장으로서 스스로의 부족한 모습도 많이 보게 되었고 이를 계기로 팀워크와 팀장의 역할에 대해 더욱 많은 것을 느끼고 배울 수 있었던 것 같습니다. 언젠가 이러한 프로젝트를 다시 하게 된다면 이번 프로젝트 경험을 토대로 더욱 자신 있게 진행할 수 있을 것 같습니다.

남*준

프로젝트를 시작하면서 가장 중요하게 생각한 부분은 팀워크였다. 이러한 유형의 팀단위 프로젝트는 경험해본 적이 없었기 때문에 팀워크가 결과물에 가장 큰 영향을 미칠 것이라고 생각하였다. 서로의 역량과 흥미 등을 파악하여 역할을 나누고, 지속적으로 정보를 교환하면서 프로젝트를 진행하였고, 그 결과 혼자 했을 때는 불가능한 만족스러운 결과물을 얻을 수 있었다. 이러한 팀프로젝트의 과정들이 나에게는 하나의 팀스포츠처럼 다가왔다. 팀스포츠에서는 모든 선수들이 우승이라는 목표를 향해 각자의 부분에서 최선을 다한다. 서로가 가진 재능과 조건들은 다르지만 서로의 부족한 점은 채워주고, 뛰어난 것은 배우면서 같이 성장한다. 나 또한 이 프로젝트를 통해서 팀원들 덕분에 많은 것을 배우고 성장할 수 있었고, 팀워크의 의미를 되새길 수 있었다. 

박*호

설계 및 시뮬레이션은 많이 해봤지만 설계부터 제작은 처음이라 흥미로우면서도 어려움도 많았습니다. 부품이 제대로 동작하지 않은 경우도 많았고 사용 방법이 자세하지 않은 경우도 많았지만 팀원과 함께 해결하는 것이 도움이 되었고 팀워크가 중요하다는 것을 많이 배웠습니다. 또한, 역학적 해석이 항상 필요하다는 것도 알 수 있었습니다. 이번 프로젝트에서 어려움이 많았지만 다음 학기에는 더 높은 수준의 프로젝트를 완성도있게 진행해보고 싶어졌습니다. 이 과목을 통해 다양하게 많은 것을 배울 수 있었고 다른 학생들에게  종합설계 이전에 내장형을 수강하는 것을 추천해 주고 싶습니다. 

최*리

라즈베리파이를 이용한 프로젝트를 진행해본 경험이 없어 주제를 정할 때 주제의 난이도를 예상하기 어려웠습니다. 파이어베이스나 데이터베이스 관련 지식이 전혀 없어서 초반에는 어려웠지만 좋은 경험이 되었으며 더 활용해 보고 싶다는 생각이 들었습니다. 또한 파이어베이스가 아닌 MySQL도 사용해보고 싶다는 생각이 들었습니다. 안드로이드 스튜디오에서 주로 파이어베이스를 접근하다보니 안드로이드 어플도 조금 살펴볼 수 있었는데 시간이 부족해 어플의 기능을 더 좋게 만들지 못한 것 같아 아쉽습니다. 기구부의 경우 직접 제작하는 과정이 새로웠습니다. 예상과 다르게 동작을 하거나 예상치 못한 상황이 생기는 경우가 생겼으며 이를 해결하는 데에 어려움을 겪었습니다. 기구부를 더 빨리 만들고 미리 테스트를 충분히 해두지 못한 점이 아쉽습니다. 프로젝트를 진행하면서 팀워크가 중요하다는 것을 다시 한번 느꼈습니다.

부록