- Netduino Forums
- → Luke Cummings's Content
Luke Cummings's Content
There have been 38 items by Luke Cummings (Search limited from 23-May 23)
#8578 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 27 January 2011 - 07:08 PM in Project Showcase
#8559 Coding style discussion
Posted by Luke Cummings on 27 January 2011 - 04:07 PM in General Discussion
Move your _coefficients.Length statement to it's own local variable, before you loop and then reference that. It's much faster in netMF than referencing the property.
Also, underscores are against most best practices for .Net
Hey Mark, good catch i didn't even notice I did that. Also the _privateMember or m_privateMember is apart of most c# coding standards I've seen.
#8534 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 27 January 2011 - 07:57 AM in Project Showcase
Brandon, you may want to avoid making multiple posts in a row. It makes it very difficult to read the thread.
As for DR&Expo, if you have a computer radio, you can program that in.
I recommend you get a computer radio so you can switch back and forth between multiple DR&Expo settings. I use gentle settings for departure and tighter settings for cruising.
Chris, you may want to avoid being a dbag too many times in a row. It makes it very difficult to read the thread.
#8400 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 25 January 2011 - 05:00 PM in Project Showcase
i thought we were a bit more stable, we still have some work to do then
I add much more success last night, I've had a few hard crashes so I need to spend some time on the hardware.
#8398 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 25 January 2011 - 03:53 PM in Project Showcase
#8301 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 24 January 2011 - 03:02 PM in Project Showcase
I would highly writing the control code in native code, and then just calling into it for "command and control" purposes. Basically, the native code does the stabilization and maybe the radio control (so it doesn't go in the wrong direction) but then C# handles the rest.
What is the rest (the part that's not in the control loop)?
Chris
Chris,
You make my point exactly: What is the rest?
If we take the control loop out pretty much nothing and we are looking at Aeroquad ARM. I just wanted to put this out there:
I learned assembly on ARM, I specnt a lot of time in school writing for ARM. Granted I haven't been doing much with that for the last few years, if I truly wanted I could just make Aeroquad ARM version. I think we all need to re-examine our motivation here. For me there is only one reason to program in C#; intellisense. Cheap(free), fast, and good all at the same time(to counter-point my tag line), thats what I want to be able to offer.
I started my quad by working with Aeroquad, then I snapped my arduino in half in a crash. So I decided to try to port to this awesome teensyduino I had laying around. Needless to say that was a chore, after a couple of weeks I gave up. I came up with a new idea, try it on .NET. At the time picked GHI's offering due to the faster processor thinking that would help offset some of the slowness. But that's not the point, the point is I flew one week later. In all my tests so far I have never experienced some sort of instability in .net, granted lots of instability in my control code.
So if you couldn't tell already, my vote is keeping as much as we can in .NET. Drivers are native, drivers are always native. If the firmware is missing something we need (ie reading pulses from the radio), then lets put it in. Edit: (I meant native code in general, possibly Cory's approach) There is only one reason I could write FEZiquad in one week and have it fly, because its .NET.
Anyways I just wanted to get that out there, hopefully we can start off with this goal in mind.
#8298 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 24 January 2011 - 02:31 PM in Project Showcase
Brandon,
I'm honestly not trying to be pessimistic, I am simply trying to be realistic about the capabilities of NETMF and the hardware at hand. I have a very large amount of experience working with embedded devices and and I also have a very respectable amount of experience implementing, debugging and tuning control loops in autopilot applications.
The thing about quadcopters is that if it fails, it will fail spectacularly, at least resulting in damage to props, probably more. I have actually killed PCBs in quad crashes before due to the intense force involved.
I can certainly understand your enthusiasm in implementing such a system within something that flies, however I may recommend that you practice your EE skills on something that doesn't have the ability to single handedly destroy all hardware involved, not to mention inflict bodily harm (a 12" prop stuck in the wall is not fun...). I'm not saying that you shouldn't do a quadcopter or obey my advice, either, however I would recommend that you seriously consider the limitations of the systems involved.
If you really want to develop autopilot applications in C# .NETMF, I might also recommend that you look into doing it on something like an RC car/boat/hovercraft, etc. All of these are very appropriate for NETMF and I personally have a NETMF powered RC car autopilot project. It's more fun than it sounds and you can always do other stuff like cruise control, etc.
Otherwise, feel free to ignore my advice and proceed. I'm only trying to help
Chris,
I think the point is we alredy are proceeding, I have been flying on .net for the last two days.
#8252 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 24 January 2011 - 06:13 AM in Project Showcase
#8231 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 24 January 2011 - 02:05 AM in Project Showcase
#8201 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 23 January 2011 - 07:45 PM in Project Showcase
#8136 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 23 January 2011 - 03:58 AM in Project Showcase
#8037 I2C Devices using the I2CBus class
Posted by Luke Cummings on 21 January 2011 - 02:09 AM in Project Showcase
I've already touched on this. It can be used by pretty much any I2C device on probably any .NET Micro Framework device.
My work -> A derivative of Pavel Bansky's I2CBus class, but implements the singleton pattern (because it should be implementing the singleton pattern since you are supposed to only have one instance of the I2CDevice class.) You really might want to explore using the singleton pattern so that you guarantee that there is only one instance of the I2CDevice being used by your I2C devices.
I used this in the Bosch BMP085 Digital Pressure and Temperature Sensor
FYI my singleton implementation of the I2CBus class is being used in several projects with as many as four I2C devices on operating on the same bus.
phantom I just finished reworking my quad project to including your I2CBus, works fantastic! I really like this approach, elegant and simple.
Cheers!
#7924 Quad.Net Quadrocopter for .NETMF
Posted by Luke Cummings on 19 January 2011 - 06:46 PM in Project Showcase
- Netduino Forums
- → Luke Cummings's Content
- Privacy Policy