Skip to content

Conversation

Pedro-Roque
Copy link
Member

Solved Problem

Adds support for BlueROV2 Heavy and cleans the control stack for UUVs.

Solution

  • Refactor UUV_ modules
  • Refactor BlueROV2 model

Changelog Entry

For release notes:

Feature: bluerov2 support

Alternatives

None I can think of?

Test coverage

SITL testing. Will provide logs once I clean this.

Screencast.from.2025-06-02.19-56-04.mp4

@Pedro-Roque Pedro-Roque changed the title BlueROV2: updated control, attitude, model BlueROV2: updated control (attitude and position), model Jun 16, 2025
@hamishwillee
Copy link
Contributor

@Pedro-Roque I'm not sure what users need to know about this, but if there is anything it would probably go here https://docs.px4.io/main/en/frames_sub/bluerov2.html

@Pedro-Roque
Copy link
Member Author

@Pedro-Roque I'm not sure what users need to know about this, but if there is anything it would probably go here https://docs.px4.io/main/en/frames_sub/bluerov2.html

I think it's mostly correct there,

@Pedro-Roque Pedro-Roque reopened this Jun 18, 2025
@timzarhansen
Copy link

Two Points:

  • The current implementation has no way of controlling roll/pitch in stabilization mode, with the controller. It is set to 0, when in stabilization mode. Which is, when using the BlueROV2, not always desired. Maybe we can add a system, so that xy and ab(on a classical Logitech controller) can control roll/pitch in some way, so that a constant Roll/pitch is set. Are there reasons not to do that?(can be added later)

  • The Buoyancy system currently counterweights each link. This behavior is very often not the case on an underwater vehicle. There is mostly some kind of payload on the robot. Therefore, when adding a small weight under the base_link to simulate that, the behavior of the BlueROV doesn't change.
    I coded a small change to the two files, which would apply the force only on the first link. Then everyone can use a weight link, to have the behavior the way they want. Additionally, I would disable the buoyancy force, when the main link is at z>0. This can be a parameter that is set. I can add that later.

But in my opinion, we could also just use the standard buoyancy plugin, and make a circular collision based on the weight of the BlueROV2, around the basic_link, and once compute the radius for that sphere. This would be the same behavior as using this plugin, except for the random factor. I don't fully see the benefit, and for me the gazebo plugin worked.

@Pedro-Roque
Copy link
Member Author

Some hardware testing:

compressed.mp4

@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-june-25-2025-team-sync-and-community-q-a/46161/3

@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-june-25-2025-team-sync-and-community-q-a/46161/1

@Pedro-Roque Pedro-Roque requested a review from sfuhrer June 30, 2025 12:15
@timzarhansen
Copy link

BlueROVConstructorUniversity.mp4

Some additional testing on BlueROV.
We needed to change a few parameters gains in the controller to make it work smoothly, since our Robot is heavier and the center of mass is lower due to the extension on the bottom.
Manual and stabilization are working properly, position I couldn't test yet. Will do that soon.

@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-july-2-2025-team-sync-and-community-q-a/46266/3

@Pedro-Roque Pedro-Roque requested a review from dagar July 3, 2025 08:14
@Pedro-Roque Pedro-Roque enabled auto-merge (squash) July 3, 2025 11:23
@Pedro-Roque Pedro-Roque dismissed Jaeyoung-Lim’s stale review July 9, 2025 14:32

Comments were fixed.

@DronecodeBot
Copy link

This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/px4-dev-call-july-16-2025-team-sync-and-community-q-a/46513/3

mrpollo
mrpollo previously approved these changes Jul 23, 2025
@Pedro-Roque Pedro-Roque disabled auto-merge July 23, 2025 17:18
@Pedro-Roque Pedro-Roque enabled auto-merge (squash) July 23, 2025 17:18
@Pedro-Roque Pedro-Roque requested a review from mrpollo July 23, 2025 17:20
@Pedro-Roque Pedro-Roque merged commit e14eea5 into PX4:main Jul 23, 2025
66 checks passed
@Jaeyoung-Lim Jaeyoung-Lim deleted the dev-bluerov branch July 24, 2025 01:15
@Pedro-Roque Pedro-Roque restored the dev-bluerov branch July 24, 2025 16:36
@Pedro-Roque Pedro-Roque deleted the dev-bluerov branch July 24, 2025 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants