本仓库提供用于控制和使用 Franka Research 3 机器人的docker环境镜像。已装好 ROS 2 Jazzy、**Franka ROS 2(FR3)**等软件环境。镜像基于 NVIDIA Isaac Sim 5.1.0 层,便于与 Isaac 生态对齐;日常 Franka 开发主要用容器内的 ROS 2 工作空间 /ros2_ws。
要使用本仓库,首先需要将其clone到本地构建镜像,具体步骤如下:
-
在仓库里进入
docker/目录,执行其一:- 常规构建:
bash build.bash - 中国大陆网络(清华镜像等):
bash build_tshinghua.sh(与Dockerfile相同,传入USE_CN_MIRROR=1)
- 常规构建:
-
注意事项:
-
本地环境需要安装 Docker、NVIDIA 驱动,并配置 NVIDIA Container Toolkit。
-
构建时间可能较长;拉取 Isaac 基础镜像需 NVIDIA NGC 登录,否则常见 403,见下文「注意事项」。
-
其他参数、环境变量与故障说明见
docker/README.md。
-
在 docker/ 下执行:
bash run_container.bash在 容器内执行:
ros2 launch franka_fr3_moveit_config moveit.launch.py robot_ip:=dont-care use_fake_hardware:=true把 192.168.1.10 换成机器人 / Desk 在局域网中的 真实 IP,并关闭假硬件:
ros2 launch franka_fr3_moveit_config moveit.launch.py robot_ip:=192.168.1.10 use_fake_hardware:=false真机前必须在 机器人侧(Desk / FCI 等)完成解锁与允许外部控制;版本需与 libfranka 兼容。详见下方「注意事项」。
| 内容 | 说明 |
|---|---|
| ROS 2 | Jazzy(ros-jazzy-desktop 等) |
| Franka | 构建时克隆 franka_ros2 jazzy 分支,在 /franka_ros2_ws 内 colcon build 完成 |
| MoveIt 2 | 未在 Dockerfile 里单独写死包名;rosdep install --from-paths src 解析 franka_ros2 时会自动装上所需 ros-jazzy-moveit-*,一般无需再手动装 MoveIt |
| Isaac Sim | 作为 Docker 基镜像版本(默认 5.1.0),与 Isaac 工作流对接时使用 |
- 镜像名默认
franka_docker;构建、运行脚本与 NGC 登录、403、挂载目录等见docker/README.md(含 注意事项 一节)。
| 项目 | 说明 |
|---|---|
| 网络 | 本机/容器能访问机器人 IP;run_container.bash 使用 --net=host 时与宿主机同网 |
| Launch | robot_ip 为真实地址,use_fake_hardware:=false |
| Desk / FCI | Desk 指机器人侧控制与管理界面(常通过浏览器访问机器人 IP)。需在机器人上启用 FCI、解锁、允许外部控制等,不是只改电脑上的 launch 即可 |
| 版本 | 机器人 系统软件 / 固件 与电脑侧 libfranka(本仓库由 dependency.repos 固定)须在官方 兼容范围 内;升级机器人软件后常需对照说明调整并重编 |
对 UDP 超时、实时性 更敏感时:Linux + Docker Engine 通常优于 Docker Desktop;宿主机使用 PREEMPT_RT 等更稳妥(非绝对前提)。
- 运动规划与控制:ROS 2 下的规划、控制接口与节点。
- 仿真:可与 Isaac Sim 对接做仿真验证(具体对接方式以你使用的 Isaac / 桥接方案为准)。
- 多机、夹爪、
franka_bringup、franka.config.yaml等见 franka_ros2 文档(jazzy)。