群体智能机器人是一种国际前沿的人工智能研究项目,由多个小型机器人组成的集群式解决系统,灵感源于蚂蚁、蜜蜂、鱼等群体生物,在没有统一领导的情况下,也能合作执行大量复杂的任务,比如组建一个图形,再在此基础上一步叠加复杂的任务,最终实现整个人工智能的突破,无限接近、甚至超越人类。群体智能机器人的运用前景非常广泛,包括智慧城市、智慧医疗、智能制造等方面,甚至在军事战略中也发挥巨大作用。
高频定位系统通过采用E-puck2.0桌面型群体智能机器人,在小型实验场地内通过高频光电投影定位技术实现机器人位置感知和数据通讯,实现“多智能体自主协同-群体智能”的研究目标。该套系统能够为项目研究算法提供较为充足的研究条件及软、硬件环境支撑,可以实现涵盖单体智能控制、多体协同控制、网络通讯、协同算法等领域的相关技术内容,以及验证多智能体协同系统控制理论和关键技术解决方案,为现实生活中大规模活动与个体之间关系提供实验模型和理论验证。
系统支持多研究方向
在动态不可预测多智能体环境中,重点可以研究以下课题:
智能机器人自主感知、组网算法、多机器人目标协同定位算法、多机器人自主动态决策与路径规划算法、多机器人区域覆盖算法、智能蚁群算法、粒子群算法、蚁群优化算法、蚁群聚类算法、单片机微机原理和编程语言、信号调理电路和控制电路、各种通信协议和通信方式、电机和传感器等硬件资源的应用
拓展应用:
科学研究、群体智能算法、多机器人智能协同、智能群体模拟演练、消防演练(地震、火灾、逃生、救灾)、人员自然流动(疫情传播模拟) 、体育运动模拟(接力赛、足球赛:基于跟随)、智能交通、物流分配模拟、模拟建模、自然群体(蚁群,鱼群,鸟群,细菌)、分子扩散(有害气体模型)、消息传播模型、游戏娱乐、迷宫地图、棋子类游戏(跳棋等)。
系统架构与功能
本系统分为E-puck2.0机器人系统、高频投影定位系统、无线通讯控制系统、群体智能决策软件系统四大部分。机器人是实验控制对象,是算法实现的载体;高频投影仪系统是机器人位置感知与定位的主要系统,通过高频光谱采集机器人位置、朝向、速度等数据信息;无线通讯控制系统负责上位机和机器人之间的通讯,连接数据的采集和数据的发送,使整个系统成为一个闭环。群体智能决策软件系统相当于整个系统的大脑,综合收集到的信息控制机器人之间的运动关系,经过决策后发出机器人执行的指令。
 
E-puck2.0嵌入式机器人系统
E-puck2.0为高端桌面型嵌入式机器人,可以在有限的空间内融入大数量的智能机器人进行群体协作实验,凭着其在任务适用性、经济性、稳定性、可拓展性、软件开放性强等有极大的优越性,可在已知环境下的任务动态分配和再分配研究,任务预测与任务分解研究,以及异构大规模系统和复杂任务分配研究等具有巨大优势。E-PUCK 2虽然体积小,但配有多种先进的传感器,例如:彩色摄像头、WiFi、蓝牙、红外传感器、USB数据口、IMU、麦克风、扬声器、LED灯等,内置标准的Linux运行系统,提供标准C/C++语言开发环境。
 
 
高频投影定位系统
高频投影仪系统包含两个子系统,光引擎系统和驱动系统,以及散热器和风扇等设备。高频投影仪系统可用于三维重建、三维测量、平面定位等。三维重建和测量主要是通过高频投影仪将结构光投影至被测物体上,并通过摄像机进行拍摄,并根据三维坐标和二维坐标的转换得到其深度。平面定位是一套定位毫米级的定位系统。
 
 
无线通讯控制系统
群体智能无线通讯控制系统含单体智能无线接收模块和USB中继接收模块,具有多点通信、调频通信、功耗低等诸多优点。
单体智能无线接收模块是自主定位和通信组网模块,通过串口通讯加装在ROBO-MAS微型移动机器人上,来实现微型机器人的定位和通信组网。它内含光电接收传感器、STM32F0C8T6处理器、NRF24L01+通信芯片、板载2.4GHZ天线、电源管理芯片等。
USB中继接收模块是一款通信中间件模块,它与PC端采用USB接口连接方式,PC端软件通过该模块能够查询或设置ROBO-MAS机器人,中继接收模块能够实时管理查询多个微型移动机器人。
群体智能决策软件系统
群体智能决策软件系统是多智能体自主协作仿真以及实物验证的软件平台系统,用于多机器人群体行为决策的仿真、机器人路径规划、机器人状态显示等,实现对多个微型移动机器人间通讯管理和信息交互。
群体智能决策软件系统分为应用层、仿真层、服务层、通信层四部分。应用层提供二种协作案例(图形模式、手绘模式)和底层二次开发模式,仿真层含机器人节点的新增、删除,机器人的路径规划,机器人目标点设置等。服务层包含软件系统获取机器人本体的位置和状态。通讯层包含软件系统与中继接收模块之间的通信。
实验场景
为方便用户快速熟悉群体智能协作平台,直观展示群体智能的运用与开发内容,我们提供两种协作模式,以及复杂算法的二次开发底层代码:
1、图形模式:在上位机软件上选择如圆形、五角星形、正方形、数字等图形,机器人自动根据配置数量排列出对应形状
2、手绘模式:在上位机显示的窗口内画图或写字,系统会自动分析、识别图形,根据机器人的数量自动排列出对应图案
3、二次开发:提供底层通讯协议和API接口,以及相关demo。
(1)提供机器人端与群体智能协作系统的通信协议。
(2)提供机器人模块目标速度控制接口
(3)提供机器人模块目标角度控制接口
(4)提供机器人单体避障算法与demo
(5)提供机器人群体队列保持算法demo
(6)提供机器人跟随算法demo
(7)提供高频定位系统平面坐标输出接口demo
(8)图形模式算法demo(自主路径规划)
(9)画图模式算法demo(自主路径规划)
(10)实时手势控制算法demo。
(11)环境感知:协同感知算法demo
视频观看:https://www.bilibili.com/video/BV1Cv411y7uL
 
 
实验室效果图

基于E-PUCK 2.0多智能体自主协同 高频投影定位系统的更多相关文章

  1. 基于ROBO-MAS多智能体自主协同 高频投影定位系统

  2. 伯克利推出「看视频学动作」的AI智能体

    伯克利曾经提出 DeepMimic框架,让智能体模仿参考动作片段来学习高难度技能.但这些参考片段都是经过动作捕捉合成的高度结构化数据,数据本身的获取需要很高的成本.而近日,他们又更进一步,提出了可以直 ...

  3. TensorFlow利用A3C算法训练智能体玩CartPole游戏

    本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...

  4. DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏

    本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...

  5. STM32W108无线传感器网络节点自组织与移动智能体导航技术

    使用STM32W108无线开发板及节点完毕大规模网络的自组建,网络模型选择树型,网络组建完毕之后,使用基于接收信号强度指示RSSI(ReceivedSignal Strength Indication ...

  6. NVIDIA DeepStream 5.0构建智能视频分析应用程序

    NVIDIA DeepStream 5.0构建智能视频分析应用程序 无论是要平衡产品分配和优化流量的仓库,工厂流水线检查还是医院管理,要确保员工和护理人员在照顾病人的同时使用个人保护设备(PPE),就 ...

  7. 基于STM32+华为云IOT设计智能称重系统

    摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...

  8. 基于Visual C++6.0的DLL编程实现

    整理自基于Visual C++6.0的DLL编程实现 本文通过通俗易懂的方式,全面介绍了动态链接库的概念.动态链接库的创建和动态链接库的链接,并给出个简单明了的例子,相信读者看了本文后,能够创建自己的 ...

  9. iKcamp出品|微信小程序|工具安装+目录说明|基于最新版1.0开发者工具初中级教程分享

    iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享>. ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:Model/View架构概述

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 模型-视图-控制器(Model-View-Controller,简称MVC)是一种源于Sm ...

  2. PyQt(Python+Qt)学习随笔:Qt Designer中窗口对象的windowFilePath属性

    windowFilePath属性仅对窗口对象有效,用于关联一个窗口和对应的文件及路径. 当窗口没有设置标题属性的情况下,则窗口标题展示展示windowFilePath对应的文件名的信息(路径信息不展示 ...

  3. python序列化与反序列化(json、pickle)-(五)

    1.什么是序列化&反序列化? 序列化:将字典.列表.类的实例对象等内容转换成一个字符串的过程. 反序列化:将一个字符串转换成字典.列表.类的实例对象等内容的过程 PS:Python中常见的数据 ...

  4. 记一次MacPro风扇一直转的问题排查

    1.查看CPU占用最高的进程 借助活动监视器,查看CPU占用最高的进程,可以观察到是Chrome浏览器 2.打开Chrome的任务管理器 2.1.查看CPU占用最高的chrome进程 3.分析和结束进 ...

  5. 使用 swagger 加注解 有的方法显示 有的不显示

    在使用swagger  的时候 ,加完注解 运行后发现,有很多加了注解的没有显示,debug   也有返回数据 ,最终发现,有一个方法中有个参数 是Boolean 类型, 但是这个  参数 我没有添加 ...

  6. 【题解】GRE Words(UVA1502)

    稍微有点难度--不过没有孔姥爷毒瘤( 题意 给定一个单词表,每个单词有权值,取出一部分(不改变顺序)使得这部分的每一个字符串都是后一个的子串,问得到的最大权值. 思路 设 f[i] 表示选了第 i 个 ...

  7. C++ 虚函数表与多态 —— 虚函数表的内存布局

       C++面试经常会被问的问题就是多态原理.如果对C++面向对象本质理解不是特别好,问到这里就会崩. 下面从基本到原理,详细说说多态的实现:虚函数 & 虚函数表.   1. 多态的本质: 形 ...

  8. emlog仿小刀网模板附文章

      附带了几百篇文章,搭建出来非常漂亮,喜欢的可以下载一份看看!下载地址:https://lengleng.lanzous.com/iNQayezebsh

  9. LLVM程序分析日记之插桩BranchInst

    1. splitblockandinsertifthenelse() 一个代码例子:StackOverflow 2. SplitBlockAndInsertIfThen() 或者仅仅想插桩if the ...

  10. 揭开DRF序列化技术的神秘面纱

    在RESTful API中,接口返回的是JSON,JSON的内容对应的是数据库中的数据,DRF是通过序列化(Serialization)的技术,把数据模型转换为JSON的,反之,叫做反序列化(dese ...