Skip to content

Safety-Car-209/SafetyCar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

452 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


삼성 청년 SW 아카데미 11기 특화 Safety Car B209

CCTV를 통해 심정지 환자를 인지하고 AED 키트를 배달해주는 로봇 Safety Car🚑




💫 프로젝트 개요

심정지 환자를 살리는 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를 활용한 실시간 데이터 송수신

🎞서비스 소개

아무거나-min (1)


🏗️ 설계

image (3)

📚 STACKS






👥 팀원 소개

👑박예본 박하운 임 권 서근범 홍수인 황용주
BE & 좌표 추출 BE & 영상 BE & INFRA ROS & SIMULATOR FE & 영상 ROS & SIMULATOR

About

보행자 쓰러짐 감지 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6