前言
在部署真实机器人前进行gazebo仿真是十分必要的,本文记录了从零搭建仿真中遇到的问题。
一、gazebo中导入官方库
-
git clone https://github.com/osrf/gazebo_models
-
将得到的gazebo_models文件夹内容复制到 /usr/share/gazebo-11/models
如果没有权限无法粘贴,终端执行:sudo nautilus
-
现在在终端打开gazebo,点击左上角insert就可以看到倒入的模型库了
二、在blender中制作复杂地形图
在模型库中的模型十分有限,如果只是打算随便玩玩到也够用,但是如果需要复杂的地形进行仿真(尤其是使用3D点云数据分析复杂环境时)就不是很够用了
这时我们需要使用blender进行建模
blender自行下载
打开blender后参考视频How to create terrain for Gazebo simulation with Blender 2.9可以自行设计地形
如果要在画图中看到具体长度,可以按快捷键 N,具体步骤如下:
- 选择想要查看尺寸的物体。你可以通过在3D视图中点击物体或在"Outliner"窗口中选择物体来实现。
- 在3D视图的右侧,打开"Properties"面板(默认快捷键是"N")。
- 在"Properties"面板中,找到并点击"Item"选项卡。
- 在"Item"选项卡中,你可以看到"Transform"部分,这里显示了物体的位置(Location)、旋转(Rotation)和尺寸(Scale)。注意,这里的尺寸是相对于物体原始尺寸的比例。
- 如果你想看到物体的实际尺寸,你需要在"Dimensions"部分查看。这里显示的是物体在每个轴向(X、Y、Z)上的实际长度。
Blender的单位系统默认是"Blender
Units",可以在"Scene"属性中更改单位系统,例如改为"Metric"或"Imperial"。在"Metric"单位系统中,1个单位等于1米,在"Imperial"单位系统中,1个单位等于1英尺。
将画好的文件输出成.dae文件保存,然后参考项目 gazebo_terrain_tutorial的写法,需要有所需要材质的png文件
具体怎么写就不赘述了,最后将文件扔进/usr/share/gazebo-11/models,就可以在gazebo中插入了
三、gazebo仿真的gpu加速
没有显卡的加持,gazebo的帧率在30左右,有时很卡,使用gpu加速之后,帧率来到60,用着很丝滑。
但是后续仿真中小车模型还是很卡,不过环境是不卡了
在Gazebo中启动GPU加速,你需要确保你的系统已经安装了适当的图形驱动程序,并且你的Gazebo版本支持GPU加速。以下是一些基本步骤:
- 检查你的系统是否支持GPU加速:你可以通过在终端中运行
glxinfo | grep render
来检查你的系统是否支持OpenGL渲染。如果你看到"direct rendering: Yes",那么你的系统支持GPU加速。 - 安装适当的图形驱动程序:你需要确保你已经安装了适当的图形驱动程序。可以参考:Ubuntu 20.04 配置深度学习开发环境
- 在Gazebo中启用GPU加速:在Gazebo中,你可以通过修改Gazebo的配置文件来启用GPU加速。你可以在~/.gazebo/gui.ini文件中添加以下内容:
render_system = OpenGL
这将告诉Gazebo使用OpenGL作为渲染系统,从而利用GPU加速。 - 启动Gazebo:现在,就可以启动Gazebo并享受GPU加速带来的性能提升。
四、gazebo仿真效果
以下是我搭建的gazebo环境:
五、总结
gazebo仿真环境有了,接下来就是部署机器人和相关算法了,可以看我接下来的更新