Skip to content
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

LRAUVState fields population status #11

Closed
18 of 33 tasks
mabelzhang opened this issue Jul 1, 2021 · 3 comments
Closed
18 of 33 tasks

LRAUVState fields population status #11

mabelzhang opened this issue Jul 1, 2021 · 3 comments

Comments

@mabelzhang
Copy link
Collaborator

This ticket keeps track of which fields in LRAUVState are populated, to eventually populate all of them. The LRAUVState is meant to be a mirror of SimResultStruct in the MBARI code base, which contains all the information MBARI’s original simulation provides to the control loop.

LRAUVState is defined in lrauv/lrauv_ignition_plugins/proto/lrauv_state.proto.

Checked box indicates populated.
Empty box indicates needs work.
(*) indicates populated but need modification (see section below).

  • ignition.msgs.Header header
  • int32 errorPad_
  • int32 utmZone_
  • int32 northernHemi_
  • float propOmega_
  • float propThrust_
  • float propTorque_
  • float rudderAngle_
  • float elevatorAngle_
  • float massPosition_
  • float buoyancyPosition_
  • float depth_

  • ignition.msgs.Vector3d rph_ // roll_, pitch_, heading_ in SimResultStruct


  • ignition.msgs.Vector3d force_ // forceX_, forceY_, forceZ_ in SimResultStruct
  • ignition.msgs.Vector3d pos_ // posX_, posY_, posZ_ in SimResultStruct (Document / update coordinates and units #48)
  • ignition.msgs.Vector3d posRPH_ // posRoll_, posPitch_, posHeading_ in SimResultStruct
  • ignition.msgs.Vector3d posDot_ // posXDot_, posYDot_, posZDot_ in SimResultStruct (Document / update coordinates and units #48)
  • ignition.msgs.Vector3d rateUVW_ // rateU_, rateV_, rateW_ in SimResultStruct
  • ignition.msgs.Vector3d ratePQR_ // rateP_, rateQ_, rateR_ in SimResultStruct

Populated but need modification:

Note that the coordinate frame convention interpreted by the MBARI controller is FSK.

  • depth_ and rph_ are currently in the ROS coordinate frame convention - x forward, z up, y left. Need to change to the FSK convention that MBARI's controller uses - x fore, y starboard (right), z keel (down). (Document / update coordinates and units #48)

@braanan @arjo129

@mabelzhang
Copy link
Collaborator Author

mabelzhang commented Jul 1, 2021

@braanan What's the difference between roll_, pitch_, heading_ and posRoll_, posPitch_, posHeading_? Looks like the first set is written to the SimSlate, the second isn't. Are they the same values?

Looking at the SimSlate::Write pattern you gave, looks like all of these are written to SimSlate. But so are science outputs, which we don't have yet. Do we need all of these?
posX_, posY_, posZ_
posXDot_, posYDot_, posZDot_
rateU_, rateV_, rateW_
rateP_, rateQ_, rateR_

Could we get a description in English for these? Looking at the constants, I might guess these:
posXYZ is position
posXYZDot is velocity wrt ground
rateUVW is "WATER_VELOCITY", as in vehicle velocity in water - what's the difference between this and velocity wrt ground? Or velocity of the water?
ratePQR is roll, pitch, yaw rate, respectively

@arjo129 These values are for mission integration. If you have spare cycles, we'll probably want to add some or all of them to TethysCommPlugin::PostUpdate().

@braanan
Copy link
Collaborator

braanan commented Aug 4, 2021

Cycling back to this...

posX_, posY_, posZ_ // vehicle position, northings (m), eastings (m), depth (m). posX_, posY_ should be 0.0 m at init.
posXDot_, posYDot_, posZDot_ // Ignore. (used to debug the sim. Holds rates derived from the caluculated forces before the dt integration)

Rate vector in the vehicle farm:
rateU_ // vel x
rateV_ // vel y
rateW_ // vel z
rateP_ // Pitch rate
rateQ_ // Roll rate
rateR_ // Yaw rate

@chapulina chapulina transferred this issue from another repository Nov 2, 2021
@chapulina
Copy link
Contributor

#81 is documenting on the message file itself which fields are populated, their units, frames of reference, etc. I suggest we close this issue after that's merged and track future changes on the message itself.

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 a pull request may close this issue.

4 participants