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

transformToStart, transformToStartImu区别 #4

Open
xuejiangzhao opened this issue Sep 27, 2019 · 8 comments
Open

transformToStart, transformToStartImu区别 #4

xuejiangzhao opened this issue Sep 27, 2019 · 8 comments

Comments

@xuejiangzhao
Copy link

@wykxwyc 您好,请问transformToStart, transformToStartImu有什么区别?transformCur代表了哪两个坐标系间的转换?

@wykxwyc
Copy link
Owner

wykxwyc commented Oct 8, 2019

你好,现在已经在代码的注释中进行了更新,注释里进行了说明。

@xuejiangzhao
Copy link
Author

非常感谢,看了你更新的注释,TransformToStart的注释是"坐标变换到开始时刻",不是很理解,能否详细解释下.transformToStartImu已经将所有点的坐标转换到了第一个点的坐标系下,为什么需要再TransformToStart呢?

@wykxwyc
Copy link
Owner

wykxwyc commented Oct 21, 2019

非常感谢,看了你更新的注释,TransformToStart的注释是"坐标变换到开始时刻",不是很理解,能否详细解释下.transformToStartImu已经将所有点的坐标转换到了第一个点的坐标系下,为什么需要再TransformToStart呢?

您好,在featureAssociation.cpp里面,transformToStartImu的调用是在去除畸变的时候,主要是用IMU的松耦合数据先进行一次大致的畸变去除。
而TransformToStart是在找对应特征的时候进行调用的,其作用是将点云转换到同一个坐标系中去,方便寻找两个对应的特征和后面的非线性优化。
以上是我自己的理解,如果有什么不对的也请指正。

@xuejiangzhao
Copy link
Author

我觉得你说的是对的,感谢.

@Auto-RunningWang
Copy link

非常感谢,看了你更新的注释,TransformToStart的注释是"坐标变换到开始时刻",不是很理解,能否详细解释下.transformToStartImu已经将所有点的坐标转换到了第一个点的坐标系下,为什么需要再TransformToStart呢?

您好,在featureAssociation.cpp里面,transformToStartImu的调用是在去除畸变的时候,主要是用IMU的松耦合数据先进行一次大致的畸变去除。
而TransformToStart是在找对应特征的时候进行调用的,其作用是将点云转换到同一个坐标系中去,方便寻找两个对应的特征和后面的非线性优化。
以上是我自己的理解,如果有什么不对的也请指正。

您好,我也有些疑问,既然之前IMU已经将点云的畸变校正做过了,即提取的feature已经全部在当前帧的0 scan时刻坐标下,TransformToStart转到上一帧就不存在当前点通过intensity的时间比例来转换了,每个feature点的转换坐标应该是一样的了,都是假设匀速运动的前一个transformCur,不是知道这样理解是否正确

@wykxwyc
Copy link
Owner

wykxwyc commented Nov 14, 2019

非常感谢,看了你更新的注释,TransformToStart的注释是"坐标变换到开始时刻",不是很理解,能否详细解释下.transformToStartImu已经将所有点的坐标转换到了第一个点的坐标系下,为什么需要再TransformToStart呢?

您好,在featureAssociation.cpp里面,transformToStartImu的调用是在去除畸变的时候,主要是用IMU的松耦合数据先进行一次大致的畸变去除。
而TransformToStart是在找对应特征的时候进行调用的,其作用是将点云转换到同一个坐标系中去,方便寻找两个对应的特征和后面的非线性优化。
以上是我自己的理解,如果有什么不对的也请指正。

您好,我也有些疑问,既然之前IMU已经将点云的畸变校正做过了,即提取的feature已经全部在当前帧的0 scan时刻坐标下,TransformToStart转到上一帧就不存在当前点通过intensity的时间比例来转换了,每个feature点的转换坐标应该是一样的了,都是假设匀速运动的前一个transformCur,不是知道这样理解是否正确

@Auto-RunningWang 您好,这个问题我觉得需要参考 Zhang Ji 的LOAM论文,我的理解是这样的:
transformToStartImu 对应的是对每一次Sweep进行的畸变去除,运动比较大;
TransformToStart 对应的是对每一次Scan进行的运动畸变校正,这里的校正都是在一次Sweep内的,运动很小。
上面是我个人的理解,如有不对之处也请指正。

@kechaofan
Copy link

transformToStartImu只做了rotation,imu rotation比较可靠,
transformToStart和transformToEnd 包含了完整了transform。

@huft-robot
Copy link

您好,我想请问 transformCur[3] -= imuVeloFromStartX * scanPeriod; transformCur[4] -= imuVeloFromStartY * scanPeriod; transformCur[5] -= imuVeloFromStartZ * scanPeriod;这三个式子为什么是-=,如果按照之前做说的是用于transformtostart的话那么不是应该是=-吗?

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

5 participants