인피니언 7월21일부터
Show me the 띵s : 헬스케어 (Healthcare)
콘테스트 프로젝트완료

운동자세트레이너(운동자세를 도와주는 장치)

Show me the 띵s : 헬스케어 (Healthcare)
s
2022.04.27에 시작
3
좋아요
1.6K
조회
0
댓글
운동자세트레이너(운동자세를 도와주는 장치)
Show me the 띵s : 헬스케어 (Healthcare)완료
콘테스트 프로젝트 진행 상황

각 Quest를 단계적으로 완성하는 프로젝트입니다.

Quest 1
Quest 2
Quest 3
Quest 4
4 / 4 완료
Quest 1: [Quest1 계획서 제출] SAEBA
2022.05.09
완료

소개

코로나로 인해 비대면 생활에 대한 비중이 늘면서 불편해진 활동들이 많아졌다.
그 중 대표적인 하나가 개개인의 운동에 대한 제약일텐데 기존 헬스장에서 트레이너를 통해 운동하고
배우던 것들을 아직까지 비대면이라 하기 힘들거나 꺼려지는 경우가 많을 것이다.
이런 경우에 대하여 도움을 줄 수 있는 나만의 미니 셀프 트레이너를 만들려고 한다.
3축 가속도 센서를 이용하여 미리 저장된 운동 동작에 대한 정보를 매칭하여 각 운동 동작에 대한
도움을 주는 장치이다. 

 

시스템 구조

HW 구조

SW구조

위 구조로 만들어볼 계획입니다.

 

Quest 2: HW 부품 준비 내용 정리
2022.06.11
완료

@하드웨어 주요 부품 목록

- STM32G07x Disco 보드

- STM32G07x Disco용 LCD 보드

- ST SensorTile.Box + Jtag케이블 및 sub보드

- J-Link Debugger

- 전선,드라이버.

 

@부품 사양/특징

- STM32G07x Disco 보드 : STM32G07x(64Mhz) mcu를 사용한 저가 보드

-LCD 보조 보드:  LCD : 320x240 LCD , spi nor-flash 내장.

- SensorTile.Box 모듈 보드

  @ STM32L4R9(120MHz) + 온도/습도/자기/대기압/오디오 센서 + 6축IMU센서 내장.

    6축IMU센서로는 ST LSM6DSOX 사용(1.71V~3.6V) <- 이번에 사용할 센서임

      -> ±2/±4/±8/±16g 로 accelerometer full scale설정 가능.

      -> ±125/±250/±500/±2000 dsp 로 gyro full scale 설정 가능

      -> 통신선 연결 : spi 또는 i2c & Mipi I3C

 

@ 보드간 연결 구조

- STM32G07x Disco Board와 센서타일Box는Uart로 연결.

  STM32G07x는 Display를 담당하고 센서타일박스 보드는 센서 처리부를 담당.

 

@HW 마무리 일정

계획 : 6.14~6/19 : 보드간 선 연결

 

@ SW 일정(6/19~)

 센서(sensorTileBox mcu 제어)

   데이터 취득

   데이터 분석 및 LPF 검토  -> ACC센서값 안정화 처리

 UART통신(sensorTileBox mcu  & UI보드 mcu)

    통신 규약 정의

    통신 코드 작성 1( 센서 보드 mcu 코드)

    통신 코드 작성 2 ( UI 보드 mcu 코드)

UI 처리

    TouchGfx MVP 구조대로 코드 데이터 처리 코드 작성.

    UI 구상 및 적용

  

Quest 3: 운동 자세 트레이너
2022.06.26
완료

Saeba96

health-trainer using pose detection


개발 툴 목록
 - 보드1: 센서보드(제공받음)
 - 보드2: LCD보드 + stm32g071보드(LCD제어용 보드)
 - Jlink 장비(디버깅툴)
 - compiler : IAR 9.20.4(센서보드용), CubeIDE(LCD제어용)

 

보드간 선 연결
 - 센서보드에서 BLE에 연결된 UART를 끊고 LCD보드로 연결.

 

소프트웨어에 대한 설명
1.1센서 보드 펌웨어
  코드 실행 순서
  1.1.1 MCU 초기화(clock초기화 -> gpio초기화 -> mcu peripheral 초기화)
  1.1.2 센서보드 초기화(각 센서칩 초기화 및 가속도센서 초기화(+/-2G)
  1.1.3 do{//반복 루프
           센서값 읽기
           센서값 필터링 ( moving average filter 적용)
           운동 자세 판단
           센서값 및 모션결과 UART로 보내기
         }while(1)

플로우그림

 

1.2sensor보드 설치
   - x축은 아래로 향하고 z축은 정면을 향하도록 다리종아리에 설치하는 조건으로 프로그램 했음.

 

1.3테스트 운동 자세 종류

  - fw1에서 감지하도록 한 동작들은 다음 4가지 자세임.


  pose0(stand 상태)

  
  pose1(다리를 뒤 -45도 들때)

  
  pose2(엎드린상태, 엉덩이는 올린 상태)

  
  pose3(다리 앞으로 45도 들어올린 상태)

  

 

2.GUI 보드 펌웨어
  - 전달 받은 자세 결과를 Display에 표현하려 하였으나 아직 개발하지 못했음.

3.첨부파일: 센서보드펌웨어 첨부(pose_trainer_fw.zip)
 

 

Quest 4: 최종결과물 정리 - SAEBA
2022.07.03
완료

운동 자세 트레이너  - SAEBA

 

1.소개

코로나로 인해 비대면 생활에 대한 비중이 늘면서 불편해진 활동들이 많아졌다.
그 중 대표적인 하나가 개개인의 운동에 대한 제약일텐데 기존 헬스장에서 트레이너를 통해 운동하고
배우던 것들을 아직까지 비대면이라 하기 힘들거나 꺼려지는 경우가 많을 것이다.
이런 경우에 대하여 도움을 줄 수 있는 나만의 미니 셀프 트레이너를 만들려고 한다.
3축 가속도 센서를 이용하여 미리 저장된 운동 동작에 대한 정보를 매칭하여 각 운동 동작에 대한
도움을 주는 장치이다. 

 

2초기 계획한 시스템 구조

  • 초기 계획한 HW 구조

  • 초기 계획한 SW구조

 

3.하드웨어 주요 부품 목록

- STM32G07x Disco 보드

- STM32G07x Disco용 LCD 보드

- ST SensorTile.Box + Jtag케이블 및 sub보드

- J-Link Debugger

- 전선,드라이버.

 

 

3.1부품 사양/특징

- STM32G07x Disco 보드 : STM32G07x(64Mhz) mcu를 사용한 저가 보드

-LCD 보조 보드:  LCD : 320x240 LCD , spi nor-flash 내장.

- SensorTile.Box 모듈 보드

  @ STM32L4R9(120MHz) + 온도/습도/자기/대기압/오디오 센서 + 6축IMU센서 내장.

    6축IMU센서로는 ST LSM6DSOX 사용(1.71V~3.6V) <- 이번에 사용할 센서임

      -> ±2/±4/±8/±16g 로 accelerometer full scale설정 가능.

      -> ±125/±250/±500/±2000 dsp 로 gyro full scale 설정 가능

      -> 통신선 연결 : spi 또는 i2c & Mipi I3C

 

4. SW 작업 리스트

 센서(sensorTileBox mcu 제어)

   데이터 취득

   데이터 분석 및 LPF 검토  -> ACC센서값 안정화 처리

 UART통신(sensorTileBox mcu  & UI보드 mcu)

    통신 규약 정의

    통신 코드 작성 1( 센서 보드 mcu 코드)

    통신 코드 작성 2 ( UI 보드 mcu 코드)

UI 처리

    TouchGfx MVP 구조대로 코드 데이터 처리 코드 작성.

    UI 구상 및 적용

 

5.개발 툴 목록
 - 보드1: 센서보드(제공받음)
 - 보드2: LCD보드 + stm32g071보드(LCD제어용 보드)
 - Jlink 장비(디버깅툴)
 - compiler : IAR 9.20.4(센서보드용), CubeIDE(LCD제어용)

 

-보드간 선 연결
 - 센서보드에서 BLE에 연결된 UART를 끊고 LCD보드로 연결.

 

6.소프트웨어에 대한 설명

-> 실제 SW 구현은 개인사정으로 센서쪽만 구현이 된 상태입니다. LCD보드쪽 UI처리를 구현하지 못하였습니다. 그래서 PC에 연결하여 대략적인 동작을 보여드리겠습니다.


6.1센서 보드 펌웨어
  코드 실행 순서
  6.1.1 MCU 초기화(clock초기화 -> gpio초기화 -> mcu peripheral 초기화)
  6.1.2 센서보드 초기화(각 센서칩 초기화 및 가속도센서 초기화(+/-2G)
  6.1.3 do{//반복 루프
           센서값 읽기
           센서값 필터링 ( moving average filter 적용)
           운동 자세 판단
           센서값 및 모션결과 UART로 보내기
         }while(1)

플로우차트 그림

 

6.2sensor보드 설치
   - x축은 아래로 향하고 z축은 정면을 향하도록 다리종아리에 설치하는 조건으로 프로그램 했음.

 

6.3테스트 운동 자세 종류

  - fw1에서 감지하도록 한 동작들은 다음 4가지 자세임.


  pose0(stand 상태)

  
  pose1(다리를 뒤 -45도 들때)

  
  pose2(엎드린상태, 엉덩이는 올린 상태)

  
  pose3(다리 앞으로 45도 들어올린 상태)

  

 

6.4 GUI 보드 펌웨어
  - 전달 받은 자세 결과를 Display에 표현하려 하였으나 일정내에 개발진행 못했음.(개인적인 일정이 너무 많아서 못했음)

7. 최종 결과물 동영상

프로젝트 자료실

프로젝트를 재현하거나 학습하는데 필요한 모든 자료를 제공합니다.

등록된 자료가 없습니다.

프로젝트 소개

아직 등록된 프로젝트 소개가 없습니다.

코드 & 회로도

등록된 코드/회로 자료가 없습니다.

댓글 0

아직 댓글이 없습니다. 첫 댓글을 남겨보세요!