Sunday, November 22, 2009

Bimps and politics, Or how life could have been better in Iran and Afghanistan had we had better blimp technology

After what happened in the Iran Election 2009, I really do wish the west would be able to get its act together in Afghanistan, and trust me these two are related! Here we will present how airships could have actually helped the political life and hence the daily well being of people both in Afghanistan and Iran and how they can do so in the future.

The ruling clergy in Iran has been promising a prosperous Iran ever since its conception. Not only have we not reached that prosperity, but also the living and working quality of life in Iran has fallen behind countries that were once less developed like south Korea turkey and Malaysia. Prosperity in neighbouring countries whose administrations have become democratic can heavily undermine the promise of prosperity in Iran and grossly educate people on the pros of a democratic government. I have to add a note here that many people in Iran really haven't realized that and some even still believe democracies to be devious systems.

Afghanistan could have been a great informative example for Iranians because of its similarity to Iran in terms of demography and because of a strong tie between the people of the two nation. Given that I believe both the Iraq and Afghanistan war were justified, although the Iraq war went well1, the state of Afghanistan is now in a mess and this chance for eduction is currently being lost. lets face it, the international community in Afghanistan has failed both militarily and socially.

The Airships, had the technology been available, could have changed the odds in both fronts. In the military aspect, Al-Qa'ida has been active mostly in small villages and rough mountainous regions. Autonomous Airships could have provided a great surveillance option to the authorities over the movement of forces on dirt roads and on the mountains. They could have traced every single vehicle in specific regions and they could have spotted human activities in unknown mountainous hideouts.

From the social aspect, communications and mass media (here radio and TV mostly) play a massive role in educating the public, neither of which existed in Afghanistan, and neither of which is easy to provide for in a country with no infrastructure. Airship could have been a viable solution for providing communications and mass media for the type of small communities that exist in Afghanistan.

We can see in Iran how the success of the campaign in Iraq is putting pressure on Iranian authorities and this is evident by the sort of propaganda they are trying to feed us about the current situation in Iraq (apparently the Iraqis are all dying!). Had better technology been used, Afghanistan would have been the same nightmare to the Sepah dwellers in Tehran.

All is not that bad though, we have got plenty of time to develop these technologies to meet economical communication demands in the world and war demands in upcoming conflicts.

1--- In my opinion, the Iraq war was as successful as it could ever be. In a country with so many Ideologies that prescribe murder for the opposing Ideology, you actually can not try to set things right without some of those madmen killing civilians. Furthermore I am sure that the country will flourish in 5 to 20 years time as already their civilian death toll from violence is far less than the death toll from road accidents in Iran.

Thursday, November 19, 2009

Even longer duration high altitude airships

Lockheed Martin has been recently exploiting the idea of using high altitude airships to perform long duration surveillance and communication relays here. Using very light photovoltaic panels, they plan to power an airship, eliminating the need to carry fuel on board. This allows the airships to stay airborne for a longer time. Currently they are planning to have systems that stay aloft for a minimum of a month.

It seems that their main problem for an even longer duration is the helium leakage. Although with modern materials they seem to have overcome the majority of the leakage problem, but there is still so much that the ships have to land once in a while (as far as I could figure, it was a month or two) to refill their helium.

One good Idea to extend the airships airborne duration is to replace the helium as it is lost, and although there is no source of helium in the stratosphere, we should be able to gather hydrogen at that height.

Before I go any further I would like to point out that by making the take-off and landing completely autonomous we can make the whole procedure very safe. I believe that the safety concerns of using hydrogen in unmanned aerial vehicles, although valid, have been too exaggerated, especially if the use of the H-gas would enables vehicles to stay aloft for literally years.

To obtain hydrogen we must first gather water from the air. This can be done using a cold plate in contact with the air. Much like the walls of a refrigerator the plate, when in contact with water molecules, will trap and solidify the molecules resulting in a layer of ice. Afterwards by heating up the plate the water can be collected and electrolysed into hydrogen and oxygen. The hydrogen can then be used to replace the lost gas.

Now all that remains is a question of numbers. For example whether the 15 KW solar systems on these demonstrative high altitude airships will be able to replace the lost gas? With 237 kj for one mol of hydrogen (20 liters at 1 atmosphere) I reckon it would be a close cut. Maybe I'll munch up the numbers next time. But I reckon that a wie bit larger airship can be set up to do this.
I actually came here to make a post on an Idea that I had, but though I'll give an update on my work first:
I used webots and imported maps from yahoo into a large flat piece of land with the provided blimp. I moved the blimp around and captured images with camera. Then I started testing my system with the provided images, trying to localize the blimp on a map taken of google. Note that the two different map sources means using images from different times.
So I started testing my localization scheme and that's when start it started to change. First the particle filter was too slow and I replaced it with an EKF (from opencv). But then the EKF would easily accumulate errors with wrong matches. Now I have switched to Multi hypothesis EKF(this I had to write myself) and its working ok, but the whole thing is underestimating the height of the vehicle.
I am guessing that the source of the underestimation is the input of the EKF update. What I am doing is literally I am feeding an average of several estimates for the input of the EKF update step. As for the height, I keep an estimate of the logarithm of the height. Since the height estimates are very inaccurate, as I am currently using the size of the features to obtain the estimates, averaging the logarithm gives a lot more pull to lower estimates than to higher estimates.
So what I will be doing now is changing the MHEKF to keep my height estimates in their original units...

Saturday, October 10, 2009

Report

Right now I have a particle filter that uses SIFT features to provide estimates on the location of a airborne camera. What happens is that SIFT features are pre-calculated for a given map and they are stored in a database where they can be quickly looked up.
Currently one aerial image is taken and its SIFT features are extracted. These are then matched against the features of the database and the features that have a good match are used to generate hypothesis about the location of the vehicle.
These hypothesis are then used to power the update phase of the particle filter. This is done by firstly strengthening the particles that fall in the range of one of the hypothesis, and then adding one sample single particle for each of the new hypothesis presented.
What happens is that the particles correctly accumulate around the position on the map where the centre of the taken image lies. They are, therefore, able to find the position of the image on the map.
What I am working on is a way to aggregated the information present in the particle filter into knowledge. Currently I am trying to use expectation maximization to find Gaussian functions that best represent the knowledge in the particles.

Saturday, May 23, 2009

Bayesian filter

In our work we are going to use a Bayesian filter to do the estimating of the position of the pictures that are being handed in. Given that the input data will include matches between points that will suggest very different possible points therefore filters that use a single modal function to represent their hypothesis are unsuitable for our purpose. Therefore we need to use Bayesian filters that can represent several hypothesis.

Thursday, May 21, 2009

Platform implementation for hierarchical localization

I need a platform for performing my tests and then implementing the system. There are several requirements for this platform. It has to provide basic image manipulation capabilities, It should help with performing tests and in the end I should be able to use it for implementing the final solution.

So what I have started to build my work on top of openCV that provides great vision features. Currently it reads a map from a directory of images and extracts SIFT features from that map. I have used a code by Rob Hess for the SIFT extraction (The code is clean (bad naming though) but I think some rather unconventional methods were used :( ).

Furthermore I extract features from a given image and match them with the features from the map. These matches will be used to aid a particle filter component provide the location of a given image in relation to the map.

Wednesday, April 29, 2009

Christian Siagian's sensor model

Mr Christian Siagian has a publication on how they managed to localize a camera in a scene. To do this they have used a particle filter to make and refine estimates of the location of a robot in a scene and. Now what I wanted to do is similar in that I want to use particle filter to localize.
Another similarity between my work and Mr. Siagian's is that I plan to use SIFT (or other patch encoding) features to aid my localization. What we both are doing essentially is using the matched SIFT features as sensor reading coming from the camera.
Now when a particle filter is used we need a sensor model to integrate the data from the sensors into the estimates of the particle filter. A sensor model provides us with a estimate of p(Rt|X) where Rt is a sensor reading and X is a hypothetical state of the system.
For my work I am going to perform a number of experiments to come up with an estimate of p(Rt|X) in the system that I will be using, but we were curious to know the sensor model that Mr. Siagian had used for his work, so I looked it up here(you'll have to read into the pdf file), and what he has done is assume a Gaussian profile for the SIFT sensor model.
To explain more clearly firstly he has an object recognition module. Here, an object is actually a number of SIFT features that appear together. So in the first runs the system extracts a number of objects (group of SIFT features) from the captured images and records these along with the place in the map where the objects were captured.
Afterwards in the test runs, when an object is recognized (a number of features are matched against a number of features of a single object in the data base) for each particle (in the particle filter) we need to update the weight of that particle by multiplying it by p(Rt|Xp) where Xp is the position (or state) of the particle in question and Rt is the event of observing the observed feature. Hence p(Rt|Xp) is the probability of seeing the object if we were indeed in the position that the particle tells us to be.
We now return to the thing that we were trying to clarify: how is p(Rt|Xp) calculated. As we have said with each object the position where the object was acquired is recorded. The value in question, is the chances of drawing a point further away from the position of the object than the particle. This chance is modelled using a Gaussian function with its sigma value set to 5% of the map diagonal.

Sunday, April 12, 2009

Why the camera is a good aerial sensor

We can use a number of different sensors for aerial vehicle use. We can name sonar, radar, lidar, GPS and camera as the most commonly used sensors.
The principle working behind sonar, radar and lidar are all nearly the same in that they all send out a signal that hits a target and returns. By intercepting this returning signal, the device can provide an estimate of the position of the objects in relation to the vehicle. Thus these devices are known as active devices.
The GPS on the other hand is a passive device that relies on the signals sent out by a number of satelites that orbit the earth. By calculating the time difference between the reception of these signals the GPS can calculate its own position in relation to the satelites and also in relation to the earth.
Finally we have the camera that senses the incomming rays of light from a large number of directions and provides an image that represents the strength of these rays.
For use in localization of course the GPS is the best choice, but there are situations in which the use of GPS or related technologies may not be possible. For example indoor environments or in between large buildings can have an unwanted effect on the signals that are sent by the satellites. Further problems are posed in combat situations where the signals may be jammed by the adversaries.
The problem with sonar is that, in high altitudes, a long time is required for the signal to reach earth and also the signal is dispersed alot

Thesis

My Msc Thesis is about hierarchical localization for aerial vehicle use. Localization by itself is about finding the location of an object. In our case in which we are working with aerial vehicles, we want to find the location of the vehicle. Of the sensors that are used for aerial localization the camera is best suited for localization (after GPS) as it can pick up images of the underlying terrain and register it against a provided map.
As outlined by the before, our approach towards this problem will be a hierarchical, meaning that we want to be able to find our position in a number of approximative steps. The procedure will first make a guess at the possible position of the aerial vehicle, and then, in each subsequent step it will refine its guess till it reaches an acceptable accuracy.
There already exist a number of work that try to perform localization hierarchically and these will be discussed in subsequent posts.

Sunday, March 29, 2009

Still writing

I am sooo slow at generating content! At a speed of 2 pages per day I think I have broken a slug world record or something. I promise to write more in this blog, especially for projects that need documentation.

Saturday, March 7, 2009

Posting cause I am sick

It is funny how one never gets to do the right things when everything is fine. Only when things go bad do you get to do what is right. I should have written more when I was better.