Jump to content

Hardware Cockpit with Mod for external instruments


artwhaley

Recommended Posts

I'm working on a Kerbal related project for the Hackaday Prize, and thought it might be good to get conversation started here for suggestions, as I do want it to be as useful to other people as possible!

I'm building a hardware cockpit for three 7th-12th grade students to fly a simulated space mission. I'll be catching all of the physical button presses with a TI Connected Launchpad microcontroller board. Most of the buttons it will just convert to keypresses via it's USB port, but for advanced stuff (Mechjeb control!) the Launchpad will send commands via the network. For the moment I'm going to use Telemachus to catch these commands and relay them to mechjeb, though I do plan to eventually build this into my own plugin, so you won't have to run both of them. I'm attaching a pic of the buttons - the pic really highlights the tiny bubbles and wrinkles in the panel labels... in person these are barely noticeable and the boards look like they have a piano finish!

On the data out side, I'm writing a plugin that will use HTTP post to spit out all of the relevant flight data to an external C# application that will render a full cockpit's worth of instruments. I'm planning to use two monitors to display all of these. On the project page you can see a test render in the youtube video showing the first single screen mockup. The artificial horizon and orbit info display both fully work now! I'm heavily deriving my plugin from GoAtThrottleUp... I started with Telemachus, but the amount of data I was trying to drag out of it was causing performance hits in the game... so I looked at GoAtThrottleUp, then tried to go my own way... but I kept running into issues they'd already solved... so my code keeps looking more and more like theirs. I'm thinking I'll eventually start over with their code and fork it so my plugin winds up being completely backwards compatible with their relay server if you prefer the python/web-browser approach to my standalone c# method of using the data.

At the moment I'm planning to use the left screen to display:

Orbit Info Window

Docking Assistance Window (similar to Navyfish's ingame plugin)

Landing Data - Pitch, Roll, Yaw, Horizontal and Vertical Speeds, Altitude (both ASL and AGL) and remaining deltaV

On the right screen I'm wanting to display:

Artificial Horizon

Rendezvous and Transfer data

Time to Next Node and Delta V

Engineering Panel with resource and staging information

Once the bugs are out I plan to release my KSP plugin that spits out data- along with both a barebones C# project that just grabs all of that data and puts it into variables (for use as a template for other people's projects) and the full two screen instrument package I'll be using.

Are there other features that would be useful in this package? I looked at the external camera system that GoAtThrottleUp has put together... and it's awesome, but on my system it was too slow on refresh rate to be all that useful, so I decided not to implement external cams at this time...

I... like every other plug maker... wish I had a good plan for a 'map view' replacement that let you create and edit maneuver nodes... but at the moment this challenge is beyond me. I suppose I probably could hook in triggers for mechjeb's maneuver planner - so you could have a few commands - circularize at ap, circularize at pe, Hohmann transfer to target, match velocity at closest approach... what else would you want?

Anyway - the project page is here:

http://hackaday.io/project/2774-Send-Everyone-To-Space!

I will update this thread with progress... and I will REALLY appreciate suggestions along the way. Once I'm reasonably certain it won't cause anything to smoke I'll start a release thread with links to code and such!

1864431408906955583.png

4019501408840770701.jpg

Link to comment
Share on other sites

This sounds pretty cool!

Regarding your issues spitting out information, you might want to flip it. Poll KSP for the information, rather than push.

Push gives complications like, what happens if your push update takes longer for the remote server to process than the time between update pushes?

Whereas a pull (like using telemachus) means that the processing time is limited by the KSP end.

If polling telemachus is causing performance issues, it sounds like telemachus hasn't separated out enough of his web server related code?

Otherwise sounds fun! I'll keep an eye on this thread.

Regarding a "map" view, the 2d map they use in orbiter is kind of useful for "visualising" your orbit. It isn't particularly useful for showing orbits in 3 dimensions however! (And just as if not even more useless for node creation!)

orbit-mfd.jpg

Just describing that: the circle is the "earth" or "ground" and the little elipse is the current "orbit". I think this image is showing a ship stationary on the ground. (a little forward momentum, and positioned on the circle - AKA traveling at 0 "surface" velocity)

Edited by MeateaW
more detail.
Link to comment
Share on other sites

This sounds pretty cool!

Regarding your issues spitting out information, you might want to flip it. Poll KSP for the information, rather than push.

Push gives complications like, what happens if your push update takes longer for the remote server to process than the time between update pushes?

Whereas a pull (like using telemachus) means that the processing time is limited by the KSP end.

If polling telemachus is causing performance issues, it sounds like telemachus hasn't separated out enough of his web server related code?

Otherwise sounds fun! I'll keep an eye on this thread.

Regarding a "map" view, the 2d map they use in orbiter is kind of useful for "visualising" your orbit. It isn't particularly useful for showing orbits in 3 dimensions however! (And just as if not even more useless for node creation!)

http://orbitertraining.files.wordpress.com/2012/02/orbit-mfd.jpg

Just describing that: the circle is the "earth" or "ground" and the little elipse is the current "orbit". I think this image is showing a ship stationary on the ground. (a little forward momentum, and positioned on the circle - AKA traveling at 0 "surface" velocity)

Yeah, i like the orbital map from orbiter but i wonder if it's possible to impliment the 3D map mfd?

ImpactPoint2.PNG

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...