Skip to content

踩坑GitHub frankaemika/franka_ros23 个月前

franka_ros2仿真重力补偿失效致机械臂下垂的修复 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Gravity compensation example does not work in simulation(GitHub frankaemika/franka_ros2 #222)

状态:已解决

问题 ​

在franka_ros2 v2.3.0 dev container (Humble) 中运行 gazebo_franka_arm_example_controller.launch.py,gravity_compensation_example_controller 激活后输出零力矩,但机械臂仍受重力影响发生下垂。

环境 ​

franka_ros2 v2.3.0 tag, ROS 2 Humble, Gazebo Sim, franka_gazebo_bringup, gravity_compensation_example_controller

解决办法 ​

  1. 修改 gazebo_franka_arm_example_controller.launch.py 第130-133行,使用 get_package_share_directory('franka_gazebo_bringup') 获取包路径,拼接 worlds/empty_no_gravity.sdf 作为 gz_args_name 的 default_value,替换原 '-r empty.sdf'。
  2. 若需保留世界重力仅对机器人禁用,添加OSFR apt源并安装最新版gz-physics与sdformat以支持逐link重力覆盖(Jazzy分支已集成此修复)。
  3. 注意 empty_no_gravity.sdf 会使整个仿真环境无重力,仅为临时绕过方案,官方后续版本将正式修复逐link重力禁用问题。

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

来源

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

  1. GitHub frankaemika/franka_ros2 #222:Gravity compensation example does not work in simulation访问 2026-10-23