新手学习路径¶
本指南按天提供结构化学习路径,帮助你掌握 FiveAges Sim 生态系统。请按顺序学习,从基础概念过渡到进阶主题。
概述¶
阶段 |
目标 |
预估时间 |
|---|---|---|
第 0 天 |
梳理技术栈 |
阅读 1–2 小时 |
第 1 天 |
仿真中的首次运动 |
2-4 小时 |
第 2 天 |
切换机器人 |
1-2 小时 |
第 3 天 |
Gazebo / Isaac |
2-4 小时 |
第 4 天 |
Python 接口 |
2-3 小时 |
第 5 天 |
遥操作 |
2-4 小时 |
第 6 天 |
真实硬件 |
因情况而异 |
第 7 天及以后 |
添加机器人 |
视项目而定 |
外部用户的真实硬件
方舟无限 Lift 2S 是全身移动操作臂(含底盘)。Acone / AC One 是 双臂,不是 Lift 2S。高擎 Panthera HT 是双臂操作臂。请优先看对应操作指南。使用这些 open-deploy-ws 分支不需要内部权限。
第 0 天:梳理技术栈¶
目标: 理解生态系统结构,并选择你的入口路径。
任务:
预期结果: 你能说明五个层级,并知道该从哪个工作空间开始。
第 1 天:仿真中的首次运动¶
目标: 先安装环境,再运行机器人演示(hardware 默认为 mock_components)。
任务:
环境安装 — Ubuntu 24.04、ROS 2 Jazzy + rosdep。裸机上:先加 ROS apt 源,再装
ros-jazzy-desktop/ros-dev-tools(fishros 可选)。工作区入口是./init_repo.sh,然后source install/setup.bash。克隆
open-deploy-ws并运行官方初始化脚本:git clone https://github.com/fiveages-sim/open-deploy-ws.git cd open-deploy-ws ./init_repo.sh
编译工作空间:
colcon build --symlink-install
启动演示(默认:
robot:=cr5、hardware:=mock_components— 两者都可省略;没有hardware:=mock):source install/setup.bash ros2 launch ocs2_arm_controller demo.launch.py
主要来源: open-deploy-ws、arms_ros2_control
结果: RViz 打开 OCS2 演示;FSM 从 HOLD 开始。见 快速演示。
第 2 天:切换机器人¶
目标: 更换机器人模型,并理解描述系统。
任务:
优先用
./init_repo.sh,让src/robot-descriptions/下的嵌套模块与submodules_visibility.conf一致(不要递归 init)。重建所需软件包,然后
source install/setup.bash。用新机器人启动(省略
hardware:=以保持mock_components):ros2 launch ocs2_arm_controller demo.launch.py robot:=arx_acone
arx_acone是 Acone(双臂),不是 Lift 2S。全身方舟无限 Lift 2S 使用arx-lift2s分支脚本 — 见 方舟无限 Lift 2S。
主要来源: robot_descriptions、各品牌 README
预期结果: 你可以在 Dobot CR5、Acone(双臂)、Galbot 等机型之间切换。
第 3 天:Gazebo 与 Isaac 仿真¶
目标: 运行物理仿真,而不是 mock 硬件。
Gazebo Harmonic¶
# Install Gazebo packages (if not already)
sudo apt install ros-jazzy-gz-*
# Launch with Gazebo
ros2 launch ocs2_arm_controller demo.launch.py hardware:=gz
Isaac Sim(FaSim)¶
FaSim 把 NVIDIA Isaac Sim 高保真仿真与真机同一套 ROS 2 运控叠在一起:运动能力对齐硬件,仿真再提供真值。资产:FaSim-Isaac(一键拉取 USD 与场景)、robot_usds。
FaSim-Isaac 脚本
使用 FaSim-Isaac 的 ./init.sh,再运行 ./run.sh。默认 Isaac 路径是 ISAACSIM_DIR(~/isaacsim);在 config/fa_sim.local.conf 中覆盖。可选 ROS 2 工作空间的版本来自 init 菜单(回退列表见 config/fa_sim.conf),不要在文档里写死某个次版本号。
安装 NVIDIA Isaac Sim(默认目录
~/isaacsim,或设置ISAACSIM_DIR)。克隆并初始化 FaSim-Isaac:
git clone git@github.com:fiveages-sim/FaSim-Isaac.git cd FaSim-Isaac ./init.sh
启动 Isaac(
./run.sh菜单:PhysX / Newton / Headless Streaming):./run.sh
在另一个终端中,以 Isaac 硬件启动 ROS 2 侧:
ros2 launch ocs2_arm_controller demo.launch.py hardware:=isaac
主要来源: FaSim-Isaac、robot_usds
预期结果: 基于物理的仿真,可用 Gazebo,或 FaSim(Isaac + ROS 2 运控,运动对齐真机并带仿真真值)。
第 4 天:Python 接口¶
目标: 以编程方式控制机器人。
任务:
安装 fa-py-libraries:
cd ~/ git clone https://github.com/fiveages-sim/fa-py-libraries.git cd fa-py-libraries ./init.sh all # Python 3.12 env; installs ros2_robot_interface and related submodules
编写一个简单脚本:
from ros2_robot_interface import ROS2RobotInterface, ROS2RobotInterfaceConfig interface = ROS2RobotInterface(ROS2RobotInterfaceConfig()) interface.connect() joint_state = interface.get_joint_state() pose = interface.left_arm_handler.get_pose()
主要来源: fa-py-libraries、ros2_robot_interface
预期结果: 你可以用 Python 编写机器人运动脚本。
第 5 天: 遥操作¶
目标: 通过 VR 或同构遥操作控制机器人。
VR 遥操作¶
支持的头显: Pico 企业版(推荐;USB 网络共享、企业版 App)、Pico 消费版(不同 App)和 Meta Quest。后端:WebXR(./run.sh vr)或 XRoboToolkit(./run.sh vr-xrt)。
cd fa-py-libraries
./run.sh vr
Pico 企业版与消费版
Pico 企业版 与 Pico 消费版 是不同 SKU:企业版支持 USB 网络共享,并使用不同的 App。不要为两者安装同一个 App。
同构遥操作(高擎 Panthera HT)¶
主从 同构遥操作。在 panthera-ht 分支上,真机遥操作是 ./teleop_start.sh — 见 高擎 Panthera HT。模拟(软件包 README):
ros2 launch drag_teleop_controller drag_teleop_controller.launch.py \
role:=master hardware:=mock_components
ros2 launch drag_teleop_controller drag_teleop_controller.launch.py \
role:=slave hardware:=mock_components
主要来源: VR 位姿发布器、drag_teleop_controller
预期结果: 通过 VR 头显或主从同构遥操作进行实时控制。
第 6 天:真实硬件¶
目标: 部署到实体机器人。
公开路径(方舟无限 Lift 2S、Acone、高擎 Panthera HT)¶
使用对应 分支 README 和 ./quick_start.sh。Acone / AC One 是 双臂;Lift 2S 是全身平台。
方舟无限 Lift 2S — 全身含底盘:
git clone -b arx-lift2s …然后./init_repo.sh/./quick_start.shAcone / AC One — 双臂;同一
arx-lift2s工作空间,在quick_start中选 ACone 做联调高擎 Panthera HT — 双臂:
git clone -b panthera-ht …然后./init_repo.sh/./quick_start.sh
内部路径(FA 机器人)¶
需要内部访问权限
FA 机器人(W2、W2R、S2、S2R、双臂 CCS)需要访问 fa-deploy-ws。请联系团队负责人申请仓库权限并分配硬件。
任务:
克隆
fa-deploy-ws,并运行该仓库 README(非公开)中写明的 init / quick-start 脚本。参数和机器人 ID 只写在那里。
安全: 先在 mock_components(或该工作区文档中的仿真路径)验证,再使用 hardware:=real。
第 7 天及以后:添加机器人¶
目标: 将新机器人集成到生态系统中。
任务:
用 URDF/xacro 创建描述包
添加 ros2_control 驱动层 YAML
配置 OCS2 控制器参数
测试进阶顺序:mock → 仿真 → 真实硬件
详细说明请参阅开发者指南。
可选:合成数据(Isaac)¶
目标: 弄清 Isaac 数据采集路径(不是 Gazebo):USD 场景 → ROS2RobotInterface → composer task_queue → 磁盘上的 LeRobot 数据集。
见 合成数据。文档对应的 composer/lerobot 分支是 feature/dex-grasp-generator 与 feature/sim-grasp-datagen。停在录制/导出;跳过训练。
新手路径之后¶
按 角色 继续看更多应用:现场调试、传统方案算法工程师、VLA 采训推、仿真工程师。
实用建议¶
不要跳过 mock 模式 — 在进入仿真或真实硬件之前,务必先在 mock 中验证行为
阅读警告信息 — 技术栈会记录有助于排查配置问题的日志
使用精简分支 —
open-deploy-ws提供dobot-cr5、arx-lift2s和panthera-ht提出问题 — 遇到缺陷或文档不清时,请在相应仓库提交 issue