(AUV = Autonomous Underwater Vehicle)
This repository implement a Feedback Linearization Controller for AUV in Python with ROS middleware. This Controller has been implemented in a faithful simulation of AUV designed in MDM Lab of University of Florence. With a modular property of ROS, old PID controller has been replaced by this new inverse-dynamic based controller. Reference for this project is: Fossen documentation
Requirements are: ROS and python language .
This control guarantees asymptotic stability with dynamic of error expressed in body-fixed frame.
Generic function of Controller:
- ControlNode: RosNode that interface directly with ROS platform to preleve reference.
- InverseDynamicController: Class that implement mathematical operations for Controller.
- PI: Class that implement Proportional-Integral component of velocity error dynamic.
- VehicleModelAUV: Class that implement the dynamic model for the AUV considered.
Using Fossen documentation, "Decoupling in the BODY Frame (Velocity Control)", have to be careful to how the references are expressed, if or . This project needs reference in body-fixed frame [1].
The follow provides a complete vision of project and how to integrate it.