diff --git a/CMakeLists.txt b/CMakeLists.txt
index ab5f0ec93f76e07afdf95e436dec49ddbd717fc1..3ca56f079e67a37bf40378f6ecc2cfb26d84725f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,11 +15,25 @@ find_package(catkin REQUIRED COMPONENTS
   tf
   tf_conversions
   tf2_ros
+  message_generation
 )
 
 ## System dependencies are found with CMake's conventions
 find_package(wolfcore REQUIRED)
 
+## Generate messages in the 'msg' folder
+add_message_files(
+  FILES
+  LandmarkDetection.msg
+  LandmarkDetectionArray.msg
+)
+
+## Generate added messages and services with any dependencies listed here
+generate_messages(
+  DEPENDENCIES
+  geometry_msgs
+  std_msgs
+)
 
 ###################################
 ## catkin specific configuration ##
diff --git a/msg/LandmarkDetection.msg b/msg/LandmarkDetection.msg
new file mode 100644
index 0000000000000000000000000000000000000000..00a6c9508ee809b836f42107da0e4905932da649
--- /dev/null
+++ b/msg/LandmarkDetection.msg
@@ -0,0 +1,2 @@
+geometry_msgs/PoseWithCovariance pose
+int32 id
\ No newline at end of file
diff --git a/msg/LandmarkDetectionArray.msg b/msg/LandmarkDetectionArray.msg
new file mode 100644
index 0000000000000000000000000000000000000000..d59391da0cd9b0d219bb20cfd688a4d1faa9dd95
--- /dev/null
+++ b/msg/LandmarkDetectionArray.msg
@@ -0,0 +1,2 @@
+Header header
+LandmarkDetection[] detections
\ No newline at end of file