-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add draft of velocity transform specification #4235
base: rolling
Are you sure you want to change the base?
Conversation
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
FYI @caguero |
_{E}T_{A} * V_{A}^{A - E} = V_{E}^{A - E} | ||
|
||
|
||
Velocities can be added or subtracted if they're represented in the same frame, in this case ``Obs``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't the reference and moving frames of the two velocities have to satisfy some constraint? The example below makes sense in that we're saying add the velocity of A relative to B and velocity of B relative to C to get velocity of A relative to C. But if B wasn't the reference frame in the first term and the moving frame in the second term, e.g., the moving frame in the second term was D, the end result would not be meaningful.
i.e, what would be the result of V_{Obs}^{A - B} + V_{Obs}^{D - C}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ahcorde I didn't mean to request that this be changed to V_{Obs}^{D - C}
. I was asking if we need to clarify this more since I didn't think it's sufficient to just say the observation frames must be the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The velocity of a point, as seen from two different frames, must also include the relative angular velocity vector between the two frames, but I think that is not handled here, right?
PS: I mean, the classic kinematics formula:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jlblancoc Yes, this is covered by the requirement that they're observed from the same frame. If you have velocities in a different observation frame, it will include those additional terms to put it into the same observational frame.
@azeey You're right that differencing two velocities that don't share a frame(referrence or moving) is not semantically meaningful. I think that we currently don't enforce the constraints on the lower level math primatives such as vectors and leave this to the users to make sure they do appropriate semantic math. I would love to extend and provide a way to enforce that. But that's more for the linear math library rather than what we're adding on top. And that's also likely a very big effort that I'm not sure we're ready to put into developing.
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
@tfoote do you mind to take a look ? |
@tfoote do you mind to take a look ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a great improvement for understanding the core transforms. And there's always more that can be added but this looks like a good core coverage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few small fixes inline.
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
HTML artifacts: https://github.com/ros2/ros2_documentation/actions/runs/10504912757/artifacts/1841323767. To view the resulting site:
|
Open this as a PR @tfoote to discuss here