
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本Docker镜像旨在简化和改进模拟器的访问方式。
目前,其主要用途是为开源https://github.com/UniversalRobots/Universal_Robots_ROS_Driver%E5%92%8C%E5%BC%80%E6%BA%90https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver%E6%8F%90%E4%BE%9B%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95%E6%94%AF%E6%8C%81%E3%80%82
此外,由于用户界面可通过VNC连接访问,该模拟器也适用于其他场景。
免责声明:本Docker镜像由UR Labs创建,目前尚未纳入官方发布版本。
拉取Docker镜像:
bashdocker pull docker.xuanyuan.run/universalrobots/ursim_cb3
注意:可使用标签拉取特定版本。
运行镜像:
bashdocker run --rm -it docker.xuanyuan.run/universalrobots/ursim_cb3
可通过VNC应用连接到docker_ip:5900查看机器人用户界面,或通过Web浏览器访问http://docker_ip:6080/vnc.html?host=docker_ip&port=6080查看。
访问界面需获取Docker容器的IP,可在启动模拟器的终端中查看,具体请遵循终端中的指示。
容器IP可用于通过机器人的各种接口与机器人通信。接口及其对应端口概述可参见此处。
也可将VNC端口转发到主机,从而通过localhost访问机器人用户界面:
bash# VNC端口:5900 # Web浏览器VNC端口:6080 docker run --rm -it -p 5900:5900 -p 6080:6080 docker.xuanyuan.run/universalrobots/ursim_cb3
-p 5900:5900将VNC端口发布到主机,可通过VNC应用连接localhost:5900访问;-p 6080:6080允许通过Web浏览器访问http://localhost:6080/vnc.html?host=localhost&port=6080。
可通过基于此镜像构建新镜像来扩展功能。以下示例在构建时安装https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap%EF%BC%8C%E5%B9%B6%E5%A4%8D%E5%88%B6%60programs%60%E6%96%87%E4%BB%B6%E5%A4%B9%E5%88%B0%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%BB%A5%E5%8C%85%E5%90%AB%E9%A2%84%E5%88%B6%E7%A8%8B%E5%BA%8F%EF%BC%9A
DockerfileFROM docker.xuanyuan.run/universalrobots/ursim_cb3 # 安装URCap COPY externalcontrol-1.0.5.urcap /urcaps/externalcontrol-1.0.5.jar # 安装预制程序 COPY programs ursim/programs
注意:不要覆盖入口点(entrypoint),否则会导致模拟器无法启动。
UR机器人可通过不同接口与外部设备交互,这些接口在模拟器中同样可用。接口及其对应端口概述可参见此处。
可使用容器IP与此类接口通信,也可通过-p选项将端口暴露到主机,通过localhost通信,例如:
bash# 仪表盘端口:29999 docker run --rm -it -p 29999:29999 docker.xuanyuan.run/universalrobots/ursim_cb3
-p 29999:29999将仪表盘服务器接口端口暴露到主机,类似方法可用于其他接口端口。
可通过环境变量ROBOT_MODEL选择机器人模型,可选值为UR3 UR5 UR10,默认值为UR5。
使用-e选项设置环境变量,例如:
bash# 机器人模型:UR10 docker run --rm -it -e ROBOT_MODEL=UR10 docker.xuanyuan.run/universalrobots/ursim_cb3
/ursim/programs目录用于存储使用模拟器时创建的机器人程序。若需在容器生命周期外持久化这些文件,可将/ursim/programs挂载到主机的外部卷,例如:
bash# 将 ~/programs 挂载到 /ursim/programs docker run --rm -it -v "${HOME}/programs:/ursim/programs" docker.xuanyuan.run/universalrobots/ursim_cb3
URCaps有三种安装方式:
继承Docker镜像并通过复制命令将URCap添加到/urcaps文件夹:
DockerfileFROM docker.xuanyuan.run/universalrobots/ursim_cb3 # 安装URCap COPY externalcontrol-1.0.5.urcap /urcaps/externalcontrol-1.0.5.jar
启动时将/urcaps文件夹挂载到包含URCaps jar文件的主机目录(注意:主机目录中需为.jar文件,而非.urcap文件):
bash# 将 ~/urcaps 挂载到 /urcaps docker run --rm -it -v "${HOME}/urcaps:/urcaps" docker.xuanyuan.run/universalrobots/ursim_cb3
此方式可在启动容器时安装URCaps。
与在真实机器人上安装URCap类似的传统方式:
bashdocker volume create ursim-gui-cache
bashdocker volume create urcap-build-cache
此时可在模拟器内安装URCap,完成后按重启,模拟器重启时容器会停止,需使用上述相同命令重新运行容器。bashdocker run --rm -it --mount source=ursim-gui-cache,target=/ursim/GUI --mount source=urcap-build-cache,target=/ursim/.urcaps docker.xuanyuan.run/universalrobots/ursim_cb3
容器运行后,即可在模拟器中使用URCap。
除了将端口转发到本地主机外,还可为运行模拟器的容器分配特定IP地址:
创建Docker网络:
bashdocker network create --subnet=192.168.56.0/24 ursim_net
运行容器时分配特定IP地址:
bash# IP:192.168.56.101 docker run --rm -it --net ursim_net --ip docker.xuanyuan.run/192.168.56.101 -d universalrobots/ursim_cb3
此方式可将其他Docker容器分配到同一网络,实现容器间通信。
可查看Polyscope和控制日志:
容器运行时访问Polyscope和控制日志:
bash# 容器名称:ursim_cb3 docker run --rm -it --name ursim_cb3 docker.xuanyuan.run/universalrobots/ursim_cb3
bashdocker exec ursim_cb3 tail -f -n200 /ursim/polyscope.log
bashdocker exec ursim_cb3 tail -f -n200 /ursim/URControl.log
运行容器时将日志打印到终端: 可通过向入口点文件传递参数来打印Polyscope或控制日志:
bash# 容器名称:ursim_cb3 docker run --rm -it --name ursim_cb3 docker.xuanyuan.run/universalrobots/ursim_cb3 "polyscope_log"
bash# 容器名称:ursim_cb3 docker run --rm -it --name ursim_cb3 docker.xuanyuan.run/universalrobots/ursim_cb3 "control_log"
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务