안내 기능뿐 아니라 검진 대기 중 다양한 컨텐츠를 제공하여 건강 검진을 보다 지루하지 않게 받을 수 있게 구성하였습니다.
- 1:1 안내를 위해 OpenCV을 이용한 수검자 Tracking 기능
- STT(Speech-to-Text), TTS(Text-to-Speech)를 이용한 자동 문진 작성 기능 및 KWS(Keyword Spotting) 기능
- Pose Estimation을 이용한 스트레칭 게임, 카드 뒤집기 게임
- Gazebo 시뮬레이션을 활용하여 디지털 트윈 환경 구축 및 유지보수
기 간 | 내 용 |
---|---|
2022. 10. 11. ~ 2022. 10. 14. | 아이디어 선정 |
2022. 10. 17. ~ 2022. 10. 21. | 요구사항 분석 및 기능명세서 작성 / 프로토타입 / ERD / REST API 설계 |
2022. 10. 24. ~ 2022. 10. 28. | TurtleBot 설계 / 개발환경 설정 / 개발 시작 |
2022. 10. 31. ~ 2022. 11. 4. | Gazebo 시뮬레이션 추가 / 서비스 개발 및 1차 배포 |
2022. 11. 7. ~ 2022. 11. 11. | 서비스 개발 및 유지보수 |
2022.11. 14. ~ 2022.11. 18. | QA 및 프로젝트 마무리 |
싸브란스 병원 팀
🛠 개발환경 (link)
Backend | Frontend | IoT | CI/CD | 협업툴 |
---|---|---|---|---|
Java Open-JDK zulu 17 | Vue 2 | ROS | AWS EC2 | Mattermost |
SpringBoot Gradle 2.7.2 | Vuex | Gazebo | Ubuntu 20.04 LTS | Webex |
Spring Data JPA | axios | Roslib | Docker 20.10.18 | Notion |
Lombok | BootStrap | rosbridge | Jenkins | |
Swagger 2.9.2 | node.js | TurtleBot | Nginx | |
MySQL 8.0.29 | SockJS | JetsonNano | ||
Fast API | ||||
Azure | ||||
OpenCV |
의료진 접수처 화면 | 의료진 검진실 화면 |
---|---|
- 의료진 각자의 계정으로 로그인.
- 접수처 화면과 검진실 화면을 따로 구성하여 각자의 기능을 수행함.
- 접수처 화면은 환자 등록과 검진 시작을 통해 수검자 고유의 QR을 문자로 발급.
- 수검자 고유의 QR을 이용하여 검진을 시작 및 종료을 수행.
- 시작, 종료 수행을 통해 수검자 검진 상태를 SockJS와 Roslib, RosBridge을 이용하여 통신.
절차 안내 화면 | QR 연결 및 자동 문진 | Tracking 연결 및 안내 시작 |
---|---|---|
- 각각의 검진 절차에 대한 자세한 설명을 제공함.
건강검진 시작하기
버튼을 통해 QR을 이용하여 수검자와 로봇 1:1 연결 수행.- 연결을 완료하고 STT, TTS을 이용하여 자동 문진 작성 기능을 수행.
안내시작
버튼을 통해 OpenCV을 이용하여 로봇과 수검자 사이의 1:1 Tracking 연결.- 연결을 완료한 후 이동 중 화면으로 이동.
- 이동 중 STT을 이용한 KWS(Keyword Spotting) 기능을 이용하여
깐부
를 불렀을시 안내를 잠시 멈출 수 있음.
Pose Estimation를 이용한 스트레칭 | Card Game |
---|---|
Google Teachable Machine
의Pose Estimation
을 이용하여 오랜 대기 시간에 지친 몸을 풀 수 있도록 구성.- 학습시킨 모델의 동작과 웹캠의 수검자 동작의 정확도를 수치로 표현.
- 긴 대기시간에 다양한 컨텐츠를 제공하기 위해 구성.
실제 깐부의 주행 모습 | Gazebo를 활용한 디지털 트윈 환경 구축 |
---|---|
- TurtleBot3를 개조하여 깐부를 구성.
- 위의 화면 조작을 통한 깐부 제어
- 실제 병원에서 로봇을 구동할 수 있는 여건이 마땅하지 않아 시뮬레이션 상에서 먼저 구동하고 테스트하며 유지보수
- 실제 병원(건강검진센터)와 유사하게 맵을 구성하여 시뮬레이션 상에서 로봇 구동
- git clone https://lab.ssafy.com/s07-final/S07P31B309.git
- cd ec2-back
- 경로 : ec2-back/gganbu/src/main/resources/env.properties 파일 추가
USER_NAME = {db.username}
PASSWORD = {db.pw}
COOLSMS_API_KEY = {coolsms api key}
COOLSMS_SECRET = {coolsms secret key}
COOLSMS_PHONE = {coolsms에서 인증받은 번호}
BACKEND_ADDRESS = k7b309.p.ssafy.io:8081
-
Build Project
-
Run 'GganbuApplication'
- cd ec2-front
- 경로: ec2-front/.env.local파일 추가
VUE_APP_API_SERVER="https://k7b309.p.ssafy.io/api”
VUE_APP_WEATHER_API_KEY={인증받은 weather api key}
-
Project build :
npm install
-
Project run :
npm run serve
- cd gganbu-back
- pip
pip install -r requirements.txt
- Project run :
uvicorn main:app --reload
- cd gganbu-front
- 경로: gganbu-front/.env파일 추가
VUE_APP_WEATHER_API_KEY={인증받은 weather api key}
-
Project build :
npm install
-
Project run :
npm run serve