산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

부품 및 소모품

아두이노 메가 2560 1
SG90 마이크로 서보 모터 다리 4개 × 3축 = 12개 필요 12
HC-SR04 초음파 센서 장애물 감지용 1
5mm LED: 빨강 4
5mm LED: 초록 4
5mm LED: 파랑 4
수컷 헤더 40핀 1열 (2.54mm) 2
커스텀 PCB 서보/센서 연결용 실드 1

필요 도구

소프트웨어

프로젝트 소개

아두이노 기반 4족 보행 로봇! 4족(Quadruped)은 거미처럼 네 다리로 걷는 로봇입니다. 거미의 보행 원리를 분석해 아두이노로 구현해 봅시다.

1단계: 필요 부품

2단계: 무게중심(CG) 유지 원리

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

보행 시 무게중심(CG)이 몸체 중앙에 머물러야 균형을 잡습니다. CG가 일정 범위 밖으로 벗어나면 넘어집니다.

모든 다리가 45°면 CG가 정중앙에 옵니다. 한 다리를 움직이면 CG가 그쪽으로 쏠려 넘어질 위험이 있습니다. 이를 방지하려면 양끝 다리 각도를 45°보다 크게 벌려 삼각형 지지 기반을 만들고, 그 안에 CG가 들어오게 한 뒤 나머지 한 다리를 자유롭게 움직여야 합니다.

3단계: 보행 시퀀스

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드
  1. 시작 자세: C,D 다리 바깥으로 뻗고, A,B 다리 안쪽으로 당김
  2. 우전다리(B) 들어 올려 전방으로 뻗음
  3. 모든 다리 후방으로 밀며 몸체 전진
  4. 좌후다리(D) 들어 올려 몸체 옆으로 전진 (시작 자세의 거울상)
  5. 좌전다리(A) 들어 올려 전방으로 뻗음
  6. 모든 다리 후방으로 밀며 몸체 전진
  7. 우후다리(C) 들어 올려 몸체 쪽으로 당김 → 시작 자세로 복귀

4단계: 설계 도면

LEGS.pdf, BODY.pdf 파일을 참고해 다리와 몸체 파트를 레이저 커팅 또는 3D 프린팅하세요.

5단계: 몸체 조립

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드
스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

PDF 도면에 따라 몸체 프레임 조립

6단계: 회로 연결

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

아두이노 메가는 15개 PWM 핀 보유. 12개는 서보용, 3개는 RGB LED용, 2개는 초음파 센서용으로 사용. 필요에 맞춰 직접 실드 제작 권장.

7단계: 서보 초기화 (캘리브레이션)

아래 코드 업로드 후, 각 서보를 90° 중앙값으로 맞춰 다리 조립 기준점 잡기

#include <Servo.h>
Servo servo[4][3];
const int servo_pin[4][3] = { {10,11,2}, {3,4,5}, {6,7,8}, {9,12,13} };

void setup() {
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 3; j++) {
      servo[i][j].attach(servo_pin[i][j]);
      delay(20);
    }
  }
}

void loop() {
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 3; j++) {
      servo[i][j].write(90);
      delay(20);
    }
  }
}

8단계: 최종 조립 및 메인 프로그램

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드
스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드
스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

메인 코드는 역기구학(Inverse Kinematics) 기반으로 다리 끝단 좌표를 계산해 서보 각도로 변환, FlexiTimer2 라이브러리로 50Hz 주기 서보 제어 루프를 돌립니다. 전진, 후진, 좌/우 회전, 손 흔들기, 악수, 바디 댄스 등 다양한 동작 내장.

/* 주요 상수 */
const float length_a = 55;      // 대퇴골 길이
const float length_b = 77.5;    // 경골 길이
const float length_c = 27.5;    // 고관절 오프셋
const float length_side = 71;   // 몸체 폭
const float z_absolute = -28;   // 최저 높이

const float z_default = -50, z_up = -30, z_boot = z_absolute;
const float x_default = 62, x_offset = 0;
const float y_start = 0, y_step = 40;
const float y_default = x_default;

/* 핵심 함수 개요 */
void servo_service();        // 50Hz 타이머 인터럽트: 목표 좌표 향해 직선 보간
void set_site(leg, x, y, z); // 다리 끝단 목표 좌표 설정 + 속도 계산
void wait_all_reach();       // 모든 다리 목표 도달까지 블로킹 대기
void cartesian_to_polar();   // 직교좌표 → 극좌표 (역기구학 1단계)
void polar_to_servo();       // 극좌표 → 서보 각도 (다리별 기하 보정)

/* 동작 함수 */
void stand();           // 일어서기
void sit();             // 앉기
void step_forward(n);   // n보 전진
void step_back(n);      // n보 후진
void turn_left(n);      // 제자리 좌회전 n스텝
void turn_right(n);     // 제자리 우회전 n스텝
void hand_wave(n);      // 앞다리 흔들기
void hand_shake(n);     // 앞다리 악수
void body_dance(n);     // 바디 댄스

LED 핀 연결 후 메인 코드 업로드하면 4족 로봇 완성!

소스 코드

메인 코드 (spider)

위 개요에 해당하는 전체 구현 코드. FlexiTimer2 라이브러리 필요.

캘리브레이션 코드 (spider_fix.ino)

// 다리 초기 위치 잡기용 - RegisHsu 2015-09-09
#include <Servo.h>
Servo servo[4][3];
const int servo_pin[4][3] = { {10,11,2}, {3,4,5}, {6,7,8}, {9,12,13} };

void setup() {
  for (int i = 0; i < 4; i++)
    for (int j = 0; j < 3; j++) {
      servo[i][j].attach(servo_pin[i][j]);
      delay(20);
    }
}

void loop() {
  for (int i = 0; i < 4; i++)
    for (int j = 0; j < 3; j++) {
      servo[i][j].write(90);
      delay(20);
    }
}

커스텀 파트 및 인클로저

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

회로도

스마트 아두이노 4족 보행 로봇 제작: 단계별 완벽 가이드

제조공정

  1. 나만의 LUMAZOID 만들기: DIY 아두이노 음악 비주얼라이저
  2. 아두이노 나노 비행 시뮬레이터 2020 컨트롤 패널 – LCD & CDI 디스플레이
  3. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  4. 아두이노 손 씻기 타이머: 코로나19 예방을 위한 간단한 DIY 도구
  5. 아두이노 RGB LED 컬러 믹서: 입문자 친화적 DIY 프로젝트
  6. 아두이노 우노로 8×8 LED 매트릭스 마스터하기: 단계별 가이드
  7. DIY 아두이노 라디오닉스 EMR 치료 기기 제작
  8. 야외용 DMX 제어 RGB LED 플러드 라이트: 저렴하고 고성능인 DIY 조명 시스템
  9. DIY LED 룰렛 게임 – 아두이노 나노로 만드는 1인 아케이드
  10. 아두이노 기반 스마트 자동 주차장 시스템 제작