Custom Navigation Controller for a Robotic Boat

:smiley: Hello everyone. I want to share the result of the custom controller implementation that could be used on a marine vehicle. This blog post explains the custom controller implementation to develop a robotic boat.

In ( and (, autonomous vessels that carry out different types of missions are presented, where trajectories are followed using the guidance algorithm known as Nonlinear Guidance Logic (NLGL)(AP_L1_Controller) that is originally implemented in the ArduPilot firmware. Although, with this algorithm, it is possible to complete the missions, its adjustment parameters are a period and a damping coefficient that does not provide an exact physical meaning from the control point of view.

The ArduPilot firmware is modified omilian1993/ardupilot at Rover-4.2 (, adding a new class that contains the implementation of the I-LOS controller (Integral Line of Sight) as a guidance algorithm proposed in (Integral Line-of-Sight Guidance and Control of Underactuated Marine Vehicles: Theory, Simulations, and Experiments | IEEE Journals & Magazine | IEEE Xplore). In this way, it is possible to counteract the deviations caused by ocean currents and wind during navigation. The guidance algorithm proposed here for use with the Pixhawk has not previously been implemented in an ArduPilot-based setup. Our main contribution is to integrate into the ArduPilot firmware a new guidance and control configuration for performing autonomous missions that facilitate the adjustment and tuning parameters for counteracting the deviations caused by ocean currents and wind during navigation. The proposal described above is based on the vehicle Krick Felix, owned by the Automation, Robotics and Perception Group (GARP) of the Central University ‘‘Marta Abreu’’ of Las Villas.

The preliminary operational tests to which they have been subjected demonstrate the validity of their use in a marine vehicle. The obtained results from the conducted experimental tests show the autopilot’s excellent performance with the proposed changes in the software implementation, particularly in the guidance algorithm.

For more information about mathematical modeling of vehicle and the proposed methods for guidance, navigation and control, please consult:


Project documentation - HackMD

Really great to see a custom navigation controller implemented in Rover/Boat and thanks for providing a link to the source code as well!