본문으로 건너뛰기

M32.04 · 휴머노이드 보행 외란 대응 또는 밸런싱 로봇

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 기준 평형/상태·구동/접촉과 휴머노이드/작은각 밸런싱 모형의 범위를 구분한다.
  • 합성 피드백/포화와 명시한 Euler 한 단계·외란 변형을 단위/시점에 맞게 계산한다.
  • 회복/실패·지연/접촉/추정/입력 한계의 조건별 평가와 감독/원본 근거를 설계한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M02의 선형/이산과 M07의 제어·M30의 감독/평가를 사용한다. 미집필 M23/M24/M26을 요구하지 않고 상태/평형·접촉/포화·국소 안정성을 본문에서 보충한다. 기본 선택 과제는 종이/CPU의 한 축 밸런싱 개념 모형이며 실제 휴머노이드/밸런싱 장비는 실행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

서 있기와 보행에는 자세 외에 접촉/운동 상태가 있다

균형 과제는 기준 자세로부터의 기울기만 아니라 기울어지는 속도·현재 지지/접촉, 가능한 힘/토크와 시간 경로를 함께 다룬다. 같은 기울기라도 바깥으로 빠르게 넘어가는 중인지 안쪽으로 돌아오는 중인지에 따라 필요한 입력이 다르다. 상태는 이런 미래 변화에 필요한 변수 묶음이다. 관측은 센서가 읽은 값이며 필터/추정으로 상태를 계산할 수 있어 둘의 시각/불확실성도 구별한다.

휴머노이드의 몸통/베이스는 지면에 볼트로 고정된 팔과 다르다. 발의 접촉/미끄러짐·지지 교대와 관절/접촉 힘을 통해 전신을 제어한다. 정적인 수평 지지의 단순 판단에서 무게중심의 수직 투영과 지지 영역을 볼 수 있지만, 동적 보행의 성공을 투영점 하나만으로 결정하지 않는다. 관성/접촉/마찰·발 배치/속도와 가용 입력이 필요하다.

MIT 저자 humanoids 자료는 접촉의 생성/해제와 힘/위치 제약·단순 모형의 역할을 설명한다. 저자 cart-pole 자료는 불안정 평형 근처 제어와 전체 비선형 과제의 차이를 다룬다. 이번 기본 경로는 제목의 선택 과제 중 한 축 밸런싱의 입력/외란 진단이다. 모든 독자는 아래 주어진 식/초기값으로 과제를 완료할 수 있으며 휴머노이드 보행 알고리즘/실증을 수행한 것으로 쓰지 않는다.

작은각 모형의 기준과 단위를 정의한다

θ는 바로 선 기준으로부터의 작은 기울기(rad), ω는 각속도(rad/s)다. 양의 θ/ω는 같은 선택 축의 기울어짐/증가 방향이다. 여기서 θ=0이 바로 선 자세이며 다른 책의 아래로 매달린 0도 규약과 섞지 않는다. 아래 식은 장치 파라미터를 식별한 것이 아닌 교육용 국소 모형이다.

θ˙=ω,ω˙=aθ+u+d,a=4 s−2.\dot\theta=\omega,\qquad \dot\omega=a\theta+u+d,\qquad a=4\ \mathrm{s}^{-2}.

점은 시간 미분이다. aθ는 기울어짐을 더 키우는 항이고, u는 각가속도에 직접 더해지는 가상 제어 입력(rad/s²), d는 같은 단위의 외란이다. 실제 motor torque가 u라는 뜻은 아니다. 실제 장치에서는 바퀴/몸통/접촉·구동 관계와 다른 상태가 추가되며 이 한 축 모형은 그것을 생략했다. 작은각/국소·지지 조건을 벗어나면 같은 식의 예측을 믿을 수 없다.

u=0/d=0이면 양의 θ에서 각가속도도 양수라 평형에서 멀어지는 경향이 있다. θ뿐 아니라 ω에도 반응하는 상태 피드백을 u_raw=−k_pθ−k_dω로 정하자. 계수는 k_p=9 s⁻²/k_d=4 s⁻¹이다. 각 항은 rad/s²가 되어 같은 입력 단위로 합해진다. 방향/부호를 바꾸면 피드백 부호도 일관되게 확인해야 한다.

포화가 없는 국소 안정성과 실제 한계를 구분한다

d=0이고 u=u_raw로 제한 없이 정확히 적용된다면 θ의 식은 θddot+4θdot+5θ=0이다. 특성식 λ²+4λ+5=0의 근은 −2±i s⁻¹이라 이 연속 LTI 모형의 자유응답은 0으로 감쇠한다. LTI는 선형/시간 불변, 자유응답은 외란/외부 입력이 없는 초기 상태의 변화라는 뜻이다. M02의 실수부 음수 조건을 이 제한된 가정에서 확인한 것이다.

가용 입력을 −0.5≤u≤0.5 rad/s²로 제한하면 제안이 그 범위를 넘을 때 경계값으로 고정한다. 이 포화는 모형을 더는 같은 LTI 식으로 만들지 않는다. 지연/상태 추정 오차·접촉 변화나 큰 외란이 있어도 위 근 두 개만으로 회복이 보장되지 않는다. 제어기 식이 존재한다는 사실과 실제 로봇이 균형을 유지한다는 사실을 다른 증거로 보고한다.

같은 이전 상태로 Euler 한 단계를 계산한다

기본 수치 활동은 주기 T=0.1 s의 명시적 Euler 근사다. k는 업데이트 번호이고 θ/ω는 모두 같은 이전 시점의 값을 오른쪽에 쓴다. u_k와 d_k는 이 한 구간에서 일정하다고 가정한다. 이는 정확한 연속 해/실시간 시뮬레이터가 아니다.

θk+1=θk+Tωk,ωk+1=ωk+T(aθk+uk+dk).\theta_{k+1}=\theta_k+T\omega_k,\qquad \omega_{k+1}=\omega_k+T(a\theta_k+u_k+d_k).

θ_0=0.1 rad/ω_0=0에서 제안은 −0.9 rad/s²이고 포화 뒤 u_0=−0.5다. 외란 0이면 각가속도는 4×0.1−0.5=−0.1 rad/s²다. 다음 상태는 θ_1=0.1 rad/ω_1=−0.01 rad/s다. 각도는 첫 근사 단계에서 같고 속도는 되돌아오는 방향이다. 이 한 단계로 완전히 회복했다고 하지 않는다.

같은 첫 구간에 d_0=+1 rad/s²가 더해지면 각가속도는 +0.9이고 다음 θ는 0.1/ω는 +0.09다. 동일한 제어 입력이 포화되어 외란을 충분히 상쇄하지 못한 경우다. 이는 첫 구간 외란 비교이며 이후에도 d가 계속되는지/사라지는지와 표본/제약에 따라 미래가 달라진다. 첫 변화만 보고 넘어짐/회복 시간을 확정하지 않는다.

CPU 계산은 실제 균형 실험과 구분한다

아래 완전한 표준 Python 코드는 두 합성 한 단계만 계산한다. 장비/시뮬레이터 설치는 필요하지 않고 종이 계산으로도 완료할 수 있다.

for disturbance in (0.0, 1.0):
    theta, rate, period = 0.1, 0.0, 0.1
    raw = -9.0 * theta - 4.0 * rate
    command = max(-0.5, min(0.5, raw))
    accel = 4.0 * theta + command + disturbance
    next_theta = theta + period * rate
    next_rate = rate + period * accel
    print(f"d={disturbance:.1f} raw={raw:.3f} u={command:.3f} "
          f"theta={next_theta:.3f} rate={next_rate:.3f}")

기대 결과는 두 경우 모두 raw=−0.900/u=−0.500/theta=0.100이고 rate는 각각 −0.010/+0.090이다. 작성 환경 Darwin/macOS의 Python 3.13.4 CPU에서 이 계산을 실행해 확인했다. 실제 휴머노이드/밸런싱 robot이나 학습 정책을 실행한 결과는 아니다.

회복/실패의 기준과 추가 근거를 설계한다

프로젝트의 회복 기준은 예를 들어 |θ|≤0.02 rad와 |ω|≤0.02 rad/s를 연속 1 s 만족하는 것으로 정할 수 있다. 한 번 기준 안에 들어온 것과 유지된 것은 다르다. 이 숫자는 합성 과제의 요구이며 실제 장비 허용각/안전 임계값이 아니다. 외란 크기/시각·지속 시간, 초기 상태·T/포화/지연·관측 잡음/누락과 평가 구간을 명시한다.

비교 표에는 외란 없음/단일 구간 외란·다른 초기 속도/관측 만료·입력 포화/접촉 변화 가정을 넣는다. 범위를 벗어난 모형은 유효하지 않음/미상으로 남기고 실제 장치 보호/중단은 해당 감독/절차와 결과를 확인한다. 휴머노이드 확장에서는 발 접촉/미끄러짐·전신 자세/속도/힘·발 배치와 구동/추정까지 추가 근거가 필요하다. 이 기초 계산을 전체 보행 성공으로 확대하지 않는다.

기존 2.3 물리 시간/접촉, 6.2 정량 진단와 6.4 감독기를 연결해 단계/원본·예상/관측/미확인을 보고하자. 교재 캡스톤 계산의 완료와 실제 프로젝트 합격/장비 실증은 별도다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 본문 θ/ω 모형·피드백/포화/T와 초기 상태, 첫 구간 외란 d=0/1, 회복 기준이다.

  1. 평형/상태·관측/가상 입력/접촉과 실제 휴머노이드/밸런싱 장치에서 생략한 조건을 표로 적는다.
  2. 제안/포화·각가속도와 Euler 한 단계를 두 외란 조건에서 계산한다. 같은 이전 상태를 쓰는지 확인한다.
  3. 한 단계로 확인할 수 없는 회복/실패·포화/지연/접촉·감독과 조건별 원본/평가 리포트를 설계한다.

관찰은 모형/계약, 계산, 평가 범위로 나눈다. 막히면 θ/ω·입력/가속도의 단위를 적고 새 θ를 ω 업데이트에 섞지 않는다. 코드는 선택이며 실제 장비는 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

기울기가 같아도 각속도 부호/크기와 발 접촉이 다르면 같은 상태인가? 이 모형의 θ=0/u와 실제 장치의 범위를 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

같은 식/포화/T에서 θ=0.05 rad/ω=+0.1 rad/s/d=0이다. raw/u·각가속도와 Euler 다음 상태를 구하라. 첫 각도가 커졌다는 사실만으로 최종 실패인가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

무포화 연속 모형의 근이 안정적이고 한 step이 계산되었으니 휴머노이드 외란 대응이 실증되었다고 한다. 필요한 추가 조건/평가·보고 범위를 제안하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.