# TIAGo OMNI Base 开发百科

> 原文链接：https://robotics.hellobike.com/wiki/pal-robotics-tiago-omni-base-dev-guide
> 频道：wiki | 更新日期：2026-10-22 | 标签：TIAGo, AMR, ROS 2, Gazebo, PAL Robotics
> 核心摘要：TIAGo OMNI Base 是PAL面向研究、零售与物流场景的全向AMR，具备麦克纳姆底盘、双LiDAR、ROS软件包及Gazebo/Rviz仿真资产，适合从URDF和PAL工具链起步。

# TIAGo OMNI Base 开发百科

## 本体与算力接口

TIAGo OMNI Base 是面向 research、retail 和 intralogistics 的 Autonomous Mobile Robot。底盘尺寸为 500 x 720 x 310 毫米，重量最高 55 千克，Payload 为 100 千克；最高自主运行时间为 8-10 小时，速度为 1.5 米/秒，并可穿越 150 毫米间隙。其车轮配置为 4 个麦克纳姆电机，配有四个麦克纳姆轮和两个 LiDAR 传感器，可获得 360o 视野。基础包包含 ROS 软件，适用于工业、医疗、酒店和办公环境。

## 官方 SDK 与通信协议

- [aruco_ros](/sdks/pal-robotics-aruco-ros)：C++ 算法库，仓库 `https://github.com/pal-robotics/aruco_ros`。README 写明它是 Aruco AR marker detector library 的 ROS wrappers，可用于 AR markers 高帧率跟踪、marker 生成、boards 增强精度跟踪，ROS API 包含 `aruco_ros/Marker.msg` 与 `aruco_ros/MarkerArray.msg`。
- [backward_ros](/sdks/pal-robotics-backward-ros)：C++ 开发工具，仓库 `https://github.com/pal-robotics/backward_ros`。README 写明将 `backward_ros` 加入 `package.xml`，在 `CMakeLists.txt` 中 `find_package(backward_ros REQUIRED)`；构建启用 Debug 或 RelWithDebInfo 可获得行号和更多栈信息。
- [ddynamic_reconfigure_python](/sdks/pal-robotics-ddynamic-reconfigure-python)：Python 算法库，仓库 `https://github.com/pal-robotics/ddynamic_reconfigure_python`。README 写明可动态注册变量并启动 dynamic reconfigure server，不再需要 `.cfg` 文件和 `CMakeLists.txt` 调整；示例通过 `DDynamicReconfigure` 添加变量并 `start` 回调。
- [ddynamic_reconfigure](/sdks/pal-robotics-ddynamic-reconfigure)：C++ 算法库，仓库 `https://github.com/pal-robotics/ddynamic_reconfigure`。SDK 卡写明可通过 `DDynamicReconfigure` 类接口注册参数，克隆至 ROS 工作空间 `src` 后执行 `colcon build` 或 `catkin_make` 编译。
- [gazebo_ros_link_attacher](/sdks/pal-robotics-gazebo-ros-link-attacher)：Python 仿真器，仓库 `https://github.com/pal-robotics/gazebo_ros_link_attacher`。README 写明可用虚拟 joint 连接两个 Gazebo models，插件提供 `/link_attacher_node/attach` 与 `/link_attacher_node/detach` 服务。
- [pal_statistics](/sdks/pal-robotics-pal-statistics)：C++ 框架，仓库 `https://github.com/pal-robotics/pal_statistics`。SDK 卡写明它用于从任意来源 gather、aggregate、store 和 visualize statistics，核心入口为 `pal_statistics::StatisticsRegistry` 类。
- [play_motion_builder](/sdks/pal-robotics-play-motion-builder)：C++ 开发工具，仓库 `https://github.com/pal-robotics/play_motion_builder`。README 写明它用于设计和创建 robot predefined motions，包含 RQT-based GUI 与 Javascript library，项目由 `play_motion_builder_msgs`、`play_motion_builder`、`rqt_play_motion_builder`、`play_motion_builder_js` 组成。
- [play_motion2](/sdks/pal-robotics-play-motion2)：C++ 开发工具，仓库 `https://github.com/pal-robotics/play_motion2`。README 写明它是在 ROS 2 中播放和处理 pre-recorded motions 的工具，可在 multiple groups of joints 中执行 simultaneous trajectories，并依赖 motions yaml 与 motion planner 配置。
- [realsense_gazebo_plugin](/sdks/pal-robotics-realsense-gazebo-plugin)：C++ 仿真器，仓库 `https://github.com/pal-robotics/realsense_gazebo_plugin`。README 写明它是 Intel D435 realsense camera 的 Gazebo ROS plugin，用于在 REEM-C Gazebo simulation 中添加该相机。

## ROS 2 与仿真资产

TIAGo OMNI Base 的基础包包含 ROS 软件，并提供 Gazebo 仿真和 Rviz 数字孪生。仿真资产来自 PAL 官方 `omni_base.urdf.xacro`，对应 TIAGo Omni Base；URDF 地址为 `https://github.com/pal-robotics/omni_base_robot/blob/humble-devel/omni_base_description/robots/omni_base.urdf.xacro`，资产仓库为 `https://github.com/pal-robotics/omni_base_robot`。机型卡标注的仿真器支持为 Gazebo 与 ROS 2。

## 推荐上手顺序

1. 先按机型卡确认底盘边界：尺寸、最高 55 千克重量、100 千克 Payload、1.5 米/秒速度、8-10 小时自主运行时间，以及双 LiDAR 和 360o 视野。
2. 拉取 `omni_base_robot`，从 PAL 官方 `omni_base.urdf.xacro` 开始，在 Gazebo 与 Rviz 数字孪生中验证底盘模型。
3. 需要视觉标记识别时接入 [aruco_ros](/sdks/pal-robotics-aruco-ros)；需要崩溃栈信息时接入 [backward_ros](/sdks/pal-robotics-backward-ros)；需要运行时参数调整时选 [ddynamic_reconfigure_python](/sdks/pal-robotics-ddynamic-reconfigure-python) 或 [ddynamic_reconfigure](/sdks/pal-robotics-ddynamic-reconfigure)。
4. 做 Gazebo 交互仿真时再加入 [gazebo_ros_link_attacher](/sdks/pal-robotics-gazebo-ros-link-attacher) 或 [realsense_gazebo_plugin](/sdks/pal-robotics-realsense-gazebo-plugin)；涉及预录动作流程时再评估 [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-omni-base/)
- [PAL Omni Base URDF](https://github.com/pal-robotics/omni_base_robot/blob/humble-devel/omni_base_description/robots/omni_base.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_statistics](https://github.com/pal-robotics/pal_statistics)

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

## 原始参考来源 (Sources)

- [PAL Robotics：PAL Robotics 产品页](https://pal-robotics.com/robot/tiago-omni-base/)
- [PAL Omni Base URDF](https://github.com/pal-robotics/omni_base_robot/blob/humble-devel/omni_base_description/robots/omni_base.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_statistics](https://github.com/pal-robotics/pal_statistics)