python实现多智能体一致性_促进产学研,多智能体协同控制——科研与实践教学齐飞...

e07fdb6b-2d19-eb11-8da9-e4434bdf6706.png
对多智能体感兴趣欢迎+Wangzaixiaolatiao(VX)沟通。

一、引言

1.1、概述

多智能体协同控制系统即多个智能体组成的集合,它的目标是将大而复杂的系统集成设成小的、彼此互相通信和协调的、易于管理的系统。多智能体协同控制系统在表达实际系统时,通过各智能体间的通讯、合作、互解、协调、调度、管理及控制来表达系统的机构、功能及行为特性。

多智能体系统控制具有自主性、分布性、协调性,并具有自组织能力、学习能力和推理能力。采用多智能体协同控制系统解决实际应用问题,具有很强的鲁棒性和可靠性,并具有较高的问题求解效率。

多智能体协同控制系统是智能体技术应用及研究的一个质的飞跃,不同行业的专家学者对之进行了深入的研究并从多个角度阐述了多智能体系统用于解决实际问题的优势,归纳起来,主要有以下几点:

1、在多智能体协同控制系统中,每个智能体具有独立性和自主性,能够解决给定的子问题,自主地推理和规划并选择适当的策略,并以特定的方式影响环境;

2、多智能体协同控制系统支持分布式应用,所以要具有良好的模块性、易于扩展性和设计灵活简单,克服了建设一个庞大的系统所造成的管理和扩展的困难,应有效降低系统的总成本;

3、在多智能体协同控制系统实现过程中,不追求单个庞大复杂的体系,而是按面向对象的方法构造多层次、多元化的“狼蜂”智能体,要降低系统的复杂性,也要降低各智能体问题求解的复杂性;

4、多智能体协同控制系统是一个讲究协调的系统,各智能体通过互相协调去解决大规模的复杂问题;“狼蜂”智能体空地一体系统多智能体协同控制系统也是一个集成系统,它采用信息集成技术,将各子系统的信息集成在一起,完成复杂系统的集成;

5、在多智能体协同控制系统中,各智能体之间互相通信,彼此协调,并行地求解问题,因此能有效地提高问题求解的能力。

多智能体协同控制系统是在多无人车、无人机运动中,各个无人车及无人机之间能够保持一定的相对距离,并在速度及位置上按照预设路线或命令进行运动的过程。基于MATLAB/Simulink进行硬件在环控制算法开发和验证,可通过MATLAB/Simulink软件直接获取高精度的姿态数据和图像数据,并提供多无人车、无人机协同控制的OEMO程序。

e17fdb6b-2d19-eb11-8da9-e4434bdf6706.png

e37fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图1 多智能体协同控制系统实验平台场景图

多智能体协同控制系统主要做以下三个方面的研究:

1、编队队形的设计:多个无人车及无人机在指令下运行至指定的位置,并最终实现既定的编队形态,除了需要考虑无人机气动力影响外之外,还要考虑任务要求及无人车、无人机间信息交换的冗余度,同时保证无人车及无人机之间不会发生碰撞;

2、编队队形的保持,在无人车及无人机执行指令过程中能克服来自系统内部或外在环境干扰,进而保持整个队形不变;

3、编队队形的变换:在无人车及无人机行进过程中能够适应来自系统内部或外在环境干扰而对编队做出适当且合理的改变。

多智能体协同控制系统需要通过对无人车、无人机的定位,获取其在空间中的位姿,这种位置位姿信息主要是六自由度姿态数据,进行多智能体之间通讯的建立,最后通过控制决策系统根据智能体空间内的位姿完成系统控制。

定位无人车、无人机的空间位姿,是多智能体协同控制系统研究、实验最为重要的部分,只有获取准确稳定的定位信息,才能良好的控制无人车、无人机。作为定位的传统方法,惯性测量单元(IMU)和惯导模块(INS)存在陀螺仪零点漂移严重,导致获取的姿态、速度等数据精度不够,存在误差累计,很难长时间独立工作。

多智能体协同控制系统采用光学动捕技术(定位精度可达亚毫米级别),并通过WiFi网络实现多机间的通信,能够将MATLAB/Simulink开发的无人车及无人机编队仿真算法直接生成代码下载到无人车及无人机中,在室内环境下进行多车、多机分布式编队算法的验证。

1.2、多智能体协同控制系特点

● 室内定位系统:采用室内光学动捕技术,定位范围6m*6m,支持亚毫米级定位,能够最多同时捕捉12架左右的无人车或无人机;

● 被控制对象:2台无人车及4架无人机进行编队。

● 无人机飞控:无人机STM32F427(180MHZ)主控及STM32F100协处理器,内置三组IMU冗余设计,外置GPS和光流模块,支持TCP/UDP通讯协议。

● 视觉导航:256颗CUDA核心,CPU选用Quad ARM A57,4G内存,16G存储,要拥有丰富的外设资源和强大的运算能力。

● 无人车控制器:需配置NVIDIA TX2主板,打在激光雷达和视觉传感器与识别SDK,能够进行SLAM建模和图像跟踪。

● 基础开发平台:可在MATLAB/Simulink软件平台进行控制算法研究,支持自动生成代码,通过无线WiFi下载到无人车控制板和无人机飞控板。

● 扩展开发语言:支持C、C++、Python编程,适合有一定代码开发能力的学生,进一步锤炼代码编程能力;

● 基于模型(MBD)的设计:MATLAB/Simulink中提供了ROS的支持包,可试验Simulink控制模型到ROS系统代码的自动生成,降低了ROS系统控制模型的开发难度,适合大众化本科教学实验;

● 可用于无人系统的动态建模和控制研究、运动规划、避障控制、多信息融合、编队控制、多智能体协同控制、无人系统自主控制、足型机器人步态分析等。

二、多智能体协同控制系统

2.1、总体架构

多智能体协同控制系统包括实时定位系统、实时控制系统、多智能体协同控制系统,以及与之配套的无线网络通信装置。

实时定位系统采用光学动捕技术,主要由红外光学动作捕捉镜头、操作及分析处理软件和配件组成,可捕捉输出智能体精准的三维空间数据,系统精度可达亚毫米级。

实时控制系统是一台高性能台式服务器,运行Windows7以上操作系统,部署用于图像处理、定位跟踪、算法开发、模型编译下载以及进行数据坚实分析的软件,可同时作为开发主机和Windows目标机使用。

多智能体协同控制系统是指在上位机MATLAB/Simulink软件平台上进行控制算法开发,通过无线通信完成对若干无人车、无人机的集群协同控制。

e47fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图2 系统总体架构图

2.2、系统布置

多智能体协同控制系统实验平台的实验室布置主要包括人机操作区和设备实验区,具体如下图所示:

e77fdb6b-2d19-eb11-8da9-e4434bdf6706.png

e87fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图3 实验室布置图

● 人机操作区:该区域主要用于研究人员进行上位机操作开发,可在该区域控制和观察实验设备区内的实验对象,主要设备包括卓翼、上位机、路由器及必要的实验设施。

● 设备实验区:该区域主要用来进行图像获取、无人车及无人机的编队控制实验,进行实验时实验人员禁止进入,主要有8台摄像头、2台无人车、4架无人机以及必要的保护设施。

2.3、硬件架构

e97fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图4 硬件架构图

上图为平台系统硬件构成图,主要包括如下:

1、实时定位系统通过多个摄像头完成无人车、无人机的图形采集,将采集到的数据进行处理分析获得无人车、无人机精确的位置和姿态信息,并将处理结果发送给开发主机。

2、实时控制系统开发主机主要完成算法开发和Windows实时目标机功能:算法开发主要基于MATLAB/Simulink实现,结合实时控制软件,可实现代码生成、编译和部署;开发主机可作为Windows实时目标机,运行Simulink生成的Windows Target目标代码。

3、多智能体协同控制系统包括若干无人车、无人机,每个无人车、无人机上安装高性能计算单元和外围传感器,兼容MATLAB/Simulink,能够基于 MATLAB/Simulink进行控制器开放式硬件,实现多智能体协同控制、视觉SLAM等复杂算法研究。

备注:为保障实验、学习人员的安全,进行编队控制、控制开发、步态分析、运动规划等实验时,实验、学习人员智能在开发主机端操作,不可进入编队活动工作区域,确认无人机、无人机车、足型机器人停止后才能到工作目标工作、连接线缆、调试设备等操作。

2.4、软件架构

eb7fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图5 软件架构图

系统软件分为“上-下位机”两部分,主要包括:

1、上位机软件:基于Windows操作系统个,提供图像定位处理的软件、ROS实时示例软件、地面站软件、实时控制软件;

2、下位机软件:基于ROS系统,提供无人车/无人机控制板的硬件驱动、实时仿真引擎以及控制模型实时代码。

三、多智能体协同控制系统组成

3.1、实时定位系统

实时定位系统采用光学动作捕捉技术,主要由红外光学动作捕捉镜头、操作及分析处理软件和配件组成,可捕捉输出物体精准的三维空间6DoF位姿信息,系统精度可达亚毫米。

3.1.1、硬件组成

ed7fdb6b-2d19-eb11-8da9-e4434bdf6706.png
表1 光学动捕镜头参数

ef7fdb6b-2d19-eb11-8da9-e4434bdf6706.png

f17fdb6b-2d19-eb11-8da9-e4434bdf6706.png
8个光学动捕镜头

f47fdb6b-2d19-eb11-8da9-e4434bdf6706.png
50个反光标记球

f57fdb6b-2d19-eb11-8da9-e4434bdf6706.png
T型标定杆辅助运动捕捉系统的校准

f67fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图6 L型标定直角辅助运动捕捉系统中心点配置

优势:

亚毫米级精度:基于专用的SoC芯片和高效三维重建引擎,每一帧动作的捕捉精度都可以达到0.1毫米级精度;

多种标记点配置:Goku™支持被动标记点、主动标记点、全局时码同步标记点的系统配置,方便使用和运维;

易于部署:数据、供电、同步只需共用一根RJ45网线,部署简单;

极低系统延时:得益于Goku™的超高采样率,光学系统延时<4ms,光惯融合模式延时更低至1ms*;

支持光惯融合:可以提供6自由度、高精度、高可靠性、高采样率的空间捕捉数据。

3.1.2、软件组成

室内定位软件基于计算机视觉原理,通过布置在空间中的多个红外摄像机,将捕捉区域内物体上反光标识点的运动信息以图像的形式记录下来,然后对该图像数据进行处理,实时地解算出运动物体的六自由度位置和姿态。室内图像定位软件可实时和准确地解算捕捉区域内单个或多个刚体的六自由度位置和姿态,可为各类型的小飞机和地面小车、机器人、机器狗、机械手臂等运动体的控制提供六自由度姿态和位置的准确测量信息。支持一键式标定。一键式创建刚体、全三维界面展示,软件使用友好。

f77fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图7 光学动捕软件界面

一键式标定、一键式创建刚体、界面全三维展示、软件使用友好

2、系统标定

1)内置ZVR Calib高效多目视觉标定算法,使用T型工具进行高精度自动标定

2)使用L型工具进行地平面标定

3)Goku™ Tracker视觉惯性内参及外参自动标定

3、支持数据格式

• RAW

• BVH

• C3D

• FBX

• OpenVR

• VRPN

• TCP/UDP Streaming

4、丰富的第三方接口

f97fdb6b-2d19-eb11-8da9-e4434bdf6706.png

fb7fdb6b-2d19-eb11-8da9-e4434bdf6706.png

3.2、实时控制系统地面控制系统

3.2.1、硬件组成

实时控制系统硬件是一台高性能台式服务器,运行Windows7以上操作系统,可同时作为开发主机和Windows目标机使用。

具体参数:惠普(HP)Z440台式机 工作站 E5-1603V/8GB ECC/1TB SATA/P600 2G 独显/DVD-RW/24吋显示器。

fc7fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图8 实时控制系统开发主机

3.2.3、软件组成

实时控制软件包为Simulink增加了强大的工具和功能,使复杂的实时机电一体化和控制应用的开发和部署变得更加容易,支持直接从Simulink设计的控制器生成实时代码,并在Windows目标机、VxWorks、嵌入式Linux、Ubuntu等多种目标机上实时运行,所有这些都无需数字信号处理或无需写任何代码。

可以让学生把关注点放到控制概念上,而不是繁琐的代码辨析。用户界面易于理解,这意味着学生不需要任何广泛的培训。它们试用清晰的控制模板,并与教科书中试用的标准系统框图相匹配。学生可以通过更改Simulink途中的块参数来调整运行模型的参数,查看模型中信号的状态,并将数据流传输到MATLAB工作区或文件以进行离线分析。

§ 友好的用户界面

● 完全支持Simulink®外部模式,包括示波器、浮动示波器、显示器、工作空间、在线参数调整等;

● 支持模型引用,允许模块化面向对象的模式设计和增量编译和链接,以加速大型模型的开发;

● 支持范围出发和数据归档,以实现复杂、大容量的数据采集;

● 将数据记录到MAT文件和M文件;

● Simulink Coder代码优化支持;

● 性能诊断,例如,样本时间的测量,计算时间,经过的时间等;

● 用于监视模型的标准I/O的控制台,可用于远程目标机;

● 能够使用MATLAB GUI,LabVIEW面板,Altia等连接控制器。

§ 丰富的硬件接口

● 支持National Instruments等多个厂商的数据采集办卡;

● 支持多种类型的目标机;

● 支持用户自定义采集卡。

§ 与协议无关的通信框架

● 全套数据流块,用于与正在运行的控制器外部的锦城进行任何同步或异步通信;

● 支持TCP/IP、UDP、串行、共享内容、明明管道、SPI、I2C、CAN等其他协议;

● 可扩展的框架,支持控制器与本地远程应用程序之间的分布式控制,设备接口、远程操作和一般进程间通信;

● 外部通信接口以C/C++、MATLAB和NET语言提供。

§ 支持多线程,多速率和异步模型

● 多处理器支持,可提高采样率和性能;

● 支持多线程和多速率模型;

● 支持Simulink模型中的异步线程,非常适合异步通信等;

● 在本地和/或远程同时在单位目标或多个目标运行多个模型;

● 控制模型可部署到嵌入式单板目标机,设置为开机自启动。

实时控制软件包安装后,集成在MATLAB/Simulink环境下,主要包括Links Simulinkib工具箱和Links Coder代码生成模块。

3.2.2.1、Links SimulinkLib工具箱

Links SimulinkLib工具箱提供多种类型的Simulink模块封装,包括数据采集模块(AIO、DIO),通讯模块(SIO、TCP、UDP、I2C等),计数器模块和常用工具模块等。用户通过添加硬件接口模块到Simulink模型中,可完成真实硬件的访问。

● 无人机控制开发工具箱

无人机控制开发工具箱包括IMU传感器模块、电池电量测量模块、RGB摄像头模块和深度摄像头模块等,模型编译时可生成相应的C、C++代码。

fd7fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图9 无人机传感器模块

ff7fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图10 无人机摄像头模块

● 无人车控制开发工具箱

树莓派工具箱包括GPIO读写模块、I2C读写模块、PWM输出、UART读写、SPI读写模块、UDP收发模块、TCP收发模块和摄像头模块等,模型编译时可生成相应的C、C++代码。

0080db6b-2d19-eb11-8da9-e4434bdf6706.png
图11 无人车工具箱

● PX4工具箱

PX4公爵想包括传感器、执行结构、uORB通讯、ADC和UART模块等,模型编译时生成相应C、C++代码。

0180db6b-2d19-eb11-8da9-e4434bdf6706.png
图12 PX4传感器和执行机构模块

0280db6b-2d19-eb11-8da9-e4434bdf6706.png
图13 PX4 uORB通讯模块

0380db6b-2d19-eb11-8da9-e4434bdf6706.png
图14 PX4 ADC和UART模块

● Windows Target工具箱

Windows Target工具箱包括多种类型的数采和通信模块,其中Packet Input和Packet Output中封装了UDP等多种类型的通信接口,配合不同的解包组包可完成Windows Target和无人机、无人车之间的SDK仿真,获得远程节点上的传感器数据,控制远程节点上的执行机构。

0480db6b-2d19-eb11-8da9-e4434bdf6706.png
图15 Packet Input设置

0580db6b-2d19-eb11-8da9-e4434bdf6706.png
图16 Packet Input接收后数据处理

● ROS工具箱

ROS工具箱包括发订阅信息、发布消息、修改参数、读取参数、解析图像、解折点云图模块。

0680db6b-2d19-eb11-8da9-e4434bdf6706.png
图17 ROS工具箱

3.2.2.2、Links Coder代码生成模块

Links Coder代码生成模块的功能是将Simulink模型转换为C、C++代码,并进一步编译成可执行文件。Links Coder模块支持多个目标硬件平台,包括Windows Target、NVIDIA TX2、树莓派、ROS、PX4、VxWorks等,在模型编译时可针对不同目标硬件平台进行配置。

0780db6b-2d19-eb11-8da9-e4434bdf6706.png
图18 目标硬件编译配置

0880db6b-2d19-eb11-8da9-e4434bdf6706.png
图19 erttlc硬件办卡选择

3.3、多智能体协同控制系统

多智能体协同控制系统是指在上位机MATLAB/Simulink软件平台进行控制算法开发,通过无线通信完成对若干无人机、无人车的集群协同控制。

3.3.1、硬件组成

多智能体协同控制包括若干无人机、无人车(标配为4个无人机、2个无人车),每个无人机、无人车上安装有高性能计算单元和丰富的外围传感器,完全兼容MATLAB/Simulink,能够基于MATLAB/Simulink进行控制开放式硬件在环设计,可实现多智能体协同控制、视觉SLAM等复杂算法研究。

3.3.1.1、四旋翼无人机

四旋翼无人机,控制部分硬件采用高性能控制板NVDIA TX2+飞行控制PX4的成熟架构,结构上设计了一套碳纤维防护框架,确保室内飞行时无人机和实验人员的安全性。

0a80db6b-2d19-eb11-8da9-e4434bdf6706.png
图20 四旋翼无人机

无人机配置参数如下:

● 尺寸:不大于520mm*520mm*220mm,带碳纤防护框;

● 起飞重量:不大于1.8kg,其中空机1.0kg,负载重量0.8kg;

● 续航时间:不小于15分钟;

● 飞控:采用STM32F427(180MHZ)主控及STM32F100协处理器,内置三组IMU冗余设计,5路UART,1路12C,PPM/SBUS遥控器输入,1路CAN总线,1路ADC,12路PWM,外置GPS和光流模块;

● 视觉导航板:256颗CUDA核心,CPU集群双核丹佛2处理器和四核ARM Cortex-A57,8G内存,16G存储,1路无线WIFI接口,1路千兆网口,1路HDMI接口,1个TF卡座,2路RS232串口,1路3.3V SPI接口,4路3.3V GPIO;

● RGB-D相机(前置):深度流输出分辨率1280*720,帧率可达90fps,深度距离0.11m-10m,RGB传感器分辨率和帧速率1920*1080 30fps,USB接口;

● 普通单目镜头(下视):720 30fps,视野60度;

3.3.1.2、无人车

无人车控制部分硬件采用NVIDIA TX2+OpenCR的成熟架构,动力部分也保持原有的配置。主要针对结构部分进行定制,预留(机械手安装位置。软件部分进行了Simulink工具箱的集成开发。)

0b80db6b-2d19-eb11-8da9-e4434bdf6706.png
图21 无人车

无人车配置参数如下:

● 控制器:SBC单板电脑1个:NVIDIA TX2 核心板,运行Ubuntu操作系统;

● 摄像头:Kinect v2.0深度传感器1个,深度探测范围:0.5m-4.5m;

● 移动底座1个;

● 传感器:激光雷达RPliar A2 1个;

● 最大速度:75cm/s,最大旋转速度:195度/s,最大承载:5kg;尺寸:直径351mm,高度124mm,爬高:怕生门槛12mm;

● 预估惭怍时间:3.5h;

● IMU包括:3轴陀螺仪1个,3轴加速度计1个,3轴磁力计1个;

● 碰撞传感器:左侧1个,中部1个,右侧1个。

3.3.2、软件组成

控制开发软件包NVIDIA处理器板软件和PX4飞控板软件,其中NVIDIA主要实现任务规划、决策以及视觉处理,PX4费用主要实现飞行控制功能,两个处理器之间通过高速UART接口通信,使用Mavlink通信协议。两种处理器完全与MATLAB/Simulink兼容,能够基于MATLAB/Simulink进行控制器开放式硬件在环设计。

§ NVIDIA处理器软件

NVIDIA处理器软件包括操作系统、硬件驱动模块和目标机管理模块,其中操作系统支持Ubuntu 16.04两种,能够实现内存管理、任务调度都能功能,提供软件基础运行环境;硬件驱动模块包括PWM、SPI、I2C、AD等,用户可通过Simulink模型中对应的模块完成地城硬件驱动的调用。

0c80db6b-2d19-eb11-8da9-e4434bdf6706.png
图22 NVIDIA处理器软件

目标机管理模块Simulink主机和NVIDIA目标机之间的桥梁,主要实现目标代码下载功能、目标代码加载到内存功能和仿真控制台功能。

0d80db6b-2d19-eb11-8da9-e4434bdf6706.png
图23 NVIDIA目标机管理模块

§ 飞控板软件

PX4飞控软件主要包括操作系统、硬件驱动模块和PX4开源协议栈,其中操作系统支持Nuttx操作系统,能够实现内存管理、任务调度等功能,提供软件基础运行环境;硬件驱动模块包括PWM、SPI、I2C、AD等,用户可通过Simulink模型中对应的模块完成底层硬件驱动的调用;应用层包括Simulink实时代码和PX4开源协议栈,Simulink实时代码可通过UORB通讯机制完成与飞控协议栈之间的交互,可替换协议栈中姿态控制、数据融合、导航等控制算法。

0e80db6b-2d19-eb11-8da9-e4434bdf6706.png
图24 PX4飞控板软件

3.4、配套设备

3.4.1、千兆以太网交换机

以太网交换机采用TP-LINK公司生产的TL-SG1024T,具体参数如下:

● 网络标准:IEEE 802.3、IEEE 802.3u、IEEE 802.3ab、IEEE 802.3x;

● 端口:24个10/100/1000Mbps RJ45端口;

● 尺寸:294mm*180mm*44mm。

0f80db6b-2d19-eb11-8da9-e4434bdf6706.png
图25 24口千兆以太网交换机

3.4.2、操作台

本方案提供两个双联操作台,为实验人员提供操作平台,主要功能如下:

● 安装部署定位系统主机和实时控制主机;

● 存放无人机和无人车;

● 存放一些备品备件和常用实验工具。

1080db6b-2d19-eb11-8da9-e4434bdf6706.png
图26 双联操作台

四、多智能体协同控制系统功能实现

4.1、实时定位

实时定位原理是外部光学镜头辅助定位,试用ZVR成熟的动作捕捉系统,可实现多运动体的精确定位,并支持实时控制软件包调用SDK实时获取最新6DoF位姿数据。

● 硬件环境:一套动作捕捉系统、1台开发主机、若干空中节点、路由器;

● 软件环境:开发主机上安装MATLAB2017A以上版本,实时控制软件包;动作捕捉系统主机上安装操作及分析处理软件;

● 操作流程:

1、准备好软件硬件开发环境;

2、运行动作捕捉操作及分析处理软件,使用标定工具对Goku™ 130矩阵进行校准并对齐地平面;

3、为每个智能体部署一个唯一的标记点刚体组合;

4、搭建Simulink仿真模型,添加动作捕捉模块,设置多智能体数量、目标机IP地址、动作捕捉主机IP地址;

5、在Active Center中注册所有智能体;

6、使用实时控制软件包完成模型编译,支持Windows Target、NVIDIA和树莓派三种类型的目标机;

7、在Simulink环境下使用外部模式控制模型运行,在Windows Target、空中地点上可直接获取最新6DoF位姿信息。

1180db6b-2d19-eb11-8da9-e4434bdf6706.png
图27 操作示意说明

4.2、节点控制

节点控制可通过三种方式实现,第一种控制方式Simulink生成代码下载到Windows Target上,Windows Target运行实时仿真模型,通过网络SDK接口与空中节点进行通讯,实现空中节点的控制;第二种方式是Simulink生成代码下载到NVIDIA Target上,NVIDIA Target运行实时仿真模型,可直接访问硬件接口数据,不受网络通讯的影响,运行过程不依赖主机;第三种方式是Simulink生成ROS代码下载到NCIDIA Target上,NVIDIA Target运行实时仿真模型,可通过ROS接口访问硬件接口数据。

三种方式的软硬件环境是相同的,实现流程有一定差异。

● 硬件环境:Host开发主机、NVIDIA控制板;

● 软件环境:MATLAB/Simulink开发环境、实时控制软件包。

4.2.1、Windows Target实时控制

1、Simulink建模包括两个步骤,第一步建立出数字仿真模型,第二步从Windows Target工具箱中选择实时通讯接口模块加入到模型中;

2、模型配置包括文件配置文件配置和外部模式配置,目标文件选择sldrt.tlc,外部模式选择TCP连接;

1280db6b-2d19-eb11-8da9-e4434bdf6706.png
图28 选择sldrt.tlc

3、单击Simulink模型编译按钮,自动完成模型编译和下载到Windows Target;

4、模型调试:选择external模式,单击连接目标机、启东模型按钮后模型处于运行状态,可通过Simulink Scope控件直接读取模型数据,通过滑块或者旋钮等控件修改模型参数。

1480db6b-2d19-eb11-8da9-e4434bdf6706.png
图29 模型调试界面

4.2.2、NVIDIA Target实时控制

1、Simulink建模包括两个步骤:第一步建立纯数字仿真模型,第二步从工具箱中选择NVIDIA硬件接口模块加入到模型中;

ff7fdb6b-2d19-eb11-8da9-e4434bdf6706.png
图30 NVIDIA图像采集模块库

2、模型配置包括目标文件配置和外部模式配置,目标文件选择ert.tlc,Hardware board选择NVIDIA,外部模式选择TCP连接;

1680db6b-2d19-eb11-8da9-e4434bdf6706.png
图31 NVIDIA模型配置1

1880db6b-2d19-eb11-8da9-e4434bdf6706.png
图32 NVIDIA模型配置2

3、单击Simulink模型编译按钮,自动完成代码生成、代码上传、模型编译及下载过程;

4、模型调试:选择external模式,单击连接目标机、启东模型按钮后模型处于运行状态,可通过Simulink Scope控件直接读取模型数据,通过滑块或者旋钮等控件修改模型参数。

4.2.3、ROS Target实时控制

1、Simulink建模包括两个步骤,第一步建立纯数字仿真模型,第二步从从巨响中选择ROS接口模块加入到模型中;

1980db6b-2d19-eb11-8da9-e4434bdf6706.png
图33 NCIDIA ROS接口模块

2、模型配置包括目标文件配置和外部模式配置,目标文件选择ert.tlc,Hardware board选择ROS,外部模式选择TCP连接;

1b80db6b-2d19-eb11-8da9-e4434bdf6706.png
图34 NVIDIA模型配置-ROS

3、单击Simulink模型编译按钮,自动完成代码生成、代码上传、模型编译及下载过程;

4、模型调试:选择external模式,单击连接目标机、启东模型按钮后模型处于运行状态,可通过Simulink Scope控件直接读取模型数据,通过滑块或者旋钮等控件修改模型参数。

4.3、视觉SLAM

视觉SLAM主要依赖相机完成团乡采集机,通过算法完成建图和定位。视觉SLAM方案可按照传感器的不同(单目、双目、RGBD、与IMU的组合等)、前段方法的不同(主要分为直接法和特征点法)、后端优化方案的不同(铝箔或者非线性优化)、生成地图形式的不同(稀疏地图、稠密地图等)具有不同的划分。这里主要以传感器的不同对SLAM方案进行简单的介绍。

1、单目SLAM。只使用一个摄像头采集信息,在尺度完成初始化的情况下(即相机初始阶段进行了一段唯一且确定了该段位的实际大小作为参考),能够完成连续图像间相机位姿的计算与建图。优点在于设备简单,成本低。缺点在于存在尺度漂移现象;图像的深度信息只能通过三角测量计算得到,对环境适应性差;在相机唯一较小时计算误差较大,建图精度不高。

2、双目SLAM。使用双目相机采集信息,双目相机可以通过立体视觉原理计算得到像素深度,这样就不存在单目SLAM中深度未知的情况。优点在于环境的适应性要高于单目SLAM,且能够计算得到像素真实深度;缺点碍于像素深度计算量较大,一般通过FPGA或者GPU加速实现实时计算输出。

3、RGBD SLAM。RGBD相机是指能够同时输出RGB图像和对应的深度图像的相机,其测量像素深度不在通过耗时的被动双目匹配计算,而是通过激光散斑增加图像文理急速计算或者硬件测量(结构光、TOF等)实现。因此它可以看做见笑了计算量的双目SLAM,但是RGBD相机普遍在室外表现效果不佳,更多用于室内环境。

4、今年来有学者提出单目/双目+IMU的SLAM方案,其中IMU主要起到的作用包括(a)解决单目SLAM的初始化尺度问题;(b)追踪中提供较好的初始位姿;(c)提供中立方向;(d)提供一个时间误差项一共优化。理论上来说IMU体用了冗余的运动信息,通过数据融合可以得到更加精确的运动估计。

本系统主要针对舍内运动体进行研究,空中节点的视觉传感器用了Intel RealSense R200,包括了一个深度摄像头的可见光摄像头,属于RGBD相机。下面介绍空中节点实现RGBD SLAM的硬件环境、软件环境和操作流程。

● 硬件环境:1台开发主机、路由器;

● 软件环境:空中节点预装Ubuntu16.04、ROS核心包、MAVROS包、RealSense包;开发主机上安装MATLAB2017A以上版本,实时控制软件包。ROS网络启动后,可以查看如下topic:

1e80db6b-2d19-eb11-8da9-e4434bdf6706.png

● 操作流程:

1、准备好软件硬件开发环境;

2、运行MATLAB/Simulink,基于ROS工具箱和实时控制软件包,搭建SLAM模型:试用两个ROS subscribe模块订阅可见光相机和红外相机的数据,经过SLAM算法处理得到空中节点的位姿信息;增加一个动作捕捉系统模块,属高精度位置信息,可作为我位置真值与SLAM算法结果进行分析比对;

1f80db6b-2d19-eb11-8da9-e4434bdf6706.png
图35 空中节点SLAM Simulink模型

3、模型代码生成配置、选择ert.tlc,Hardware board配置为ROS,设置空中节点IP地址、登录用户密码、ROS目录和catkin workspace;

2080db6b-2d19-eb11-8da9-e4434bdf6706.png
图36 空中节点SLAM Simulink模型代码生成配置

4、检查空中节点的相关ROS节点是否正常启动;

5、模型编译生成ROS代码,自动部署到目标硬件上运行Simulink SLAM ROS节点;

6、在Simulink环境下使用外部模式控制模型运动,通过在线改参和实时监视功能完成模型调试。

4.4、协同控制

多智能体协同控制时当前的研究热点,多智能体之间通过相对信息交互及协同工作来完成某些特定的任务,本方案包括6个空中节点,节点之间采用无线WIFI作为信息交换媒介。

以下介绍分布式协同控制的软硬件环境和实现过程。

● 硬件环境:一套动作捕捉系统、1台开发主机、若干空中节点、路由器;

● 软件环境:开发主机上安装MATLAB2017A以上版本,实现控制软件包;动作捕捉系统主机上装操作及分析处理软件;

2180db6b-2d19-eb11-8da9-e4434bdf6706.png
图37 多智能体协同控制原理

● 操作流程:

1、准备好软硬件开发环境;

2、运行动作捕捉操作及分析处理软件,使用标定工具对Goku™ 130矩阵进行校准并对齐地平面;

3、为每个智能体部署一个唯一的标记点刚体组合;

4、搭建空中节点Simulink仿真模型,添加动作捕捉模块,获得自身和其他智能体的位姿信息;搭建协同控制算法模块,计算结果输出到空中节点的执行结构模块;

2280db6b-2d19-eb11-8da9-e4434bdf6706.png
图38 协同控制算法DEMO

5、使用实时控制软件包完成模型编译,分别将模型加载到空中节点;

6、在Simulink环境下使用外部模式控制模型运行,通过在线改参和实时监视功能完成模型调试。

4.5、节点间自主通信

通过无人机编队飞行,可以大幅度提高作战效率。由于编队中各成员之间的通信信息利用不充分以及传感器测量误差导致控制精度低的问题。通过一致性理论充分利用机间通信信息,并使用协同修正技术抑制测量误差和协同误差以提高队形保持的精度。

空中节点自组网通信是实现一致性编队的基础,本方案选择ZigBee作为自组网通信截止,ZigBee可以实现点对点和多节点的分组通信,组网方式非常灵活,可满足本系统的需求。

ZigBee模块和飞控板之间通过串口进行通信,飞控板基于PX4开源协议栈,开放全部源代码,支持ZigBee驱动的移植开发,同时提供ZigBee的Simulink疯转,可通过Simulink建模方式完成应用程序的开发。

五、实验内容

§ 基于Simulink书写仿真实验

● 单机姿态控制实验;

● 单机位置控制实验;

● 多机编队实验。

§ 定位系统试验

● 运动捕捉系统定位实验;

● 地面标记定位实验。

§ 单机飞行实验

● IMU数据采集实验;

● 摄像头数据采集和光流处理实验;

● IMU和市局传感器数据融合实验;

● 单机定高控制实验;

● 单机光流悬停实验;

● 单机姿态控制实验;

● 单机位置控制实验。

§ 无人车:

● 硬件组成认识;

● 软件开发环境学习和使用;

● 基于激光SLAM的机器人的自主定位导航;

● 基于3D摄像机的视觉深度处理及图像跟随。

§ 多机编队飞行实验

● 基于运动捕捉定位的多机编队飞行实验;

● 基于地面标记定位的多机编队飞行实验。

§ 多车编队运行实验

● 基于激光SLAM定位的多车编队运行实验;

● 基于地面标记物的多车编队运行实验。

§ 多智能体协同编队运行实验

● 基于运动捕捉系统定位的多车、多机编队运行实验;

● 基于期望目标任务的多车、多机编队运行实验。

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

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

相关文章

android 汇编 参数,安卓ARM汇编基础知识

ARM 是 Advanced RISC Machine 的缩写&#xff0c;可以理解为一种处理器的架构&#xff0c;还可以将它作为一套完整的处理器指令集。RISC(Reduced Instruction Set Computing) 精简指令集计算机&#xff1a;一种执行较少类型计算机指令的微处理器。处理器指令集: 计算机处理命令…

移动推送消息送达常见问题与解决办法

摘要&#xff1a; 一、 收到重复的推送内容 * 收到重复的推送内容&#xff0c;排除了业务自身的推送逻辑之外&#xff0c;重点介绍一下部分机型多渠道推送可能带来的重复推送问题。 * 对于Android系统&#xff0c;对于设备已经在某些三方系统中注册过&#xff0c;并且通过该三方…

帮助你驾驭 Kubernetes 的 4 个工具 | Linux 中国

学习如何驾驭 Kubernetes 比如何建造它更重要&#xff0c;这些工具可以帮助你更快上路。-- Scott Mccarty译者|Xinyu Wang来源|Linux中国在本系列的第三篇文章中&#xff0c;Kubernetes 基础&#xff1a;首先学习如何使用&#xff0c;我强调你应该学会使用 Kubernetes&#xff…

三大新功能发布 阿里云短视频SDK玩法多 优惠更多

摘要&#xff1a; 近日&#xff0c;阿里云短视频SDK进行了重大升级&#xff0c;对视频滤镜和视频特效方面进行了功能更新&#xff0c;助力用户快速接入带来更多的玩法。 短视频SDK介绍 短视频SDK提供短视频录制、导入和编辑的高级功能&#xff0c;支持多种分辨率选择、实时美颜…

html asp 日历_全球第一本《2021世界艺术日历》,正式发售!

原标题&#xff1a;全球第一本《2021世界艺术日历》&#xff0c;正式发售&#xff01;艺术&#xff0c;人类精神文明的美丽结晶。作为一名资深艺术爱好者&#xff0c;多希望 每天都能和名画为伴&#xff0c;接受各个时期艺术佳作的熏陶。 记得2020年的开头&#xff0c; 我买了好…

三星计划替换所有日产半导体材料;美企过度响应“禁令”,华为被曝祭出数亿索赔;苹果iPhone 11发布日期刚刚泄露...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

button hover逐渐变色_两当水库界桩@产品长久不变色 - 两当安全防护

河北合诺电力设备有限公司成立于2009年&#xff0c;位于河北省石家庄市新华区&#xff0c;是一家富有高科技生产力与完善服务体系的综合性企业。公司集科研、生产、销售及服务于一体&#xff0c;厂区占地50余亩&#xff0c;现有员工135人&#xff0c;专业资质技术人员26人&…

I+关系网络分析发布,提供完整的可视化分析和关系引擎功能

摘要&#xff1a; I关系网络分析是以OLP模型为核心&#xff0c;面向业务快速建模&#xff0c;为开发者和终端用户提供大数据关系计算引擎&#xff08;含API服务&#xff09;和可视化交互分析能力&#xff0c;面向安防、关税、银行、保险、互联网等提供的产品化方案。目前&#…

赞,全网开发者都在学的 26 门 AI 课程!

整理 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;免费的在线学习课程一直是大多数人学习 AI 知识和技能的方式之一。今天&#xff0c;基于 Github 上一位小姐姐 Chip Huyen 分享的 10 门机器学习课程&#xff0c;AI科技大本营将这份收藏大礼包进…

结构损伤检测与智能诊断 陈长征_宿迁厂房安全检测多少钱介绍说明

检测与鉴定1. 混凝土类材料(混凝土试块和混凝土芯样抗压强度、砂浆试块抗压强度)试验&#xff1b;2. 钢筋及接头(钢筋原材和焊接接头、钢筋后锚固件)力学工艺性能试验&#xff1b;3. 混凝土结构检测混凝土预制构件结构性能检测、钻芯法检测混凝土强度、混凝土回弹法检测强度、钢…

阿里云ECS开放批量创建实例接口,实现弹性资源的创建

摘要&#xff1a;为了更方便的实现弹性的资源创建&#xff0c;方便用户一次运行多台ECS按量实例来完成应用的开发和部署&#xff0c;阿里云开放了ECS的批量创建实例接口RunInstances&#xff0c;可以单次最多创建100台实例&#xff0c;避免重复调用和创建。点此查看原文&#x…

项目是如何死掉的?太过真实!

戳蓝字“CSDN云计算”关注我们哦&#xff01;做项目多年&#xff0c;见过成功的项目&#xff0c;也见过太多失败的项目&#xff1b;成功或失败&#xff0c;都是项目的宿命。我总结了项目失败的几点要素&#xff0c;供有志于将项目做失败的同学参考。绝大多数人在面对失败的可能…

igmp是哪个层协议_通俗易懂网络协议(IP)

之前写过一篇《通俗易懂TCP/IP(概述)》&#xff0c;广受欢迎和好评&#xff0c;有网友催更&#xff0c;便抽空续写IP章节&#xff0c;回应粉丝期待。TCP/IP网络模型TCP/IP网络模型分为4层&#xff0c;自下而上分布为链路层(又叫网络接口层)、网络层、传输层、应用层。链路层&am…

opporeno3pro可以刷鸿蒙系统吗,华为P40放大招!鸿蒙系统+120Hz+徕卡五摄,明年2月发布!...

自OPPO副总裁沈义人在微博上多番爆料后&#xff0c;机粉们对于OPPO Reno3 Pro的期待值上升到了一个新高度。在期待了近一个月后&#xff0c;12月26日&#xff0c;全新OPPO Reno3系列将正式发布——OPPO Reno3 Pro这次真的来了&#xff01;而与此同时&#xff0c;OPPO也在近期官…

三款新功能发布,助力阿里云表格存储再次升级

摘要&#xff1a;阿里云表格存储于近期功能再升级&#xff0c;升级后的表格存储支持对DataHub采集的数据进行持久化存储&#xff0c;其Python SDK新增支持Python 3.x&#xff0c;以及最新发布的TimelineLib能够帮助用户轻松构建千万级IM和Feed流系统。点此查看原文&#xff1a;…

基于阿里云实现游戏数据运营(附Demo)

摘要&#xff1a; 原作者&#xff1a;阿里云解决方案架构师&#xff0c;陆宝。通过阅读本文&#xff0c;您可以学会怎样使用阿里云的maxcompute搭建一套数据分析系统。一、总览一个游戏/系统的业务数据分析&#xff0c;总体可以分为图示的几个关键步骤&#xff1a;1、数据采集&…

正式发布!鸿蒙,来了!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 胡巍巍 发自东莞篮球中心出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;鸿蒙真的来了&#xff01;余承东宣布&#xff0c;鸿蒙的英文名叫HarmonyOS&#xff01;对于华为来讲&#xff0c;8月9日是华为开发者大会…

手机屏坏了怎么把里面存东西取出来_手机又卡了,到底是运行不够还是存储容量不足?1分钟搞懂...

现在的主流旗舰机个个都是6128GB起步了&#xff0c;如果手机卡了&#xff0c;是运行内存不够&#xff1f;还是存储容量不足&#xff1f;事实上&#xff0c;很多人都没搞清楚&#xff0c;机身内存和运行内存&#xff0c;其实是两码事。运行内存和机身内存有什么区别&#xff1f;…

在 React 工程中利用 Mota 编写面向对象的业务模型

摘要&#xff1a; ## 简述 React 是一个「视图层」的 UI 框架&#xff0c;以常见的 MVC 来讲 React 仅是 View&#xff0c;而我们在编写应用时&#xff0c;通常还需要关注更加重要的 model&#xff0c;对于 React 来讲&#xff0c;我们常常需要一个「状态管理」库。然而&#x…

惊呆了!颜值爆表的20+位阿里技术女神同一时间向你发出共事邀请!

摘要&#xff1a; 女神节快到了&#xff0c;云栖社区为此推出“三七”女神节特别分享&#xff0c;20位颜值爆表的阿里女神们同一时间向你发出了共事邀请&#xff0c;快来赴约吧&#xff01; 点此查看原文&#xff1a;http://click.aliyun.com/m/43263/ 女神节快要到了&#xff…