包概览

该包包含示例的启动文件以及基本的 franka.launch.py 启动文件,可用于在没有任何控制器的情况下启动机器人。

当你启动机器人时:

ros2 launch franka_bringup franka.launch.py arm_id:=fr3 robot_ip:=<fci-ip> use_rviz:=true

除了 joint_state_broadcaster 外,没有其他控制器在运行。但仍然可以与机器人建立连接,并在 RViz 中可视化当前机器人位姿。在此模式下,当用户按下停止按钮时可以引导机器人。然而,一旦启动使用 effort_command_interface 的控制器,机器人将使用 libfranka 的力矩接口。例如,可以通过运行以下命令启动 gravity_compensation_example_controller:

ros2 control load_controller --set-state active  gravity_compensation_example_controller

这相当于运行 Gravity Compensation 中提到的 gravity_compensation_example_controller 示例。

当控制器停止时:

ros2 control set_controller_state gravity_compensation_example_controller inactive

机器人将停止力矩控制,仅通过 FCI 发送其当前状态。

现在你可以选择再次启动相同的控制器:

ros2 control set_controller_state gravity_compensation_example_controller active

或者加载并启动不同的控制器:

ros2 control load_controller --set-state active joint_impedance_example_controller