微软AirSim,一个无人机和机器人的模拟器

微软开发并开源了AirSim,一个用于模拟无人机在全世界的飞行的工具。这个模拟器基于虚幻引擎(Unreal Engine)构建,微软很快会增加对机器人和其它类型移动设备的支持。

微软在内部开发了航空信息系统和机器人平台,这个研究项目意在理解自动驾驶汽车在真实世界中是如何行驶的。平台使用深度学习技术来理解这些运输工具在各种不同的环境下是如何反应的,以此来改进它们。但由于深度学习需要非常大量的数据,而数以千计的真实实验是可能会导致移动设备损毁的,所以微软开发了AirSim,一个基于虚幻引擎的真实模拟器。

就当前状态而言,AirSim可以模拟MAVLink和DJI无人机的飞机,可以支持Pixhawk控制器。框架是模块化的,支持添加其它类型的运输工具和控制器。微软计划很快加入对某些类型机器人的支持,并且欢迎社区来一起贡献代码,如果他们想要扩展到其它平台上,支持某类硬件的话。框架可以用于模拟任意类型自动驾驶设备的移动。

模拟器框架也包括了用于从GPS和其它传感器上下载数据的API,包括可视化数据等,用于控制移动设备。项目目前有Windows版,微软很快会发布Linux版。其它平台也很容易支持,因为代码从设计开始就使用了CMake,是跨平台的。微软也采用了ZeroMQ和Protobuf技术,也支持Python等其它类型的语言。

class="video_iframe" data-vidtype="1" allowfullscreen frameborder="0" height="417" width="556" data-src="https://v.qq.com/iframe/preview.html?vid=s03770mhvrf&width=500&height=375&auto=0">

原文地址:http://www.infoq.com/cn/news/2017/02/airsim


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript学习总结(四)——逻辑OR运算符详解

转载自 JavaScript学习总结(四)——逻辑OR运算符详解 在JavaScript中,逻辑OR运算符用||表示 var bTrue true;var bFalse false;var bResult bTrue || bFalse; 下面的真值表描述了逻辑AND运算符的行为: 运算数 1运算数 2结果truetruetruetruefalsetruefals…

LEANSOFT领航员 – 基于Docker的DevOps实战培训

2016年,LEANSOFT推出了一系列广受开发人员欢迎的培训,包括《构建高效DevOps团队》,《基于Azure的容器化DevOps数据中心》和《Docker基础培训》。在这些培训中,我们得到了很多反馈,大家对使用Docker来支持DevOps的场景有…

高德地图路线规划 时间_路线准、播报拥堵及时,这次自驾出行高德地图可算是帮了大忙...

在我们日常生活中,自驾已经成为一种很普遍的出行方式,不仅在时间上灵活,特别是一家人出行也比较方便。伴随自驾出行的除了爱车外,一款靠谱的地图导航软件也成为了必不可少的旅行伙伴。目前比较常用的地图导航软件当属高德、百度和腾讯,不少人手机里都会有这三款软件中的其中一个…

JavaScript学习总结(七)——JavaScript函数(function)

转载自 JavaScript学习总结(七)——JavaScript函数(function) 一、函数基本概念 为完成某一功能的程序指令(语句)的集合,称为函数。 二、JavaScript函数的分类 1、自定义函数(我们自己编写的函数),如:function funName(){} 2、系统函数(J…

JavaScript学习总结(八)——JavaScript数组

转载自 JavaScript学习总结(八)——JavaScript数组 JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组、ArrayList、Hashtable等的超强综合体。 一、数组的声明 常规方式声明: 1、…

命令点无效怎么处理_CAD执行修改命令,你试过重复选择对象吗?

你在执行命令的时候,是习惯先选择对象还是之后才选择对象的呢?不知道细心的你有没有发觉,明明已经先选择对象了才执行命令,为什么之后还要重复选择对象?这里可以分几种情况来讨论一下。CAD版本:中望CAD 202…

一起脱去小程序的外套和内衣 - 微信小程序架构解析

作者介绍: 渠宏伟,腾讯高级工程师,从事Web前端开发5年,先后负责企鹅电竞、腾讯视频VIP、腾讯OA开发框架、腾讯微信HR助手等项目。对Web前端架构、.NET架构有丰富的经验。 | 导语 微信小程序的公测掀起了学习小程序开发的浪潮&…

JavaScript学习总结(九)——Javascript面向(基于)对象编程

转载自 JavaScript学习总结(九)——Javascript面向(基于)对象编程 一、澄清概念 1.JS中"基于对象面向对象" 2.JS中没有类(Class),但是它取了一个新的名字叫“原型对象”,因此"类原型对象" 二、类(原型对象)和对象(实例)的区别与联…

将Springboot项目放在服务器上一直运行

nohup java -jar hz-sms-0.0.1-SNAPSHOT.jar >/www/wwwroot/...-0.0.1-SNAPSHOT.out 2>&1 &

迁移数据库到SQL on Linux Docker

问题引入 前一篇文章,菜鸟找到了SQL on Linux Docker容器销毁后,容器中的数据库文件可以得以保留的方法,老鸟非常开心。所以,今天又提出了新的问题:“鸟儿,如果我想把我的数据库从SQL on Windows迁移到SQL …

Spring IoC 容器

转载自 Spring IoC 容器 IoC 容器 Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组…

字段缺失_区分Protobuf 3中缺失值和默认值

来自公众号:新世界杂货铺这两天翻了翻以前的项目,发现不同项目中关于Protobuf 3缺失值和默认值的区分居然有好几种实现。今天笔者冷饭新炒,结合项目中的实现以及切身经验共总结出如下六种方案。增加标识字段众所周知,在Go中数字类…

当初怎么就入了VS的坑

使用Turbo C和Turbo Pascal开始学习编程貌似也是一代人的集体记忆。这方面我也没什么忌讳,毕竟Borland Turbo C在九十年代末的PC上面还是一个运行效率不错的开发工具。然而启蒙老师的水平限制,那个时候所学习的编写和调试技术都不过关,一个超…

Mysql截取字段中 用逗号分割 省市县镇街道社区小区

Mysql截取字段中 用逗号分割 省市县镇街道社区小区 select id , name, substring_index(name,,,0) as province0, substring_index(name,,,1) as province1, substring_index(name,,,2) as province2, substring_index(name,,,3) as province3, substring_index(name,,,4) as…

如何导出Navicat的数据库连接配置

如何导出Navicat的数据库连接配置 如何导出Navicat的数据库连接配置_石头wang的博客-CSDN博客_navicat 导出配置 如何导出Navicat的数据库连接配置 背景 我们可能会在不同的电脑安装Navicat,这些连接的配置如何从一台电脑迁移到另外一条?自行备份是比较…

C#开发人员应该知道的13件事情

本文讲述了C#开发人员应该了解到的13件事情,希望对C#开发人员有所帮助。 1. 开发过程 开发过程是错误和缺陷开始的地方。使用工具可以帮助你在发布之后,解决掉一些问题。 编码标准 遵照编码标准可以编写出更多可维护的代码,特别是在由多个开发…

充电提示音_iPhone如何自定义充电提示音,图文教程

昨天给小伙伴们分享了几个iOS14的充电提示音和设置方法,不过有的小伙伴可能需要设置自己喜欢的声音为充电提示音,所以今天就来教大家自定义喜欢的iOS14充电提示音。教程由于比较仔细,看起来比较长,其实很简单,主要分为…

Scanner获取用户输入

next()和hasNext() public class Demo02_Scanner {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scanner new Scanner(System.in);System.out.println("使用next方式接收: ");//判断用户有没有输入字符串if …

idea Lombok插件

此文提供对于Lombok的简单使用 1、Lombok简介 Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。 2、Lombok插件安装 想要使用 Lombok,必须要安装一个 Lombok 插件,不然编辑器无法识…