Skip to main content
Version: 10

Overload Configuration for Physical

example_robot_ws Checkpoint

If you are following this guide with example_robot_ws, your workspace should look like branch step12.

config.yaml

Our new config.yaml only has to overload a few fields:

  • hardware.additional_driver_launch_file - update to launch arm and gripper drivers in the drivers container.
  • hardware.urdf_params - to tell our *.urdf.xacro to use the physical hardware *_ros2_control.xacro.

additional_driver_launch_file is always included, so pointing it at the physical driver launch file here is what runs the real drivers. The hardware_interface: "physical" Xacro parameter selects the physical *_ros2_control.xacro.

based_on_package: example_robot_sim

hardware:
additional_driver_launch_file:
package: "example_robot_hw"
path: "launch/additional_driver_nodes.launch.py"
robot_description:
urdf_params:
# Use "mock", "mujoco", or "physical"
- hardware_interface: "physical"

runtime.launch.xml

This launch file is run in the Runtime container and typically has your camera launch files. Configure it with the required runtime_launch_file entry in config.yaml. A base configuration can provide this entry for derived configurations to inherit. Here is what a launch file including a camera launch file might look like:

<?xml version="1.0" encoding="UTF-8" ?>
<launch>
<include
file="$(find-pkg-share moveit_studio_agent)/launch/studio_agent_bridge.launch.xml"
/>
<include
file="$(find-pkg-share example_robot_hw)/launch/camera_driver.launch.py"
/>
</launch>

step13 Checkpoint

Your example_robot_ws workspace should now look like branch step13.

note

This guide does not cover populating the CMakeLists.txt or package.xml for your hardware config.