캡스톤디자인 (졸업작품)

# 캡스톤 막바지 (비전인식/라즈베리파이/젯슨나노/센서/안드로이드)

HANBEEN 2021. 5. 10. 17:19
반응형

캡스톤 디자인이 마무리 되어가고 있다.

포스터도 만들어서 제출하였고, 구술발표를 희망해서 구술발표도 할 수 있게 되었다!!

현재까지의 진행사항으로 보자면,

 

☀️ 비전 인식 (Jetson Nano / Pi camera / Darknet Yolov4 )

기존 다크넷으로의 캔/플라스틱 인식은 이미 완료를 했었지만 프레임이 낮아 성능개선에 고민이 많았다.

그러면서 찾아본 deepstream cfg 모델을 만들어 시험을 하면 프레임이 좋게 나온다는 글을 찾아서 몇 주간 해당 모델을 학습하고, 실행시키려고 시간을 쏟았지만 결국 프레임을 잘 나오나 인식에 문제가 있고, 이를 해결하려 다시 새로운 모델 학습을 하기에는 시간이 부족하다고 판단해서 결국 다크넷 모델을 유지하기로 했다.

막상 다시 다크넷으로 실험을 해보니 생각보다 괜찮을것 같다는 생각도 들었다..

 

파이카메라로 인식

☀️ 구동부 (젯슨나노 / 모터드라이버 / DC모터 / 컨베이어벨트 / 라즈베리파이 / 초음파 거리센서)

먼저, 쓰레기의 종류를 인식한 후 종류별로 각각의 쓰레기통에 쓰레기를 옮겨야 했다. 따라서 우린 인터넷에서 찾아본 컨베이어 벨트를 우리의 입맛대로 좌,우로 움직일 수 있게 약간의 튜닝?수정?을 했다. 기존의 모터선과 건전지선을 우리의 건전지와 모터선을 이어 붙였다.( 좌,우로 원하는대로 움직일 수 있도록 모터드라이버를 사용하기 위해서)

 

창의야 놀자의 컨베이어벨트 교구

처음에는 무슨 이유인진 모르겠지만, 모터드라이버를 통해서 움직이려고 하면 살짝만 꿈틀하고 컨베이어 벨트를 움직이지를 못했다.. 그래서 서보드라이버 PCA9685를 구입하여 출력을 조정해주기로 했는데,, 잘 풀리지 않았다.

나중에 PCA9685를 포기하고 건전지를 새로 갈아끼우니 해결되었다.. 그냥 건전지를 많이 사용해서 출력이 약해졌었나 보다.. 처음에는 여러곳에 질문글도 올렸었는데 마지막에 한 분이 모터드라이버와 PCA9685를 사용하면 출력이 줄면 줄었지 늘어나진 않을거라는 말을 해주셨었는데 해결하고 보니 맞는말씀 같았다 

 

☀️ 안드로이드 앱 (android studio / kotlin / firebase)

우리는 안드로이드 앱을 하나 만들고 있는데 바로 쓰레기통을 관리하는 관리자용 어플리케이션이다. 관리자는 앱을 통해 쓰레기통의 위치를 확인할 수 있고, 쓰레기의 양을 앱을 통해 확인함으로써 가득 찼을때 해당 쓰레기통을 비우고 수거할 수 있도록 도와주는 앱이다. 많은 기능이 있는것은 아니지만, 불필요한 이동을 막을 수 있다고 생각한다.

로그인 화면 / 쓰레기통 위치 / 쓰레기통 포화량 확인

쓰레기통의 위치를 표시하는건 카카오 맵 api를 이용하였고, 쓰레기통의 포화량은 파이어베이스 realtime database를 이용해 표시가 된다. 이미지는 가득찼을경우 저렇게 지저분한 이미지로 변하고, 비어있는 경우에는 오른쪽 페트와 같이 깔끔한 이미지가 표시된다. 이러한 양은 라즈베리파이초음파 거리센서를 이용하여, 거리를 측정해 임의의 거리가 쓰레기로 인해 좁아질경우 파이어베이스 값을 수정하며 안드로이드의 값도 같이 수정되는 동작이다.

현재는 파이어베이스와 안드로이드의 실시간 연동은 끝마쳤고, 라즈베리파이에서 센서의 값을 파이어베이스와 연동을 해야하는 상황이다.

 

☀️ 앞으로..

앞으로 해야할 일은 라즈베리파이에서 센서로 측정한 값을 파이어베이스와 실시간으로 연동을 해야한다.

파이카메라의 카메라선이 짧아, 연장선을 구매하였는데 이 선이 오면 좀 더 나은 인식 각도를 찾을 수 있을것 같다.

좀 더 정확한 인식 각도로 현재 학습모델을 다시 학습하는 중이고, 이것들이 모두 끝나면 이제 모두 구동부에 붙이고, 연결하는 작업이 남아있다. 마지막까지 화이팅 !!

 

쓰레기 투입
쓰레기 분류/이동
쓰레기 수거

반응형

'캡스톤디자인 (졸업작품)' 카테고리의 다른 글

# 캡스톤 후기 🥈  (0) 2021.06.02
# 아크릴 주문제작 및 대참사..  (2) 2021.04.13