PDA

View Full Version : Rave GumStix Autopilot Project !!! We all need this !!


JettPilot
Sep 26, 2005, 02:17 AM
Hi Everyone,

It is becoming apparent that we all need an autopilot that can be expanded far beyond what we have available now. I have been looking at the GumStix boards and they look like the PERFECT solution !!! With an Intel XScale® PXA255 running at 400MHz and 64MB SDRAM 16 MB Strataflash - xtended memory the possibilities for expansion and improvements are endless. This unit will run at the same 5 volts that our radios do and are very small and perfect to fit into a UAV. The RoboStix board easily interfaces to the GumStix board and has more inputs and outputs that you can shake a stick at. This board is far more advanced than any RC autopilot available and the design work and manufacturing has already been done for us. All that needs to be done is the programming to make this the perfect UAV autopilot. The best part is that the price of these two units is about 200 dollars, which makes a very advanced and expandable autopilot affordable to all of us.

I can get these units wired and ready to go for RC use, but what I do not know how to do is program in Linux. I will wire and prepare and do the flight testing needed for developing these autopilots, but I need someone to program… I will give a free complete Gumstix Autopilot ready to fly to any programmer that can write and help me make the Gumstix capable of following a GPS route, and maintain preprogrammed GPS altitudes. I will share all information on this project so that we can all benefit from this technology. This would be a great start that would get these boards into UAV’s. I am very confident that the UAV community would develop these boards far beyond this first step once they see them being successfully flown. If anyone is interested let me know, all suggestions are welcome !

JettPilot

dracul
Sep 26, 2005, 05:53 AM
You can create Linux/Mac/Win executables from the same source code
using REALBasic.

The language is very similar Visual Basic, there are even tools to convert VB to RB.

So if anyone can program VB they should be able to code RB and make Linux
execuatble to run on the Gumstix.

Cheers,
Kudos

CenTexFlyer
Sep 26, 2005, 09:09 AM
It's been years since I programmed in VB but I hear it's a lot like riding a bike... :)

Jett, have you checked to see if there is any open source code available now? Could be the kernel is written and we could take it from there. I think this could be a pretty good route to take if you put up a site and allowed the source to be modified and re posted. One thing though, I don't see any MEMS on these boards - do they have accelerometers? Would they have to be added?

I would be willing to spend some time with the code if we can get all the hardware issues worked out. If we have to add some other goodies, I think $200 could end up on the low end.

Gene

dracul
Sep 26, 2005, 09:50 AM
http://www.voidpointer.de/flobo/flobo1_en.html

http://www.voidpointer.de/flobo/flobo5_en.html#5.2

sesat
Sep 26, 2005, 02:12 PM
JP, how do you hope to separate tasks between the two processors?

Servo control, attitude control, data aquisition on the 8bit uc; and higher level navigation functions on the xscale?

One could even use Java then, since there's no need for RTOS on the xscale.


Ram.

shedao
Sep 26, 2005, 08:15 PM
The paparazzi project could easily be modified to be used on the gumstix / robostix combination. In fact I'm pretty sure they have this in mind.

http://www.nongnu.org/paparazzi/
http://savannah.nongnu.org/cgi-bin/viewcvs/*checkout*/paparazzi/paparazzi3/doc/user_manual/overall.png?rev=1.1.1.1

You could probably build off of what they have created.

I have a robostix and I plan to use the gumstix/robostix combo to control a UAV. But I shouldn't commit to anything until I have them both setup with my environment and I'm confident that I can program it. Right now I'm using avr-gcc to program the robostix using C (That's just my personal preference) and I literally just got it running my led test code a few minutes ago. I'm no embedded expert but I have been writing software for close to 10 years now and I think I could help.

But yes I would at least be willing to talk about this, especiallyif the code was open-sourced.

About the OS (From the gumstix FAQ):
"we make the full source code for the kernel and the compiler tool chain available, including a cross-compiler for the X86 platform."

shedao
Sep 26, 2005, 08:56 PM
http://www.voidpointer.de/flobo/flobo1_en.html

http://www.voidpointer.de/flobo/flobo5_en.html#5.2


Do you mind if I steal all of my best ideas from this? Someone's done a ton of work.

gdvorsky
Sep 26, 2005, 09:05 PM
A very cool idea JettPilot!

It seems that a good start might also be to use some of the code that Michael Pawlowsky has written for his RCAP. It's open source, and available here:

http://cvs.sourceforge.net/viewcvs.py/rcpilot/rcap/src/main.bas?view=markup

He's already done most of the heavy lifting in terms of programming the Autopilot, and with that, the handling of $GPRMB and $GPRMC sentences. Missing, however, is altitude control, which someone with much more skill than I could no doubt easily add.

Medve
Sep 26, 2005, 09:53 PM
Jett,
sounds good. Wish I could help out, but my background isn't in programing. I do think you should add "mission servos" like are in the AP4. That is a great advantage to that system.
Medve

ALtitudeap
Sep 27, 2005, 12:18 AM
what is it exactly from there site that you are buying. i will buy one also and work on it with you all

ALtitudeap
Sep 27, 2005, 12:51 AM
are you considering to go along th lines of open sorce?

JettPilot
Sep 27, 2005, 12:51 PM
are you considering to go along th lines of open sorce?

Yes,

I would definately like to see this an open source project :) My thinking is, if I can get one of these flying with basic autopilot functions others in the UAV community will also start using it. The GumStix platform is thousands of times as powerful as what is being used in current autopilots :eek: . Given the GumStix's almost limitless expandibility and power im sure others would want to add more and more functions and help would develop it far beyond what I or just a couple of us could... This project is also perfect for open source, because anyone can buy the hardware, no complicated building or fabricating of circuit boards required :p

A huge amount of engineering, electronics, and manufacturing work has already been done for us by the makers of Gumstix. All we have to do is get a couple flying successfully, and I'm sure others will realize the potential of this system and quickly jump on board :D

JettPilot

Unterhausen
Sep 27, 2005, 04:37 PM
this is funny. I opened a firefox browser window with 2 tabs, this forum and the robostix wiki page http://www.gumstix.org/tikiwiki/tiki-index.php?page=+Robostix

I want a development system I can work on at home, so I'm thinking about either the gumstix or one of the Sparkfun boards.

A lot of the source code that's out there will work since it is written in C. And the Paparrazzi guys are talking to the people at Gumstix about moving their hardware to the Gumstix platform.

voidpointer
Sep 29, 2005, 05:08 AM
Do you mind if I steal all of my best ideas from this? Someone's done a ton of work.
I don't mind. As long as you can steal something useful :) The point is, I have done a lot of preparation and research work but there still is nothing that can drive or fly autonomously. Except for the simulation I have no software yet to control anything. The self-made airplane is a complete mess which keeps me from making progress.

Anyway, I will continue to publish my work. If someone can make use of those ideas or even enhance them, please let me know.

Achim.

shedao
Sep 29, 2005, 02:07 PM
I don't mind. As long as you can steal something useful :) The point is, I have done a lot of preparation and research work but there still is nothing that can drive or fly autonomously. Except for the simulation I have no software yet to control anything. The self-made airplane is a complete mess which keeps me from making progress.

Anyway, I will continue to publish my work. If someone can make use of those ideas or even enhance them, please let me know.

Achim.


Thanks! I can definitely use your info. I am working on an aerobatic UAV (crazy idea?) and I can use some of the calculations and other things you've learned.

sesat
Sep 29, 2005, 02:35 PM
Achim, welcome to the groups, your participation is appreciated.


Ram.

JettPilot
Oct 02, 2005, 10:11 PM
I don't mind. As long as you can steal something useful :) The point is, I have done a lot of preparation and research work but there still is nothing that can drive or fly autonomously. Except for the simulation I have no software yet to control anything. The self-made airplane is a complete mess which keeps me from making progress.

Anyway, I will continue to publish my work. If someone can make use of those ideas or even enhance them, please let me know.

Achim.

Achim,

If you need flight testing done, I would be happy to work with you and help you work out the bugs. I have lots of differnt airframes and am pretty good with electronics, making systems work together, and of course flight testing :p I am really good with computers, but I do not write code, that is where I get stopped dead in my tracks. But with all the talent here in this group, we whould be able to do some pretty amazing stuff !!!

JettPilot

voidpointer
Oct 04, 2005, 06:10 AM
JettPilot,

sorry for answering late - I just found out how notification works in this forum :)

Thank you all for the welcome and response to my website! And thanks for the support. But I see the problem of different locations and time zones. I have some relatives near Charlottesville, VA. and have been there three times. So I know some of the DC area. But it's still a long way from Germany so we cannot do the flight testing together :(

One would need a common hardware platform to be able to share the software development. The Paparazzi guys have such a platform and they are developing an open source autopilot software. If we wanted to build something similar in this group we would need to have a common set of hardware modules. The Gumstix is a good thing to start with. If the robotic software had a smart architecture (e.g. different layers for different tasks and so on) there would still be the option to use different sensors and airframes. There are thoughts within the Paparazzi team to utilize the Gumstix for their project as well. From what I have seen this would be the best basis for a joint project.

This week I am going to build the next version of my Gumstix adapter board. If everything works well I will publish the circuit together with the Eagle files so that any of you could build a copy. But I think everyone has different demands on hardware and sensor equipment so this board will hardly suit as a standard.

I also fixed the fuselage of my plane and will hopefully do some test this week. I sure could need some advice from you about what to improve in my design or what airframe is appropriate to be used as an UAV. What is your experience in that area?

Achim.

space_case
Oct 10, 2005, 09:16 PM
I'm ready to order up a gumstix and a robostix any day now myself. I have been too busy to do the level on research (on these products) that I would like, but I am going to focus on that this week. I want to also buy a sensor or two also. A suitable gyro? A pressure sensor? First goal for me is to have an output (PWM servo command) based on a sensor input. Simple enough, right? I will worry about control laws later (hey that is the easy part).

shedoa, you got the LEDs blinking, what have you done since?

Jettpilot, have you ordered one yet?

Any ideas on what kind of gyros I should get?

I'm willing to pitch in myself. I'm a controls engineer who has been a part of a few UAV autopilots, but always as a team. I am a little weak on programming C, but if I had my choice I would say that we do it in C.

shedao
Oct 11, 2005, 11:03 AM
space case, I just rebuilt my machine but I have got a small servo controlled using code. I plan on buying a gumstix by the end of the month and then using that to program my robostix expansion board instead of my in-system programmer.

I'm also looking into the paparazzi code and seeing if they plan on moving to the gumstix. Right now they use a custom PCB with 2 Atmel MCUs (very similiar to the robostix). If they plan on porting their code to the gumstix then I may try to assist. Otherwise I will probably see if I can port the paparazzi code to the gumstix myself. Why reinvent the wheel?

So my question is this - where do we go from here? Is the paparrazi code sufficient? How will this be coordinated? etc.

space_case
Oct 11, 2005, 11:43 AM
Good questions. I've looked some at the Paparrazi code some, but I'll have another look.

I see your not far from me. What are you going to use for an airframe? I have all of the CNC foam cutter/vac bag stuff and would not mind churning out a few planes for the cause. Depending on the number of people involved, I might have to get some money for materials, shipping, etc. It would be benificial for all people working on this to have the same plant...

shedao
Oct 11, 2005, 06:43 PM
I'm not sure about the airframe just yet. My UAV ambitions might be a bit different than others - I eventually want to build an aerobatic capable UAV.

But I will probably build a few others before I get to that stage. I would like to have a basic software package that could use the gumstix/robostix combination to do the essentials - gather sensor data (altitude/pressure, gyro, imu, gps, etc) and then control the aircraft (servo, motor, etc). I can then go from there to more advanced flight control. But these are the essentials for pretty much every UAV. If I could help work on a package that could provide this I'd be willing.

JettPilot
Oct 11, 2005, 09:55 PM
I was also looking at what the paparrazi guys were doing... But I think the most useful thing would be to first get the Gumstix to do GPS navigation and altitude control. Other functions could be added from there, but GPS navigation and altitude control are necessary to do anything in a UAV and should be the first priority. Personally, I like thermopile sensors. Gyros drift, and have thier limitations. Maybe thermo leveling combined with gyros would prevent any drift problems and still enable flight in clouds :eek:

JettPilot

sp1nm0nkey
Oct 12, 2005, 01:29 AM
I don't really see why you need the overhead of running linux. If you want a nice fast ARM based system, check http://www.sparkfun.com/. The phillips LPC series is really nice, and you can just use GCC to program for them. They've got a header board for the lpc2106 for 50 bucks that runs at 60 MHz.

EDIT: In the case of the robostix, the lpc2106 will run faster than any AVR, and the header board that sparkfun sells is quite a bit smaller as well.

HELModels
Oct 12, 2005, 04:10 AM
Is the whole point of this to eliminate a ground station/uplink/downlink?

JettPilot
Oct 12, 2005, 11:38 AM
Is the whole point of this to eliminate a ground station/uplink/downlink?

Not at all, eliminating the uplink and downlink would take all the fun out of it as far as im concerned :mad: . A UAV without a uplink or downlink, sounds exactly like a bird to me :eek: , and we already have lots of those ;) . There is a huge adavantage to having an airplane that can navigate and fly itself is that you can go beyond your link if you want, and also have it come back if the link is lost for some reason. It also takes the workload off some planned flights.

JettPilot

shedao
Oct 12, 2005, 05:00 PM
I don't really see why you need the overhead of running linux. If you want a nice fast ARM based system, check http://www.sparkfun.com/. The phillips LPC series is really nice, and you can just use GCC to program for them. They've got a header board for the lpc2106 for 50 bucks that runs at 60 MHz.

EDIT: In the case of the robostix, the lpc2106 will run faster than any AVR, and the header board that sparkfun sells is quite a bit smaller as well.


I think porting the app to linux would allow you to move it to a different cpu architecture a bit easier but that's gonna depend on how you write it. If you use CPU specific hooks (ie, "give me the data from port A") then you might be SOL when you compile specifiying another architecture.

I could code a simple autopilot using my robostix or any other board with an 8-bit cpu, but I like the idea of a few things an OS like linux on a 32-bit platform can supply such as:

1. File system, I dont want to roll my own file management.
2. Built in support for useful protocols (like i2c for instance),
3. Process management, IE, I don't have to write my own threading mechanism or anything similiar
4. Devices drivers in modules - the ability to "plug-in" a sensor device would be a nice to have.
5. Most important to me - I need a 32-bit processor. I need fast state calculation/filtering.


If Linux is used one could possibly port this software from the gumstix to a platform like the NSLU2 (aka "the slug"), which runs about $60 on ebay right now.


Those are my resons for wanting to use the linux/gumstix combo. Anyone else want to chime in?

JettPilot
Oct 12, 2005, 06:50 PM
The GumStix and Linux are definately the way to go. What I see from sp1nmOnkey is SHORT TERM THINKING. The basic GPS navigation that I have in mind, and what many other people presently have in mind could be done on a much less capable board. The beauty of the Gumstix running at 400 MHZ are the almost limitless possibilities for it to do new and more complicated tasks in the future :) Remember when Bill Gates said "620 K of RAM should be enough for anyone" ??? Who here thinks this project will stop with just GPS navigation and a few other functions :confused: ??? Starting with the BEST more capable platform available will save many headaches later on. It will be MUCH easier to just keep writing code than to have to start over from scratch when we need more capability than what those other little microcontrollers are capable of.

Since the start of the computer revoloution, the very consistant mistake that everyone has made is that people under estimated how fast the hardware and speed requirements would grow. Lets not make that same old mistake again... Lets start with the best board possible, and at 140 bucks, the Gumstix 400 MHZ board is a bargain ! Saving 80 dollars by buying a cheaper board, and then spending thousands of hours of writing code and testing, and then soon running into a wall in its capabilities is a HUGE waste of time and eort. :mad: Its always much better in the long run to use the most capable board right from the start ....

shedao
Oct 12, 2005, 08:02 PM
Remember when Bill Gates said "620 K of RAM should be enough for anyone" ???

Thats an old wives-tale but it's still funny :-D

space_case
Oct 12, 2005, 08:21 PM
I'm basically with JettPilot in that I have ambitions for a UAV far beyond way point navigation. shedao also brought up some good points about the functionality of Linux in and of itself, but I suppose that this is somewhat obvious.

Well I'm still prepared to take part in a joint development program. I suppose the first major hurdle is to decide whether or not to just port the Paparrazi code. I'm busy at night right now with work and with writing an abstract that is due Friday, but I do plan on getting to it soon. I would like to know ahead of time who wants to be in on this from the beginning, not to say others may join in along the way, but so that we know who the decision makers are initially.

I suppose right now it would be

JettPilot
shedao
space_case

Sorry I don't have more time to talk about this right now...

HELModels
Oct 13, 2005, 06:20 AM
Jettpilot,


Start with the code, then ask for contributors. Do it that way and you'll have a project. I'd recommend you write a "Hello World" program first before you decide which architecture someone else should write your code. :eek:

moon-dawg
Oct 13, 2005, 08:11 AM
Real Time Unix and C is the Embedded Systems Programmer development environment of choice. I have done this type of work for over 20 years. I have been looking at the GUMSTIX-Linux platform as a basis for some other projects and it looks pretty good to me. My only concern is the priority scheduling of Linux. There are realtime patches for Linux but I am not sure that the version that has been ported to GUMSTIX has these patches.

I have some code for a NMEA parser written in C that will be a good start for the GPS interface software and code for a pursuit tracker to reach the waypoints. I developed this software for RoboKnight an autonomous vehicle that did not win the DARPA Grand Challenge. It was developed for Real Time Linux running on PC motherboards.

voidpointer
Oct 13, 2005, 01:13 PM
Hi Folks,

there is one thing you should keep in mind: the Gumstix disturbs a GPS receiver in a way that you have to either shield the gumstix well or put a distance of at least 6 inches between it and the GPS. I cannot explain in detail (while sitting in an internet cafe on vacation) but I experienced strong interference when the gumstix was switched on. These problems do not occur currently on the Paparazzi platform since the AtMegas do not have such high clock rates.

Achim.

JettPilot
Oct 13, 2005, 02:00 PM
Hi Folks,

there is one thing you should keep in mind: the Gumstix disturbs a GPS receiver in a way that you have to either shield the gumstix well or put a distance of at least 6 inches between it and the GPS.
Achim.

The interference is easily fixed. Just like you say , either shield it, or locate it away from the GPS reciever.


Hi Folks,

These problems do not occur currently on the Paparazzi platform since the AtMegas do not have such high clock rates.

Achim.

Exactly, the AtMegas are slow :mad: Its easy to solve the interference problem with the gumstix. If you develop an entire system on slow chip, how long do you think it will be before you run into a performance wall, and then have to start all over again on the faster system that is available now ? We WILL need faster clock speeds in the future, and we will have to deal with the interference that generates sooner or later, so why waste thousands of hours of time and effort developing a system that will be to to slow for our needs in a very short time, and then have to start over ??? :confused: Since the beginning of the development of technology, we have been hindered and stuck with substandard systems due to short term thinking. I hope we dont run into the same thing on this project.

Unterhausen
Oct 13, 2005, 04:46 PM
Don't think we should waste time arguing about alternative platforms at this point. I'm curious if the paparazzi guys are moving forward with their threatened port to the gumstix.

gcouger
Oct 15, 2005, 03:39 PM
You don't need MS DOS or Linux. An ARM Chip such as http://www.newmicros.com/m using C FORTH, or their ISO Max state machine or even the Tiny Arm suing C as a scaffold for assemble has the memory and speed to do the job. I am not sure the GUN port of C is but Keil will sure do the job. When you do a real time job use a real time computer not an Intel and the cobbled up PC realtime OSs made for it.

A prototype in gcc in windows or Linux might give useable results to port to a smaller device.

Some suggestions for are to work ever closer to a goal so the error in the calculation and the routines become small as you near a way point, don't use floating point or decimal math. Us a number base that divisions can all be done with shifts instead of divide instructions and liberally use lookup tables in place of calculation. fixed point 0ctal, hex and binary trig is not easy to find but it is worth it in speed of execution.

I would strongly consider a CPU with A CAN interface and try to make the auto pilot conform to J1939 and NMEA 2000 standards as you mitt find a good market there as well.

I belie a RC model could be made today with a number of digital wireless links to close the loop with the plane and decouple the receiver form the controls. Once you have done that the auto pilot just plugs in the controller in the plane and sends messages to move to a course and lets the CPU figure out how to get there and Auto pilot does not have to be so complex and tweaked for every installation.

Gordon

Gordon Couger
Biosystems& Ag Engineering (retired)
Oklahoma State University
www.couger.com/gcouger

shedao
Oct 16, 2005, 04:38 PM
If you want a simple UAV autopilot for GPS waypoint nav + wing-leveler + alti using an 8-bit controller then look around, they're already out there. Paparazzi and the autopilot project are just two examples. There are tons of cheap boards that can handle this.

shedao
Oct 16, 2005, 04:49 PM
Don't think we should waste time arguing about alternative platforms at this point. I'm curious if the paparazzi guys are moving forward with their threatened port to the gumstix.

I'm 99% sure no one is working on this from the paparazzi team. You can catch the developers on dalnet (#paparazzi) or their mailing list: http://savannah.nongnu.org/mail/?group=paparazzi.

Unterhausen
Oct 17, 2005, 10:54 AM
I'm 99% sure no one is working on this from the paparazzi team.

I guess the real question to ask is if the Gumstix guys are working on a version of the paparazzi board that interfaces to their computers. There is a mention on the Paparazzi site that Gumstix has expressed intererest in doing that.

moon-dawg
Oct 18, 2005, 09:01 AM
>gcouger wrote:
>
>I would strongly consider a CPU with A CAN interface and try to make the auto pilot >conform to J1939 and NMEA 2000 standards as you mitt find a good market there as >well.

You can add a CAN bus to any processor using a PIC Micro Controller. The C software for the protocol is available for download from their site.

see: http://ww1.microchip.com/downloads/en/AppNotes/00930a.pdf

space_case
Oct 19, 2005, 10:53 AM
Perhaps organizing an open source effort was a bit ambitious. I suppose a more informal type of knowledge sharing would be more appropriate here. I will chime in on this thread when I get mine and have some kind of I/O going or perhaps if I have a question for some of you that have already reached that point.

Vindication
Oct 19, 2005, 10:45 PM
I'm in agreement that the argument about the platforms is somewhat pointless. You can design a system to do what you want it to do and if it does it.. hey good job. If you just want a flight controller... you can get a wimpy processor. Anyway there is more than one way to skin a cat.

I think the purpose of this thread is the Gumstix. People who are interested in developing on the gumstix should be the ones contributing. As for myself I just bought a gumstix w/ the robostix pkg. I'm looking forward to getting it tomorrow. I'm not sure how serious I am about it yet. I may just tinker around with it. Maybe it will just turn into an mp3 player. I'd love to make an autopilot though.

So now for a question: Does anyone know of any great sensors for use w/ the gumstixs? I know there have been a couple mentioned but I think it is possible to get some sensors for less than 1500. sparkfun.com has a bluetooth INU for like 350 that looks decent. But I still need an airspeed sensor! (And GPS although I don't think that'll be hard to find).

Thanks
Vindy

Vindication
Oct 19, 2005, 10:48 PM
By the way... I am a Masters CS student. I have some coding skills :D Not sure I have a lot of time though.

Maybe at the least I could contribute a Hello World sort of program as mentioned before. I think we might look at putting the code on sourceforge.net.

Unterhausen
Oct 21, 2005, 02:05 AM
Vindy, have you looked at the robostix enough to understand what it offers? It looks like an atmega with a batch of headers to me.

Sparkfun seems like the place to go for sensors. It's too bad the new inu has bluetooth. The old one was available without the bluetooth. It also would be nice if the inu incorporated magnetometers. I was looking at the output of our crossbow INU today, and the magnetometer outputs looked pretty good, that should help compensate for the rate gyros. Sparkfun also looks like the place to go for gps. I don't know if they have the pressure sensors needed for airspeed, their web site is down right now.

Vindication
Oct 21, 2005, 03:39 AM
Unter-

I just got the gumstix today.. I was able to get a hello world working on it. The robostix I haven't messed with yet. That seems quite a bit more complicated. I don't know what all it has but it at least has servo controllers and some A/D converters. I figured I might as well just get it at $50 since I was getting the gumstix...

Yeah I know the sparkfun imu(inu?) unti doesn't have the magnetometers. I suspect that this unit won't in anyway compare to the xbow or the altair. But cheap is good! Also a stable airframe and gps compensation shoud allow a gyro/accel (alone) based IMU to work (I think).

Just today I found a really cool IMU/gps/airspeed sensor unit for like $700-$1000 (depending on measurement rate). I can't remember it off the top of my head.. I bookmarked it, I'll pass the word on later. Maybe someone can tell me if the company/product is any good.

I still haven't found a decent airspeed sensor to plug right into this application. They don't have any on sparkfun...

So does anyone else actually have a gumstix now?

dracul
Oct 21, 2005, 10:49 AM
Just how powerful is the gumstix board I wonder?

Could you can attach a vga webcam to the gumstix via the usb
connector and record the output to compact flash card with the cfstix??

If it can do this, would it also be able to run an autopilot aswell?

I'm very tempted to get this setup, I just wish I knew more about
linux, I'm a Mac & Windows guy :confused:

Kudos

Unterhausen
Oct 21, 2005, 11:26 AM
If it was my money, I wouldn't have bought the crossbow. At work, the economics are completely different.

Sparkfun does have a three axis magnetometer module which seems worthwhile

I've seen discussion about pressure sensors, but I don't know if there is a consensus as to what the best sensor for our purposes might be. It seems like it would be pretty easy to spend $100 just on the sensors. I looked at digikey and at Freescale. If you want a reasonable altitude reading as well as airspeed, it seems like the sensitivity of the sensor is going to have to be pretty high. There are differential pressure guages that will tell you airspeed with one sensor, but then you lose the altitude function.

Unterhausen
Oct 21, 2005, 11:32 AM
Just how powerful is the gumstix board I wonder?
Kudos
I'm sure it's possible grab images and run an autopilot with the gumstix, particularly if you go with the 400mhz version. One consideration in this is that the robostix board has an atmega cpu on board to take a lot of the processing away from the ARM.

Tophinater
Oct 21, 2005, 02:20 PM
I was reading thru this thread and man is this stuff cool. One question I have tho is why have an altimeter, or a air speedometer, and such? It seems like extra work to me when there is GPS that can do all that for you to an incredible accuracy which could give you a true air speed and elevation in which something like a modified CPU fan and make shift barameter just cant do. Couldnt you just use the data from a GPS to take the place of all those sensors and then send it to your main board of somesort? Im no rocket scientist(yet) so im probably wrong. Just curious. :) Also whats a ARM?

Vindication
Oct 21, 2005, 02:31 PM
Toph,

No this is a common misconception- GPS has two problems... The speed it gives you is groundspeed. This is not useful for flying because it does not account for the windspeed. ie if you are flying downwind in 15 knot wind... gps says you are moving at 15 knots but actually your plane is about to fall out of the sky. Therefore you need an airspeed sensor on the aircraft.

As far as altitude/elevation - gps is really pretty horrible at this. gps satellites do triangulation-- but since they are all above you they give good readings for lat and lon, but they are bad for elevation.

-Vind

PS ARM - StrongArm processor

shedao
Oct 21, 2005, 02:34 PM
I was reading thru this thread and man is this stuff cool. One question I have tho is why have an altimeter, or a air speedometer, and such? It seems like extra work to me when there is GPS that can do all that for you to an incredible accuracy which could give you a true air speed and elevation in which something like a modified CPU fan and make shift barameter just cant do. Couldnt you just use the data from a GPS to take the place of all those sensors and then send it to your main board of somesort? Im no rocket scientist(yet) so im probably wrong. Just curious. :) Also whats a ARM?

Tophinater -
The GPS system only updates at 1Hz, thats one cycle / sec. Although some GPS systems may give you supplemental data at 4Hz+. But this data is known to be innacurate, so you'll have a delta between true altitude and the GPS data, depending on the system it can be "ok" but I wouldn't want to see any pilots using it to land. It's simply not accurate and fast enough for some uses. So using a barometric pressue sensor you can determine the pressure at the time of take off, compare this to known altitude, then using known formulas calculate the altitude to a fairly accuracte degree. Of course since you are in a dynamic fluid environment this can also give you false readings. So IMO you should use a combination of sensors to determine altitude and other states.

And "ARM" is a certain type of processor architecture:
http://en.wikipedia.org/wiki/ARM_architecture

Vindication
Oct 21, 2005, 02:34 PM
Do any developer have thoughts--

I am worried about having the gumstix do flight control AND mission tasks. Sure a 400Mhz processor is fast, but since the OS isn't real-time there are no guarantees that the flight control will actually get done. I mean think about the processor "farting" on saving an image or processing it or something....

Any thoughts?

-Vind

Unterhausen
Oct 21, 2005, 06:14 PM
Do any developer have thoughts--

I am worried about having the gumstix do flight control AND mission tasks. Sure a 400Mhz processor is fast, but since the OS isn't real-time there are no guarantees that the flight control will actually get done. I mean think about the processor "farting" on saving an image or processing it or something....
-Vind
Hey, this isn't windows ya know. I once tried to control a fatigue machine using windows. You haven't lived until a program you wrote gets ignored by windows a little too long and smashes a few thousand dollars worth of equipment.

There is a real-time port of the RTAI real-time system that works on the ARM, don't know if it will work on the gumstix though. I think the update rate that you need for proper control is easily surpassed at 100hz, which should be well within the capabilities of normal linux. I think the core autopilot should be run on an interrupt to avoid the normal scheduler. Since the data collection will probably be performed on the robostix or something similar, it should be able to drive an interrupt. I'm thinking that the serial port interupt would be sufficient.

One thing that RTAI offers is a test for latency. I don't know how easy that is to measure with normal linux. It would be interesting to see how bad the driver is for writing to flash memory. I'm no expert on the ARM processor. I would imagine that it's hard to keep a user process from suspending interrupts, which is a big problem.

Eric

Unterhausen
Oct 24, 2005, 11:12 AM
I just got the gumstix today......
So does anyone else actually have a gumstix now?

I almost bought one last night. I was thinking of buying the Connex 400bt. Which platform did you buy and why?
Eric

Vindication
Oct 24, 2005, 12:29 PM
I bought the basix 400bt. I got this one because I figure 400 was better than 200. I wanted to mess w/ bluetooth(sometime... might not use it for a while). NOt quite sure why I went with the basix over the connex. The connex appears to have more "strataflash" memory (16 vs 4). And also a 92-pin bus header. However the basix has a MMC slot built in. I already have some memory cards for this...

Unterhausen
Oct 24, 2005, 01:39 PM
I thought the mmc slot looked good too. It would be nice to have lots of storage available.

Vindication
Oct 25, 2005, 01:18 AM
Unter-

I tried to compile [very briefly] the xbow stuff. It didn't work but I don't think it was because of it not being possible. I'm not that good really at making things compile [Plus I don't have tons of time right now]... If you want to give it a whack you can d/l everthing you need.

The compiler for arm is avalaible from the gumstix web site. They have designed it so that you are supposed to cross-compile on your machine for your gumstix. You can setup this up and then try to compile the xbow, both are open-source.

-Vind
PS I put the reply here.. figured this thread was more pertinent

Unterhausen
Oct 25, 2005, 03:41 PM
I compiled it no problem using the generic Arm cross-compiler on my laptop . What kind of errors were you getting? Sounds like your compiler isn't configured properly.

Now I just have to get the wireless working on my linux laptop so I can download it onto the Arm.

Vindication
Oct 26, 2005, 01:48 AM
I dunno.. I'll have to look at it somemore. Do you think it matters whether your using the fpu or nofpu compiler? If not I don't think my compiler was configured right.

So I saw you have a system now(on your other posts). You went with the micronav? And are you using a stargate or gumstix or other?

Tell us about your system! :)

Vind

mckaneorg
Oct 26, 2005, 02:07 PM
I think this is actually a great platform. I have looked into this product as well as the VIA chipsets due to size. My ultimate dream is to take a 400Mhz ARM PPC unit and run autopilot and telemetry ai neural processing. This would take this to a whole new level. And yes, I think open source would be the way to go with this. Afterall RCAP is opensource and it seems to work although I have never tried it. Not too interested in PIC based programming. I feel its somewhat limited but thats just my $0.000002. :)

The only issue with opensource is keeping the community going. I feel that RCAP is a great start but where is the development going? I have not seen any new buzz on it recently. At one time you could even buy an RCAP. Perhaps I should have bought one just to keep the community going.

I think we are on the right path thats all I wanted to say. But one note on your previous posts. I think bluetooth is cool but some of the API's required for license can be stupid expensive for just someone who is tinkering around. I would actually prefer to have 802.11g as a short range 2 way telemetry option for the cost factor and the RF range is usually higher on most 802.11 systems. Plus there are enough WIFI access points that you could relay your planes into low flying WIFI satellite repeaters... oooh!!

Ok ill stop now... i could talk forever about this......
-j

Unterhausen
Oct 26, 2005, 05:24 PM
you can put 802.11 on the gumstix with a compact flash adapter.

dracul
Nov 02, 2005, 06:46 AM
http://www.srcf.ucam.org/~jac208/pegasus/pegasus1.html

This guy used a gumstix as a flight computer for his high altitude baloon.

ElectroLawndart
Nov 14, 2005, 02:13 AM
Is there a good tutorial on the gumstix for linux newbies? The tutorial on the website seems somewhat disjointed. If not, I'll have to go with a HC12 because of "ease of use" issues.

Dart

AntonK
Nov 14, 2005, 10:40 PM
Hello,
I thought I would chime in regarding the paparazzi project. I have been working with the project for over a year and we have made great strides developing this project. Please note that the paprazzi AP was designed for small UAVs, and has been successful flown fully autonomously from take off to landing on a TwinStar, MicroJet, 2 custom 48cm airframes, and a custom 30cm airplane. In Garmish, Germany, the 4 paparazzi teams were the only teams out of 16 to fly autonomously. Lately the project leaders have been working on a redesign, which includes using the ARM7 processor support for the gumstix controller. If anyone has questions please dont hesitate to stop by #paparazzi on dalnet.

flieslikeabeagle
Nov 21, 2005, 08:49 PM
AntonK, do you have any links to information about the Paparazzi project? A Google search didn't turn up much because the word "paparazzi" is used so much in another context.

Back to the subject of this thread: I think this is a great idea. Not long ago I watched a $15000 RC model being flown with no security against being shot down by little Jimmy down the block with his new birthday present, a $99 RTF Sky Scooter on the same 72 MHz RC channel. And I thought to myself that a model this expensive really, really, needs a true fail-safe: a system that not only keeps it flying right side up in the event of loss of RF communication, but also knows where the boundaries of the flying field are, so the model can go into circuits around the field while it waits for the RF link to be re-established. Finally, if no RF link is re-established after, say, 5 minutes, the model could be shut down, glided over the center of the field, and have a ballistic parachute deployed to bring it down.

So it's not just UAV's that could use an autopilot: I think every RC model that is expensive or dangerous or both (RC jets, for instance) should have something along these lines onboard.

While I've written dozens of small programs in several languages on DOS, Windows, Unix, and Linux since 1988, I'm not a "real" programmer, and probably don't have the skills to do what is required for this project properly in a reasonable time-frame (nor do I have much free time, my work keeps me pretty busy).

Linux has been my only OS for the last few years, and I agree it is definitely the way to go for this project: Free and Open Source is what will benefit the RC community the most, and Linux is AFAIK the best developed Free (freedom) and free (dollars) operating system for embedded systems (I think embedded FreeBSD costs money).

However, for the application I'm thinking of - a simple intelligent autopilot for RC models - one could use a lot of off-the-shelf hardware: combine a small GPS module, an FMA Direct "Co-Pilot" or similar infrared based active stabilization system, a Gumstix, and some glue code, and the project could probably go together pretty easily. The IR system would take the load of stabilizing the model off the Gumstix, which would be responsible mainly for reading the GPS, knowing where the boundaries of the flying field are, figuring out the models altitude, and deciding whether the RF link was sending good data.

One could teach the software where the boundaries of the flying field were by pushing a "start" button and walking or driving around the perimeter of the flying field with the model in hand while the software took GPS readings; push a "done" button at the end of the circuit, and the software would now know the exact coordinates of the field perimeter, without the user having to fiddle with complex maps and data entry.

What do people think? Using an off the shelf, relatively inexpensive (the "Co Pilot" is about $99 IIRC) proven flight stabilization system would let an initial version of this project get off the ground very quickly, without worrying about such issues as designing hardware interfaces to IR sensors, writing stable software PID control loops for the model, reading and interpreting servos, etc, etc. Longer term, a more complex version of the software could be written that would deal with the issues of very long flights (changing IR background), high altitude (black sky), etc, etc while perhaps using cheaper hardware - simple sensors rather than a commercial device like the Co-Pilot.

-Flieslikeabeagle

Unterhausen
Nov 22, 2005, 09:54 AM
http://www.nongnu.org/paparazzi/autopilot.html

if you google for paparazzi uav, it's the first hit.

AntonK
Nov 22, 2005, 10:36 AM
Yup thats the link. I have used the Co-pilot as a flight stabilization system before moving to the Paparazzi AP and I must say for augmentation the paparazzi does a much better job. The co-pilot fights the pilot throughout all range of motion. The Paparazzi however allows the plane to be flown regularly within the predefined maximum bank and pitch angles. The paparazzi has a similar feature to the field size, but for now its limited to a circle of a predefined radius. Leave that circle and the AP kicks on and brings the plane back. I think this is easy to change, code would just have to be designed to replace it :)

Anton

Unterhausen
Nov 22, 2005, 10:55 AM
However, for the application I'm thinking of - a simple intelligent autopilot for RC models - one could use a lot of off-the-shelf hardware: combine a small GPS module, an FMA Direct "Co-Pilot" or similar infrared based active stabilization system, a Gumstix, and some glue code, and the project could probably go together pretty easily. The IR system would take the load of stabilizing the model off the Gumstix, which would be responsible mainly for reading the GPS, knowing where the boundaries of the flying field are, figuring out the models altitude, and deciding whether the RF link was sending good data.
-Flieslikeabeagle

This is almost an exact description of the paparazzi project concept, except they are going for a full up uav and not just recovery.

Your idea is very interesting. There have been discussions about what a plane should do when it loses radio contact, and we probably shouldn't go into it here because there are other threads that have thrashed it out pretty well.

flieslikeabeagle
Nov 23, 2005, 06:30 PM
What should a model do when it loses radio contact? Why, come home to me, of course. :)

Unterhausen, not trying to drag this thread off topic, it seems to me that what I suggested might be an intermediate step to the eventual goal of an open source UAV with extensive capabilities. Not the parachute part, obviously, but getting the Gumstix, GPS, and Co-Pilot talking to teach other and to the servos in the model.

-Flieslikeabeagle

JettPilot
Nov 24, 2005, 11:23 AM
If you lose contact with the model, it should come home. No need to make it overly complicated. These basic features would make a graeat start, then more could be added from there.

1. FMA copilot for stabilization, no need to even hook it to the gumstix. There is no need for complicated gyros that are expensive, drift, etc.

2. GPS navigation, using a standard GPS unit the NEMA information could be fed to the gumstix to follow routes, and bring the model back home :)

3. Altitude control, feed information from a pressure sensor to the gumstix or use GPS NEMA altitude to control the altitude of the model.

Those three basic things make a great start, are easy to do, and result in a fully autonomous UAV. Once that is up and running other exotic and neat stuff could easily be added to the gumstix, its just a matter of programming and maybe adding a couple sensors.

JettPilot

AntonK
Nov 25, 2005, 12:18 AM
you guys seem to want to reinvent the wheel, when everything that JettPilot just said are features of the paparazzi AP.

dracul
Nov 25, 2005, 04:37 AM
you guys seem to want to reinvent the wheel, when everything that JettPilot just said are features of the paparazzi AP.

AntonK,

I think you'll find the 'wheel' has been reinvented many times over, by many people, organisations, companies, educational institutions, defence contractors etc.

That's not the point. The Paparazzi guys have done a great job yes, but to my knowledge even they are considering moving to the gumstix platform because of the greater flexibility / processing power the unit has.

I believe the point is to look forward not back. We all want a low cost flexible AP that has the power to do other things aswell (image processing for example). To this end the Gumstix looks ideal.

I think we should stop discussing whether it's the right thing to do or not and start a new thread for the people who actually want to get on and get this thing hacked together.

I haven't bought a gumstix yet but I fully intend to. I'm currently learning Linux and C so that I can get started.

Cheers,
Kudos

AntonK
Nov 25, 2005, 09:19 AM
Kudos,
I definitely agree with you. My hope is we can work together and merely tune the wheel, not reinvent it, because every time its reinvented by companies, institutions, and whoever creates a lull in technology. I think keeping this idea moving forward, and open will allow it to succeed and create the best technology possible.

hugo_vincent
Dec 10, 2005, 03:30 PM
Check out this UAV designed by myself and John Stowers for the final year project of out B.Eng(Hons) degrees.

http://www.albatross-uav.org

Just moved to a new server a few days ago, so some links will be broken and the source code repository (SVN) is down.

We used a Xscale computer module similar to the Gumstix, running Linux, and although we didn't finish the project in time (i.e. full autonomous flight, GPS waypoints etc.) I think some of our work will be useful to a Gumstix project.

We didn't use any specifically Real Time variant of Linux (but did make a few small configuration changes to the Linux configuration, e.g. increasing process scheduling frequency HZ), and didn't really see any problems.

We designed the software so that it was split into a number of separate modules, for instance, a Hardware Interface program, a Sensor Calibration/Processing program, a Control program, and a Communications (to the groundstation) program, each communication via Interprocess Communication (IPC).

In the near future, we hope to revive the project, by changing the IPC scheme (its a little broken right now), and progressing towards autonomous flight.

Perhaps we can share source code?

treehog
Dec 19, 2005, 12:54 PM
Definitly open source :cool:

Several things that might be important hope this thread has a good ending :D

There is a limit of 500 posts to a thread so might be a good idea to make this a sticky thread that acts as a pointer and see if this rule can be altered for this thread if 500 is reached

I am doing an evening course in computers so my abilty to program is still minimal

I personaly think the use of the most sofisicated over the top solutions are the way forward such as gumstix will allow future proofing and expandabilty

However I cant see any reason why not let both arm and other types supply pointers to thier activity on another thread as it may supply insights
possibly a hybrid might result who knows

Also for a lot of practical reasons it might be a good idea to generate along side a simulator program that can be used by everybody

also it might be an idea to form special support threads such as
project UAV open source simulator (thread title )
and other threads possibly elements of the project such as

project UAV open source uplink electronics element (thread title )

project UAV open source Test flight Berlin club group (thread title )

project UAV open source Test flights North California group (thread title )

project UAV open source Libary source code information (thread title )

Then in this way some programmers might write the program and some flyers might test it out and the main thread wont get too unwieldy

I do think we could do with threads quickly

project UAV open source bigginers guide to gumstix (thread title )

and

project UAV open source Thread title suggestions
example that the dutch large foamies club might decide to make
project large foamy for UAV flight tests thread etc

and

project UAV open source Other relevant projects (thread title )
that could explain projects like

hugo_vincent

http://www.albatross-uav.org and

http://www.nongnu.org/paparazzi/

and for laugh thread

specatular failures threads so as not to get too serious :D

rather than have a big debate about it I suggest you
JettPilot
go to the first post re-edit it to tell the new comers to the thread the new systems introduced that you have decided to introduce to steer the threads to thier relevant sections
then that way the flyers could hang out at flight test threads
and coders could hang out at coding threads
and electronic types could hang with uplink downlink sections and so forth

and the main thread wont get lost in sea of debate Arms versus Sparks
or similar

I for one find the coding and electronic stuff really hard so if contributers could supply as mainy helper pointers such as wiki encylopedia or thier own home made tution pointers it would help

Just my 2cent worth

Ralf

P.S.

Found another interesting link from gumstix page

http://gridswarms.essex.ac.uk/platform.html

flieslikeabeagle
Dec 19, 2005, 02:08 PM
I believe the 500-post limit to thread length has been removed - several other threads I participate in have now gone long past 500 posts.

I bought the Jan 2006 issue of Linux Journal and was excited to find out that the state of EDA software on Linux (for electronic schematic capture, simulation, and PCB design) is quite advanced. When the Gumstix hardware is finalized, we can design printed circuit boards for it using entirely open-source, Linux tools. :)

Here's a link to the article: http://www.linuxjournal.com/article/8438

-Flieslikeabeagle

Xnaron
Dec 28, 2005, 12:40 AM
I was thinking of using a linksys wrt54g running linux with a couple of serial ports added to it as the brains for an autopilot system. My thread here http://www.rcgroups.com/forums/showthread.php?t=456990
After reading this thread I think a gumstix platform might be the way to go for the flight control system. I am thinking of getting a gumstix board with an etherstix board. I would still have an onboard linksys router to use for remote control and uplink/downlink. Anyone in this thread get a gumstix board yet?

Brendin

shedao
Dec 28, 2005, 01:07 PM
I bought the Jan 2006 issue of Linux Journal and was excited to find out that the state of EDA software on Linux (for electronic schematic capture, simulation, and PCB design) is quite advanced. When the Gumstix hardware is finalized, we can design printed circuit boards for it using entirely open-source, Linux tools. :)

Here's a link to the article: http://www.linuxjournal.com/article/8438

-Flieslikeabeagle


I have yet to check those tools out but a friend says they are decent for building your own PCBs. I took the direction from the paparazzi project and gumstix - using the freeware version of Eagle, which can design PCBs also. Pretty cool tool imo:

http://www.cadsoft.de/

jszeto
Jul 10, 2006, 09:18 PM
Please welcome to join this platform, for a FULL SEC UAV Project.

Gumstix is Software Embedded Control, so its exact advance solution!

We can build this easy upgradeable UAV system together here, as an Open Source!

http://www.sourceforge.net/projects/full-uav-sec

Idea & Outline, (Module)
PXA 255 Hardware design,
Algorithms & Programming,...


Sonar Alti., Digital Compass, Expansion Interface, CAN Bus, Motor controller,-
Temperature, Servos --------------------> Gumstix -----> GPS
IMU, Pressure, Airspeed, ----> ADC’s --------> Gumstix -----> Comms Radio


We look to start work allocation soon!

Nice to meet you!

Jeffrey

HoverMonkey
Oct 06, 2007, 02:04 AM
Hi Everyone! Anyone have anything flying yet? GPS working?

HoverMonkey
Oct 06, 2007, 02:13 AM
lol....I just read the date on the last post...aarrrggg!!!
Well, at least Paparazzi Project is still alive.
Back to my google searching for the answer....

Unterhausen
Oct 06, 2007, 02:22 PM
There is a store for at least some of the Paparazzi boards. I like Gumstix, but the packaging could be easier.

HoverMonkey
Oct 06, 2007, 11:43 PM
Hello,

I bought two of the PCB for the Tiny 1.3. Still unless you are going to build 10 or 20+ of these you're going to spend more on the crimpers, test equipment, regulated power supplies than the autopilots.

I am absolutely stunned no one is offering or making completed kits. Is it not legal or something else I don't know about? All I want is 1 to get started with to learn and don't want to have to buy 200.00 crimpers and expensive power supplies I may never use again if it doesn't work out.

HoverMonkey
Oct 07, 2007, 12:57 AM
Ok, I'm in idiot, it finally dawned on me the "Classix" board has the connector for the Gumstix. So, I should have purchased the BOM for that not the Tiny. Doh!
Will google to see if anyone is selling those PCB...and go read the Paparazzi Project website for more info...

oramaavis
Nov 23, 2007, 08:05 AM
Hi,

I am also one of those "lucky" who bought all list of components for Paparazzi Classix + sensor+ boards itself and don't know what to do next.

The idea of porting Paparazzi to Gumstix looks interesting, it is written in C and should be portable. I will try to compile airborne s/w on debian and see where it takes me...

The question is how to handle analog i/o , does Gumstix have any analog i/o ports?

regards
Aivis

HoverMonkey
Nov 27, 2007, 05:16 PM
oramaavis,

Ya, it's fun stuff. I have now also purchased a Gumstix Basix and have PCBs for the Classix board. I have everything to start building except the time. Working on that.

I'm mostly on the Paparazzi Wiki and IRC collecting info to keep me moving forward.

Well, back to the Wiki and IRC for me...good luck.

octane-link
Dec 03, 2007, 03:24 PM
Hey all:

This sounds like a great project, and one that I am interested in. My background is in hardware mostly, but I do know some C (PIC programming).

I also have a background in automatic controls and system modeling that I would be willing to lend, if anyone wants.

I would suggest using a trainer aircraft initially, life is much easier when you aren't fighting the aircraft in getting a system working.

Again, if you would like my help, let me know! I will be following this project with interest.

kbosak
Jan 10, 2008, 10:37 PM
I don't really see why you need the overhead of running linux.
A
Maybe because serious autopilot needs inner and outer loop running at different task priorities, and maybe communication + mission planning task. the problem is that linux is not realtime, event its mods arent.
B
second big problem with gumstix is that it has no hardware floating point, so real Kalman filtering, matrix inversions and overall smooth motion algorithms will eat may processor cycles. f.ex software emulated floating point multiply generated by C compiler will be about 50-200 cycles, copmared to a few cycles on ARM9 with floating poitn support.
C
third big problem with gumstix is -25C minimum operational temperature. This is poor and unsuitable for high altitude balooning. It is not even good enough for industrial applications and really far form typical aeronatics -55C lower limit.
D
fouth small problem are stupid connectors and bad feeling that development board wil need 3-4 different gumstix boards (RS232, etc etc ADC).

reasons B & C are forcing me to search for something like phytec ARM9, but for lower price.

Jack Crossfire
Jan 10, 2008, 11:01 PM
vicacopter.com has had good results with the 200Mhz Gumstix. U really need the 600Mhz to do anything beyond just flying.

kbosak
Jan 11, 2008, 12:04 AM
What I am trying to say is that Gumstix is not enough. :(
I didnt said I am opting for ARM7 around 60MHz.
I said I am opting for very special edition of ARM9 around 200-400MHz that has hardware floating point.

Unterhausen
Jan 11, 2008, 12:17 PM
A
Maybe because serious autopilot needs inner and outer loop running at different task priorities, and maybe communication + mission planning task. the problem is that linux is not realtime, event its mods arent.
B
second big problem with gumstix is that it has no hardware floating point, so real Kalman filtering, matrix inversions and overall smooth motion algorithms will eat may processor cycles. f.ex software emulated floating point multiply generated by C compiler will be about 50-200 cycles, copmared to a few cycles on ARM9 with floating poitn support.


I'm pretty sure the next airliner you fly in has an autopilot that doesn't have a multi-tasking operating system, and has considerably less computational power than a Gumstix. I remind myself of things like that when I'm programming just as a reality check. RTAI and rtlinux are as real-time as you can get with a computer. I don't know that you can run RTAI on a gumstix though.

The lack of floating point makes KF and related Bayesian algorithms more costly. There are certainly ways of speeding them up. Reduced order filters are probably required, although we usually leave the airframe flight dynamics out of our KF anyway.

I don't like the gumstix packaging for this application. I wish they would clean it up. The newer versions are a little better.

kbosak
Jan 11, 2008, 12:44 PM
I'm pretty sure the next airliner you fly in has an autopilot that doesn't have a multi-tasking operating system, and has considerably less computational power than a Gumstix. I remind myself of things like that when I'm programming just as a reality check. RTAI and rtlinux are as real-time as you can get with a computer. I don't know that you can run RTAI on a gumstix though.
yes I know and I know you can build a moon lander or space shuttle on dozen motorolas 68000 (provided they are rad proof). on the other hand I rememner Ariane 5 had to be remotely exploded because old branch of code made an overflow on 16bit variable. the code has been writen years earlier and seriously tested, on 10% slower rocket, on 16 bit uprocessors. the uprocessor moved to 32bit, the code was recompiled with 32 bit compiler, but one variable by omission stayed 16 bit.
It was not me who let that bug pass through but I prefer to start with OVERSIZED systems for 100USD more (but not for 500USD more per devkit).
This oversizing may include comfortably low latency even when I schedule the task in suboptimal way and let the debugging+logging code work in parallel - I like strong CPU if it costs under 2W of power.

rtlinux would be certainly better than linux that is preinstalled on gumstix.
but since it has to be painfully installed, situation of rtlinux vs ecos vs ucos2 changes.
there is no point in using only rt kernel in rtlinux as you have to write realtime drivers, what is as difficult as writing them for eCos or uCOS2. if you write 2 sets of drivers/modules for rtlinux: one set inherited from main kernel tree, nonrealtime, one custom, realtime (eventually ordered for HIGH price) you end with double kernel and double drivers set. That in turn will be heavier just for memory footprint than pure RTOS.

Plus, I need low interrupt latency, low jitter, but not necessarily memory protection (that needs MMU). It is better (easier) to have common RTOS for main computer as for peripherals controllers like ARM7 (that have no MMU). At this point rtlinux is out - but on the other hand if it would be preinstalled I would buy such motherboard immediately as small low power boards with RTOS that doesnt costs 500USD/license are rare.

To be fair for gumstix I was considering x86 DIMM-PC Xboard anything but now I realized that majority of them is commercial temp range only (0...70C) what is not very convincing for meteo balloon+glider.

so the best I have is phytec ARM9 (LPC) (500USD devkit, 350USD board) or gumstix (16-USD board, devkit... 300USD? could anybody list modules that are useful and necessary in practice to use with gumstix :confused: if the price will balloon up to 250USD per board, it might be better to go for phytec which has better temprange and much more horsepower...).

I really want to go for kalman and other mysterious things since I just dont want to make yet another photoshooting UAV that flies between waypoints using converging sinusoidal motion in presence of wind over 5mph :D .

Jack Crossfire
Apr 13, 2008, 08:33 PM
Have upgraded to a 622Mhz Verdex from a 200Mhz Basix. The 622Mhz Verdex is 4x faster than the 200Mhz Basix at real world floating point. The SDK is a buster to get working, but once it works, U don't have to touch it. They've had problems with this board since it came out in 2007. Now the serial ports are a bit fickle.

Jack Crossfire
Apr 16, 2008, 02:35 PM
The Verdex requires 2 obscure bits to get ttyS1 to work: c_cc[VMIN] to 1 & c_cc[VTIME] to 1. ttyS0 has a strong pullup on RX. ttyS1 & ttyS2 have no pullups. So the 5V conversion for ttyS0 is a diode while the other two use a voltage divider.

dpplopez
Apr 25, 2008, 08:11 PM
Hi, Jack and all

I'm currently working on an UAV based on Gumstix. After reading this looong thread I think my project is similar to many of the UAVs cited here. If anyone is interested, I'll be happy to post some details.

Basically, I have not begun working with Gumstix code, because I'm working in a top-down way, designing sensors and actuators to free Gumstix as much as possible from processing real-time data. IMU, altimeter, GPS and other sensors are handled by an external microcontroller-based circuitry. However, I know I will finally need some real-time support when feeding data into Gumstix.

Jack, I'm curious about your last posts. 622 Mhz? Is it a custom Verdex? Mine runs at 600 Mhz... Also, when you speak about SDK, I guess you use OpenEmbedded, right? Finally, could you give more details about serial port logic level conversion? Didn't know about the strong pullup on ttyS0-RX.

Thanks!

Jack Crossfire
Apr 27, 2008, 01:51 AM
622 Mhz was based on the bogoMIPS rating, 600Mhz is probably the real speed.


root@gumstix-custom-verdex:~$ cat /proc/cpuinfo
Processor : XScale-PXA270 rev 7 (v5l)
BogoMIPS : 622.59
Features : swp half thumb fastmult edsp iwmmxt
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant : 0x0
CPU part : 0x411
CPU revision : 7

mentari
Sep 18, 2008, 07:21 AM
Hi, Jack and all
I'm currently working on an UAV based on Gumstix. After reading this looong thread I think my project is similar to many of the UAVs cited here. If anyone is interested, I'll be happy to post some details.
Thanks!

Please post your code to scratchpad like below:

http://scratchpad.wikia.com/wiki/RateGyro2

http://scratchpad.wikia.com/wiki/RateGyro

http://scratchpad.wikia.com/wiki/UnmannedAerialVehicles