Viana do Castelo hear we come

It's confirmed, Team Anemoi is off to the World Robotic Sailing Championships (WRSC) 2016 in Viana do Castelo, Portugal, on September 5 to 10. This is a competition where the best autonomous sail boat designers and developers come together to race and share knowledge. It will be a fantastic opportunity to meet some of the leaders in autonomous sailing and to see what technology is being worked on.

I don't expect to win since the AI (artificial intelligence) for my boat is just in the early stage. But this makes a great challenge. I have around 6 weeks to develop something that can at least sail around a course.

I need help, see below if you are keen to jump on board.

The Contest

We will compete in the micro sailboat class, this is for boats around 1.2 meters and less. There is 1 day of practice, 3 days of racing and a 1 day conference at the end.

The WRSC has four different contests, they are listed below. During the competitions autonomous boats have right-of-way over manually controlled boats. For autonomous boats, the International Regulations for Preventing Collisions at Sea (Colreg) rules apply. However, to avoid collisions you can still remotely control boats.

There is a scoring system for each contest, for more details read the WRSC 2016 Rules.

1) Fleet Race

A classic yacht race where you compete against others in a prescribed course. You need to avoid collisions other race contestants and make it from start to finish. Below is an image of a potential course.

WRSC 2016 Fleet Race source: WRSC 2016 rules

My primary goal is to complete the fleet race, although not the quickest. The boat I have is not a quick boat, it's small and I am limited to just using the rudder (at the moment).

2) Station Keeping

The purpose of this is to keep the boat within a 20 meter radius, see image below.

WRSC 2016 Station Keeping source: WRSC 2016 rules

3) Area Scanning

This is like a colouring-in exercise, but for boats. The boat must visit every square in the image below.

WRSC 2016 Area Scanning source: WRSC 2016 rules

4) Obstacle Avoidance

The purpose of this contest is to avoid a brightly coloured obstacle in the path of the boat. This one is well beyond my primary goal and requires vision processing to be in place, as well as having a camera.

WRSC 2016 Obstacle Avoidance source: WRSC 2016 rules

Where am I at now?

Currently the boat sails like an RC (remote controlled) sail boat. At the moment it's a leaner and more advanced version of the Lean Green Sailing Machine I built earlier this year. It's leaner because I have consolidated the attitude sensors (gyroscope, accelerometer and compass) and it's more advanced because a few of the issues I encountered earlier have been resolved.

It has a single on-board computer, a BeagleBone Green to be precise. This runs the Debian/Linux operating system and all the code is currently JavaScript, although for automation purposes this may change. I am not limited to the BeagleBone Green, I have room to add an extra on-board computer like a quad core Raspberry Pi, or what ever is needed.

I am able to collect the data from the boat and view it in real-time, or offline. I have built a physics model that allows the boat to be simulated virtually.

I just need the intelligence.

Help wanted! Please apply within.

Does all the above sound like fun, it does to me 😊. I have less than 6 weeks to develop this. Alone I will be able to make something simple, a team will have good chance at completing all the contests. A partner, or team, to collaborate with to develop the AI is wanted. There are different layers of AI that need investigation:

  • Strategy - figure out what's the best route to take given wind direction.
  • Finding the optimum angle of sailing
  • Obstacle detection and avoidance - this is a stretch goal.
  • Determining wind direction and speed based on the pitch, roll and speed of the boat.
  • Lots of other small tasks are required too.

All code will be made opensource at the end, a lot of code and libraries used to build this have already been made available on Github.

Contact simon at for details.