dmgoedde
Dec 17, 2008, 08:47 AM
Take a look here at Jason Edelberg's entry into the Propeller Chip 2008 design contest: http://www.parallax.com/tabid/704/Default.aspx
By nature of this design contest, this is open-source. It might be a good place to start for those wanting something to get them off the ground so to speak. For example, learn what Jason did, then tweak and experiment.
This is a MEMS IMU based system, with what appears to be a rudimentary Kalman filter, although Jason claims it is not, and instead a fuzzy logic method of blending the IMU sensor data. Jason's methos uses integer math instead of floating point. He calls it psuedo floating point, and uses integers in (for example) 1000x multiplied form to emulate decimal values to 0.001.
I don't purport to speak for Jason. The only reason I post this is because it is already in the public domain, and will likely be of interest to people here. I've reproduced the attachments here (source code and description).
Funny that the name of his system is "OughtTo Pilot". Makes me wonder if the name is inspired by "AttoPilot" name.
I reviewed the code for about 10 minutes, and can tell you it is nothing like Atto's code (sorry to those hoping to see my code)... some observations:
1) only a few Rx inputs are read, and they are read via tap off from the Rx like Paparazzi does (not measured on a per-channel basis)
2) Jason claims it only hits waypoints about 20% of the time.
3) It seems (from description) to only accept 1 waypoint. I didn't really dig into the code.
In my opinion this is a great starting place for interested folks. You can play around with how many Rx inputs are read and number of servos controlled, tweak the Kalman-ish filter and perhaps add a yaw gyro and fuse in GPS data, play around with correcting for centripetal forces or otherwise augment the kinematic model, experiment with navigation math.
Dean
By nature of this design contest, this is open-source. It might be a good place to start for those wanting something to get them off the ground so to speak. For example, learn what Jason did, then tweak and experiment.
This is a MEMS IMU based system, with what appears to be a rudimentary Kalman filter, although Jason claims it is not, and instead a fuzzy logic method of blending the IMU sensor data. Jason's methos uses integer math instead of floating point. He calls it psuedo floating point, and uses integers in (for example) 1000x multiplied form to emulate decimal values to 0.001.
I don't purport to speak for Jason. The only reason I post this is because it is already in the public domain, and will likely be of interest to people here. I've reproduced the attachments here (source code and description).
Funny that the name of his system is "OughtTo Pilot". Makes me wonder if the name is inspired by "AttoPilot" name.
I reviewed the code for about 10 minutes, and can tell you it is nothing like Atto's code (sorry to those hoping to see my code)... some observations:
1) only a few Rx inputs are read, and they are read via tap off from the Rx like Paparazzi does (not measured on a per-channel basis)
2) Jason claims it only hits waypoints about 20% of the time.
3) It seems (from description) to only accept 1 waypoint. I didn't really dig into the code.
In my opinion this is a great starting place for interested folks. You can play around with how many Rx inputs are read and number of servos controlled, tweak the Kalman-ish filter and perhaps add a yaw gyro and fuse in GPS data, play around with correcting for centripetal forces or otherwise augment the kinematic model, experiment with navigation math.
Dean