外观
踩坑GitHub unitreerobotics/unitree_mujoco7 个月前
unitree_mujoco运行Go2仿真报dds_writecdr_impl_common断言失败。
本文由 AI 根据公开内容整理,可能有误,请以原文为准:unitree_mujoco: ./src/core/ddsc/src/dds_write.c:318: dds_writecdr_impl_common: Assertion `(wr->m_iox_pub == NULL) == (d->a.iox_chunk == NULL)' failed.(GitHub unitreerobotics/unitree_mujoco #103)
状态:已解决
问题
运行 python3 ./test/test_unitree_sdk2.py 启动 unitree_mujoco Go2 仿真时,程序闪退并报错:./src/core/ddsc/src/dds_write.c:318: dds_writecdr_impl_common: Assertion (wr->m_iox_pub == NULL) == (d->a.iox_chunk == NULL) failed.,伴随核心转储。
环境
Ubuntu 22.04/24.04,ROS 2 Humble/Jazzy,unitree_mujoco,宇树 Go2 机器人仿真环境。
解决办法
- 清除当前终端 ROS 2 相关环境变量,执行
unset ROS_DISTRO AMENT_PREFIX_PATH CMAKE_PREFIX_PATH LD_LIBRARY_PATH。 - 设置最小化动态链接库路径,仅保留系统库:
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/x86_64-linux-gnu;若需保留部分 ROS 依赖(如 Jazzy),务必从LD_LIBRARY_PATH中剔除/opt/ros/jazzy/lib/x86_64-linux-gnu目录。 - (可选)通过配置
CYCLONEDDS_URI环境变量禁用 Iceoryx 共享内存传输:export CYCLONEDDS_URI='<CycloneDDS><Domain><Iceoryx><Enable>false</Enable></Iceoryx></Domain></CycloneDDS>'。 - 在干净环境中重…
讨论原作者:@gitszu 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。