|
1 |
| -# Motion TRansformer (MTR) |
| 1 | +# autoware_mtr |
| 2 | + |
| 3 | +## Purpose |
| 4 | + |
| 5 | +The `autoware_mtr` package is used for 3D object motion prediction based on ML-based model called MTR. |
| 6 | + |
| 7 | +## Inner-workings / Algorithms |
| 8 | + |
| 9 | +The implementation bases on MTR [1] work. It uses TensorRT library for data process and network interface. |
| 10 | + |
| 11 | +## Inputs / Outputs |
| 12 | + |
| 13 | +### Input |
| 14 | + |
| 15 | +| Name | Type | Description | |
| 16 | +| -------------------- | ----------------------------------------------- | ------------------------ | |
| 17 | +| `~/input/objects` | `autoware_perception_msgs::msg::TrackedObjects` | Input agent state. | |
| 18 | +| `~/input/vector_map` | `autoware_map_msgs::msg::LeneletMapBin` | Input vector map. | |
| 19 | +| `~/input/ego` | `sensor_msgs::msg::Odometry` | Input ego vehicle state. | |
| 20 | + |
| 21 | +### Output |
| 22 | + |
| 23 | +| Name | Type | Description | |
| 24 | +| ------------------ | ------------------------------------------------- | -------------------------- | |
| 25 | +| `~/output/objects` | `autoware_perception_msgs::msg::PredictedObjects` | Predicted objects' motion. | |
| 26 | + |
| 27 | +## Parameters |
| 28 | + |
| 29 | +Following parameters can be specified in `.launch.xml` or command line. |
| 30 | + |
| 31 | +### `param_path` |
| 32 | + |
| 33 | +File path to the MTR configuration. (Default: `autoware_mtr/config/mtr.param.yaml`) |
| 34 | + |
| 35 | +### Configuration Parameters |
| 36 | + |
| 37 | +#### `model_params` |
| 38 | + |
| 39 | +| Name | type | Description | |
| 40 | +| :---------------------------- | :-----: | :---------------------------------------------------------- | |
| 41 | +| `model_path` | `str` | ONNX or engine file path. | |
| 42 | +| `target_labels` | `str[]` | An array of label names to be predicted. | |
| 43 | +| `num_past` | `int` | The number of history length. | |
| 44 | +| `num_mode` | `int` | The number of predicted modes. | |
| 45 | +| `num_future` | `int` | The number of predicted future length. | |
| 46 | +| `max_num_polyline` | `int` | The maximum number of polylines to be contained in input. | |
| 47 | +| `max_num_point` | `int` | The maximum number of points included in a single polyline. | |
| 48 | +| `point_break_distance` | `float` | Distance threshold to separate points into two polylines. | |
| 49 | +| `intention_point_filepath` | `str` | File path to intension points (.csv). | |
| 50 | +| `num_intention_point_cluster` | `int` | The number of clusters of intention points. | |
| 51 | + |
| 52 | +#### `build_params` |
| 53 | + |
| 54 | +| Name | type | Description | |
| 55 | +| :----------- | :----: | :---------------------------------------------------------- | |
| 56 | +| `is_dynamic` | `bool` | Indicates whether the model allows dynamic shape inference. | |
| 57 | +| `precision` | `str` | Precision mode. | |
| 58 | +| `MINMAX` | `str` | Calibration mode. | |
| 59 | + |
| 60 | +### `data_path` |
| 61 | + |
| 62 | +Directory path to ONNX or TensorRT engine file. (Default: `autoware_mtr/data`) |
| 63 | + |
| 64 | +### `build_only` |
| 65 | + |
| 66 | +This option performs to build the TensorRT engine file from the ONNX file and exit after finishing it. (Default: `false`) |
| 67 | + |
| 68 | +You can execute with the following command: |
| 69 | + |
| 70 | +```bash |
| 71 | +ros2 launch autoware_mtr mtr.launch.xml build_only:=true |
| 72 | +``` |
0 commit comments