Wednesday, 16 January 2013

Quick NY update

Haven't had much to say recently, but I doubt there are that many readers out there desperate to hear about my every move. Short summary time, then.

Basically I've spent the last few weeks trying to get my head around ROS, a software package for coding operating protocols, algorithms, navigation, message passing etc for robot hardware. It's good for simulations too, which is what I'd like to have done in a week or so. I suffered a big-ish setback when I found out the version I was using was obsolete and had to start again with the new build environment called "catkin". I'm guessing the changes are mostly under the hood because it seems somewhat less intuitive than the first version.



So now I'm spending my time trying to work out how to get Max Sum into a form suitable for simulation, which is quite daunting given that I have no experience in software engineering before now and with multiple interacting parts to consider, that's very much what I'm faced with. The sums and functions themselves aren't all that complex, although translating my understanding of Max Sum from a simple graph-colouring exercise into task allocation is proving trickier than first imagined. Let's see how it goes.

-Chris

Tuesday, 11 December 2012

Latest ideas in brief

In light of the continuing plans for the Mosaic project (check out the new website here) I've been trying to flesh out more of an idea for what I can contribute to this field in the coming years. Thankfully with confirmation from my supervisors that it's not a stupid idea (always worth knowing!) I'm beginning to build more of a concrete plan of what I can (at least try) to implement.
Mosaic project logo. Not representative of our choice of UAVs...
The logic behind it:
It looks very much like the Mosaic demonstrator we're planning for next summer will consist of heterogenous UAVs: specifically fixed wing gliders and some form of 'copters. Given that these clearly have very different capabilities, speeds, durations in the air etc; how best can they act as a team to find the targets in a space? There has been work on this area already, specifically in coalition formation, but there doesn't seem to be much emphasis on a message-passing hierarchy between different forms of UAV. The kind of example I envisage is where a high-level glider does a few passes over a search area and generates some initial guesses for locations of search-objects (in real life, these might be casualties), before passing this on to the lower-level 'copters to deal with in some way, perhaps as a max-sum task allocation since the framework for this already exists. In a non-discretised case, where perhaps it would be best not to treat individual locations as point-like tasks, I'd also be interested in using rapidly-exploring random trees as a basis for working out optimal routes over a probability map produced by the glider to maximise some utility in finding objects.

Animation of a rapidly-exploring random tree. After growth is complete the UAV can pick an optimal path to follow.
Well that's the summary. Now comes the hard part of making all of this actually tenable! Back to work...


Friday, 16 November 2012

Project progress, search patterns, and a DIY UAV

Following more meetings on our shiny new UAV project we've begun to thrash out a few more of the scenario details including a loosely defined goal of having a working prototype demonstrator next summer which involves multiple UAVs locating some sort of object (perhaps radio beacons) in a predefined search space. The ultimate goal is to scale this up over coming years into something resembling a radiation/chemical leak response package which could meet a number of targets, for example locating people in the path of the contaminant, alerting emergency services to their location, etc.

With that in mind I've been focussing my reading more around the search-pattern, search-algorithm area and trying to find out about existing methods and their relative pros and cons. Bayesian methods make a recurring appearance simply because having some pre-conceived belief and then updating it as you find more data is an extremely logical approach to the problem. There's also the issue of what can be achieved with multiple drones, and how best to confirm a target's identity once a potential sighting has been made. To that end I've had a few thoughts and ideas on possible approaches, based partly on existing work:

Utilising multiple similar UAVs in a heterogenous way
Given a few different types of UAV in a situation it's clearly logical to treat them differently. But what if you have identical drones that can perform different tasks? For example, given three drones and a search space, rather than having them all running search patterns independently at the same height (so the same detail) would it be advantageous to have a hierarchy where one (or more) UAVs takes high altitude, low-detail images and then co-ordinates the other drone/s towards possible matches?
This...
... vs this
This introduces a quasi-centralised system - which would obviously need to be robust enough that if the higher UAV fails the search can still continue (perhaps reverting to the first arrangement). It would also need to be established if there is any benefit to this method.

Inter-UAV task allocation
Going on the basis that the MaxSum algorithm mentioned in previous posts is an extremely versatile task-allocation tool, I've been considering if there's scope for its implementation in this area. For example, say a search pattern is being carried out by a swarm of UAVs using either of the two arrangements given above, and a possible sighting is made. Could then, the co-ordination switch from Bayesian searching to a MaxSum task assignment as one UAV creates a task of "go and take a closer look at this location" and broadcasts it to surrounding vehicles? In the same-height arrangement it might turn out that such a method would be moot as it would maximise the utility function if each UAV checks out its own possible sightings, but with the second method the higher altitude drone could easily interrupt the search of the lower UAVs by creating a task of looking in detail at a location. 

The bottom line of this is that the UAVs could have two modes; a Bayesian search method and a MaxSum task mode; designed to compliment each other

Prior planning and search space restriction
One might imagine a number of these situations where, once establishing the area to be searched, time could be saved in the co-ordination stage by assigning each UAV a portion of the area to search which they are then restricted to (barring a MaxSum task being received). Indeed there need not even be awareness between the UAVs of the other drones' behaviour, since each could have its own Bayesian belief map of their portion. If the designated target is found by one UAV they then need only communicate this to the others for them to stop searching. This could also reduce message overhead. A pithy summary then, is "do the UAVs actually need the information gained by the other UAVs in the area?".

More questions:
The seemingly simple task of "find some objects in an area" actually has considerable elements that need to be accounted for in any solution. As well as the things mentioned above, the formalised problem has the following points to contemplate:

  • What uncertainty will the UAVs' images produce (presumably related to sensor resolution and altitude)?
  • How accurately do they need to know a target's position to consider it a successful task?
  • Is there any other metric to measure success beyond "finding the targets quickly"?
  • Do the UAVs know in advance how many targets there are?
  • If the answer to the above is "no", will they ever stop their search or is it actually desirable that they keep looking indefinitely?
A final word, from a DIY unmanned vehicle search team
For interest, I found the blog of a team from Australia who competed (and almost aced) a competition held there to find a missing person and drop a water bottle for them in a pre-defined search space using an unmanned aerial vehicle. While not offering a huge amount of inspiration on the co-ordination front (a simple "lawnmower" search pattern was used with a recognition algorithm) it still makes interesting reading. I'm thoroughly impressed by how well it all worked considering it was an amateur effort done essentially by hobbyists. Check it out!

-C


Friday, 2 November 2012

Some disjointed thoughts on UAV deployment 2

Using a Mini UAV to Support Wilderness Search and Rescue: Practices for Human Robot Teaming -Goodrich et al

Carrying on from yesterday, with the added caveat that following a meeting it seems we may be looking more into the realms of radiation leak scenarios (which actually holds a lot of overlap for this sort of thing. More on that later), this is the second paper I meant to ramble about yesterday but didn't get a chance to.

The unique perspective provided by this publication is that it uses actual search and rescue data and methods and examines how UAVs could augment these searches. The basic process is Bayesian, with an initial belief system which is then updated with various different time horizons in mind. As before there are considerations about terrain, paths, undergrowth etc which directly affect how a person might behave.

Terrain mapping
There are three methods outlined which detail how a plan of action is carried out by the various members of a search and rescue team. At this stage these are all scenarios where the UAV has a human pilot controlling it directly (albeit remotely).

Sequential:

  • A search plan is designed by a mission planner or director based on initial beliefs
  • This is then carried out by an overhead UAV
  • Any signs of the missing person are followed up by ground crews 
  • If the person isn't found, a new plan is though of and the process begins again
This method is especially useful over inaccessible terrain where a ground team can't easily move to track the missing person on foot, and where the area is very large. 

Remote-Led:
  • A ground team performs a search as quickly as possible from the last known location of the missing person, following any clues of their whereabouts
  • The UAV is tasked with orbiting overhead and tracking the ground team, extending their effective range of vision
  • Telemetry is sent back to the mission director on the ground to further the search
A good plan for cases where the missing person has left evidence of their location or the area is quite local.

Base-Led:
  • Bayesian pattern based on waypoints chosen
  • UAV carries out pattern sending back data to base. Circles waypoints looking for missing person evidence.
  • Ground crew then follows the UAV's search pattern ready to close in on potential signs of missing person, but otherwise remaining central to UAV circles.
Plan works well for easily mobile ground crews who don't have access to enough information to perform a remote-led search.

The paper also outlines in-brief a stochastic approach for modelling likely search positions (essentially calculating the initial probability distribution to then be updated in a Bayesian fashion) by modelling a probabilistic quasi-random walk with functions taking into account terrain direction and environment.

So- what's useful here?
Well clearly I now have a potential new context to think about (radiation or chemical leaks). It might even be worth asking the emergency services what sort of process they would carry out in this case, and then seeing whether it resembled the above at all. The initial probability distribution generation is worth considering as one might potentially have more computing power available (consider calculating it remotely and then transmitting to the UAV?). More broadly, it highlights the need for the consideration of the command structure of an operation when deciding what the UAVs need to do and who they need to report to. In any case, a Base-led or Sequential process for mapping out an emerging pollutant cloud might not be a bad starting point.

-C

Thursday, 1 November 2012

Some disjointed thoughts on UAV deployment

In lieu of our continuing group efforts to have a separate UAV project which links Orchid work with collaboration with UAV engineers in the University (entitled MOSAIC), I've been scouring papers for various suggestions on how to implement UAV co-ordination in a selection of scenarios.

In essence, since we might end up with a few different scenarios it'd be beneficial if we had a range of options we could refer to in a reference-like way. "Hey! I want to get some UAVs to do this task" says an enquirer. "Ok", says we, "we think This is the best algorithm, for these reasons given your situation, hardware, environment etc etc". Since I'm ideally placed to research existing work in this area I'm trying to start gathering methods, reviews, tests, trials, and all the various pitfalls of different algorithms into a coherent lump that may end up as a literature review.



A couple of papers caught my eye recently in the specific area of search and rescue of a missing person in some given terrain area or wilderness location. While specific, they do list a few useful classes of problem which could be given future thought.

Supporting Search and Rescue Operations with UAVs -S Waharte and N Trigoni

This is a nice paper giving a very broad overview of three approaches to searching for a missing person with an evaluation of their respective efficacy in a simulation. Nearly all such scenarios can be categorised by the exploitation-vs-exploration payoff, which goes something like this:

How much time should I spend searching areas I haven't yet searched, compared to looking more closely at areas I have searched?

Clearly both extremes are undesirable: you would not want your UAV to zip quickly over a huge area and miss the missing person because of lack of attention to detail, nor would you want it to spend four hours staring ever closer at a person-shaped rock.

Like this one, on Mars.

Unlike the Max-Sum utility, the methods here deal only with minimising the time of finding the missing person: a difference in that there is typically only one overriding 'task' (albeit split into possible sub-tasks) for the UAVs to undertake. Nonetheless it is important to consider the algorithms outlined to avoid being funnelled into one specific line of thinking:

Greedy Heuristics
Each UAV maximises its own utility (ie search coverage) in a Bayesian way, developing its own guesses as to the location of the missing person and acting on them. Various methods for route-choosing were explored including those maximising immediate gain and those that actually plan into the future slightly.

Potential Heuristics
Areas of interest are modelled as attractive potentials on a 2D surface, and less accessible areas as repulsive potentials. Force is calculated (as in physics) as the negative of the potential gradient. Potential increases with subsequent visits to discourage loitering, and some message-passing is allowed.

POMDPs
Partially observable Markov decision making problems are a well known branch of decision making in computer science and provide a forward-looking strategy for action based on noisy data which may not actually represent the situation of reality. For instance, the chance of recording a fake positive result is increased with decreased height and the model takes this into account. The question then becomes one of maximising coverage with a view to doing so in future, given uncertainty of existing data. Again some message-passing was allowed, but in a very computationally intensive way: with UAVs sharing their entire belief set periodically when they came in range of another UAV.

Despite the very simple scenario and simulation (only a few tens of square meters of simulated woodland) the tests showed clear advantages to a POMDP method including message passing. A brief concluding thought here is that such a method has two very big problems: a terribly costly message overhead, and required computing power which increases exponentially with the grid size (since essentially every possible path is considered). Possible, but unwieldy without some serious solution space pruning.

More thoughts to follow

-C

Friday, 26 October 2012

Few videos of interest

Couple of interest videos related to decentralised co-ordination (in the second case, there is an overhead from a UAV).


This is a nice talk and demo from Vijay Kumar at the TED talks, showing agile flight control, formation flying and (more interestingly from my point of view) decentralised co-ordination. Definitely worth a read of some papers from here. He talks at one point about disaster relief work although I think the reference is to lower-level building infiltration. The video concludes with the now well-known James Bond theme played by drones.

This second video shows an interesting amalgamation of a flying co-ordinator sending instructions to co-operative ground based agents. I'm wondering if this could be applied to our forest fire scenario where both UAV and UGV agents will be working together. Also, the colour algorithm they demonstrate would surely be improved using simple number-selection and passing algorithms wirelessly, rather than visible light? This will negate the need for line-of-sight visibility as long as each robot can broadcast some kind of identifier.

Food for thought I think.

-C

Tuesday, 23 October 2012

Disaster news out of Italy

In a pretty shocking turn of events, the BBC today reported that seven Italian scientists have been sentenced to imprisonment for "falsely reassuring" people about the possibility of an earthquake, despite their statements being qualified by the fact that such predictive work is extremely difficult.

I think this is an appalling turn of events which can only damage the resolve of future research into the vital areas of disaster relief and prediction. Certainly if in three years I've managed to make a contribution to UAV co-ordination and this verdict stands, I would feel uncomfortable seeing any project involved in a country which persecutes those trying to act for the public good.

News story here: http://www.bbc.co.uk/news/world-europe-20039769

Anyway, I shall leave it at that, and go and simmer in my outrage.

-C