We have moved! Please visit us at ANTHROECOLOGY.ORG. This website is for archival purposes only.

Jan 31 2011

Indoor / Outdoor "GPS" Tracking Camera

"A camera that remembers where you've been...even when you don't." That is the catch phrase for the newest in geo-aware digital cameras on the market, and the ploy / technology behind the advertisement has me very intrigued for the possibilities of computer vision enhanced ecology and remote sensing that it may enable.

While working on the ooo-gobs of other aspects of my current work (in other words, all that dissertation proposal and exam stuff), I wondered about the latest progress in GPS enabled digital cameras.  Generally, GPS positions tagged to images could be used to improve the computer vision, structure from motion process. Bundler is not enabled for this, but Noah Snavely suggests in his articles about Bundler that this would be possible.  I was thinking about how useful camera GPS positions would be as I was trying to subset out a set of photos to perform a pilot study of my phenology - color based analysis.  

After a brief web search, I came up with this puppy, the new Casio EXILIM EX-H20G shown here (image and source docs at http://exilim.casio.com/products_exh20g.shtml).  At first blush, it looks like a newer version of the EX-FS150 that we bought over the summer, but never used for much.

The kicker about the EX-H20G is the Hybrid GPS system that uses built-in accelerometers to track position when GPS signal is lost, for example when you go in a building ... or under a forest canopy...?  This a pretty new device and it is still relatively expensive (about $350) but the ability to track and geo-tag position when GPS signal is lost could prove to be very valuable for linking aerial and ground based 3D point clouds.  Unfortunately, a review of the manual indicates that continuous shooting mode is not available on this model, but it may be worth picking one up to see how it works.

Next then will be to soup up Bundler to use camera GPS positions to initialize that computationally dreadful bundle adjustment stage!


Jan 24 2011

From Wired UK: Kinect hack builds 3D maps of the real world

Wow!  This from http://www.wired.co.uk/news/archive/2011-01/24/3d-kinect-map 

“Noted Kinect-tinkerer Martin Szarski has used a car, a laptop, an Android smartphone and the aforementioned Xbox 360 peripheral to make a DIY-equivalent of Google Street View….  All he needs to do is drive down his street, as the Kinect, laptop and Android team log a series of colour images, 3D point clouds and global positions into a collection of data points. Throw those into a custom-made program, and voila; you have a 3D model of your street, and its geo-tagged for easy placement on an map like Google Earth.”

It looks like we had better get a Kinect for the Lab!

Jan 24 2011

DC police using drones

A disturbing headline at the Washington Post: “Privacy issues hover over police drone use”.

Alas, it appears that this very small “WASP” drone is giving people another reason to dislike drones.


And just when drones are getting to be more fun then ever!  Will the AR.Drone be banned?

Jan 24 2011

New Website for Micro Aerial Projects

Just received notice by email from Micro Aerial Project informing me that their new website (http://www.microaerialprojects.com) has recently been uploaded and that we should visit their products page for information regarding our Microdrone UAVs and their payloads. 

I've had a look, and they do indeed have some very cool stuff for sale- but at a starting price of $15K- is there any reason to go with this solution over what is on offer from Mikrokopter?



Jan 15 2011

Easystar clones- which is best for Ecosynth?

On DIYDrones there is a "Roundup of all the EasyStar clones":



Can anyone tell me which of these would be the best for Ecosynth work?

Your thoughts?


EDIT by Jonathan 1/17: Originally posted link is broken, here is a working link.


Jan 10 2011

First Autonomous Flight w/ EasyStar

Today Nisarg and I went to a local field to test the Fly By Wire A, Fly By Wire B, Return to Launch and Auto modes. Our testing had started with the Fly By Wire mode. In this mode the airplane is supposed to maintain a 45 degree bank angle when the rudder is positioned to either side. Additionally, the airplane’s pitch is also maintained at a 45 degree angle when climbing or descending. When no input is detected the plane will maintain a straight and level flight. After recording the flight using the XBees we were able to verify that both the bank and pitch angles were maintained at 45 degrees when told to do so. In this mode the throttle was also controlled autonomously and a steady speed was maintained throughout the flight. Although this mode will probably not be used for data collection it serves as a test to make sure that all of the ArduPilot’s functions are operating as expected.

Next we decided to test the Return to Launch mode. In this mode all of the systems are controlled via the ArduPilot to position the plane above the location at which the first GPS data point was taken. Once the launch position has been reached the plane will attempt to circle above that position until manual mode is activated. The resulting flight path is illustrated below where “H” indicates the “home” location. Despite the plane's non-linear flight path the home location was eventually reached and a stable holding pattern was maintained overhead. It should be noted that the RTL mode was activated at the furthest point from home (located at the bottom of the following image).

After the above tests were completed the first fully autonomous waypoint flight was attempted. The following illustration shows the location of the waypoints used for the Auto mode test. During this flight the plane was only told to get within 60 feet of the waypoint before moving on to the next one. Future testing will require a less conservative waypoint radius (maybe 10-20 feet). Once all of the waypoints were reached the plane was told to return to the launch position indicated by the black and red waypoint marker labeled with an “H”.

The following illustrations show the first and second flight paths taken by the plane for the waypoints shown above. During both of these tests the plane had taken a non-linear path towards some of the waypoints. These curvy flight paths could be the result of a poor gain value in the code.

Ok, so the image above looks kinda messy but the important thing is that the plane made it within 60 feet of all three of the waypoints. Part of the overlapping in the plane’s flight path was due to the fact that I had flown over the waypoint area in manual mode in an attempt to replicate what the airplane would try to do in AUTO mode. After realizing that this was a mistake a second test was performed. This time I had made sure that no overlap was made within the area in which the plane would be flying in AUTO mode. In the following image it should be noted that the AUTO mode was activated at the furthest point from the home position (located at the top of the image) This flight path seems to indicate that a more direct path is taken when the plane is far away from the waypoint. As it gets closer to the waypoint it seems to experience significant overshoot resulting in a more winding flight path.  

Tomorrow I’m going to try getting the plane to fly to waypoints which are located at much greater distances from one another to see how it behaves. I’m also going to reduce the required waypoint radius to around 20 feet instead of the 60 feet used in the tests shown above. It seems as though the winding flight path may provide additional coverage which would otherwise be difficult to achieve with the slender and direct flight paths taken by the hexakopters. A downside to this is that flight repeatability will be extremely difficult if not impossible to achieve with this platform. The flight path’s repeatability however, is only being used now to create a constant from which a comparison can be made between the resulting synth quality of various flying heights and camera positions/arrangements.

After these tests it has become apparent that the EasyStar platform is capable of flight times of up to 25-30 minutes on an 11.1V 2200 mAh lipo battery. If we were to use a slightly larger battery pack I think that we could achieve flight times that exceed 30 minutes. I’ll begin to test more waypoint configurations tomorrow in order to determine the coverage capable with the EastStar platform. I would highly recommend that the Ecosynth team get a netbook to serve as a stand-in for the current field computer. I've been using an Asus netbook while in field and it's able to handle all of the programs required for the ArduPilot. In addition to it's easy to handle size the battery lasts for more than 10 hours when operating on high power and the screen is easy to read in the sunlight.   

Jan 09 2011

First Fully Recorded Flight with EasyStar

This past week I had continued to test the ArduPilot in stabilization mode along with the XBees and GPS unit. After obtaining a GPS lock and insuring that the XBees were able to communicate through the Happykillmore GCS I flew the EasyStar in both the manual and stabilization modes. In order to test the ArduPilot’s ability to regain control in stabilization mode I had given the plane 50% throttle, put it in a 90 degree bank angle and quickly let go of the control stick. Within a few seconds the EasyStar was able to regain control and maintain a straight and level flight with no observable signs of overshoot. For the second half of the flight I decided to leave the plane in stabilization mode to let the plane maintain stability by itself. Throughout this test the plane remained stable but had continued to make wide right hand turns (this can be seen in the lower right hand portion of the flight path). I have yet to decide if this was caused by poor trim settings or calibration error upon startup, either way it should be an easy fix.

I’m planning on doing the first fully autonomous flight sometime this week so long as the calibration process continues to go smoothly. I’ll be sure to write another post as more progress is made.

Jan 04 2011

First Flight With the ArduPilot

Prior to the first flight test I wanted to insure that the servos would remain stable throughout the flight so last night I was trying to figure out why I had experienced occasional servo jitter when in manual mode but not in any of the other flight modes. I had eventually found a line in the code which had indicated that the flight mode was designated by the magnitude of the servo rotation value indicated on the transmitter. My problem was a result of the manual mode switch position being too close to the minimum manual mode switch position value indicated in the code. I was able to increase the switch's magnitude to 140%, well above the minimum value of 37% indicated in the code. The servo jitter problem had not occurred since. 

Today I had visited a local flying field to test the EasyStar in both the Manual and Stabilization modes. In order to simulate the weight of the SD4000 digital camera 165 grams of washers were mounted inside the EasyStar’s fuselage where the digital camera will eventually be placed. The first flight was in manual mode to insure that the CG was located in the correct position and make sure that all the trims were correctly positioned. After making a few adjustments I had switched it over to stabilization mode to see how the plane would respond. Everything had seemed to be in working order. When I had tilted the plane sharply on its side and quickly let go of the stick the plane would correct its orientation and continue on a level flight path. The same would result if the pitch was changed abruptly. Due to a low laptop battery I was unable to optimize the PID gain values or test any of the other flight modes. I will continue with the flight tests tomorrow and am going to work on getting the XBees working so I can record the test flights to make sure the GPS is working properly.

In order to help with calibrating the gain values in the field I had organized the information presented on the DIY Drones website into an easy to follow field guide which is attached as a word document.

Setting PID gain values.docx (15.21 kb)