ROS集成:Gazebo与ROS紧密集成,可以通过ROS框架进行控制和通信,方便与其他ROS节点进行数据交换和协同工作。
使用roslaunch启动gazebo
要使用roslaunch启动Gazebo,您可以按照以下步骤进行操作:
- 创建一个launch文件:在终端中使用文本编辑器创建一个新的launch文件,例如gazebo.launch。
- 编辑launch文件:在launch文件中添加必要的节点和参数来启动Gazebo仿真环境。下面是一个示例launch文件的基本结构:
<launch>
<!-- 启动Gazebo -->
<node name="gazebo" pkg="gazebo_ros" type="gazebo" args="$(find your_package_name)/path_to_world_file.world" respawn="false" output="screen">
<!-- 设置与Gazebo相关的参数 -->
<param name="use_sim_time" value="true"/>
<!-- 添加其他需要的参数 -->
</node>
</launch>
在上面的示例中,您需要将your_package_name
和path_to_world_file.world
替换为您自己的软件包名称和世界文件路径。
3.保存launch文件:保存并关闭launch文件。
4.启动Gazebo:在终端中使用roslaunch命令来启动Gazebo仿真环境。
roslaunch your_package_name gazebo.launch
在Gazebo的工具栏中,常见的模式包括选择模式(Select Mode)、变换模式(Translate Mode)、旋转模式(Rotate Mode)和缩放模式(Scale Mode)。这些模式可以用于操作场景中的物体或模型。
- 选择模式(Select Mode):此模式允许您选择场景中的物体或区域。您可以单击物体直接选择,或使用框选来选择多个物体。选择后,您可以对选定的物体进行移动、旋转、缩放等操作。
- 变换模式(Translate Mode):这个模式允许您将选定的物体平移(移动)到新的位置。您可以选择一个或多个物体,并通过拖动它们来改变其位置。
- 旋转模式(Rotate Mode):这个模式允许您旋转选定的物体。您可以选择一个或多个物体,并通过拖动它们来改变其朝向或旋转角度。
- 缩放模式(Scale Mode):这个模式允许您对选定的物体进行缩放操作。您可以选择一个或多个物体,并通过拖动它们来调整其大小。
5.撤销操作:ctrl+z
6.恢复操作:shift+ctrl+z
7、后面的3个图标用于在Gazebo中生成各类简单的形状,主要有箱形、球形以及圆柱形。单击选择相应的图标,可以通过单击的方式将其放置于3D环境中的任意位置,放置模型之后,可以通过缩放模式来对模型在各个轴向上的大小进行调整。
8、再后面的3个图标用于点光源、聚光灯 、方向灯的照明。如果你想改变环境中的灯光和阴影,可以尝试这些方法。
9.复制(Ctrl+C);将选中的元素复制到剪贴板。粘贴(Ctrl+V):从剪贴板粘贴元素。 Selection 模式下,按下Ctrl 键,选择两个对象进行对齐操作:选中对象,单击此按钮,可以以相应对象的x、y或z轴进行对齐,或者以某一物体的最大、最小或中心进行对齐(此处具有多种对齐选项,读者可以自行探索)。 10、Snap模式(栅格捕捉模式,N):在此模式下,读者可以选择对象的位置进行捕获。视角变换:该功能使读者能够通过多个预置的角度来改变对场景的观察视角。 11、截图:通过摄像头图标可以保存一幅截图,并将截图保存在读者系统的~/gazebo/ pictures目录下。 12、日志数据(按组合键Ctrl+D):此功能使读者能够记录模拟数据,并进行回放。该数据格式为,log,其中包含了整个模型世界的初始化描述数据,以及一系列的模型状态。默认情况下,,1og文件保存于~1.gazebo/1og目录下。
在Gazebo的工具栏中,通常有一些按钮和选项,用于打开和管理场景中的世界(World)、插入模型(Insert)以及图层(Layers)等功能。以下是对这些功能的解释:
- World(世界):点击 "World" 按钮,可以打开世界编辑器面板。在世界编辑器中,您可以设置仿真世界的属性,如重力、光照、物理引擎参数等。此外,您还可以在世界编辑器中添加各种环境元素、地形、天空盒等。
- Insert(插入):点击 "Insert" 按钮,可以打开模型库面板。在模型库中,您可以浏览和选择各种可用的机器人模型、传感器、家具、建筑物等。选择所需模型后,将其拖动到场景中来进行插入。
- Layers(图层):点击 "Layers" 按钮,可以打开图层面板。在图层面板中,您可以管理场景中不同对象的可见性和互动性。通过选择或取消选择相应的图层,您可以控制哪些对象在场景中可见或可交互。
打开gazebo
roscore
rosrun gazebo_ros gazebo
gazebo --verbose -s libgazebo_ros_init.so -s libgazebo_ros_factory.so 你的world文件目录/fishbot.world
/home/zym/building_editor_models/factory01
搭建环境
- 场景界面(主显示区)
主显示区是gazebo仿真的主要部分,在这个位置显示我们的机器人模型等,我们在这个区域操控我们的仿真对象,并与地形环境进行交互。(在场景中点击鼠标左键可以进行视角移动,点击右键可以进行视角缩放,中键可以转动视角)
a.World:该选项卡显示当前场景中的模型,允许查看和修改模型参数(姿态调整),也可以通过展开“GUI”选项调整视角
b.Insert:该选项卡是向仿真场景中添加新对象(模型)的。单击文件夹展开,可以看到模型序列。点击模型可以在场景中部署他。
c.Layers:该选项卡是组织并显示仿真中可用的不同可视化组。一个图层可包含多个模型。关闭图层可以隐藏该图层的模型(跟画画的图层一个作用)
2)右面板
默认情况下,右面版是隐藏的。但我们可以通过滑动右侧的边框来让他出现。右面板可用来选定模型的关节进行交互,当然我们得提前在场景中选定模型。
3.获取模型
1.下载模型
git clone https://gitee.com/bingda-robot/gazebo_models.git
记得要将gazebo_models拷贝到.gazebo当中
2.添加模型到gazebo的Insert
1)在gazebo的Insert当中点击Add Path
2)找到.gazebo文件夹
3)点击gazebo_models文件夹然后点击Open,随后我们就能在gazebo里面看到一堆模型。
4)自己创建场景
点击Edit,选择里面的Building Editor
保存在File选项里面,保存好号就可以退出编辑界面回到我们的主场景了
/home/zym/building_editor_models/factory01
/home/zym/building_editor_models/factory02
cp -r models/gazebo_models/* model/
gazebo --verbose -s libgazebo_ros_init.so -s libgazebo_ros_factory.so /home/zym/worlds/factory01.world