Closed SPDonaghy closed 10 months ago
I rebased this branch so that it only contains new commits that aren't already in other PR's that were squashed and merged into main. Also changed float
to double
to match to convention set out by the other parameters
How much do you think the GPS position should change for us to want to generate a new global path? I am just wanting to set a default value for a gps_threshold param in the yaml file
How much do you think the GPS position should change for us to want to generate a new global path?
@jamenkaye any ideas? Some ideas that come to mind:
x * interval_spacing
away from the closet global waypointx
minutesAnd just thought of this, is there a way to force update the path even if it stays the same? I guess saving the file would do this?
And just thought of this, is there a way to force update the path even if it stays the same? I guess saving the file would do this?
Could we implement a service to run global_path_callback() on request, and request it from the command line with rosservice?
Saving the csv file would also do it though.
Could we implement a service to run global_path_callback() on request, and request it from the command line with rosservice?
Ooh interesting idea, I think that could work. As long as it's not too complicated, since saving the file already works. Also would want to run some version of the callback without all the checks right
- If the current position is greater than
x * interval_spacing
away from the closet global waypoint
Should we skip adding another parameter, and just use interval_spacing as the threshold distance?
Should we skip adding another parameter, and just use interval_spacing as the threshold distance?
I'm just worried if we use interval spacing directly then we could run into some trouble if right when we reach one global waypoint we go back a bit, which would cause the path to regenerate
okay, sounds good, I will keep it in there
If the current position is greater than
x * interval_spacing
away from the closet global waypoint
This idea would make x
the parameter and have it be some float > 1 so that it is a function of interval_spacing
. What do you think about that?
This idea would make
x
the parameter and have it be some float > 1 so that it is a function ofinterval_spacing
. What do you think about that?
Sounds good! I made it 2 for now
Sorry I'm a little late to the party! I wanted to focus on exams.
I like the x
parameter and inteval_spacing
idea! I think something around 1-1.5 should be good. If $x \geq 1$, this lets us sail at no more than 60° upwind (which is pretty easy) and use only 1 tack to get to the next waypoint, even if the global path is heading straight upwind.
(Since the angles are all 60°, its an equilateral triangle so the spacing between waypoints is the same as the distance from the boat at the rightmost corner to the waypoint)
I'm a little unclear on the context for this feature though. Are we still planning to manually send the global path in deployment, or is this an autonomous global pathfinding that just plots a straight line? If its the latter, that would seem a little silly considering we already have a fancy global pathfinding that uses weather data too.
or is this an autonomous global pathfinding that just plots a straight line? If its the latter, that would seem a little silly considering we already have a fancy global pathfinding that uses weather data too.
Aside from the mgp node, what I've made so far is a custom path builder, and an interpolation function that fills in any intervals (which are more than interval_spacing apart) with a straight, evenly spaced sub path. While I think everything I've built so far is just inteded for mocks, I think there could be a use case for what I made in deployment, if we want to specify more complicated paths than just start->end, for example.
Ah makes sense, thanks for explaining! 👍
Description
Linked to Issue 49 in Local Pathfinding.
The purpose was to add a parameter to determine whether the generate_path function in node_mock_global_path.py should write a generated path to a new csv file.
The added parameter is:
write
Verification
Resources