Skip to content

Conversation

@SPDonaghy
Copy link
Contributor

@SPDonaghy SPDonaghy commented Jan 4, 2026

Description

This PR upgrades the BOAT_SPEEDS table in ompl_objectives.py to cover more wind speeds and to follow an even more realistic/data informed velocity prediction model.

The boat speed data was collected from polar data of a similar vessel here https://jieter.github.io/orc-data/site/#GRE/GRE1772/

The raw speed values from polar_sailing_speed_prediction_data were loaded into a 2d array, transformed from knots to kmph, scaled down so that the maximum value is 10 kmph (because that is our estimate of sailbot's top speed), and then transposed to obtain the new BOAT_SPEEDS array shown below

  __________________________________________________________________________________________
 | True  |                             Sailing Angle (deg)                                  |
 | Wind  |__________________________________________________________________________________|
 | Speed |       |       |       |       |       |       |      |      |      |      |      |
 | (Kmph)|   0°  |  45°  |  50°  |  60°  |  75°  |  90°  | 110° | 120° | 135° | 150° | 180° |
 |_______|_______|_______|_______|_______|_______|_______|______|______|______|______|______|
 |  0.0  |  0.0  |  0.0  |  0.0  |  0.0  |  0.0  |  0.0  |  0.0 |  0.0 |  0.0 |  0.0 |  0.0 |
 | 11.1  |  0.0  |  5.0  |  5.4  |  5.8  |  6.1  |  6.0  |  5.6 |  5.2 |  4.6 |  4.0 |  3.6 |
 | 14.8  |  0.0  |  5.9  |  6.5  |  6.9  |  7.2  |  7.1  |  6.8 |  6.5 |  5.9 |  5.3 |  4.8 |
 | 18.5  |  0.0  |  6.6  |  7.3  |  7.7  |  8.1  |  8.1  |  7.8 |  7.5 |  6.9 |  6.3 |  5.8 |
 | 22.2  |  0.0  |  7.2  |  7.9  |  8.4  |  8.7  |  8.8  |  8.6 |  8.4 |  7.8 |  7.2 |  6.7 |
 | 25.9  |  0.0  |  7.7  |  8.4  |  8.7  |  9.0  |  9.2  |  9.0 |  8.9 |  8.5 |  8.0 |  7.6 |
 | 29.6  |  0.0  |  8.0  |  8.7  |  9.0  |  9.3  |  9.4  |  9.4 |  9.2 |  9.0 |  8.6 |  8.3 |
 | 37.0  |  0.0  |  8.2  |  8.9  |  9.3  |  9.6  | 10.0  | 10.0 |  9.8 |  9.6 |  9.3 |  9.2 |
 | 55.0  |  0.0  |  8.5  |  9.3  |  9.6  | 10.0  | 10.0  | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 |
 | 75.0  |  0.0  |  8.7  |  9.6  |  9.8  | 10.0  | 10.0  | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 |
 -------------------------------------------------------------------------------------------

Below is a polar plot of the data contained in the new BOAT_SPEEDS table.

image

Verification

  • Unit Tests
  • Visual verification of polar plot in comparison with polar plots of other sailing vessels

@SPDonaghy SPDonaghy self-assigned this Jan 4, 2026
@SPDonaghy SPDonaghy added the path Pathfinding team label Jan 4, 2026
@github-project-automation github-project-automation bot moved this to Backlog in SOFT Project Jan 4, 2026
Copy link
Contributor

@raghumanimehta raghumanimehta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really requesting changes, but need clarification on a couple of things before merging.

return ZERO_VECTOR_CONSTANT, 0.0


def get_true_wind_angle(boat_heading_rad: float, tw_dir_rad: float) -> float:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we can perhaps use calculate_heading_diff from local_path.py?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, IF we can rename the function to something more generic that fits both the uses cases it would then be applied to.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's good for now. We have other things to worry about.

@github-project-automation github-project-automation bot moved this from Backlog to In Progress in SOFT Project Jan 4, 2026
@SPDonaghy SPDonaghy changed the title Sp donaghy/expand speed lookup table Expand Speed Lookup Table Jan 4, 2026
@raghumanimehta raghumanimehta merged commit 0b61fb3 into main Jan 4, 2026
6 checks passed
@raghumanimehta raghumanimehta deleted the SPDonaghy/expand-speed-lookup-table branch January 4, 2026 13:58
@github-project-automation github-project-automation bot moved this from In Progress to Done in SOFT Project Jan 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

path Pathfinding team

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants