franka_gazebo

重要

franka_description 的最低版本要求为 0.3.0。你可以从 https://github.com/frankarobotics/franka_description 克隆该包。

一个将 Franka ROS 2 与 Gazebo 仿真器集成的项目。

启动 RViz + Gazebo

启动一个示例,同时打开 RViz 和 Gazebo 并显示机器人:

ros2 launch franka_gazebo_bringup visualize_franka_robot.launch.py

如果想显示另一台机器人,可以定义 arm_id:

ros2 launch franka_gazebo_bringup visualize_franka_robot.launch.py arm_id:=fp3

如果想启动包含 franka_hand 的仿真:

ros2 launch franka_gazebo_bringup visualize_franka_robot.launch.py load_gripper:=true franka_hand:='franka_hand'

Gazebo 中的关节速度控制示例

在开始之前,请确保已构建 franka_example_controllersfranka_description 包。franka_description 的最低版本要求为 0.3.0。

colcon build --packages-select franka_example_controllers

现在可以使用 Gazebo 仿真器启动速度控制示例。

ros2 launch franka_gazebo_bringup gazebo_joint_velocity_controller_example.launch.py load_gripper:=true franka_hand:='franka_hand'

请注意,夹爪关节在使用关节速度控制器时存在 bug。如果你需要控制夹爪,请改用关节位置接口。

Gazebo 中的关节位置控制示例

要运行关节位置控制示例,需要先安装关节速度控制章节中列出的必要软件。

然后可以使用以下命令运行。

ros2 launch franka_gazebo_bringup gazebo_joint_position_controller_example.launch.py load_gripper:=true franka_hand:='franka_hand'

Gazebo 中的关节阻抗控制示例

要运行力矩控制示例,需要编译位于 franka_gazebo 下的 franka_ign_ros2_control 包。可以使用以下命令进行编译。

colcon build --packages-select franka_ign_ros2_control

然后加载你的工作空间环境。

source install/setup.sh

接着可以运行阻抗控制示例。

ros2 launch franka_gazebo_bringup gazebo_joint_impedance_controller_example.launch.py load_gripper:=true franka_hand:='franka_hand'

故障排查

如果遇到 Gazebo 无法找到模型文件的情况,请尝试将工作空间路径加入环境变量。例如:

export GZ_SIM_RESOURCE_PATH=${GZ_SIM_RESOURCE_PATH}:/workspaces/src/