!!! Mediawiki has been upgraded !!!
Slack integration has been disabled for now due to an incompatibility.
If you want to testdrive the new skin (Tweeki), make sure your language settings are set to 'en - English' in your preferences!

Brixel Project Kerbal

From Brixel - Hackerspace Hasselt
Jump to: navigation, search


Project: Brixel's Project Kerbal
350x350px
Description: The most awesome kerbal controller ever built
Status: In progress
Participants: Woutervddn
Expertise: Rocket Science, Arduino, Electronics, Design
Edit tags: Brixel Project Kerbal


Brixel Project Kerbal

Because Space!

This project has as aim to become the most awesome Kerbal controller out there. We'll be doing this for 3 reasons:

  • Because Space
  • Because Kerbal is Awesome
  • For science

For a "live" status of our progress, visit kspStatus

Setup

The block layout for our KSP controller

Cabinet

The display will be housed inside our Thrill Drive arcade cabinet. Though we stripped the original projector out and will incorporate a new beamer. This because the old one didn't work and had a crappy resolution to begin with. This unit will also house the computer on which Kerbal will be running. as well as easy accessible connectors for Keyboard and Mouse or we can use a wireless keyboard and mouse. For the beamer we can use the one from Wouter if it gets fixed, or we find another one. The cabinet also has it's own switch, this makes it easy to incorporate addons later. (Who's to say that we'll never build a ground tracking station... ;) )

We're still looking for a donor computer that has enough "umph" to rock Kerbal with the mods we want. I opted to use Ubuntu as a base system for a couple of reasons:

  • It's not windows, so that means no license required
  • Hopefully more safe, although no-one should touch it outside of the game anyway
  • Kerbal runs fairly well on it

We're not sure which version of KSP we'll be using. Personally I'm a little reluctant to leave my steam credentials on a public machine. But we might get a cheaper version of KSP when we apply for their educational version: http://kerbaledu.com/purchase (We should figure this out once everything is up and running).

On KSP we'll be using a couple of mods:

  • Telemachus: this is the most important one as it enables the readout of telemetry data over a website (ip:port/page) where port is usually 8085 and page can be an api or a graphical page. One requirement though is that all vessels that you want to control from Telemachus actually has a telemachus antenna installed. These antenna's do use battery, so you better pack one extra!
  • Mechjeb is a mod that allows for advanced auto maneuvers like going to orbit on the most fuel efficient way. Although this complicates the game for beginners, it makes going to Mun or Nimus a lot easier. An added benefit of Mechjeb is that Telemachus has support for a couple of cool Mechjeb functions:
    • Camera view (possible Kerbal view, although I'm not sure of it)
    • Smart A.S.S. controls
  • EnvironmentalVisualEnhancements or another plugin to enrich the visuals of the game. This adds clouds and city lights and such. Once again, this will only be possible if our donor computer has enough "Umph"
  • Glass Cockpit is basically an extension of telemachus as it allows you to view the navball over your webclient

Chair

The Chair really is an understatement... The original Thrill drive cabinet came with a chair. We don't have that chair. This is both a blessing and a curse. I'd like to come up with a unit that bolts onto the cabinet and has a cockpit like experience. This includes an actual racing chair or sorts and all necessary control surfaces. For now, we'll just start with hacked control surfaces on a table and the first chair we'll find in the space... ;)

The chair will connect to the arcade cabinet through the network. Although, we might want to foresee that we'll be incorporating mouse/keyboard, audio, light effects,... but that remains to be seen. Quite frankly I'm not sure if our input devices should be approached through KAPCOM or emulate a HID keyboard/joystick and be plugged in directly to the donor computers USB.

The raspberry pi will serve as a central hub for interfacing the game with the I/O. On the one hand we can use the pi to display a browser window with a navball on it. On the other hand we can run KAPCOM on it. This does free up some cpu and memory on the donor computer. Furthermore, it's easier to plug in an ethernet cable than foresee a giant usb cable to plug in the Arduino directly.

KAPCOM is a python program that aims to make serial interfacing between KSP/Telemachus and physical I/O much easier. It listens for requests from an Arduino and provides the correct api calls to KSP/Telemachus.

The Arduino will run a modified version of the KAPCOM Arduino side code. Since we'll have a bunch of I/O we can try to mod the arduino code to talk to I/O over I²C. We could then make "control units" all with their own AtMega, talking to the central Arduino who in his turn talks to the AtMega's over I²C.

Last but not least we might have a Toughbook with touchscreen to incorporate in our setup. We could use this to display the map mode. We're still figuring out if we can make a map mode that looks more like the in flight map mode, but so far no luck.

Extra Ideas

  • Building a ground station based on the Telemachus telemetry data, make it look like NASA or SPACE X mission control and play "Houston we've got a problem", or built ISS based on instructions from the ground station: "Negative ISS flight 34, the docking port was destroyed when the idiot before you ignited his thrusters towards it. Let's wait 3 hours until the sun comes up and then try to enter the space station using your EVA packs."
  • Make the donor PC and PI swappable so you can use the same hardware to control model rockets.
  • Built a real rocket or steal one from the Russians and try to get that in orbit. Watch out for trees though!

Inspiration