diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/images/2d_pose_initialization.png b/docs/how-to-guides/integrating-autoware/launch-autoware/images/2d_pose_initialization.png new file mode 100644 index 00000000000..98dea4b36e6 Binary files /dev/null and b/docs/how-to-guides/integrating-autoware/launch-autoware/images/2d_pose_initialization.png differ diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/images/autoware_launch_overview.svg b/docs/how-to-guides/integrating-autoware/launch-autoware/images/autoware_launch_overview.svg new file mode 100644 index 00000000000..4d3cc46c771 --- /dev/null +++ b/docs/how-to-guides/integrating-autoware/launch-autoware/images/autoware_launch_overview.svg @@ -0,0 +1,4 @@ + + + +
autoware.universe
autoware.universe
localization modules
localization modules
  • localization nodes
  • node parameters
localization nodesnod...
map modules
map modules
  • map loading nodes
  • node parameters
map loading nodesnode...
perception modules
perception modules
  • perception nodes
  • node parameters
perception nodesnode...
planning - control modules
planning - control mo...
  • planning - control nodes
  • node parameters
planning - control no...
autoware_launch
autoware_launch
  • autoware.universe parameter (config) files
  • necessary launch files for each component
autoware.universe parameter (config) files...
Note

autoware_launch holds parameters in a config file for autoware modules. If we launch autoware modules with autoware_launch,the original node parameters will be overriden from autoware_launch parameters.
Note...
Note

autoware_launch start launching pipelines for autoware software modules.





Note...
Launch Modules and override parameters
Launch Module...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/images/give_2d_goal_pose.png b/docs/how-to-guides/integrating-autoware/launch-autoware/images/give_2d_goal_pose.png new file mode 100644 index 00000000000..2316b2767aa Binary files /dev/null and b/docs/how-to-guides/integrating-autoware/launch-autoware/images/give_2d_goal_pose.png differ diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/images/give_2d_pose.png b/docs/how-to-guides/integrating-autoware/launch-autoware/images/give_2d_pose.png new file mode 100644 index 00000000000..d584c112664 Binary files /dev/null and b/docs/how-to-guides/integrating-autoware/launch-autoware/images/give_2d_pose.png differ diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/images/planning_path_output.png b/docs/how-to-guides/integrating-autoware/launch-autoware/images/planning_path_output.png new file mode 100644 index 00000000000..50968de5e5d Binary files /dev/null and b/docs/how-to-guides/integrating-autoware/launch-autoware/images/planning_path_output.png differ diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/images/route_planning_is_complete.png b/docs/how-to-guides/integrating-autoware/launch-autoware/images/route_planning_is_complete.png deleted file mode 100644 index 59557f912c3..00000000000 Binary files a/docs/how-to-guides/integrating-autoware/launch-autoware/images/route_planning_is_complete.png and /dev/null differ diff --git a/docs/how-to-guides/integrating-autoware/launch-autoware/index.md b/docs/how-to-guides/integrating-autoware/launch-autoware/index.md index 1877a2cc39f..59a177765c1 100644 --- a/docs/how-to-guides/integrating-autoware/launch-autoware/index.md +++ b/docs/how-to-guides/integrating-autoware/launch-autoware/index.md @@ -1,87 +1,277 @@ # Launch Autoware -!!! warning +This section explains how to run your vehicle with Autoware. +We will explain how to run and launch autoware with these modules: + +- Vehicle +- System +- Map +- Sensing +- Localization +- Perception +- Planning +- Control + +## Pre-requirements of launching Autoware with real vehicle + +Please complete these steps for integration Autoware on your vehicle: + +- [Create your Autoware meta-repository](../creating-your-autoware-meta-repository/creating-autoware-meta-repository.md). +- [Create your vehicle and sensor model](../creating-vehicle-and-sensor-description/creating-vehicle-and-sensor-description.md). +- [Calibrate your sensors](../creating-vehicle-and-sensor-description/calibrating-sensors.md). +- [Create your Autoware compatible vehicle interface](../creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model.md). +- [Create your environment map](../creating-maps). + +After the completion of these steps according to your individual vehicle, +you are ready to use Autoware. + +## autoware_launch package + +The [autoware_launch](https://github.com/autowarefoundation/autoware_launch) package starts the initiation of Autoware software stack launch files. +The [autoware.launch.xml](https://github.com/autowarefoundation/autoware_launch) launch file enables the invocation of these module launches +by enabling the following launch arguments: + +```xml + + + + + + + + + +``` - Under Construction +For example, if you don't need to launch perception, planning, +and control for localization debug, you can disable these modules like the following: -This section explains how to run your vehicle with Autoware. +```diff +- ++ +- ++ +- ++ +``` + +Also, it is possible to specify which components to launch using command-line arguments. + +```bash +ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \ + launch_perception:=false \ + launch_planning:=false \ + launch_control:=false +``` + +Also, `autoware_launch` +package includes autoware modules parameter files under the `config` directory. + +```diff +/ + └─ src/ + └─ launcher/ + └─ autoware_launch/ + ├─ config/ + ├─ ├─ control/ + ├─ ├─ localization/ + ├─ ├─ map/ + ├─ ├─ perception/ + ├─ ├─ planning/ + ├─ ├─ simulator/ + ├─ └─ system/ + ├─launch/ + └─ rviz/ +``` + +So, if we change any parameter in `config` directory, +it will override the original parameter values +since `autoware_launch` parameter file path is used for parameter loading. + +
+ ![autoware_launch](images/autoware_launch_overview.svg){ align=center } +
+ autoware_launch package launching and parameter migrating diagram +
+
+ +## Configure `autoware.launch.xml` + +As we mentioned above, +we can enable or disable Autoware modules +to launch by modifying `autoware.launch.xml` or using command-line arguments. +Also, we have some arguments for specifying our Autoware configurations. +Here are some basic configurations for the autoware.launch.xml launch file: +(Additionally, you can use them as command-line arguments, as we mentioned before) + +### Vehicle + +In the Vehicle section, you can choose whether the vehicle interface will be launched or not. +For example, if you disable it, then `vehicle_interface.launch.xml` will not be called: + +```diff +- ++ +``` -## Install Autoware +Please be sure your vehicle interface driver included in `vehicle_interface.launch.xml`, +for more information you can refer the [creating vehicle interface](../creating-vehicle-interface-package/creating-a-vehicle-interface-for-an-ackermann-kinematic-model.md#3-prepare-a-launch-file) page. -Follow the [installation steps of Autoware](../../../installation/). +### Map + +If your point cloud and lanelet2 map names are different from pointcloud_map.pcd and lanelet2_map.osm, +you will need to update these map file name arguments: + +```diff +- ++ +- ++ +``` + +### Perception + +Also, you can change your perception method here. +The Autoware provides `camera-lidar-radar fusion`, +`camera-lidar fusion`, `lidar-radar fusion`, `lidar only` and `radar only` perception modes. +The default perception method is `lidar only` mode, +but if you want to use `camera-lidar fusion` you need to change your perception mode: + +```diff +- ++ +``` + +If you want to use traffic light recognition and visualization, +you can set `traffic_light_recognition/enable_fine_detection` as true (default). +Please check +[traffic_light_fine_detector](https://autowarefoundation.github.io/autoware.universe/main/perception/traffic_light_fine_detector/) +page for more information. +If you don't want to use traffic light classifier, then you can disable it: + +```diff +- ++ +``` ## Launch Autoware Launch Autoware with the following command: ```bash -ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP +ros2 launch autoware_launch autoware_launch.launch.xml map_path:= vehicle_model:= sensor_model:= vehicle_id:= ``` It is possible to specify which components to launch using command-line arguments. For example, if you don't need to launch perception, planning, and control for localization debug, you can launch the following: ```bash -ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \ +ros2 launch autoware_launch autoware_launch.launch.xml map_path:= vehicle_model:= sensor_model:= vehicle_id:= \ launch_perception:=false \ launch_planning:=false \ launch_control:=false ``` -The basic command-line options are documented in [autoware.launch.xml](https://github.com/autowarefoundation/autoware_launch/blob/main/autoware_launch/launch/autoware.launch.xml). +After launching Autoware, we need to initialize our vehicle on our map. +If you set [gnss_poser](https://autowarefoundation.github.io/autoware.universe/main/sensing/gnss_poser/) for your GNSS/INS sensor at `gnss.launch.xml`, +then gnss_poser will send pose for initialization. +If you don't have a GNSS sensor, then you need to set initial pose manually. -There are options available to switch between different methods for some component. -For example, by specifying `pose_source`/`twist_source` or `perception_mode`, you can switch localization and perception methods, respectively. -These options allow you to choose the desired algorithms or sensor configurations for the respective functionalities. +### Set initial pose -For options on eagleye component, please refer to the sub-pages. - -- [localization-mode](localization-methods/index.md) -- [perception-mode](perception.md) +If not or if the automatic initialization returns an incorrect position, you need to set the initial pose using the RViz GUI. -## Set initial pose +- Click the 2D Pose estimate button in the toolbar, or hit the P key -If GNSS is available, Autoware automatically initializes the vehicle's pose. +
+ ![2D Pose estimate](images/2d_pose_estimate.png){ align=center } +
+ 2D Pose estimate with RViz +
+
-If not or if the automatic initialization returns an incorrect position, you need to set the initial pose using the RViz GUI. +- In the 3D View panel, click and hold the left mouse button, and then drag to set the direction for the initial pose. -1. Click the 2D Pose estimate button in the toolbar, or hit the P key +
+ ![Giving 2D Pose](images/give_2d_pose.png){ align=center } +
+ Setting 2D Pose estimate with RViz +
+
- ![2D Pose estimate](images/2d_pose_estimate.png) +- After that, the vehicle will be initialized. You will then observe both your vehicle and Autoware outputs. -2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the initial pose. +
+ ![Initialization](images/2d_pose_initialization.png){ align=center } +
+ Initialization of the vehicle +
+
-## Set goal pose +### Set goal pose Set a goal pose for the ego vehicle. -1. Click the 2D Nav Goal button in the toolbar, or hit the G key +- Click the 2D Nav Goal button in the toolbar, or hit the G key - ![2D Pose estimate](images/2d_goal_pose.png) +
+ ![Initialization](images/2d_goal_pose.png){ align=center } +
+ Initialization of the vehicle +
+
-2. In the 3D View pane, click and hold the left mouse button, and then drag to set the direction for the goal pose. - If successful, you will see the calculated planning path on RViz. +- In the 3D View pane, click and hold the left mouse button, + and then drag to set the direction for the goal pose. - ![route planning](images/route_planning_is_complete.png){width="800"} +
+ ![Initialization](images/give_2d_goal_pose.png){ align=center } +
+ Initialization of the vehicle +
+
-## Engage +- If successful, you will see the calculated planning path on RViz. -In your terminal, execute the following command. +
+ ![path-output](images/planning_path_output.png){ align=center } +
+ Planned path on RViz +
+
-```bash -source ~/autoware.YOURS/install/setup.bash -ros2 topic pub /autoware.YOURS/engage autoware_auto_vehicle_msgs/msg/Engage "engage: true" -1 -``` +### Engage -You can also engage via RViz with "AutowareStatePanel". -The panel can be found in `Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel`. +There are two options for engage: -Once the route is computed, the "AUTO" button becomes active. Pressing the AUTO button engages the autonomous driving mode. +- Firstly, you can use `AutowareStatePanel`, + it is included in Autoware RViz configuration file, + but it can be found in `Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel`. -![autoware state panel](images/autoware_state_panel_before.png) +Once the route is computed, the "AUTO" button becomes active. +Pressing the AUTO button engages the autonomous driving mode. + +
+ ![autoware-state-panel](images/autoware_state_panel_before.png){ align=center } +
+ Autoware state panel (STOP operation mode) +
+
+ +- Secondly, you can engage with ROS 2 topic. In your terminal, execute the following command. + +```bash +source ~//install/setup.bash +ros2 topic pub //engage autoware_auto_vehicle_msgs/msg/Engage "engage: true" -1 +``` Now the vehicle should drive along the calculated path! During the autonomous driving, the StatePanel appears as shown in the image below. Pressing the "STOP" button allows you to stop the vehicle. -![autoware state panel](images/autoware_state_panel_after.png) +
+ ![autoware-state-panel](images/autoware_state_panel_after.png){ align=center } +
+ Autoware state panel (AUTO operation mode) +
+