群体智能机器人是一种国际前沿的人工智能研究项目,由多个小型机器人组成的集群式解决系统,灵感源于蚂蚁、蜜蜂、鱼等群体生物,在没有统一领导的情况下,也能合作执行大量复杂的任务,比如组建一个图形,再在此基础上一步叠加复杂的任务,最终实现整个人工智能的突破,无限接近、甚至超越人类。群体智能机器人的运用前景非常广泛,包括智慧城市、智慧医疗、智能制造等方面,甚至在军事战略中也发挥巨大作用。
高频定位系统通过采用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. 本地eclipse java api连接远程虚拟机HBase

    1.本地与远程连通 无论是域名或者ip都可以,另外需保证HBase在虚拟机集群上正常运行. 2.本地要有一个跟远程相同的hadoop环境 当然不相同,只要兼容也可以,现采用hadoop-2.5.0-c ...

  2. moviepy用VideoFileClip加载视频时报UnicodeDecodeError: utf-8 codec cant decode byte invalid start byte错误

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 使用moviepy用: clip1 = Video ...

  3. PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中使用sortItems进行项排序

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的项可以使用sortItems方法按照指定列进行排序,调用语法: s ...

  4. buu学习记录(上)

    前言:菜鸡误入buu,差点被打吐.不过学到了好多东西. 题目名称: (1)随便注 (2)高明的黑客 (3)CheckIn (4)Hack World (5)SSRF Me (6)piapiapia ( ...

  5. bugkuctf 这 是 一 个 神 奇 的 登 录 界 面

    首先结合源码可以看出这是一道sql注入题. 然后开始萌新的日常操作,尝试单引号闭合,可是并没有用,而且因为单引号注入的题太多,导致并没有立刻开始尝试双引号,之后想起双引号(对,双引号木得牌面)得到如下 ...

  6. go中位运算

    左移右移 const ( // 将 1 左移 100 位来创建一个非常大的数字 // 即这个数的二进制是 1 后面跟着 100 个 0 Big = 1 << 100 // 再往右移 99 ...

  7. web移动端点击穿透问题

    在移动端开发的时候,我们有时候会遇到这样一个bug:点击关闭遮罩层的时候,遮罩层下面的带有点击的元素也会被触发,给人一种击穿了页面的感觉,这是为什么呢?主要是因为用户touch事件关闭按钮的时候,触发 ...

  8. MySQL的验证方式

    mysql8之后root用户的密码验证方式修改了,mysql8的加密方式为caching_sha2_passoword,而navicat连接所用的方式为native_password. 使用命令mys ...

  9. C# 海量数据瞬间插入到数据库的方法

    C# 海量数据瞬间插入到数据库的方法 当我们在数据库中进行大量的数据追加时,是不是经常因为数据量过大而苦恼呢?而所谓的海量数据,一般也是上万级的数据,比如我们要添加一百万条数据,应该如何提高它的效率呢 ...

  10. DRF框架笔记

    序列化器类的定义格式? 继承serializers.Serializer:字段 = serializers.字段类型(选项参数) 序列化器类的基本使用? 序列化器类(instance=None, da ...