Leonard-WYH/OmniPick-Docker-Image
🤖 OmniPick Docker 镜像 本仓库用于存放 OmniPick 智能商超自主拣选系统 的 Docker 运行环境镜像。 OmniPick 面向智能零售与移动操作机器人场景,基于 ROS 2 Humble 构建机器人软件系统,融合 Nav2 自主导航、视觉感知、目标检测与三维定位、视觉伺服、机械臂运动控制 等模块,实现移动机器人在商超环境中的商品识别、自主导航、目标抓取、避障运输与指定区域放置等任务。 Docker 镜像用于快速复现项目运行环境,减少 ROS 2、Nav2、仿真环境及相关依赖的重复配置工作,便于项目迁移、部署、测试与后续开发。 📦 镜像文件 本仓库目前包含以下两个 Docker 镜像: 文件 说明 supermarket_sorting_client-nav2.tar 客户端镜像,主要包含 ROS 2 Humble、Nav2、自主导航及机器人任务执行相关环境 supermarket_sorting_server.tar… See the full description on the dataset page: https://huggingface.co/datasets/Leonard-WYH/OmniPick-Docker-Image.
🤖 OmniPick Docker 镜像
本仓库用于存放 OmniPick 智能商超自主拣选系统 的 Docker 运行环境镜像。
OmniPick 面向智能零售与移动操作机器人场景,基于 ROS 2 Humble 构建机器人软件系统,融合 Nav2 自主导航、视觉感知、目标检测与三维定位、视觉伺服、机械臂运动控制 等模块,实现移动机器人在商超环境中的商品识别、自主导航、目标抓取、避障运输与指定区域放置等任务。
Docker 镜像用于快速复现项目运行环境,减少 ROS 2、Nav2、仿真环境及相关依赖的重复配置工作,便于项目迁移、部署、测试与后续开发。
📦 镜像文件
本仓库目前包含以下两个 Docker 镜像:
两个镜像配合使用,可构建 OmniPick 项目的完整仿真与机器人任务运行环境。
🧠 系统主要功能
OmniPick 系统主要包含以下功能:
- 自主导航:基于 ROS 2 Nav2 实现机器人全局路径规划、局部轨迹控制与自主避障;
- 环境感知:融合二维激光雷达、RGB-D 相机等传感器获取机器人周围环境信息;
- 商品识别:基于 YOLO 实现多类别商品目标检测与分类;
- 三维定位:结合 RGB-D 深度信息完成目标商品的空间位置估计;
- 目标调度:根据商品位置与机器人状态完成目标选择和任务调度;
- 视觉伺服:机器人到达目标区域后,通过视觉反馈进一步完成精确对准;
- 机械臂控制:结合机械臂运动学与控制模块完成商品抓取和放置;
- 自主运输:抓取商品后重新进行导航规划,并自主避障前往指定配送区域;
- 任务闭环:实现从感知、规划、导航到抓取、运输和放置的完整机器人任务流程。
🔧 主要技术栈
项目涉及的主要技术与框架包括:
ROS 2 Humble
Nav2
SLAM / Localization
YOLO
RGB-D Vision
Visual Servoing
Robot Manipulation
Docker
Python / C++🔄 系统任务流程
OmniPick 的基本任务流程如下:
环境初始化
↓
机器人定位 / 地图加载
↓
商品视觉识别
↓
RGB-D 三维目标定位
↓
目标选择与任务调度
↓
Nav2 自主导航
↓
动态避障与路径跟踪
↓
到达商品抓取区域
↓
视觉伺服精确对准
↓
机械臂执行商品抓取
↓
导航至指定配送区域
↓
机械臂执行商品放置
↓
任务完成🚀 Docker 镜像使用方法
1. 下载镜像
下载本仓库中的两个 Docker 镜像:
supermarket_sorting_client-nav2.tar
supermarket_sorting_server.tar建议将两个文件放置在同一个目录中。
例如:
images/
├── supermarket_sorting_client-nav2.tar
└── supermarket_sorting_server.tar2. 加载客户端镜像
执行:
docker load -i supermarket_sorting_client-nav2.tar等待 Docker 完成镜像导入。
3. 加载服务器镜像
执行:
docker load -i supermarket_sorting_server.tar4. 检查 Docker 镜像
两个镜像加载完成后执行:
docker images确认对应镜像已经成功导入 Docker。
也可以执行:
docker image ls查看本机全部 Docker 镜像。
💻 推荐运行环境
建议在 Linux 环境下运行本项目:
如果需要在 Docker 容器中调用 NVIDIA GPU,请提前正确安装 NVIDIA Driver、Docker 以及 NVIDIA Container Toolkit。
可使用以下命令检查 Docker:
docker --version检查 NVIDIA GPU:
nvidia-smi📁 仓库结构
OmniPick-Docker-Image/
│
├── README.md
├── supermarket_sorting_client-nav2.tar
└── supermarket_sorting_server.tar其中:
README.md:项目与 Docker 镜像使用说明;supermarket_sorting_client-nav2.tar:OmniPick 客户端运行环境;supermarket_sorting_server.tar:商超仿真服务端运行环境。
🎯 项目目标
OmniPick 旨在构建一个面向智能商超场景的自主移动操作机器人系统,使机器人具备:
“看得见、找得到、走得过去、抓得准确、送得到位”
的完整自主作业能力。
系统重点关注复杂商超环境下的视觉感知、自主导航、动态避障、视觉伺服与机械臂操作等关键问题,并通过模块化机器人软件架构完成各功能模块之间的协同。
📌 注意事项
- Docker 镜像文件体积较大,下载和导入过程中请确保磁盘空间充足;
- 加载镜像前请确认 Docker 服务已经正常启动;
- 使用 GPU 功能时,请确认宿主机 NVIDIA 驱动及容器运行环境配置正确;
- 不同宿主机的 GPU、Docker、显示环境和设备映射配置可能存在差异;
- 本仓库主要用于 OmniPick 项目的运行环境保存、迁移与实验复现。
📄 项目说明
Project: OmniPick Application: 智能商超自主拣选 / Autonomous Mobile Manipulation Framework: ROS 2 Humble + Nav2 Deployment: Docker
OmniPick —— 面向智能商超场景的感知、导航与操作一体化自主机器人系统。
