전부 시뮬레이션 값 · 질량·탱크·추력·흡착력·외란 크기는 가정값(맨 아래 목록)
개요
비행 순서 · 제어 구조
설명 보기
테슬라는 2026년 10월 15일 로드스터 공개 행사에서 압축공기 노즐로 차를 띄워 공중에서 뒤집었다. 같은 추진 방식을 레일험지 양용로봇에 달아 시뮬레이션했다.
로봇은 고리 레일 꼭대기에서 레일을 놓고, 떨어지는 동안 노즐 10개로 자세를 바로잡아 네 다리로 내린다. 제어기는 0.01초마다 상태 32개(자세, 속도, 높이, 남은 공기, 노즐 힘, 발 접촉)를 읽고 밸브 10개의 열림을 정한다.
로봇 구성
56 kg · 노즐 10 · 탱크 6.8 L × 2- 끌어서 회전 · 확대
- 부품 단추 → 그 부품만 강조, 설명 표시
원리
300 → 40 bar · 제어 100 Hz압축공기 추진
- 추력 = 공기 유량 × 분사 속도
- 탱크 300 bar → 감압 40 bar
- 분사 속도 약 - m/s
설명 보기
노즐로 공기를 내뿜으면 그 반작용으로 몸이 반대쪽으로 밀린다. 추력은 1초에 내보내는 공기 질량에 분사 속도를 곱한 값이다. 탱크의 300 bar 공기를 40 bar로 낮춰 노즐에 보낸다. 막대로 밸브 열림을 바꾸면 위 네 칸을 다시 계산한다.
고리 레일에서 필요한 흡착력
- 반지름 1.9 m, 반 바퀴, 옆으로 3 m
- 꼭대기: 레일 아래에 거꾸로 매달림
- 원심력 < 무게 → 자석 바퀴·옆 롤러가 당김(최대 1,200 N 가정)
설명 보기
고리 레일은 반지름 1.9 m로 반 바퀴 돌며 옆으로 3 m 비켜 간다. 꼭대기에서 로봇은 레일 아래에 거꾸로 매달린다. 원심력이 무게보다 작으면 레일이 로봇을 당겨야 하고, 이 힘은 자석 바퀴와 옆 롤러가 낸다. 그래프는 꼭대기 이탈 속도가 5.0 m/s일 때 고리 위치별로 레일과 로봇 사이에 걸리는 힘이다.
외란 다섯 가지
- 무작위 · 크기는 가정값
- 이 쪽의 성공률·영상 전부에 적용
| 외란 | 크기(표준편차) | 원인 |
|---|---|---|
| 이탈 순간 회전 | 롤 0.9 · 피치 0.4 · 요 0.5 rad/s | 양쪽 롤러가 풀리는 시점 차이 |
| 이탈 순간 옆 속도 | 0.25 m/s | 위와 같음 |
| 돌풍 | 수평 2.5 · 수직 0.8 m/s | 바람(풍압 중심이 무게중심 12 cm 위) |
| 몸 비틀림 | 3.5 N·m | 분사 반동, 배관 장력 |
| 추력 흔들림 | 8 % | 감압기·밸브 |
강화학습 전과 후
PPO · 입력 32 · 은닉 256×2 · 밸브 10- 처음부터 PPO: 300만 스텝 동안 착지 0회
- PD 동작 따라 하기(행동 복제) = 학습 전
- PPO 100만 스텝: 34 % → 87 % (외란 넣기 전 평가)
- 학습에 안 쓴 이탈 상태 200개 × 5조건, 착지 성공률(%)
설명 보기
학습 전 영상의 신경망은 레일을 놓을 때 생긴 회전을 바로잡지 못하고 다리 하나로 40° 기울어 내린다.
설명 보기
앞왼쪽 아래 노즐이 추력 40 %만 내는 경우다. PD는 약해진 노즐도 정상으로 보고 힘을 나눠 세게 내려앉은 뒤 넘어진다. 강화학습은 나머지 노즐로 균형을 맞춰 착지한다.
장애물 넘기
7.8 m/s · 최고 4.1 m · 360° 구르기- 장애물: 쓰러진 소나무 + 탈선 무개화차(높이 2.0 m)
- 학습 없음 · 정해 둔 순서를 PD로
- 외란 속 57/60 착지 · 보조 탱크 1개(6.8 L, 4 kg) 추가
단계 보기
- T+0.00 s7.8 m/s(시속 28 km) 주행, 나무 6 m 앞에서 레일 놓음
- T+0.75 s아래 노즐 4개 최대 → 위로 4.8 m/s, 다리 접음
- T+1.75 s최고점(몸 중심 약 4.1 m)에서 옆으로 한 바퀴 + 뒤로 돌아섬, 화차 위 0.8 m 이상 여유
- T+2.40 s다리 펴고 뒤 노즐로 감속, 건널목 착지
로드스터 시연에서 차는 세워 둔 트럭 위를 한 바퀴 구르며 넘었다. 여기서는 같은 기동을 선로 위로 옮겼다. 탱크 2개로는 착지 전에 공기가 떨어져 이 시연에만 보조 탱크를 더 달았다.
체험
브라우저 안 MuJoCo · 같은 신경망- 영상과 같은 물리 계산·신경망
- 조건 선택 → 시작 · 공중 구간 0.3배 속도
만든 과정
Python · MuJoCo · Blender · three.js- 물리 레일 구간 1자유도 계산 + 비행·착지 MuJoCo 3.16
- 기준 제어 PD
- 학습 행동 복제 → PPO, 외란 추가 뒤 50만 스텝
- 시연장 Blender 4.5 스크립트 · Poly Haven 텍스처 · Higgsfield 소품 6종
- 영상 Cycles 720p
- 이 페이지 three.js + MuJoCo WebAssembly · 로봇 모델 21.8 → 3.1 MB
설명 보기
물리. 레일 구간은 레일을 따라가는 1자유도 계산으로 풀고, 레일이 당겨야 하는 힘이 흡착력을 넘으면 떨어진 것으로 본다. 레일을 놓은 뒤의 비행과 착지는 MuJoCo 3.16으로 푼다. 파이썬과 브라우저(WebAssembly)에서 같은 계산이 소수점 6자리까지 같게 나오는지 시험으로 확인했다.
기준 제어. 기운 만큼 되돌리는 회전력을 내고, 높이에 맞춘 낙하 속도 계획으로 추력을 정해 노즐 10개에 나눈다.
학습. PD 동작 3,000판을 신경망이 따라 하게 한 뒤 PPO로 학습했다. PPO 첫 100만 스텝은 가치 함수만 학습해 따라 한 동작이 무너지지 않게 했다.
시연장. KS60 레일 단면, PC 침목과 체결구, 쇄석 도상(돌 12만 개), 고리 레일 거더, 건널목을 스크립트로 만들었다. 소품은 모터카, 화차, 조명탑 등이다.
영상. 시뮬레이션 궤적을 0.01초 간격으로 기록해 렌더했다. 720p 한 장에 2~10초가 걸렸다.
이 페이지. 로봇 모델은 부품 1,951개를 마디별로 합치고 압축했다.
가정값과 한계
sim/params.json- 로봇 질량
- 56 kg (A2 37 + 레일 주행모듈 10 + 추진 키트 9)
- 고압 용기
- 6.8 L × 2, 300 bar, 공기 4.4 kg
- 감압 · 밸브 지연
- 40 bar · 20 ms
- 노즐
- 아래 4 × 300 N, 뒤 4 × 150 N, 앞 옆 2 × 100 N
- 레일 흡착력
- 1,200 N (자석 바퀴 + 옆 롤러)
- 다리
- 스프링 3,000 N/m, 완충 행정 0.25 m
- 다리: 관절 대신 스프링·댐퍼
- 공기: 이상기체 근사, 노즐 효율 0.9
- 레일: 수직 힘만 검사, 미끄럼·진동 없음
- 실물 시험 없음