Skip to content

创建车辆个性化参数#

介绍#

使用 individual_params 包为不同的车辆定义自定义传感器校准. 它让,您可以为不同的车辆定义自定义传感器校准,同时对相同的传感器型号使用相同的启动文件.

警告

individual_params 包包含校准结果,并覆盖 VEHICLE-ID_sensor_kit_description/config/ 目录下的配置参数.

individual_parameters 存储库放入 Autoware 中#

之前在本指南中)、 我们分叉了 autoware_individual_params 仓库, 创建 tutorial_vehicle_individual_params 存储库, 将用作本指南本节的示例.您的 individual_parameters 存储库应按照与下面所示相同的文件夹结构放置在 Autoware 文件夹中:

??? 提示 [tutorial_vehicle_individual_params](https://github.com/leo-drive/tutorial_vehicle_individual_params) 的示例文件夹结构

```diff
  <YOUR-OWN-AUTOWARE-DIR>/
  └─ src/
  └─ param/
  └─ tutorial_vehicle_individual_params/
  └─ individual_params/
  └─ config/
  ├─ default/
+ └─ tutorial_vehicle/
+     └─ tutorial_vehicle_sensor_kit_launch/
+         ├─ imu_corrector.param.yaml
+         ├─ sensor_kit_calibration.yaml
+         └─ sensors_calibration.yaml
```

之后,我们需要构建我们的 individual_params 包:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to individual_params

现在,您已准备好使用带有 vehicle_id 作为参数的 Autoware. 例如,如果您是几辆具有不同传感器校准要求的相似车辆, 您的 autoware_individual_params 结构应如下所示:

individual_params/
└─ config/
     ├─ default/
     │   └─ <YOUR_SENSOR_KIT>/                  # example1
     │        ├─ imu_corrector.param.yaml
     │        ├─ sensor_kit_calibration.yaml
     │        └─ sensors_calibration.yaml
+    ├─ VEHICLE_1/
+    │   └─ <YOUR_SENSOR_KIT>/                  # example2
+    │        ├─ imu_corrector.param.yaml
+    │        ├─ sensor_kit_calibration.yaml
+    │        └─ sensors_calibration.yaml
+    └─ VEHICLE_2/
+         └─ <YOUR_SENSOR_KIT>/                  # example3
+              ├─ imu_corrector.param.yaml
+              ├─ sensor_kit_calibration.yaml
+              └─ sensors_calibration.yaml

然后,您可以将 autoware 与 vehicle_id 参数一起使用,如下所示:

添加 <vehicle_id> 作为参数,并在启动时使用 options 切换参数.

# 示例 1 (不设置 vehicle_id)
$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR-VEHICLE-NAME>_sensor_kit vehicle_model:=<YOUR-VEHICLE-NAME>_vehicle

# 示例 2 (设置 vehicle_id as VEHICLE_1)
$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR-VEHICLE-NAME>_sensor_kit vehicle_model:=<YOUR-VEHICLE-NAME>_vehicle vehicle_id:=VEHICLE_1

# 示例 3 (设置 vehicle_id as VEHICLE_2)
$ ros2 launch autoware_launch autoware.launch.xml sensor_model:=<YOUR-VEHICLE-NAME>_sensor_kit vehicle_model:=<YOUR-VEHICLE-NAME>_vehicle vehicle_id:=VEHICLE_2