React App
목적
운동에 대한 사람들의 관심도가 높아짐에 따라 헬스장을 이용하는 사람들의 수도 늘어나는 추세이다. 그 만큼 PT의 대한 관심도가 높아지고 있지만 개인 성격, 활동 시간대, 금전적인 문제로 인해 서비스 이용에 어려움을 겪는 사람들이 있다. 문제를 해결하기 위해 회원의 운동을 보조를 위한 ”헬스장 보조 모바일 로봇” 제작하였습니다.
주 역할
- Deeplearning 구동 환경 구축
- Alphapose를 GPU로 연산하기 위해 CUDA를 설치하였습니다. 설치하면서 pyTorch와, CUDA, Graphic driver 버전을 맞추는 것의 중요성을 알게 되었습니다.
- ROS통신을 위한 Alphapose keypoint interface 개발
- Alphepose keypoint 데이터를 Queue를 통하여 보관한 후 다른 Thread와 공유하여 최대한 기존 소스코드를 수정하지 않는 방향으로 개발하였습니다.
- 운동자세 기록 GUI 개발
- 운동자세 데이터를 수집하기 위해 rosbag 으로는 불편함을 느껴 alphapose에서 출력되는 keypoint들을 시각화하고 기록하여 json 파일로 저장할 수 있는 GUI를 QT로 개발하였습니다.
- keypoint를 vector로 변환 후 운동 정자세 오자세 판별
- Jupyter Notebook을 통해 pandas로 json 파일을 불러들어와 matplot으로 keypoint 시각화를 진행하며 주로 초보자들이 실수하는 자세와 정자세를 비교해 운동에 중요한 joint를 구하고 Cosine Similiarity에 가중치를 주어 정자세와 비교하였습니다.
pose estimation 성능 비교
부품
- LattePanda Alpha * 1
- G2 Lidar Sensor * 1
- Arduino Mega 2560 & Arduino Motor Shield * 1
- 12v Encoder DC Motor * 2
- Intel realsense d435 * 1
- U2D2
- Dynamxel Power hub board
- Dynamxel XL 430
소프트웨어
- ROS Noetic
- Gmapping
- Gazebo
- AMCL & DWA
- Alphapose
- CUDA
- Firebase
- QT
- Jupyter Notebook (Pose Visualization)
기능
- 자율주행을 통한 목표 위치로의 이동
- Alphapose를 활용하여 운동 자세 판단
작업 사진
.png)




판넬