
维护者:
开源机器人基金会
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接无支持的标签
提交issue的位置:
[***]
支持的架构:(更多信息)
无支持的架构
发布的镜像工件详情:
repo-info 仓库的 repos/gazebo/ 目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/gazebo 标签
official-images 仓库的 library/gazebo 文件 (历史记录)
本描述的来源:
docs 仓库的 gazebo/ 目录 (历史记录)
机器人仿真是每个机器人专家工具箱中的必备工具。设计良好的仿真器能够快速测试算法、设计机器人,并使用真实场景进行回归测试。Gazebo能够准确高效地仿真复杂室内外环境中的机器人群体。它提供强大的物理引擎、高质量图形和便捷的编程接口。最重要的是,Gazebo是免费的,拥有活跃的社区。
***.org/wiki/Gazebo_simulator
,只需使用额外的卷参数启动容器:
console$ docker run -v "/home/ubuntu/.gazebo/:/root/.gazebo/" gazebo
需要注意的是,gzserver会记录到名为/root/.gazebo/server-<port>/*.log的文件,其中<port>是服务器监听的端口(默认***)。如果使用相同的默认端口和相同的主机端目录运行和挂载多个容器,它们将冲突并尝试写入同一个文件。如果要在同一docker主机上运行多个gzserver,则需要对~/.gazebo/子文件夹进行更巧妙的卷挂载。
从Gazebo 5.0版本开始,无头实例的gzserver下的物理仿真工作正常。但是,某些应用可能需要图像渲染相机视图和其他传感器模态的光线追踪。对于Gazebo,这需要运行X服务器来渲染和捕获场景。此外,还需要图形硬件加速以获得合理的实时帧率。为此,需要将额外的图形设备挂载到容器中并链接到运行的X服务器。为了保持通用和简约的镜像,使其不与主机系统软件和硬件紧密耦合,此处不包含具有这些额外要求和说明的标签。但是,您可以使用此仓库构建和自定义自己的镜像以适应您的软件/硬件配置。OSRF的Docker Hub组织资料包含Gazebo仓库osrf/gazebo,该仓库基于此仓库,但包含这些高级用例的额外标签。
如果不仅希望运行Gazebo,还希望为其开发,即编译自定义插件或基于ROS的消息接口构建,则需要libgazebo标签中包含的开发包。如果只需要以无头服务器模式运行Gazebo,则gzserver标签的镜像大小更小。
在这个简短示例中,我们将启动一个运行gazebo服务器的新容器,使用本地gazebo客户端连接到它,然后生成一个双倒立摆并记录仿真以供以后回放。
首先启动一个带有挂载日志卷的gazebo服务器,并将容器命名为gazebo:
console$ docker run -d -v="/tmp/.gazebo/:/root/.gazebo/" --name=gazebo gazebo
现在使用相同的入口点在容器中打开一个新的bash会话来配置环境。然后下载double_pendulum模型并将其加载到仿真中。
console$ docker exec -it gazebo bash $ apt-get update && apt-get install -y curl $ curl -o double_pendulum.sdf [***] $ gz model --model-name double_pendulum --spawn-file double_pendulum.sdf
要开始记录运行中的仿真,只需使用
gz log即可。
console$ gz log --record 1
几秒钟后,通过禁用相同的标志停止记录。
console$ gz log --record 0
要查看记录的日志,我们可以导航到日志目录并使用
gz log打开并检查摆的运动和关节状态。这将允许您逐步查看摆连杆的位姿。
console$ cd ~/.gazebo/log/*/gzserver/ $ gz log --step --hz 10 --filter *.pose/*.pose --file state.log
如果本地安装了等效版本的Gazebo,可以通过将主URI的地址设置为容器的公共地址,使用本地gazebo客户端连接到容器内的gzserver。
console$ export GAZEBO_MASTER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' gazebo) $ export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:*** $ gzclient --verbose
在gzclient的渲染OpenGL视图中,您应该看到之前创建的双倒立摆仍在摆动。从这里,您可以使用图形界面控制或监控仿真状态,添加更多摆,重置世界,制作更多日志等。要退出仿真,请关闭gzclient窗口并停止容器。
console$ docker stop gazebo $ docker rm gazebo
即使旧的gazebo容器已被删除,我们仍然可以看到记录的日志保存在主机卷目录中。
console$ cd /tmp/.gazebo/log/ $ ls
同样,如果您的主机系统上安装了等效版本的Gazebo,可以使用记录的日志文件通过gazebo回放仿真。
console$ export GAZEBO_MASTER_IP=127.0.0.1 $ export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:*** $ cd /tmp/.gazebo/log/*/gzserver/ $ gazebo --verbose --play state.log
Gazebosim.org:Gazebo主网站
Answers:查找答案和提问
Wiki:一般信息和教程
邮件列表:获取新闻和公告
仿真模型:机器人、物体和其他仿真模型
博客:保持最新状态
OSRF:开源机器人基金会
Gazebo采用Apache 2.0开源许可证。
与所有Docker镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可证(例如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能位于repo-info仓库的gazebo/目录中。
至于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429