# PAL Robotics Kangaroo 开发百科

> 原文链接：https://robotics.hellobike.com/wiki/pal-robotics-kangaroo-dev-guide
> 频道：wiki | 更新日期：2026-10-22 | 标签：Kangaroo, PAL Robotics, ROS 2, MuJoCo, Gazebo, 双足人形
> 核心摘要：Kangaroo 是 PAL Robotics 面向运动研究的双足人形平台，提供 ROS 2 API、URDF 与 MuJoCo/mjlab 资产，适合动态运动、强化学习和具身智能开发验证。

# PAL Robotics Kangaroo 开发百科

## 本体与算力接口

Kangaroo 面向动态运动、强化学习和具身智能研究。机身高度 1.6 米，整机重量 50-65 千克，一项负载配置为 30 千克，自由度范围 14-40。电池为 15Ah、63V，电池能量 976 瓦时。机载算力为 `2x i7 CPU, Nvidia Jetson GPU`；惯性与姿态航向系统更新率 1 kHz，视觉系统为 4x RGB-D / 深度彩色相机。研究访问级别提供 ROS 2 API，支持 C++/Python 开发。

## 官方 SDK 与通信协议：感知与调试

- [aruco_ros](/sdks/pal-robotics-aruco-ros)：C++ 算法库，提供 Aruco 增强现实标记检测与 ROS wrappers。README 写明支持高帧率 AR marker tracking、Marker/MarkerArray 消息，可用于物体位姿估计和视觉伺服；卡片环境为 ROS 1 Noetic 或 ROS 2 Humble，需 C++11 及以上。

- [backward_ros](/sdks/pal-robotics-backward-ros)：C++ 开发工具，用于把 backward-cpp 集成到 ROS2 packages。README 要求在 `package.xml` 与 `CMakeLists.txt` 中加入依赖；若要输出行号和更多细节，需要启用 Debug 或 RelWithDebInfo。

## 官方 SDK 与通信协议：参数与统计

- [ddynamic_reconfigure_python](/sdks/pal-robotics-ddynamic-reconfigure-python)：Python 库，可动态注册变量并启动 dynamic reconfigure server，README 强调不再需要 `.cfg` 文件和 `CMakeLists.txt` 调整；卡片环境包含 ROS 1 Noetic / Python 3.8 与 ROS 2 Humble / Python 3.10。

- [ddynamic_reconfigure](/sdks/pal-robotics-ddynamic-reconfigure)：C++ 库，通过 DDynamicReconfigure 类接口注册参数；卡片写明可适配 ROS 1 Noetic、ROS 2 Humble/Iron，需 GCC 9+。

- [pal_statistics](/sdks/pal-robotics-pal-statistics)：C++ 框架，用于 gathering、aggregating、storing 和 visualizing statistics；卡片入口为 `pal_statistics::StatisticsRegistry`，需 C++17 及以上。

## 官方 SDK 与通信协议：动作编排

- [play_motion_builder](/sdks/pal-robotics-play-motion-builder)：C++ 开发工具，用于设计和创建机器人预定义动作，README 包含消息、action、service 定义包，主节点包，RQT 前端，以及基于 roslibjs 的 Javascript 库。

- [play_motion2](/sdks/pal-robotics-play-motion2)：C++ ROS 2 工具，用于播放和处理预录动作，可在多组关节上执行 simultaneous trajectories。README 要求 motions yaml 文件，并可配置 motion planner；使用 planning 时会通过 MoveIt 2 规划到第一个位置的 approach。

## ROS 2 与仿真资产

Kangaroo 提供 PAL 官方 `kangaroo.urdf.xacro`，仓库为 `pal-robotics/kangaroo_robot`；机型卡同时写明提供 URDF 和 MJCF 模型，支持 MuJoCo 与 mjlab，仿真器字段包含 Gazebo、ROS 2。[pal_mjlab](/sdks/pal-robotics-pal-mjlab) 是 Python 仿真器，README 提供 `Mjlab-Velocity-Flat-Pal-Kangaroo` 与 `Mjlab-Tracking-Flat-Pal-Kangaroo` 场景；[gazebo_ros_link_attacher](/sdks/pal-robotics-gazebo-ros-link-attacher) 可在 Gazebo 中用虚拟关节 attach/detach 两个模型；[realsense_gazebo_plugin](/sdks/pal-robotics-realsense-gazebo-plugin) 用于 Gazebo 中的 RealSense 模拟集成。

## 推荐上手顺序

1. 先阅读 Kangaroo 机型卡中的尺寸、重量、载荷、电池、自由度、机载算力与 4x RGB-D 视觉配置，明确实验边界。
2. 进入 `kangaroo_robot` 仓库，从官方 `kangaroo.urdf.xacro` 开始理解模型结构，并在 ROS 2 / Gazebo 路径中验证描述文件。
3. 按需求接入 SDK：视觉标记用 [aruco_ros](/sdks/pal-robotics-aruco-ros)，崩溃栈追踪用 [backward_ros](/sdks/pal-robotics-backward-ros)，参数调试用 ddynamic reconfigure 系列。
4. 做运动与强化学习时，先用 [pal_mjlab](/sdks/pal-robotics-pal-mjlab) 的 Kangaroo 环境跑 dummy agents，再进入 velocity tracking、motion imitation 或 [play_motion2](/sdks/pal-robotics-play-motion2) 动作流程。

## 来源

- [PAL Robotics：PAL Robotics 产品页](https://pal-robotics.com/robot/kangaroo/)
- [PAL Kangaroo URDF](https://github.com/pal-robotics/kangaroo_robot/blob/humble-devel/kangaroo_description/robots/kangaroo.urdf.xacro)
- [GitHub aruco_ros](https://github.com/pal-robotics/aruco_ros)
- [GitHub backward_ros](https://github.com/pal-robotics/backward_ros)
- [GitHub ddynamic_reconfigure_python](https://github.com/pal-robotics/ddynamic_reconfigure_python)
- [GitHub ddynamic_reconfigure](https://github.com/pal-robotics/ddynamic_reconfigure)
- [GitHub gazebo_ros_link_attacher](https://github.com/pal-robotics/gazebo_ros_link_attacher)
- [GitHub pal_mjlab](https://github.com/pal-robotics/pal_mjlab)

本页由站内机型卡、官方 SDK README 与已验证记录整理而成；命令与版本以仓库当前 README 为准。

## 原始参考来源 (Sources)

- [PAL Robotics：PAL Robotics 产品页](https://pal-robotics.com/robot/kangaroo/)
- [PAL Kangaroo URDF](https://github.com/pal-robotics/kangaroo_robot/blob/humble-devel/kangaroo_description/robots/kangaroo.urdf.xacro)
- [GitHub aruco_ros](https://github.com/pal-robotics/aruco_ros)
- [GitHub backward_ros](https://github.com/pal-robotics/backward_ros)
- [GitHub ddynamic_reconfigure_python](https://github.com/pal-robotics/ddynamic_reconfigure_python)
- [GitHub ddynamic_reconfigure](https://github.com/pal-robotics/ddynamic_reconfigure)
- [GitHub gazebo_ros_link_attacher](https://github.com/pal-robotics/gazebo_ros_link_attacher)
- [GitHub pal_mjlab](https://github.com/pal-robotics/pal_mjlab)