# PAL Robotics TIAGo 开发百科

> 原文链接：https://robotics.hellobike.com/wiki/pal-robotics-tiago-dev-guide
> 频道：wiki | 更新日期：2026-10-22 | 标签：TIAGo, PAL Robotics, ROS 2, Gazebo, MuJoCo, 移动操作机器人
> 核心摘要：TIAGo 是面向研究的模块化移动操作机器人，支持 ROS 2 描述、控制与仿真资产，可围绕导航、操作、视觉标记、预录动作和 Gazebo 仿真扩展开展二次开发。

# PAL Robotics TIAGo 开发百科

## 本体与算力接口

TIAGo 是基于 ROS 的移动操作机器人，采用模块化设计，可按 AI、机器学习、HRI 和操作研究需求定制。其弹性执行器机械臂包含 7 个连续独立力矩可控关节，可配置无机械臂到最高 2 条机械臂；机械臂负载为 3 千克（不含末端执行器）。机身高度 110-145 厘米，底盘占地直径 ø 54 厘米，1 块电池自主工作时间 4-5 小时。可挂载机械臂、Hokuyo 激光雷达和末端执行器，Hokuyo 激光雷达探测范围为 5.6 米；编程相关功能列有 Google API 接口选项。

## 官方 SDK 与通信协议

[tiago_robot](/sdks/pal-robotics-tiago-robot) 是 TIAGo 描述、控制器与 bringup 框架，Python，仓库 https://github.com/pal-robotics/tiago_robot；README 写明 `tiago.urdf.xacro` 通过参数配置机械臂、末端执行器、力/扭矩传感器和激光型号，模板使用 empy，适配 Ubuntu 22.04 LTS + ROS 2 Humble / Python 3.10+。

[tiago_simulation](/sdks/pal-robotics-tiago-simulation) 提供 ROS 2 中模拟 TIAGo 的 launch 文件，Python，仓库 https://github.com/pal-robotics/tiago_simulation；README 要求安装 ROS 2 Humble，并安装 git、python3-vcstool、python3-rosdep、python3-colcon-common-extensions，测试环境中建议切换到 Cyclone DDS。

[aruco_ros](/sdks/pal-robotics-aruco-ros) 是 Aruco 增强现实标记检测库及 ROS wrapper，C++，仓库 https://github.com/pal-robotics/aruco_ros；README 写明支持高帧率 AR marker 跟踪、marker 生成、marker board 精确跟踪，并提供 `aruco_ros/Marker.msg` 与 `aruco_ros/MarkerArray.msg`。

[backward_ros](/sdks/pal-robotics-backward-ros) 是集成 backward_cpp 的 ROS2 wrapper，C++，仓库 https://github.com/pal-robotics/backward_ros；README 写明在 `package.xml` 添加 `backward_ros`，在 `CMakeLists.txt` 中 `find_package(backward_ros REQUIRED)`，崩溃时输出 stacktrace，若需行号和更多细节需启用 Debug 或 RelWithDebInfo。

[ddynamic_reconfigure_python](/sdks/pal-robotics-ddynamic-reconfigure-python) 用于在 Python 中动态注册变量并启动 dynamic reconfigure server，仓库 https://github.com/pal-robotics/ddynamic_reconfigure_python；README 示例通过 `DDynamicReconfigure` 添加 float、integer、bool、string 和 enum 变量，再启动 server。

[ddynamic_reconfigure](/sdks/pal-robotics-ddynamic-reconfigure) 是 C++ 动态参数注册库，仓库 https://github.com/pal-robotics/ddynamic_reconfigure；卡片写明可适配 ROS 1 Noetic、ROS 2 Humble/Iron，克隆至 ROS 工作空间后用 colcon build 或 catkin_make 编译，通过 `DDynamicReconfigure` 类接口注册参数。

[gazebo_ros_link_attacher](/sdks/pal-robotics-gazebo-ros-link-attacher) 是 Gazebo 中用虚拟关节连接两个模型的仿真工具，Python，仓库 https://github.com/pal-robotics/gazebo_ros_link_attacher；README 写明加载 `libgazebo_ros_link_attacher.so` 后提供 `/link_attacher_node/attach` 与 `/link_attacher_node/detach` 服务。

[pal_statistics](/sdks/pal-robotics-pal-statistics) 是采集、聚合、存储和可视化统计信息的 C++ 框架，仓库 https://github.com/pal-robotics/pal_statistics；卡片写明匹配 ROS 1 Noetic/ROS 2 Humble 发布版本，C++17 及以上，核心入口为 `pal_statistics::StatisticsRegistry`。

[play_motion_builder](/sdks/pal-robotics-play-motion-builder) 是预定义机器人动作设计与创建工具，C++，仓库 https://github.com/pal-robotics/play_motion_builder；README 写明包含消息/动作/服务定义、主节点、RQT 前端和基于 roslibjs 的 Javascript 库。

[play_motion2](/sdks/pal-robotics-play-motion2) 用于在 ROS 2 中播放和管理预录动作，C++，仓库 https://github.com/pal-robotics/play_motion2；README 写明动作 YAML 需包含关节、位置、时间和元数据，可配置 motion planner，并强烈建议使用 planning。

[realsense_gazebo_plugin](/sdks/pal-robotics-realsense-gazebo-plugin) 是 Intel D435 RealSense 的 Gazebo ROS 插件，C++，仓库 https://github.com/pal-robotics/realsense_gazebo_plugin；README 写明该包用于在 REEM-C Gazebo simulation 中加入 D435 相机。

## ROS 2 与仿真资产

TIAGo 提供 ROS 基础和开源仿真，可下载 Docker 镜像试用导航与操作能力。机型卡给出 PAL 官方 URDF：`https://github.com/pal-robotics/tiago_robot/blob/humble-devel/tiago_description/robots/tiago.urdf.xacro`，以及 MuJoCo Menagerie MJCF：`https://github.com/google-deepmind/mujoco_menagerie/blob/main/pal_tiago/tiago.xml`；仓库为 `https://github.com/pal-robotics/tiago_robot`。仿真器支持 MuJoCo、Gazebo 和 ROS 2，说明为 PAL 官方 `tiago.urdf.xacro` 与 MuJoCo Menagerie `tiago.xml`。

## 推荐上手顺序

1. 先阅读 [tiago_robot](/sdks/pal-robotics-tiago-robot)，理解 `tiago.urdf.xacro` 如何通过参数描述不同 TIAGo 配置。
2. 用 [tiago_simulation](/sdks/pal-robotics-tiago-simulation) 搭建 ROS 2 Humble 仿真工作区，并按 README 的依赖与 DDS 提示检查环境。
3. 在 Gazebo 场景中按需要加入 [gazebo_ros_link_attacher](/sdks/pal-robotics-gazebo-ros-link-attacher) 或 [realsense_gazebo_plugin](/sdks/pal-robotics-realsense-gazebo-plugin)。
4. 做视觉标记定位时接入 [aruco_ros](/sdks/pal-robotics-aruco-ros)；做预录动作时再评估 [play_motion_builder](/sdks/pal-robotics-play-motion-builder) 与 [play_motion2](/sdks/pal-robotics-play-motion2)。

## 来源

- [PAL Robotics：PAL Robotics 产品页](https://pal-robotics.com/robot/tiago/)
- [MuJoCo Menagerie TIAGo](https://github.com/google-deepmind/mujoco_menagerie/blob/main/pal_tiago/tiago.xml)
- [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_statistics](https://github.com/pal-robotics/pal_statistics)

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

## 原始参考来源 (Sources)

- [PAL Robotics：PAL Robotics 产品页](https://pal-robotics.com/robot/tiago/)
- [MuJoCo Menagerie TIAGo](https://github.com/google-deepmind/mujoco_menagerie/blob/main/pal_tiago/tiago.xml)
- [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_statistics](https://github.com/pal-robotics/pal_statistics)