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

Classic Acceleration vs Spatial Acceleration #294

Closed
mxgrey opened this issue Jan 5, 2015 · 3 comments
Closed

Classic Acceleration vs Spatial Acceleration #294

mxgrey opened this issue Jan 5, 2015 · 3 comments
Milestone

Comments

@mxgrey
Copy link
Member

mxgrey commented Jan 5, 2015

I've noticed that BodyNode::getBodyLinearAcceleration() is actually returning the last three components of spatial acceleration rather than returning the linear acceleration. You could say that it's returning the "linear" components of spatial acceleration, but I would expect that "linear acceleration" ought to refer to linear classic acceleration (which differs from the linear portion of spatial acceleration by w x v).

On this same note, I think it would be good to be more explicit about the use of spatial versus classic velocity/acceleration. I'm working on the Frame class at the moment (which will become responsible for managing velocities and accelerations), so I'll try to work something out without hurting the existing API.

@mxgrey
Copy link
Member Author

mxgrey commented Jan 5, 2015

One possible solution is to have a function argument for the type of coordinate (SPATIAL or CLASSIC) with a default value of SPATIAL.

@mxgrey mxgrey changed the title Material Acceleration vs Spatial Acceleration Classic Acceleration vs Spatial Acceleration Jan 5, 2015
@mxgrey
Copy link
Member Author

mxgrey commented Feb 4, 2015

I've realized that this issue applies to the Jacobian time derivative as well, because the time derivative operates a bit differently in classical coordinates compared to spatial coordinates.

Right now I'm working out how to compute the classical Jacobian Derivative, and then I plan to have the API offer two functions:

BodyNode::getJacobianSpatialDeriv() and BodyNode::getJacobianClassicalDeriv(), where they will both accept a reference Frame (default is the Body-fixed Frame). getJacobianSpatialDeriv() would simply replace the existing getJacobianDeriv() functions which all implicitly assume you want to operate with spatial coordinates.

Luckily, the Jacobian itself is no different between classic and spatial coordinates, so there is no ambiguity there. It's only the time derivative of the Jacobian that is different between the two (in fact, I think even the angular portion of the time derivative might be the same; it's just the linear portion which is very different).

@mxgrey
Copy link
Member Author

mxgrey commented Feb 24, 2015

Fixed by #319

@mxgrey mxgrey closed this as completed Feb 24, 2015
@jslee02 jslee02 added this to the Release DART 5.0 milestone Feb 24, 2015
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

No branches or pull requests

2 participants