Vehicle launch files#
Overview#
The Autoware vehicle stack starts with autoware.launch.xml, as the Launch Autoware page explains. If launch_vehicle is true, autoware.launch.xml includes vehicle.launch.xml of the tier4_vehicle_launch package directly. No component launch file is between them. The following diagram shows the vehicle launch flow in the autoware_launch repository.
Note
The Autoware project is a large project. Therefore, as we manage the Autoware project, we utilize specific arguments in the launch files. ROS 2 offers an argument-overriding feature for these launch files. Please refer to the official ROS 2 launch documentation for further information. For instance, if we define an argument at the top-level launch, it will override the value on lower-level launches.
vehicle.launch.xml does these two things:
- It starts
robot_state_publisher. This node reads the URDF thattier4_vehicle_launch/urdf/vehicle.xacromakes from the<vehicle_model>_descriptionand<sensor_model>_descriptionpackages, and publishes the static transforms of the vehicle and the sensors. - If
launch_vehicle_interfaceistrue, it includesvehicle_interface.launch.xmlof the<vehicle_model>_launchpackage, for examplesample_vehicle_launch. This file starts the vehicle interface of your vehicle.
autoware.launch.xml also gives vehicle.launch.xml two paths: the config directory of <sensor_model>_description, which holds the sensor calibration files, and autoware_launch/config/vehicle/raw_vehicle_cmd_converter/raw_vehicle_cmd_converter.param.yaml.
You do not have many configuration choices in the vehicle launch files, because the parameters are in your vehicle and sensor kit packages. But you can disable the vehicle interface. For example, to run robot_state_publisher without the vehicle interface, launch Autoware with this command-line argument:
ros2 launch autoware_launch autoware.launch.xml ... launch_vehicle_interface:=false ...
Or you can change it in your autoware.launch.xml launch file:
- <arg name="launch_vehicle_interface" default="true" description="launch vehicle interface"/>
+ <arg name="launch_vehicle_interface" default="false" description="launch vehicle interface"/>