外观
踩坑GitHub unitreerobotics/unitree_sim_isaaclab8 个月前
Unitree Isaac Lab G1 IMU四元数映射错误致Yaw角±128.75°截断
本文由 AI 根据公开内容整理,可能有误,请以原文为准:LowState IMU Quaternion mapping issue(GitHub unitreerobotics/unitree_sim_isaaclab #105)
状态:已解决
问题
在Unitree Isaac Lab仿真wrapper中读取LowState IMU数据时,计算出的Yaw角无法平滑旋转±180°,而是在±128.75°(±2.25 rad)处发生截断与回绕。尽管代码注释标明四元数格式为[x, y, z, w],但使用scipy或手动公式转换均复现该异常,仅在该阈值内数值与真值一致,怀疑存在内部IMU映射不匹配。
环境
Unitree G1机器人,unitree_sim_isaaclab仿真环境,g1_29dof_state.py状态接口脚本。
解决办法
- 打开
g1_29dof_state.py文件并定位get_robot_imu_data函数。 - 将四元数处理代码修改为
quat_wxyz = ensure_quat_w_first(quat, assume_w_first=True),强制指定输入四元数为w-first格式以修正解析逻辑。 - 保存文件并重新运行仿真验证,确认Yaw角旋转数据恢复正常且无截断现象。
讨论原作者:@KarelRuzicka 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。