-
Notifications
You must be signed in to change notification settings - Fork 90
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
Line3 accepts arbitrary moment and direction vector arguments #61
Comments
Nice catch. What should the action be? For the SO3 class the constructor checks validity if |
@petercorke please check https://github.com/petercorke/spatialmath-python/pull/62#issue-1490372754. It turns out that I think the documentation for |
I worry about the proliferation of classes. There is already a Twist3 class which is a motion, and Line3 which is a 3D line. What extra does Screw provide? I can see value in:
We can already convert a Twist3 (motion) to a Line3 (it's line of action). The reason Plucker has the deprecation warning is that was the name of the Line3 class in the MATLAB version of the toolbox. |
I created
I think their dependency should be in a reverse way, i.e.
Not sure whether you have checked https://github.com/petercorke/spatialmath-python/pull/62, but I already implemented this here 🙂
Also here. |
A 3D line and a 3D helicoidal motion are distinct things, currently The |
My concern is the back-compatibility for avoiding adding that check to
For this exact reason, I thought of leveraging all that goodies in
AFAIU a |
Thanks for your input on this. I'm going to close this out with a minimal change now on master branch which checks the 6D coordinate for validity (but check can be turned off). |
@petercorke could you please provide a link to commits/PR that has this new validity check? So that I can update my fork accordingly. |
Line3
currently accepts an arbitrary combination of moment and direction vectors, which could directly result in an invalid Plücker coordinates representation. Nevertheless, a valid Plücker coordinate representation is guaranteed in the docs, which is wrong. The following snippet illustrates this neatly:I believe the root cause of this issue is the mismatch between docs and implementation. The associated docs suggest that the input is a valid Plücker representation, whereas the implementation does not check for the validity of the input and assumes it is valid. Therefore, the test above fails.
The text was updated successfully, but these errors were encountered: