From d3d23a3711cf11f69de81a71b9b22abc0e09f111 Mon Sep 17 00:00:00 2001 From: YoheiHayamizu Date: Thu, 9 Apr 2026 22:25:38 -0400 Subject: [PATCH 1/2] added msgs and srvs missing --- cyclonedds_ws/src/unitree/unitree_api/CMakeLists.txt | 1 + cyclonedds_ws/src/unitree/unitree_api/srv/Generic.srv | 3 +++ cyclonedds_ws/src/unitree/unitree_go/CMakeLists.txt | 1 + .../src/unitree/unitree_go/msg/ConfigChangeStatus.msg | 2 ++ cyclonedds_ws/src/unitree/unitree_hg/CMakeLists.txt | 1 + cyclonedds_ws/src/unitree/unitree_hg/msg/SportModeState.msg | 4 ++++ example/src/include/common/ut_errror.hpp | 2 +- 7 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 cyclonedds_ws/src/unitree/unitree_api/srv/Generic.srv create mode 100644 cyclonedds_ws/src/unitree/unitree_go/msg/ConfigChangeStatus.msg create mode 100644 cyclonedds_ws/src/unitree/unitree_hg/msg/SportModeState.msg diff --git a/cyclonedds_ws/src/unitree/unitree_api/CMakeLists.txt b/cyclonedds_ws/src/unitree/unitree_api/CMakeLists.txt index 4e7c4b9d..d8e99eb6 100755 --- a/cyclonedds_ws/src/unitree/unitree_api/CMakeLists.txt +++ b/cyclonedds_ws/src/unitree/unitree_api/CMakeLists.txt @@ -34,6 +34,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/Response.msg" "msg/ResponseHeader.msg" "msg/ResponseStatus.msg" + "srv/Generic.srv" DEPENDENCIES geometry_msgs ) diff --git a/cyclonedds_ws/src/unitree/unitree_api/srv/Generic.srv b/cyclonedds_ws/src/unitree/unitree_api/srv/Generic.srv new file mode 100644 index 00000000..32ac1ce1 --- /dev/null +++ b/cyclonedds_ws/src/unitree/unitree_api/srv/Generic.srv @@ -0,0 +1,3 @@ +Request request +--- +Response response diff --git a/cyclonedds_ws/src/unitree/unitree_go/CMakeLists.txt b/cyclonedds_ws/src/unitree/unitree_go/CMakeLists.txt index 7ab5f1cd..739966a3 100755 --- a/cyclonedds_ws/src/unitree/unitree_go/CMakeLists.txt +++ b/cyclonedds_ws/src/unitree/unitree_go/CMakeLists.txt @@ -29,6 +29,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/AudioData.msg" "msg/BmsCmd.msg" "msg/BmsState.msg" + "msg/ConfigChangeStatus.msg" "msg/Error.msg" "msg/Go2FrontVideoData.msg" "msg/HeightMap.msg" diff --git a/cyclonedds_ws/src/unitree/unitree_go/msg/ConfigChangeStatus.msg b/cyclonedds_ws/src/unitree/unitree_go/msg/ConfigChangeStatus.msg new file mode 100644 index 00000000..38f77ba8 --- /dev/null +++ b/cyclonedds_ws/src/unitree/unitree_go/msg/ConfigChangeStatus.msg @@ -0,0 +1,2 @@ +string name +string content \ No newline at end of file diff --git a/cyclonedds_ws/src/unitree/unitree_hg/CMakeLists.txt b/cyclonedds_ws/src/unitree/unitree_hg/CMakeLists.txt index b7e1d552..9ff427ba 100755 --- a/cyclonedds_ws/src/unitree/unitree_hg/CMakeLists.txt +++ b/cyclonedds_ws/src/unitree/unitree_hg/CMakeLists.txt @@ -37,6 +37,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/MotorCmd.msg" "msg/MotorState.msg" "msg/PressSensorState.msg" + "msg/SportModeState.msg" DEPENDENCIES geometry_msgs ) diff --git a/cyclonedds_ws/src/unitree/unitree_hg/msg/SportModeState.msg b/cyclonedds_ws/src/unitree/unitree_hg/msg/SportModeState.msg new file mode 100644 index 00000000..9529d8a2 --- /dev/null +++ b/cyclonedds_ws/src/unitree/unitree_hg/msg/SportModeState.msg @@ -0,0 +1,4 @@ +uint32 fsm_id +uint32 fsm_mode +uint32 task_id +float32 task_time \ No newline at end of file diff --git a/example/src/include/common/ut_errror.hpp b/example/src/include/common/ut_errror.hpp index 9695dc24..573f3f92 100644 --- a/example/src/include/common/ut_errror.hpp +++ b/example/src/include/common/ut_errror.hpp @@ -13,4 +13,4 @@ UT_DECL_ERR(UT_ROBOT_TASK_UNKNOWN_ERROR, -2, "task unknown error.") #define UT_PRINT_ERR(code, error) \ if ((code) == (error)) { \ RCLCPP_ERROR(this->get_logger(), "%s", error##_DESC); \ - } \ No newline at end of file + } From 67257f55b30fc33471c72ae63d086cbd08014875 Mon Sep 17 00:00:00 2001 From: YoheiHayamizu Date: Tue, 14 Apr 2026 18:13:41 -0400 Subject: [PATCH 2/2] feat: add unitree_hg_doubleimu ROS 2 message package Defines DoubleIMUState.msg for dual-IMU data with fields: - quaternion (float32[4]) - gyroscope (float32[3]) - accelerometer (float32[3]) - rpy (float32[3]) - temperature (int16) - tick (uint32) Includes CMakeLists.txt with rosidl_generate_interfaces and DDS IDL generation, and package.xml with geometry_msgs dependency. --- .../unitree_hg_doubleimu/CMakeLists.txt | 45 +++++++++++++++++++ .../msg/DoubleIMUState.msg | 6 +++ .../unitree/unitree_hg_doubleimu/package.xml | 23 ++++++++++ 3 files changed, 74 insertions(+) create mode 100644 cyclonedds_ws/src/unitree/unitree_hg_doubleimu/CMakeLists.txt create mode 100644 cyclonedds_ws/src/unitree/unitree_hg_doubleimu/msg/DoubleIMUState.msg create mode 100644 cyclonedds_ws/src/unitree/unitree_hg_doubleimu/package.xml diff --git a/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/CMakeLists.txt b/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/CMakeLists.txt new file mode 100644 index 00000000..f73cb46f --- /dev/null +++ b/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.8) +project(unitree_hg_doubleimu) + +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + add_compile_options(-Wall -Wextra -Wpedantic) +endif() + +# find dependencies +find_package(ament_cmake REQUIRED) +# uncomment the following section in order to fill in +# further dependencies manually. +# find_package( REQUIRED) +find_package(geometry_msgs REQUIRED) +find_package(rosidl_default_generators REQUIRED) +find_package(rosidl_generator_dds_idl REQUIRED) + +rosidl_generate_interfaces(${PROJECT_NAME} + "msg/DoubleIMUState.msg" + DEPENDENCIES geometry_msgs +) + +rosidl_generate_dds_interfaces( + ${rosidl_generate_interfaces_TARGET}__dds_connext_idl + IDL_TUPLES ${rosidl_generate_interfaces_IDL_TUPLES} + OUTPUT_SUBFOLDERS "dds_connext" +) +add_dependencies( + ${PROJECT_NAME} + ${PROJECT_NAME}__dds_connext_idl +) + + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + # the following line skips the linter which checks for copyrights + # comment the line when a copyright and license is added to all source files + set(ament_cmake_copyright_FOUND TRUE) + # the following line skips cpplint (only works in a git repo) + # comment the line when this package is in a git repo and when + # a copyright and license is added to all source files + set(ament_cmake_cpplint_FOUND TRUE) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package() diff --git a/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/msg/DoubleIMUState.msg b/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/msg/DoubleIMUState.msg new file mode 100644 index 00000000..dfd71905 --- /dev/null +++ b/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/msg/DoubleIMUState.msg @@ -0,0 +1,6 @@ +float32[4] quaternion +float32[3] gyroscope +float32[3] accelerometer +float32[3] rpy +int16 temperature +uint32 tick \ No newline at end of file diff --git a/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/package.xml b/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/package.xml new file mode 100644 index 00000000..dbe6cdf2 --- /dev/null +++ b/cyclonedds_ws/src/unitree/unitree_hg_doubleimu/package.xml @@ -0,0 +1,23 @@ + + + + unitree_hg_doubleimu + 0.0.0 + TODO: Package description + root + BSD 3-Clause License + + rosidl_default_generators + rosidl_default_runtime + rosidl_interface_packages + ament_cmake + + geometry_msgs + + ament_lint_auto + ament_lint_common + + + ament_cmake + +