[ROS2 基础] 仿真系统和搭建方法

仿真系统简介

机器人的开发需要很多的测试。而测试就需要搭建场地。测试项目一多,需要的场地的形式也会更多。搭建这样的场地不仅成本高,耗费的人力和物力都相当可观。有些场景在真实环境中不容易出现,但却可以在仿真环境中制造出来。

通过对静态环境的模拟和动态环境的模拟,仿真系统可以帮助开发人员和测试人员触及到很多长尾的情况。而做到这些的代价要比在真实环境中的测试低很多,效率也更高。不管是服务机器人领域还是自动驾驶,仿真技术已经成为一项不可或缺的关键技术。这里对仿真系统做如下简单的定义以方便大家有个整体的概念。

1)仿真系统是通过计算机仿真技术对真实环境的数学建模。它需要模拟重力,碰撞,摩擦,机器人的动力学等等基础物理现象。

2)仿真技术的基本原理是在仿真场景内,将真实控制器变成算法,结合传感器仿真等技术,完成对算法的测试和验证。

仿真软件

目前中存在、、三种仿真环境。

Webots

是一个开源的三维移动机器人模拟器,它与类似都是中仿真环境。在2018年以前是一款商业软件,商业软件的好处就是安装简单,在和上都可以实现一键安装,对用户很友好,从2018年以后进行了开源(自2018年12月起,作为开放源码软件在许可下发布。)。

支持、、、、和等多种方式实现模型的仿真控制。内置了接近100种机器人模型,包括轮式机器人、人形机器人、爬行移动机器人、单臂移动机器人、双臂移动机器人、无人机、大狗、飞艇等等,其中就包括大家比较熟悉的、、、、、、等机器人。当然还有我们需要的自动驾驶环境,还提供有火星车的模型可以让大家使用。

的一些关键功能包括:

  • 跨平台(,和)。
  • 稳定的物理引擎。
  • 可重现性。
  • 使用基于物理的渲染获得逼真的图像的高效渲染引擎。
  • 简单直观的用户界面。
  • 模拟各种传感器和执行器可供选择并可以工作。
  • 可用的机器人模型范围很广,可以投入使用。
  • 范围广泛的文件样本。

目前是通过功能包来和集成的。

是一系列包。如下:

  • :开发插件的依赖

  • :定义了和之间的数据接口定义,主要是的自定义数据结构。

  • :提供了一些方便自定义插件调用的函数和类,同时也提供一些测试程序。

  • :一系列 插件,模拟传感器和控制器并与ROS进行数据对接。如果想自定义一些功能就可以在这里编写自己的插件。

    在这里可以绘制简单的环境模型,但无法绘制曲线。

    model editor

    image-20220612122810988

    这里可以绘制基本的规则模型,但复杂的模型通常还是用专业的三维软件导出来。然后修改成能识别的文件。下面会着重介绍。

    仿真模型描述文件

    world文件

    的仿真环境配置会保存为后缀的文件。文件其实是语言书写的文件。里面包含了对三维环境的描述。下面是一个简单的示例:

    
                                                            

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月11日
下一篇 2022年5月11日

相关推荐