Skip to content

踩坑GitHub frankaemika/libfranka11 个月前

libfranka 0.18.0 Model::zeroJacobian()对末端帧返回全零 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Model::zeroJacobian() returns zeros [0.18.0](GitHub frankaemika/libfranka #213)

状态:已解决

问题 ​

升级libfranka至0.18.0后,cartesian_impedance_control示例无报错但丧失柔顺性。排查发现当目标帧为franka::Frame::kFlange、kEndEffector或kStiffness时,Model::zeroJacobian()返回全零矩阵;使用kJoint7等其他帧则正常。

环境 ​

libfranka 0.18.0,Franka机器人,涉及franka::Frame::kFlange/kEndEffector/kStiffness帧,底层依赖Pinocchio模型库。

解决办法 ​

  1. 推荐方案:将libfranka升级至0.18.1版本,该版本已官方修复此Bug。
  2. 临时绕过:修改src/robot_model.cpp第13行,将last_link_frame_index_赋值改为pinocchio_model_.getFrameId("link8"),强制指定正确连杆ID以恢复雅可比矩阵计算。
  3. 验证:修改后重新编译并运行cartesian_impedance_control示例,确认末端帧雅可比非零且柔顺行为恢复正常。
  4. 注意:若使用Model类pose函数且涉及末端、刚度或法兰帧,需同步评估是否受同类Bug影响,建议一并升级修复。

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

来源

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

  1. GitHub frankaemika/libfranka #213:Model::zeroJacobian() returns zeros [0.18.0]访问 2026-10-26