amd64/gazebo** 注意 **:这是gazebo官方镜像的amd64架构"per-architecture"仓库——更多信息请参见官方镜像文档中的"除amd64外的架构?"和官方镜像FAQ中的"镜像源在Git中已更改,该怎么办?"。
-** 维护者 **:
开源机器人基金会
-** 获取帮助 **:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接警告 :此镜像在amd64架构上不被支持-** 问题提交地址 :
[*]
-** 支持的架构 :(更多信息) 无支持的架构 - 已发布镜像制品详情 **:
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/" amd64/gazebo
注意,gzserver将日志写入/root/.gazebo/server-<port>/*.log文件(<port>为服务器监听端口,默认***)。如果使用相同默认端口和相同主机目录运行并挂载多个容器,它们将冲突并尝试写入同一文件。如果要在同一Docker主机上运行多个gzserver,需要更巧妙地挂载~/.gazebo/子文件夹。
从Gazebo 5.0版本开始,无头gzserver实例的物理仿真工作正常。但某些应用可能需要图像渲染相机视图和其他传感器模态的光线追踪。Gazebo需要运行中的X服务器进行渲染和场景捕获,此外还需要图形硬件加速以实现合理的实时帧率。为保持镜像的通用性和简洁性,不与主机系统软件和硬件紧密耦合,此处不包含这些高级用例的标签。但可以使用此仓库构建和自定义符合自身软件/硬件配置的镜像。OSRF的Docker Hub组织osrf/gazebo基于此仓库,包含这些高级用例的额外标签。
如果不仅希望运行Gazebo,还需要进行开发(如编译自定义插件或基于ROS消息接口构建),需要libgazebo标签中包含的开发包。如果只需运行无头服务器,gzserver标签镜像体积更小。
在此简短示例中,我们将启动一个运行gazebo服务器的新容器,使用本地gazebo客户端连接,生成双倒立摆并记录仿真供以后回放。
首先启动gazebo服务器,挂载日志卷并命名容器为gazebo:
console$ docker run -d -v="/tmp/.gazebo/:/root/.gazebo/" --name=gazebo amd64/gazebo
现在使用相同的入口点在容器中打开新的bash会话,然后下载double_pendulum模型并加载到仿真中。
console$ docker exec -it amd64/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地址设置为容器的公网地址连接到容器内的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,可以使用记录的日志文件回放仿真。
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/目录中找到一些自动检测到的附加许可信息。
对于任何预构建镜像的使用,镜像用户有责任确保对镜像中包含的所有软件的使用符合相关许可。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务