** 注意:这是gazebo镜像的arm32v7架构构建的“按架构”仓库——更多信息,请参见镜像文档中的“除amd64外的架构?”和*镜像FAQ中的“Git中镜像的源已更改,现在该怎么办?”。
-** 维护者:**开源机器人基金会
-** 获取帮助:**Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接警告:此镜像在arm32v7架构上不受支持-** 问题反馈地址:[*]
-** 支持的架构:(更多信息) 无支持的架构**-** 已发布镜像制品详情:**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/" arm32v7/gazebo
需要注意的是,gzserver将日志记录到名为/root/.gazebo/server-<port>/*.log的文件中,其中<port>是服务器监听的端口(默认***)。如果使用相同的默认端口和相同的主机端目录运行并挂载多个容器,它们将发生冲突并尝试写入同一个文件。如果要在同一docker主机上运行多个gzserver,则需要更巧妙地挂载~/.gazebo/子文件夹。
从Gazebo 5.0版本开始,无头实例gzserver下的物理仿真工作正常。然而,某些应用可能需要图像渲染相机视图和其他传感器模态的光线追踪。对于Gazebo,这需要运行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 arm32v7/gazebo
现在使用相同的入口点在容器中打开新的bash会话以配置环境。然后下载double_pendulum模型并将其加载到仿真中。
console$ docker exec -it arm32v7/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的地址设置为容器的公共地址,使用gzclient GUI连接到容器内的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:一般信息和教程
Mailing List:加入获取新闻和公告
Simulation Models:机器人、对象和其他仿真模型
Blog:保持更新
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