CN114265406B - 一种基于机器视觉的智能车编队控制系统及其控制方法 - Google Patents

一种基于机器视觉的智能车编队控制系统及其控制方法 Download PDF

Info

Publication number
CN114265406B
CN114265406B CN202111574049.4A CN202111574049A CN114265406B CN 114265406 B CN114265406 B CN 114265406B CN 202111574049 A CN202111574049 A CN 202111574049A CN 114265406 B CN114265406 B CN 114265406B
Authority
CN
China
Prior art keywords
intelligent vehicle
intelligent
formation
vehicles
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111574049.4A
Other languages
English (en)
Other versions
CN114265406A (zh
Inventor
马倩
徐庆圆
金鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN202111574049.4A priority Critical patent/CN114265406B/zh
Publication of CN114265406A publication Critical patent/CN114265406A/zh
Application granted granted Critical
Publication of CN114265406B publication Critical patent/CN114265406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Traffic Control Systems (AREA)

Abstract

本发明公开了一种基于机器视觉的智能车编队控制系统及其控制方法,以实现智能车按期望的队形执行特定编队任务,整个系统包括一个上位机,以及多个智能车构成的智能车组模块,每个智能车设置有定位模块、网络通信模块、控制算法模块。其中定位模块通过传感器采集信息,完成智能车定位以及建立位置结构网络模型;网络通信模块完成智能车与上位机以及智能车之间的数据交互及共享,建立通信拓扑;智能车组模块由多个差动轮式智能车构成,用以实现特定的编队任务;控制算法模块包括一致性算法和避障算法,使得智能车能按照特定的队形完成编队任务。本发明利用机器视觉实现智能车编队控制,具有适应性强和可移植性高的优点。

Description

一种基于机器视觉的智能车编队控制系统及其控制方法
技术领域
本发明属于计算机视觉技术及机器人控制技术领域,尤其涉及一种基于机器视觉的智能车编队控制系统及其控制方法。
背景技术
近些年来,随着机器人及无人车领域的迅猛发展,多智能体分布式算法的研究成为目前国际上的研究热点之一,近些年逐渐应用到如自动交通系统、无人飞行器系统、通信网络的拥塞控制和存储路径问题等多个领域,具有单一智能体难以匹敌的优势。算法的验证多依赖仿真平台,而良好的硬件实物平台更能有效地验证算法的正确性和合理性,即需要良好的多智能体实物系统。
所谓多智能体系统,即多个智能体在有限通信情况下相互之间合作、协调、调度、控制等以形成特定结构的系统,以实现单一智能体无法达到的目标。其中编队问题是一种极其重要的合作方式,许多场景都需要多智能体在执行任务时维持某种特定的队形,如:外卖配送机器人、车间运送机器人等。编队控制是一致性问题的一个延伸,依赖无线网络有限通信实现智能体信息的共享。现有智能车编队系统多采用全局摄像头获取环境信息,中心控制器集中运算及发布控制量,属于集中式控制,缺乏分布式算法验证能力,且单智能体缺少自主智能处理能力。
发明内容
本发明的目的在于提供一种基于机器视觉的智能车编队控制系统及其控制方法,从而实现智能体保持期望的队形执行特定的编队任务,并增强系统的智能处理能力。
实现本发明目的的技术解决方案为:一种基于机器视觉的智能车编队控制系统,包括一个上位机,以及多个智能车构成的智能车组模块,每个智能车设置有定位模块、网络通信模块、控制算法模块,其中:
所述智能车组模块,由多个差动轮式智能车构成,用以实现设定的编队控制任务;
所述网络通信模块,通过无线网卡和路由器,采用无线网络中的XML-RPC通信协议完成智能车与上位机、以及智能车之间的数据交互及共享,构建通信拓扑;
所述定位模块,通过智能车的单目摄像头采集图像信息,惯性测量单元采集累计运动信息,编码器用于计算定位信息,综合完成智能车定位以及位置结构网络模型建立;
所述控制算法模块,包括一致性控制算法和避障算法,通过一致性控制算法进行编队,使各智能车保持固定的速度,彼此保持设定的距离,形成给定队形;有新队形需求时,转换到新队形;在遇到障碍物时结合激光雷达,采取避障算法,避开障碍物并恢复到遇障前的状态。
进一步地,所述智能车组模块中单个智能车为差动轮式智能车,每个智能车搭载硬件包括无线网卡、编码器、惯性测量单元、单目摄像机、激光雷达,并配备Raspberry Pi4单板计算机,在Ubuntu18.04下安装ROS Melodic操作系统。
进一步地,网络通信模块由无线路由器构建无线网络,使用频段为2.4GHz,覆盖平台中上位机与每一辆智能车的无线网卡;一台中心服务器设置为上位机,用于监控多个智能车的运动状态,其余智能车设置为从机;在每辆智能车的终端.bashrc脚本文件中设置MASTER_URI键为值http://主机IP,以11311为端口号监听,从而配置好网络;智能车与上位机、以及智能车之间的数据交互及共享通过XML-RPC协议完成;通过智能车与智能车之间信息的选择性屏蔽,构建通信拓扑。
一种基于机器视觉的智能车编队控制方法,所包括以下步骤:
步骤一,构建单个差动轮式智能车,每个智能车配置网络通信模块、定位模块、控制算法模块,单个智能车配置网络后,与上位机建立连接;每个智能车配置网络后,构建好通信拓扑;
步骤二,每个智能车根据初始位置x(0)、初始速度v(0),以及智能车自身的惯性测量单元、编码器、单目摄像头,根据定位模块,建立智能车位置结构网络模型;
步骤三,每个智能车通过上位机发布的队形要求,基于网络通信模块,根据通信拓扑计算出多智能体一致性控制算法ui,通过邻居节点在位置结构网络模型中的信息,结合单个智能车运动学模型得到对应的运动控制量;
步骤四,每个智能车在计算得到各自运动控制量的基础上,结合带激光雷达反馈的避障算法得到最终的控制量,使得各个智能车根据最终的控制量运动到预设的队形位置。
进一步地,根据定位模块,建立智能车位置结构网络模型,具体如下:
定位模块依赖于每辆智能车惯性测量单元IMU测量值,通过编码器及运动学模型,完成智能车定位以及位置结构网络模型建立,包括:
步骤1.1,依据过去设定时间段内的IMU测量值,通过训练好的卷积神经网络输入IMU测量值,输出预测得到当前时刻的陀螺仪误差量;
步骤1.2,使用该陀螺仪误差量对原始陀螺仪测量值修正,使用修正后的陀螺仪测量值计算得到相对可靠的姿态角;
步骤1.3,结合编码器及运动学模型得到绝对位置坐标;
经过以上三步,单个智能车得到自身绝对位置坐标,并以此构建位置结构网络模型。
进一步地,定位模块,依赖于单目摄像机及训练好的线性回归模型得到视角范围内其他智能车的预测位置坐标,之后通过通信拓扑与其他智能车分布式共享预测位置坐标,以对构建的位置结构网络模型进行优化,具体步骤如下:
步骤2.1,每个智能车拥有不同颜色、相同形状的周围标识,依此为依据,在单目摄像机视角范围内的标识通过图像处理中的阈值处理、几何形状检测、轮廓发现,计算出视角范围内其他智能车的特征点;
步骤2.1,将步骤2.1所得特征点线性编码后传入预训练好的线性回归模型,模型输出为该特征点对应的智能车与自身的相对位置偏差(Δx,Δy);
步骤2.3,使用步骤2.2所得相对位置偏差与自身绝对位置坐标融合得到单目摄像机视角范围内智能车的预期位置,将该预期位置以绝对位置坐标的形式在通信拓扑中广播;
每辆智能车通过测量的自身绝对位置坐标与其他智能车在通信拓扑中广播的绝对位置坐标融合,得到自身实际的坐标,并在通信拓扑中广播,优化智能车位置结构网络模型。
进一步地,一致性控制算法ui为:
其中k,b为待定常数,其值依赖于通信拓扑,xi,vi分别表示第i个智能体的位置和速度,Ni为小于等于i的正整数集合,j为智能体编号;
对于n个智能车,实现队形一致性,具体步骤如下:
步骤3.1,用户给出期望的队形要求,得到n个虚拟结构点;
步骤3.2,多智能车通过定位模块确定自身的绝对位置,构建位置结构网络模型;
步骤3.3,多智能车通过广播的形式在通信拓扑中沟通自己在队形中的虚拟结构点;
步骤3.4,多智能车达成在队形中虚拟结构点的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,采用一致性算法ui直至达到预期的初始队形位置;
步骤3.5,步骤3.4中达到预期的初始队形位置,即为所有智能体达到步骤3.3中达成共识的虚拟结构点,达成位置一致性,进入平衡状态;通过一个全局的标志位stable_x来维护此状态;
步骤3.6,多智能车中任意一个智能车在收到运动指令后,向目标点进行运动,打破平衡,并时刻在通信拓扑中广播自己的绝对位置信息;
步骤3.7,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟结构点,循环调用自身move_to_target()函数;
当一个智能车始终拥有恒定速度v时,整个系统以v为速度稳定状态,通过一致性控制算法ui达成速度一致性,此状态通过全局标志位stable_v维护;
当需要队形变换时,采用以下步骤:
步骤4.1,用户要求切换队形,得到新的n个虚拟位置点;
步骤4.2,多智能体通过定位模块确认自身当前的绝对位置,结合与自身最近的队形目标点,初步确定自己的虚拟期望结构点,通过广播形式在通信拓扑中沟通;
步骤4.3,多智能车达成在队形中虚拟结构点的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,直至达到预期的初始位置;
步骤4.4,步骤4.3达到预期的初始位置,即所有智能体达到步骤4.2达成共识的虚拟位置,进入平衡状态;
步骤4.5,一个智能车在收到运动指令后,对目标进行运动,打破平衡,并时刻广播自己的绝对位置信息;
步骤4.6,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_target()函数;
所述move_to_target()函数存在于智能车控制算法程序代码中,输入参数为目标位置,无输出,产生的行为为移动到目标位置。
进一步地,避障算法采用带激光雷达反馈的人工势场法:
定义约束相邻两个智能车qi和qj的势场函数Uij为:
其中η为正比例增益系数,ρij=||qi-qj||为节点i和节点j之间的实际欧式距离,ρ0为障碍物的斥力势场范围半径;
势场力为势场函数的梯度函数,即:
其中为qi指向qj的单位向量;
结合运动学模型,角速度控制量ωi如下所示:
ωi=kθii)
其中为智能车i所受到的势场合力,/>为x,y轴上的单位向量,αi为势场力方向角,θi为智能车i实时的朝向,kθ为正比例系数;在智能车线速度的输入确定上,选择直接与势场力矢量的模成正比,kv为正比例系数:
本发明与现有技术相比,其显著优点为:(1)网络通信模块完成智能车与上位机以及智能车之间的数据交互及共享,建立通信拓扑;(2)采用一致性算法和避障算法,使得智能车能按照特定的队形完成编队任务;(3)激光雷达所测量得到的一定范围内的障碍物或智能车将对自身智能车产生势场合力,降低了对实际通信拓扑要求;(4)利用机器视觉实现智能车编队控制,具有适应性强和可移植性高的优点。
附图说明
图1为本发明智能车编队控制系统中的整体功能结构图。
图2为本发明智能车编队控制系统的单个智能车的结构图。
图3为本发明智能车编队控制系统中的单个智能车的运动学模型图。
图4为本发明智能车编队控制系统中定位模块陀螺仪数据修正部分卷积网络表示图。
图5为本发明智能车编队控制系统中定位模块的整体流程图。
图6为本发明智能车编队控制系统中以智能车bot1为例的行为流程图。
图7为本发明智能车编队控制系统中控制算法模块的整体流程图。
具体实施方式
本发明一种基于机器视觉的智能车编队控制系统,包括一个上位机,以及多个智能车构成的智能车组模块,每个智能车设置有定位模块、网络通信模块、控制算法模块。
所述定位模块,通过智能车的单目摄像机用于采集图像信息,惯性测量单元用于采集实时环境信息,编码器用于计算定位信息,综合完成智能车定位以及位置结构网络模型建立。
所述网络通信模块,依托于无线网络中的XML-RPC通信协议完成智能车与上位机以及智能车之间的数据交互及共享,构建通信拓扑。
所述智能车组模块,由多个差动轮式智能车构成,用以实现特定的编队任务。
所述控制算法模块,包括一致性控制算法和避障算法,通过一致性控制算法进行编队,使各智能车保持固定的速度,彼此保持设定的距离,形成给定队形;有新队形需求时,转换到新队形;在遇到障碍物时采取避障算法,恢复到遇障前的状态。
智能车编队控制系统的具体功能说明如下:
步骤一,智能车组模块由多个差动轮式智能车构成,每个智能车包含但不仅限于以下硬件:无线网卡、编码器、惯性测量单元、单目摄像机、激光雷达,搭载Raspberry Pi4单板计算机,在Ubuntu18.04下安装ROS Melodic操作系统。每个智能车配置网络后,与上位机建立连接。所有智能车配置好网络后,配置网络通信模块,构建通信拓扑。
步骤二,每个单智能车根据初始位置x(0)与初始速度v(0)和自身的惯性测量单元确定自己在运动过程中的绝对位置。通过依赖定位模块确定其余智能车的相对位置,建立智能车位置结构网络模型。
步骤三,每个单智能车通过上位机发布的队形要求,结合通信拓扑中邻居节点在位置结构网络中的信息计算出多智能一致性控制算法u,代入单个智能车运动学模型得到对应的运动控制量。
步骤四,每个智能车在计算得到各自运动控制量的基础上,结合带激光雷达反馈的避障算法得到最终的控制量,使得各个智能车根据控制量运动到预设的队形位置。
定位模块,主要用于实现单个智能车的定位功能,其特征在于,一种存在于每辆智能车的模块,其依赖于每辆智能车惯性测量单元(IMU)测量值,通过编码器及运动学模型,完成智能车定位以及位置结构网络模型建立。
步骤一,依据过去一段时间内的IMU测量值,通过训练好的卷积神经网络输入IMU测量值,输出预测得到当前时刻的陀螺仪误差量;
步骤二,使用该陀螺仪误差量对原始陀螺仪测量值修正,使用修正后的陀螺仪测量值计算得到相对可靠的姿态角;
步骤三,结合编码器及运动学模型得到具体位置坐标。
经过以上三步,单个智能车得到自身定位信息,为绝对位置坐标形式,并以此构建位置结构网络模型。
同时,单个智能车依赖于相机及训练好的线性回归模型得到视角范围内其他智能车的预测位置坐标,之后通过设计好的通信拓扑与其他智能车分布式共享预测位置坐标,其具体步骤如下:
步骤一,每个智能车拥有不同颜色、相同形状的周围标识,依此为依据,在相机视角范围内的标识可以通过图像处理中的阈值处理、几何形状检测、轮廓发现,计算出视角范围内其他智能车的特征点;
步骤二,将步骤一所述特征点线性编码后传入预训练好的线性回归模型,模型输出为该特征点对应的智能车与自身的相对位置偏差(Δx,Δy);
步骤三,使用步骤二所述相对位置偏差与自身具体位置坐标融合得到相机视角范围内智能车的预期位置,将该预期位置以绝对位置坐标的形式在通信拓扑中广播。
每辆智能车通过测量的自身具体位置坐标与其他智能车在通信拓扑中广播的决定位置坐标融合,得到自身实际的坐标,并在通信拓扑中广播,优化智能车位置结构网络模型。
定义陀螺仪的无偏测量模型如下:
其中为陀螺仪的测量值,Cω∈R3×3为陀螺仪的内参校正矩阵,/>为误差项,包括随时间变化的误差和静态偏差。所述卷积神经网络通过对过去一段时间内的IMU测量信息提取多尺度信息来计算预测当前的/>可将该卷积网络表示如下:
其中为过去N个时间点每一个时刻的IMU测量值,包含三轴角速度及三轴加速度数据,δ为函数标识符。
卷积网络总共包含5个卷积层,每个卷积层包含空洞卷积、批归一化、激活函数和Dropout。由于IMU的测量频率比较高,将其采样频率放缩,缩放到原来的1/j,j为积分步长。故将损失函数定义为:
δRi,i+j表示将时刻i到时刻j中所有的旋转变化量进行累加,即智能车在时刻i时刻到时刻j这段时间内姿态的变化量,h(·)为Huber函数,ρ(x)表示将xxT映射到SO(3)映射函数。
定义卷积网络如图4所示,用该网络训练的模型对螺旋仪修正后推算出自身位置坐标,为绝对位置坐标形式,并以此构建位置结构网络模型。
以下是对位置结构网络模型精度依赖于单目摄像头的优化:
预先将智能车1,2,3,4,5分别加入颜色标识:红、黄、蓝、绿、紫。
步骤一,将单目摄像机当前帧传入图像转化为HSV色域下图像。
步骤二,将所述HSV色域下图像按照颜色图像分割。
步骤三,对图像去噪后,提取分割图像的该颜色像素数,及对图像进行几何形状检测。
步骤四,由步骤三所述像素数与几何形状检测的结果,判断视野范围内是否出现其余智能车。若未出现,不做操作,回到步骤一等待下一帧。否则,进入步骤五。
步骤五,由预先训练好的线性回归模型得到该车几何中心点与自身的绝对位置差。
步骤六,由自身位姿,包括绝对位置坐标和转角,与步骤五所述绝对位置差计算得到视角范围内智能车的绝对位置坐标,将绝对位置坐标在通信拓扑中广播。
以上得到视野范围内智能车绝对位置坐标并在通信拓扑中广播。
每辆智能车接收通信拓扑通路内的其余智能车广播的对自身绝对位置坐标的参考,推算出自身更精确的绝对位置坐标。
网络通信模块,需要在本地的无线网络条件下满足以下要求:
由无线路由器构建无线网络,使用频段为2.4GHz,覆盖平台中每一辆车;一台中心服务器用于监控多车的运动状态即整体通信拓扑,设置为上位机,其余智能车设置为从机,在终端.bashrc脚本文件中设置键MASTER_URI为值http://主机IP,以11311为端口号监听。
所述智能车组模块由多个智能车构成,单个智能车车模采用两轮差速转向结构,通过控制左右两个驱动轮的转速实现转向,运动学模型如图3所示,其中(x,y)为智能车几何中心坐标,l为左右两轮之间的轮距,智能车前进速度等于左右两轮速度vl和vr的平均航向角变化速度为/>对应运动学数学模型描述为:
其中(x,y,θ)代表智能车在全局坐标系下的位姿信息,v和ω分别代表智能车的速度和角速度信息。
单智能车硬件控制芯片集成了电机驱动、编码器、转向舵机、无线网卡;搭载有OV5674感光芯片的CSI单目摄像头、RPLIDAR A1激光雷达、惯性测量单元等传感器。
控制算法模块,主要包括协同一致性控制算法及避障控制算法。
协同一致性控制算法,即多车的分布式控制算法,需要多车间进行交互,多车在有限的通信拓扑结构下进行信息的沟通,从而达到速度的一致和队形的一致。实际过程中通过通过智能车与智能车之间信息的可见性,实现构建通信拓扑。
步骤一,用户给出期望的队形要求。
步骤二,多智能车通过定位模块确定自身的绝对位置,构建位置结构网络模型。
步骤三,多智能车通过广播的形式在通信拓扑中沟通自己在队形中的虚拟结构点。
步骤四,多智能车达成各自在队形中虚拟位置的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,直至达到预期的初始队形位置。
步骤五,步骤四所述达到预期的初始队形位置,即所有智能体到达步骤三所述达成共识的虚拟位置,进入平衡状态。
步骤六,多智能车中任意一个智能车在收到运动指令后,向目标点进行运动,打破平衡,并时刻在通信拓扑中广播自己的绝对位置信息。
步骤七,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_target()函数。
以上实现队形的一致性,当需要队形变换时,采用以下步骤行为。
步骤一,用户要求切换队形,发出全局切换队形的指令信号。
步骤二,多智能体确认自身当前的绝对位置,结合与自身最近的队形目标点,初步确定自己的虚拟结构点,通过广播形式在通信拓扑中沟通。
步骤三,多智能车达成各自在队形中虚拟位置的共识,调用自身的move_to_taeget()函数,向虚拟结构点进行运动,直至达到预期的初始队形位置。
步骤四,步骤三所述达到预期的初始队形位置,即所有智能体达到步骤二所述达成共识的虚拟位置,进入平衡状态。
步骤五,某智能车在收到运动指令后,对目标进行运动,打破平衡,并时刻广播自己的绝对位置信息。
步骤六,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_taeget()函数。
以上实现队形变换,运行过程中时刻需要保持避障,避障算法为带有激光雷达反馈的人工势场法。
定义约束相邻两个智能车qi和qj的势场函数为:
其中η为正比例增益系数,ρij=||qi-qj||为节点i和节点j之间的实际欧式距离。
势场力为势场函数的梯度函数,即:
其中为qi指向qj的单位向量。
结合其运动学模型,其角速度控制量如下所示:
ωi=kθii)
其中为智能车i所受到的势场合力,/>为x,y轴上的单位向量,αi为势场力方向角,θi为机器人i实时的朝向,kθ为正比例系数。在智能车线速度的输入确定上,选择直接与势场力矢量的模成正比,kv为正比例系数:
下面结合附图及具体实施例对本发明进行详细说明。
实施例
结合图1所示,本实施例提供了一种智能车编队控制系统,提出了一种基于机器视觉的智能车编队的具体控制方法,以实现智能体保持某种期望的队形执行特定的编队任务,增强系统的智能处理能力。
智能车编队控制系统的具体步骤说明如下:
步骤一,结合图2所示,搭建单个差动轮式智能车,配备有包含但不仅限于:无线网卡、惯性测量单元、单目摄像机、激光雷达,搭载Raspberry Pi4单板计算机,在Ubuntu18.04下安装ROS Melodic操作系统。每个智能车配置网络后,与上位机建立连接。所有智能车配置好网络后,配置网络通信模块,构建通信拓扑。
步骤二,每个单智能车根据初始位置x(0)与初始速度v(0)和自身的惯性测量单元确定自己在运动过程中的绝对位置。通过依赖定位模块确定其余智能车的相对位置,建立智能车位置结构网络模型。
步骤三,每个单智能车通过上位机发布的队形要求,结合通信拓扑中邻居节点在位置结构网络中的信息计算出多智能一致性控制算法u,代入单个智能车运动学模型得到对应的运动控制量。
步骤四,每个智能车在计算得到各自运动控制量的基础上,结合带激光雷达反馈的避障算法得到最终的控制量,使得各个智能车根据控制量运动到预设的队形位置。
如图3所示,所述差动轮式智能车,车模采用两轮差速转向结构,通过控制左右两个驱动轮的转速实现转向,运动学模型如图所示,其中(x,y)为智能车几何中心坐标,l为左右两轮之间的轮距,智能车前进速度等于左右两轮速度的平均航向角变化速度为/>对应运动学数学模型描述为:
其中(x,y,θ)代表智能车在全局坐标系下的位姿信息,v和ω分别代表智能车的速度和角速度信息。
单智能车硬件控制芯片集成了电机驱动、编码器、转向舵机、无线网卡;搭载有OV5674感光芯片的CSI单目摄像头、RPLIDAR A1激光雷达、惯性测量单元等传感器。
结合图4所示卷积神经网络结构图,进行定位模块的说明。
定位模块,定义陀螺仪的无偏测量模型如下:
其中为陀螺仪的测量值,Cω∈R3×3为陀螺仪的内参校正矩阵,/>为误差项,包括随时间变化的误差和静态偏差。所述卷积神经网络通过对过去一段时间内的IMU测量信息提取多尺度信息来计算预测当前的/>可将该卷积网络表示如下:
其中为过去N个时间点每一个时刻的IMU测量值,包含三轴角速度及三轴加速度数据,δ为函数标识符。
卷积网络总共包含5个卷积层,每个卷积层包含空洞卷积、批归一化、激活函数和Dropout。由于IMU的测量频率比较高,将其采样频率放缩,缩放到原来的1/j,j为积分步长。故将损失函数定义为:
δRi,i+j表示将时刻i到时刻j中所有的旋转变化量进行累加,即智能车在时刻i时刻到时刻j这段时间内姿态的变化量,h·)为Huber函数,ρ(x)表示将xxT映射到SO(3)映射函数。
定义卷积网络如图4所示,用该网络训练的模型对螺旋仪修正后推算出自身位置坐标,为绝对位置坐标形式,并以此构建位置结构网络模型。
图5为单个智能车对单目摄像机传入图像的处理行为。
预先将智能车1,2,3,4,5分别加入颜色标识:红、黄、蓝、绿、紫。
步骤一,将单目摄像机当前帧传入图像转化为HSV色域下图像。
步骤二,将所述HSV色域下图像按照颜色图像分割。
步骤三,对图像去噪后,提取分割图像的该颜色像素数,及对图像进行几何形状检测。
步骤四,由步骤三所述像素数与几何形状检测的结果,判断视野范围内是否出现其余智能车。若未出现,不做操作,回到步骤一等待下一帧。否则,进入步骤五。
步骤五,由预先训练好的线性回归模型得到该车几何中心点与自身的绝对位置差。
步骤六,由自身位姿,包括绝对位置坐标和转角,与步骤五所述绝对位置差计算得到视角范围内智能车的绝对位置坐标,将绝对位置坐标在通信拓扑中广播。
以上得到视野范围内智能车绝对位置坐标并在通信拓扑中广播。
图6为经过图像处理及视觉定位后,以bot1为例,单智能车最终实际的定位行为:
首先,由自身IMU传入数据输入神经网络对螺旋仪修正后推算出自身位置坐标,修正后经过姿态角计算得到位置坐标推算。
所述位置坐标推算,由其余能给出bot1参考位置坐标的bot、自身编码器数据读取结合推算得到自身精确的绝对位置坐标。
之后,由摄像头给出对视角范围内bot的参考位置坐标,此部分通过图5所述行为实现。
图7为控制算法模块的整体流程图,主要包括一致性控制算法及避障算法。
一致性控制算法,即多车的分布式控制,需要多车间进行交互,多车在通信拓扑结构下进行信息的沟通,从而达到速度的一致和队形的一致。实际过程中通过智能车与智能车之间信息的可见性完成通信拓扑构建。
采用的一致性算法ui为:
其中k,b为待定常数,其值依赖于目标队形,xi,vi分别表示第i个智能体的位置和速度。
一致性控制算法中实现队形一致性的具体应用步骤如下:
步骤一,用户给出期望的队形要求。
步骤二,多智能车通过定位模块确定自身的绝对位置,构建位置结构网络模型。
步骤三,多智能车通过广播的形式在通信拓扑中沟通自己在队形中的虚拟结构点。
步骤四,多智能车达成各自在队形中虚拟位置的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,直至达到预期的初始队形位置。
步骤五,步骤四所述达到预期的初始队形位置,即所有智能体到达步骤三所述达成共识的虚拟位置,进入平衡状态。
步骤六,多智能车中任意一个智能车在收到运动指令后,向目标点进行运动,打破平衡,并时刻在通信拓扑中广播自己的绝对位置信息。
步骤六,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_target()函数。
当某智能车始终拥有恒定速度v时,整个系统以v为速度稳定状态,通过一致性策略u达成速度一致性,此状态通过全局标志位stable_v维护。
以上实现队形的一致性,当需要队形变换时,采用以下步骤:
步骤一,用户要求切换队形,发出全局切换队形的指令信号。
步骤二,多智能体确认自身当前的绝对位置,结合与自身最近的队形目标点,初步确定自己的虚拟结构点,通过广播形式在通信拓扑中沟通。
步骤三,多智能车达成各自在队形中虚拟位置的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,直至达到预期的初始队形位置。
步骤四,步骤三所述达到预期的初始队形位置,即所有智能体达到步骤二所述达成共识的虚拟位置,进入平衡状态。
步骤五,某智能车在收到运动指令后,对目标进行运动,打破平衡,并时刻广播自己的绝对位置信息。
步骤六,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_target()函数。
以上实现队形变换,运行过程中时刻需要保持避障,避障算法采用带有激光雷达反馈的人工势场法。
定义约束相邻两个智能车i和j的势场函数为:
其中η为正比例增益系数,ρij=||qi-qj||为节点i和节点j之间的实际欧式距离。
势场力为势场函数的梯度函数,即:
其中为qi指向qj的单位向量。
结合其运动学模型,其角速度控制量如下所示:
ωi=kθii)
其中为智能车i所受到的势场合力,/>为x,y轴上的单位向量,αi为势场力方向角,θi为机器人i实时的朝向,kθ为正比例系数。在智能车线速度的输入确定上,选择直接与势场力矢量的模成正比,kv为正比例系数:
与现有避障算法相比,激光雷达所测量得到的一定范围内的障碍物或智能车将对自身智能车产生势场合力,这样就降低了对实际通信拓扑的要求。

Claims (6)

1.一种基于机器视觉的智能车编队控制系统,其特征在于,包括一个上位机,以及多个智能车构成的智能车组模块,每个智能车设置有定位模块、网络通信模块、控制算法模块,其中:
所述智能车组模块,由多个差动轮式智能车构成,用以实现设定的编队控制任务;
所述网络通信模块,通过无线网卡和路由器,采用无线网络中的XML-RPC通信协议完成智能车与上位机、以及智能车之间的数据交互及共享,构建通信拓扑;
所述定位模块,通过智能车的单目摄像头采集图像信息,惯性测量单元采集累计运动信息,编码器用于计算定位信息,综合完成智能车定位以及位置结构网络模型建立;
所述控制算法模块,包括一致性控制算法和避障算法,通过一致性控制算法进行编队,使各智能车保持固定的速度,彼此保持设定的距离,形成给定队形;有新队形需求时,转换到新队形;在遇到障碍物时结合激光雷达,采取避障算法,避开障碍物并恢复到遇障前的状态;
一致性控制算法ui为:
其中k,b为待定常数,其值依赖于通信拓扑,xi,vi分别表示第i个智能体的位置和速度,Ni为小于等于i的正整数集合,j为智能体编号;
对于n个智能车,实现队形一致性,具体步骤如下:
步骤3.1,用户给出期望的队形要求,得到n个虚拟结构点;
步骤3.2,多智能车通过定位模块确定自身的绝对位置,构建位置结构网络模型;
步骤3.3,多智能车通过广播的形式在通信拓扑中沟通自己在队形中的虚拟结构点;
步骤3.4,多智能车达成在队形中虚拟结构点的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,采用一致性算法ui直至达到预期的初始队形位置;
步骤3.5,步骤3.4中达到预期的初始队形位置,即为所有智能体达到步骤3.3中达成共识的虚拟结构点,达成位置一致性,进入平衡状态;通过一个全局的标志位stable_x来维护此状态;
步骤3.6,多智能车中任意一个智能车在收到运动指令后,向目标点进行运动,打破平衡,并时刻在通信拓扑中广播自己的绝对位置信息;
步骤3.7,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟结构点,循环调用自身move_to_target()函数;
当一个智能车始终拥有恒定速度v时,整个系统以v为速度稳定状态,通过一致性控制算法ui达成速度一致性,此状态通过全局标志位stable_v维护;
当需要队形变换时,采用以下步骤:
步骤4.1,用户要求切换队形,得到新的n个虚拟位置点;
步骤4.2,多智能体通过定位模块确认自身当前的绝对位置,结合与自身最近的队形目标点,初步确定自己的虚拟期望结构点,通过广播形式在通信拓扑中沟通;
步骤4.3,多智能车达成在队形中虚拟结构点的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,直至达到预期的初始位置;
步骤4.4,步骤4.3达到预期的初始位置,即所有智能体达到步骤4.2达成共识的虚拟位置,进入平衡状态;
步骤4.5,一个智能车在收到运动指令后,对目标进行运动,打破平衡,并时刻广播自己的绝对位置信息;
步骤4.6,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_target()函数;
所述move_to_target()函数存在于智能车控制算法程序代码中,输入参数为目标位置,无输出,产生的行为为移动到目标位置;
避障算法采用带激光雷达反馈的人工势场法:
定义约束相邻两个智能车qi和qj的势场函数Uij为:
其中η为正比例增益系数,ρij=||qi-qj||为节点i和节点j之间的实际欧式距离,ρ0为障碍物的斥力势场范围半径;
势场力为势场函数的梯度函数,即:
其中为qi指向qj的单位向量;
结合运动学模型,角速度控制量ωi如下所示:
ωi=kθii)
其中为智能车i所受到的势场合力,/>为x,y轴上的单位向量,αi为势场力方向角,θi为智能车i实时的朝向,kθ为正比例系数;在智能车线速度的输入确定上,选择直接与势场力矢量的模成正比,kv为正比例系数:
2.根据权利要求1所述的基于机器视觉的智能车编队控制系统,其特征在于,所述智能车组模块中单个智能车为差动轮式智能车,每个智能车搭载硬件包括无线网卡、编码器、惯性测量单元、单目摄像机、激光雷达,并配备Raspberry Pi4单板计算机,在Ubuntu18.04下安装ROS Melodic操作系统。
3.根据权利要求1所述的基于机器视觉的智能车编队控制系统,其特征在于,网络通信模块由无线路由器构建无线网络,使用频段为2.4GHz,覆盖平台中上位机与每一辆智能车的无线网卡;一台中心服务器设置为上位机,用于监控多个智能车的运动状态,其余智能车设置为从机;在每辆智能车的终端.bashrc脚本文件中设置MASTER_URI键为值http://主机IP,以11311为端口号监听,从而配置好网络;智能车与上位机、以及智能车之间的数据交互及共享通过XML-RPC协议完成;通过智能车与智能车之间信息的选择性屏蔽,构建通信拓扑。
4.一种基于机器视觉的智能车编队控制方法,其特征在于,所包括以下步骤:
步骤一,构建单个差动轮式智能车,每个智能车配置网络通信模块、定位模块、控制算法模块,单个智能车配置网络后,与上位机建立连接;每个智能车配置网络后,构建好通信拓扑;
步骤二,每个智能车根据初始位置x(0)、初始速度v(0),以及智能车自身的惯性测量单元、编码器、单目摄像头,根据定位模块,建立智能车位置结构网络模型;
步骤三,每个智能车通过上位机发布的队形要求,基于网络通信模块,根据通信拓扑计算出多智能体一致性控制算法ui,通过邻居节点在位置结构网络模型中的信息,结合单个智能车运动学模型得到对应的运动控制量;
一致性控制算法ui为:
其中k,b为待定常数,其值依赖于通信拓扑,xi,vi分别表示第i个智能体的位置和速度,Ni为小于等于i的正整数集合,j为智能体编号;
对于n个智能车,实现队形一致性,具体步骤如下:
步骤3.1,用户给出期望的队形要求,得到n个虚拟结构点;
步骤3.2,多智能车通过定位模块确定自身的绝对位置,构建位置结构网络模型;
步骤3.3,多智能车通过广播的形式在通信拓扑中沟通自己在队形中的虚拟结构点;
步骤3.4,多智能车达成在队形中虚拟结构点的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,采用一致性算法ui直至达到预期的初始队形位置;
步骤3.5,步骤3.4中达到预期的初始队形位置,即为所有智能体达到步骤3.3中达成共识的虚拟结构点,达成位置一致性,进入平衡状态;通过一个全局的标志位stable_x来维护此状态;
步骤3.6,多智能车中任意一个智能车在收到运动指令后,向目标点进行运动,打破平衡,并时刻在通信拓扑中广播自己的绝对位置信息;
步骤3.7,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟结构点,循环调用自身move_to_target()函数;
当一个智能车始终拥有恒定速度v时,整个系统以v为速度稳定状态,通过一致性控制算法ui达成速度一致性,此状态通过全局标志位stable_v维护;
当需要队形变换时,采用以下步骤:
步骤4.1,用户要求切换队形,得到新的n个虚拟位置点;
步骤4.2,多智能体通过定位模块确认自身当前的绝对位置,结合与自身最近的队形目标点,初步确定自己的虚拟期望结构点,通过广播形式在通信拓扑中沟通;
步骤4.3,多智能车达成在队形中虚拟结构点的共识,调用自身的move_to_target()函数,向虚拟结构点进行运动,直至达到预期的初始位置;
步骤4.4,步骤4.3达到预期的初始位置,即所有智能体达到步骤4.2达成共识的虚拟位置,进入平衡状态;
步骤4.5,一个智能车在收到运动指令后,对目标进行运动,打破平衡,并时刻广播自己的绝对位置信息;
步骤4.6,在通信拓扑内流通中的每个智能车为了维护平衡,会形成新的队形中的虚拟位置,循环调用自身move_to_target()函数;
所述move_to_target()函数存在于智能车控制算法程序代码中,输入参数为目标位置,无输出,产生的行为为移动到目标位置;
步骤四,每个智能车在计算得到各自运动控制量的基础上,结合带激光雷达反馈的避障算法得到最终的控制量,使得各个智能车根据最终的控制量运动到预设的队形位置;避障算法采用带激光雷达反馈的人工势场法:
定义约束相邻两个智能车qi和qj的势场函数Uij为:
其中η为正比例增益系数,ρij=||qi-qj||为节点i和节点j之间的实际欧式距离,ρ0为障碍物的斥力势场范围半径;
势场力为势场函数的梯度函数,即:
其中为qi指向qj的单位向量;
结合运动学模型,角速度控制量ωi如下所示:
ωi=kθii)
其中为智能车i所受到的势场合力,/>为x,y轴上的单位向量,αi为势场力方向角,θi为智能车i实时的朝向,kθ为正比例系数;在智能车线速度的输入确定上,选择直接与势场力矢量的模成正比,kv为正比例系数:
5.根据权利要求4所述的基于机器视觉的智能车编队控制方法,其特征在于,根据定位模块,建立智能车位置结构网络模型,具体如下:
定位模块依赖于每辆智能车惯性测量单元IMU测量值,通过编码器及运动学模型,完成智能车定位以及位置结构网络模型建立,包括:
步骤1.1,依据过去设定时间段内的IMU测量值,通过训练好的卷积神经网络输入IMU测量值,输出预测得到当前时刻的陀螺仪误差量;
步骤1.2,使用该陀螺仪误差量对原始陀螺仪测量值修正,使用修正后的陀螺仪测量值计算得到相对可靠的姿态角;
步骤1.3,结合编码器及运动学模型得到绝对位置坐标;
经过以上三步,单个智能车得到自身绝对位置坐标,并以此构建位置结构网络模型。
6.根据权利要求5所述的基于机器视觉的智能车编队控制方法,其特征在于,定位模块,依赖于单目摄像机及训练好的线性回归模型得到视角范围内其他智能车的预测位置坐标,之后通过通信拓扑与其他智能车分布式共享预测位置坐标,以对构建的位置结构网络模型进行优化,具体步骤如下:
步骤2.1,每个智能车拥有不同颜色、相同形状的周围标识,依此为依据,在单目摄像机视角范围内的标识通过图像处理中的阈值处理、几何形状检测、轮廓发现,计算出视角范围内其他智能车的特征点;
步骤2.1,将步骤2.1所得特征点线性编码后传入预训练好的线性回归模型,模型输出为该特征点对应的智能车与自身的相对位置偏差(Δx,Δy);
步骤2.3,使用步骤2.2所得相对位置偏差与自身绝对位置坐标融合得到单目摄像机视角范围内智能车的预期位置,将该预期位置以绝对位置坐标的形式在通信拓扑中广播;
每辆智能车通过测量的自身绝对位置坐标与其他智能车在通信拓扑中广播的绝对位置坐标融合,得到自身实际的坐标,并在通信拓扑中广播,优化智能车位置结构网络模型。
CN202111574049.4A 2021-12-21 2021-12-21 一种基于机器视觉的智能车编队控制系统及其控制方法 Active CN114265406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111574049.4A CN114265406B (zh) 2021-12-21 2021-12-21 一种基于机器视觉的智能车编队控制系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111574049.4A CN114265406B (zh) 2021-12-21 2021-12-21 一种基于机器视觉的智能车编队控制系统及其控制方法

Publications (2)

Publication Number Publication Date
CN114265406A CN114265406A (zh) 2022-04-01
CN114265406B true CN114265406B (zh) 2024-04-12

Family

ID=80828305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111574049.4A Active CN114265406B (zh) 2021-12-21 2021-12-21 一种基于机器视觉的智能车编队控制系统及其控制方法

Country Status (1)

Country Link
CN (1) CN114265406B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032138A (zh) * 2018-07-25 2018-12-18 南京理工大学 基于一致性算法的多机器人编队控制系统及方法
CN109062204A (zh) * 2018-07-25 2018-12-21 南京理工大学 一种基于跟随领航者编队的多移动机器人控制系统
CN110687917A (zh) * 2019-09-06 2020-01-14 哈尔滨工程大学 多无人艇分布式队形重构编队控制方法
CN110727273A (zh) * 2019-11-13 2020-01-24 北京邮电大学 多球形机器人编队形成过程路径规划算法
CN111367285A (zh) * 2020-03-18 2020-07-03 华东理工大学 一种轮式移动小车协同编队与路径规划方法
CN111596688A (zh) * 2020-05-27 2020-08-28 北京理工大学 基于连续通信的多无人机编队一致性控制方法
CN112130582A (zh) * 2020-09-10 2020-12-25 北京理工大学 一种多智能体编队形成方法
CN112859923A (zh) * 2021-01-25 2021-05-28 西北工业大学 一种无人机视觉编队飞行控制系统
CN113282083A (zh) * 2021-05-17 2021-08-20 北京航空航天大学 一种基于机器人操作系统的无人车编队实验平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3316062B1 (en) * 2016-10-31 2019-09-04 Nxp B.V. Platoon control

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032138A (zh) * 2018-07-25 2018-12-18 南京理工大学 基于一致性算法的多机器人编队控制系统及方法
CN109062204A (zh) * 2018-07-25 2018-12-21 南京理工大学 一种基于跟随领航者编队的多移动机器人控制系统
CN110687917A (zh) * 2019-09-06 2020-01-14 哈尔滨工程大学 多无人艇分布式队形重构编队控制方法
CN110727273A (zh) * 2019-11-13 2020-01-24 北京邮电大学 多球形机器人编队形成过程路径规划算法
CN111367285A (zh) * 2020-03-18 2020-07-03 华东理工大学 一种轮式移动小车协同编队与路径规划方法
CN111596688A (zh) * 2020-05-27 2020-08-28 北京理工大学 基于连续通信的多无人机编队一致性控制方法
CN112130582A (zh) * 2020-09-10 2020-12-25 北京理工大学 一种多智能体编队形成方法
CN112859923A (zh) * 2021-01-25 2021-05-28 西北工业大学 一种无人机视觉编队飞行控制系统
CN113282083A (zh) * 2021-05-17 2021-08-20 北京航空航天大学 一种基于机器人操作系统的无人车编队实验平台

Also Published As

Publication number Publication date
CN114265406A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
CN110244772B (zh) 移动机器人的领航跟随系统和领航跟随控制方法
CN109211251B (zh) 一种基于激光和二维码融合的即时定位与地图构建方法
CN106647814A (zh) 一种基于二维码地标识别的无人机视觉辅助定位与飞控系统及方法
CN107132563B (zh) 一种里程计结合双天线差分gnss的组合导航方法
CN113819914A (zh) 一种地图构建方法及装置
US9122278B2 (en) Vehicle navigation
CN111103887A (zh) 一种基于多传感器的多移动机器人调度系统设计方法
CN112947407A (zh) 一种多智能体有限时间的编队路径跟踪控制方法及系统
JP2024500672A (ja) 自律エージェントの環境表現を動的に更新するための方法およびシステム
CN112097774B (zh) 基于自适应卡尔曼滤波与平均跟踪的分布式地图融合方法
WO2022115215A1 (en) Systems and methods for monocular based object detection
CN114323033A (zh) 基于车道线和特征点的定位方法、设备及自动驾驶车辆
CN115993825A (zh) 一种基于空地协同的无人车集群控制系统
CN115151470A (zh) 用于调整自主车辆的规划轨迹的系统和方法
CN115577320A (zh) 一种基于数据插值的多传感器异步数据融合方法
CN114153228A (zh) 一种有向交互拓扑下无速度测量的四旋翼编队控制方法
CN114265406B (zh) 一种基于机器视觉的智能车编队控制系统及其控制方法
US20210398014A1 (en) Reinforcement learning based control of imitative policies for autonomous driving
CN113608556A (zh) 一种基于多传感器融合的多机器人相对定位方法
CN115437396A (zh) 一种面向复杂环境的多异构机器人视觉伺服队形变换方法
CN116734850A (zh) 一种基于视觉输入的无人平台强化学习自主导航系统及方法
Huang et al. An autonomous UAV navigation system for unknown flight environment
CN115683114A (zh) 一种用于小型地面载体的实时位姿估计系统
CN115685992A (zh) 一种自动驾驶车辆路径规划方法、装置、车辆及介质
CN114895676A (zh) 基于空间智能系统实现地面自动驾驶车辆高速行驶的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant