PID Parameters for BlueBoat Thrusters

Hello,
I’d like to implement custom PID gain values determined by previous 1D system simulations of a BlueBoat. Through QCgroundcontrol, the parameters for the motor gains are limited to a small range. Is there some sort of transfer function that determines the value of the gains within QCGC?

Hi @JakeH -
Welcome to the forums!

QGround Control is only a ground control station - it simply exposes the parameters of the ArduRover autopilot! These can also be adjusted in BlueOS.

This resource helps explain that recent versions of ArduRover actually use a more sophisticated approach to vehicle control than just a straight PID…
What are your goals for the system? Why are you adjusting the steering controller?

I’m part of a large project team that is creating an autonomous research vessel using the BlueBoat platform. We originally created our own platform and had a Jetson using ROS to run our written pathfinding algorithms. Our motor control for that platform was through a pixhawk which used RC commands to control the motors. We just recently switched to the BlueBoat platform, so we are unfamiliar with how we can integrate our prewritten algorithms and ROS setup into the BlueBoat. We have PID gains from separate system simulations, but these gain values are large and would not work with the BlueBoat. Would it be better to not touch the preset gain values within ArduRover, or is there some way to have our ROS setup control all of the motor functionality? Is it possible to run our ROS setup/algoritms and reference/utilize the built in motor controllers?

Hi @JakeH -
I would definitely recommend that you not change any PID gains from the default parameters for the BlueBoat. Having ROS drive the boat via throttle commands is a bit silly, because this abandons all the advantages an autopilot can provide, and replaces it with a lower-update frequency steering controller.
I would suggest using commands to simply set target heading, speed, or even waypoints to ArduRover, rather than doing low level throttle control. This may be possible with ROS, we’ve got close to 0 experience using ROS to control the vehicle in testing at Blue Robotics, but users have developed a ROS2 extension, and a “StoneFish” simulation platform for development. Try searching those terms here on the forum!