Puzzle on how to rotate convariance
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 153
- Forks
- 256
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 14
Description
The following code is how this repository rotate covariance:
https://github.com/ros2/geometry2/blob/d1dc38b8a0e706fbd67a800a241fee950fce39f4/tf2_geometry_msgs/src/tf2_geometry_msgs/tf2_geometry_msgs.py#L101-L104
This is how mrpt rotate covariance:
https://github.com/MRPT/mrpt/blob/4af6ea558bf75af9bc9798abfc3745fe7ce39c66/libs/poses/src/CPose3DPDF.cpp#L134-L158
Obviously different. It seems euler angles cannot be rorated via left-multipling a rotation matrix. Therefore, transforming a covariance matrix of euler angles is not the same as transforming translation's:
$$
Cov(RX)=R\cdot Cov(X)\cdot R^T
$$
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the linked tf2_geometry_msgs.py lines 101-104 with MRPT's CPose3DPDF.cpp lines 134-158, focusing on how covariance for Euler angles is transformed. Establish which behavior is correct for this repository, then capture the decision in the issue or an appropriate change with a clear validation case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- robotics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100