Matthieu LABAN
.NET, My Life, Flight Simulation and Real Flight...

 
About Me :
25 Years old developer and aviation
enthusiast living in Santa Clara, California.
View Matthieu Laban's profile on LinkedIn 
Contact me at :
mlaban at gmail dot com


Photo & Video Galleries:
- Gallery List
- Flight Videos
Resume :
e-mail me to get my latest résumé
Remote Aircraft Flight Model Configuration System 

The citabria is almost done... The moving parts, cockpit, wheels, painting are all done and the flight model is close to the real thing now, thanks to a new feature of FSP called Remote Aircraft Flight Model Configuration System.
 
Tweaking a flight model in FSP involves two things:

  • Flying the airplane and figure out what's wrong with the flight model
  • Changing values to fix what's wrong

There are 2 types of values to edit in the form of straight floating point values (wing area, various coefficients...) or curves (lift and drag profiles).
 
Doing these editions while flying can be very painful because the game has to be paused to allow value editing without crashing. This laps makes you lose the feeling you had just before the value was edited... and when you know you are very close to the ideal value, it's frustrating to go back and forth between the game and the tweaking window...
 
There was an idea that had been in the back of my head for quite some time. Making this a team work. Obviously, doing it on a single computer is possible, but focus still has to be taken away from the main application, making keyboard shortcuts unusable.
 
The solution is to allow remote configuration, over some sort of connection.
 
After showing the Citabria video (see below) to Bruno, he told me he had to come and check it out!
 


Aerobatics in a Citabria! from Matt on Vimeo.

I thought, what a good opportunity to finally make the remote thingy work!
 
It took roughly 4 hours to make everything functional, with quite a bit of wandering around, exploring several techniques.
 
The approach I took was to use .NET Remoting. Remoting is great as it keeps me from having to mess with connection settings, sending data... A few lines of code can do all that setup work for you.
 
The initial idea was to expose the AircraftParams instance that contains all the aircraft flight model values, retrieve it on the other side of the connection, and display the proxy object in the property grid...
 
Unfortunately, this didn't quite work out the way I thought it would... The property grid was not happy about the proxy object and unable to traverse it with reflection :-(
Since I was certainly not going to copy every field manually to another instance, or even display properties in text boxes a la MFC, I needed another idea...
 
I eventually settled on something simple. Having a wrapper class what would be exposed through remoting, with a property returning a string containing the xml-serialized objects of the aircraft params.
 
I didn't serialize the entire object as I couldn't really replace it when the values were updated since it was referenced by others objects in the app. I could however replace the instances containing the flight model parameters, which are only used locally and have no events.
 
I added little helper to serialize/deserialize on both sides and voila!
 
Bruno and I gave it a test ride and he could fly the aircraft while I was tweaking the values on another machine! Pretty sweet!
 
Here are some pics of the tweaking flight... (Disregard the mess on the desk, it is temporary... ;)

 

Quick comment about the accuracy of news reports... 

I don't know about you, but when I read an article in the mainstream media (CNN, CBS, or any of those...) that is about any of the topics I have some knowledge in, there is always a WTF in it...
 
The one that appears the most is in aviation articles... like this one [cnn.com]

"The aircraft cracked in two after it crashed at the end of runway 220"
There is no runway 220... not even a 22... but a 20...
 
 Another example [dailymail.co.uk] :

"He said air traffic control had come on the radio and said 'climb, climb, climb 10,000ft, you are going to hit a plane"
 
Air traffic control would never say that, and they probably meant climb to 10'000 feet (from an altitude below that...)... You don't need a 10'000 feet avoidance maneuver to avoid another plane... And the news guys reports that, and make this complete BS the headline! Seriously...
 
On a side node, I find it also very shocking is that the guy reporting this horrible incident gave them his picture and told them he was the CEO of a website which was mentioned in the article... WTF is that about!
 
So I realize when I read those... what are all the stupid things that they write in the medical, finance, space stories that are completely wrong and misleading?? I wouldn't know, I'm no expert at those... but by extrapolating, I can guess that these articles are as full of BS from dumb reporters as the aviation and computer related articles...
FSP News, Twitter... 

I mentioned here a few months ago that I had found a name for the simulator... I'm not quite ready to reveal it yet... but I'm working on the website...
I've got two versions... one fully in Silverlight 2.0 and one in boring old html+css... I'm not sure which one to use...
 
On the coding side, not much has changed... Lots of things have kept me away from VS2008 these past few weeks... but I'm glad to say they are sorting out... at least I hope...
I'm currently working on modeling a Citabria 7ECA in FSP. This will be the second tail dragger in the simulator, the first one being a Piper J3 with an extremely lousy flight model...
 
Having real flight experience in a 7ECA will certainly help... at least for the non aerobatic part... I'll leave the +60 degree of bank and +30 degree of pitch flight envelope for Bruno to tweak ;-)
 
The 3D model is not complete yet, but the basic shape + initial texturing is done and it looks pretty nice already. I haven't modeled the interior yet, but that'll come last as it's my least favorite part of aircraft modeling...
 
In other news, I now have a twitter account... for those who want to follow, here is where you need to go:
http://www.twitter.com/mlaban
 
Time for a bit of GTA IV before going to bed...

Hiking for the Lazy Aviator 

Last saturday, Julie and I went hiking with a group of friends in a park in the mountains between San Mateo and Half Moon Bay. It was quite cool, and it brought back some memories of when I was a kid... when my parents would take me and my 2 brothers in the hiking trails in the region of Lyon.

The total distance we walked was 7 miles, and it took us a few hours.

The next day, I had scheduled a flight in a Citabria and the weather was more than perfect, so I headed for the hiking trail, just to see what it looked like from above... and it is quite small! I circled around the entire trail in about... 30 seconds :-)

After this 30 second hike, I went on along the coast all the way down to Santa Cruz... then back to Palo Alto for a few touch and goes... 1.5 hours of fun!