Browse Source

[feat]增加robot command高度调节接口。

rundong 11 months ago
parent
commit
257df26fc4
1 changed files with 24 additions and 1 deletions
  1. 24 1
      saturn_controller/src/saturn_controller.cpp

+ 24 - 1
saturn_controller/src/saturn_controller.cpp

@@ -158,6 +158,7 @@ void SaturnController::robotCommandCallback(
         result = rcClientInterfaceEnterOrExitCharge(
             robot_control::common::NAV_OR_JOY_MODE::nav_control, false);
     } else if ("HeartBeat" == request->comamnd_name) {
+
     } else if ("Stop" == request->comamnd_name) {
         common::ROBOT_TWIST rc_direct;
         rc_direct.linear.x = 0.0;
@@ -194,7 +195,29 @@ void SaturnController::robotCommandCallback(
         SPDLOG_INFO("OrdinaryGait is called");
         result = rcClientInterfaceSetScene(robot_control::common::NAV_OR_JOY_MODE::nav_control,
                                             common::SCENE_TYPE::WALKING);
-    } else {
+    } else if("StayNormal" == request->comamnd_name) {
+        SPDLOG_INFO("Standing Height StayNormal is called, standing height of saturn is set to 0.4.");
+        result = rcClientInterfaceBodyHighAdjust(robot_control::common::NAV_OR_JOY_MODE::nav_control,40);
+    } else if("StayDown" == request->comamnd_name) {
+        SPDLOG_INFO("Standing Height StayDown is called, standing height of saturn is set to 0.3.");
+        result = rcClientInterfaceBodyHighAdjust(robot_control::common::NAV_OR_JOY_MODE::nav_control,30);
+    } else if("SlopeGait" == request->comamnd_name) {
+        SPDLOG_WARN("SlopeGait is not supported yet.");
+        result = false;
+    } else if("VstairsGait" == request->comamnd_name) {
+        SPDLOG_WARN("VstairsGait is not supported yet.");
+        result = false;
+    } else if("AccuStairsGait" == request->comamnd_name) {
+        SPDLOG_WARN("AccuStairsGait is not supported yet.");
+        result = false;
+    } else if("SingleStairsGait" == request->comamnd_name) {
+        SPDLOG_WARN("SingleStairsGait is not supported yet.");
+        result = false;
+    } else if("ResetDockState" == request->comamnd_name) {
+        SPDLOG_WARN("ResetDockState is not supported yet.");
+        result = false;
+    }
+    else {
         SPDLOG_WARN("Invalid robot command name!!!");
         result = false;
     }