Hacker News new | past | comments | ask | show | jobs | submit login
ISS Docking Simulation (spacex.com)
329 points by martythemaniak on May 13, 2020 | hide | past | favorite | 144 comments



Nailed it first time!! I was super excited too, cos it was so obvious that this so-called “simulation” was in reality a test to find pilots to save the ISS from some top secret calamity that we don’t know about.

Surely this was going to be like in “the last Starfighter”, except that Elon Musk would be the one knocking on my door, needing a new pilot.

Sadly it just said “congratulations” :(


It probably increases your chances of being evacuated to space should moon blow up without warning and for no apparent reason.


I love this book! And if you didn't meant it, I much recommend Seveneves.


And to think I’ve already spent the last two months training to ration food, complain about the US president on the internet, not use my legs, and play video games.

I’m basically ready to lead the arklet swarm already.


As long as you don't empty your browser cookies.


In that case, I'm not sure I want to be evacuated.


Give them a minute - they're drafting an offer.

And when you counter, don't forget to mention how much a successful docking would save them.


For all we know this could've been an Enders-Game-esque "simulation" with actual astronauts' lives in our hands.


Well, now I feel bad for just stacking all my options into one single shot and trying to hammer my way into the docking station.

Hope these crazy caterpillar dreams stop at some point...


Nice, took me 3 tries.

Although I believe the real thing will be quite different. There will be coupling betweeen various controls. I think it's one of the goals to reduce that by centering thrusters around centres of mass, but there's a lot of moving pieces (humans) inside, and the fuel mass is always changing.


Yup. That's the kind of fun you can experience in Kerbal Space Program. If you just want to fly around teakettle, then you can get away with clever design that ensures the center of mass doesn't shift as you expend RCS fuel. But as soon as you're trying to do anything interesting - e.g. build a lander, or a craft that hauls other crafts around your station - you'll experience coupled controls in full.

I for one love building space stations in KSP, and I tend to have a compliment of "worker bees" - small RCS-only crafts meant to haul big pieces of space stations to their correct positions. So I often attach sideways to a fuel tank that's 2/3 empty and still weighs 10x as much as the worker bee. Docking that thing is an exercise in patience.


It is pretty cool that the actual interface is similar to this simulation (at least trivially so). Guess I'm qualified to be an astronaut now?


They should have a global leaderboard with "shortest time to dock".

Tip: focus on one number at a time and zero out any rotation first. Then use only translation to move.

Oh, and go fast and hard, just like Jebediah Kerman would. :)


> They should have a global leaderboard with "shortest time to dock".

Another IMO interesting metric for a global leaderboard would be "least fuel consumed".


Probably a better one. Also, the one that fires the least near the station, as it's a bit of an annoyance if it causes contamination of sensors on the outside.


Finally. All of my years in the simulator will pay off.


If there's anything I've learned from Kerbal, the last 100 meters is the easy part - it's getting to the same place at the same time and at the same speed that's the trick. I can't count the number of times I've screamed past my space station at an extra 1000 m/s.


Those NASA people put manned spacecrafts in an orbit that it goes around ISS few kilos forward, back, above and below such as if they’re orbiting the station in the radial in-out plane, so they could inspect tiles and admire the station a bit, then settle and start docking from a point at aft(Z bar) or below(R bar) the ISS.

On emergencies they could punch Z and that’ll put the spacecraft cleanly away either back below or forward low then way up, you know how orbital mechanics does that.

This little game is for the final approach after that flyaround. They don’t mess around going full throttle towards target retrograde manually at Intersect 1 from different inclinations like we do.


Yup....though usually not at 1km/s (:

I've been playing KSP for years, and did the manual rendezvous in orbit thing a number of times. It's pretty tricky. For my play style, Mechanical Jeb is the way to go. Let the computer do the heavy lifting.


I prefer to use biological Jeb - which is why it's at 1 km/s. I really need to get a handle on the built in control and planning options.


It is a fun little game, and I managed to dock successfully using the instruments.

I'm confused by a few things in the user interface nevertheless.

The speed sign seems to be inverted. For example when it display a pitch speed of + 0.5°/sec, the pitch number will decrease by this value every second.

The Yaw and Pitch command are swapped between the display and the control. In the display Pitch is at the right while it command the up and down direction, and Yaw is displayed on the bottom while it command the left right direction.

For the pitch command pressing Up makes the pitch speed number decrease. (It's confusing). For the yaw command pressing right makes the yaw speed increase.

There seems to be lacking a display for the X speed Y speed and Z speed.

I don't understand the little arrow of the roll indicator.

It also took me a while to figure the correct axis correspondence.I'm used to forward=Z direction, Y-Up and X left-right where as here X=forward,Y=right,Z=up. It's not easy to discover at first because when you are currently rotating those number move simultaneously.


I think what you're considering inverted is your relative pitch/yaw/roll from the target. The target isn't <0.2 from 0, it's <0.2 from perfect alignment. Not having an indicator of translation speed is kinda lame, but I wound up docking with a total drift of 0.1 across all green numbers. Seemed like an achievement but was kinda let down by the success page, lol.


I’m glad this is available online. This is a very standard docking UI for spacecraft - everyone in the industry has an almost identical design. ULA has shown a simulator exactly like this in conferences for years now.


Really? I'd have thought they'd give the astronauts a proper 6DoF controller (e.g. a SpaceBall or SpaceMouse) instead of making them mash buttons like this.


Yea, with this interface docking this space pot feels like trying to draw in MS Paint with my mouse.


For maximum realism you'd play this on an iPad.


WASDQE control XYZ movement, arrow keys and command and period control XYZ rotation.


Really! The ULA person said it was the simulator used to train astronauts (it was inside a full scale model of the capsule) and it was just buttons.


That's... underwhelming. I have a much better interface in Kerbal Space Program, and that's playing IVA (from in-cabin perspective).

In particular, see Docking Port Alignment Indicator mod:

https://youtu.be/zaqCmnUfdzI?t=32

In KSP, I can dock blindly, looking only that little window labeled "DOCK ALIGN" alone. As you watch the video, note how it displays both velocity vectors, as well as component-wise relative speed difference (left/right and top/down with green lines, forward/backward as a number) and all 3 rotation axis on screen at the same time.


I’m reasonably certain an actual interface would have more than just two thruster strength settings...

It got a little twitchy near the end there.... really hard to keep the target on the green dot all the way in.

Only after two nervous aborts did I realize that I was still within margins even though the target was nowhere to be seen.


IIRC for many craft the real thrusters have only one strength setting, on and off - all control is solely through carefully timing the thrust duration.


The ULA people claimed that there simulator was the one used to train astronauts (it was a full mock up of a capsule with screens behind the windows), and the thruster controls were just buttons


Are you sure it's ULA? United Launch Alliance build rockets, not capsules. Boeing's Starliner is the closest analog to the SpaceX Crew Dragon.


Yeah maybe it was Boeing - are they associated with ULA or something?



This simulator would be so much better with this music!


For maximum Interstellar experience, type this in the console after the simulator loads:

  (function() {
    var clock = new THREE.Clock();
    var interstellar = function() {
      issObject.translateOnAxis(new THREE.Vector3(0, 0, 1), -20);
      issObject.rotateY(-7.12094334814*clock.getDelta());
      issObject.translateOnAxis(new THREE.Vector3(0, 0, 1), 20);
      requestAnimationFrame(interstellar);
    }
    interstellar();
  })()
(7.12094334814 is "68 RPM", if my math is correct.)

EDIT: Corrected rotation to spin around (roughly) the center of mass.


Use this, it'll orient the station correctly as well, and it should be possible to win this game as well, judging by a glance over the code.

var clock = new THREE.Clock(); issObject.rotateX(3.14/2); var interstellar = function() { issObject.rotateZ(-7.12094334814*clock.getDelta()); requestAnimationFrame(interstellar); } interstellar();

The numbers on the screen are useless with this though.


SpaceX: "Movement in space is slow and requires patience and precision"

Can't wait to see speedrunners prove otherwise.


A docking speedrun contest might be the only thing I'd put on my calendar to tune into on Twitch.


Docking speedrun with a real Dragon 2 in actual space docking to the actual ISS with real astronauts on board.

Now that's a pay-per-view moneymaker right there.


Very good illustration how "full inertial physics" works (in contrast to what can be seen in sci-fi movies).

This is a huge potential procrastination catalyst :-)


It shouldn’t be that hard to have the full inertial physics computer cancel out your current rotation/movement, so unless you’re absolutely trying to conserve fuel, Sci-fi ships are perfectly acceptable to me (aside from obvious warp/fantasy).


"Gravity" was quite accurate, no?


No. It's a great movie, but pretty much every bit of orbital dynamics was wrong, along with many other things. Here are a few articles explaining, and it's not hard to find more: https://science.time.com/2013/10/01/what-gravity-gets-right-..., https://slate.com/technology/2013/10/bad-astronomy-movie-rev..., https://www.spaceanswers.com/space-exploration/16-things-gra...


In some ways... In many other ways the physics was wildly inaccurate.


The rope scene always bothers me. Why are the ropes and the strap taut after the first snap? What’s pushing him away? It sure isn’t wind! And there is no rotation either.

[0] https://youtu.be/DYDaIyfitn8


In the frame of the orbiting station, there is the tidal force, which is proportion to distance from the point where the rope is fixed on the station. But even if he was 100m away, tidal force would be like 7 grams.

So tidal force can't be it. The most likely reason would be some part of the station venting gas out, accelerating. The gas could blow towards the astronaut to make it worse.


Given how fast and loose the movie played with physics in general (orbital mechanics, especially), I wouldn't go too far out of my way to try to explain gaps.


you could see another spacestation, and somehow get there!


To hell with the ISS, I'm flying back to Earth!


You're more accurately failing to miss hitting the ground while falling.


I've flown enough "flight assist off" in Elite Dangerous so this worked exactly like I expected it to :)

I hope someone makes a game like Elite Dangerous without care for actual gameplay, and even more realism. For example, with FA off in ED, there's still a speed limit that varies from ship to ship.


"Rogue system" might be what you are looking for.

https://www.youtube.com/watch?v=vziIgAtD66s


Wow, that looks _amazing_, thanks! :D


You might enjoy kerbal space program.


KSP is more of a mission control simulator than a pilot simulator, afaik? I haven't played kerbal a lot..


Try challenges or missions in some recent version. Puts you right away in a pilot seat. Mods add extra flair by adding better cabin interiors and more instruments


I just came to say the same thing!


It is quite difficult to control with the mouse. It's basically impossible to kill rotation or velocity along a given axis. So one ends up with bang-bang control, constantly oscillating around the target. I am also somewhat horrified to learn that manual flight might be like this to, through the touchscreen[0]. Although there do appear to be some joysticks the astronauts can use, so hopefully this is just training for contingencies.

[0]https://techcrunch.com/2020/05/04/this-is-certainly-differen...


RCS is always bang-bang, bang-bang means you input like PWM or PDM for rate and not like a throttle or a yoke for force.

I think the thrusters are a bit too powerful even at fine mode and numbers needs more precision.


Well, it can also be whoosh-whoosh (in the case of cold gas thrusters)


You can control it with the keyboard too, though that's not in the help. For rotation control use the numeric keypad, for translation the QWEASD region (and maybe ZXC). Experiment a bit since I don't know exactly which key does what.

It's still bang-bang control, that's the nature of RCS thrusters, but the keyboard makes it easier than the mouse.


I used only the mouse. I was able to get pitch, yaw and rotation to zero but never translation.


much easier with the keyboard controls - wasd + qe and 8456 + 79


Rotate, Translate, Approach. By the numbers, ignore the graphics.


Once rotate is dead on and stable, translate and approach can be helped by the graphics.


Only if you're very close. Trust the Kerbal greybeard (greenbeard?) me, visuals are misleading you about relative velocities.


Thanks for the tip!


Reminds me of the old days of the internet when you would randomly come across neat little Flash games like this.


Play with this as audio in the background: https://www.youtube.com/watch?v=r_BRFa6s9fs



You are both wrong: this is the best one:

https://www.youtube.com/watch?v=zZe-NidizL8


No no no. We all had this playing in our heads:

https://youtube.com/watch?v=s2pphLBmdsQ


This is a SpaceX sim isn't it?

https://www.youtube.com/watch?v=Mg-Nksc7Oh0


Nope. Made for KSP in 2012-2013. Royalty free and Musk is a fan, so they use the tracks. It’s starting to show up in other space media too.

https://wiki.kerbalspaceprogram.com/wiki/Soundtrack


I'm so happy the station is not rotating...



At least in the Kubrick version, the docking port is on the rotation axis.


I like the "Flat Earth" setting.


Sadly you can't crash into the tesla, or bump it. I'll stick with KSP.


There's code for loading a Tesla hidden in there. Tried to activate it, but something I haven't tracked down yet keeps undisplaying the mesh.


Years of Kerbal Space Program have prepared me for this moment. Almost felt easy, what with RCS thrusters that were actually balanced and not spinning me around when trying to translate (or vice versa), and having already been put in a stationkeeping orbit. Just needed to line up rotation, then Y/Z, then put X+ in the red, grab an early morning beer, come back, and make some final adjustments while slowing back down for contact.

If this really is the same UI used for manual docking, I'd be a bit worried about the lack of visual feedback when translating forward/backward. I guess in a real Dragon 2 you'd probably feel the RCS thrusters, but without that it's pretty jarring.


Pretty cool.

I had a NaN m/s and weird things like -0.0 and 0.0.

I am hoping it is not the actual "controls of actual interface" [sic - obvious typo is obvious?].

Seeing "NaN" on your control panel in space as you are trying to manually dock must be a fun moment :-)


I always see NaN m/s. The -0.0 and (+)0.0 makes sense given that it's -0.004 or +0.004 or whatever.


It's just like I am playing Kerbal Space Program with all the infuriating physics.


At least the thrust is balanced so that translation in any of the axes doesn't cause the Dragon to start spinning.


Has anyone been able to dock with the Roadster? It's flying around somewhere :)


After you've docked a few times, try orbiting the ISS. Remember your basic physics: set up some sideways motion, then keep rotating to face the ISS while thrusting towards it. The sim will end if you stray too far.


I made a working autopilot in a userscript: https://youtu.be/JbWJ6EDodqc (Luckily, RCS fuel is unlimited).


I'd love to see your code!


This was a lot of fun, on the first attempt had no idea even what the controls did and of course failed. But on the second go was able to get it all lined up and dock perfectly. Ready for NASA.


Tangent, but the killer app for VR devices is space sims with a joystick, something like Elite: Dangerous.

Space sims are the only thing where you realize there’s no going back once you do it in VR.


The Prepar3d flight sim supports VR headsets today.

http://www.prepar3d.com/SDKv3/LearningCenter/getting_started...


Flight sims in general sound exciting with VR. In fact the new Microsoft Flight Simulator might actually finally push me to pull the trigger a headset.


Flight simulators map a lot of inputs to the keyboard. Is it feasible to fly while using a VR headset? Can motion controls be used to interact with the cockpit?


I use a joystick with the headset. If you are going to do the headset, might as well go all in with a joystick (or flight specific controllers).

https://www.amazon.com/Logitech-Flight-Rhino-Certified-Refur...


There's a buying guide for joysticks on the hoggit wiki:

https://wiki.hoggitworld.com/view/Peripherals_Guide#Joystick...

Hoggit is a subreddit for the military flight simulator DCS World https://en.wikipedia.org/wiki/Digital_Combat_Simulator


Nice to see Thrustmaster's getting some competition. These HOTAS controllers are awesome but do they have enough buttons for everything? I was under the impression a keyboard was still necessary for less frequently used inputs.


It’s hard to say since I don’t play hardcore flight sims like Microsoft Flight Simulator. With a VR headset you will still suffer from the ‘needing to peek out of the bottom gap to see your keyboard’ syndrome, but if you can get past that over time, it ups the experience for these types of games.

I was able to pick up a used HTC Vive from Microcenter for about about $300 (surprise, lots of people buy it and don’t use it, so there’s deals out there), so you might be able to keep your financial footprint pretty low to try things out.

Definitely encourage you to look into it, dog fighting in Elite: Dangerous involves me looking all around, behind me, below me, it’s a totally unmatched experienced.


This shows the value of training and realistic simulations. The first time I gave this a go, I completely failed. If I had really been in space the mission would have failed and potentially lives lost. But I learnt a lot and the next attempt was successful. The reality is that on-the-job training is best where the cost of failure is low. But where failures are costly or dangerous simulations are incredibly useful.


Also look behind you


The Unity engine is the best thing to ever happen to aerospace UIs. Makes this feel like the actual future (I think) we all imagine.


I think it uses three.js, as it's defined on the window object.


Is there any way to switch to KURS?


I find it mind-boggling I had less difficulty docking at the ISS than landing a fighter jet in DCS World.

On the other hand, being able to stop the module and zero all unnecessary movement before proceeding to dock is something I can't do with aircraft on Earth.


Lack of propellant limit makes this game fairly trivial after you "get" it.


I think it helps if you play the Blue Danube Waltz while you do this.


This is pretty cool! But I found little challenge in this simulation. Basically just correct your roll, pitch and yaw, then steer towards the target. Slow down at the end.

The easter eggs are fun though!


I was like this then at the last few seconds I fucked it up :D


Is this to generate training data for your AI to the job? :D


Is it just me or are the velocity numbers inverted?


The pitch/yaw/roll rates have opposite sign to what I would expect (at least as a layman). Positive rate means decreasing angle.


The yaw axis certain is. Probably the difference between X-Nadir-Normal and XYZ frames.


There's a red tesla right behind the shuttle.


Surprised they don't have a computer do this.


They do. And I guess that manual operation is possible, but it's rather an emergency option only.

Fully automated docking for Soyuz capsules called Kurs[1] was developed in 80's for flights to Mir. When USSR dissolved and it turned out that this system was fully owned by Ukraine, Russian space agency tried to test how viable is to dock via manual bakup docking system TORU[2], which failed and damaged the space station. On the other hand, there is at least one occasion when Kurs failed and the manual backup saved the docking.

[1] https://en.wikipedia.org/wiki/Kurs_(docking_navigation_syste... [2] https://en.wikipedia.org/wiki/TORU


You’re understating the TORU mishap a little. Apparently they still needed KURS to get rangefinding and telemetry from the Progress supply craft, but KURS interfered with the signal for TORU so they shut it off and tried having a guy shine a laser rangefinder out the window at it instead. That didn’t work so they just tried to eyeball it instead, resulting in the crash which destroyed an expensive space station module and forced the crew to scramble to save the station from depressurizing completely.


They do, Dragon 2 docking is fully automated.

The manual controls are a backup.


Did they get approved for full auto? Last I looked, only Kurs-equipped were allowed, everyone else got moved with Canadarm.


Dragon 2 lacks the grapple point necessary for the Canadarm to grab it (unlike Dragon 1, which did indeed get berthed using the arm).

Dragon 2 has already done an autonomous docking to the ISS, as part of the DM-1 mission.


Tesla almost has self-driving cars but SpaceX can't self-drive this? There is no snow, rain, children chasing balls.


Who do you think docks their uncrewed dragon capsule? They definitely have automated docking. This is for emergency manual override.


As far as I know it flies autonomously to within a certain range, then gets piloted by crew members on the ISS until it's close enough to be grabbed by the Canadarm for berthing to the station.


It's been a year since they successfully automated docking https://www.theverge.com/2019/3/3/18244501/spacex-crew-drago...


Its because astronauts want to have something to do


This is actually a legit answer. It's the same exact reason why the Space Shuttle relied heavily on manual flight controls even though it fully supported almost-entirely-automated flights like the Buran did. Astronauts seem to get more satisfaction out of actually flying their spacecraft rather than just riding in 'em as passengers.


lol, if you go into settings you can change the Earth: setting to be "Flat"

Not sure what that says, but it says something.


great to see an accurate simulation that takes into account very slight differences in orbital trajectory


Is this the way it is done in real life? Wouldn't it be better to let a computer handle this?


I was thinking that the ends of the masts would be excellent places for a machine vision high-contrast target, and maybe also the bottom of the cupola for full 6 axis machine correction. I doubt we'll be taking a human out of the loop anytime soon, though.


It's a really simple task (so humans getting it wrong isn't a major concern), the crew needs to be on board, trained, and equipped with manual controls anyways (for contingencies), so... why spend effort automating it?


Fix the angles first, then move in parallel to the target. It's quite easy.


Would be useful it seems to have a flight path marker on the display.


The loading animation reminds me of the warping effect in EVE Online.


Super cool. Good thing they don't let me fly spaceships though!


While it was mildly infuriating that there were 2 zeroes -- +0.00 and -0.00 -- in the game, admittedly, I also enjoyed having that as an extra transitioning step to stay within the acceptable docking range


They should train an AI to do that.


Awesome simulator!


wow,owesome!


So Elon Musk can't afford the time to buy a house, but his company can spend the time to make this simulator for kicks.

OK


Musk is concerned about coronavirus and social distancing so doesn't want to endanger people by going house hunting.


This the same guy sueing the state of California (with threats of leaving for a more pliable state regime) to get his minions back to the grind in opposition of health recommendations for physical isolation? He cares so much he wants them to beat the virus... on their own... tomorrow.


Surprisingly, this is actually true.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: