包概览
该包包含示例的启动文件以及基本的 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