From d7c77b463f3d218de62e84899e3108491698e7c7 Mon Sep 17 00:00:00 2001
From: Yoshiki Obinata <mqcmd196@hotmail.co.jp>
Date: Mon, 16 Dec 2024 22:40:31 +0900
Subject: [PATCH 1/3] [jsk_spot_robot] delete git repos which have been
 released

---
 jsk_spot_robot/jsk_spot_user.rosinstall | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/jsk_spot_robot/jsk_spot_user.rosinstall b/jsk_spot_robot/jsk_spot_user.rosinstall
index 1fb7336910..ee51d8bb9b 100644
--- a/jsk_spot_robot/jsk_spot_user.rosinstall
+++ b/jsk_spot_robot/jsk_spot_user.rosinstall
@@ -4,13 +4,3 @@
     local-name: spot-ros
     uri: https://github.com/k-okada/spot_ros-arm.git
     version: arm
-## to support custom limb name, we need https://github.com/jsk-ros-pkg/jsk_model_tools/pull/249
-- git:
-    local-name: jsk_model_tools
-    uri: https://github.com/k-okada/jsk_model_tools.git
-    version: custom_limb
-# wait for https://github.com/jsk-ros-pkg/jsk_pr2eus/pull/443 (add volume key arg for robot-interface :speak) to be released
-- git:
-    local-name: jsk_pr2eus
-    uri:     https://github.com/jsk-ros-pkg/jsk_pr2eus.git
-    version: master

From 015207beafa3f774c4670bc4ff56d1cb73b508b0 Mon Sep 17 00:00:00 2001
From: Kei Okada <kei.okada@gmail.com>
Date: Wed, 18 Dec 2024 11:51:51 +0000
Subject: [PATCH 2/3] jsk_robot_startup/src/quadruped_joystick_teleop.cpp: say
 something when service call failed

---
 .../src/quadruped_joystick_teleop.cpp             | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/jsk_robot_common/jsk_robot_startup/src/quadruped_joystick_teleop.cpp b/jsk_robot_common/jsk_robot_startup/src/quadruped_joystick_teleop.cpp
index d0077eec62..8b171c68e0 100644
--- a/jsk_robot_common/jsk_robot_startup/src/quadruped_joystick_teleop.cpp
+++ b/jsk_robot_common/jsk_robot_startup/src/quadruped_joystick_teleop.cpp
@@ -93,6 +93,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_estop_hard_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_estop_hard_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("estop hard failed" + srv.response.message);
                     }
                     pressed_[button_estop_hard_] = true;
                 }
@@ -116,6 +117,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_estop_gentle_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_estop_gentle_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("estop gentle failed" + srv.response.message);
                     }
                     pressed_[button_estop_gentle_] = true;
                 }
@@ -139,6 +141,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_power_off_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_power_off_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("power off failed" + srv.response.message);
                     }
                     pressed_[button_power_off_] = true;
                 }
@@ -162,6 +165,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_power_on_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_power_on_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("power on failed" + srv.response.message);
                     }
                     pressed_[button_power_on_] = true;
                 }
@@ -185,6 +189,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_self_right_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_self_right_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("self right failed" + srv.response.message);
                     }
                     pressed_[button_self_right_] = true;
                 }
@@ -208,6 +213,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_sit_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_sit_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("sit failed" + srv.response.message);
                     }
                     pressed_[button_sit_] = true;
                 }
@@ -231,6 +237,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_stand_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_stand_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("stand failed" + srv.response.message);
                     }
                     pressed_[button_stand_] = true;
                 }
@@ -254,6 +261,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_stop_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_stop_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("stop failed" + srv.response.message);
                     }
                     pressed_[button_stop_] = true;
                 }
@@ -277,6 +285,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_release_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_release_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("release failed" + srv.response.message);
                     }
                     pressed_[button_release_] = true;
                 }
@@ -300,6 +309,7 @@ class TeleopManager
                         ROS_INFO_STREAM("Service " << client_claim_.getService() << " succeeded.");
                     } else {
                         ROS_ERROR_STREAM("Service " << client_claim_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("claim failed" + srv.response.message);
                     }
                     pressed_[button_claim_] = true;
                 }
@@ -329,6 +339,7 @@ class TeleopManager
                         req_next_stair_mode_.data = not req_next_stair_mode_.data;
                     } else {
                         ROS_ERROR_STREAM("Service " << client_stair_mode_.getService() << " failed. (" << srv.response.message << ")");
+			this->say("stair mode failed" + srv.response.message);
                     }
                     pressed_[button_stair_mode_] = true;
                 }
@@ -351,6 +362,7 @@ class TeleopManager
                     ROS_INFO_STREAM("Service '" << client_dock_.getService() << "' succeeded.");
                   } else {
                     ROS_ERROR_STREAM("Service '" << client_dock_.getService() << "' failed. (" << srv.response.message << ")");
+		    this->say("dock failed" + srv.response.message);
                   }
                   pressed_axes_[axe_dock_] = true;
                 }
@@ -361,6 +373,7 @@ class TeleopManager
 		ROS_INFO_STREAM("Service '" << client_undock_.getService() << "' succeeded.");
               } else {
 		ROS_ERROR_STREAM("Service '" << client_undock_.getService() << "' failed. (" << srv.response.message << ")");
+		this->say("undock failed" + srv.response.message);
               }
               pressed_axes_[axe_dock_] = true;
             }
@@ -385,6 +398,7 @@ class TeleopManager
                     ROS_INFO_STREAM("Service '" << client_tuck_.getService() << "' succeeded.");
                   } else {
                     ROS_ERROR_STREAM("Service '" << client_tuck_.getService() << "' failed. (" << srv.response.message << ")");
+		    this->say("tuck failed" + srv.response.message);
                   }
                   pressed_axes_[axe_tuck_] = true;
                 }
@@ -395,6 +409,7 @@ class TeleopManager
                 ROS_INFO_STREAM("Service '" << client_untuck_.getService() << "' succeeded.");
               } else {
                 ROS_ERROR_STREAM("Service '" << client_untuck_.getService() << "' failed. (" << srv.response.message << ")");
+		this->say("untuck failed" + srv.response.message);
               }
               pressed_axes_[axe_tuck_] = true;
             }

From 2bdbff9ba47051c0a44d3fa6d898f05517d9ed47 Mon Sep 17 00:00:00 2001
From: Yoshiki Obinata <mqcmd196@hotmail.co.jp>
Date: Fri, 20 Dec 2024 11:22:59 +0900
Subject: [PATCH 3/3] [jsk_pr2_accessories] fix SLDPRT file name with removing
 white space to make usable in Makefile

---
 ...-3D v2.0.SLDPRT => RESPEAKER_MIC-3D_v2.0.SLDPRT} | Bin
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename jsk_pr2_robot/jsk_pr2_accessories/pr2_head_respeaker/{RESPEAKER MIC-3D v2.0.SLDPRT => RESPEAKER_MIC-3D_v2.0.SLDPRT} (100%)

diff --git a/jsk_pr2_robot/jsk_pr2_accessories/pr2_head_respeaker/RESPEAKER MIC-3D v2.0.SLDPRT b/jsk_pr2_robot/jsk_pr2_accessories/pr2_head_respeaker/RESPEAKER_MIC-3D_v2.0.SLDPRT
similarity index 100%
rename from jsk_pr2_robot/jsk_pr2_accessories/pr2_head_respeaker/RESPEAKER MIC-3D v2.0.SLDPRT
rename to jsk_pr2_robot/jsk_pr2_accessories/pr2_head_respeaker/RESPEAKER_MIC-3D_v2.0.SLDPRT