diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data.md b/docs/design/autoware-architecture/sensing/data-types/radar-data.md
deleted file mode 100644
index 25d7bb0ac54..00000000000
--- a/docs/design/autoware-architecture/sensing/data-types/radar-data.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Radar data pre-processing design
-
-!!! warning
-
- Under Construction
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/image/radar-objects-sensing.drawio.svg b/docs/design/autoware-architecture/sensing/data-types/radar-data/image/radar-objects-sensing.drawio.svg
new file mode 100644
index 00000000000..4e4ffb8914c
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/image/radar-objects-sensing.drawio.svg
@@ -0,0 +1,328 @@
+
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/image/radar-pointcloud-sensing.drawio.svg b/docs/design/autoware-architecture/sensing/data-types/radar-data/image/radar-pointcloud-sensing.drawio.svg
new file mode 100644
index 00000000000..8b1d5bdeb38
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/image/radar-pointcloud-sensing.drawio.svg
@@ -0,0 +1,347 @@
+
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/radar-objects-data.md b/docs/design/autoware-architecture/sensing/data-types/radar-data/radar-objects-data.md
new file mode 100644
index 00000000000..e427fb77ed1
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/radar-objects-data.md
@@ -0,0 +1,88 @@
+# Radar objects data pre-processing design
+
+## Overview
+
+### Pipeline
+
+This diagram describes the pre-process pipeline for radar objects.
+
+![radar-objects-sensing](image/radar-objects-sensing.drawio.svg)
+
+### Interface
+
+- Input
+ - Radar data from device
+ - Twist information of ego vehicle motion
+- Output
+ - Merged radar objects information
+
+### Note
+
+- The radar pre-process package filters noise through the `ros-perception/radar_msgs/msg/RadarTrack.msg` message type with sensor coordinate.
+- It is recommended to change the coordinate system from each sensor to base_link with message converter.
+- If there are multiple radar objects, the object merger package concatenates these objects.
+
+## Input
+
+Autoware uses radar objects data type as [radar_msgs/msg/RadarTracks.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarTracks.msg).
+In detail, please see [Data message for radars](reference-implementations/data-message.md).
+
+## Reference implementations
+
+### Device driver for radars
+
+Autoware supports `ros-perception/radar_msgs/msg/RadarScan.msg` and `autoware_auto_perception_msgs/msg/TrackedObjects.msg` for Radar drivers.
+
+In detail, please see [Device driver for radars](reference-implementations/device-driver.md).
+
+### Noise filter
+
+- [radar_tracks_noise_filter](https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/radar_tracks_noise_filter)
+
+Radar can detect x-axis velocity as doppler velocity, but cannot detect y-axis velocity. Some radar can estimate y-axis velocity inside the device, but it sometimes lack precision. This package treats these objects as noise by y-axis threshold filter.
+
+### Message converter
+
+- [radar_tracks_msgs_converter](https://github.com/autowarefoundation/autoware.universe/tree/main/perception/radar_tracks_msgs_converter)
+
+This package converts from `radar_msgs/msg/RadarTracks` into `autoware_auto_perception_msgs/msg/DetectedObject` with ego vehicle motion compensation and coordinate transform.
+
+### Object merger
+
+- [object_merger](https://github.com/autowarefoundation/autoware.universe/tree/main/perception/object_merger)
+
+This package can merge 2 topics of `autoware_auto_perception_msgs/msg/DetectedObject`.
+
+- [simple_object_merger](https://github.com/autowarefoundation/autoware.universe/tree/main/perception/simple_object_merger)
+
+This package can merge simply multiple topics of `autoware_auto_perception_msgs/msg/DetectedObject`.
+Different from [object_merger](https://github.com/autowarefoundation/autoware.universe/tree/main/perception/object_merger), this package doesn't use association algorithm and can merge with low calculation cost.
+
+- [topic_tools](https://github.com/ros-tooling/topic_tools)
+
+If a vehicle has 1 radar, the topic relay tool in `topic_tools` can be used.
+Example is as below.
+
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## Appendix
+
+### Discussion
+
+Radar architecture design is discussed as below.
+
+- [Discussion 2531](https://github.com/orgs/autowarefoundation/discussions/2531)
+- [Discussion 2532](https://github.com/orgs/autowarefoundation/discussions/2532).
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/radar-pointcloud-data.md b/docs/design/autoware-architecture/sensing/data-types/radar-data/radar-pointcloud-data.md
new file mode 100644
index 00000000000..097a3a2a81d
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/radar-pointcloud-data.md
@@ -0,0 +1,76 @@
+# Radar pointcloud data pre-processing design
+
+## Overview
+
+### Pipeline
+
+This diagram describes the pre-process pipeline for radar pointcloud.
+
+![radar-pointcloud-sensing](image/radar-pointcloud-sensing.drawio.svg)
+
+### Interface
+
+- Input
+ - Radar data from device
+ - Twist information of ego vehicle motion
+- Output
+ - Dynamic radar pointcloud (`ros-perception/radar_msgs/msg/RadarScan.msg`)
+ - Noise filtered radar pointcloud (`sensor_msgs/msg/Pointcloud2.msg`)
+
+### Note
+
+- In the sensing layer, the radar pre-process packages filter noise through the `ros-perception/radar_msgs/msg/RadarScan.msg` message type with sensor coordinate.
+- For use of radar pointcloud data by LiDAR packages, we would like to propose a converter for creating `sensor_msgs/msg/Pointcloud2.msg` from `ros-perception/radar_msgs/msg/RadarScan.msg`.
+
+## Reference implementations
+
+### Data message for radars
+
+Autoware uses radar objects data type as [radar_msgs/msg/RadarScan.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarScan.msg).
+In detail, please see [Data message for radars](reference-implementations/data-message.md).
+
+### Device driver for radars
+
+Autoware support `ros-perception/radar_msgs/msg/RadarScan.msg` and `autoware_auto_perception_msgs/msg/TrackedObjects.msg` for Radar drivers.
+
+In detail, please see [Device driver for radars](reference-implementations/device-driver.md).
+
+### Basic noise filter
+
+- [radar_threshold_filter](https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/radar_threshold_filter)
+
+This package removes pointcloud noise with low amplitude, edge angle, too near pointcloud by threshold.
+The noise depends on the radar devices and installation location.
+
+### Filter to static/dynamic pointcloud
+
+- [radar_static_pointcloud_filter](https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/radar_static_pointcloud_filter)
+
+This package extracts static/dynamic radar pointcloud by using doppler velocity and ego motion.
+The static radar pointcloud can be used for localization like NDT scan matching, and the dynamic radar pointcloud can be used for dynamic object detection.
+
+### Message converter from RadarScan to Pointcloud2
+
+- [radar_scan_to_pointcloud2](https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/radar_scan_to_pointcloud2)
+
+For convenient use of radar pointcloud within existing LiDAR packages, we suggest a `radar_scan_to_pointcloud2_convertor` package for conversion from `ros-perception/radar_msgs/msg/RadarScan.msg` to `sensor_msgs/msg/Pointcloud2.msg`.
+
+| | LiDAR package | Radar package |
+| :--------: | :-------------------------------: | :-------------------------------------------: |
+| message | `sensor_msgs/msg/Pointcloud2.msg` | `ros-perception/radar_msgs/msg/RadarScan.msg` |
+| coordinate | (x, y, z) | (r, θ, φ) |
+| value | intensity | amplitude, doppler velocity |
+
+For considered use cases,
+
+- Use [pointcloud_preprocessor](https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/pointcloud_preprocessor) for radar scan.
+- Apply obstacle segmentation like [ground segmentation](https://github.com/autowarefoundation/autoware.universe/tree/main/perception/ground_segmentation) to radar points for LiDAR-less (camera + radar) systems.
+
+## Appendix
+
+### Discussion
+
+Radar architecture design is discussed as below.
+
+- [Discussion 2531](https://github.com/orgs/autowarefoundation/discussions/2531)
+- [Discussion 2532](https://github.com/orgs/autowarefoundation/discussions/2532).
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/data-message.md b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/data-message.md
new file mode 100644
index 00000000000..8f210214969
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/data-message.md
@@ -0,0 +1,87 @@
+# Data message for radars
+
+## Summary
+
+To sum up, Autoware uses radar data type as below.
+
+- [radar_msgs/msg/RadarScan.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarScan.msg) for radar pointcloud
+- [radar_msgs/msg/RadarTracks.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarTracks.msg) for radar objects.
+
+## Radar data message for pointcloud
+
+### Message definition
+
+- [ros2/msg/RadarScan.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarScan.msg)
+
+```sh
+std_msgs/Header header
+radar_msgs/RadarReturn[] returns
+```
+
+- [ros2/msg/RadarReturn.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarReturn.msg)
+
+```sh
+# All variables below are relative to the radar's frame of reference.
+# This message is not meant to be used alone but as part of a stamped or array message.
+
+float32 range # Distance (m) from the sensor to the detected return.
+float32 azimuth # Angle (in radians) in the azimuth plane between the sensor and the detected return.
+ # Positive angles are anticlockwise from the sensor and negative angles clockwise from the sensor as per REP-0103.
+float32 elevation # Angle (in radians) in the elevation plane between the sensor and the detected return.
+ # Negative angles are below the sensor. For 2D radar, this will be 0.
+float32 doppler_velocity # The doppler speeds (m/s) of the return.
+float32 amplitude # The amplitude of the of the return (dB)
+```
+
+## Radar data message for tracked objects
+
+### Message definition
+
+- [radar_msgs/msg/RadarTrack.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarTrack.msg)
+
+```sh
+# Object classifications (Additional vendor-specific classifications are permitted starting from 32000 eg. Car)
+uint16 NO_CLASSIFICATION=0
+uint16 STATIC=1
+uint16 DYNAMIC=2
+
+unique_identifier_msgs/UUID uuid # A unique ID of the object generated by the radar.
+ # Note: The z component of these fields is ignored for 2D tracking.
+geometry_msgs/Point position # x, y, z coordinates of the centroid of the object being tracked.
+geometry_msgs/Vector3 velocity # The velocity of the object in each spatial dimension.
+geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension.
+geometry_msgs/Vector3 size # The object size as represented by the radar sensor eg. length, width, height OR the diameter of an ellipsoid in the x, y, z, dimensions
+ # and is from the sensor frame's view.
+uint16 classification # An optional classification of the object (see above)
+float32[6] position_covariance # Upper-triangle covariance about the x, y, z axes
+float32[6] velocity_covariance # Upper-triangle covariance about the x, y, z axes
+float32[6] acceleration_covariance # Upper-triangle covariance about the x, y, z axes
+float32[6] size_covariance # Upper-triangle covariance about the x, y, z axes
+```
+
+### Message usage for RadarTracks
+
+- Object classifications
+
+In object classifications of [radar_msgs/msg/RadarTrack.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarTrack.msg), additional classifications label can be used by the number starting from 32000.
+
+To express for [Autoware label definition](https://gitlab.com/autowarefoundation/autoware.auto/autoware_auto_msgs/-/blob/master/autoware_auto_perception_msgs/msg/ObjectClassification.idl), Autoware defines object classifications for `RadarTracks.msg` as below.
+
+```sh
+uint16 UNKNOWN = 32000;
+uint16 CAR = 32001;
+uint16 TRUCK = 32002;
+uint16 BUS = 32003;
+uint16 TRAILER = 32004;
+uint16 MOTORCYCLE = 32005;
+uint16 BICYCLE = 32006;
+uint16 PEDESTRIAN = 32007;
+```
+
+For detail implementation, please see [radar_tracks_msgs_converter](https://github.com/autowarefoundation/autoware.universe/tree/main/perception/radar_tracks_msgs_converter).
+
+## Note
+
+### Survey for radar message
+
+Depending on the sensor manufacturer and its purpose, each sensor might exchange raw, post-processed data. This section introduces a survey about the previously developed messaging systems in the open-source community. Although there are many kinds of outputs, radar mainly adopt two types as outputs, pointcloud and objects. Related discussion for message definition in ros-perception are [PR #1](https://github.com/ros-perception/radar_msgs/pull/1), [PR #2](https://github.com/ros-perception/radar_msgs/pull/2), and [PR #3](https://github.com/ros-perception/radar_msgs/pull/3). Existing open source softwares for radar are summarized in these PR.
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/device-driver.md b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/device-driver.md
new file mode 100644
index 00000000000..13067deb8cb
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/device-driver.md
@@ -0,0 +1,33 @@
+# Device driver for radars
+
+## Interface for radar devices
+
+The radar driver converts the communication data from radars to ROS 2 topics.
+The following communication types are considered:
+
+- CAN
+- CAN-FD
+- Ethernet
+
+![draw.io figure](image/radar-communication.drawio.svg)
+
+## Software Interface
+
+Autoware support `ros-perception/radar_msgs/msg/RadarScan.msg` and `autoware_auto_perception_msgs/msg/TrackedObjects.msg` for Radar drivers.
+
+![draw.io figure](image/radar-driver.drawio.svg)
+
+ROS driver receive the data from radar devices.
+
+- Scan (pointcloud)
+- Tracked objects
+- Diagnostics results
+
+The ROS drivers receives the following data from the radar device.
+
+- Time synchronization
+- Ego vehicle status, which often need for tracked objects calculation
+
+## Radar driver example
+
+- [ARS408 driver](https://github.com/tier4/ars408_driver)
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/image/radar-communication.drawio.svg b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/image/radar-communication.drawio.svg
new file mode 100644
index 00000000000..80a145abcdc
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/image/radar-communication.drawio.svg
@@ -0,0 +1,116 @@
+
diff --git a/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/image/radar-driver.drawio.svg b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/image/radar-driver.drawio.svg
new file mode 100644
index 00000000000..0005d67b670
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/data-types/radar-data/reference-implementations/image/radar-driver.drawio.svg
@@ -0,0 +1,209 @@
+
diff --git a/docs/design/autoware-architecture/sensing/image/overall-sensing-architecture.drawio.svg b/docs/design/autoware-architecture/sensing/image/overall-sensing-architecture.drawio.svg
new file mode 100644
index 00000000000..9bfdfc68005
--- /dev/null
+++ b/docs/design/autoware-architecture/sensing/image/overall-sensing-architecture.drawio.svg
@@ -0,0 +1,357 @@
+
diff --git a/docs/design/autoware-architecture/sensing/index.md b/docs/design/autoware-architecture/sensing/index.md
index c6632ad04a9..3102baf3f5c 100644
--- a/docs/design/autoware-architecture/sensing/index.md
+++ b/docs/design/autoware-architecture/sensing/index.md
@@ -11,13 +11,19 @@ The sensor input formats are defined in this component.
- Abstraction of data formats to enable usage of sensors from various vendors
- Perform common/primitive sensor data processing required by each component
+## High-level architecture
+
+This diagram describes the high-level architecture of the Sensing Component.
+
+![overall-sensing-architecture](image/overall-sensing-architecture.drawio.svg)
+
## Inputs
### Input types
| Sensor Data | Message Type |
| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Point cloud (Lidars, depth cameras, etc.) | [sensor_msgs/msg/PointCloud2.msg](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/PointCloud2.msg) |
+| Point cloud (LiDARs, depth cameras, etc.) | [sensor_msgs/msg/PointCloud2.msg](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/PointCloud2.msg) |
| Image (RGB, monochrome, depth, etc. cameras) | [sensor_msgs/msg/Image.msg](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/Image.msg) |
| Radar scan | [radar_msgs/msg/RadarScan.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarScan.msg) |
| Radar tracks | [radar_msgs/msg/RadarTracks.msg](https://github.com/ros-perception/radar_msgs/blob/ros2/msg/RadarTracks.msg) |
@@ -32,5 +38,6 @@ The sensor input formats are defined in this component.
- [GNSS/INS data pre-processing design](data-types/gnss-ins-data.md)
- [Image pre-processing design](data-types/image.md)
- [Point cloud pre-processing design](data-types/point-cloud.md)
-- [Radar data pre-processing design](data-types/radar-data.md)
+- [Radar pointcloud data pre-processing design](data-types/radar-data/radar-pointcloud-data.md)
+- [Radar objects data pre-processing design](data-types/radar-data/radar-objects-data.md)
- [Ultrasonics data pre-processing design](data-types/ultrasonics-data.md)