Designing an Autonomous Route Planning Algorithm Prototype

by Rodrigo Blaustein and Yasmeen Akbari

In order to implement a complex pathfinding algorithm such as the one that is required for our transatlantic crossing, it is necessary to divide the task into stages.

The motivation behind the development of the Pathfinder GUI tool was to provide a tool which would facilitate the work of the UBC SailBot Software team by providing them a way to specify test scenarios, run the test scenarios and display the result of the test scenarios in a meaningful way.

The tool utilises a 2D array in order to represent the scenarios like a map. Currently, each element in the 2D array can represent one of five possible values. From the users point of view each of these five possible values is represented by a specific color in the GUI. The possible values are as follows:

start: Represents where the boat starts and is represented in the GUI by the color red

target: Represents where the boat wants to go and its color in the GUI is green

obstacle: Represents an obstacle the boat cannot visit and has color brown in the GUI

visited: Represents a node that has already been analysed by the algorithm and is represented by the color dark gray on the GUI

new: The default value of a node, it represents open space that the boat can travel and has not been analysed by the algorithm yet. It is represented by the color light gray in the GUI.

Input of prototype route-planning. The red dot represents our vessel, the green dot is the destination, and the brown boxes and line are all obstacles.

Input of prototype route-planning. The red dot represents our vessel, the green dot is the destination, and the brown boxes and line are all obstacles.

The user can specify the initial state of the scenario and then run the tool which would simulate the path according to the specific heuristic function. The heuristic function is used to inform the algorithm what neighbour node the boat should visit next.  Some algorithms are dynamic and require extra data to be stored on each node.

Showing the menu for how to create nodes. By choosing Run the algorithm will figure out the best path to take to avoid the different obstacles.

Showing the menu for how to create nodes. By choosing Run the algorithm will figure out the best path to take to avoid the different obstacles.

Output of the prototype route planning. The vessel (red dot) will travel in the dark grey area to reach the destination (green dot).

Output of the prototype route planning. The vessel (red dot) will travel in the dark grey area to reach the destination (green dot).

The current heuristic implemented, which was used in the demonstration, chooses the next node to visit based on that node’s euclidean distance to the target. The euclidean distance to the target is calculated using pythagoras theorem.  We aim for a heuristic function which will always underestimate the distance to the goal, also called an admissible heuristic.  For each neighbour of the current node which has a value of new, we calculate the distance of that neighbour to the target node and then choose the neighbour that has the shortest euclidean distance. All other neighbours are marked as visited nodes.

If we improve the heuristic function, we could improve the amount of time it takes for the algorithm to run.  Because this algorithm ignores visited nodes, the boat could get stuck, blocked by its own path. This is why it is necessary to try and test several heuristics, and improve the algorithm to work in all cases by revisiting nodes.

The next steps will involve implementing and testing different heuristics and algorithms in order to determine which one produces the most efficient path. Another feature that needs to be implemented is moving obstacles. The user should be able to draw an obstacle and specify its velocity, both magnitude and direction. In future versions the tool should also be able to include other parameters such as weather data, getting entangled on debris, etc.

Deciding on a Rig

by Adrian Granchelli

The question: “What kind of rig will our Transat boat be using” came up really early in this project.  The more traditional design, used by the previous year’s Sailbot, became the first option.  However, this new challenge (transatlantic crossing) provided more demanding conditions.  The rig for our transatlantic crossing will need to be able to withstand the worst conditions the Atlantic Ocean can provide. During a storm this could be 50 knots with 12 meter crashing waves.  These conditions are a huge design concern and set apart the Transat boat from previous Sailbot’s, and the rig definitely needs to be re-thought.

The next option brought to the table is a fixed wing, a new technology famously used in the 2013 America’s Cup’s boats.  This design could prove to be a huge advantage and could possibly be designed to have 360 degrees of freedom.  A huge drawback to fixed-wing sails is they are very new technologies with limited information available.

After further research, we “re-discovered” the windsurfing sail. Windsurfing sails are very robust, designed for demanding scenarios, are already designed and come in various sizes and qualities. After meeting and discussing with our advisor, Don Martin, we reached an “AHA” moment when we revealed that both our personal research led us to a windsurfing sail!

Below you will find summaries of the different technologies we looked at.

Main & Jib Sails

Greg and Adrian launching the Thunderbird 2012 robotic sailboat in the summer of 2012. UBC SailBot's Thunderbird 2012 has main & jib sails.

Greg and Adrian launching the Thunderbird 2012 robotic sailboat in the summer of 2012. UBC SailBot’s Thunderbird 2012 has main & jib sails.

Ready Technology: Yes.

Number of Sails: 2

De-powering:  Luff (let out) both sails.

Durability: A luffing sail will eventually tear.

Other:  We have experience building and using these!

Fixed-Wing Sail

Fixed-Wing sail. Photo by  ** RCB ** (Flickr)

Fixed-Wing sail. Photo by ** RCB ** (Flickr)

Ready Technology: No, a lot of research and designing is needed.

Number of Sails: 2 (looks like one, but acts like two).

De-powering: Alter one sail flap, or both.

Durability: Very durable and streamline, will not luff.

Other: These are so cool!

Windsurfing Sail

Windsurfing rig. Photo by Filipe*Fonseca (Flickr)

Windsurfing rig. Photo by Filipe*Fonseca (Flickr)

Ready Technology: Yes.

Number of Sails: 1

De-powering:  Luff sail.  Square Top sail allows for self-depowering in lower winds.

Durability: Designed for extreme conditions.

Other:  We can easily pick, choose, and test various rigs as these are off the shelf products!

Conclusion

The best candidate for the Transat boat would be a fixed-wing sail; however, this would need extensive research, testing, expert building techniques, and much iteration to ultimately create our rig.  Since we do not have enough time, money, and expertise, a windsurfing rig appears to be the best candidate and is the design we will be using!

Public Showcase – UniquelyUBC

by Karry Ocean

Back on October 10th, UBC hosted a showcase for major donors to the university entitled UniquelyUBC, and the UBC Sailbot Team was in attendance! Represented by two of our Mechanical Team Leads – Adrian Granchelli and Neil Dobie – and our Co-Captain – Karry Ocean – we showed off this year`s award winning and record setting boat. However, the main focus was to get influential people excited about the prospect of our transatlantic project and it was clear that the word of our project was spreading. Between Thunderbird 2013 posting a perfect score this year and the beginning of our project to cross the Atlantic Ocean and set a world record, UBC Sailbot was creating a buzz.

By the end of the evening we were the talk of the event. Some of the very important people at this event were representing the funds, such as the Walter Gage fund for example, that our team relies on. We got to talk with many of the attendees, a good number of whom were sailing enthusiasts, about the new challenges our team plans to face and conquer. As a team we are extremely excited about our project this year, and it’s becoming apparent that this excitement is starting to rub off. The Uniquely UBC event was a prime example of that, and we hope to continue creating excitement around our project moving forward!

Introduction to the GUI

by Arek Sredzki and Eleanor Wong

We want to make tracking the UBC Sailbot’s progress in crossing the Atlantic an activity that anyone in the public can partake in. In light of this, we have started work on a clean, simple, and yet still functional site design.  The design was inspired by the recent trend of minimalism.  These are some preliminary mockups for the transatlantic boat GUI for a widescreen monitor and a mobile phone.  We aimed for a simplistic design that will allow us to incorporate more information without cluttering the page.  On the tracking page, we plan to display real time statistics such as: current wind speed, average velocity (last 24 hours and total), distance traveled, distance to finish line, and the elapsed duration of the voyage.  This statistical info will keep the public interested and allow for everyone following the crossing to remain up to date with the boat’s progress.

Future mockups for the remaining pages of the GUI will include the debugging and about pages.  The debugging page will allow users during testing to view the raw data logs that the boat sends to our servers over GSM. In the past having this extra information has been an integral part of our testing process. The about page will provide visitors with more information about our boat and its features. We plan to start development as soon as a design is finalized.  We will appreciate any comments and suggestions on the current design, and any ideas on how we can make our transatlantic boat GUI better. Send all comments to control@ubcsailbot.org.

New look and content of ubcsailbot.org

A new season is not a reality unless we have a new website content! Check out the changes we have made recently:

1. Simplified

We have simplified the website a lot, making it easier to find relevant information. We have organized the following four pages in addition to our blog:

  • How You Can Help -> How companies and individuals can donate to the team.
  • The Challenge -> Information about the International Robotic Sailing Regatta and the MicroTransat
  • What We Do -> Information about our project
  • Who We Are -> The team behind the project

2. New design

As you can see, the website now has a beautiful, new design. This will make our website much more enjoyable to read. It should also make it easier to read our blog on a mobile device.

3. More donation features

In addition to donations from companies, we are now to able to accept donations from individuals through our collaboration with UBC`s Start an Evolution donation website. This makes individual donations very easy to happen: just fill in your donation amount, your credit card details, and your mailing address to be able make a donation and receive a tax receipt from UBC! We hope you consider helping us make this amazing project come true!
Check out all the details on our How You Can Help section.

New season, new challenges

Portmagee, Ireland. One of the possible landing spots for UBC SailBot in 2015. Photo by Tobias Abel.

Portmagee, Ireland. One of the possible landing spots for UBC SailBot in 2015. Photo by Tobias Abel.

Welcome to a new season of UBC SailBot news!

The team has worked throughout the summer and beginning of the fall to plan for our newest adventure: crossing the Atlantic Ocean with an autonomous sailing vessel! We are planning to enter the MicroTransat challenge (http://www.microtransat.org/), a 2,900 km (1,800 miles) journey from Newfoundland to the West coast of Ireland in 2015.

6 teams have so far tried this challenge, including the French Naval Academy, but nobody has succeeded so far. This is going to be our most challenging project yet, and we hope to be the first team to succeed when we launch our attempt in 2015. To complete this challenge we will use all the knowledge we have about robotic sailing vessels and apply the same winning 4-step recipe that lead us to winning the International Robotic Sailing Regatta in 2012 and 2013:

1. Design for the challenge using the best brains of UBC and our fantastic industry mentors.

new season, new challenges - design

2. Build the best vessel we can with expertize from the local marine industry.

new season, new challenges - build

3. Test the hell out of it!

new season, new challenges - test

4. Race!

Testing phase

Throughout our two-year project we are dedicated to showing you all the steps we are taking in this exciting new project from UBC SailBot. Stay tuned!