Skip to content

踩坑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状态接口脚本。

解决办法 ​

  1. 打开 g1_29dof_state.py 文件并定位 get_robot_imu_data 函数。
  2. 将四元数处理代码修改为 quat_wxyz = ensure_quat_w_first(quat, assume_w_first=True),强制指定输入四元数为w-first格式以修正解析逻辑。
  3. 保存文件并重新运行仿真验证,确认Yaw角旋转数据恢复正常且无截断现象。

讨论原作者:@KarelRuzicka 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub unitreerobotics/unitree_sim_isaaclab #105:LowState IMU Quaternion mapping issue访问 2026-10-27