MATLAB - Gazebo 仿真环境

系列文章目录


前言

机器人系统工具箱(Robotics System Toolbox™)为使用 Gazebo 模拟器可视化的模拟环境提供了一个界面。通过 Gazebo,您可以在真实模拟的物理场景中使用机器人进行测试和实验,并获得高质量的图形。

Gazebo 可在 Linux® 机器或 Linux 虚拟机上运行,并使用插件包与 MATLAB® 和 Simulink® 进行通信。在 Gazebo 中进行仿真时,请注意以下要求和限制。


一、在 Linux 虚拟机上运行 Gazebo 仿真器

从 "Virtual Machine with ROS and Gazebo "中下载并安装虚拟机(VM)。在虚拟机中,所需的 Gazebo 插件位于 /home/user/src/GazeboPlugin 文件夹中。虚拟机包含这些软件,并有这些硬件要求。

虚拟机中包含的软件

  • 操作系统 - Ubuntu® Ubuntu 20.04.3 LTS (Focal Fossa)
  • 软件包 - CMake 3.16.3、Gazebo 11 和 Gazebo 插件

最低硬件要求

  • 处理器(CPU)- 四核 Intel® i5 或同等配置
  • 内存(RAM)- 4 GB 或以上
  • 图形卡(GPU)- 1 GB 或更大显存的专用 GPU
  • 磁盘空间 - 至少 20 GB 可用磁盘空间

1.1 ROS 2 Foxy and Gazebo

本页列出了作为机器人系统工具箱(Robotics System Toolbox™)和 ROS 工具箱(ROS Toolbox™)补充的虚拟机的安装说明。您可以使用 MATLAB® 和 Simulink® 与 Gazebo 机器人模拟器以及外部 ROS(机器人操作系统)和 ROS 2 网络协同工作。Ubuntu® Focal 20.04 虚拟机适用于多种平台(Windows®、Mac 和 Linux®),包含以下内容:

  • ROS 2 Foxy 桌面安装
  • ROS Noetic 桌面安装
  • Gazebo 机器人模拟器 11.0.0
  • 模拟 TurtleBot® 3 的 Gazebo 世界示例

支持的平台包括 64 位 Windows、64 位 Linux 和 64 位 Mac OS X。安装说明按主机平台列出。


1.1.1 Windows(64 位)

  1. 下载并安装 VMware® Player 软件(许可证)(VMware® Player software (license)icon-default.png?t=N7T8https://www.vmware.com/download/eula/universal_eula.html)。
  2. 下载包含虚拟机的存档(archiveicon-default.png?t=N7T8https://ssd.mathworks.com/supportfiles/ros/virtual_machines/v3/ros_noetic_foxy_gazebov11_linux_win_v1.zip)。
  3. 将存档解压缩到硬盘驱动器上的某个位置。
  4. 启动 VMware Player。
  5. 在 VMware Player 中,按打开虚拟机。
  6. 浏览到 Ubuntu 映像的位置,选择 ros_noetic_foxy_gazebov11.vmx 文件,然后按确定。
  7. 现在虚拟机已添加到库中。
  8. 在 VMware Player 中启动虚拟机。
  9. 如果打开的窗口询问您是否复制或移动了虚拟机,请按我复制了它。 

1.1.2 Mac OS X(64 位)


该平台使用 VirtualBox® 运行虚拟机,因为 VMware Player 不适用于 Mac。如果您拥有 VMware Fusion® 的有效许可证,则可以按照 Windows 的安装说明进行安装。

下载并安装 VirtualBox® (VirtualBox®icon-default.png?t=N7T8https://download.virtualbox.org/virtualbox/6.1.26/VirtualBox-6.1.26-145957-OSX.dmg)for OS X 主机(许可证)((license)icon-default.png?t=N7T8https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)。
将虚拟机(virtual machineicon-default.png?t=N7T8https://ssd.mathworks.com/supportfiles/ros/virtual_machines/v3/ros_noetic_foxy_gazebov11_mac_v1.ova)下载到硬盘驱动器上的文件夹。
启动 VirtualBox。
在 VirtualBox 中,选择文件菜单中的导入设备条目。
选择刚刚下载的文件,然后按 Next(下一步)。
验证虚拟机设置,然后按导入。导入过程可能需要几分钟。
虚拟机现已添加到库中。
在 VirtualBox 中,启动虚拟机。
根据主机的网络配置,您可能需要调整虚拟机的网络设置。如果首次启动时虚拟机显示找不到网络接口的警告,请按更改网络设置并选择主机的主网络适配器名称。

1.1.3 Linux(64 位)


下载 VMware® Player 软件捆绑包(许可证)。
以管理员权限执行软件包安装程序,安装 VMware Player。
下载包含虚拟机的存档(archiveicon-default.png?t=N7T8https://ssd.mathworks.com/supportfiles/ros/virtual_machines/v3/ros_noetic_foxy_gazebov11_linux_win_v1.zip)。
将存档解压缩到硬盘驱动器上的某个位置。
启动 VMware Player。
在 VMware Player 中,按打开虚拟机。
浏览到 Ubuntu 映像的位置,选择 ros_noetic_foxy_gazebov11.vmx 文件,然后按确定。
现在虚拟机已添加到库中。
在 VMware Player 中启动虚拟机。
如果打开的窗口询问您是否复制或移动了虚拟机,请按我复制了它。

二、局限性


MATLAB

  • 不支持代码生成。
  • MATLAB 与 Gazebo 模拟器之间的通信是异步的。

Simulink

  • 不支持代码生成。
  • 不支持快速加速器模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# OpenCV 基本绘画(直线、椭圆、矩形、圆、多边形、文本)(四)

我们将在这里演示如何使用几何形状和文本注释图像。 Cv2.Line() 绘制直线 Cv2.Ellipse() 绘制椭圆Cv2.Rectangle() 绘制矩形Cv2.Circle() 绘制圆Cv2.FillPoly() 绘制多边形Cv2.PutText() 绘制文本 一、绘制直线 Cv2.Line(image, start_point, end_point, color, thickness) …

从传统型数据库到非关系型数据库

一 什么是数据库 数据库顾名思义保存数据的仓库,其本质是一个具有数据存储功能的复杂系统软件,数据库最终把数据保存在计算机硬盘,但数据库并不是直接读写数据在硬盘,而是中间隔了一层操作系统,通过文件系统把数据保存…

2023ChatGPT浪潮,2024开源大语言模型会成王者?

《2023ChatGPT浪潮,2024开源大语言模型会成王者?》 一、2023年的回顾 1.1、背景 我们正迈向2023年的终点,回首这一年,技术行业的发展如同车轮滚滚。尽管互联网行业在最近几天基本上处于冬天,但在这一年间我们仍然经…

递归经典三题

目录1.斐波那契数列: 2.青蛙跳台阶问题: 3.汉诺塔问题 1.斐波那契数列: 由斐波那契数列从第三项开始,每一项等于前两项之和,可以使用递归计算给定整数的斐波那契数。 1,1,2,3&am…

酒水品牌网站建设的效果如何

酒是人们餐桌常常出现的饮品,市场中的大小酒品牌或经销商数量非常多,国内国外都有着巨大市场,酒讲究的是品质与品牌,信息发展迅速的时代,商家们都希望通过多种方式获得生意增长。 酒商非常注重品牌,消费者也…

为什么要编写测试用例,测试用例写给谁看?

“为什么要编写测试用例,测试用例写给谁看”,这个问题看似简单,但却涵盖了一系列复杂的考虑因素,并不太好回答。 为了向各位学测试的同学们解释清楚“为什么编写测试用例是至关重要的”,我将通过以下5个方面进行展开&…

EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(二)EEMD

往期精彩内容: 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测(三)EMD-LSTM-Attention模型-CSDN博客 风速预测(四&#xf…

鸿蒙 - arkTs:渲染(循环 - ForEach,判断 - if)

ForEach循环渲染: 参数: 要循环遍历的数组,Array类型遍历的回调方法,Function类型为每一项生成唯一标识符的方法,有默认生成方法,非必传 使用示例: interface Item {name: String,price: N…

作物模型中引入灌溉参数

在没有设置灌溉时,土壤水分模拟结果如下找到了PCSE包中田间管理文件的标准写法 在agromanager.py中有详细的信息(如何设置灌溉以及施肥量) Version: 1.0 AgroManagement: - 2022-10-15:CropCalendar:crop_name: sugar-beetvariety_name:

HarmonyOS ArkTS 中DatePicker先择时间 路由跳转并传值到其它页

效果 代码 代码里有TextTimerController 这一种例用方法较怪,Text ,Button Datepicker 的使用。 import router from ohos.router’则是引入路由模块。 import router from ohos.router Entry Component struct TextnewClock {textTimerController: TextTimerContr…

管理类联考——数学——真题篇——按题型分类——充分性判断题——蒙猜E

老老规矩,看目录,平均每年2E,跟2D一样,D是全对,E是全错,侧面也看出10道题,大概是3A/B,3C,2D,2E,其实还是蛮平均的。但E为1道的情况居多。 第20题…

Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在

场景 Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入: Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入-CSDN博客 上面讲使用pg_dump进行postgresql的导出与导入。 如果使用Navicat可以直接连接两个库,则可直接使…

材料论文阅读/中文记录:Scaling deep learning for materials discovery

Merchant A, Batzner S, Schoenholz S S, et al. Scaling deep learning for materials discovery[J]. Nature, 2023: 1-6. 文章目录 摘要引言生成和过滤概述GNoME主动学习缩放法则和泛化 发现稳定晶体通过实验匹配和 r 2 S C A N r^2SCAN r2SCAN 进行验证有趣的组合家族 扩大…

通用的java中部分方式实现List<自定义对象>转为List<Map>

自定义类 /*** date 2023/12/19 11:20*/ public class Person {private String name;private String sex;public Person() {}public Person(String name, String sex) {this.name name;this.sex sex;}public String getName() {return name;}public String getSex() {return…

鸿蒙Harmony4.0开发-ArkTS基础知识运用

概念 1.渲染控制语法: 条件渲染:使用if/else进行条件渲染。 Column() {if (this.count > 0) {Text(count is positive)} }循环渲染:开发框架提供循环渲染(ForEach组件)来迭代数组,并为每个数组项创建…

2023人物专访「中国新时代艺坛楷模」蓝弘艺术专题报道

蓝弘,名文珺,广东客家人。十六届人大代表,广州蓝弘艺术中心创办人,民建中央画院广东分院副院长,广东省美术家协会会员,广州江海地区书画家协会会长。 蓝弘画家被世界教科组织联合协会评为“世界艺术大使”…

【操作系统】快速做题向 优先权调度(抢占式/非抢占式)算法做题步骤分析

理论知识理解上面这几句话就行。 抢占,非抢占的区别就是,能不能直接中断某正在进行的优先级没我高的进程的运行。 非抢占只要某进程已经在运行了,后面不论出现多少优先级多高的进程,都得老老实实等待这个进程运行完毕&#xff0…

RuntimeError: Inference tensors do not track version counter.

问题&#xff1a; Testing DataLoader 0: 0%| | 0/78 [00:00<?, ?it/s]Failed to collect metadata on function, produced code may be suboptimal. Known situations this can occur are inference mode only compilation involving resize_ or prims (!sc…

NFC标签写入网址,NTAG213写入网址URL

NFC标签常用的有NTAG213,/215/216以及国产的F8123&#xff0c;可以写入网址&#xff0c;应用在产品身份识别&#xff0c;溯源&#xff0c;防伪等&#xff0c;我们使用NFC读写器ACR122u可以批量快速的写入网址URL 一、打开软件 二、把需要写的网址&#xff0c;整理到Excel表格中…