After watching the amazing Bill Nesbitt AutoiQuad videos (http://diydrones.com/xn/detail/705844%3ABlogPost%3A467650)  I have to wonder if we are hitting a wall with our current hardware.These videos seem to show far more precision than any version of Arduino software has ever had.  Apparently, part of the reason the AutoQuad can do extreme position hold, fast mission with precision waypoints, spin in place, etc. (in addition to some top-notch code!) is the much higher processing power now available.

Is it likely the current Arduino can ever approach this? Is his hardware a lot more expensive?

Views: 1214

Reply to This

Replies to This Discussion

In my opinion no. If you break down what Bill is doing, an 8bit micro at 16 Mhz can accomplish it.

He just has great control laws and a finely tuned quad.

Jason

 

Don't forget that Arduino has a roadmap, too. 32-bit ARM-based version are in its near future. Arduini is a software architecture that runs on many hardware platforms, and there will be high-end versions soon. APM will be a big part of that.

All due respect to Arduino;
"map" seems a bridge too far - given the ragtag irregularity of the Arduino pin layout; given the reliance on Serial buggywhips in a USB world, and the lack of In-Circuit-Debugging;
Arduino is little more than a 2-bit freakshow outside the MainEvent - which somehow - (All Due Respect) - gets more traffic than far superior choices.

Least common denominator springs readily to mind.

(end Arduino jaggyass pin rant)

Hi John,

 

You must remeber that Bill's system is very special. As I understand he does a testflight to collect data, and then a simulation in his multicore pc to calculate his special filter parameter, then back to machine and so on. This is a lot of special work.

I started to port his AutoQuad 5 Board some months ago but became aware that I won't be able to fly my machine with his code because it's a special design to his configuration. Jason's Code can be easily adapted to a lot of machines 'only' by changing the PID values (what can be hard work too :) 

The improvements of the ArduCopter code in the last months are exciting (thanks jason)

and by the way the ArduCopter Arduino code can run in 8 Bit and 32 Bit systems, so I think it's still the best road to an universal system.

 

This community is here to encourage and collectively build a range of UAV solutions, from high-end academic use to entry-level. Each is typically aimed at a different target consumer or application. Take for example the UAVDevboard, which is a PIC32-based board that's a development platform that Bill Premerlani and his team have used to develop some great algorithms for autonomous acrobatics.

The Arduino-based solutions are meant for easy-of-use by non professional programmers. Like the rest of the Arduino project, it's designed to be the easiest one for regular folks to learn to program with, and is cross-platform. It's not the most powerful chip, but it has the biggest community. And as the rise Arduino phenomenon has shown, community tends to be more important than "feeds and speeds" in driving projects forward.

There will be many more platforms developed and supported here as well. Some will be Arduino-based, but many others will not. Projects like Bill's are a great example, and there are others in the pipeline. If they're open source and have a strong development community behind them, we're happy to put them into production so that everyone can get access to the hardware at the lowest possible cost, just as Sparkfun did with the first generation of these boards.

In other words, it's horses for courses. Academics will want powerful hardware that can allow them to run experiments; casual users may just want something easy to use that can tinker with without having to learn a pro toolchain. Others may just want something that does one job without fiddling, right out of the box (but don't want to pay the premium of closed-source projects.

As long as they're open source (ideally both open hardware and open software), we aim to be the community for all of them. We're about collective innovation, rather than any one platform.

 

I think as well that the community and opening is more important than pure hardware performance.

 

It is possible today to do very advanced things with small 8 or 16 bits AVR processors. They are performant and easy to manage and program.

 

If more power is needed for futur hardware, i think it would be simpler - easier and perhaps lower cost to use a second AVR to split tasks so that the first one is not overloaded.

 

Another advantage with multiprocessing, it that it is possible to update one processor, without risk to introduce a bug on the second one.

 

 

 

 

 

 

Hi John,

I have 7 years of experience on arm platform , I start to work on 32 bit platform in october of 2010 , Multipilot32 is the result of my work , at the moment is only 32 bit platform that support all code available on Arducopter NG and Arducopter 2.0 . MP32 support Arduino compatible framework , but also professional development ide as eclipse + JTAG and also support RTOS as ChibiOS (have an HAL optimized for ST processor and Commercial support ) or FreeRTOS.

I finish to port library and code last week.

So the great news is that MP32 is available on STM32F103 , STM32F205 and In roadmap there is  M4 with Floating Point co processor.

The price is not so different of standard MP32 only 99 euro + VAT instead of 70 + VAT for Standard version. This micro is a good choice for advanced and professional application . It have a profesional commercial support .

This is the link :

http://www.virtualrobotix.com/page/multipilot32-1

This is the first sample available with new F205 micro :

 

As you can see in the picture the board haven't any kind of hardware correction because is native for STM32F205 micro controller.

If you need  more info contact me at lasernav@gmail.com

Best

Roberto

Arduino is the development environment and language. It let's pretty much anyone grab a board and get cracking with some experiments. Arduino has always used the Atmel range of processors however it has yet to reach the 32-bit range (soon to be fixed though).
The only limit we are currently hitting is the space limit for the code.

For accuracy you need good sensors and fast algorithms.
276MHz for Autoquad, 200MHz for ACM2. According to ARM the cortex M3 processes 3x more than a high-performance 16-bit uC and we are using an 8-bit uC so APM code is clearly capable to be as fast as this.
Bills optimisation will help tune the algorithms to his specific frame too increasing accuracy.

Using more powerful processors means you can be lazy in your coding and still get good results which is why they are chosen for experimental purposes (bang through basics then playtime). Consider the highly optimised APM libraries and the ACM code running on a saucily powerful ARM uC and you have Multipilot32.

Are we approaching it? Easily.
Are 32-bit setups expensive? Shouldn't be but we have to build them first.
Is Arduino near it's end? No, not by a LONG way.

   Multiprocessor hardware and specialized extensions will no doubt debut, morph and expand horizons of what is possible. A concert of functionality seems likely. I don't think simply more processing power in the embedded world is the best choice because it relies on parts external to it.  Just as some processors have been tweaked to architecturally pattern programming language constructs, extending portions of processor architecture to suit real time applications is here.  The code, more nimble than a new chip arrival makes that happen despite chip limits. 

  Incidentally, Bill Premerlani 's (dsPIC30F4011) board is a 16 bit processor, fairly low cost, supported by free C and assembly programming languages and an assortment of third party tools. Periodically, a newer version of this SMT board emerges improving sensor utility. 

 

 

 

Interesting thread - mostly I was just worried Jason might be hitting some limits, but he answered that. I do agree the more important thing is the community and the algorithms developed - hardware really is irrelevent. Arduino is a robust platform, and refining the algorithms here will give us solid code and future hardware will just be icing on the cake as Moore's Law marches on.

Hi John,

I was working with ATMEGA's a.s.o. a couple of years and then had to move to an Atmel Arm7, later to a Cortex M3. At first I tried to switch on a LED and read out an input connected with a switch. With an ATMEGA simple and easy work.

Hours later I became aware that I've to start a Clock for the PIO to let the Inputs refresh. Shii...  :)

So for starting with such an processor there is a need to learn something new.

On the other side there are some nice function, an 8 bit cpu doesn't have:

E.G.: I can link my AD Converter to an DMA channel. So the sensor data will automatically sampled and written directly to the RAM without disturbing the CPU. After some time I can decide to have a look to the data and work with them.

 

So, there are some nice gadgets waiting for us all with the 32 CPU's, but the most of us haven't the time to learn all the new needed things to get the CPU to work and let it make what we want...

And this is the moment Arduino  enters the stage. You don't have to understand all the library code at first. You can still work with the sketchcode and improve the Arducopter functionality. And when there is some time you can learn something  new how to manage interrupts or AD conversion in the libaries or in the hardware code.

 

Resume: I think 32 Bit is not the end of Arduino.. Arduino is needed more then before, due to the complexity of comming processors.

 

It's worth noting that the vast majority of open source multicopter boards in use today are Arduino-based:

KK Multicopter
MultiWii
AeroQuad
ArduCopter
Flyduino
Etc..


So clearly the marketplace seems to think that Arduino's got a lot of life left in it ;-)

RSS

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Groups

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service