심정지 환자를 살리는 AED는 1년에 30번도 사용하지 않는 문제점이 있었습니다.
하지만, 실제로 10명 중 7명은 자동심장충격기 설치여부와 위치를 모르기 때문이라는 조사 결과가 있었습니다.
이에 보행자들을 모니터링하며 AED 키트를 직접 배달해줄 수 있다면 심정지 환자들에게 도움이 되리라 생각하여 Safety Car를 기획하게 되었습니다.
| 개발기간 | 2024.08.19 ~ 2024.10.11 (8주) |
|---|
| 기능 | 설명 | 사용 기술 |
|---|---|---|
| 실시간 보행자 모니터링 | - 캠을 통해 실시간 보행자를 모니터링 |
- UDP를 통한 실시간 스트리밍 - Yolo pose 모델을 통한 객체 트래킹 |
| 로봇 2D Map | - 실시간 로봇 좌표 동기화 |
- 시뮬레이터에서 받아온 맵 정보와 로봇 좌표를 numpy 배열을 통해 2D map 생성 |
| 로봇 출동 | - 보행자의 쓰러짐이 감지되면, 해당 좌표가 시뮬레이터로 전송, AED 키트 배달이 시작 | - MORAI 시뮬레이터와 서버 간 통신을 통해 전달된 좌표로 출발 |
| 로봇 강제 출동 | - 사용자가 화면을 클릭하면 로봇이 강제 출동 |
- 사용자가 화면을 클릭하면 해당 좌표로 로봇이 강제 출동 Homography와 이미지 스티칭 기술을 결합한 3D->2D 좌표 변환 |
| 로봇 강제 복귀 | - 사용자가 복귀 명령을 입력하면, 초기 장소로 로봇 강제 복귀 |
- 시뮬레이터에 설정된 초기 좌표값으로 로봇이 복귀 |
| 맵 등록 | - 바닥 모서리 검출 |
- 두 개의 공간 사진, 바닥의 세로 길이와 가로 길이를 입력받아 모서리를 검출 |
| 맵 등록 | - 이미지 회전/반전 | - 두 개의 이미지를 하나의 맵처럼 보기 위해 회전하여 바닥을 맞춰줌. openCV의 Image Stretching 사용 |
| 맵 등록 | - 타일 매칭 | - 두 개의 이미지를 하나의 맵처럼 보기 위해 매칭점을 찾아서 선택함. openCV의 Image Stitching 사용 |
| 문자 알림 | - 보행자가 쓰러지면 문자로 쓰러짐 문자를 전송 | - CoolSMS를 통해 문자 알림 서비스 구현 |
| 터틀봇 자율주행 | - 터틀봇의 현재 위치와 목표 좌표까지 global path와 local path 생성 - path tracking 알고리즘을 통해 자율주행 - Lidar data를 통해 충돌 시 후진 기능 |
- A* 알고리즘을 통한 local path 생성 - follow the carrot 알고리즘을 활용한 path tracking 구현 |
| Localization과 Mapping | - Lidar data와 회전 변환을 활용하여 map 데이터 생성 - 비선형 데이터를 임의로 생성하여 로봇의 Odometry 발행 및 구독 |
- openCV를 활용한 grid map 구현 - particle filter로 비선형 data 구현 - SLAM |
| 좌표 데이터 송수신 | - 터틀봇의 현재 좌표 송신 - goal pose data 수신 |
- socket.io를 활용한 실시간 데이터 송수신 |
| 👑박예본 | 박하운 | 임 권 | 서근범 | 홍수인 | 황용주 |
| BE & 좌표 추출 | BE & 영상 | BE & INFRA | ROS & SIMULATOR | FE & 영상 | ROS & SIMULATOR |


