All Posts (14056)

Sort by
Developer

Here a project of a Coanda Effect Saucer (CES) stabilized with a 9D0F IMU. The CES UAV, propelled by an electric engine, uses the Coanda effect to take off vertically, fly, hover and land vertically (VTOL). There is no big rotor like on an helicopter and the flight is very stable and safe for the surrounding.

The Coanda Effect has been discovered in1930 by the Romanian aerodynamicist Henri-Marie Coanda (1885-1972). He has observed that a steam of air (or a other fluid) emerging from a nozzle tends to follow a nearby curved surface, if the curvature of the surface or angle the surface makes with the stream is not too sharp.

I use my firmware AutoStab v4.0 installed the ArduIMU+ V2 flat with a special mixer for this device.

Stay tuned on this blog, more to come soon,

Jean-Louis


Read more…

Quad Flight Testing

Here is a bit of video I have put together of my quad flight testing. Have been getting about 7mins of flight time with the very inefficient props I have at the moment. Will be putting larger two blade props on it when they turn up.



The flight I did after this video was a little less successful, doing some more aggresive flying I found out a heavy quad does not like high rates if decent, It seemed to get a lot of prop wash spilling around and being drawn back into the props, and stalling them (not very fun :-o) It got away from me after that, APM could not keep it level, nor could I and I dumped it into a tree at about 30-40kph :-(
The result was this:


It looks pretty bad, but after checking it all I only broke one prop and the plastic joiner in the middle.

So if you have a heavy or larger quad be careful with the decent rates particularly with no or slow forward speeds.


Read more…

DIY Radio Altimeter ::Updated::

bottom.jpg



Here is a DIY radio altimeter designed by Matjaž Vidmar. It is a good start for anyone looking at a non-GPS method of finding altitude while landing.

There are no schematics or source code available on the site, but it is a good design reference and it does give the PCB layout of the microwave circuit. That alone helps
immensely as that is the most difficult part of an RF design.

::Update::
Found another vertical radar project on his website with much more documentation.
Read more…


Hi,

This might be a bit off from the main interest on this forum, but then, you never know.

For my part, the thrill for UAV's was originally the interst for what they could be used for, not the UAV's themselvs. But like most newcomers , I soon learned to tune the expectations for small UAV's down a level or two. Strangely enough, it wasn't all that easy. Lot's of the functionality requested isn't there (yet), more skills then initially thought of are needed, and so on.

After the T3-4 (map a quarter of a mile) competition, I started to explore what software that was around, with regard to image processing and creation of digital elevation models (dem's) and orthophotos. What I discovered was that there were quite a few, but with a price tag usually starting at about 5K USD or more, besides not neccessarily particulary easy to use. Well, there were also open source and low cost softwares, some with limited/specialized functionality, and often with high requirements for the users qualifications.

Well, not to make this an essay, I will jump to the point. After I got aware of MS Photosynth and similar software, things started to lighten. With Photosynth (and similar), it is basically possible to extract the same kind of information as from high cost laser-scans. Not the same amount of data, but in many respects with comparable possibilities for utilizations. The problem seemed however to be that Photosynth pointclouds were not georeferenced, and could therefore not be directly imported into other software for further processing.

Therefore, when I finally got some spare time, I started to develope a software/tool for exactly this, georeferencing of pointclouds. By now, I have a functional software, but still need to do more testing. So, I want to get in touch with others who have the same interest in processing of aerial photos, and who do use UAVs for this purpose.

If so, and if you have some time spend on experimenting with new software, please send me a PM.

So for the software, what does it do?

PC-GoeRef (Point Cloud GeoReferencing)

PC-GeoRef is like the name suggests, a tool for georeferencing of 3D pointclouds. I have only tested the software on pointclouds derived withMS Photosynth so far, but in theory it should work on pointclouds fromother sources as well. (Probably a need for writing new routines forreading the different file-formats).

Basically, the process consists of two parts;

1. Identifying points in the pointcloud that corresponds to a set of points with known coordinates, GCP's (Ground Control Points).

2. Performing a coordinat transformation on the pointcloud, in order to georeference the pointcloud.

The idea is to use the (georeferenced) pointclouds as basis for building real world digital elevation models, orthophotos and for furterprocessing in other software. Eg. in LIBLAS tools, GRASS GIS, AutoCad,ArcGIS, etc. (Points are simple objects and can relatively easily beexported to most fileformats).

The process:

The process starts by aquiering a pointcloud, eg. by using Photosynth, and some tool like PhotosynthPointCloudExporter for retrieving the points. The synth shown below was made as part of the T3-4 competition here at DIYDrones and can be viewed here: http://photosynth.net/view.aspx?cid=1d31dfca-a6b5-41ef-9e08-7717b5bf1a49


Notice the red dot on the roof of the small house on the pickture below, (added in MS Pain after the comp). That is one of the GCP's



By using a bright color which differs from the surroundings, there is a good chance for Photosynth to notice it, and to store it during theimage matching process. Since Photosynth also stores the color of thepoints that are registered, that can be used to finding the gcp in thepointcloud, even if the pointcloud consists of several 1000 points.

This is where PC-GeoRef comes into the pickture. The process starts by opening a pickture with a gcp marker in it, and clicking on themarker in order to learn it's color by RGB-value.


Then the pointcloud-file are read and filtered by color. These pointsthen become candidates for automatic matching with GCP's with knowncoordinats. (The red lines to the left have the same colour as thefiltered points from the pointcloud).


Next, a test-transformation is performed on the matched points, and last a transformation of the whole pointcloud is carried out. This iscommonly called a Helmert- or Affine-tranformation. I am using a custommethod for this transformation. It is currently using 7-parameter(translation x, y ,z, rotation about x-, y-, z-axis and one scale forall directions). The method can however easily be extended to individualscaling of all individual axis. (For that I will need more matchedpoints then the 3 I found in my first successfull test-synth).



So for the results: As can be seen from the example above (all numbers are in meters), I found an almost incredible high accuracy inthe pointcloud derived from Photosynth. In this first test, I actuallyfound the differences in distance measurements to be in the field ofplus/minus 30cm, for GCP's spaced more then 100m apart. I will offcourceneed to do more testing before I can tell what accurracy that can beexpected, but the first results were indeed interesting.

What's next:

- More testing, (alfa/beta-testers wanted...)

- Writing file-export to a few formats,

- Cleaning up the code,

- Demonstrating production and use of dem's

- etc,

- Then possibly sale of the software, (low cost ;-)



Read more…
Moderator
It will appear on the right shortly but too good not to repost here for those that might be interested that don't read the feeds.

Certainly something to think about over the holidays.

Ascending Technologies GmbH from Germany is looking to sponsor an international UAV research team in participating in any international UAV Contest (e.g. IARC) in 2011, or in demonstrating their groundbreaking developments in the field of UAVs in any public event in 2011.

The sponsored team will receive 15,000 Euros of hardware, software, individual modifications and support from Ascending Technologies GmbH’s multi-rotor product line.

The nominee shall be at the forefront setting the benchmark in UAV research in 2011. This sponsorship will enable the team to focus on developing their own ideas instead of trying to get an UAV flying.

A short description of the mission objectives, from the challenge which is planned to be attend, or what the project is about and a brief abstract for publication on www.asctec.de is required. The full application must be sent via email to Ascending Technologies by the 13th of February 2011.

Ascending Technologies is a young and highly innovative manufacturer of flying multi-rotor platforms for university & research applications. The company is known for its experience in design and production of high quality UAVs worldwide in most research laboratories and R&D departments in the area of aerial robots.

In 2008, Ascending Technologies won several awards in the European Micro Air Vehicle Conference (EMAV). Last year, the winner of the International Aerial Robotics Competition (IARC) used the AscTec Pelican aerial robot. In October 2010 a new endurance world record in laser-powered flight had been achieved in cooperation with LaserMotive LLC, Seattle. The AscTec UAV flew for over 12 hrs.


They are top banana people, so would be a great way to get to work with them.

Read more…

QGroundControl with Google Earth 3D Trees

image-2-1024x654.png

It was just one of these casual quick hacks (about 10 lines of code), but QGroundControl now also allows to use Google Earth for visualization, including the new trees feature. We're just in the beginning of the integration, a binary including this feature should be available next week.

While Google Earth is very shiny, it does not allow adding additional visualization components with the same degrees of freedom as OpenSceneGraph and osgEarth. We will therefore push the OpenSceneGraph/osgEarth integration further, as osgEarth also allows for better offline use without internet connection. As our MAVs collect aerial images, osgEarth allows to directly render them into the scene (as 3D mapping), a feature missing in Google Earth. But since we now support the best of both worlds, QGroundControl users have all choices at hand.


Read more…

In this FAA UAS risk analysis they state unambiguosly that AC 91-57 MUST be complied with for model aircraft (recreational UAVs). So much for all that "it is a request not a law" arguement. Apparently the AMA rules have been telling people to break the law for the last 30 years.

Read page 115 of this 2008 FAA document.

"Unmanned aircraft flown for hobby purposes or

recreation. Model aircraft must comply with

Advisory Circular (AC) 91-57, Model Aircraft

Operating Standards, published in 1981"

Read more…

In physics we trust...

img1373p0.th.jpgWith my first flight (brief as it was) successful. I set about playing with the beta release and by the time I had modified nobbles and bobbles the new beta has been released. Going through the check list as usual I setup rc stuff put in a flight plan for auto mode and checked everything with the CLI.
Snow had fallen so I decided I'd give the it a mini flight instead of the huge one planned. Mini flight would be around a nearby park with LOADS of waypoints on a "square" circuit to test the cam code. Everything charged and ready, I plugged in my battery closed her up and turned everything on. The APM board wasn't doing its usual LED show so I made sure the switch was inside and I pressed the reset switch once, twice, thrice (with a wait between). Yet the lights remained in this red flashing state (Any ideas?).
As I have hardware manual on a separate switch to mode changes I thought sod it I'll give it a quick fly now I'm down here to check the new kit I've added. Test motor direction with a single click of throttle and the plane rockets forward at me I grab it and produce a high volume expletive. Yes you guessed it my plane viciously attacked me. Thankfully with it being only a single click of what I can only assume to be more than 30 it wasn't spinning at full speed. 2700kV with a 3S would have been significantly worse for me. When its stopped bleeding I'll take a photo. The motor mount needs to be fixed thanks to my arm being stronger than the cyanoacrylate holding it together.

Well while I fix the motor mount and recharge the batteries. I thought I'd put up some pictures of my butchering.
Picture one - eBay "keychain camera" with shell removed and NPN transistors mounted over the switches. I might desolder the switches at some point a a cleaner install.
Picture two - Shell modification so the transistors fit.
Picture three - Reassembled camera with wires running to Arduino Pro Mini running/reading from APM.
Picture four - Close up of the reassembled camera with bent pins ready for soldering.
Picture five - Camera "installed" in the Easystar frame after some cutting.
Picture six - Camera "installed" with hole (so it can actually see). Hot soldering iron pushed in the right place.
Free Image Hosting at www.ImageShack.usimg1383e.th.jpg
Free Image Hosting at www.ImageShack.usimg13790.th.jpgimg1381rk.th.jpg

Read more…
3D Robotics

Parrot AR.Drone teardown

The guys at iFixit have done it again: a great step-by-step teardown of the Parrot AR.Drone. Here's just one sample page:


Read more…
3D Robotics

3D printing airplane parts at Shapeways

If you're at all handy with 3D drafting tools, you can have the most amazing objects printed for you at Shapeways. Above is just one example, a cockpit for a P-51 Mustang.


You can print in a wide range of materials, from flexible plastic to stainless steel. And it's remarkably cheap, usually around $2-$3 per cubic centimeter.


Shapeways can accept output from many 3D authoring tools, but I prefer Alibre, which is designed for physical objects and is affordable ($99). Lots of people use the free Sketchup, too, although because it's designed for virtual objects it can be a little tricky to ensure that your design will print properly. Others use everything from Blender (open source, crazy hard to use) to Solidworks ($5,000!).


Here's another example: an EasyStar FPV cockpit mount that Jason Short designed and 3D printed. Pretty cool, huh?




Coming out of the 3D printer:


Read more…
My most recent challenge has been adding the MAVlink protocol to my GCS project. So far, it has been my experience that one of the most difficult parts of pulling protocol messages apart is cracking the Checksum formula. A quick Google search will return hundreds of examples in C or assembler...but try finding one in Visual Basic. They mostly don't exist. uBlox and MediaTek have one method, SiRF has another, NMEA has it's own....

Then there's MAVlink. Their Comm Protocol page http://pixhawk.ethz.ch/wiki/mavlink/#mavlink_packet_documentation shows a link to a SAE AS5669A document found here: http://www.sae.org/servlets/productDetail?PROD_TYP=STD&PROD_CD=AS5669A in which they want $63 to purchase a standards PDF which still won't tell me what I need to know to decode their checksum. Apparently, they're using a crc16 checksum which includes bit shifting. A task not easily handled by .NET. So I've downloaded an converted 4 different checksum functions (1 in C, 2 in C# and 1 in VB6) to VB.NET. None of which will successfully generate the checksums I'm getting from the latest MAVlink APM output.

So I refer back to the MAVlink Comm Protocol document. Perhaps I'm looking at the wrong data. In the case of NMEA, they don't include $ or * in the checksum calculation. In uBlox, they don't include the leading uB in the checksum... but what do you know. They make no mention in the specification as to what they don't include. Is it everything? Do they leave off the "U"... no way to tell so I guess we assume everything is included. But so far, no luck in cracking this nut.... I've got about 8 hours in it so far.

So some might say, skip the Checksum for now. Just read the "U" as the header and the next byte is the payload length...and go from there. Well this is an EPIC FAIL of the MAVlink specification. In a purely homogenous environment where ONLY MAVlink messages exist, worst case (assuming no transmission fails) you'll only loose the first message by false positive on the header. Then it gets pitched on the next pass and you're off and running. "U" is recognized, length of message, checksum matches, all is good. Decode, discard, on to the next. Trouble is if you're not in a 100% MAVlink environment or you have to be ready to handle other protocols, then a "U" has a 1 in 255 change of occurring in a non MAVlink sentence. By having a 2 character header (like SiRF, MediaTek and uBlox), there is a 1 in 65,025 chance of having a false positive. By having a 3 character header (like ArduPilot, NMEA and UDB) there's a 1 in 16,581,375 chance of a false positive.

Does anyone have any clue how to correctly calculate a crc16 checksum in VB.NET? There are lots of "lightening fast" crc16 routines out these that make use of external C DLL's or some assembler code. I'm not interested in lightening fast... I just need it to work.
Read more…
100KM

techpod 2.0 progress blog

5226280627_36ff152d2e.jpg

5226280565_d7286177c9_m.jpg5226280601_7f8bfe20fe_m.jpg5224973911_206e829685.jpg


This is my official blog for the progress on the techpod 2.0 . I have posted some design pictures here . this is the first try at a frame for it .clearance between camera and dome look great no problem getting 180 deg of travel on both axis . the only problem is the servo proves be to wobbly by itself so I'm going to whip up a solution . I have the new design just gotta go cut it out in the CNC . will post the results . you can learn more about the techpod and purchase the 1.0 version at evuas.com .
Read more…

UAV mapping systems that surveyors like too


My father, who is a county land surveyor, pointed this article out to me. Looks like a neat system.
"asked our readers to select the one they believed would have the most impact on the surveying and mapping professions.The results are in. Out of a total of 697 votes, the Gatewing X100 Unmanned Airborne Vehicle is the winner with 48 percent of the votes"http://www.pobonline.com/Articles/Features/BNP_GUID_9-5-2006_A_10000000000000950297
Read more…

My First Quadcopter

3689381150?profile=original

Well I have finally moved to the dark side and made myself a Quadcopter, and had my first successful flight tonight.



Some Specs:
Weight: 2100g (4.6lbs) Without Flight battery
Span: 102cm (40")
Airframe: Black Anodized Aluminium square tube
Motors: Turnigy 42-50-600kv
Props: Master Airscrew 12x6 3 Blade
ESC's: 60amp Hobbyking SS ESC
Batterys: 3 or 4cell 5A/hr Lipo Flight Battery and 2cell 1800mah Lipo for Avionics
I hope to get some flying videos in the next day or two.

Read more…
3D Robotics

Yet another not-quite EasyStar clone

My neverending quest to find the perfect n00b UAV platform has taken me to yet another EasyStar clone, this one the Xen Phoenix (also known as the Esport, or E-Sport Phoenix). At $48 it's very cheap, and it comes with a brushless motor, ESC and a funky four-bladed prop.

3689381029?profile=original


It arrived today, and I'm afraid it's another case of "close, but no cigar". It does get some things right: ailerons, a brushless motor and a decent-sized rudder, which are all missing features with the EasyStar.


It also avoids the errors of some of the other EasyStar clones, such as the AXN Floater, and at least has the servo bays on the outside of the body, not taking up room in the cockpit. (Sadly it doesn't come with servos).


But it fails badly in the design of the fuselage, which is considerably more narrow than the EasyStar. The useful width of the cockpit is 43mm, as opposed to the EasyStar's 55mm. According to flight reports, this thin nose is also vulnerable to crashes and breaks off a lot.


Here's a picture of the EasyStar (a very battered one), the Dynam HawkSky and the Phoenix nose-to-nose:




Of all the EasyStar clones, I still prefer the HawkSky, despite it having a kind funky plastic power pylon that vibrates and makes noise when flying. It's got lots of room and comes with servos already installed. Shame you can't buy it without that 72Mhz 4Ch RC gear, which you simply have to throw out when it arrives and replace with proper 7ch 2.4Ghz stuff.

Someday either Multiplex will finally update the EasyStar and ship it with a proper brushless motor and prop, or the cloners will get it right. In the meantime, I'll keep looking.
Read more…

Autopilot imitates honey bees for aircraft aerobatics

From The University of Queensland:Australian scientists have developed a novel autopilot that guides aircraft through complex aerobatic manoeuvres by watching the horizon like a honey bee.

Allowing aircraft to quickly sense which way is “up” by imitating how honeybees see, engineers and researchers at The Vision Centre, Queensland Brain Institute and the School of Information Technology and Electrical Engineering at The University of Queensland have made it possible for planes to guide themselves through extreme manoeuvres, including the loop, the barrel roll and the Immelmann turn, with speed, deftness and precision.

“Current aircraft use gyroscopes to work out their orientation, but they are not always reliable, as the errors accumulate over long distances,” said Vision Centre researcher Saul Thurrowgood.

“Our system, which takes 1000ths of a second to directly measure the position of the horizon, is much faster at calculating position, and more accurate.”

“With exact information about the aircraft's surroundings delivered in negligible time, the plane can focus on other tasks.”

The group first “trained” the system to recognise the sky and the ground by feeding hundreds of different landscape images to it and teaching to it compare the blue colour of the sky with red-green colours of the ground.

Simple, low resolution cameras that are similar to a bee's visual system are then attached to the aircraft, allowing the plane to take its own landscape pictures to identify the horizon while flying.

“Imagine a plane that has eyes attached to each side at the front – the wide-angle camera lenses provide a view of 360 degrees.”

Mr Thurrowgood says that the challenge was to figure out the optimal resolution of images that will allow the system to both locate the horizon quickly and not compromise the accuracy of its information.

“The measurement process can certainly be quickened – we only have to adjust the cameras to take images with a smaller resolution,” he says. “However, it won't produce the same quality of data, so the key is to find an optimal resolution where you have both speed and quality.”

Testing the aircraft in an air field, the unmanned plane was directed to perform three aerobatic movements, the barrel roll, Immelmann turn and a full loop.

“We had two pieces of evidence that it worked out – first, the plane didn't crash and second, the system's identification of the horizon matched with what we measured ourselves.”

Mr Thurrowgood says that the system can potentially be adapted for all types of aircraft – including military, sporting and commercial planes.

“We have created an autopilot that overcomes the errors generated from gyroscopes by imitating a biological system – the honeybees,” says Professor Mandyam Srinivasan.

“Although we don't fully understand how these insects work, we know that they are good at stabilising themselves while making complicated flight manoeuvres by watching the horizon.”

“This project required tremendous effort, as separating the sky from the ground visually is not always as easy as we imagine – it can be difficult to pick out the horizon, so my hat's off to Mr Thurrowgood for achieving this.”

The group will be presenting their paper UAV attitude control using the visual horizon today at the Eleventh Australasian Conference on Robotics and Automation. Videos of the test flights are also available from the group.
Read more…

How to add a power sensor to the APM

3689380844?profile=original

If you make these changes to your APM shield you will be able to see your system battery voltage and current on a GCS in real time.

When the system developers incorporate the changes to the software release, Power efficiency in watts/distance could be displayed and if the battery capacity is entered, "est. time remaining" could be available.


I used the AttoPilot 90A/50V Voltage/Current Sensor with Connectors



AttoPilot Voltage/Current Sensor with connectors


The sensor is also available from SparkFun http://www.sparkfun.com/products/9028


SparkFun Power sensor board (Same as AttoPilot board)


The sensor provides a scaled output for battery voltage and current. The outputs are scaled for a 12 bit 3.3V ADC. Full range is 51.8 Volts and 89.4 Amps.

The connector that is wired into the AttoPilot sensor is pinned for a direct connection to the APM shield.


To prep the shield I left the first two resistor positions open (no resistors installed) and shorted the last two positions.

I installed a 3 pin header. The 4th pin from the bottom of the row is ground (the black lead). The next pin up is battery voltage (the red lead). The 3rd pin is the battery current (white lead).





I noticed that during the "test -> battery" only 1 reading was displayed and it was inaccurate.


I changed the 'sensors' file so that the battery read continues until you hit Enter to exit.




To incorporate the Power Sensor I had to modify these files:

sensors

defines.h

test

config.h

APM_Config.h

ArduPilotMega


Here are the changes I made:


sensors


#if POWER_SENSOR == 1

void read_battery(void)

{

battery_voltage1 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN1)) * .1 + battery_voltage1 * .9; //reads power sensor voltage pin

battery_voltage2 = BATTERY_CURRENT(analogRead(BATTERY_PIN2)) * .1 + battery_voltage2 * .9; //reads power sensor current pin

battery_current = battery_voltage2;

}

#endif


#if BATTERY_EVENT == 1

void read_battery(void)

{

battery_voltage1 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN1)) * .1 + battery_voltage1 * .9;

battery_voltage2 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN2)) * .1 + battery_voltage2 * .9;

battery_voltage3 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN3)) * .1 + battery_voltage3 * .9;

battery_voltage4 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN4)) * .1 + battery_voltage4 * .9;


#if BATTERY_TYPE == 0

if(battery_voltage3 < LOW_VOLTAGE)

low_battery_event();

battery_voltage = battery_voltage3; // set total battery voltage, for telemetry stream

#endif


#if BATTERY_TYPE == 1

if(battery_voltage4 < LOW_VOLTAGE)

low_battery_event();

battery_voltage = battery_voltage4; // set total battery voltage, for telemetry stream

#endif

}

#endif


defines.h


#define BATTERY_VOLTAGE(x) (x*(INPUT_VOLTAGE/1024.0))*VOLT_DIV_RATIO

#define BATTERY_CURRANT(x) (x*(INPUT_VOLTAGE/1024.0))*CURR_DIV_RATIO





test


static int8_t

test_battery(uint8_t argc, const Menu::arg *argv)

{

print_hit_enter();

#if POWER_SENSOR == 1

while(1){

for (int i = 0; i < 20; i++){

delay(20);

read_battery();

}

Serial.printf_P(PSTR("Volts:"));

Serial.print(battery_voltage1, 2); //power sensor voltage pin

Serial.print(" Amps:");

Serial.println(battery_voltage2, 2); //power sensor current pin

if(Serial.available() > 0){

return (0);

}

}

#else

Serial.printf_P(PSTR("Power Sensor Not enabled\n"));

#endif

delay(3000);



#if BATTERY_EVENT == 1

while(1){

for (int i = 0; i < 20; i++){

delay(20);

read_battery();

}

Serial.printf_P(PSTR("Volts: 1:"));

Serial.print(battery_voltage1, 4);

Serial.print(" 2:");

Serial.print(battery_voltage2, 4);

Serial.print(" 3:");

Serial.print(battery_voltage3, 4);

Serial.print(" 4:");

Serial.println(battery_voltage4, 4);

if(Serial.available() > 0){

return (0);

}

}

#else

Serial.printf_P(PSTR("Battery Event Not enabled\n"));

#endif

delay(3000);

}



config.h


//////////////////////////////////////////////////////////////////////////////

// Battery monitoring

//

#ifndef POWER_SENSOR

# define POWER_SENSOR DISABLED

#endif

#ifndef BATTERY_EVENT

# define BATTERY_EVENT DISABLED

#endif

#ifndef BATTERY_TYPE

# define BATTERY_TYPE 0

#endif

#ifndef LOW_VOLTAGE

# define LOW_VOLTAGE 11.4

#endif

#ifndef VOLT_DIV_RATIO

# define VOLT_DIV_RATIO 3.0

#endif

#ifndef CURR_DIV_RATIO

# define CURR_DIV_RATIO 3.0

#endif


APM_Config.h


// Battery monitoring

#define POWER_SENSOR ENABLED

#define BATTERY_EVENT DISABLED

#define BATTERY_TYPE 0

#define LOW_VOLTAGE 9.6

#define VOLT_DIVRATIO 15.7 //AttoPilot sensor voltage ratio (Minor adjustments to these values

#define CURR_DIV_RATIO 30.35 //AttoPilot sensor current ratio allow calibration to desired accuracy)


ArduPilotMega


// Sensors

// --------

float airpressure_raw; // Airspeed Sensor - is a float to better handle filtering

int airpressure_offset; // analog air pressure sensor while still

int airpressure; // airspeed as a pressure value

float battery_voltage = LOW_VOLTAGE * 1.05; // Battery Voltage of total battery, initialized above threshold for filter

float battery_voltage1 = LOW_VOLTAGE * 1.05; // Battery Voltage of cell 1, initialized above threshold for filter

float battery_voltage2 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1+2, initialized above threshold for filter

float battery_voltage3 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1+2+3, initialized above threshold for filter

float battery_voltage4 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1+2+3+4, initialized above threshold for filter

float battery_current;



Read more…

3 Tips for APM Software Users

Tip 1. ID the ArduPilotMega files that you are working with.


I put this at the top of the files:

//

// FILE: file-name

//


When you edit files in the Arduino IDE there is no indication of the file name you are working on. The added preamble helps a lot.


Tip 2. Add identifying information to the system file so that the CLI header will reflect the current condition of the system software.


The original CLI header shows:


The 'system' file segment that places the header file on the CLI window is:

(In the Arduino window - use Edit-->Find... "Init to get to the right place)



My modified header shows the serial port baud rates that are set, which GPS and GCS PROTOCALs have been chosen, and any special conditions that have been set:



The changes made to the system file were:



Tip 3. If you get the dreaded:


I get this message when I try to change the Sketchbook location to a different release version.

The solution is easy!

Just reboot your computer. Then start Arduino again

I know that is a pain, but that will solve the problem.


I hope these tips help.


Read more…