Dr. Mark Read

Research Fellow, Charles Perkins Centre, The University of Sydney
Research Gate
My Research Gate

Awareness Summer School 2013

This week I have been in Lucca, Italy, for the Awareness Summer School 2013. I had a dual role at this meeting, I was both invited speaker and mentor. The former entailed delivering a lecture on using immune inspiration to build novel algorithms and robotic systems. The latter, guiding two teams of summer school students in solving an underwater swarm robotics problem. Having found it thoroughly challenging myself, I was intrigued as to what 10 other brains would come up with in creating an algorithm for relay chain formation. A swarm of underwater robots have to configure themselves to form and maintain a communication chain between the water’s surface and an `exploratory’ shoal that searches the sea for some target.

The teams were very creative, and both managed to solve the bulk of the problem in just the week available (which included breaks for keynotes, coffees and lunches). The week culminated in each team giving a sales pitch presentation to industry. One of my teams got very imaginative, and pitched their algorithm as a way of identifying lost submarines beached on the sea bed. The comical edge that gave their presentation was very well received.

Other keynote talks were given by Alan Winfield, Peter Lewis, Rene Doursat and Martin Wirsing, and all offered interesting perspectives on self-awareness in autonomous systems. Alan delivered a very convincing argument that robots operating in a noisy and unpredictable environment cannot be safe (for humans) unless they are self-aware. It was great to see them all again, all had attended the awareness slides meeting in Barcelona last year.

Lucca is a fantastic city. The walls are great, you can try to work off the pizzas and fine wine by running around them. And there is of course, delicious pizza and fine wine.

CoCoRo “excellent”, year 2 GA

Another trip to Pisa, this time for the anual CoCoRo general assembly (GA). For those not familiar with EU projects, this is where the project showcases its progress to a panel of reviewers (two in our case) who evaluate our progress and cast a critical eye to keep things on track. SSSA in Pontedera were hosting us, and the first thing we noticed was the impressive water tank set up:

There was an operational Jeff, controllable over remote, but at least not requiring any power cables. Jeff, the more advanced of the two platforms being developed in CoCoRo, is extremely impressive. Everyone is instantly drawn to the blue-light systems of our AUVs, and they are eye catching. But to watch it move was something else. Its very fast, and very maneuverable. Whereas Lily, being cylindrical, spins easily, Jeff was fast to swim in a straight line and rotation was only achieved when it was desired. A video of Jeff can be found here. Some photos demonstrating…

The reviewers were very impressed with all of this, including the live demos (which worked! Always risky having live demos). They rated the project “Excellent”, which was nice… if you have to leave home for a project meeting you can at least be told you’re excellent :o). James’s work on the operating system and all our work on the simulation received special appraisal with the reviewers noting that these were thankless and unglamorous, but essential, jobs.

And of course no trip to Pisa is complete without a visit to this:

Robot, I command thee!

A principle challenge in any underwater swarm robotics project (CoCoRo) is collective motion – robots that lose one another can’t act as a swarm, robots that don’t move can’t explore their environments and, whilst not as much of an issue, robots that crash into each other simply don’t inspire confidence. This week Christoph Moeslinger (below left, unpacking boxes of robots in front of a pool), Tobias Dipper and myself met for a 3 day workshop in Graz, Austria, to address exactly this problem. I have simulated various robotic shoaling strategies over the last 6 months and believe that having robots communicate their headings with one another is essential to providing well-aligned shoals. Christoph has a different strategy that relies only on passive observation, and has used heuristic search to find parameters regarding reactions to observing particular relative orientations of neighbouring robots that provide shoaling. This too was in simulation.

The workshop’s purpose was to implement these algorithms on Lily AUVs. This was my first experience of programming actual robots, and it was quite an education. Far different from programming in simulation, programming robotic hardware is comparatively slow and tedious (though still entertaining, when not frustrating). It is difficult to bug check code, there is no convenient debug function for stepping through code and inspecting state. Retrieving debug information from the robots requires something like radio frequency communication, where the length of messages is limited, and where the robot’s ability to send can be interfered with by the very code you are attempting to test. In a word, it is much much harder to write code on a real robot than it is for a simulation. Part of our problem was that we were writing not only the algorithmic code we wished to run, but the operating system that the robot needed to run it! Calibrating bluelight sensor systems to filter out background light, creating controllers that let a robot hold a particular heading, writing code to compensate for magnetic fields within the robot that interfered with the compass when trying to determine a robot’s heading. This is largely taken for granted in simulation, where the environment and simulated hardware is free of noise unless you choose to simulate it. The real-world is a very different place.

The workshop was, sadly, only partially successful in achieving its goals – we were too ambitious in what could be accomplished in the time available. Both Christoph’s and my algorithms were able to provide robot aggregation (bring the robots together in one place). Better yet, our algorithms are compatible, a shoal comprised of robots running both succeeds in aggregating. Alas neither of us got proper shoaling working, that will have to be a workshop for another day… Lastly, Graz university is gorgeous, this is their main building:

Chain & Shoal

The CoCoRo project is driven by a ‘big vision’, a search and rescue scenario where a swarm of autonomous underwater vehicles (AUVs) is deployed at the surface of a body of water. Their task is to find something, the black box of a downed plane for instance. As the swarm shoals to the bottom it must leave behind a ‘relay chain’ of AUVs to maintain communication with the surface. The swarm explores the sea bed, and the chain must follow it, always maintaining the communication line. As the swarm shoals further from the origin, where a team of anxious humans awaits the discovery of the black box, the chain must get longer. Hence, AUVs must dynamically re-assign themselves between chain and shoal functions. This can’t go on forever, eventually there won’t be any shoaling AUVs left. At this point the shoal should be informed that it must turn around, and not stretch the chain to breaking point. In this manner, the chain grows (and can also shrink) and moves with the shoal as it tries to locate the black box.

This is a hard problem, directed communication underwater is short range (at least on our robots), they can’t see each other very well, they are trying to navigate a 3D environment, and they have a tendency to float off and lose contact with the group. We’ve been working on shoaling in recent months, and have some solutions – at least in simulation – to this problem. Chain formation, navigation and dynamic reallocation of AUVs is harder still. But we are getting close. Below is a video showing proof of principle that it is possible, again, in simulation at least (it’s 3.7Mb, give it a second to load…)

There are some other assumptions made in the video: we have assumed for now that AUVs can locate one another’s relative position very well. In reality they will have to use bluelight LEDs and sensors, and can only determine the distance to another AUV within a 120 degree cone. But if you can’t make it work using “underwater GPS” then its certainly not going to work using bluelight. Getting this onto real platforms will be challenging, and cracking it will be quite an achievement. Check back here in 6 months!

Oh, in case anyone is interested, here’s a promotional video for CoCoRo with AUVs choreographed to do what we are now creating actual algorithms to accomplish autonomously (its pretty, but remember it’s not real).

New year, new student

A new year is upon us. We are now 14 months from the end of CoCoRo, not quite time to panic, but not impossibly far off either. Its time to knuckle down to some AIS (artificial immune system)-oriented fault tolerance in our shoals of AUVs.

Over the past year I’ve done some work on shoaling in underwater swarm robotics. Communication and distance sensing underwater is problematic, electromagnetic signals are hugely attenuated. Our robots don’t have the capacity for sophisticated visual processing, so we rely on bluelight systems (blue LEDs and photodiodes) to detect distances between AUVs. The range of bluelight and radio frequency systems underwater will be 50cm at best. This equates to about 5 AUV body lengths. Our studies to date have shown that creating well-aligned shoals without communication of velocities between members of the shoal is incredibly difficult (if not impossible). This work is going to be carried on by Sophie Alexander, an Engineering MEng student who is going to investigate shoaling algorithms in this challenging underwater context. To the left is a nice picture of 15 CoCoRo AUVs, well aligned (but not shoaling) on the table.

York University Robot Lab Launched

Wednesday was an exciting day for the robotics guys at the university – it was the official launch of the £250K robot lab built on the new “Heslington East” campus. We kicked off with a press event that attracted Look North, ITV Calendar, York press and more. It’s quite an experience having reporters, photographers all over the place! That was chased up with a VIP tour with representatives from the uni and from industry. Our demos included flying drones “dancing” and tracking a moving target, epucks running the omega algorithm, a walling 6-legged robot, simulations from CoCoRo and from Symbrion, and controlling a robot using the Xbox Kinect. To end the day, Jon gave a fantastic talk to a fully packed 250-people lecture hall on immunity in robotics.

We had some drama in the lab in the days leading up to the event 0 Monday night we had a fire! This prompted more media attention, with some interesting stories circulating around the York press concerning activities in our “Robot Wars Arena”. Overstated perhaps. We do some cool stuff, but have yet to venture into robots (deliberately) attacking one another! The actual cause was a faulty battery that was left to charge overnight, and failed to stop charging when it was full; the result was it overheated and caught fire. York Uni were brilliant, the entire lab was given a deep clean to remove soot and then repainted in less than 36 hours.

I shall leave you with this video, which shows three drones flying and “dancing” to a nice waltz, created by my CoCoRo colleague, James Hilder.

Here are some of the videos and stories – though I don’t know how long these links will stay live for: York Press (video story), Calendar (video, 22 min in)

UPDATE 03/02/12: Luis Fuente, another of Jon’s students, has found a video from BBC look north of the robot lab launch. Its a large file (35M), so click here to download it any play it in a player of your choice (I like VLC).


CoCoRo General Assembly

Yesterday the CoCoRo project held its first general assembly meeting, marking 6 months since the start of the project. The meeting was a success, with all partners presenting interesting aspects of work conducted in the early stages of the project.

James Hilder and myself, representing the Uni of York, presented initial ideas concerning the operating system design, and early work on porting algorithms into the CoCoRo simulation. AUVs flocking based on Reynold’s Boids algorithm is particularly interesting to watch (at least I think so!)… here’s a video. The algorithm represents one of several possible solutions that allow swarms of AUVs to explore their environment as a group without losing contact with one another.