Walbi: 아두이노와 LX-16A 서보로 만든 안정적인 이족 보행 로봇
부품 및 소모품
| 부품 |
수량 |
| 아두이노 나노 R3 |
1 |
| LX-16A 서보 모터 |
10 |
| 디버그 보드 (LewanSoul) |
1 |
필요한 도구 및 장비
앱 및 온라인 서비스
프로젝트 개요
서보 모터로 이족 보행 로봇을 만들 수 있을까? 이너 긱(Inner Geek) 팀이 도전해 탄생한 Walbi (WALink BIped)입니다. 머신러닝 프로젝트용으로 시작했으나 프로젝트는 중단되었고, Walbi도 두 발을 땅에 단단히 붙인 채로 남았습니다.
Walbi는 아두이노 나노(두뇌), LX-16A 서보(근육), 3D 프린팅 플라스틱 부품(뼈대)로 구성됩니다. LewanSoul LX-16A 서보는 소형 로봇 프로젝트에 이상적입니다: 가볍고 19 kg·cm 이상의 토크, 단일 케이블로 데이지체인 연결되어 배선이 매우 간단합니다.
Walbi는 2:1 스케일 휴머노이드로 다리 길이 55cm(발뒤꿈치~허리), 무게 1.1kg(2.4lbs)입니다. 흰색 부품은 3D 프린팅했으나 가벼운 목재로 대체 가능.
프로그래밍은 매우 단순합니다. 아래 두 프로그램으로 모션 캡처 및 재생이 가능해 걷기, 기기, 오르기, 뛰기, 춤추기 등 다양한 동작을 가르칠 수 있습니다. 로봇 다리를 원하는 자세로 옮기고 기록, 다음 자세 기록... 시퀀스 완료 후 재생하면 됩니다.
아마 리버댄스도 가르칠 수 있을 겁니다 😀
Walbi 제작
PLA 필라멘트로 플래시포지 크리에이터 프로 프린터에서 출력. STL 파일은 씽기버스에서 다운로드 가능하며, 나무나 금속으로 대체 제작도 가능합니다. 서보 지지대는 출력 부품, 서보, 서로 연결용으로 4가지 타입의 금속 서포트가 필요합니다(상세 내용은 Release The Inner Geek 블로그 참조).
배선
LX-16A 서보 제어용 LewanSoul 디버그 보드 필요. 아두이노 나노의 시리얼 포트로 명령 수신. 아두이노 하드웨어 시리얼은 PC 통신용으로 쓰므로 SoftwareSerial 라이브러리로 2번째 시리얼 포트(핀 10, 11)를 만들어 디버그 보드와 연결.
배선 최소화: 서보끼리 직렬 케이블로 연결(서보 구매 시 제공), 허리 쪽 서보 2개는 디버그 보드에 직결. PC↔아두이노 USB, 아두이노↔디버그 보드 TX/RX/GND 점퍼 와이어 3선.
서보 통신 보드레이트 115200 (변경 방법 아시면 제보 바람 - SoftwareSerial엔 너무 높음). 에러 체크와 재시도 로직 구현, 간혹 여러 번 시도해야 정상 읽힘.
전원
서보 7.4V에서 19.5 kg·cm 토크. 본 프로젝트는 6V 사용, 스톨 전류 3A 미만.
프로그래밍
아두이노 코드는 프로젝트 깃허브 저장소에 있습니다.
두 프로그램으로 모션 캡처/재생 (영화 모션 캡처 기법과 유사):
- 로봇을 원하는 자세로 만듦 (서보 기본값이 모터 오프라 손으로 회전 가능)
Walbi_record 프로그램으로 모든 서보 각도 읽기/표시
- 읽은 각도를
Walbi_play의 poseAngles 변수에 입력
timeToMove 변수(ms)로 재생 속도 조절하며 시퀀스 재생
즐겁게 보셨길 바랍니다. 댓글, 구독, 피드백 모두 환영합니다!
이너 긱 꿀팁
- LX-16A 서포트는 서보에 한 방향만 장착 가능해 잘못 조립하기 쉽음. 재조립 몇 번 함.
- 서보 기본 ID가 1로 동일. 로봇 장착 전 각 서보에 고유 ID 할당 필수 (동일 ID 다중 연결 시 통신 불가)
- 케이블 타이로 정리하면 외관 향상
- 서보 혼(horn) 결합 나사 제공. 서보-서포트 나사도 제공. 서포트-서포트, 서포트-플라스틱 연결용 나사(DIN912 M2-6, M2-10)는 별도 구매
- 발바닥에 실리콘 패드 부착으로 접지력 향상
- 플라스틱 혼은 테스트 중 다리 충돌 시 파손되니 금속 혼 권장. 파손 시 유격 생겨 재생 정확도 저하
코드
모션 제어 및 재생용 아두이노 프로그램
https://github.com/ptavaressilva/Walbi
커스텀 파트 및 인클로저
3D 프린트 부품 STL
플래시포지 크리에이터 프로로 출력. 씽기버스 CAD 파일