工程师已成功编程出自主行为小型昆虫机器
哈佛微型机器人实验室生产的RoboBees臂展3厘米,重量只有80毫克。康奈尔大学的工程师正在开发新的编程,使他们更加自主,适应复杂的环境。
学分:哈佛微型机器人实验室
据外媒体报道:康奈尔大学工程师们已经成功地建造了小型的类似昆虫的机器人,但是将其编程为像真正的昆虫那样自主行为仍然是技术上的挑战。康奈尔大学的一组工程师一直在尝试一种模仿昆虫大脑工作方式的新型编程方法,很快人们就会想,这种飞行在墙上的飞行实际上是否是飞行。
机器人感应一阵风所需的计算机处理能力的数量,使用镶嵌在其翅膀上的细小毛发状金属探针,相应地调整其飞行,并规划其路径,因为它试图落在一个摇摆的花朵上需要它携带台式电脑的背面。机械和航天工程教授,智能系统和控制实验室主任西尔维娅·法拉利(Silvia Ferrari)认为神经形态计算机芯片的出现是缩小机器人负载的一种方法。
不同于将0和1的组合作为二进制代码处理的传统芯片,神经形态芯片处理在复杂组合中激发的电流尖峰,类似于神经元在大脑内部发射。法拉利的实验室正在开发一种新型的“基于事件”的感知和控制算法,模拟神经活动,并可以在神经形态芯片上实现。由于芯片比传统处理器需要更少的功耗,因此工程师可以将更多的计算包装到相同的有效负载中。
法拉利的实验室已经与哈佛微型机器人实验室(Harvard Microrobotics Laboratory)合作,该实验室已经开发出装备有多个视觉,光流和运动传感器的80毫克飞行RoboBee。虽然机器人目前仍然是一个权力来源,哈佛大学的研究人员正在努力消除新的电源开发克制。康奈尔算法将帮助RoboBee更加自主和适应复杂的环境,而不会显着增加其重量。
法拉利表示:“受到阵风或门的撞击会导致这些小型机器人失去控制,我们正在开发传感器和算法,以允许RoboBee避免碰撞,或者如果碰撞,还能继续飞行。“你不能真正依靠先前的机器人模型来做到这一点,所以我们想要开发适应任何情况的学习控制器。”
为了加速基于事件的算法的开发,虚拟模拟器由法拉利实验室的博士生Taylor Clawson创建。基于物理学的模拟器模拟RoboBee和它在每次侧翼冲程时所面临的瞬时气动力。因此,该模型可以准确预测RoboBee在复杂环境中飞行的动作。
Clawson说:“仿真既用于测试算法,也用于设计它们。”Clawson说,他帮助成功开发了一种自主飞行控制器,用于使用生物启发式编程作为神经网络。“该网络能够实时学习,以解决在制造过程中引入的机器人的不规则性,这使得机器人在控制方面显得更具挑战性。”
除了更大的自主性和弹性,法拉利说她的实验室计划帮助RoboBee装备新的微型设备,如照相机,触觉反馈的扩展天线,机器人脚上的接触传感器以及看起来像小毛发的气流传感器。
法拉利说:“我们使用RoboBee作为基准机器人,因为它非常具有挑战性,但是我们认为其他已经不受限制的机器人将从这一发展中受益匪浅,因为它们在功率方面存在相同的问题。
一个已经受益的机器人是Harvard Ambulatory Microrobot,这是一款长度仅为17毫米,重量不到3克的四脚机器。它的速度可以达到每秒44米,但法拉利的实验室正在开发基于事件的算法,这将有助于灵活地补充机器人的速度。
法拉利继续使用海军研究办公室的四年一百万美元的资助。她还与来自许多大学制造神经晶片和传感器的领先研究团队合作。
- 如何使用Python读取大文件
- 介绍一种非常好用汇总数据的方式GROUPING SETS
- 史上最大的CPU Bug(幽灵和熔断的OS&SQLServer补丁)
- 数据库副本的自动种子设定(自增长)
- Git 项目推荐 | 基于go+protobuff 实现的分布式
- ReflectASM-invoke,高效率java反射机制原理
- Web应用渗透测试-本地文件包含
- shiro权限控制(二):分布式架构中shiro的实现
- Groovy实现原理分析——准备工作
- HBCTF第一场2个pwn题的简单分析
- ACM竞赛之输入输出(以C与C++为例)
- 能让程序做的事情坚决不用人来做——批量修复markdownlint MD034警告
- swift demo1 tableview
- Swift Alamofire
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 用最容易的方式学会单链表(Python实现)
- 突击并发编程JUC系列-万字长文解密 JUC 面试题
- 《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
- 用最复杂的方式学会数组(Python实现动态数组)
- 一起来刷《剑指Offer》——不修改数组找出重复的数字(思路及Python实现)
- 第一章 Go介绍
- 第二章 Go变量
- 揭秘 @available
- 第三章 Go常量、枚举、数学运算
- 通过 LLVM IR 看语言特性(1)
- Django入门笔记——第八章、模板引擎设置
- 第四章 Go语言中的控制语句
- 第六章 函数
- iPhone可以运行Android了
- 基于栈的内存分配 —— alloca