You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I try to initialize a SE3 instance with a 4X4 numpy array, it doesn't seem to work,(maybe I don't have enough skills ?)
instead I tried to create an instance of SO3 using a 3X3 rotation matrix, and I was pretty sure the numpy array A I gave was a rotation matrix (normalized). and A @ A.T = array([[ 1.00000000e+00, -2.77555756e-17, 0.00000000e+00], [-2.77555756e-17, 1.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 1.00000005e+00]])
but the code always report error to me that
`ValueError Traceback (most recent call last)
Cell In[119], line 7
4 # # u,_,v = np.linalg.svd(a)
5 # a1 = np.dot(u,v)
6 from spatialmath import SO3
----> 7 SO3(a)
8 # # a.dtype
9 # # a1.T@a1
10 # a.T@a
File c:\pythonproject2\venv1\lib\site-packages\spatialmath\pose3d.py:104, in SO3.init(self, arg, check)
101 self.data = [smb.t2r(x) for x in arg.data]
103 elif not super().arghandler(arg, check=check):
--> 104 raise ValueError("bad argument to constructor") when I change the value of A to A1 = np.asarray([[ 0.00000000000001, -1., 0.],
[ 1., 0., 0.],
[ 0., 0., 1.]])`
the SO3 instance is created successfully.
hence, I suspect the root of the problem may be a matter of precision , But there is no proper way to solve it
The text was updated successfully, but these errors were encountered:
However, given the second part of your description, I suspect you found it not working for the same reason as how it did not work in the SO3 example.
I see you've provided "A @ A.T" above, could you please also give me the value of A itself (the one that you used to produce that error for SO3)? Or, if you are willing to share, a few lines of actual code that you were having problem with?
When I try to initialize a SE3 instance with a 4X4 numpy array, it doesn't seem to work,(maybe I don't have enough skills ?)
instead I tried to create an instance of SO3 using a 3X3 rotation matrix, and I was pretty sure the numpy array A I gave was a rotation matrix (normalized). and
A @ A.T = array([[ 1.00000000e+00, -2.77555756e-17, 0.00000000e+00], [-2.77555756e-17, 1.00000000e+00, 0.00000000e+00], [ 0.00000000e+00, 0.00000000e+00, 1.00000005e+00]])
but the code always report error to me that
`ValueError Traceback (most recent call last)
Cell In[119], line 7
4 # # u,_,v = np.linalg.svd(a)
5 # a1 = np.dot(u,v)
6 from spatialmath import SO3
----> 7 SO3(a)
8 # # a.dtype
9 # # a1.T@a1
10 # a.T@a
File c:\pythonproject2\venv1\lib\site-packages\spatialmath\pose3d.py:104, in SO3.init(self, arg, check)
101 self.data = [smb.t2r(x) for x in arg.data]
103 elif not super().arghandler(arg, check=check):
--> 104 raise ValueError("bad argument to constructor")
when I change the value of A to
A1 = np.asarray([[ 0.00000000000001, -1., 0.],[ 1., 0., 0.],
[ 0., 0., 1.]])`
the SO3 instance is created successfully.
hence, I suspect the root of the problem may be a matter of precision , But there is no proper way to solve it
The text was updated successfully, but these errors were encountered: