ROS2 仿真学习01 Gazebo 操作界面介绍

2024-01-16 01:12

本文主要是介绍ROS2 仿真学习01 Gazebo 操作界面介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开终端,输入命令

ros2 launch gazebo_ros gazebo.launch.py

即可看到图所示的软件环境

Gazebo软件环境
在这里插入图片描述

界面中间栅格部分为场景,作为模拟器的主要组成部分,场景是模拟对象被放置的地
方,也是用户与模拟器交互的可视化区域,如图

场景界面
在这里插入图片描述

通过拖动左右两侧面板的控制条,可以显示、隐藏面板或调整面板大小。在启动
Gazebo时,默认显示左侧面板隐藏右侧面板。如图所示,右侧面板主要是在场景中当
物体被选中时才会弹出来,用于设置被选对象的属性;左侧面板主要由以下3个部分构成。

● World:“世界”选项卡显示当前在场景中的模型,并允许查看和修改模型参数,比
如它们的姿势。还可以通过展开“GUI”选项调整相机姿势来更改相机视图角度。
● Insert :向模拟添加新对象(模型)的位置插入选项卡。要查看模型列表,需要单击
箭头小图标以展开文件夹,在要插入的模型上单击并释放,然后在场景中再次单击以
添加它。
● Layers:“层”选项卡组织和显示模拟中可用的不同可视化组。一个层可以包含一个
或多个模型,打开或关闭图层将显示或隐藏该图层中的模型

控制面板
在这里插入图片描述

选项卡与工具条

Gazebo主要有两个工具条,分别位于场景的顶部和底部。场景顶部的工具条具体操作
功能如图所示。

在这里插入图片描述

各个操作的具体含义如下。

● Select mode:选择模式,用于选择操作对象。

● Translate mode:选中物体并移动。

● Rotate mode:选中物体并旋转。

● Scale mode:选中物体进行缩放。

● Undo/Redo:撤销/重做操作。

● Simple shapes:一些可供拖进场景的内置简单几何体。

● Lights:对场景添加灯光操作。

● Copy/Paste:复制/粘贴选中的对象。

● Align:对齐场景中的模型。

● Snap:捕获模型。

● Change view:改变观察场景的视角。

场景底部的工具条主要用于设置仿真时间和步长等,具体如图所示。

在这里插入图片描述

和大多数应用一样,Gazebo的最上方是菜单栏。菜单栏主要包含6个部分:File、Edit、Camera、View、Window和Help。每个部分具体操作说明如下。
在这里插入图片描述

(1)File(文件)
在这里插入图片描述

Save World(Save the world as-is):保存环境。

Save World As(Save the world as-is & provide a name):环境另存为。

Save Configuration(Save your Gazebo interface configuration):保存配置。
Clone world(Start new simulation from the current state):复制环境。
Quit(QuitJclose Gazebo):退出。

(2)Edit(编辑)
Reset Model Poses(Reset models to original poses; do not reset time):重复模型位姿。

Reset World(Reset everything in world; reset time):重置环境。

Building Editor(Construct a building):构建编辑器。

Model Editor(Build an articulated object):模型编辑器。

(3)Camera(相机)

Ormographic(View the scene with no perspective):无透视情况下查看场景。

Perspective(View scene with perspective projection):透视情况下查看场景。

FPS View Control(Control view as First-person Shooter: WASD keys & mouse):第一视角。

Orbit View Control(Control view by rotating around a point with the mouse):旋转视角。

Reset View Angle(Move view to the initial):重置视角。

(4)View(显示)

Grid(Display ground plane grid):栅格。

Origin(Display world origin):原点。

Transparent(Display models as transparent):透明。

Wireframe(Display models as wireframe):显示线框。

Collisions(Display model collisions):显示碰撞。

Joints(Display model joints):显示关节。

Center of Mass(Display model centers of mass):显示质心。

Inertias(Display model inertias):显示模型惯性。

Contacts(Display collision points):显示碰撞点。

Link Frames(Display coordinate frames for links):显示链接的坐标系。

(5)Window(窗口)

Topic Visualization(Visualize messages being published per topic):话题可视化。
Oculus Rift(Integrate an Oculus Rift):虚拟现实。

Show GUI Overlays(Show overlays from GUI Plugins):界面插件显示。
Show Toobars(Show/hide top & bottom toolbars):工具显示。

Full Screen(Make the Scene full screen):全屏。

(6)Help(帮助)
Hotkey Chart(Open hot key chart):快捷键表。
About(View info about Gazebo):相关信息。
使用Gazebo进行物体运动模拟时,需要选中模型并修改参数等,因此需要频繁地使用

鼠标操作。Gazebo中对应的鼠标操作说明如图所示。

鼠标操作
在这里插入图片描述

模拟场景组成元素

模拟场景通常被称为世界,开发者可根据自己的需求设计不同属性的世界环境。

世界通常包含的组成元素有World、Models、Links、Collision Objects、Visual Objects、Sensors和Plugins,其组织结构如图所示

在这里插入图片描述

这篇关于ROS2 仿真学习01 Gazebo 操作界面介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/610847

相关文章

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交