外观
踩坑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模型库。
解决办法
- 推荐方案:将libfranka升级至0.18.1版本,该版本已官方修复此Bug。
- 临时绕过:修改src/robot_model.cpp第13行,将last_link_frame_index_赋值改为pinocchio_model_.getFrameId("link8"),强制指定正确连杆ID以恢复雅可比矩阵计算。
- 验证:修改后重新编译并运行cartesian_impedance_control示例,确认末端帧雅可比非零且柔顺行为恢复正常。
- 注意:若使用Model类pose函数且涉及末端、刚度或法兰帧,需同步评估是否受同类Bug影响,建议一并升级修复。
讨论原作者:@itadera 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。