Slide 1

Slide 1 text

> kerbal_space_program.rb ~brad_grzesiak/keep_ruby_weird | 2017-10-27 14:30 ~brad_grzesiak/keep_ruby_weird | 2017-10-27 14:29 > groups brad_grzesiak wheel bendyworks twitter.listrophy

Slide 2

Slide 2 text

Whenever Brad is drinking, you wanna make sure you're sitting next to him, because instead of being obnoxious, he teaches you orbital mechanics. Ashe Dryden

Slide 3

Slide 3 text

Whenever Brad is drinking, you wanna make sure you're sitting next to him, because instead of being obnoxious, he teaches you orbital mechanics. Ashe Dryden GET YOUR ALTERCONF TICKETS!

Slide 4

Slide 4 text

PREFACE PREREQUISITES

Slide 5

Slide 5 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam)

Slide 6

Slide 6 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) $24

Slide 7

Slide 7 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan $24

Slide 8

Slide 8 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan ▸ Install kRPC on ckan $24

Slide 9

Slide 9 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan ▸ Install kRPC on ckan ▸ EMA 550: Astrodynamics $24

Slide 10

Slide 10 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan ▸ Install kRPC on ckan ▸ EMA 550: Astrodynamics ▸ ME 446: Automatic Controls $24

Slide 11

Slide 11 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan ▸ Install kRPC on ckan ▸ EMA 550: Astrodynamics ▸ ME 446: Automatic Controls ▸ Install ruby correctly #%&! $24

Slide 12

Slide 12 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan ▸ Install kRPC on ckan ▸ EMA 550: Astrodynamics ▸ ME 446: Automatic Controls ▸ Install ruby correctly #%&! ▸ gem install krpc $24

Slide 13

Slide 13 text

PREFACE PREREQUISITES ▸ Buy KSP ($40 on Steam) ▸ Install ckan ▸ Install kRPC on ckan ▸ EMA 550: Astrodynamics ▸ ME 446: Automatic Controls ▸ Install ruby correctly #%&! ▸ gem install krpc ▸ Write some ruby $24

Slide 14

Slide 14 text

SPACE.FAIL:3000

Slide 15

Slide 15 text

PROJECT 1: MERCURY HOVER

Slide 16

Slide 16 text

MAKE A ROCKET HOVER PROBLEM STATEMENT:

Slide 17

Slide 17 text

MAKE A ROCKET HOVER PROBLEM STATEMENT: MAKE ALTITUDE CONSTANT (AND SUFFICIENTLY >0)

Slide 18

Slide 18 text

MAKE A ROCKET HOVER PROBLEM STATEMENT: MAKE ALTITUDE CONSTANT (AND SUFFICIENTLY >0) 1 CONTROL: THROTTLE (ALSO, VARIABLE MASS)

Slide 19

Slide 19 text

PROJECT 1: MERCURY SOME MATHS F = m⋅a ∑ T − m⋅ g = m⋅a T − m⋅ g = m⋅ d dt v T − m⋅ g = m⋅ d2 dt2 x T(t) − m(t)⋅ g = m(t)⋅ d2 dt2 x(t)

Slide 20

Slide 20 text

PROJECT 1: MERCURY SOME MATHS F = m⋅a ∑ T − m⋅ g = m⋅a T − m⋅ g = m⋅ d dt v T − m⋅ g = m⋅ d2 dt2 x T(t) − m(t)⋅ g = m(t)⋅ d2 dt2 x(t) Nonlinear 2nd Order
 Differential Equation

Slide 21

Slide 21 text

PROJECT 1: MERCURY SOME MATHS F = m⋅a ∑ T − m⋅ g = m⋅a T − m⋅ g = m⋅ d dt v T − m⋅ g = m⋅ d2 dt2 x T(t) − m(t)⋅ g = m(t)⋅ d2 dt2 x(t) Nonlinear 2nd Order
 Differential Equation ಠ_ಠ

Slide 22

Slide 22 text

PID CONTROLLER

Slide 23

Slide 23 text

P I D CONTROLLER roportional ntegral erivative

Slide 24

Slide 24 text

P I D CONTROLLER roportional ntegral erivative

Slide 25

Slide 25 text

PROJECT 1: MERCURY NEGATIVE FEEDBACK THROTTLE

Slide 26

Slide 26 text

PROJECT 1: MERCURY NEGATIVE FEEDBACK THROTTLE ROCKET

Slide 27

Slide 27 text

PROJECT 1: MERCURY NEGATIVE FEEDBACK ACTUAL ALTITUDE THROTTLE ROCKET

Slide 28

Slide 28 text

PROJECT 1: MERCURY NEGATIVE FEEDBACK ACTUAL ALTITUDE THROTTLE ROCKET PID CONTROLLER DESIRED ALTITUDE

Slide 29

Slide 29 text

PROJECT 1: MERCURY NEGATIVE FEEDBACK ACTUAL ALTITUDE THROTTLE ROCKET PID CONTROLLER DESIRED ALTITUDE

Slide 30

Slide 30 text

PROJECT 1: MERCURY PID CONTROLLER prev_time = Time.now dt = 0.1 prev_error = 0 accumulated_error = 0 while true do sleep dt curr_time = Time.now error = DESIRED_ALTITUDE - current_altitude() accumulated_error += error * dt derivative = (error - prev_error) / dt set_throttle( P * error + I * accumulated_error + D * derivative ) prev_error, prev_time = error, curr_time end

Slide 31

Slide 31 text

DEMO

Slide 32

Slide 32 text

PROJECT 2: GEMINI ORBIT Photo courtesy of: SpaceX

Slide 33

Slide 33 text

MAKE A ROCKET ORBIT PROBLEM STATEMENT:

Slide 34

Slide 34 text

MAKE A ROCKET ORBIT PROBLEM STATEMENT: GO REAL HIGH, THEN ON THE WAY BACK DOWN, MISS

Slide 35

Slide 35 text

OUR ROCKET

Slide 36

Slide 36 text

First Stage OUR ROCKET

Slide 37

Slide 37 text

OUR ROCKET Second Stage }

Slide 38

Slide 38 text

OUR ROCKET Third Stage }

Slide 39

Slide 39 text

ORBIT?

Slide 40

Slide 40 text

ORBIT?

Slide 41

Slide 41 text

ORBIT?

Slide 42

Slide 42 text

ORBIT?

Slide 43

Slide 43 text

ORBIT?

Slide 44

Slide 44 text

ORBIT?

Slide 45

Slide 45 text

ORBIT? 1 foot Austin Houston

Slide 46

Slide 46 text

ORBIT? 1 foot Austin Houston d = 237km

Slide 47

Slide 47 text

ORBIT? 1 foot Austin Houston d = 237km h = 4.41km

Slide 48

Slide 48 text

ORBIT? 1 foot Austin Houston d = 237km h = 4.41km t = 30s

Slide 49

Slide 49 text

ORBIT? 1 foot Austin Houston d = 237km h = 4.41km t = 30s v = 7.9km/s

Slide 50

Slide 50 text

ENERGIES

Slide 51

Slide 51 text

ENERGIES Get up there m g h = E g h = E/m (9.81/1000) 200 1.96 MJ

Slide 52

Slide 52 text

ENERGIES Get up there m g h = E g h = E/m (9.81/1000) 200 1.96 MJ Go real fast E = ½ m v2 E/m = ½ v2 ½ (7.8)2 30.4 MJ

Slide 53

Slide 53 text

PROJECT 2: GEMINI OK, BUT HOW? ▸ Checklist! ▸ 2 state machines: staging & control ▸ On each tick, use case-when for each state machine ▸ On each state-transition, maybe do a single thing ▸ "Pitch over while managing stages"

Slide 54

Slide 54 text

DEMO

Slide 55

Slide 55 text

PROJECT 3: APOLLO TO THE MUN!

Slide 56

Slide 56 text

LAND A ROCKET ON THE MUN PROBLEM STATEMENT:

Slide 57

Slide 57 text

LAND A ROCKET ON THE MUN PROBLEM STATEMENT: LANDING SPEED UNSPECIFIED; LEFT TO DEVELOPER

Slide 58

Slide 58 text

ORBIT TRANSFERS

Slide 59

Slide 59 text

ORBIT TRANSFERS

Slide 60

Slide 60 text

ORBIT TRANSFERS

Slide 61

Slide 61 text

ORBIT TRANSFERS

Slide 62

Slide 62 text

TO THE MUN

Slide 63

Slide 63 text

TO THE MUN

Slide 64

Slide 64 text

PROJECT 3: APOLLO STATES 1. determining insertion burn delta v 2. determining insertion burn location 3. waiting for insertion burn far 4. waiting for insertion burn mid 5. waiting for insertion burn near 6. insertion burning 7. finalizing insertion burn 8. transmunar orbit 9. outer munar orbit 10.mid munar orbit 11.final approach

Slide 65

Slide 65 text

DEMO

Slide 66

Slide 66 text

THANK YOU! Brad Grzesiak - @listrophy CEO, Bendyworks