-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
incoming wave height service #152
Conversation
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
… with non-pointer in ECM Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
…mode Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
@hamilton8415 I'm adding a stamp to evaluate the height at a specific time, and was wondering if I should make it relative to current time or absolute? I feel like relative to current time would be more useful... e.g. evaluate 10 seconds from now |
… request points in relative_time to current sim time Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
@hamilton8415 I made it relative for now (easily changed) |
Yes, I think that's a reasonable choice. |
Only hiccup would be if there's a question of when "now" is, presumably it will return relative to the sim time when the service request is handled, that may be slightly different than the time in user-code, which would be when the last ROS messages were sent out. Small differences though, using absolute time may alleviate that. May, I need to think more... |
In the response, I'm having it return the requested relative_time value as well as the simulation time it was computed |
So, a user could see when exactly that height is valid using stamp + relative_tine |
@hamilton8415
|
Thanks for the interrogation script. Working nicely. Two items...
Finally, I'm imagining that in an in-the-field case where there are wave-buoy measurement buoys, we'd set those sensors up to provide this same service, so the simulation/field difference is just who is providing the response. |
I had envisioned a single request for all rather than a series of requests. I could use an array for the relative_time to be 1-to-1 per point so it would be a snapshot and no advancement would happen... I just figured this would be less bookkeeping for the user. Absolute time would require them to still do the math on their end anyways? For your second item (and setting up coords at-sea), there's a couple ways to do it...
|
Ah yes, if an array of times at a single location is possible, that works fine then. I'm on the fence, so let's leave it relative for now. I think option (2) for the locations, stick to cartessian, with a specified anchor location as the origin, that's certainly easiest in the simulator, and if outside wave-buoys report in lat/lon, then conversion relative to a fixed anchor point might be needed. |
…quest Signed-off-by: Michael Anderson <[email protected]>
When in doubt, do both! :-p updated the python script: |
still working on (2) |
Of course I knew you would do both. :) |
Signed-off-by: Michael Anderson <[email protected]>
…s for CI Signed-off-by: Michael Anderson <[email protected]>
done with (2) |
Signed-off-by: Michael Anderson <[email protected]>
This is all working pretty nicely for me. I am a bit unsure how to access the absolute versus relative time request I thought you were hinting at. The lastest .py file didn't have an obvious option. Similarly, does that tool multiple location/time requests, and if so what's the syntax. |
oh, I can update the tool to do absolute_time... I just hardcoded relative |
latest python tool you can add multiple points by just making space-separated values after -x, -y, -abs_t/-rel_t
|
Got it. All features are evident to me now. Looks great, the flexibility here should cover all of the cases I can imagine. Ship it. :) |
Remove temporary checkout of utils branch
Adds ROS 2 service to check incoming wave height and normal vector (slope of wave) at an array of points.
requires osrf/mbari_wec_utils#53 and hamilton8415/FreeSurfaceHydrodynamics#5
NOTE: had to change the LinearIncidentWave object in ECM to non-pointer... need to get to the bottom of that if we want to keep it as a pointer.
for testing:
send_iwh_req.py.zip