PID Control of UUV Simulator


I installed the uuv_simulator and I was successful on simulating a BlueROV2. The simulator has some examples and implementations of PID controllers but I am not able to take advantage of them.

My goal is to take full control of the bluerov in terms of PID. I tried looking into the code of the simulator and rostopics/nodes but it was not pleasant due to the nested things that were executed with just one launch file.

I came across this presentation where he mentioned that it is possible to make a trajectory controller or through a service called GoTo.
For the first I have no clue since I’m new to the world of the robotics in general but for the second I find the service call and tried to make a script which would publish messages (Waypoints) but it didn’t actually work.

So, if anyone has any idea on how to take control of the robot please let me know.

Thanks in advance.

Hi @michalischatz -
Can you elaborate on what you mean by “take full control of the bluerov in terms of PID” ?

A BlueROV2 running Ardusub is running control loops to maintain orientation/stability, and when used in auto mode, navigate based on positional sensors. The PID values used in these control loops can easily be adjusted by the relevant ArduSub parameters.

We’re working on cleaning up the general organization of our documentation, but you can read some relevant information here and here.

Is your goal to control the vehicle in Auto mode via script? What position sensor do you plan to use?

Hello @tony-white,

I don’t use SITL at all, the simulation and the management is done exclusively through the gazebo and ROS. My goal is to calibrate the camera so I need full control of the robot so I can move it around the static chessboard.

At least for now, I’m using commands in order to get familiar due to being new in robotics. In the long run I will convert them into a script/launch.