24 degrees of freedom, six legs with 4-DOF each. Built around a Banana Pi Zero with TowerPro MG90B hobby servos and two 12-channel PWM controller boards over I2C. Power came from a 2S LiPo distributed through seven buck converters.
24 자유도, 각 4-DOF의 다리 6개. Banana Pi Zero를 중심으로 TowerPro MG90B 서보 모터와 I2C 연결된 12채널 PWM 컨트롤러 보드 2개로 구성했습니다. 전원은 2S LiPo 배터리에서 7개의 벅 컨버터를 통해 분배했습니다.
The 4-DOF legs meant no analytical solution for inverse kinematics — had to use iterative solvers via NumPy and SciPy. Learned Fusion 360 for this project, designed and 3D-printed all the custom parts.
4-DOF 다리 구조는 역기구학의 해석적 풀이가 불가능해서 NumPy와 SciPy를 이용한 반복 솔버를 사용해야 했습니다. 이 프로젝트를 위해 Fusion 360을 배웠고, 모든 부품을 직접 설계하고 3D 프린팅했습니다.
Main issue: the SBC would reboot when all servos drew current simultaneously. The hobby servos were also too weak and imprecise for anything beyond flat surfaces.
주요 문제: 모든 서보가 동시에 전류를 끌어쓰면 SBC가 재부팅되었습니다. 취미용 서보는 평평한 바닥 외의 환경에서는 토크와 정밀도가 부족했습니다.
Swapped the hobby servos for Dynamixel XL430s — proper smart actuators with position feedback. Started at 24 DOF but simplified to 18 (3-DOF legs) to speed up inverse kinematics computation.
취미용 서보를 Dynamixel XL430으로 교체했습니다 — 위치 피드백이 가능한 스마트 액추에이터입니다. 24 DOF로 시작했지만 역기구학 연산 속도를 위해 18 DOF(3-DOF 다리)로 단순화했습니다.
Added a Jetson Xavier NX for compute, a 2D lidar running at ~10Hz, and an Intel RealSense D435i for depth. First experiments with ROS, SLAM (Hector SLAM, RTAB-Map), and visual-inertial odometry (VINS-Fusion).
연산용으로 Jetson Xavier NX를 추가하고, ~10Hz로 동작하는 2D 라이다와 깊이 센서로 Intel RealSense D435i를 탑재했습니다. ROS, SLAM(Hector SLAM, RTAB-Map), 시각-관성 주행기록계(VINS-Fusion)를 처음 실험한 버전입니다.
The version that actually worked well. Upgraded to Dynamixel RX28 servos — much more torque for outdoor terrain. Still 18 DOF, still on the Jetson Xavier NX, but now with an RPLidar A1 and Intel RealSense D455 (wider FOV than the D435i).
실제로 제대로 작동한 버전입니다. Dynamixel RX28 서보로 업그레이드하여 야외 지형에 충분한 토크를 확보했습니다. 여전히 18 DOF, Jetson Xavier NX를 사용하지만 RPLidar A1과 Intel RealSense D455(D435i보다 넓은 화각)를 탑재했습니다.
Runs the OpenSHC ROS package for locomotion control. Added tip ground contact sensors via rosserial_arduino for tactile feedback. Mapping uses Hector SLAM (2D) and RTAB-Map (3D). Added fans to deal with servo overheating during sustained walking.
보행 제어에는 OpenSHC ROS 패키지를 사용합니다. rosserial_arduino를 통한 발끝 접지 센서로 촉각 피드백을 추가했습니다. 매핑에는 Hector SLAM(2D)과 RTAB-Map(3D)을 사용합니다. 지속적인 보행 시 서보 과열 방지를 위해 팬을 추가했습니다.
Custom silicone anti-slip foot caps. Tested outdoors in forest terrain with autonomous exploration.
맞춤 제작한 실리콘 미끄럼 방지 발 캡을 장착했습니다. 숲 지형에서 자율 탐사 테스트를 진행했습니다.
Across the three builds, experimented with multiple SLAM and navigation approaches:
세 번의 제작을 거치며 다양한 SLAM 및 자율주행 방식을 실험했습니다:
- Hector SLAM — 2D mapping with lidar, no odometry required
- RTAB-Map — 3D mapping using the D455 depth camera + 2D lidar
- VINS-Fusion — visual-inertial odometry for GPS-denied environments
- move_base — ROS navigation stack for autonomous path planning
- OpenSHC — legged locomotion controller with gait generation
- Hector SLAM — 라이다 기반 2D 매핑, 주행기록계 불필요
- RTAB-Map — D455 깊이 카메라 + 2D 라이다를 이용한 3D 매핑
- VINS-Fusion — GPS가 없는 환경을 위한 시각-관성 주행기록계
- move_base — 자율 경로 계획을 위한 ROS 내비게이션 스택
- OpenSHC — 보행 패턴 생성이 가능한 다족 보행 제어기