diff --git a/config/cabin_robot.xml b/config/cabin_robot.xml
index 54ae96de..25fccd29 100644
--- a/config/cabin_robot.xml
+++ b/config/cabin_robot.xml
@@ -20,10 +20,10 @@
-
+
-
+
@@ -32,44 +32,44 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -90,11 +90,11 @@
-
+
-
+
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 1f7f49c3..1bf15c5d 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -77,4 +77,12 @@ target_link_libraries(robot_wrapper PRIVATE
ccd
fcl
cmvr_es::device_manager
- ${OpenCV_LIBS})
\ No newline at end of file
+ ${OpenCV_LIBS})
+
+
+add_executable(moveL moveL.cpp)
+target_link_libraries(moveL PRIVATE cmvr_es::utils)
+
+add_executable(speedL speedL.cpp)
+target_include_directories(speedL PRIVATE ${GLOG_INCLUDE_DIRS})
+target_link_libraries(speedL PRIVATE cmvr_es::utils ${GLOG_LIBRARIES})
\ No newline at end of file
diff --git a/example/follow_traj_example.cpp b/example/follow_traj_example.cpp
index 6dd8e194..7286c1c9 100644
--- a/example/follow_traj_example.cpp
+++ b/example/follow_traj_example.cpp
@@ -14,7 +14,7 @@
#include
#include "utils/dynamics/robot.h"
-#include "utils/controller/cartesian_controller.h"
+#include "utils/solver/qp_solver.h"
// ---------- CONFIG ---------------------------------------------------------
constexpr int DOF = 14; // robot DOF
diff --git a/example/solve_ik.cpp b/example/solve_ik.cpp
index 8f679656..ca8e51dd 100644
--- a/example/solve_ik.cpp
+++ b/example/solve_ik.cpp
@@ -3,7 +3,7 @@
//
#include "utils/dynamics/robot.h"
-#include "utils/controller/cartesian_controller.h"
+#include "utils/solver/qp_solver.h"
#include
#include
#include
diff --git a/example/wbc_example.cpp b/example/wbc_example.cpp
index 1824b75b..994e5785 100644
--- a/example/wbc_example.cpp
+++ b/example/wbc_example.cpp
@@ -3,7 +3,7 @@
//
#include "utils/dynamics/robot.h"
-#include "utils/controller/cartesian_controller.h"
+#include "utils/solver/qp_solver.h"
constexpr int DOF = 14;
using RobotT = cmvr::dyn::Robot;
diff --git a/include/devices/abstract_robot.h b/include/devices/abstract_robot.h
index 667eeb67..335537df 100644
--- a/include/devices/abstract_robot.h
+++ b/include/devices/abstract_robot.h
@@ -8,7 +8,7 @@
#include "jsoncpp/json/json.h"
#include "abstract_device.h"
-#include "utils/controller/cartesian_controller.h"
+#include "utils/solver/qp_solver.h"
#include "cmvr/msgs/geometry.pb.h"
#include "cmvr/msgs/motor.pb.h"
diff --git a/include/hardware_manager/hardware_factory.h b/include/hardware_manager/hardware_factory.h
new file mode 100644
index 00000000..147f3990
--- /dev/null
+++ b/include/hardware_manager/hardware_factory.h
@@ -0,0 +1,14 @@
+//
+// Created by linbo on 2025/10/21.
+//
+
+#ifndef CMVR_ES_HARDWARE_FACTORY_H
+#define CMVR_ES_HARDWARE_FACTORY_H
+
+
+class hardware_factory
+{
+};
+
+
+#endif //CMVR_ES_HARDWARE_FACTORY_H
\ No newline at end of file
diff --git a/include/hardware_manager/hardware_manager.h b/include/hardware_manager/hardware_manager.h
new file mode 100644
index 00000000..54601a31
--- /dev/null
+++ b/include/hardware_manager/hardware_manager.h
@@ -0,0 +1,14 @@
+//
+// Created by linbo on 2025/10/21.
+//
+
+#ifndef CMVR_ES_HARDWARE_MANAGER_H
+#define CMVR_ES_HARDWARE_MANAGER_H
+
+
+class hardware_manager
+{
+};
+
+
+#endif //CMVR_ES_HARDWARE_MANAGER_H
\ No newline at end of file
diff --git a/include/service/grpc_camera_service.h b/include/service/grpc_service/grpc_camera_service.h
similarity index 98%
rename from include/service/grpc_camera_service.h
rename to include/service/grpc_service/grpc_camera_service.h
index 9fd29510..9687ce2e 100644
--- a/include/service/grpc_camera_service.h
+++ b/include/service/grpc_service/grpc_camera_service.h
@@ -6,7 +6,7 @@
#define GRPC_CAMERA_SERVICE_H
#include "cmvr/api/camera_service.grpc.pb.h"
-#include "../utils/base/grpc_utils.h"
+#include "../../utils/base/grpc_utils.h"
#include "device_manager/device_manager.h"
namespace cmvr::service {
diff --git a/include/service/grpc_dexhand_service.h b/include/service/grpc_service/grpc_dexhand_service.h
similarity index 98%
rename from include/service/grpc_dexhand_service.h
rename to include/service/grpc_service/grpc_dexhand_service.h
index 593d70f5..72074303 100644
--- a/include/service/grpc_dexhand_service.h
+++ b/include/service/grpc_service/grpc_dexhand_service.h
@@ -6,7 +6,7 @@
#define GRPC_DEXHAND_SERVICE_H
#include "cmvr/api/dexhand_service.grpc.pb.h"
-#include "../utils/base/grpc_utils.h"
+#include "../../utils/base/grpc_utils.h"
#include "device_manager/device_manager.h"
namespace cmvr::service {
class gRPCDexHandServiceImpl final: public api::DexHandService::Service {
diff --git a/include/service/grpc_head_service.h b/include/service/grpc_service/grpc_head_service.h
similarity index 100%
rename from include/service/grpc_head_service.h
rename to include/service/grpc_service/grpc_head_service.h
diff --git a/include/service/grpc_hlc_service.h b/include/service/grpc_service/grpc_hlc_service.h
similarity index 100%
rename from include/service/grpc_hlc_service.h
rename to include/service/grpc_service/grpc_hlc_service.h
diff --git a/include/service/grpc_humanoid_robot_service.h b/include/service/grpc_service/grpc_humanoid_robot_service.h
similarity index 100%
rename from include/service/grpc_humanoid_robot_service.h
rename to include/service/grpc_service/grpc_humanoid_robot_service.h
diff --git a/include/service/grpc_microphone_service.h b/include/service/grpc_service/grpc_microphone_service.h
similarity index 97%
rename from include/service/grpc_microphone_service.h
rename to include/service/grpc_service/grpc_microphone_service.h
index 81c6334a..2c35e36a 100644
--- a/include/service/grpc_microphone_service.h
+++ b/include/service/grpc_service/grpc_microphone_service.h
@@ -7,7 +7,7 @@
#define GRPC_MICROPHONE_SERVICE_H
#include "cmvr/api/microphone_service.grpc.pb.h"
#include "device_manager/device_manager.h"
-#include "../utils/base/grpc_utils.h"
+#include "../../utils/base/grpc_utils.h"
namespace cmvr::service
{
diff --git a/include/service/grpc_speaker_service.h b/include/service/grpc_service/grpc_speaker_service.h
similarity index 97%
rename from include/service/grpc_speaker_service.h
rename to include/service/grpc_service/grpc_speaker_service.h
index 2250bc43..318b2103 100644
--- a/include/service/grpc_speaker_service.h
+++ b/include/service/grpc_service/grpc_speaker_service.h
@@ -7,7 +7,7 @@
#include "cmvr/api/speaker_service.grpc.pb.h"
#include "device_manager/device_manager.h"
-#include "../utils/base/grpc_utils.h"
+#include "../../utils/base/grpc_utils.h"
namespace cmvr::service {
class gRPCSpeakerServiceImpl: public api::SpeakerService::Service {
diff --git a/include/service/grpc_system_service.h b/include/service/grpc_service/grpc_system_service.h
similarity index 96%
rename from include/service/grpc_system_service.h
rename to include/service/grpc_service/grpc_system_service.h
index b612632b..982710f4 100644
--- a/include/service/grpc_system_service.h
+++ b/include/service/grpc_service/grpc_system_service.h
@@ -6,7 +6,7 @@
#define GRPC_SYSTEM_SERVICE_H
#include "cmvr/api/system_service.grpc.pb.h"
-#include "../utils/base/grpc_utils.h"
+#include "../../utils/base/grpc_utils.h"
#include "device_manager/device_manager.h"
namespace cmvr::service
diff --git a/include/http/httpclient.h b/include/service/http_service/httpclient.h
similarity index 100%
rename from include/http/httpclient.h
rename to include/service/http_service/httpclient.h
diff --git a/include/utils/controller/cartesian_controller.h b/include/utils/solver/qp_solver.h
similarity index 100%
rename from include/utils/controller/cartesian_controller.h
rename to include/utils/solver/qp_solver.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a14da40a..02c783a9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,8 +1,8 @@
add_subdirectory(utils)
add_subdirectory(hardware)
+add_subdirectory(hardware_manager)
add_subdirectory(devices)
add_subdirectory(monitor)
add_subdirectory(device_manager)
add_subdirectory(service)
-add_subdirectory(http)
add_subdirectory(controller)
\ No newline at end of file
diff --git a/src/devices/robot/humanoid_robot/humanoid_robot.h b/src/devices/robot/humanoid_robot/humanoid_robot.h
index fa876c1a..f24eaf4a 100644
--- a/src/devices/robot/humanoid_robot/humanoid_robot.h
+++ b/src/devices/robot/humanoid_robot/humanoid_robot.h
@@ -6,7 +6,7 @@
#define CMVR_ES_HUMANOID_ROBOT_H
#include "devices/abstract_robot.h"
-#include "utils/controller/cartesian_controller.h"
+#include "utils/solver/qp_solver.h"
#include "utils/base/os.h"
#include "utils/base/timer.h"
#include "utils/base/ring_buffer.h"
diff --git a/src/devices/robot/humanoid_robot/humanoid_robot_test.cpp b/src/devices/robot/humanoid_robot/humanoid_robot_test.cpp
index 8dd19c57..83c934ed 100644
--- a/src/devices/robot/humanoid_robot/humanoid_robot_test.cpp
+++ b/src/devices/robot/humanoid_robot/humanoid_robot_test.cpp
@@ -55,7 +55,7 @@ TEST(HumanoidRobotTest,GetState) {
TEST(HumanoidRobotTest,MyRobotTest) {
- std::string config_path = "/home/lgv/cmvr/cmvr-es/config/cabin_robot.xml";
+ std::string config_path = "/home/linbo/newProject/cmvr-es/config/cabin_robot.xml";
const XmlNode config(config_path);
if (!config.hasChild("DeviceManager")){
@@ -75,29 +75,24 @@ TEST(HumanoidRobotTest,MyRobotTest) {
// robot->calibrateZeroQ("R_WRIST_R");
//
cmd = {
- {"L_SHOULDER_P", 0.0},
- {"L_SHOULDER_R", 0.0},
- {"L_SHOULDER_Y", 0.0},
- {"L_ELBOW_R", 0.0},
- {"L_WRIST_P", 0.0},
- {"L_WRIST_Y", 0.0},
- {"L_WRIST_R", 0.0},
+ // {"L_SHOULDER_P", 0.0},
+ // {"L_SHOULDER_R", 0.0},
+ // {"L_SHOULDER_Y", 0.0},
+ // {"L_ELBOW_R", 0.0},
+ // {"L_WRIST_P", 0.0},
+ // {"L_WRIST_Y", 0.2},
+ // {"L_WRIST_R", 0.0},
//
// {"R_SHOULDER_P", 0.0}
// {"R_SHOULDER_R", 0.0},
// {"R_SHOULDER_Y", 0.0},
// {"R_ELBOW_R", 0.0},
// {"R_WRIST_P", 0.0},
- // {"R_WRIST_Y", 0.0},
- // {"R_WRIST_R", 0.0},
+ {"R_WRIST_Y", 0.0},
+ {"R_WRIST_R", 0.0},
// {"WAIST_P" ,0.0},
// {"WAIST_Y" ,0.0},
-
- {"HEAD_P",0.0},
- {"HEAD_Y",0.0},
- {"HEAD_R",0.0},
-
};
robot->moveJ(cmd,0.8);
@@ -545,7 +540,7 @@ TEST(HumanoidRobotTest, SpeedJTest) {
auto robot = dmgr.getDevice("hc01");
// 设置目标关节和相关参数
- std::string joint_name = "L_WRIST_R"; // 目标关节名
+ std::string joint_name = "R_WRIST_R"; // 目标关节名
RobotJointIndexDirection dir = RobotJointIndexDirection::Y_NEGATIVE; // 方向
double vel = -0.1; // 速度 (rad/s)
double acc = 1; // 加速度 (rad/s²)
@@ -553,6 +548,8 @@ TEST(HumanoidRobotTest, SpeedJTest) {
try {
// 调用 speedJ 函数进行关节运动
robot->speedJ(joint_name, dir, vel, acc);
+ std::this_thread::sleep_for(std::chrono::seconds(3));
+ robot->speedJ(joint_name, dir, 0, acc);
} catch (const std::exception& e) {
LOG(ERROR) << "speedJ test failed: " << e.what();
diff --git a/src/hardware_manager/CMakeLists.txt b/src/hardware_manager/CMakeLists.txt
new file mode 100644
index 00000000..602393aa
--- /dev/null
+++ b/src/hardware_manager/CMakeLists.txt
@@ -0,0 +1,11 @@
+add_library(hardware_manager SHARED
+ hardware_factory.cpp
+ hardware_manager.cpp
+
+)
+
+target_include_directories(hardware_manager PUBLIC
+ ${PROJECT_SOURCE_DIR}/include
+)
+
+add_library(cmvr_es::hardware_manager ALIAS hardware_manager)
\ No newline at end of file
diff --git a/src/hardware_manager/hardware_factory.cpp b/src/hardware_manager/hardware_factory.cpp
new file mode 100644
index 00000000..fdc05999
--- /dev/null
+++ b/src/hardware_manager/hardware_factory.cpp
@@ -0,0 +1,5 @@
+//
+// Created by linbo on 2025/10/21.
+//
+
+#include "hardware_manager/hardware_factory.h"
diff --git a/src/hardware_manager/hardware_manager.cpp b/src/hardware_manager/hardware_manager.cpp
new file mode 100644
index 00000000..ca34a8c1
--- /dev/null
+++ b/src/hardware_manager/hardware_manager.cpp
@@ -0,0 +1,5 @@
+//
+// Created by linbo on 2025/10/21.
+//
+
+#include "hardware_manager/hardware_manager.h"
diff --git a/src/main.cpp b/src/main.cpp
index 4aff85a2..831d6dda 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -9,17 +9,17 @@
#include
#include "device_manager/device_manager.h"
#include "monitor/monitor_manager.h"
-#include "service/grpc_camera_service.h"
-#include "service/grpc_system_service.h"
-#include "service/grpc_speaker_service.h"
-#include "service/grpc_microphone_service.h"
-#include "service/grpc_dexhand_service.h"
+#include "service/grpc_service/grpc_camera_service.h"
+#include "service/grpc_service/grpc_system_service.h"
+#include "service/grpc_service/grpc_speaker_service.h"
+#include "service/grpc_service/grpc_microphone_service.h"
+#include "service/grpc_service/grpc_dexhand_service.h"
#include "utils/base/logger.h"
-#include "service/grpc_head_service.h"
-#include "service/grpc_humanoid_robot_service.h"
-#include "service/grpc_hlc_service.h"
+#include "service/grpc_service/grpc_head_service.h"
+#include "service/grpc_service/grpc_humanoid_robot_service.h"
+#include "service/grpc_service/grpc_hlc_service.h"
-#include "http/httpclient.h"
+#include "service/http_service/httpclient.h"
#include "json/json.h"
void runServer(const XmlNode &cfg){
diff --git a/src/service/CMakeLists.txt b/src/service/CMakeLists.txt
index c7abb985..78a4241d 100644
--- a/src/service/CMakeLists.txt
+++ b/src/service/CMakeLists.txt
@@ -1,87 +1,2 @@
-add_library(service
- grpc_camera_service.cpp
- grpc_system_service.cpp
- grpc_speaker_service.cpp
- grpc_microphone_service.cpp
- grpc_head_service.cpp
- grpc_dexhand_service.cpp
- grpc_humanoid_robot_service.cpp
- grpc_hlc_service.cpp
-)
-
-target_include_directories(service PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-
-target_link_libraries(service PRIVATE
- proto-objects
- gRPC::grpc++
- protobuf::libprotobuf
- cmvr_es::device_manager
- cmvr_es::ctrl::controller
-)
-
-add_library(cmvr_es::service ALIAS service)
-
-
-# --------------------------------------------------------
-# Unit test
-# --------------------------------------------------------
-find_package(glog REQUIRED)
-find_package(protobuf REQUIRED)
-find_package(PkgConfig REQUIRED)
-find_package(fcl REQUIRED)
-find_package(OpenCV REQUIRED)
-
-include_directories(
- ${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/include
-)
-
-link_directories(
- ${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/lib
-)
-
-
-add_executable(grpc_humanoid_robot_client_test
- ${CMAKE_CURRENT_SOURCE_DIR}/grpc_humanoid_robot_client_test.cpp
-)
-
-
-target_link_libraries(grpc_humanoid_robot_client_test
- PRIVATE
- cmvr_es::device::canbus
- cmvr_es::device::ti5motor
- cmvr_es::device::humanoid_robot
- gtest
- gtest_main
- pthread
- glog::glog
- proto-objects
- ccd
- fcl
- cmvr_es::device_manager
- ${OpenCV_LIBS}
-)
-
-
-
-
-add_executable(grpc_hlc_client_test
- ${CMAKE_CURRENT_SOURCE_DIR}/grpc_hlc_client_test.cpp
-)
-
-
-target_link_libraries(grpc_hlc_client_test
- PRIVATE
- cmvr_es::device::canbus
- cmvr_es::device::ti5motor
- cmvr_es::device::humanoid_robot
- gtest
- gtest_main
- pthread
- glog::glog
- proto-objects
- ccd
- fcl
- cmvr_es::device_manager
- ${OpenCV_LIBS}
-)
-
+add_subdirectory(grpc_service)
+add_subdirectory(http_service)
\ No newline at end of file
diff --git a/src/service/grpc_service/CMakeLists.txt b/src/service/grpc_service/CMakeLists.txt
new file mode 100644
index 00000000..94f44e99
--- /dev/null
+++ b/src/service/grpc_service/CMakeLists.txt
@@ -0,0 +1,87 @@
+add_library(service
+ grpc_camera_service.cpp
+ grpc_system_service.cpp
+ grpc_speaker_service.cpp
+ grpc_microphone_service.cpp
+ grpc_head_service.cpp
+ grpc_dexhand_service.cpp
+ grpc_humanoid_robot_service.cpp
+ grpc_hlc_service.cpp
+)
+
+target_include_directories(service PUBLIC ${PROJECT_SOURCE_DIR}/include)
+
+target_link_libraries(service PRIVATE
+ proto-objects
+ gRPC::grpc++
+ protobuf::libprotobuf
+ cmvr_es::device_manager
+ cmvr_es::ctrl::controller
+)
+
+add_library(cmvr_es::service ALIAS service)
+
+
+# --------------------------------------------------------
+# Unit test
+# --------------------------------------------------------
+find_package(glog REQUIRED)
+find_package(protobuf REQUIRED)
+find_package(PkgConfig REQUIRED)
+find_package(fcl REQUIRED)
+find_package(OpenCV REQUIRED)
+
+include_directories(
+ ${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/include
+)
+
+link_directories(
+ ${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/lib
+)
+
+
+add_executable(grpc_humanoid_robot_client_test
+ grpc_humanoid_robot_client_test.cpp
+)
+
+
+target_link_libraries(grpc_humanoid_robot_client_test
+ PRIVATE
+ cmvr_es::device::canbus
+ cmvr_es::device::ti5motor
+ cmvr_es::device::humanoid_robot
+ gtest
+ gtest_main
+ pthread
+ glog::glog
+ proto-objects
+ ccd
+ fcl
+ cmvr_es::device_manager
+ ${OpenCV_LIBS}
+)
+
+
+
+
+add_executable(grpc_hlc_client_test
+ grpc_hlc_client_test.cpp
+)
+
+
+target_link_libraries(grpc_hlc_client_test
+ PRIVATE
+ cmvr_es::device::canbus
+ cmvr_es::device::ti5motor
+ cmvr_es::device::humanoid_robot
+ gtest
+ gtest_main
+ pthread
+ glog::glog
+ proto-objects
+ ccd
+ fcl
+ cmvr_es::device_manager
+ ${OpenCV_LIBS}
+)
+
diff --git a/src/service/grpc_camera_service.cpp b/src/service/grpc_service/grpc_camera_service.cpp
similarity index 99%
rename from src/service/grpc_camera_service.cpp
rename to src/service/grpc_service/grpc_camera_service.cpp
index 76d49a88..e8448a56 100644
--- a/src/service/grpc_camera_service.cpp
+++ b/src/service/grpc_service/grpc_camera_service.cpp
@@ -2,7 +2,7 @@
// Created by xtkuang on 2025/6/1.
//
-#include "service/grpc_camera_service.h"
+#include "../../../include/service/grpc_service/grpc_camera_service.h"
using namespace std;
using namespace cmvr::service;
diff --git a/src/service/grpc_dexhand_service.cpp b/src/service/grpc_service/grpc_dexhand_service.cpp
similarity index 99%
rename from src/service/grpc_dexhand_service.cpp
rename to src/service/grpc_service/grpc_dexhand_service.cpp
index b5305645..8dd52afd 100644
--- a/src/service/grpc_dexhand_service.cpp
+++ b/src/service/grpc_service/grpc_dexhand_service.cpp
@@ -2,7 +2,7 @@
// Created by linbo on 2025/7/3.
//
-#include "service/grpc_dexhand_service.h"
+#include "../../../include/service/grpc_service/grpc_dexhand_service.h"
#include
#include
using namespace std;
diff --git a/src/service/grpc_head_service.cpp b/src/service/grpc_service/grpc_head_service.cpp
similarity index 99%
rename from src/service/grpc_head_service.cpp
rename to src/service/grpc_service/grpc_head_service.cpp
index 9e7c9ecb..d95bb553 100644
--- a/src/service/grpc_head_service.cpp
+++ b/src/service/grpc_service/grpc_head_service.cpp
@@ -1,4 +1,4 @@
-#include "service/grpc_head_service.h"
+#include "../../../include/service/grpc_service/grpc_head_service.h"
#include "cmvr/api/biohead_service.grpc.pb.h"
#include "device_manager/device_manager.h"
diff --git a/src/service/grpc_hlc_client_test.cpp b/src/service/grpc_service/grpc_hlc_client_test.cpp
similarity index 95%
rename from src/service/grpc_hlc_client_test.cpp
rename to src/service/grpc_service/grpc_hlc_client_test.cpp
index 4fb32bd6..9024f292 100644
--- a/src/service/grpc_hlc_client_test.cpp
+++ b/src/service/grpc_service/grpc_hlc_client_test.cpp
@@ -4,7 +4,7 @@
#include "gtest/gtest.h"
#include
#include
-#include "service/grpc_hlc_service.h"
+#include "../../../include/service/grpc_service/grpc_hlc_service.h"
#include "google/protobuf/timestamp.pb.h"
#include
#include
diff --git a/src/service/grpc_hlc_service.cpp b/src/service/grpc_service/grpc_hlc_service.cpp
similarity index 95%
rename from src/service/grpc_hlc_service.cpp
rename to src/service/grpc_service/grpc_hlc_service.cpp
index 43c9067a..10c83b38 100644
--- a/src/service/grpc_hlc_service.cpp
+++ b/src/service/grpc_service/grpc_hlc_service.cpp
@@ -3,7 +3,7 @@
//
-#include "service/grpc_hlc_service.h"
+#include "../../../include/service/grpc_service/grpc_hlc_service.h"
#include
#include "robot/humanoid_robot/humanoid_robot.h"
#include "controller/touch_controller.h"
diff --git a/src/service/grpc_humanoid_robot_client_test.cpp b/src/service/grpc_service/grpc_humanoid_robot_client_test.cpp
similarity index 98%
rename from src/service/grpc_humanoid_robot_client_test.cpp
rename to src/service/grpc_service/grpc_humanoid_robot_client_test.cpp
index ba6944f0..3712bc64 100644
--- a/src/service/grpc_humanoid_robot_client_test.cpp
+++ b/src/service/grpc_service/grpc_humanoid_robot_client_test.cpp
@@ -5,7 +5,7 @@
#include "gtest/gtest.h"
#include
#include
-#include "service/grpc_humanoid_robot_service.h"
+#include "../../../include/service/grpc_service/grpc_humanoid_robot_service.h"
#include "google/protobuf/timestamp.pb.h"
#include
#include
diff --git a/src/service/grpc_humanoid_robot_service.cpp b/src/service/grpc_service/grpc_humanoid_robot_service.cpp
similarity index 99%
rename from src/service/grpc_humanoid_robot_service.cpp
rename to src/service/grpc_service/grpc_humanoid_robot_service.cpp
index 036609f4..68dbfc13 100644
--- a/src/service/grpc_humanoid_robot_service.cpp
+++ b/src/service/grpc_service/grpc_humanoid_robot_service.cpp
@@ -3,7 +3,7 @@
//
-#include "service/grpc_humanoid_robot_service.h"
+#include "../../../include/service/grpc_service/grpc_humanoid_robot_service.h"
#include
#include "cmvr/api/humanoid_robot_command.pb.h"
diff --git a/src/service/grpc_microphone_service.cpp b/src/service/grpc_service/grpc_microphone_service.cpp
similarity index 98%
rename from src/service/grpc_microphone_service.cpp
rename to src/service/grpc_service/grpc_microphone_service.cpp
index 87895473..f4f80576 100644
--- a/src/service/grpc_microphone_service.cpp
+++ b/src/service/grpc_service/grpc_microphone_service.cpp
@@ -3,7 +3,7 @@
// Created by xtkuang on 2025/6/13.
//
-#include "service/grpc_microphone_service.h"
+#include "../../../include/service/grpc_service/grpc_microphone_service.h"
using namespace std;
using namespace cmvr::device;
using namespace cmvr::service;
diff --git a/src/service/grpc_speaker_service.cpp b/src/service/grpc_service/grpc_speaker_service.cpp
similarity index 98%
rename from src/service/grpc_speaker_service.cpp
rename to src/service/grpc_service/grpc_speaker_service.cpp
index 41aabc65..8a433e57 100644
--- a/src/service/grpc_speaker_service.cpp
+++ b/src/service/grpc_service/grpc_speaker_service.cpp
@@ -2,7 +2,7 @@
// Created by xtkuang on 2025/6/10.
//
-#include "service/grpc_speaker_service.h"
+#include "../../../include/service/grpc_service/grpc_speaker_service.h"
using namespace std;
using namespace cmvr::device;
diff --git a/src/service/grpc_system_service.cpp b/src/service/grpc_service/grpc_system_service.cpp
similarity index 99%
rename from src/service/grpc_system_service.cpp
rename to src/service/grpc_service/grpc_system_service.cpp
index 5c83dfa8..ef55c72c 100644
--- a/src/service/grpc_system_service.cpp
+++ b/src/service/grpc_service/grpc_system_service.cpp
@@ -2,7 +2,7 @@
// Created by xtkuang on 2025/6/6.
//
-#include "service/grpc_system_service.h"
+#include "../../../include/service/grpc_service/grpc_system_service.h"
using namespace cmvr::device;
using namespace cmvr::device;
diff --git a/src/http/CMakeLists.txt b/src/service/http_service/CMakeLists.txt
similarity index 100%
rename from src/http/CMakeLists.txt
rename to src/service/http_service/CMakeLists.txt
diff --git a/src/http/httpclient.cpp b/src/service/http_service/httpclient.cpp
similarity index 99%
rename from src/http/httpclient.cpp
rename to src/service/http_service/httpclient.cpp
index 5941fcfe..70a5ba2c 100644
--- a/src/http/httpclient.cpp
+++ b/src/service/http_service/httpclient.cpp
@@ -2,7 +2,7 @@
// Created by linbo on 2025/6/24.
//
-#include "../../include/http/httpclient.h"
+#include "../../../include/service/http_service/httpclient.h"
#include
#include
#include
diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt
index 85a60678..1063203d 100644
--- a/src/utils/CMakeLists.txt
+++ b/src/utils/CMakeLists.txt
@@ -19,7 +19,7 @@ add_library(utils STATIC
math/se2.cpp
math/se3.cpp
math/so3.cpp
- controller/cartesian_controller.cpp
+ solver/qp_solver.cpp
)
target_include_directories(utils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/src/utils/controller/cartesian_controller.cpp b/src/utils/solver/qp_solver.cpp
similarity index 99%
rename from src/utils/controller/cartesian_controller.cpp
rename to src/utils/solver/qp_solver.cpp
index b5a4a479..e669c8c4 100644
--- a/src/utils/controller/cartesian_controller.cpp
+++ b/src/utils/solver/qp_solver.cpp
@@ -1,4 +1,4 @@
-#include "utils/controller/cartesian_controller.h"
+#include "utils/solver/qp_solver.h"
using namespace cmvr::ctrl;