diff --git a/humanoid_common_msgs/CMakeLists.txt b/humanoid_common_msgs/CMakeLists.txt
index 567e8fd609ae88b6b301909485e84a732f68f59d..4eafbcf7ed18b5271c4f2c2228e25a256029b623 100644
--- a/humanoid_common_msgs/CMakeLists.txt
+++ b/humanoid_common_msgs/CMakeLists.txt
@@ -43,6 +43,7 @@ find_package(catkin REQUIRED message_generation std_msgs actionlib_msgs sensor_m
 add_message_files(
   FILES
   walk_params.msg
+  stairs_params.msg
   tag_pose.msg
   tag_pose_array.msg
   buttons.msg
@@ -56,6 +57,8 @@ add_service_files(
   FILES
   set_walk_params.srv
   get_walk_params.srv
+  set_stairs_params.srv
+  get_stairs_params.srv
   set_servo_modules.srv
   set_pid.srv
   get_pid.srv
@@ -70,6 +73,7 @@ add_action_files(
   humanoid_motion.action
   humanoid_follow_target.action
   humanoid_gripper.action
+  humanoid_stairs.action
 )
 
 ## Generate added messages and services with any dependencies listed here
diff --git a/humanoid_common_msgs/action/humanoid_stairs.action b/humanoid_common_msgs/action/humanoid_stairs.action
new file mode 100644
index 0000000000000000000000000000000000000000..00b69aa74c1bc362658711ebf723a637b31b2581
--- /dev/null
+++ b/humanoid_common_msgs/action/humanoid_stairs.action
@@ -0,0 +1,8 @@
+#goal definition
+bool    up
+---
+#result definition
+bool    successful
+---
+#feedback
+int32   current_phase
diff --git a/humanoid_common_msgs/msg/stairs_params.msg b/humanoid_common_msgs/msg/stairs_params.msg
new file mode 100644
index 0000000000000000000000000000000000000000..d1c2c7caeaa35d90c5ef8d590f4029c7deda3ece
--- /dev/null
+++ b/humanoid_common_msgs/msg/stairs_params.msg
@@ -0,0 +1,25 @@
+float32 PHASE1_TIME          
+float32 PHASE2_TIME         
+float32 PHASE3_TIME        
+float32 PHASE4_TIME       
+float32 PHASE5_TIME      
+float32 PHASE6_TIME     
+float32 PHASE7_TIME    
+float32 PHASE8_TIME   
+float32 PHASE9_TIME  
+float32 X_OFFSET    
+float32 Y_OFFSET   
+float32 Z_OFFSET  
+float32 R_OFFSET 
+float32 P_OFFSET
+float32 A_OFFSET            
+float32 Y_SHIFT            
+float32 X_SHIFT           
+float32 Z_OVERSHOOT      
+float32 Z_HEIGHT        
+float32 HIP_PITCH_OFFSET
+float32 R_SHIFT       
+float32 P_SHIFT      
+float32 A_SHIFT     
+float32 Y_SPREAD   
+float32 X_SHIFT_BODY 
diff --git a/humanoid_common_msgs/srv/get_stairs_params.srv b/humanoid_common_msgs/srv/get_stairs_params.srv
new file mode 100644
index 0000000000000000000000000000000000000000..faa7f11fdc0b5a600e9ab9542d81cd58af5e8ad5
--- /dev/null
+++ b/humanoid_common_msgs/srv/get_stairs_params.srv
@@ -0,0 +1,2 @@
+---
+humanoid_common_msgs/stairs_params params
diff --git a/humanoid_common_msgs/srv/set_stairs_params.srv b/humanoid_common_msgs/srv/set_stairs_params.srv
new file mode 100644
index 0000000000000000000000000000000000000000..ec622f92df991c31105ed01d6f9e97fddd6758a9
--- /dev/null
+++ b/humanoid_common_msgs/srv/set_stairs_params.srv
@@ -0,0 +1,3 @@
+humanoid_common_msgs/stairs_params params
+---
+bool ret