Feb 25 2011

Photoscan is awesome!

block-L3-1-1

Agisoft’s Photoscansoftware is simply amazing!

The picture at left is an orthorectified photo mosaic over our Knoll research site on the UMBC campus generated by Photoscan automatically using only input photos that I took with the Hexakopter.  For reference, each Hexakopter photo covered less than a 10th of the area observed in this scene. 

An orthophoto is a photo that has been mathematically distorted based on the differences in elevation of the scene so that everything appears ‘flat’, or it appears that the camera was right above each point in the photo.

Photoscan uses similar computer vision technology that Bundler and Photosynth use to automatically recreate the 3D structure of a scene from only photos.

The professional version of the software also makes it very easy to georeference the scene to a geographic coordinate system, making it possible to easily view in a GIS software … or in Google Earth.

Here is a link to a Google Earth image file that Photoscan generated from our photo set, enjoy (35MB kmz file)! 

I am working on getting some 3D output to Google Earth next.

Feb 23 2011

Hexakopter Suspended Payload Tests–Results

hexa_flying_with_payload_vid_cap

The results of our Hexakopter payload tests were better than expected!

You can see a few clips from the test flights here: http://www.youtube.com/watch?v=OZlamfvl3VU

Basically, we suspended a 1.5lb weight from a metal cable, dangling about 12 feet below the Hexakopter.  We tested take-off, landing, auto-controlled hover with GPS and altitude lock and waypoint flying.

We found that the onboard computer can fly the unit with payload better than I can and that it performs very well at staying balanced despite a pendulum effect from the payload.  The unit appears to dampen this effect after a few seconds and in periods of calm wind the whole rig appeared virtually motionless.  In an auto-hover test, the unit lasted about 12 minutes before reaching the battery limit, it is expected that this time would be a bit less in a real flight.

Overall, a successful experiment and a great day to be out in the field!

Feb 21 2011

Time to Kinect!

Microsoft to release Kinect for Windows SDK this spring!

Microsoft will be releasing the Kinect for Windows SDK. According to Microsoft, "It will be available this spring as a free download, and will give academic researchers and enthusiasts access to key pieces of the Kinect system-such as the audio technology, system application programming interfaces and direct control of the Kinect sensor itself."

From: http://www.engadget.com/2011/02/21/microsoft-to-release-kinect-for-windows-sdk-this-spring/

Microsoft: http://blogs.technet.com/b/microsoft_blog/archive/2011/02/21/kinect-for-windows-sdk-to-arrive-spring-2011.aspx

Feb 18 2011

Nano Hummingbird boggles the mind

This is a live video streaming aircraft.  Need I say anymore?!

AeroViroment develops operational unmanned aircraft for DARPA that looks like a hummingbird: http://bit.ly/eVVTM2

Feb 17 2011

Hexakopter Suspended Payload Tests

How well will a Hexakopter work at carrying an instrument payload suspended several meters below?

That is the question we will be trying to answer in the next few days as we get ready for some work for the Forest Service. The goal is to suspend an instrument payload several meters below the Hexakopter on a light-weight metal cable. The payload will weigh about 1.25 lb (0.56 kg) and needs to be far enough away from the Hexa to avoid the effects of downward prop wash. The payload and Hexa will be flying through smoke and we want the instruments to be unaffected by the Hexa itself.

I purchased some 1/16" (~1.6 mm) braided metal cable, some ferrules and some clips from the local hardware store to build the suspension system. I am going to use a 'calibrated' water bottle in place of the instrument payload for weight.

I am going to test:

1) At what distance below the Hexakopter will the effects of prop wash be non-existent / negligible? This will be done in the field by flying a Hexa above a pole with flagging tape on it. This distance will be referred to as X meters.

2) Can the Hexakopter fly in manual and auto mode with a 1.25 lb payload suspended at X meters from a 1/16” metal cable? This will be tested by performing take-off, manual flying, auto-hold, auto-waypoint flying, and landing with the payload attached. Results will suggest total success or a range of flight performance. It is expected that wind will play a significant factor.

3) How long can the Hexakopter fly with the payload attached? This will be tested by first getting the Hexa to altitude with payload and letting it to hover until the battery is at the minimum safe capacity. Then, with a fresh battery installed, it will be tested by flying a simple ‘back and forth’ route over the flight area to simulate increase battery demand.  It is expected that there is a great potential for pendulum affects to occur during flight.

Stay tuned for some results!

UPDATE: I forgot, one of the main Hexakopter videos shows Holger doing his insane Hexa flying witha 1kg soda bottle suspended from below.

http://www.youtube.com/watch?v=gvH2f-AewX8&t=8m0s

Feb 16 2011

Coordinate Transformations in R Using Least Squares

     I have been working on writing a program to compute a 3D conformal coordinate transformation. The methods I am employing are those described in Paul Wolf and Bon Dewitt’s Elements of Photogrammetry, Appendix C. This program aims to find the rotation, scaling, and translation factors necessary from transforming an arbitrary xyz coordinate system into the UTM XYZ system. There are three translation factors (omega, phi, kappa), one scale factor (s), and three translation parameters (Tx, Ty, Tz). Equations relating the xyz system to the UTM XYZ system are found by first rotating, then scaling and translating the arbitrary xyz system. But we are now left with 7 unknowns, and Wolf and Dewitt suggest using least squares to solve this problem. First, the equations relating the two coordinate systems are linearlized using Taylor series expansions. This will require a rough initial estimate for our unknowns. The three Taylor series expansions (one for each X,Y,Z) are then transformed into a matrix equation (AX=L+V), where A is the matrix containing the coefficients of the unknowns, X contains the vector of unknowns, L is the vector which holds the differences between the observed UTM XYZ points and approximated UTM points, and V is the residual. Solving for X gives X=(ATA)-1(ATL), values which contain the corrections to be added to the initial approximations for a better set of approximations. Thus far, I have successfully programmed this algorithm in the R programming language. My solution must now be iterated to minimize the values in matrix X or the standard deviation using the residuals. I am in the process of finding the best convergence technique to use. Any ideas? Once the minimum value has been reached, the approximated rotation, scale, and translation factors can be used to transform any of the arbitrary xyz points.

Feb 11 2011

Rising Popularity of the R Programming Language

According to a recent analysis of the search hit popularity of the top 100 programming languages, the R Statistical Computing language, has surpassed both MATLAB and SAS.

I first read about this from the Revolutions blog, a blog dedicated to posting news and content about R, and was happy to see from the survey report charts that the free R software has such relatively high popularity compared to similar languages.  It is worth noting here that the popularity difference is slight due to the fact that this survey counts many languages that are more popular than either R, MATLAB, or SAS. R (#25) had a popularity of 0.561%, MATLAB (#29) 0.483%, and SAS (#30) 0.474%.  Meanwhile Python (#4) has a popularity of about 7%, C (#2) about 15% and Java at #1 with about 18.5%.  The Revolutions blog also makes the important point that the methods used to compute these stats may be a bit controversial, but the stats still serve a purpose.

I first learned R from taking a graduate level statistics course at UMBC, Environmental Statistics 614, and have developed my skills with the programming language to help with data analysis and preparing graphs and figures for papers.  I used R to perform the data analysis and generate the non-map figures for our first paper on Ecosynth and will continue to do so for future publications.

I have only used MATLAB to execute a camera calibration program for my Computational Photography class last semester and I learned a bit of SAS programming for my Multivariate Statistics course last year.  I think both have their uses, but I am really fond of the relatively light-weight size and 'cost' of R.  I am also interested in adding in the scientific and numerical programming functions of Python, SciPy and NumPy.  The SAGE project utilizes SciPy and NumPy to establish a robust free and open-source alternative to for-pay analytical tools like MATLAB, and is also increasing in popularity.  

Free open-source revolution!  This makes me want to put up a post about open-source GIS software...

Feb 09 2011

The sky's ... limited?

The future of model aviation in the US is ... vague.  The AMA (Academy of Model Aeronautics) released a brief statement in its recent member newsletter with a link to their most up-to-date news about the FAA's (Federal Aviation Administration) progress in developing model aircraft regulations.  You can view that statement here.

The word is that an update is expected some time this summer with rumor that exemptions from regulation for small, model recreational grade units are a possibility.  A previous update from the FAA indicated that recreational use is still regulated by the "below 400' and away from airports and air traffic" policy outlined in a circular from 1981.  We keep to this specification in our remote sensing missions out of respect for the regulations and more importantly because of the need to have very high-resolution and detailed images of the canopy.  Our scientific needs require us to fly at very, very low height above ground level, typically between 50m - 100m (164' - 328').

It looks like the AMA is trying to make sure that the large body of model fliers and aircraft, like us and the equipment we use, don't get lumped into the same category as those users flying large aircraft at high altitudes.

So we will stay tuned for the latest from the AMA and the FAA this summer.

Feb 04 2011

Google Art Project: Time for a Google Ecology Project?

imageGoogle Earth has gone indoors in 3D- just another level of real-world linkage across local to global scales.  With Google Art Project- you can use Google Streetview to go into museum galleries and browse art in high resolution: http://www.googleartproject.com.

 

This has really got me thinking: can we get our 3D ground scanning methods to bring us into the forest in 3D? I love the idea- can we make it happen?