Skip to content

踩坑GitHub frankaemika/franka_ros22025-02-04

franka_robot_state_broadcaster因trylock失败频繁报错 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Franka robot state broadcaster frequently fails to update(GitHub frankaemika/franka_ros2 #94)

状态:有绕过办法

问题 ​

在ROS2 Humble最新版ros2_control中,controller_manager频繁输出franka_robot_state_broadcaster更新返回ERROR的日志。故障定位于源码L128的realtime_franka_state_publisher->trylock()调用。尽管控制器实际性能未受影响,但错误日志刷屏干扰监控。

环境 ​

Franka机器人,ROS2 Humble,franka_ros2(commit 9b0f584),ros2_control(含PR #1969更新),realtime_tools humble分支

解决办法 ​

  1. 修改 franka_robot_state_broadcaster 中 trylock() 失败后的处理逻辑,引入连续失败计数器,仅在超过设定阈值后才返回 controller_interface::return_type::ERROR,避免单次伪失败触发报错
  2. 评估移除对 realtime_tools::RealtimePublisher 的依赖,改用其他线程安全发布机制以彻底规避 try_lock 伪失败问题
  3. 关注 franka_ros2 humble 分支后续修复提交,维护者已确认问题并计划合并解决方案

讨论原作者:@scastro-bdai 等,版权归原作者所有。

来源

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

  1. GitHub frankaemika/franka_ros2 #94:Franka robot state broadcaster frequently fails to update访问 2026-10-26