Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

Brandon G's Content

There have been 92 items by Brandon G (Search limited from 07-June 23)


By content type

See this member's


Sort by                Order  

#8360 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 25 January 2011 - 06:12 AM in Project Showcase

Day 2 of hardware testing with new code (in total 2 weeks old) on NETMF, IT HOVERS! Video tomorrow!



#8266 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 24 January 2011 - 08:31 AM in Project Showcase

I also think there is a reason that the original thread is in the top 5 most viewed threads in netduino forum, other people want to see it too



#16328 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 04 August 2011 - 03:52 PM in Project Showcase

Hi guys, Long time, I have fallen into an abyss of work and have not been able to track back at all here. Last bit of progress was a generic plug and play driver system that is 90% finished. Luke and I touched base the other day and as my work schedule slows we will be back to contributing. Will post back here as soon as I can Brandon



#9009 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 04 February 2011 - 08:52 PM in Project Showcase

Thanks Zerov, do you want commit authority on the source? I've looke at your stuff as well, i think there's alot we can do to help one another, like your circular byte collection code.



#7783 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 16 January 2011 - 11:49 PM in Project Showcase

As posted on another forum page http://forums.netdui...o-quadrocopter/ I've started a new quadrocopter project. Its just a start and I'm sure will not be easy but I look forward to working with this community to get it moving. As well I am trying to make this hardware and implementation of framework agnostic. So potentially it could run on Netduino or other .netmf boards, but of course we'll be working towards the netduino application first and foremost, it will also be run with a plug and play config so we can add in support for different types of hardware / gyros / escs / acceleometer, magnetometer, altimeter etc. PM if interested and look at the source which as it stands right now is just structure of the project that i have set up in my head.



#8911 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 02 February 2011 - 09:39 PM in Project Showcase

yea we wanted to start simple, but 9dof is next step, euler is something we ae implementing at that point, i have a stub for euler and tait and would love if you could expand that.



#8362 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 25 January 2011 - 06:21 AM in Project Showcase

youtube wasnt taking uploads and Luke went to bed, he says he has a stable hover take a look at source its a pretty simple control loop right now but it works



#8364 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 25 January 2011 - 06:22 AM in Project Showcase

im putting in my order for hardware tomorrow



#8256 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 24 January 2011 - 06:34 AM in Project Showcase

https://code.google.com/p/quadnet/ First stab at it, dont mind the pun



#8525 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 27 January 2011 - 06:49 AM in Project Showcase

Chris, what do you mean by dual rates and expo on TX, we are trying to compensate for some odd things in tx right now, is there a concept we're missing



#8257 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 24 January 2011 - 07:14 AM in Project Showcase

source updated, gc issue resolved as well as redundant update calls, precision is fixed as well as PID using windup guard was not properly implemented, if you can implement radio u should be solid, its the exact same code now



#8522 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 27 January 2011 - 06:42 AM in Project Showcase

well we're dealing with some hardware issues but have just put in an rx scale to tone it down, basically a parabola on the stick control



#8262 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 24 January 2011 - 08:00 AM in Project Showcase

Chris, as always your optimism is fantastic. Part of the reason for this project is that i want to understand the concepts, so for me, this is a bit of exploration on the way in which these work (not just the quad but boards and simple EE work). At the end of the day if it doesnt work, i can convert that code to native, but as it stands this is the easiest way for me to define the domain. I honestly appreciate your input and experience with three quads, if it fails, it fails, if it works, you owe me a beer and one of your tricopters for me to pull the guts out of and put my .net microcontroller in and experiment with a tri. I was really hoping to use your experience in this project but i can see it will just be naysaying, so I will continue without.



#8535 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 27 January 2011 - 08:10 AM in Project Showcase

Thanks Mark that makes sense, we need to just concentrate on throttle and throttle alone.
Chris thank you for the forum etiquette reminder. The posts were fast given we we had discovered the algo at the exact same time i replied and implemented it in code, i've attached our algo. i think you might be on to something as far as making it a scaling variable that can change as the flight conditions change.
using System;
namespace Quad.Net.Commons.Utilities
{
    public class Scale
    {
        private readonly double[] _coefficients;
        private readonly double _offset;

        public Scale(double offset, params double[] coefficients)
        {
            _coefficients = coefficients;
            _offset = offset;
        }

        public double Calculate(double value)
        {
            double output = 0;

            for (int i = 0; i < _coefficients.Length; i++)
            {
                output += Math.Pow(value + _offset, i) * _coefficients[_coefficients.Length - i - 1];
            }
            return output;
        }
    }
}
namespace Quad.Net.Tests
{
    [TestFixture]
    public class ScaleTests
    {
        [Test]
        public void TestQuadratics()
        {
            Scale scale = new Scale(-1500, 0.0000008, 0, 0, 0);
            Assert.AreEqual(scale.Calculate(1000),-100);
        }
    }
}



#8909 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 02 February 2011 - 09:21 PM in Project Showcase

updated source to clarify usage, escs are taken out



#8399 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 25 January 2011 - 03:57 PM in Project Showcase

i thought we were a bit more stable, we still have some work to do then



#8527 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 27 January 2011 - 06:55 AM in Project Showcase

understand it now, we just compensated in code rather than on tx, that will allow any tx to connect and we should be able to calibrate for it



#8524 Quad.Net Quadrocopter for .NETMF

Posted by Brandon G on 27 January 2011 - 06:47 AM in Project Showcase

we think its tx, everything else looks good in code now we just need to cool the rx down, chris take a look at the scale PID and RX, we're cleaning it up now



#7535 NetDuino Quadrocopter

Posted by Brandon G on 12 January 2011 - 10:18 PM in Netduino 2 (and Netduino 1)

Maybe i am being a bit naive here then. I was really hoping for an easy board to work with and this might not be the case then. I was hoping to do all this within the managed framework, PID, PWM PPM, RX fired from the events of the components attached to the board, similar to the ISR event of other boards (Once again i am a noob when it comes to the way in which these components interact back with the program) if the events fire fast enough we can make up for any small delays with a different PID calc. So as data comes in from gyros, reciever, escs they will fire events and we can interact with those instantiated objects that provide the stability}, I was planning on instantiating all objects at startup and using a CQRS style of messaging objects from the events with a time sensitive queue LIFO, this way when GC does come through its fast as all hell and is disposing small objects and not interrupting the main objects. the reason for the messaging objects is we can then take that data and lazy write it to an sd card for running simulations and debugging a flight afterwards, makes for a great picture of events and replayablity. 500hz seems a lil high to me and maybe overkill, Ive heard of people flying quite sucessfully with a loop operating in the range of 40 to 50hz and then going up to 500 and even 1000 and seeing no obvious gains, but until i start testing I wont know. I would hope we could achieve 40hz without changing or extending the firmware, btw i like the fluent model by corey seems interesting and would like to see his progress. To be honest i probably wont be using the RX at all within this project, plan on using wifi and tethered testing to start. So just make it fly stable account for wind and hover is part 1.



#8068 NetDuino Quadrocopter

Posted by Brandon G on 21 January 2011 - 05:45 PM in Netduino 2 (and Netduino 1)

a small test shows he's wrong, too bad was worth a try



#8066 NetDuino Quadrocopter

Posted by Brandon G on 21 January 2011 - 05:14 PM in Netduino 2 (and Netduino 1)

A guru buddy of mine suggested that F# would be perfect for the stab loop part of the program and saidi would be able to use F# as long as the calling assembly (entry point) was still in C#. So the C# program would call into and F# dll, since it all compiles to the same binaries it shouldnt be an issue. I would assume the same can be done with VB, listen to http://www.dotnetroc...spx?showNum=625 where they speak about VB



#7523 NetDuino Quadrocopter

Posted by Brandon G on 12 January 2011 - 06:15 PM in Netduino 2 (and Netduino 1)

http://www.kkmultico...loads&Itemid=65 take a look at the source, as i am new to the hardware side it has a few board properties i dont quite get, but the main logic is on the ISR and the loop. They also have asm code but i figuire this a little easier to read.



#7493 NetDuino Quadrocopter

Posted by Brandon G on 12 January 2011 - 07:30 AM in Netduino 2 (and Netduino 1)

Chris, with all due respect these are the same arguments i have had in past with the *Kings of quant on wall street and managed to make consideration for GC and when we handle objects correctly we can make anything perform as well if not better than native depending on the skill level of programmer. You make bad objects that require a GC pass constantly you will have issues. Now i do understand that GC is an issue but if your argument is simply GC I think i can proceed just with a more clever use of memory and objects. Now if there are inherent issues with the board and firing of events then we have an entirely different issue.When i work in finance we are making adjustments far faster than anything required in a quad stab engine so for me thats a non issue within the framework, my concern would be the board itself if thats it



#7490 NetDuino Quadrocopter

Posted by Brandon G on 12 January 2011 - 05:19 AM in Netduino 2 (and Netduino 1)

Hey Guys, sorry for the late reply, been out of country. Chris S, being new to netduino i will definitely capitulate to your assertion that it is hard if not impossible but would like to understand your reasoning, is it GC or the interrupt events not firing fast enough. If the latter would Chris W's suggestion handle that issue? I would rather not mix and match and cause more latency in decision making and context switching between languages and boards if possible. The reason i picked KK's project was that it started simpler than any i had seen, only uses 3 gyros, no accelerometer, magnetometer or gps out the box and fly's more stable than anything i have seen yet. As i look at the math of this thing it looks like a rather simple C# project (although i don't know how limited the math libraries are in the MF). Regardless this is the plan. I'm going to start with a simple KK build, which is proven and simple, use their board. Then i am going to start building my own board with the same simple 3 gyro system with netduino and do simulations without flying and continually add components. If gc is the issue i think we can get around it by promotion to first class citizens and ugly use of pinned objects and always having them in memory, my previous projects were in real-time stock market analysis, handling 20millions messages/second, stabilization should be simple comparatively. if the latter nd me being new to .netMF and netduino i would hope that the event firing systems of this board were not inferior to what is out there now. let me know your thoughts. also Chris W from a marketability standpoint a project like this could help give this hardware a nice showcase. Brandon



#6856 NetDuino Quadrocopter

Posted by Brandon G on 02 January 2011 - 09:32 PM in Netduino 2 (and Netduino 1)

I am looking at porting the kk multicopter code to C# and wondering if there are any others that would like to get involved in doing a quadrocopter project in C#?




home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.