- Unity frontend with ROS-TCP-Connector for ROS2 communication - Docker-based ROS2 Jazzy backend with MoveIt2 integration - Support for 1-9 DOF manipulators - UR5 robot configuration and URDF files - Assembly task feasibility analysis tools - Comprehensive documentation and deployment guides 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
5.1 KiB
5.1 KiB
Unity-ROS2 Docker部署指南
🐳 Docker容器化部署方案
本指南介绍如何使用Docker容器部署Unity-ROS2机器人控制系统,无需安装WSL或本地ROS2环境。
📋 部署架构
Windows 11 Host
├── Unity Editor (开发环境)
├── Docker Desktop
└── ROS2 Jazzy Container
├── ROS-TCP-Endpoint
├── MoveIt2
└── 机器人控制节点
🛠️ 环境要求
必需组件
- Windows 11 (推荐) 或 Windows 10
- Docker Desktop 4.0+
- Unity 2022.3 LTS 或更高版本 (推荐 2022.3.57f1c2)
- 内存: 最少8GB,推荐16GB
- 存储: 至少10GB可用空间
当前环境状态
✅ Docker: 版本 28.4.0 已安装
✅ 系统: Windows 10 Pro for Workstations
⚠️ 建议: 升级到Windows 11以获得更好性能
🚀 快速部署
第一步:构建Docker镜像
# 进入项目目录
cd "D:\ros2\DockerRos2Arm-niryo_arm\Unity_MoveIt2"
# 构建ROS2镜像(首次运行需要10-15分钟)
.\scripts\start-ros2-docker.ps1 -Build
第二步:启动ROS2服务
# 启动主服务
.\scripts\start-ros2-docker.ps1
# 或启动包含监控的完整服务
.\scripts\start-ros2-docker.ps1 -Monitor
第三步:验证部署
# 检查系统状态
.\scripts\start-ros2-docker.ps1 -Status
# 查看服务日志
.\scripts\start-ros2-docker.ps1 -Logs
📊 部署状态
当前进度
- ✅ Docker配置文件: 已创建
- ✅ 启动脚本: 已完成
- 🔄 镜像构建: 正在进行中
- ⏳ 服务测试: 等待构建完成
- ⏳ Unity集成: 待开始
镜像构建内容
- 基础镜像: Ubuntu 24.04 LTS
- ROS2版本: Jazzy Desktop
- 核心组件:
- ROS-TCP-Endpoint (Unity通信)
- MoveIt2 (运动规划)
- ROS2 Control (机器人控制)
- 可视化工具 (RQT, RViz)
🔧 配置说明
网络配置
- 主端口: 10000 (ROS-TCP-Endpoint)
- 备用端口: 10001, 10002
- 容器网络: 172.20.0.0/16
- Unity连接地址: localhost:10000
环境变量
ROS_DOMAIN_ID=0 # ROS2域ID
RMW_IMPLEMENTATION=rmw_cyclonedx_cpp # 中间件实现
ROS_LOCALHOST_ONLY=0 # 允许外部连接
资源限制
- 内存限制: 4GB
- CPU限制: 2核心
- 存储: 自动管理
🎯 Unity集成配置
连接参数
// Unity中的ROS连接配置
public class ROSConnectionSettings
{
public string rosIPAddress = "localhost";
public int rosPort = 10000;
public float timeoutDuration = 10f;
}
测试连接
- 启动Docker容器
- 在Unity中运行测试场景
- 检查控制台连接状态
- 验证消息收发
📋 管理命令
基本操作
# 启动服务
.\scripts\start-ros2-docker.ps1
# 停止服务
.\scripts\start-ros2-docker.ps1 -Stop
# 查看状态
.\scripts\start-ros2-docker.ps1 -Status
# 查看日志
.\scripts\start-ros2-docker.ps1 -Logs
# 重新构建
.\scripts\start-ros2-docker.ps1 -Build
高级操作
# 启动监控服务
.\scripts\start-ros2-docker.ps1 -Monitor
# 查看特定服务日志
.\scripts\start-ros2-docker.ps1 -Logs -Service ros2-monitor
# 进入容器调试
docker exec -it unity-ros2-system bash
🔍 故障排除
常见问题
1. Docker构建失败
# 清理Docker缓存
docker system prune -f
# 重新构建
.\scripts\start-ros2-docker.ps1 -Build
2. 端口占用
# 检查端口占用
netstat -ano | findstr :10000
# 停止占用进程
taskkill /PID <进程ID> /F
3. Unity连接失败
- 检查防火墙设置
- 验证容器是否运行
- 确认端口映射正确
4. 性能问题
# 增加Docker资源分配
# Docker Desktop -> Settings -> Resources
# 内存: 8GB+
# CPU: 4核心+
日志收集
# 收集所有日志
.\scripts\start-ros2-docker.ps1 -Logs > ros2_logs.txt
# Docker系统信息
docker system info > docker_info.txt
# 容器状态
docker ps -a > container_status.txt
📈 性能优化
Docker优化
// Docker Desktop配置建议
{
"memory": 8192,
"cpus": 4,
"swap": 2048,
"experimental": true,
"buildkit": true
}
网络优化
- 使用host网络模式(Linux)
- 配置防火墙规则
- 优化TCP缓冲区大小
🎯 下一步计划
即将完成
- 镜像构建完成 - 预计5-10分钟
- 服务启动测试 - 验证ROS2环境
- Unity连接测试 - 确保通信正常
后续任务
- Unity项目配置 - 导入和配置
- 机器人模型加载 - URDF文件
- 运动规划测试 - MoveIt2集成
- 性能基准测试 - 延迟和吞吐量
📞 技术支持
调试信息收集
# 生成调试报告
.\scripts\start-ros2-docker.ps1 -Status > debug_report.txt
docker logs unity-ros2-system >> debug_report.txt
联系方式
- 项目仓库: GitHub Issues
- 技术文档: README.md
- 系统报告: SYSTEM_VERIFICATION_REPORT.md
部署指南版本: v1.0
最后更新: 2025年9月30日
部署方式: Docker容器化
目标系统: Windows 11 + Docker Desktop