Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin' into add-map-interface
Browse files Browse the repository at this point in the history
  • Loading branch information
cyn-liu committed Mar 29, 2023
2 parents 9f85931 + a0844ad commit 375b061
Show file tree
Hide file tree
Showing 5 changed files with 171 additions and 1 deletion.
12 changes: 11 additions & 1 deletion docs/design/autoware-architecture/planning/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,16 @@ For more details, please refer to the design documents in each package.

![supported-functions](image/planning-functions.drawio.svg)

## Important Parameters

| Package | Parameter | Type | Description |
| ---------------------------- | ------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------ |
| `obstacle_stop_planner` | `stop_planner.stop_position.max_longitudinal_margin` | double | distance between the ego and the front vehicle when stopping (when `cruise_planner_type:=obstacle_stop_planner`) |
| `obstacle_cruise_planner` | `common.safe_distance_margin` | double | distance between the ego and the front vehicle when stopping (when `cruise_planner_type:=obstacle_cruise_planner`) |
| `behavior_path_planner` | `avoidance.avoidance.lateral.lateral_collision_margin` | double | minimum lateral margin to obstacle on avoidance |
| `behavior_path_planner` | `avoidance.avoidance.lateral.lateral_collision_safety_buffer` | double | additional lateral margin to obstacle if possible on avoidance |
| `obstacle_avoidance_planner` | `option.enable_outside_drivable_area_stop` | bool | If set true, a stop point will be inserted before the path footprint is outside the drivable area. |

## Notation

### [1] self-crossing road and overlapped
Expand All @@ -99,6 +109,6 @@ Currently, the supported modules are as follows.
- obstacle_stop_planner
- motion_velocity_smoother

#### [2] Size of Path Points
### [2] Size of Path Points

Some functions do not support paths with only one point. Therefore, each modules should generate the path with more than two path points.
2 changes: 2 additions & 0 deletions docs/design/autoware-interfaces/ad-api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
!!! warning

Under Construction

See [here](../index.md) for an overview.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/design/autoware-interfaces/components/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
!!! warning

Under Construction

See [here](../index.md) for an overview.
152 changes: 152 additions & 0 deletions docs/design/autoware-interfaces/components/localization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# Localization

![Node diagram](images/Localization-Bus-ODD-Architecture.drawio.svg)

## Inputs

### Pointcloud Map

Environment map created with point cloud, published by the map server.

- sensor_msgs/msg/PointCloud2

A 3d point cloud map is used for LiDAR-based localization in Autoware.

### Manual Initial Pose

Start pose of ego, published by the user interface.

- geometry_msgs/msg/PoseWithCovarianceStamped
- std_msgs/msg/Header header
- geometry_msgs/msg/PoseWithCovariance pose
- geometry_msgs/msg/Pose pose
- geometry_msgs/msg/Point position
- geometry_msg/msg/Quaternion orientation
- double[36] covariance

### 3D-LiDAR Scanning

LiDAR scanning for NDT matching, published by the LiDAR sensor.

- sensor_msgs/msg/PointCloud2

The raw 3D-LiDAR data needs to be processed by the [point cloud pre-processing modules](../../autoware-architecture/sensing/data-types/point-cloud.md) before being used for localization.

### Automatic Initial pose

Start pose of ego, calculated from INS(Inertial navigation sensor) sensing data.

- geometry_msgs/msg/PoseWithCovarianceStamped
- std_msgs/msg/Header header
- geometry_msgs/msg/PoseWithCovariance pose
- geometry_msgs/msg/Pose pose
- geometry_msgs/msg/Point position
- geometry_msg/msg/Quaternion orientation
- double[36] covariance

When the initial pose is not set manually, the message can be used for automatic pose initialization.

Current Geographic coordinate of the ego, published by the GNSS sensor.

- sensor_msgs/msg/NavSatFix
- std_msgs/msg/Header header
- sensor_msgs/msg/NavSatStatus status
- double latitude
- double longitude
- double altitude
- double[9] position_covariance
- unit8 position_covariance_type

Current orientation of the ego, published by the GNSS-INS.

- autoware_sensing_msgs/msg/GnssInsOrientationStamped
- std_msgs/Header header
- autoware_sensing_msgs/msg/GnssInsOrientation orientation
- geometry_msgs/Quaternion orientation
- float32 rmse_rotation_x
- float32 rmse_rotation_y
- float32 rmse_rotation_z

### IMU Data

Current orientation, angular velocity and linear acceleration of ego, calculated from IMU sensing data.

- sensor_msgs/msg/Imu
- std_msgs/msg/Header header
- geometry_msgs/msg/Quaternion orientation
- double[9] orientation_covariance
- geometry_msgs/msg/Vector3 angular_velocity
- double[9] angular_velocity_covariance
- geometry_msgs/msg/Vector3 linear_acceleration
- double[9] linear_acceleration_covariance

### Vehicle Velocity Status

Current velocity of the ego vehicle, published by the vehicle interface.

- autoware_auto_vehicle_msgs/msg/VelocityReport
- std_msgs/msg/Header header;
- float longitudinal_velocity;
- float lateral_velocity;
- float heading_rate;

Before the velocity input localization interface, module `vehicle_velocity_converter` converts message type `autoware_auto_vehicle_msgs/msg/VelocityReport` to `geometry_msgs/msg/TwistWithCovarianceStamped`.

## Outputs

### Vehicle pose

Current pose of ego, calculated from localization interface.

- geometry_msgs/msg/PoseWithCovarianceStamped
- std_msgs/msg/Header header
- geometry_msg/PoseWithCovariance pose
- geometry_msgs/msg/Pose pose
- geometry_msgs/msg/Point position
- geometry_msgs/msg/Quaternion orientation
- double[36] covariance

### Vehicle velocity

Current velocity of ego, calculated from localization interface.

- geometry_msgs/msg/TwistWithCovarianceStamped
- std_msgs/msg/Header header
- geometry_msg/TwistWithCovariance twist
- geometry_msgs/msg/Twist twist
- geometry_msgs/msg/Vector3 linear
- geometry_msgs/msg/Vector3 angular
- double[36] covariance

### Vehicle acceleration

Current acceleration of ego, calculated from localization interface.

- geometry_msgs/msg/AccelWithCovarianceStamped
- std_msgs/msg/Header header
- geometry_msg/AccelWithCovariance accel
- geometry_msgs/msg/Accel accel
- geometry_msgs/msg/Vector3 linear
- geometry_msgs/msg/Vector3 angular
- double[36] covariance

### Vehicle kinematic state

Current pose, velocity and acceleration of ego, calculated from localization interface.

**Note:** Kinematic state contains pose, velocity and acceleration. In the future, [pose](#vehicle-pose), [velocity](#vehicle-velocity) and [acceleration](#vehicle-acceleration) will not be used as output for localization.

- autoware_msgs/autoware_localization_msgs/msg/KinematicState
- std_msgs/msg/Header header
- string child_frame_id
- geometry_msgs/PoseWithCovariance pose_with_covariance
- geometry_msgs/TwistWithCovariance twist_with_covariance
- geometry_msgs/AccelWithCovariance accel_with_covariance

The message will be subscribed by the planning and control module.

### Localization Accuracy

Diagnostics information that indicates if the localization module works properly.

TBD.

0 comments on commit 375b061

Please sign in to comment.