Skip to content

Lie tensor conversion #337

Closed
Closed
@VladimirYugay

Description

Hey there, I run the following test:

twist_a = torch.tensor([1, 2, 3, 4, 5, 6]).float()
twist_b = torch.tensor([1, 2, 4, 4, 5, 6]).float()
twist_c = torch.tensor([1, 2, 3, 4, 5, 8]).float()

the difference between twist a and b is the third coordinate in the "rotation" part of the twist, and the difference between twist a and c is in the 6th coordinate of the "translation" part of the twist.

However, when I call:

pp.LieTensor(twist_a, ltype=pp.se3_type).matrix()
pp.LieTensor(twist_b, ltype=pp.se3_type).matrix()

the difference between matrices is not only in rotation but also in translation.

When I call:

pp.LieTensor(twist_a, ltype=pp.se3_type).matrix()
pp.LieTensor(twist_c, ltype=pp.se3_type).matrix()

the difference between matrices is not only in translation but also in rotation.

I was wondering, why when I convert a twist to a transformation matrix, the rotation and translation components are not independent?

Another question is for quaternions, what is the format that you use? From lietensor.py I see that it's (t, q), but for q what's the order: (qx qy qz qw) or (qw qx qy qz)?

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions