Closed evan-palmer closed 1 year ago
I'm hoping to contribute this feature, but thought that I would begin by adding an issue to start some discussion regarding the best approach to implementing support for an additional model (if this would be a good place to add it). One question that I wanted to discuss is the modification of the generate_model
script to account for an additional model. The existing script is pretty geared toward the standard BlueROV2 and would need a semi-large rewrite to support an additional model. One approach could be to use two separate generate_model
scripts for each configuration, but I can imagine that maintainability would be an issue and the two may diverge down the line.
Problem Description
Blue Robotics offers an extension to the standard BlueROV2 called the Heavy configuration. This configuration is quite popular and enables full 6-DOF control (unlike the standard counterpart). It may be useful to offer an additional model for the BlueROV2 Heavy within this project.
Proposal
Add a new
bluerov2-heavy
model to the models. This should include a visualization of the BlueROV2 Heavy using the CAD model and the identified hydrodynamic parameters previously determined from a system identification of the ROV (found here). Because the BuoyancyPlugin uses the collision volume to determine the ROV buoyancy, it will also be necessary to determine a suitable collision volume. One approach could be to use the mesh itself. Another alternative could be to extend the existing collision volume for the standard BlueROV2 (see here) to include a few additional rectangles encompassing the Heavy configuration wings.Alternative Solution
Rather than using the hydrodynamic parameters found from the system identification linked above, the same approach taken to calculate the parameters for the base BlueROV2 could be applied.