Small quaternion rotations are lost in axis-angle conversion
評估
研究方向
Start with the transformations.axisangle_to_quat and transformations.quat_to_axisangle entry points and run the reproduction shown in the issue. Check the existing conversion behavior around the 1e-10 threshold, negative quaternions, principal-angle handling, half-turns, and scalar validation. Done means small above-threshold rotations round-trip without losing their vector information while the stated existing conventions remain unchanged.
由索引模型根據 Issue 內容生成。
描述
Reproduction
import numpy as np
from dm_control.utils import transformations
rotation = np.array([1e-8, 0., 0.])
quat = transformations.axisangle_to_quat(rotation)
print(quat) # [1.e+00, 5.e-09, 0.e+00, 0.e+00]
print(transformations.quat_to_axisangle(quat)) # [0., 0., 0.]
The rotation is above the function's 1e-10 threshold. Its information remains in the quaternion's vector part, but the scalar has rounded to one, so arccos loses the angle. Equivalent negative quaternions also suffer cancellation.
Recover small angles from the vector part while retaining the principal-angle range, half-turn convention, subthreshold identity behavior and scalar-range validation. Native MuJoCo quaternion-to-velocity conversion retains this rotation.
Reproduced on main at a04e3e4cf56c12117d2294bb090f9acec21e5c67.
- 主要語言
- Python
- 星號
- 4.7k
- 分支
- 771
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
google-deepmind/dm_control 的其他 Issue
-
Initial observation padding changes when source arrays are reused可能已有人在做 @sylvesterkaczmarek 於 16 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 85/100
google-deepmind/dm_control#559 ·
-
Built-in observation aggregators drop bounds-preserving specifications可能已有人在做 @sylvesterkaczmarek 於 16 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 75/100
google-deepmind/dm_control#560 ·
-
Flattened observations disagree with explicitly declared task specifications可能已有人在做 @sylvesterkaczmarek 於 17 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 74/100
google-deepmind/dm_control#557 ·
-
Schema regeneration in 985d0940 dropped three declarations MuJoCo 3.12 accepts (contact sensor, jointinparent references, custom numeric arrays)可能已有人在做 @shoemoney 於 52 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 76/100
google-deepmind/dm_control#552 ·
-
DeprecationWarning: Setting the shape on a NumPy array has been deprecated in NumPy 2.5.可能已有人在做 @Trenza1ore 於 97 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 45/100
google-deepmind/dm_control#540 · 1 則留言 ·
查看 google-deepmind/dm_control 的全部 Issue
相似的 Issue
-
`burr` fails to start when the Python path has a space in it可能已有人在做 @enekoreto 今天認領。 未關閉status/needs-triage
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 5 天內回覆
-
難度 1/5 1 小時以內 新手友好度 72/100
-
難度 2/5 半天 新手友好度 72/100
debpalash/VoiceStudio#2903 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
dagster-io/community-integrations#367 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 74/100
aws-samples/sample-per-model-bedrock#243 ·
維護者通常 1 天內回覆