작은 정육면체의 자율 균형: Cubli_Mini 빌드 가이드

소형 자동 균형 로봇, Cubli_Mini를 직접 제작해보세요

Cubli_Mini는 10cm 크기의 미니멀한 정육면체 형태로, 테이블 위에서 스스로 서 있는 독특한 기계 장치입니다. 이 프로젝트는 단순한 하드웨어 조립을 넘어, 제어 알고리즘과 전자 시스템의 통합을 경험할 수 있는 완전한 오픈소스 로봇입니다.

핵심 설계 철학: 작고, 저렴하며, 강력한 성능

본 제품은 세 가지 원칙에 따라 설계되었습니다: 소형화, 저비용, 고성능. 복잡한 브레이크 시스템 없이도, 세 개의 정교하게 배치된 회전 운동량 휠과 선형 2차 조절(정규화) 제어 알고리즘을 통해 지속적인 균형 유지가 가능합니다. 충전 후에는 무방향 환경에서도 최대 5시간 이상 안정적으로 점 균형 상태를 유지합니다.

핵심 기술은 SimpleFOC 기반 모터 드라이버LQR 제어기의 결합입니다. 총 비용은 800위안 미만으로 유지되어, 누구나 접근 가능한 하드웨어 프로젝트입니다.

구성 요소 분석: 하드웨어 아키텍처 이해

메커닉 구조: 경량이며 강성 있는 프레임

내부 구조는 검은 탄소섬유봉으로 구성되며, 가벼우면서도 높은 강성을 제공합니다. 각 모서리는 두 종류의 3D 프린팅 부품(각 4개씩)으로 이루어져 있으며, 양극 산화 알루미늄 기둥으로 연결됩니다.

정육면체 외관: 검은 프레임과 붉은 회전 휠의 대비, 흰색 구조물은 고정용 역할

주요 설계 사항:

  • 외곽 프레임: 유리 섬유 보드 사용으로 강성과 비용을 동시에 확보
  • 회전 휠: 소형화에도 불구하고 충분한 관성 모멘트를 제공하는 304 스테인리스강
  • 모든 구조 부품 비용은 350위안 이내, 동축 축을 사용하면 290위안까지 낮출 수 있음

전자 제어장치: 이중 ESP32의 실시간 협업

왜 두 개의 ESP32가 필요한가? 하나의 마이크로컨트롤러는 최대 6개의 PWM 출력만 지원하지만, 세 개의 모터를 각각 양방향 제어하기 위해 6개의 신호가 필요합니다. 이를 해결하기 위해 CAN 통신 기반 이중 마이크로컨트롤러 아키텍처를 도입했습니다.

녹색 기판 위에 위치한 ESP32 UART 모듈, USB-C 포트 및 디버깅용 헤더 포함

제어 보드의 주요 기능:

  • 3채널 모터 드라이브 회로 (SimpleFOC 기반)
  • 리튬 배터리 충전/방전 관리
  • 전압 안정화 회로
  • CAN 통신 인터페이스

센서 시스템: 정밀한 자세 감지

균형 제어를 위해서는 정확한 자세 정보가 필수입니다. MPU6050 IMU는 기울기와 각속도를 측정하고, AS5600 자기식 각도 센서는 각 모터의 회전 위치를 정밀하게 감지합니다.

흰색 3D 프린팅 지지대 위에 설치된 MPU6050, 검은 기판에 위치한 센서가 균형 제어의 핵심

센서 최적화 팁:

  • 센서 설치 영역은 압력을 줄이기 위해 홈 처리
  • 실장 시 MPU6050가 기판과 평행하고, 솔더 패드 중심에 위치하도록 확인
  • 저속 동작에서는 고가격 대비 우수한 성능을 보이는 AS5600 활용

초보자도 쉽게 시작: 4단계로 완성하기

1단계: 프로젝트 다운로드 및 재료 준비

터미널에서 다음 명령어로 프로젝트 저장소를 복제하세요:

git clone https://gitcode.com/gh_mirrors/cu/Cubli_Mini

프로젝트 폴더 내부에는 다음과 같은 구조가 있습니다:

  • 1.Hardware/ – 하드웨어 설계 파일
  • 2.Firmware/ – MCU1 및 MCU2용 펌웨어 코드
  • 4.Model/ – 3D 모델 파일
  • 5.Doc/ – 사용 설명서
  • 6.Process/ – 제작 과정 및 BOM 목록

필수 부품 목록:

  • ESP32 개발 보드 ×2
  • MPU6050 센서 ×1
  • AS5600 각도 센서 ×3
  • 직류 모터 및 DRV8313 드라이버 ×3
  • 리튬 배터리 및 충전 모듈

2단계: 3D 프린팅 및 메카닉 조립

모든 구조 부품은 6.Process/3D打印/ 폴더에 있습니다. 광경화 방식의 3D 프린터를 사용하면 표면 품질이 우수합니다. 조립 순서는 다음과 같습니다:

  1. 프레임 조립: 검은 탄소섬유봉을 흰색 각지점에 삽입
  2. 모터 고정: 내부 지정 위치에 세 개의 모터 부착
  3. 회전 휠 장착: 스테인리스 휠을 모터 축에 결합
  4. 보드 고정: 제어 보드, IMU, 센서 보드를 정확히 설치

후면 시점에서 본 내부 구조: 붉은 회전 휠과 검은 프레임의 대비

주의사항: 8개의 모서리 부품은 각각 다른 형식(각1, 각2)으로 나뉘며, 각 4개씩 필요. 외곽과 연결부는 45도 대칭이 아니므로 설치 방향을 반드시 확인해야 합니다.

3단계: 회로 접선 및 연결

1.Hardware/ 폴더의 보드 설계 파일을 참고하여 접선을 수행하세요. 초보자는 다음 절차를 추천합니다:

  1. JLCPCB 무료 샘플링을 통해 보드 제작
  2. BOM 목록에 따라 부품 구매 (특히 센서 3세트)
  3. 층별 접선: 먼저 표면 실장 부품부터, 그다음 직립 부품
  4. 정밀 점검: 특히 DRV8313 드라이버 칩의 접선 상태 확인

안전 경고: 회전 휠은 고속 회전 시 큰 운동 에너지를 가집니다. 테스트 시 반드시 안전 거리를 유지하세요.

4단계: 펌웨어 업로드 및 기본 테스트

PlatformIO 환경을 사용하여 두 개의 마이크로컨트롤러 펌웨어를 업로드하세요:

# MCU1 폴더로 이동
cd 2.Firmware/Mcu1
pio run -t upload

# MCU2 폴더로 이동
cd ../Mcu2
pio run -t upload

초기 전원 공급 테스트:

  1. 배터리 연결 후 녹색 LED 상태 확인
  2. 시리얼 툴로 시스템 시작 로그 확인
  3. 수동으로 정육면체를 기울여 모터 반응 확인

고도화: 맞춤형 제어로 로봇을 자유롭게 조종

알고리즘 계층: 균형 제어의 원리 탐구

핵심 제어 코드는 2.Firmware/Mcu1/control/cubli_mini.cpp에 위치합니다. 두 가지 균형 모드를 지원합니다:

  • 변 균형 모드: 일차 역립자 모델 기반 제어, LQR 알고리즘 적용. 매개변수 조정은 이론적 지식이 필요하나, 실용적인 "직관적 튜닝" 방법도 제공됨.
  • 점 균형 모드: 변 균형 기반으로 추가로 X, Z 축 제어를 도입, 단일 점에서의 안정적 서있는 상태 구현.

붉은 회전 휠과 모터 조립부의 특수 촬영, 균형 제어의 동력원

통신 계층: 다양한 통신 방식 선택 가능

기본적으로는 CAN 통신을 사용하지만, I2C, SPI, UART로 변경도 가능합니다. can.h 파일 및 관련 구현 파일을 수정하면 됩니다.

또한, WiFi 기반 원격 조정 기능을 통해 실시간 제어 파라미터 조정이 가능합니다:

  • wifi_commander.cpp 파일에서 네트워크 이름과 비밀번호 설정
  • 3.Software/네트워크디버그도구V3.8.exe를 사용해 TCP 서버 연결
  • 실시간 커맨드 전송으로 효과 즉시 확인

메카닉 계층: 개별화된 개선 아이디어

성능을 더 높이고 싶다면 다음과 같은 개선을 시도해보세요:

  1. 재료 교체: 유리섬유판 → 탄소섬유판으로 교체해 무게 감소
  2. 모터 업그레이드: 더 높은 KV 값의 모터로 응답 시간 향상
  3. 회전 휠 설계 변경: 질량 분포 조정으로 관성 모멘트 최적화

디버깅 팁: 초보에서 전문가로의 전환

자주 발생하는 문제 해결

문제: 균형 유지 불가

  • IMU 보정 확인: 정육면체를 수평으로 놓고 자세 데이터 확인
  • 제어 매개변수 조정: VOLTAGE_LIMIT 값을 점진적으로 증가
  • 모터 방향 확인: 세 모터의 회전 방향이 일치하는지 점검

문제: 모터가 작동하지 않거나 진동

  • 센서 연결 확인: AS5600의 I2C 주소 설정 오류 여부 확인
  • 전원 전압 확인: 배터리 잔량 충분한지 확인
  • 드라이버 칩 테스트: DRV8313 정상 작동 여부 점검

파라미터 최적화 실전 가이드

파라미터 설정 파일 param.h을 열어 모든 조정 가능한 값 확인 가능. 조정 순서 권장:

  1. 기본 파라미터: 모터 PID 매개변수 조정 → 단일 모터 안정성 확보
  2. 균형 매개변수: 낮은 전압에서 시작해 LQR 가중치 조정
  3. 성능 최적화: 안정성 확보 후 응답 속도 및 간섭 저항력 향상

황금 법칙: 매번 한 가지 매개변수만 조정하고, 변화 효과 기록하기!

창의적 확장: 원래 설계를 넘어서는 가능성

기본 기능을 익힌 후, 다음과 같은 프로젝트를 시도해볼 수 있습니다:

프로젝트 1: 원격 제어 정육면체

  • 블루투스 모듈 추가 → 스마트폰 앱으로 움직임 제어
  • 원격 자세 조정 및 모드 전환 기능 구현

프로젝트 2: 자율 이동 정육면체

  • 카메라 모듈 통합 → 시각적 위치 인식
  • 경로 계획 알고리즘 개발 → 자율 이동 구현

프로젝트 3: 다중 로봇 협업 시스템

  • 여러 개의 Cubli_Mini 제작 → 집단 균형 시스템 구축
  • 분산 제어 알고리즘 연구 → 군집 지능 탐구

학습 자료 및 커뮤니티 지원

공식 문서는 학습에 매우 유용합니다:

  • 하드웨어 설명서 – 회로 설계 원리 상세 분석
  • 제어 이론 설명서 – 알고리즘 깊이 이해
  • 초보자를 위한 무료 가이드 – 처음부터 시작하는 방법
  • 자주 묻는 질문 – 문제 해결 팁

지금 시작하세요

Cubli_Mini는 단순한 로봇이 아니라, 로봇 공학 세계로 들어가는 문입니다. 직접 제작하고, 디버깅하며, 최적화하는 과정을 통해 다음과 같은 능력을 얻게 됩니다:

  • 임베디드 시스템 개발 실무 경험
  • 제어 이론과 실제 적용의 융합
  • 기계·전자·소프트웨어 통합 설계 사고
  • 오픈소스 하드웨어 프로젝트 전체 프로세스 이해

코드는 이미 준비되어 있고, 설계 파일은 바로 다운로드 가능합니다. 이제 첫 번째 STL 파일을 다운로드하고, 테이블 위에서 정육면체가 스스로 서는 순간을 목격하세요. 이 여정의 모든 도전이 당신의 기술 성장을 이끄는 발걸음이 될 것입니다.

최고의 학습법은 직접 해보는 것입니다. 오늘 바로 자신의 Cubli_Mini 프로젝트를 시작하세요. 이 작은 정육면체가 당신의 기술 이력에 가장 빛나는 장면이 되길 바랍니다!

태그: Cubli_Mini ESP32 SimpleFOC LQR 제어 IMU

7월 29일 23:31에 게시됨