{"id":346589,"date":"2024-12-03T18:56:20","date_gmt":"2024-12-03T09:56:20","guid":{"rendered":"https:\/\/techshare.co.jp\/faq\/?p=346589"},"modified":"2025-07-28T18:00:47","modified_gmt":"2025-07-28T09:00:47","slug":"unitree-go_cmd_vel_control","status":"publish","type":"post","link":"https:\/\/techshare.co.jp\/faq\/unitree\/unitree-go_cmd_vel_control.html","title":{"rendered":"\u3010Unitree Go2\u3011\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089Go2\u3092\u64cd\u4f5c\u3059\u308b\uff12\u6b21\u958b\u767a\u65b9\u6cd5"},"content":{"rendered":"<h3>\u521d\u3081\u306b<\/h3>\n<hr \/>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001unitree_ros2\u3092\u7528\u3044\u3066\u3001Go2\u3092\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u64cd\u4f5c\u3059\u308b\uff12\u6b21\u958b\u767a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3054\u6848\u5185\u3057\u307e\u3059\u3002<\/p>\n<p>\u203b\u6700\u7d42\u66f4\u65b0\u65e5\uff1a25\/07\/24<\/p>\n<p>&nbsp;<\/p>\n<h3>\u74b0\u5883<\/h3>\n<hr \/>\n<p>\u74b0\u5883\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u3092\u60f3\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u6a5f\u7a2e: Go2 <strong>R&amp;D(Edu), R&amp;D+(Edu+)<\/strong>\uff08AIR\/PRO\u3067\u306f\u306a\u3044\u3082\u306e\uff09<\/li>\n<li>Docking Station or \u5916\u90e8PC\uff1aubuntu20\/22, ROS2 foxy\/humble<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>\uff11\uff0e\u74b0\u5883\u8a2d\u5b9a<\/h3>\n<hr \/>\n<p><a href=\"https:\/\/techshare.co.jp\/faq\/unitree\/unitree-go2_pc_lan.html\">\u3010Unitree Go2\u3011SDK or ROS\u3092\u4f7f\u3046\u65b9\u6cd5<\/a><\/p>\n<p>\u3092\u53c2\u8003\u306b\u3001unitree_ros2\u306e\u74b0\u5883\u69cb\u7bc9\u304c\u5b8c\u4e86\u3057\u3066\u3044\u308b\u3082\u306e\u3068\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\uff12\uff0e\u958b\u767a\u306b\u5fc5\u8981\u306a\u53c2\u8003\u60c5\u5831<\/h3>\n<hr \/>\n<ul>\n<li>\n    \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9:<a href=\"https:\/\/github.com\/unitreerobotics\/unitree_ros2\/blob\/master\/example\/src\/src\/sport_mode_ctrl.cpp\"><br \/>\n      sport_mode_ctrl.cpp &#8211; unitree_ros2 \/ github.com<br \/>\n    <\/a>\n  <\/li>\n<li>\n    sport_client\u4e00\u89a7:<a href=\"https:\/\/github.com\/unitreerobotics\/unitree_ros2\/blob\/master\/example\/src\/include\/common\/ros2_sport_client.h\"><br \/>\n      ros2_sport_client.h &#8211; unitree_ros2 \/ github.com<br \/>\n    <\/a>\n  <\/li>\n<li>\n    \u516c\u5f0f\u958b\u767a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8:<a href=\"https:\/\/support.unitree.com\/home\/en\/developer\/sports_services\"><br \/>\n      Sports Services Interface &#8211; Go2 SDK Development Guide<br \/>\n    <\/a>\n  <\/li>\n<\/ul>\n<p>\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u305f\u3060\u3057\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\u3001TrajectoryFollow\u306e\u7528\u6cd5\u306b\u306a\u308a\u3001\u4eca\u56de\u4f7f\u7528\u3057\u305f\u3044Move\u95a2\u6570\u306f\u4f7f\u3063\u3066\u304a\u308a\u307e\u305b\u3093\u3002<\/p>\n<p><strong>ROS2\u306b\u3088\u308b\u5236\u5fa1\u6cd5<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/techshare.co.jp\/faq\/wp-content\/uploads\/2025\/07\/go2_ros2_highlevel.png\" alt=\"\" width=\"100%\" \/><\/p>\n<p><strong>\u672c\u8a18\u4e8b\u306e\u30b5\u30f3\u30d7\u30eb\u306e\u69cb\u9020<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/techshare.co.jp\/faq\/wp-content\/uploads\/2025\/07\/go2_cmd_vel.png\" alt=\"\" width=\"100%\" \/><\/p>\n<p>\u203b \u53c2\u8003\u8cc7\u6599: <a href=\"https:\/\/techshare.co.jp\/faq\/wp-content\/uploads\/2024\/12\/0aec1fbc3cccd079eda208980c1db917.pdf\">Robot Innovation Week 2024 \u767a\u8868\u30b9\u30e9\u30a4\u30c9<\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>\uff13\uff0e\u5b9f\u88c5\u4f8b\uff1acmd_vel_control<\/h3>\n<hr \/>\n<p><a href=\"https:\/\/github.com\/TechShare-inc\/go2_unitree_ros2\/tree\/cmd_vel_control\">\u4eca\u56de\u4f5c\u6210\u3057\u305f\u3082\u306e<\/a><\/p>\n<div class=\"hcb_wrap\">\n<pre><code>$ git clone -b cmd_vel_control https:\/\/github.com\/TechShare-inc\/go2_unitree_ros2.git ts_example_ws<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/github.com\/TechShare-inc\/go2_unitree_ros2\/blob\/cmd_vel_control\/src\/src\/cmd_vel_control.cpp\">cmd_vel_control.cpp<\/a>\u304c\u65b0\u305f\u306b\u4f5c\u6210\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u3053\u306e\u30b3\u30fc\u30c9\u306f\u3001ROS2\u30ce\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\/cmd_vel\u30c8\u30d4\u30c3\u30af\u3092\u8cfc\u8aad\u3057\u3001Go2\u30ed\u30dc\u30c3\u30c8\u306e\u52d5\u4f5c\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002\u7279\u306b\u3001cmdVelCallback\u95a2\u6570\u3067\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u64cd\u4f5c\u304b\u3089\u5f97\u305f\u901f\u5ea6\u6307\u4ee4\uff08\/cmd_vel\uff09\u3092Go2\u30ed\u30dc\u30c3\u30c8\u306e\u5236\u5fa1\u30b3\u30de\u30f3\u30c9\u306b\u5909\u63db\u3057\u3066\u3044\u307e\u3059<br \/>\n\u5909\u63db\u306e\u969b\u306b\u306f\u3001<code>sport_client_.Move<\/code>\u3068\u3044\u3046\u95a2\u6570\u304c\u7528\u610f\u3055\u308c\u3066\u304a\u308a\u3001\u3053\u308c\u3092\u7528\u3044\u308b\u3060\u3051\u3067UnitreeROS2\u306e\u5f62\u5f0f\u3067\u30ed\u30dc\u30c3\u30c8\u306b\u6307\u4ee4\u3092\u4e0e\u3048\u308b\u30c8\u30d4\u30c3\u30af\u306e\u5f62\u5f0f\u306b\u5909\u63db\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/TechShare-inc\/go2_unitree_ros2\/blob\/cmd_vel_control\/src\/src\/cmd_vel_control.cpp\">cmd_vel_control.cpp<\/a>\uff1a<\/p>\n<div class=\"hcb_wrap\">\n<pre><code class=\"language-cpp\">#include &lt;iostream&gt;\r\n#include \"rclcpp\/rclcpp.hpp\"\r\n#include \"unitree_api\/msg\/request.hpp\"\r\n#include \"geometry_msgs\/msg\/twist.hpp\"\r\n#include \"common\/ros2_sport_client.h\"\r\n\r\nusing namespace std::placeholders;\r\n\r\nclass CmdVelToSportRequest : public rclcpp::Node\r\n{\r\npublic:\r\n    CmdVelToSportRequest() : Node(\"cmd_vel_to_sport_request\")\r\n    {\r\n        \/\/ \u30b3\u30de\u30f3\u30c9\u901f\u5ea6\u30c8\u30d4\u30c3\u30af\u3092\u8cfc\u8aad\r\n        cmd_vel_subscriber_ = this-&gt;create_subscription&lt;geometry_msgs::msg::Twist&gt;(\r\n            \"\/cmd_vel\", 10, std::bind(&amp;CmdVelToSportRequest::cmdVelCallback, this, _1));\r\n\r\n        \/\/ \u30ea\u30af\u30a8\u30b9\u30c8\u9001\u4fe1\u7528\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\r\n        request_publisher_ = this-&gt;create_publisher&lt;unitree_api::msg::Request&gt;(\"\/api\/sport\/request\", 10);\r\n    }\r\n\r\nprivate:\r\n    void cmdVelCallback(const geometry_msgs::msg::Twist::SharedPtr cmd_vel_msg)\r\n    {\r\n        \/\/ \u53d7\u3051\u53d6\u3063\u305f\/cmd_vel\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\r\n        RCLCPP_INFO(this-&gt;get_logger(), \"Received cmd_vel: LinearX=%f, LinearY=%f, AngularZ=%f\",\r\n                    cmd_vel_msg-&gt;linear.x, cmd_vel_msg-&gt;linear.y, cmd_vel_msg-&gt;angular.z);\r\n\r\n        \/\/ \/cmd_vel\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30b9\u30dd\u30fc\u30c4\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u5909\u63db\r\n        unitree_api::msg::Request req;\r\n        sport_client_.Move(req, cmd_vel_msg-&gt;linear.x, cmd_vel_msg-&gt;linear.y, cmd_vel_msg-&gt;angular.z);\r\n\r\n        \/\/ \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\r\n        request_publisher_-&gt;publish(req);\r\n        \/\/ RCLCPP_INFO(this-&gt;get_logger(), \"Published Request: LinearX=%f, LinearY=%f, AngularZ=%f\",\r\n        \/\/             cmd_vel_msg-&gt;linear.x, cmd_vel_msg-&gt;linear.y, cmd_vel_msg-&gt;angular.z);\r\n    }\r\n\r\n    \/\/ \u8cfc\u8aad\u8005\r\n    rclcpp::Subscription&lt;geometry_msgs::msg::Twist&gt;::SharedPtr cmd_vel_subscriber_;\r\n\r\n    \/\/ \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\r\n    rclcpp::Publisher&lt;unitree_api::msg::Request&gt;::SharedPtr request_publisher_;\r\n\r\n    \/\/ SportClient\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\r\n    SportClient sport_client_;\r\n};\r\n\r\nint main(int argc, char *argv[])\r\n{\r\n    rclcpp::init(argc, argv);\r\n    auto node = std::make_shared&lt;CmdVelToSportRequest&gt;();\r\n    rclcpp::spin(node);\r\n    rclcpp::shutdown();\r\n    return 0;\r\n}<\/code><\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<h3>\uff14\uff0e\u5b9f\u884c<\/h3>\n<h5>4-1. build<\/h5>\n<div class=\"hcb_wrap\">\n<pre><code>$ git clone -b cmd_vel_control https:\/\/github.com\/TechShare-inc\/go2_unitree_ros2.git ts_example_ws\r\n$ cd ts_example_ws\r\n$ colcon build<\/code><\/pre>\n<\/div>\n<h5>4-2. \u5b9f\u884c<\/h5>\n<p>terminal 1:<\/p>\n<div class=\"hcb_wrap\">\n<pre><code>$ source unitree_ros2\/setup.sh\r\n$ cd ts_example_ws\r\n$ source install\/setup.bash\r\n$ ros2 run unitree_ros2_example cmd_vel_control<\/code><\/pre>\n<\/div>\n<p>terminal 2:<\/p>\n<div class=\"hcb_wrap\">\n<pre><code>$ source unitree_ros2\/setup.sh\r\n$ ros2 run teleop_twist_keyboard teleop_twist_keyboard<\/code><\/pre>\n<\/div>\n<p>\u5b9f\u884c\u5f8c\u3001terminal 1\u3067\u306f\u3001\/cmd_vel\u3092\u53d7\u3051\u53d6\u308a\u3001\/api\/sport\/request\u3092\u914d\u4fe1\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u52d5\u3044\u3066\u3044\u307e\u3059\u3002<br \/>\nterminal 2\u3067\u30ad\u30fc\u30dc\u30fc\u30c9\u64cd\u4f5c\u3092\u884c\u3046\u3068\u3001\/cmd_vel\u304c\u914d\u4fe1\u3055\u308c\u3001terminal 1\u3082\u52d5\u304f\u3068\u3044\u3046\u5f62\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u5b9f\u884c\u306e\u69d8\u5b50\uff1a<a href=\"https:\/\/techshareinc-my.sharepoint.com\/:v:\/g\/personal\/koji_ishikawa_techshare_co_jp\/Edz535JgsINAlLSt8tcgi_8B38_jUi0M51S5N5W1Xm6riw?nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJPbmVEcml2ZUZvckJ1c2luZXNzIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXciLCJyZWZlcnJhbFZpZXciOiJNeUZpbGVzTGlua0NvcHkifX0&#038;e=Hf0AYH\">\u52d5\u753b\u30ea\u30f3\u30af<\/a><br \/>\n\u203b\u52d5\u753b\u306f\u3001Payload\u306b\u5916\u90e8PC(Ubuntu22\/humble)\u3092\u642d\u8f09\u3057\u3066\u884c\u3063\u3066\u3044\u308b\u304c\u3001JetsonOrin\u304b\u3089\u3067\u3082\u554f\u984c\u306a\u304f\u5b9f\u884c\u3067\u304d\u308b\u3002<\/p>\n<p>\u3053\u306e\u3088\u3046\u306b\u884c\u3046\u3068\u3001Go2\u3092\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h5>4-3. \u3055\u3089\u306b\u898b\u3066\u307f\u3088\u3046\uff1a\u30c8\u30d4\u30c3\u30af\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0<\/h5>\n<p>ROS\u00a02\u3067\u306f\u3001<code>ros2 topic echo &lt;\u30c8\u30d4\u30c3\u30af\u540d&gt;<\/code>\u3067\u6307\u5b9a\u3057\u305f\u30c8\u30d4\u30c3\u30af\u306b\u6d41\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002  <\/p>\n<p>terminal 3:<\/p>\n<div class=\"hcb_wrap\">\n<pre><code>$ source unitree_ros2\/setup.sh\r\n$ ros2 topic echo \/cmd_vel<\/code><\/pre>\n<\/div>\n<p>terminal 4:<\/p>\n<div class=\"hcb_wrap\">\n<pre><code>$ source unitree_ros2\/setup.sh\r\n$ ros2 topic echo \/api\/sport\/request<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/techshare.co.jp\/faq\/wp-content\/uploads\/2025\/07\/go2_teleop_echo.png\" alt=\"\" width=\"100%\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>\uff15\uff0e\u3055\u3089\u306b\u4fee\u6b63\u3057\u3066\u307f\u3088\u3046\uff01<\/h3>\n<hr \/>\n<p>\u3053\u306e\u30b3\u30fc\u30c9\u3060\u3068\u3001\u7acb\u3061\u4e0a\u304c\u3063\u305f\u308a\u4f0f\u305b\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n<p><code>teleop_twist_keyboard<\/code>\u3067\u306f\u3001<code>t<\/code>\u30ad\u30fc\u3084<code>b<\/code>\u30ad\u30fc\u3092\u7528\u3044\u308b\u3068\u3001<code>linear.z<\/code>\u306e\u5024\u3092\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br \/>\n\u3053\u308c\u3092\u4f7f\u3063\u3066\u3001<code>t<\/code>\u30ad\u30fc\u3084<code>b<\/code>\u30ad\u30fc\u3092\u62bc\u3057\u305f\u3089\u3001\u7acb\u3063\u305f\u308a\u5ea7\u3063\u305f\u308a\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u4e0a\u8a18\u30b3\u30fc\u30c9\u3067\u306f\u3001cmdVelCallback\u3067\u3001<code>\/cmd_vel<\/code>\u30c8\u30d4\u30c3\u30af\u3092\u53d7\u3051\u53d6\u3063\u305f\u3068\u304d\u306e\u6319\u52d5\u3092\u6c7a\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u3053\u3053\u306b\u3001<code>\/cmd_vel<\/code>\u30c8\u30d4\u30c3\u30af\u306e\u5185\u5bb9\u306b\u5fdc\u3058\u3066\u5206\u5c90\u3059\u308bIF\u6587\u3092\u8ffd\u52a0\u3057\u3001\u7acb\u3061\u4e0a\u304c\u308a\u3084\u4f0f\u305b\u3092\u884c\u3046\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"hcb_wrap\">\n<pre><code class=\"language-cpp\">    void cmdVelCallback(const geometry_msgs::msg::Twist::SharedPtr cmd_vel_msg)\r\n    {\r\n        \/\/ \u53d7\u3051\u53d6\u3063\u305f\/cmd_vel\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\r\n        RCLCPP_INFO(this->get_logger(), \r\n                    \"Received cmd_vel: LinearX=%f, LinearY=%f, LinearZ=%f, AngularZ=%f\",\r\n                    cmd_vel_msg->linear.x, \r\n                    cmd_vel_msg->linear.y, \r\n                    cmd_vel_msg->linear.z,\r\n                    cmd_vel_msg->angular.z);\r\n\r\n        \/\/ linear.z \u304c\u7d76\u5bfe\u5024 0.1 \u4ee5\u4e0a\u306e\u3068\u304d\u306b\u3001StandUp\u3082\u3057\u304f\u306fStandDOwn\r\n        if (std::abs(cmd_vel_msg->linear.z) >= 0.1) {\r\n            if (cmd_vel_msg->linear.z > 0.0) {\r\n                unitree_api::msg::Request req;\r\n                sport_client_.StandUp(req);\r\n                request_publisher_->publish(req);\r\n\r\n                \/\/ 3\u79d2\u5f85\u3064\r\n                std::this_thread::sleep_for(std::chrono::seconds(3));\r\n\r\n                sport_client_.BalanceStand(req);\r\n                request_publisher_->publish(req);\r\n            } else {\r\n                unitree_api::msg::Request req;\r\n                sport_client_.StandDown(req);\r\n                request_publisher_->publish(req);\r\n            }\r\n        }\r\n        else{\r\n            \/\/ \/cmd_vel\u30e1\u30c3\u30bb\u30fc\u30b8\u3092Unitree\u30ed\u30dc\u30c3\u30c8\u306e\u6307\u4ee4\u5024\u306e\u5f62\u5f0f\u306b\u5909\u63db\r\n            unitree_api::msg::Request req;\r\n            sport_client_.Move(req, cmd_vel_msg->linear.x, cmd_vel_msg->linear.y, cmd_vel_msg->angular.z);\r\n\r\n            \/\/ \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\r\n            request_publisher_->publish(req);\r\n        }\r\n    }<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u3067<code>colcon build<\/code>\u3057\u76f4\u305b\u3070\u3001<code>t<\/code>\u30ad\u30fc\u3084<code>b<\/code>\u30ad\u30fc\u3092\u62bc\u3057\u305f\u3089\u3001\u7acb\u3063\u305f\u308a\u4f0f\u305b\u305f\u308a\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3>\u304a\u308f\u308a\u306b<\/h3>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001unitree_ros2\u3092\u7528\u3044\u3066\u3001Go2\u3092\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u64cd\u4f5c\u3059\u308b\uff12\u6b21\u958b\u767a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3001\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002<br \/>\n\u672c\u8a18\u4e8b\u3092\u53c2\u8003\u306b\u3001Move\u95a2\u6570\u306e\u4f7f\u3044\u65b9\u3084\u4ed6\u306e\u5236\u5fa1\u65b9\u6cd5\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u30d2\u30f3\u30c8\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<br \/>\n\u3053\u306e\u8a18\u4e8b\u304c\u5c11\u3057\u3067\u3082\u5f79\u306b\u7acb\u3066\u305f\u306e\u306a\u3089\u5e78\u3044\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u521d\u3081\u306b \u672c\u8a18\u4e8b\u3067\u306f\u3001unitree_ros2\u3092\u7528\u3044\u3066\u3001Go2\u3092\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u64cd\u4f5c\u3059\u308b\uff12\u6b21\u958b\u767a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3054\u6848\u5185\u3057\u307e\u3059\u3002 \u203b\u6700\u7d42\u66f4\u65b0\u65e5\uff1a25\/07\/24 &nbsp; \u74b0\u5883 \u74b0\u5883\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u3092\u60f3\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002 \u6a5f\u7a2e: &hellip;<\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72,26],"tags":[],"class_list":["post-346589","post","type-post","status-publish","format-standard","hentry","category-go2","category-unitree"],"_links":{"self":[{"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/posts\/346589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/comments?post=346589"}],"version-history":[{"count":27,"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/posts\/346589\/revisions"}],"predecessor-version":[{"id":347469,"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/posts\/346589\/revisions\/347469"}],"wp:attachment":[{"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/media?parent=346589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/categories?post=346589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techshare.co.jp\/faq\/wp-json\/wp\/v2\/tags?post=346589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}