Project Overview

We want to get a sailboat (a type of Unmanned Surface Vehicle, or USV) through a canal autonomously. The maneuver will be performed in a simulation environment with simulated wind as the propellant for the USV. Environmental disturbances (water currents) will also be an important factor. This work has useful implications because it allows the deployment of navigating, energy-efficient and green-energy sailing boats that can withstand some environmental disturbances and only use abundant wind energy to propel themselves. These boats could be used in sea monitoring, oceanic measurement, as drifting databuouys, as survey ships etc. This can reduce expenses and reduce deployment time, and increase data resolution.

Implementation and Results

Fig 2: Block diagram of planner and controller
Our control design modularizes the system into two stages: a planner, which takes in high level x,y position targets and generates heading trajectories, and a yaw controller, which generates sail and rudder angles to track the reference heading trajectory output by the planner. Since the planning stage does not need to be run at the same rate as the yaw controller due to the slow speed of the boat, we create an inner feedback loop between the yaw controller and the system dynamics, and an outer feedback loop that incorporates the planner and is run at a lower rate. Our paper can be found here.

Our code is based on that of stda-sailboat-simulator. This simulator uses RK45 to solve an ODE of the sailboat dynamics over time.

Fig. 3, 4: Single obstacle avoidance to reach(100,40) with wind in the direction of sailing and no waves [LEFT] Channel navigation to reach(100, 40) with wind in the direction of sailing and 0.5 m waves [RIGHT]

Using the above path planner and controller, our simulated sailboat successfully traversed a channel to reach the target point (100, 40) with 0.5m waves. Note that the wind is blowing in the direction of sailing.

Conclusion

The simulation was run in several different cases. Waves, obstacles, and different wind vectors were used. The tests were not exhaustive due to the wide variety of environmental conditions possible at sea and also due to the limitations of the simulator. An experiment was deemed successful if the sailboat got close to the target position.
The results demonstrated that the planner was largely successful. Passages as narrow as 4 meters were navigated through. Any narrower gaps caused the planner to return an infeasible path. We used: