diff --git a/autoware_perception_msgs/CMakeLists.txt b/autoware_perception_msgs/CMakeLists.txt
index 405f51f..e096930 100644
--- a/autoware_perception_msgs/CMakeLists.txt
+++ b/autoware_perception_msgs/CMakeLists.txt
@@ -5,11 +5,21 @@ find_package(ament_cmake_auto REQUIRED)
ament_auto_find_build_dependencies()
rosidl_generate_interfaces(${PROJECT_NAME}
+ "msg/ObjectClassification.msg"
+ "msg/PredictedObject.msg"
+ "msg/PredictedObjectKinematics.msg"
+ "msg/PredictedObjects.msg"
+ "msg/PredictedPath.msg"
+ "msg/Shape.msg"
"msg/TrafficSignalElement.msg"
"msg/TrafficSignal.msg"
"msg/TrafficSignalArray.msg"
+
DEPENDENCIES
+ std_msgs
+ geometry_msgs
builtin_interfaces
+ unique_identifier_msgs
)
ament_auto_package()
diff --git a/autoware_perception_msgs/msg/ObjectClassification.msg b/autoware_perception_msgs/msg/ObjectClassification.msg
new file mode 100644
index 0000000..77405f6
--- /dev/null
+++ b/autoware_perception_msgs/msg/ObjectClassification.msg
@@ -0,0 +1,11 @@
+uint8 UNKNOWN = 0
+uint8 CAR = 1
+uint8 TRUCK = 2
+uint8 BUS = 3
+uint8 TRAILER = 4
+uint8 MOTORCYCLE = 5
+uint8 BICYCLE = 6
+uint8 PEDESTRIAN = 7
+
+uint8 label
+float32 probability
diff --git a/autoware_perception_msgs/msg/PredictedObject.msg b/autoware_perception_msgs/msg/PredictedObject.msg
new file mode 100644
index 0000000..043e965
--- /dev/null
+++ b/autoware_perception_msgs/msg/PredictedObject.msg
@@ -0,0 +1,4 @@
+unique_identifier_msgs/UUID id
+ObjectClassification classification
+PredictedObjectKinematics kinematics
+Shape shape
diff --git a/autoware_perception_msgs/msg/PredictedObjectKinematics.msg b/autoware_perception_msgs/msg/PredictedObjectKinematics.msg
new file mode 100644
index 0000000..8d66d4c
--- /dev/null
+++ b/autoware_perception_msgs/msg/PredictedObjectKinematics.msg
@@ -0,0 +1,4 @@
+geometry_msgs/PoseWithCovariance initial_pose_with_covariance
+geometry_msgs/TwistWithCovariance initial_twist_with_covariance
+geometry_msgs/AccelWithCovariance initial_acceleration_with_covariance
+PredictedPath[100] predicted_paths
diff --git a/autoware_perception_msgs/msg/PredictedObjects.msg b/autoware_perception_msgs/msg/PredictedObjects.msg
new file mode 100644
index 0000000..fbfb520
--- /dev/null
+++ b/autoware_perception_msgs/msg/PredictedObjects.msg
@@ -0,0 +1,2 @@
+std_msgs/Header header
+PredictedObject[] objects
diff --git a/autoware_perception_msgs/msg/PredictedPath.msg b/autoware_perception_msgs/msg/PredictedPath.msg
new file mode 100644
index 0000000..0fcdfeb
--- /dev/null
+++ b/autoware_perception_msgs/msg/PredictedPath.msg
@@ -0,0 +1,3 @@
+geometry_msgs/Pose[100] path
+builtin_interfaces/Duration time_step
+float32 confidence
diff --git a/autoware_perception_msgs/msg/Shape.msg b/autoware_perception_msgs/msg/Shape.msg
new file mode 100644
index 0000000..b37988c
--- /dev/null
+++ b/autoware_perception_msgs/msg/Shape.msg
@@ -0,0 +1,7 @@
+uint8 BOUNDING_BOX=0
+uint8 CYLINDER=1
+uint8 POLYGON=2
+
+uint8 type
+geometry_msgs/Polygon footprint
+geometry_msgs/Vector3 dimensions
diff --git a/autoware_perception_msgs/package.xml b/autoware_perception_msgs/package.xml
index 6dc3ae0..771cef3 100644
--- a/autoware_perception_msgs/package.xml
+++ b/autoware_perception_msgs/package.xml
@@ -11,6 +11,9 @@
rosidl_default_generators
builtin_interfaces
+ geometry_msgs
+ std_msgs
+ unique_identifier_msgs
rosidl_default_runtime