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
Check here first Common issues
No related issue was found here.
Describe the bug
Forward kinematics in custom ERobot in version > 1.0.0 now is forced (with try / except) to pass through the Cpp function ETS_fkine
But ETS_fkine does not handle the q parameter as its pythonic fkine does in versions < 1.0 and outputs wrong results when sequence of q is passed.
For example, creating this simple robot in v1.0.2:
import roboticstoolbox as rtb
import numpy as np
robot = rtb.ERobot(
[
rtb.Link(rtb.ET.tz()),
rtb.Link(rtb.ET.tx())
]
)
traj = np.array([[0,0],[0,1]])
print(robot.fkine(q=traj))
Following the fkine docstring, that states "Trajectory operation: If q has multiple rows (mxn), it is considered a trajectory and the result is an SE3 instance with m values.", we would expect two SE(3) as a response for the two translations in traj, the first with z=0, x=0 and the second with z=0, x=1, or:
The above result is indeed what we get in v0.11.0 with fkine argument fast=False as well as by cloning the bleeding-edge version from commit 07ad125 and putting back on the fast argument so it can skip the ETS_fkine function (which I guess is the fastest workaround for now)
Version information v1.0.2 and v0.11.0 installed from PyPI
commit 07ad125 from GitHub
Environment (please complete the following information):
Hey @FelipeCybis, thanks for finding that, it was a tricky one in the end with column-major ordering with 3D arrays. It's been fixed and will be included in the next release
Check here first
Common issues
No related issue was found here.
Describe the bug
Forward kinematics in custom ERobot in version > 1.0.0 now is forced (with
try / except
) to pass through the Cpp functionETS_fkine
But
ETS_fkine
does not handle theq
parameter as its pythonicfkine
does in versions < 1.0 and outputs wrong results when sequence ofq
is passed.For example, creating this simple robot in
v1.0.2
:Gives us the wrong fkine:
Following the
fkine
docstring, that states "Trajectory operation: Ifq
has multiple rows (mxn), it is considered a trajectory and the result is anSE3
instance withm
values.", we would expect two SE(3) as a response for the two translations intraj
, the first withz=0, x=0
and the second withz=0, x=1
, or:The above result is indeed what we get in
v0.11.0
with fkine argumentfast=False
as well as by cloning the bleeding-edge version from commit 07ad125 and putting back on thefast
argument so it can skip theETS_fkine
function (which I guess is the fastest workaround for now)Version information
v1.0.2
andv0.11.0
installed from PyPIcommit 07ad125 from GitHub
Environment (please complete the following information):
Env created with
The text was updated successfully, but these errors were encountered: