베리 해적단 - 자유분발(FootReeDom)

MIE capstone
EmSys2024A (토론 | 기여)님의 2024년 6월 21일 (금) 20:24 판 (기구부)
이동: 둘러보기, 검색

프로젝트 개요

프로젝트 요약

자유분발(FootReeDom)은 사용자가 발로 직접 높이와 각도를 조절하거나 앱에서 높이와 각도를 조절할 수 있어 의자에 앉은 상태에서 조작이 가능하다. 사용자가 원하는 자세는 저장하고 불러올 수 있어 간편한 조작 기능을 제공한다. 더하여, 프로필 기능을 통해 여러 사용자가 함께 사용할 수 있으며 개인의 취향에 맞는 자세를 저장할 수 있다.

프로젝트 배경 및 기대효과

  • 배경
현대 사회는 컴퓨터 작업이나 공부, 업무 등을 위해 많은 시간을 의자에서 보낸다. 이에 따라 의자에 앉는 자세는 일상에서 중요한 요소가 되었으며 고정된 자세나 불편한 자세로 의자에 앉는 것이 건강에 미치는 영향을 확인하는 연구가 진행되었다. 대표적으로 의자에 앉는 높이와 발의 각도가 다리 부종에 미치는 영향을 확인한 연구[1], 고정된 자세를 오랜 시간 유지하면 심부 정맥 혈전증을 야기하며 높은 의자에 앉는 경우 다리를 꼬고 앉을 가능성이 높아지는 사실을 확인한 연구[2], 다리를 꼬고 앉는 시간이 길어질수록 어깨경사, 골반 외측 경사와 같은 문제를 유발할 수 있음을 확인한 연구[3]가 있다. 따라서 주기적으로 자세를 바꿀 수 있으며 개개인에 적합한 자세를 유도할 수 있는 발 받침대를 제안한다.
  • 기대 효과
자유도가 높은 발 받침대를 활용하면 고정된 자세와 불편한 자세로 인해 발생하는 심부 정맥 혈전증과 다리 부종을 예방할 수 있다. 또한 발 받침대를 사용했을 때 의자의 등받이 사용과 바른 자세를 유도한다는 연구 결과[4]를 참고하면 다리를 꼬고 앉아 생기는 어깨 경사나 골반의 외측 경사 문제를 예방하는 효과를 기대할 수 있다. 시제품과의 차이점으로 발 받침대의 유연한 높이 조절이 가능하다는 점과 앱을 통해 높이 및 각도를 조절할 수 있다는 점, 사용자가 앱을 통해 원하는 자세를 간단하게 사용할 수 있다는 점이 있다. 이를 통해 신체의 건강뿐만 아니라 사용자의 편의성까지 개선할 수 있을 것으로 기대한다.

프로젝트 목표

목적 계통도
  • 편의성
(1) 직관성
자세 조절이 불가능하거나, 자세 조절이 가능하더라도 이를 위해 사용자가 불편한 자세를 취해야 하는 기존의 발 받침대와 달리 어플리케이션과 발을 통한 조작으로 손쉽게 발 받침대의 자세를 조절할 수 있다. 어플리케이션을 통한 조작으로 사용자는 수치를 입력하여 발 받침대의 높이와 각도를 조절할 수 있으며, 발을 통한 조작으로 사용자는 발 받침대에 약간의 힘을 가해 발 받침대의 높이와 각도를 조절할 수 있다. 이를 통해 사용자는 자신에게 가장 편안하고, 건강에 좋은 자세를 손쉽게 찾고 설정할 수 있다.
(2) 조작성
사용자가 마음에 들어하는 자세를 저장하는 기능을 제공하여 사용자가 이전에 만족했던 자세를 찾기 위해 쏟는 노력을 줄일 수 있으며, 저장한 자세를 발 받침대에 바로 적용할 수 있어 사용자에게 최적화된 조작이 가능하다.
  • 기능성
(1) 정확성
본 프로젝트에서 제작하는 발 받침대는 한 쪽마다 두 개의 리니어 액추에이터가 사용되며 각각의 리니어 액추에이터는 발 받침대의 높이, 각도를 제어한다. 안드로이드 앱으로 발 받침대의 높이와 각도를 조절하는 경우 발 받침대의 높이 제어를 보조하기 위해 초음파센서, 각도 제어를 보조하기 위해 로터리 가변저항이 사용된다. 각각의 센서에서 얻는 값을 피드백으로 하여 제어가 이루어지며 이를 통해 사용자가 설정한 높이, 각도와 실제 발 받침대의 높이, 각도 사이의 오차를 최소화한다.
(2) 반응성
발로 직접 발 받침대의 높이와 각도를 조절하는 경우 사용자의 의도를 파악하기 위해 발판에 위치한 압력센서가 사용된다. 전방 압력센서와 후방 압력센서 측정값의 절대적인 크기와 차이값을 통해 사용자의 의도를 도출한다. 이에 따라 발 받침대의 높이와 각도가 조절되며 적절한 임계값을 통해 사용자의 의도에 맞게 높이 또는 각도를 조절한다.
  • 안정성
(1) 구조안정성
모든 하드웨어 모듈이 쉽게 분리될 수 있도록 설계되어 있어, 부품 고장 발생 시 신속한 대처가 가능하게 해야 한다. 또한 디스펜서를 간단히 분리할 수 있어 정기적인 세척과 칵테일 재료 보충이 용이해야 한다.
(2) 유지보수성
사용자는 제조 가능한 칵테일 목록을 확인하고, 원할 경우 해당 칵테일의 상세 정보와 이미지를 볼 수 있다. 칵테일 추천은 대부분의 사용자에게 익숙한 채팅 시스템을 활용한다. 또한, 커스텀 시에는 +, - 버튼으로 재료를 간단하고 직관적으로 조절할 수 있어 스마트 바텐더의 각 기능을 쉽게 제어할 수 있다.
  • 경제성
(1) 재료비
모든 하드웨어 모듈이 쉽게 분리될 수 있도록 설계되어 있어, 부품 고장 발생 시 신속한 대처가 가능하게 해야 한다. 또한 디스펜서를 간단히 분리할 수 있어 정기적인 세척과 칵테일 재료 보충이 용이해야 한다.

동작 시나리오

동작 시나리오

시스템 개략도

시스템 개략도

시스템 개략도
본 시스템의 개략도는 다음과 같다. 안드로이드 앱과 파이어베이스는 WIFI를 이용해 '기록' 기능과 관련된 정보를 주고 받으며 안드로이드 앱과 라즈베리파이는 BLE(Bluetooth Low Energy) 이용해 '발로 조절', '앱으로 조절' 기능과 관련된 정보를 주고 받는다.
라즈베리파이는 센서부, 구동부로 구성하였다. 센서부로는 초음파 센서, 압력 센서, 로터리 가변저항이 있으며 압력 센서와 로터리 가변저항은 아날로그 값을 반환하므로 ADC Converter를 통해 디지털 값으로 변환하여 측정값을 읽는다. 초음파 센서의 경우, 디지털 값을 반환하기 때문에 라즈베리파이와 직접 연결하여 사용한다. 구동부인 리니어 액추에이터는 모터 드라이버를 통해 간편하게 제어할 수 있도록 구성하였다.

구현 내용

기구부

기구부 설계

전체 기구부
중앙에 라즈베리파이와 SMPS를 위치시킬 수 있는 공간이 있으며 양쪽으로 발 받침대가 있다. 발 받침대 하부에는 공간을 두어 배선이 용이한 형태로 설계하였다. 전체 프레임은 아크릴은 사용해 가공이 쉬우며 강성이 높은 형태로 만들었다. 리니어 액추에이터가 움직임에 따라 출력되는 움직임은 알루미늄 프로파일과 규격에 맞는 슬라이드 너트, 스테인레스 브래킷을 사용해 안정된 상태를 유지하며 부드러운 동작이 가능하도록 구성하였다. 또한 리니어 액추에이터, 프레임, 알루미늄 프로파일은 볼트로 연결되어 큰 하중도 버틸 수 있도록 설계하였다.

메커니즘 설계

  • 높이 조절 메커니즘
높이 조절 리니어 액추에이터
본 시스템은 기계식 리프트 메커니즘을 활용한다. 리니어 액추에이터에 연결된 'X'형태 프레임을 통해 높낮이를 조절한다. 'X'형태 프레임은 알루미늄 프로파일 내부를 움직일 수 있는 너트와 함께 장볼트로 연결되어 있다. 선형 운동을 하는 리니어 액추에이터의 길이가 줄어들면 발판의 높이가 낮아지며 리니어 액추에이터의 길이가 늘어나면 발판의 높이가 높아진다.
초음파 센서
발 받침대의 높이를 실시간으로 확인하기 위해 초음파 센서를 사용한다. 초음파 센서는 각 발에 한 개씩 사용하며 발 받침대 하부에 위치해있다. 발 받침대 상부 프레임에는 초음파 센서 반사판이 설치되어 있고 초음파 센서와 반사판 사이의 거리가 초음파 센서 측정 거리인 2cm ~ 500cm 내부에 있도록 설계하였다.
  • 각도 조절 메커니즘:
각도 조절 리니어 액추에이터
발판의 경우 상부 프레임의 중심과 발판 끝 부분에 액추에이터를 설치하여 액추에이터의 길이가 변하며 발판이 회전운동하는 메커니즘을 활용한다. 발판은 -20°에서 +20°까지 회전할 수 있도록 설계하였다.
로터리 가변저항
로터리 가변저항은 각 발에 한 개씩 사용하며 알루미늄 프로파일에 브라켓과 함께 고정되어 발판과 기어를 통해 연결되어 있다. 발판의 각도가 변함에 따라 발판 하부 지지대의 각도가 변화하고 평기어를 통해 해당 각도 변화가 로터리 가변저항에 입력되어 각도를 확인할 수 있다. 평기어와 로터리 가변저항 연결부의 기어비는 1:1이며 로터리 가변저항의 최대 측정 각도 범위가 300°임을 고려하면 각도 변화를 측정하기에 충분하다.

아크릴판 가공

  • x bar 프레임 설계
x bar 프레임
리니어 액추에이터의 길이가 변하며 발 받침대의 높이를 조절하는 프레임인 x bar은 아크릴판을 이용해 제작하였다. 기존 설계도는 3T 아크릴을 10mm * 300mm로 가공하여 2개를 겹쳐 사용하는 방식이었다. 직접 실험 해본 결과 사용자가 발을 올려놓는 발 받침대의 특성상 큰 하중을 버티기 힘들다 판단하여 20mm * 300mm 아크릴 3개를 겹치는 방식을 채택하였다.

회로

센서

구동

통신

데이터베이스

파이어베이스는 사용자가 발 받침대의 높이와 각도 데이터를 저장할 때 사용된다. collection은 사용자가 설정한 프로필마다 생성된다. collection의 이름은 사용자가 설정한 프로필의 이름이다. field는 총 5개로, documentName은 string 타입의 사용자가 지정한 자세 이름이다. 나머지 4개의 필드는 사용자가 저장한 발 받침대의 각도와 높이 단계 값이다.
사용자가 안드로이드 앱의 '발로 조절' 화면이나 ‘앱으로 조절' 화면에서 '이 자세로 저장하기' 버튼을 누르면 발 받침대의 높이와 각도 데이터 값이 collection의 field에 저장된다. 이때 저장하기 전 사용자가 자세의 이름을 지정할 수 있도록 한다. 자세의 이름은 document의 id 값이 된다.

안드로이드 앱

선행 시나리오

앱으로 조절 시나리오

앱으로 조절 시나리오.png
사용자가 '홈' 화면에서 '앱으로 조절' 버튼을 누르면 '앱으로 조절' 화면으로 넘어간다. '앱으로 조절' 화면에서 사용자가 '+', '-' 버튼을 눌러 왼발과 오른발의 높이와 각도를 조절할 수 있다. 높이는 0~5단계, 각도는 –5~5단계로 설정되어있다. 사용자가 ‘양발 동시에 조절하기' 버튼을 누르면 양발의 높이나 각도 단계를 동시에 조절할 수 있다. 사용자가 단계를 설정한 후 ‘이 자세로 발 받침대 조절하기’ 버튼을 누르면 라즈베리파이로 사용자가 설정한 발 받침대의 높이와 각도 단계 값이 전달된다. 라즈베리파이는 앱에서 송신한 발 받침대의 데이터에 맞게 발 받침대를 조절한다. 사용자가 '자세 저장하기' 버튼을 누르면 자세의 이름을 지정한 후 현재 발 받침대의 높이와 각도 값이 파이어베이스에 저장된다. 저장된 기록은 '기록' 화면에서 확인할 수 있다.

발로 조절 시나리오

발로 조절 시나리오.png
사용자가 '홈' 화면에서 '발로 조절' 버튼을 누르면 '발로 조절' 화면으로 넘어간다. '발로 조절' 화면에서 사용자가 '높이 고정' 버튼을 누르면 라즈베리파이로 '높이 고정' 시그널을 보낸다. 라즈베리파이는 시그널을 받아 발 받침대의 높이를 고정한다. 사용자가 '각도 고정' 버튼을 누르면 라즈베리파이로 '각도 고정' 시그널을 보낸다. 라즈베리파이는 시그널을 받아 발 받침대의 각도를 고정한다. '높이 고정' 버튼과 '발로 고정' 버튼을 누르면 파란색으로 버튼 색이 변하기 때문에 사용자는 고정 기능을 사용하고 있음을 직관적으로 알 수 있다. 또한 토글 기능을 추가하여 사용자가 '높이 고정' 버튼이나 '각도 고정' 버튼을 누른 후 다시 버튼을 누르면 고정 기능이 풀린다. 마지막으로 사용자가 '자세 저장하기' 버튼을 누르면 자세의 이름을 지정한 후 현재 발 받침대의 높이와 각도 단계 값이 파이어베이스에 저장된다. 저장된 기록은 기록 화면에서 확인할 수 있다.

자세 저장 후 불러오기 시나리오

기록 시나리오1.png
사용자가 '앱으로 조절' 화면이나 '발로 조절' 화면에서 '자세 저장하기' 버튼을 누르면 자세를 저장할 수 있다. 먼저 사용자가 원하는 자세 이름을 적을 수 있다. 그 후 '저장' 버튼을 누르면 발 받침대의 높이와 각도 단계 값이 파이어베이스에 저장된다.


기록 시나리오2.png
사용자가 네비게이션 바의 '기록' 버튼을 누르면 '기록' 화면으로 넘어간다. '기록' 화면에서는 사용자가 저장한 자세 목록이 나타난다. 사용자가 원하는 자세를 선택하고 ‘이 자세로 발 받침대 조절하기' 버튼을 누르면 라즈베리파이로 사용자가 설정한 발 받침대의 높이와 각도 단계 값들이 전달된다. 라즈베리파이는 앱에서 송신한 발 받침대의 데이터에 맞게 발 받침대를 조절한다. 또한 사용자는 '자세 삭제하기' 버튼을 눌러 자세 기록을 삭제할 수 있고, '이름 변경하기' 버튼을 눌러 자세의 이름을 변경할 수 있다.

팀원 역할 분담

팀원 역할
고강민 하드웨어 제작, 하드웨어 분석
이태겸 센서 모듈 구현, 구동 모듈 구현, 센서-구동 모듈 통합
이태훈 앱-라즈베리파이 통신 구현, 앱 UI 구현
최강현 배선 구축, 하드웨어 분석, 일정 관리
최규환 앱-라즈베리파이 통신 구현, 배선 구축
전 원 시스템 통합

평가 항목

평가항목 및 결과

평가 항목 평가 방법 개발 목표치 중요도 실험 횟수 실재 개발치 목표 달성률(%)
높이 제어 정확성 임의의 높이로 제어 후 높이 오차 측정 <1.1cm 30% 18회 평균 0.65cm 100%
각도 제어 정확성 임의의 각도로 제어 후 각도 오차 측정 <2° 30% 18회 평균 0.87° 100%
응답시간 발로 조절 시 조작에 따른 응답 시간 측정 <400ms 30% 10회 평균 100ms 100%
무게 전체 무게 측정 <8kg 5% - 7.6kg 100%
소음 액추에이터와 1m 거리에서 dB 측정 <50dB 5% 5회 평균 59dB 82%

만족도 조사 결과

만족도 조사 결과

결과

발표 포스터

발표 포스터

프로젝트를 진행하며 느낀 점

최*현

고*민

이*겸

이*훈

최*환