FirmamentFX
May 17, 2007, 11:13 AM
Hi guys,
It's been a long time since I was on here - unfortunately life got in the way and threw my UAV project off balance for a while...
Anyway, I have been thinking about a fully automated integrated autopilot/takeoff/landing system for my UAV over the past couple of months.
I have decided to completely "over specify" the computer systems in my vehicle to allow for future growth and to allow me to try out some more complicated ideas I have planned.
To that end, there will be 3 SBCs in the UAV, all running Pentium M processors with 512MB RAM (I got a great deal on some second hand boards and have found some nice cheap processors...). They will also all be running Windows CE (the hard, realtime version of Windows). The breakdown of processing is detailed later.
On the whole Windows thing (I remember some discussions from the latter half of last year regarding RTOSs) - I looked at several options including QNX, VxWorks, TenaSys RTX for XP Embedded, and Ardence RTOS. I eventually came down in favour of CE because it includes pretty much everything one would need, whereas the other systems charge for "bolt ons" such as networking capabilities and advanced graphics (necessary for blob tracking for machine vision and real time video streaming).
I can also develop in Visual Studio 2005 in C and C++, which I am familiar with - this was another deciding factor in the choice of OS. A lot of code will be generated using MatLAB and various extensions, before being brought into VS2005 for integration with other control code and compilation.
The breakdown of the processing functions is as follows:
System 1: The flight and system controller, which deals with flight control, flight plan management, flight augmentation, and all the sub systems including fuel/pneumatics/electrics/gear and brakes/etc.). There is also a secondary GPS system attached to this computer for return to base and redundancy (in case System 3 goes down).
System 2: Stores Management System, which deals with the control and processing of data from the payloads (for example cameras and other externally looking sensors) and also the control of the payload bay doors etc.
System 3: Data Acquisition Concentrator, which takes all the data from all the onboard sensors (positional, air data, Primary GPS, radar altimeters, INS system, and the "pilot" camera) and manages the encoding/decoding of messages from the ground control ststion (the radio modem is connected to this system). It also manages data logging into a database in the system.
All these systems are networked together using an onboard LAN (I looked at CAN bus and other data protocols including RS232, but the data flow will be very high).
Also networked into the system is the guiodance camera, which manages the blob tracking for the landing system. This is a self contained 3rd party unit that communicates by ethernet and also runs Windows CE with custom programming).
As I said, I know this is perhaps over-specifying the processing power needed, but I thought I may as well to allow for future upgrades as I got such a sweet deal on the electronics... :)
Wow! Long post. Sorry :) . However, it's great to be back working on this project, after a rough and bumpy few months in my personal life! :rolleyes:
Cheers!
Martin
It's been a long time since I was on here - unfortunately life got in the way and threw my UAV project off balance for a while...
Anyway, I have been thinking about a fully automated integrated autopilot/takeoff/landing system for my UAV over the past couple of months.
I have decided to completely "over specify" the computer systems in my vehicle to allow for future growth and to allow me to try out some more complicated ideas I have planned.
To that end, there will be 3 SBCs in the UAV, all running Pentium M processors with 512MB RAM (I got a great deal on some second hand boards and have found some nice cheap processors...). They will also all be running Windows CE (the hard, realtime version of Windows). The breakdown of processing is detailed later.
On the whole Windows thing (I remember some discussions from the latter half of last year regarding RTOSs) - I looked at several options including QNX, VxWorks, TenaSys RTX for XP Embedded, and Ardence RTOS. I eventually came down in favour of CE because it includes pretty much everything one would need, whereas the other systems charge for "bolt ons" such as networking capabilities and advanced graphics (necessary for blob tracking for machine vision and real time video streaming).
I can also develop in Visual Studio 2005 in C and C++, which I am familiar with - this was another deciding factor in the choice of OS. A lot of code will be generated using MatLAB and various extensions, before being brought into VS2005 for integration with other control code and compilation.
The breakdown of the processing functions is as follows:
System 1: The flight and system controller, which deals with flight control, flight plan management, flight augmentation, and all the sub systems including fuel/pneumatics/electrics/gear and brakes/etc.). There is also a secondary GPS system attached to this computer for return to base and redundancy (in case System 3 goes down).
System 2: Stores Management System, which deals with the control and processing of data from the payloads (for example cameras and other externally looking sensors) and also the control of the payload bay doors etc.
System 3: Data Acquisition Concentrator, which takes all the data from all the onboard sensors (positional, air data, Primary GPS, radar altimeters, INS system, and the "pilot" camera) and manages the encoding/decoding of messages from the ground control ststion (the radio modem is connected to this system). It also manages data logging into a database in the system.
All these systems are networked together using an onboard LAN (I looked at CAN bus and other data protocols including RS232, but the data flow will be very high).
Also networked into the system is the guiodance camera, which manages the blob tracking for the landing system. This is a self contained 3rd party unit that communicates by ethernet and also runs Windows CE with custom programming).
As I said, I know this is perhaps over-specifying the processing power needed, but I thought I may as well to allow for future upgrades as I got such a sweet deal on the electronics... :)
Wow! Long post. Sorry :) . However, it's great to be back working on this project, after a rough and bumpy few months in my personal life! :rolleyes:
Cheers!
Martin