0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教你如何做机器人与视觉的融合仿真

3D视觉工坊 来源:空中机器人前沿 2023-03-17 16:31 次阅读

四旋翼无人机自发明以来已经有了非常长远的发展,现阶段对四旋翼无人机的运动学和动力学模型已经有了很多较深入的研究,无人机仿真方面的软件和工具也是层出不穷。

例如Gazebo有优秀的物理引擎,可以模拟出真实的物理环境,同时也能够自主搭建环境;凤凰模拟器能够模拟遥控器手动飞行,对于飞手的训练有非常大的帮助。

77be1a80-c494-11ed-bfe3-dac502259ad0.gif

Gazebo 中四旋翼无人机飞行效果图

8602e706-c494-11ed-bfe3-dac502259ad0.gif

凤凰模拟器中用遥控器控制四旋翼的飞行‍‍ 现如今机器视觉人工智能飞速发展,但是仿真软件中的环境不够逼真,直观看起来比较假,同时背景环境也不够丰富,并不能充分验证计算机视觉等相关算法

AirSim就是在这种情况下应运而生的,它将四旋翼的动力学模型与游戏引擎(虚幻引擎Unreal)相结合,借助游戏引擎强大的视觉渲染能力和丰富的场景,弥补了这一缺陷。

虚幻引擎 Unreal Engine,简称UE,中文译名为虚幻引擎,是非常出名的游戏引擎,它是一套完整的游戏开发工具,目前已经被广泛应用于游戏开发、建筑设计与渲染、汽车展示、广播与实况活动、影视渲染、训练与模拟等各个领域中。

虚幻引擎同时还具备编辑器功能,具有照片级逼真的视觉渲染水平、支持动态物理模拟的效果,能够制作出栩栩如生的动画,甚至可以制作电影大片级的场面。其丰富而强大的数据接口,能够为各行各业的专业人士带来无限的创作自由。

从UE4版本开始,其源代码就可以从Github开源社区下载,所以实质上你可以修改任何东西,包括:物理引擎、渲染效果和用户界面等。同时 UE4的跨平台特性支持 Windows PC、Linux、Max OSX、iOS、安卓等平台,甚至可以支持VR等虚拟现实的设备。

虚幻商城中有非常丰富的逼真场景可供选择,甚至有复原了完整的著名城市和建筑群,下图展示的有:沙漠景观、城市建筑、公园、森林。虚幻引擎中的所有场景都可以设置为AirSim无人机仿真的环境场景。

虚幻商城中部分环境展示:沙漠、城市、公园、森林 这些丰富的场景中,还包含了风沙雨雪雾、落叶等不同天气或气候情况下的渲染,甚至包括同一地区不同季节时的景观。

这些在仿真中都可以任意设置,能够充分测试视觉算法在不同的场景下的效果。

虚幻商城中Realistic Landscapes 环境不同季节和气候的景色展示

什么是 AiriSim

AirSim 是微软公司开发的基于游戏引擎的一个开源的跨平台仿真器,它可以用于无人机、无人机车等机器人的物理和视觉仿真。

它同时支持基于PX4 和 ArduPilot等飞行控制器的软件在环仿真,目前还支持基于PX4的硬件在环仿真。 AirSim 是作为虚幻游戏引擎的插件而存在的,适配基于虚幻引擎搭建的环境,目前AirSim也有一个实验版本的插件适用于Unity引擎。

得益于游戏引擎优秀的视觉渲染效果,AirSim 仿真平台在具备物理仿真的同时也具备了逼真的视觉仿真效果,这是其一大亮点,非常适用于进行基于深度学习等视觉AI仿真验证。

AirSim提供了很多API接口,用于读取数据、控制车辆、控制天气等,使用 API接口可以实现自动收集数据集的功能,还可以测试视觉算法。

AirSim的开发者希望这个平台能够帮助研究人员用于深度学习、计算机视觉、强化学习等人工智能相关的研究,适用于无人机、无人驾驶、机器人等领域的应用。

AirSim支持多平台运行,在Windows、LinuxMac系统中可以运行,但是目前只有在Windows系统下才可以创建工程,而对于Linux系统下的使用,需要首先在 Windows 系统下创建好工程,再复制到Linux系统下。

AirSim 可以做什么

1. 手动飞行(驾驶)

使用可以接入电脑的无人机遥控器或者 XBox,都可以实现手动飞行仿真中的无人机,它不只能够训练飞手的飞行技术,还可以浏览美景。得益于虚幻商城中的丰富且逼真的场景,能够给予玩家震撼的视觉效果,使用1比1复原的实现场景时,甚至有一种驾驶飞机浏览世界各地名胜的感觉。

2.程序控制无人机飞行(控制算法测试)

AirSim 提供了丰富的程序控制接口,用户可以使用多种编程语言来编写程序,实现对无人机的状态读取和飞行控制。AirSim 还支持硬件在环仿真,可以最大程度模拟四旋翼的飞行效果。

控制接口功能丰富,

包括四旋翼的: 位置控制、速度控制、姿态控制、电机控制 等,

支持 电机转速控制 、底层飞控的 PID参数调节 ,满足了从基础控制到 高机动控制 等不同的任务需求。

使用AirSim APIs 接口可以读取无人机的状态(位置、速度、姿态等),包括真实状态、传感器测量到的有噪声的状态信息

AirSim 还支持同时仿真多架无人机,可以测试 集群和多无人机协同 算法。

AirSim 支持在视口中直接作图,由此可以显示无人机的 飞行轨迹

多无人机协同编队控制 无人机跟踪8字形轨迹

3. 数据集自动收集、视觉算法测试

仿真场景中可以知道全部的信息,使用程序控制,可以很方便地实现对无人机位置和姿态的控制,同时也能方便地控制相机的姿态和内参。也可以同时添加多个相机,安装在无人机的不同位置。

AirSim 中可以获得的图像包括: 单目 RGB图像、双目深度图、分割图、红外 等。

由于是仿真模拟,深度图和分割图非常完美,并不能完全模拟显示中的不确定性。

红外图是基于分割图生成的,需要自己定义每个物体的温度。

自由设置相机的 数量、位置、内参 等。

自由添加噪声: 相机畸变、运动模糊、图片随机噪 等。

自由设置不同的天气状态: 雨、雪、雾、风速、落叶、沙尘 等。

自由 改变无人机的外观 ,可以将无人机外形设置成任意型号的无人机,如 DJI Mavic。

可以导入现实中的环境。

设置时间流逝,由此可以 改变一天中太阳的位置 ,从而产生光照强度、光源位置变化,产生环境变化。

4.强化学习

AirSim 支持获取碰撞信息,碰撞信息不止包括是否发生碰撞,还包括:发生碰撞的位置、发生碰撞的表面、碰撞深度等信息。使用程序可以读取碰撞信息、无人机状态等,加上强化学习算法,可以实现强化学习的训练。

5. 多传感器融合

AirSim 目前支持的传感器有:相机、双目相机、红外相机、雷达、距离传感器、气压计、IMU、GPS、磁力计。同时使用多个传感器,可以测试多传感器融合算法。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27033

    浏览量

    201410
  • 机器视觉
    +关注

    关注

    161

    文章

    4043

    浏览量

    118360
  • 遥控器
    +关注

    关注

    18

    文章

    815

    浏览量

    64244
  • 距离传感器
    +关注

    关注

    3

    文章

    72

    浏览量

    15033
  • 四旋翼无人机

    关注

    2

    文章

    18

    浏览量

    5407

原文标题:走进Airsim,教你如何做机器人与视觉的融合仿真

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【开源项目】Emo:基于树莓派 4B DIY 能笑会动的桌面机器人

    Emo是一款基于树莓派4的个人伴侣机器人,集时尚与创新于一身。它不仅仅是一款机器人,更是一个活生生的存在,与其他机器人不同,它拥有独特的个性和情感。 硬件部分 树莓派 4B
    发表于 12-26 15:18

    LabVIEW的六轴工业机器人运动控制系统

    空间的轨迹构造方法,包括直线、圆弧、NURBS自由曲线等轨迹的构造方程。 模型机器人测试与仿真:通过LabVIEW编程,项目在PC端实现了算法和运动仿真。六轴模型机器人被用作实体测试对
    发表于 12-21 20:03

    pic单片机扫地机器人有什么优势?

    pic单片机扫地机器人有什么优势
    发表于 11-09 07:24

    西门子1200PLC与海康机器人SC2000系列视觉传感器顺畅连接

    在某车厂汽车生产线上,需要将西门子1200PLC与海康机器人SC2000系列视觉传感器,顺畅连接,工程师现场添加了Modbus TCP转Profinet网关,实现了PLC和视觉传感器之间的通讯
    发表于 11-07 11:20

    机器人编程需要什么软件?

    机器人编程需要什么软件
    发表于 11-01 07:34

    利用Arduino让机器人学会识别标识并作出行为

    教你用Arduino让机器人学会识别标识并作出行为。你的人工智能小车从此有了眼睛!材料单:跟踪机器人底盘视觉传感器Arduino Uno电动机驱动板18650 Li-离子电池
    发表于 09-27 07:36

    Arduino教学机器人的使用教程

    本文档的主要内容详细介绍的是Arduino教学机器人的使用教程
    发表于 09-27 06:53

    教你做个PID控制巡线机器人

    在本项目中,我们将学习如何使用带PID控制器的线跟随机器人使用Arduino Nano来解决迷宫。
    发表于 09-25 06:54

    ai人工智能机器人

    的运营成本、人力成本还在不断提高(如:办公场地的租金、员工的工资、社保公积金、节假日福利等)。 如今的智能电话机器人,每天的电话拨打量可达800-1000通,相比人工提高了3-5倍,大大缩短了名单的筛选
    发表于 09-21 11:09

    基于Matlab和VR技术的移动机器人建模及仿真

    利用 Matlab 建立移动机器人的动力学模型 ,在虚拟现实 (VR )环境下 ,实时仿真移动机器人路径跟踪的运动特性 ,为基于 Internet 的机器人遥操作试验搭建了
    发表于 09-20 06:24

    自编程机器人,售后难吗?

    自编程是如何完成的。 自编程其实也不是很高深的问题。 当用户给出参数时,有时也包括逻辑。 例如用户说,如果设备打开完毕,执行一个命令。 这个例子就包括了一个如果。你的智能机器人只需要生成一个
    发表于 06-08 16:20

    如何快速地让机器人投入生产

    机器人也是一种设备,它主要内容是完成一个制造的其中一个功能。 制造一个产品,可以分为几个部件。和装配几个部件。 一个部件,可以是一个模具。或者由机器人完成组成一个模具。 机器人主要完成的是一些模具
    发表于 06-06 16:18

    机器人如何计算简单的运动

    模型要具备齿轮,导轨几种基本的运动原理。 要分辨基本图形,视觉模型要能分辨圆形,方形和三角形。 有了这两点,机器人就基本上能计算开模和注塑这种简单的工作了。要替代人类的工作,还要进一步学习。
    发表于 05-19 20:40

    浅谈儿童陪护机器人

    儿童陪护机器人越来越受到人们的关注,其中转动控制是其重要组成部分之一。步进电机芯片作为一种常用的控制芯片,被广泛应用于儿童陪护机器人中的转动控制。本文将从步进电机芯片的工作原理、优势和应用场景等方面
    发表于 05-11 15:12