CN111061266A - 一种实时场景分析和空间避障的夜间值守机器人 - Google Patents
一种实时场景分析和空间避障的夜间值守机器人 Download PDFInfo
- Publication number
- CN111061266A CN111061266A CN201911270548.7A CN201911270548A CN111061266A CN 111061266 A CN111061266 A CN 111061266A CN 201911270548 A CN201911270548 A CN 201911270548A CN 111061266 A CN111061266 A CN 111061266A
- Authority
- CN
- China
- Prior art keywords
- robot
- convolution
- night
- realized
- target
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 15
- 230000033001 locomotion Effects 0.000 claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 238000001514 detection method Methods 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 43
- 238000012360 testing method Methods 0.000 claims description 29
- 238000012549 training Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 18
- 230000000875 corresponding effect Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 12
- 230000001276 controlling effect Effects 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 11
- 238000001931 thermography Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000002829 reductive effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 230000009123 feedback regulation Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000004888 barrier function Effects 0.000 claims 2
- 230000009977 dual effect Effects 0.000 claims 1
- 238000002372 labelling Methods 0.000 claims 1
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 101150074789 Timd2 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0248—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/18—Stabilised platforms, e.g. by gyroscope
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及一种实时场景分析和空间避障的夜间值守机器人,属于智能机器人设备技术领域,由STM32单片机作为机器人底盘运动控制的核心,通过PID算法闭环控制实现机器人的自平衡;由Nvidia Jetson TX2搭载ROS标准操作系统服务,实现机器人的定位、自主导航和路径规划;使用YOLO实现目标检测,并通过kobuki协议实现上下位机的通信,从而实现了一个高完整度的、具有特色的无死角安保智能机器人。本发明的优点及有益效果在于,实现了一个高完整度的、具有特色的无死角安保智能机器人。
Description
技术领域
本发明涉及一种实时场景分析和空间避障的夜间值守机器人,属于智能机器人设备技术领域。
背景技术
机器人应用的领域较为广泛,主要应用在个人、家用、医疗、公共安全、农业、测绘、军用等,轮式的机器人具有运动灵活的特点,适合于地面平整的室内场所,在执行巡逻和安保任务时,通过自身的移动可以实现全方位无死角的监控,并且只要自身电量充沛,不仅可以在白天正常工作,而且在夜晚可以利用红外装置进行作业。传统的视频监控系统具有视觉死角并且容易被人为的破坏,而依靠人力来巡逻又会耗费大量的劳动力成本,综合上述两种弊端,使用机器人在安保上能够达到更好的效果。两轮机器人具有体积小巧的特点,同时自身较为灵活,能够适应如办公室、仓库、银行等地面较为平整的室内场所,并提供引导、巡逻等服务。而这些室内场所在夜晚无人的情况下通常会采用监控摄像头来保护财产安全,但是由于摄像头存在视觉死角,也更容易被人为的破坏掉,安保的效果并不是很好。
随着深度学习算法和网络模型的快速发展,传统的目标识别算法逐渐被取代。硬件设施计算能力的不断提升,也为深层网络的实际应用提供了支持。深度卷积神经网络的实际应用范围逐渐增大,在医疗、工业生产、军工等领域都可以看到基于深度学习的目标识别方法的使用。此外,残差网络及深度密集网络等新型网络模型的提出,使得深度网络在层数加深的同时,过拟合现象逐渐减小,训练效率越来越高,识别效果也越来越准确。本发明针对夜间等弱光和不可见光场景进行环境监测的任务需求,搭载红外热成像摄像头,采集红外视频图像数据,在嵌入式平台上根据采集的场景数据进行实时目标识别。
发明内容
本发明的目的在于为了克服现有技术的不足,设计一种具备定位和导航功能的机器人,能够在室内自动巡逻,并且具有目标检测的功能,能够检测出场景中是否有人员存在,在夜间能够识别红外图像,进行检测;具体涉及到一种能够自动巡逻,构建场景地图和检测场景内物体的机器人。
本发明的技术方案在于,由STM32单片机作为机器人底盘运动控制的核心,通过PID算法闭环控制实现机器人的自平衡;由Nvidia Jetson TX2搭载ROS标准操作系统服务,实现机器人的定位、自主导航和路径规划;使用YOLO实现目标检测,并通过kobuki协议实现上下位机的通信,从而实现了一个高完整度的、具有特色的无死角安保智能机器人。
本发明主要包括用于运行目标检测和定位导航以及建图算法的上位机,和用于控制机器人底盘运动的下位机,上位机和下位机通过串口线连接通信,还包括与上位机无线连接的用作监控系统的PC;所述的上位机包括分别与控制器连接的激光雷达、摄像头、电源、控制器;所述的下位机包括分别与STM32单片机连接的电源、加速度计、直流电机、编码器、陀螺仪。
硬件包括以Nvidia Jetson TX2为中心的上位机控制系统,以STM32为中心的下位机底盘运动控制系统和以笔记本电脑为主体的监控系统;机器人上位机通过无线网卡连接到由路由器组建的局域网,从而连接到笔记本电脑实现远程的监控;而上位机与下位机之间的通信使用串口线和kuboki协议。
本发明包括以下操作步骤:
步骤1、机器人底盘的运动控制,对于两轮机器人主要包括直立控制、速度控制和转向控制三部分;直立控制采用比例微分控制算法并结合速度控制的比例积分控制算法来实现机器人的自平衡,通过将速度变量积分并缓慢附加在电机上实现机器人的平稳运动,转向则是依靠对电机差动赋值实现;将上述三个部分叠加在电机上,从而实现整体运动控制;
步骤2、通信协议的实现,采用和ROS通信最为常用的kobuki协议,将STM32底盘虚拟为kobuki底盘,利用机器人自身搭载的陀螺仪,加速度计和编码器,按照协议格式上传里程计信息;同时在下位机进行下发指令数据的解析,完成相应的动作;
步骤3、对红外目标的检测,依然采用当前较为热门的YOLO网络实现目标检测,但是默认都是使用普通的网络摄像头并适用于白天的场景,对于夜晚的红外热成像并不能有效的识别,需要重新进行训练。本设计通过修改网络的配置信息,用事先标注好的红外数据集进行训练得到新的模型,并将其加载到ROS的配置文件中,即可完成对红外目标的识别;
步骤4、整体效果的测试,在搭建好的机器人平台上进行实际的测试,并查看自平衡,建图,导航,避障和目标检测的效果。
所述的直立控制包括:由陀螺仪测量的角速度通过积分得到的角度值,该角度值与设定角度值的偏差乘以比例系数k1再和角速度值乘以微分系数k2进行融合,转化成PWM信号输出给电机驱动模块驱动机器人,同时角度值会和加速度计的值进行。
所述的速度控制包括:倾角可以使电机加速的运动,所以要想使机器人做加速运动必须要维持一个倾角,当速度给的越大,机器人需要的倾角就会越大,相比于机器人平衡的时候,由速度环控制得出的PWM差值就越大,最后直立环和速度环相叠加后,与原来平衡时候总的PWM值就会有差值,所以机器人就会维持一个倾斜角度;又因为有速度环控制着以稳定的速度向平衡位置输送PWM,这个状态就在角度环和速度环的双重闭环的反馈调节下就一直保持直立并以这个速度运动下去。
所述红外数据集的处理分为数据采集、数据标记、数据训练集与测试集划分;所述数据采集是通过热成像相机进行数据采集,在采集过程中,选择光线较暗的夜间环境,保证目标在视野域中的尺寸大小足以识别;通过拍摄红外视频,采用从视频中截取帧的方式来得到数据图像,最终,保留了3218张红外图像;所述数据标记选用LabelImg工具对图像数据进行标记,图片的标记会以XML文件格式被保存;本发明拟定对4种目标进行标记,分别为building、car、person、tree;图像中目标的坐标框以及目标的类别均需要被标记,用以进行训练和测试;如果一个图像中出现了多个目标,则所有的目标均应当被标记;所述数据训练集与测试集划分采用4:1的比例来划分,剔除掉一些劣质的图像后,训练集最终有2500张图片,测试集最终有632张图片。
所述YOLO网络借鉴MobileNet中深度可分离卷积的方法,将用于提取特征的Darknet-53中位于网络中间部分的卷积层用深度分离卷积来代替,以减少模型的计算量,并在此基础上,通过对模型进行适当的裁剪,进一步加快模型的运行速度;将Darknet-53临近输入与输出两侧的残差网络保留;为使模型在训练时的收敛性更强,在卷积层后均加入了BN层,使用Relu激活函数;网络的最终输出为将图片以13×13、26×26、52×52大小的网格划分后每个网格对应的3个候选框的预测结果;修改网络模型后,算法的精度下降在可接受范围内,速度获得了较大幅度的提升,在精度较高的情况下在嵌入式平台中完成实时红外图像目标识别。
本发明还包括路径规划方法,具体步骤如下:
步骤1、局部路径规划:DWA动态窗口算法是使用来对机器人进行局部的路径规划的,DWM基于当前位置,在机器人的控制空间下,离散抽样选取一些数据样点(dx,dy,dθ),得到一系列可能被选用的速度控制指令,这些指令会使机器人按照不同的速度和方向运动,由此会产生多条可能运动的路径,但是下发的指令只能是一条,所以需要在这些路径中选择一条效果最佳的路径;具体的做法是在这些指令发出之前,先进行运动的模拟仿真,推测按这个速度、这个方向运动一小段时间会发生什么情况,并通过评价函数对产生的多条路径进行打分,得分越高,优先被选择的概率就会越大;
步骤2、全局路径规划,Dijkstra算法是使用来对机器人进行全局的路径规划,从当前位置开始根据全局的地图信息计算到目标点的最短路径;本设计以雷达生成二维的格栅地图作为Dijkstra算法的“图”结构,会有很多的节点存在,Dijkstra算法通过逐步将周围的到达目标最近的点加入到集合中,并及时调整最佳的路径,因为在ROS中可以设定障碍物的范围信息,所以在全局规划中会计算出两点间的可通过、没有障碍物的运动路径;如果遇到障碍物时会紧贴着避开障碍物。
本发明的优点及有益效果在于,实现了一个高完整度的、具有特色的无死角安保智能机器人。
附图说明
图1是本发明系统结构图。
图2是检测算法的网络结构图。
图3是系统软件流程图。
图4是平衡系统主流程图。
图5是自平衡机器人直立控制图。
图6是自平衡系统总体控制图。
图7是电机驱动模块逻辑真值表。
图8是ROS架构图。
图9是航位推算法流程图。
图10是DWA局部路径规划图。
图11是YOLOv3算法的原始结构图。
具体实施方式
下面结合附图1至11对本发明的优选实施例作进一步说明,本发明立足于服务型移动机器人;一方面,目前服务机器人主要从事维护保养、修理、运输、清洗、保安、救援、监护等工作,在本发明中主要执行安保巡逻的功能,按照预先设定好的路线进行巡逻任务,并在执行任务的过程中检测可疑的人员;另一方面,对于移动性机器人,存在着定位问题,如何让机器人知道自己在哪里、应该到哪里和知道自己该往哪里走是机器人研究的热门话题。
本发明由STM32单片机9作为机器人底盘运动控制的核心,通过PID算法闭环控制实现机器人的自平衡;由Nvidia Jetson TX2搭载ROS标准操作系统服务,实现机器人的定位、自主导航和路径规划;使用YOLO实现目标检测,并通过kobuki协议实现上下位机的通信,从而实现了一个高完整度的、具有特色的无死角安保智能机器人。
本发明包括以Nvidia Jetson TX2为中心的上位机控制系统,以STM32为中心的下位机底盘运动控制系统和以笔记本电脑为主体的监控系统;机器人上位机通过无线网卡连接到由路由器组建的局域网,从而连接到笔记本电脑实现远程的监控;而上位机与下位机之间的通信使用串口线和kuboki协议。
其中以Nvidia Jetson TX2为中心的上位机控制系统接收激光雷达的数据信息和下位机上传的参数信息,控制着地图的构建、路径规划以及导航和避障,并通过向下位机底盘发送指令来控制底盘下一步的动作,是前进、后退,还是转向和相应的运动速度;获取摄像头信息,并进行实时的目标检测和识别。
以STM32为中心的底盘运动控制系统控制着机器人的自平衡以及接收上位机的指令,通过解析得出下一步底盘的运动信息,同时通过左右电机的编码器获得左右两个轮子实际转动的速度,通过陀螺仪和加速度计的融合获得机器人实际的姿态数据,并给上位机发送这些需要的参数;同时STM32通过调节PWM值来控制电机转速,电机转速直接控制轮子转速。
以笔记本电脑为中心的监控和调试平台;在笔记本电脑上,可以方便地看到由激光雷达生成的地图、周围的障碍物信息、机器人的运动轨迹、规划出来的路径等,也可以通过SSH的方式远程连接到上位机,进行参数的调节来控制机器人,同时也可以使用远程桌面查看机器人通过摄像头看到的场景信息。
发明主要包括用于运行目标检测和定位导航以及建图算法的上位机6,和用于控制机器人底盘运动的下位机14,上位机6和下位机14通过串口线13连接通信,还包括与上位机6无线连接的用作监控系统的PC15;
所述的上位机6包括分别与控制器4连接的激光雷达1、摄像头2、电源3、控制器4;
所述的下位机14包括分别与STM32单片机9连接的电源7、加速度计8、直流电机10、编码器11、陀螺仪12。
具体的硬件应用方面,本发明使用激光雷达Rplidar A2;激光雷达测距的原理就是依靠发出的激光遇到障碍物会进行反射或散射,然后会被接收器接收到,通过计算得出障碍物的距离信息,又因为是360度的旋转,所以能捕获到整个平面的地图信息,是机器人定位和导航过程中定位的重要部件;还使用罗技C270i摄像头;用于捕获前方的视觉信息,进一步实现机器人的目标检测和识别;如若没有合适的红外摄像头设备能安放在机器人上,可以优先用普通的网络摄像头代替;使用Nvidia Jetson TX2这一深度学习开发平台作为上位机的控制核心;使用MPU6050测量角度和加速度,它集成了三轴陀螺仪和三轴加速度计于一体,能够测量xyz三轴的倾斜角度和在xyz三轴方向的加速度,减少误差,并且自身体积小巧,所占空间也很小,能够减少在PCB板上的占用空间;本发明使用直流微型减速电机GB37,其减速比为1:30;电机上附带有霍尔编码器,通过AB相的先后来判断正转还是反转,是用来反馈轮子实际转速的部件。
本发明各个软件模块协同紧密,呈现出以ROS控制机器人的导航、避障为中心,目标检测和识别、底盘驱动相互协调的结构,系统总体软件流程框图如图3所示。
本发明包括以下操作步骤:
步骤1、机器人底盘的运动控制,对于两轮机器人主要包括直立控制、速度控制和转向控制三部分;直立控制采用比例微分控制算法并结合速度控制的比例积分控制算法来实现机器人的自平衡,通过将速度变量积分并缓慢附加在电机上实现机器人的平稳运动,转向则是依靠对电机差动赋值实现;将上述三个部分叠加在电机上,从而实现整体运动控制;
步骤2、通信协议的实现,采用和ROS通信最为常用的kobuki协议,将STM32底盘虚拟为kobuki底盘,利用机器人自身搭载的陀螺仪,加速度计和编码器,按照协议格式上传里程计信息;同时在下位机进行下发指令数据的解析,完成相应的动作;
步骤3、对红外目标的检测,依然采用当前较为热门的YOLO实现目标检测,但是默认都是使用普通的网络摄像头并适用于白天的场景,对于夜晚的红外热成像并不能有效的识别,需要重新进行训练;本发明通过修改网络的配置信息,用事先标注好的红外数据集进行训练得到新的模型,并将其加载到ROS的配置文件中,即可完成对红外目标的识别;
步骤4、整体效果的测试,在搭建好的机器人平台上进行实际的测试,并查看自平衡,建图,导航,避障和目标检测的效果。
本发明采用的是两轮自平衡机器人,是一种两轮左右并行结构的新型移动机器人,具有占地空间小、运动灵活的优势;两轮自平衡机器人没有冗余的平衡轮,其驱动方式主要靠的是根据自身的状态时刻驱动电机调整平衡,在结构上应尽量使重心处于前后左右的中心位置,要想前进或后退都需要维持一定的倾角,想要转向只需要差动赋值就可以了,具体如图5所示。
本发明采用MPU6050传感器模块获取相关信息来控制平衡,它不仅包含了3轴陀螺仪和3轴加速度计,更重要的是还集成了可扩展的数字运动处理器DMP;在mpu6050中,用陀螺仪传感器测角度,用加速度传感器测加速度,再使用DMP进行解算,直接输出四元数,然后将四元数转换为对应的姿态角;本发明中,mpu6050通过I2C总线和主控芯片STM32进行通信,主控芯片根据姿态角和采集到的加速度计信号和陀螺仪信号,以及通过安装在两个车轮上的编码器采集到的脉冲数,得到小车实际运动的速度和方向信息,利用PID算法进行融合计算,得出PWM信号控制电机,从而实现机器人的自平衡;平衡系统的主流程如图4所示;在获得之后相关数据之后,采用PID算法实现机器人的自平衡功能;PID算法包括直立控制、速度控制两个部分。
融合直立控制和速度控制如图6所示,两轮的机器人类似于倒立摆的模型,由于重力的影响,机器人在短暂的平衡之后可能会朝着较重的一边倒下;为了保持平衡的状态,硬件方面和软件方面都要做好,在硬件上可能是存在的自身结构性的问题,或者是传感器的安装位置存在安装误差,要尽量调整机器人的结构,并且消除在安装上存在的误差;在软件上更多的则是参数上的设定,并再不断地调试中确定合理的参数。
所述的直立控制包括:由陀螺仪测量的角速度通过积分得到的角度值,该角度值与设定角度值的偏差乘以比例系数k1再和角速度值乘以微分系数k2进行融合,转化成PWM信号输出给电机驱动模块驱动机器人,同时角度值会和加速度计的值进行。
由于在传感器的安装上可能会存在误差,使得传感器实际测量的角度与机器人实际的角度有偏差,在重力的影响下,机器人很难保持平衡。由于倾角的存在使得电机的转动跟不上下倾的趋势,那让电机转得更快岂不是能够抵消掉一部分倾角从而减缓下倾的趋势,由此可见倾角和电机是有关联的;最终达到的目标是使机器人能够在原地静止,如果陀螺仪和加速度计上出现问题,测量不准确存在误差,则单纯使用比例控制的话会逐步放大这样的误差,并不能消除;为了消除这样的误差,只能依靠电机的正向转动,不断地积分补偿误差的倾角,这样就会彻底消除速度控制误差。
所述的速度控制包括:倾角可以使电机加速的运动,所以要想使机器人做加速运动必须要维持一个倾角,当速度给的越大,机器人需要的倾角就会越大,相比于机器人平衡的时候,由速度环控制得出的PWM差值就越大,最后直立环和速度环相叠加后,与原来平衡时候总的PWM值就会有差值,所以机器人就会维持一个倾斜角度;又因为有速度环控制着以稳定的速度向平衡位置输送PWM,这个状态就在角度环和速度环的双重闭环的反馈调节下就一直保持直立并以这个速度运动下去。
电机控制:脉冲宽度调制是数字信号对模拟电路进行控制的一种非常有效的技术,本发明中采用PWM控制技术来实现对电机转动速度的控制;PWM有两个重要的参数,一个是信号周期,也可以说是信号频率,另一个是占空比,简单来说就是高低电平在一个周期内的持续时间之比;当信号周期过大,即对底盘的速度的调节周期过大,会容易导致底盘产生“颠簸”,运动不够平稳顺畅;但是信号周期也不宜过小,电机可能会反应不过来;本发明取72KHz作为PWM信号频率。
本发明使用TB6612FNG电机驱动模块控制电机,它是双驱动,也就是可以驱动两个电机;其逻辑真值表如图7所示;PWM的输出使用了STM32的脉宽调制功能,通过定时器TIM2的通道3和通道4输出两路PWM信号,根据真值表使左右两个轮子做出相应的动作。
ROS(Robot Operating System)是一个开源的机器人软件平台,它能为机器人开发者提供类似操作系统的服务和功能,具体包括将机器人的硬件设备进行抽象,提供统一的底层驱动接口,将每个运行的程序视为节点并在节点之间采用事先规定的格式进行消息的传递,同时支持多机协同作业,为了方便开发,也提供了很多库以及开发包供程序员修改和使用;但它并不是真正的操作系统,而是建立在普通操作系统上的后操作系统,或者说是次级操作系统;ROS分级的,主要分为三个级别:计算图级、文件系统级、社区级,如图9所示。
本发明使用SLAM算法完成地图的构建;SLAM(Simultaneous Localization AndMapping)是同步定位与地图构建算法,在本发明中使用的是gmapping的方式进行地图的构建,gampping的方式是基于粒子滤波的方法,大量的粒子会增加地图的准确性,但是算法的复杂性也会增加,所以比较适合在小场景的室内环境中建图,在不失准确性的前提下能够加快计算的性能;从机器人搭载的激光雷达中获取数据信息,采用粒子滤波的方法,通过机器人的里程计整合出周围障碍物的信息;Gmapping遵循的原则是先定位后建图,先通过激光雷达扫描机器人初始时刻的周围环境,并通过匹配环境信息进行自我定位,然后在控制机器人移动的过程中,由电机编码器提供运动的距离,再结合陀螺仪的原始数据矫正转向信息,获取到新的机器人位姿状态,同时激光雷达会扫描到更多的环境信息,在匹配先前的地图信息的基础上增加新的地图信息,然后在不断的移动中,整个地图就建立完成。
本发明使用航位推算法(Dead-Reckoning Method)实现机器人的室内定位;该算法利用机器人自身装备的各种传感器,获取机器人当前的运动动态信息,并通过递推累计公式获得机器人相对于初始状态的估计位置;本发明使用陀螺仪和编码器获取机器人相关运动动态信息,从而估计机器人的位置;如图9所示。
本发明所述红外数据集的处理分为数据采集、数据标记、数据训练集与测试集划分;
所述数据采集是通过热成像相机进行数据采集,在采集过程中,选择光线较暗的夜间环境,保证目标在视野域中的尺寸大小足以识别;通过拍摄红外视频,采用从视频中截取帧的方式来得到数据图像,最终,保留了3218张红外图像;
所述数据标记选用LabelImg工具对图像数据进行标记,图片的标记会以XML文件格式被保存;本发明拟定对4种目标进行标记,分别为building、car、person、tree;图像中目标的坐标框以及目标的类别均需要被标记,用以进行训练和测试;如果一个图像中出现了多个目标,则所有的目标均应当被标记;
所述数据训练集与测试集划分采用4:1的比例来划分,剔除掉一些劣质的图像后,训练集最终有2500张图片,测试集最终有632张图片。
所述YOLO网络借鉴MobileNet中深度可分离卷积的方法,将用于提取特征的Darknet-53中位于网络中间部分的卷积层用深度分离卷积来代替,以减少模型的计算量,并在此基础上,通过对模型进行适当的裁剪,进一步加快模型的运行速度;将Darknet-53临近输入与输出两侧的残差网络保留;为使模型在训练时的收敛性更强,在卷积层后均加入了BN层,使用Relu激活函数;网络的最终输出为将图片以13×13、26×26、52×52大小的网格划分后每个网格对应的3个候选框的预测结果;修改网络模型后,算法的精度下降在可接受范围内,速度获得了较大幅度的提升。
深度可分离卷积是一种特殊的卷积方式,相较于传统卷积而言可以减少计算量,提升模型整体的运转速度,在计算资源有限、速度要求高的应用场景下有着良好的表现;对于一般的卷积而言,卷积核可被看作一个包含通道维、空间维的高、空间维的宽三个维度的滤波器,卷积操作便是在实现通道维和空间维的联合映射;在Chollet F等人关于Xception网络模型的研究中,猜想卷积层通道维和空间维如果分开映射,也许能达到更好的效果。
深度可分离卷积将传统的卷积分为两步进行,即一个深度分离的卷积和一个卷积核为1x1的卷积;以卷积核大小为Dk×Dk的卷积操作为例,若卷积的步长为1,即特征图的尺寸不变,输入特征图的尺寸为Di×Di×M,输出特征图的尺寸为Di×Di×N。
传统卷积操作的计算量如下:
P1=Di×Di×N×Dk×Dk×M
一次完整的深度可分离卷积操作计算量如下:
P2=Dk×Dk×Di×Di×M+Di×Di×N×M×1×1
其中,P2的第一项为卷积核大小是Dk×Dk的深度分离卷积操作的计算量,P2的第二项为卷积核大小为1×1的映射操作的计算量;
则P2与P1的比值如下:
计算结果可简化为:
当Dk=3,即卷积核的大小为3×3时,使用深度可分离卷积的计算量约为使用传统卷积的计算量的1/9。
本发明使用yolov3完成目标检测的任务,yolo经过不断地版本更新,如今已经成为检测速度快,检测目标种类丰富地算法之一;相较于之前的版本,yolov3调整了网络结构,利用多尺度特征对目标对象进行检测,并在最后的分类上用Logistic取代了原先的softmax层;在基本的图像特征提取方面,yolov3采用了Darknet-53的网络结构,借鉴了残差网络的做法,在一些层之间设置了快捷的链路;YOLOv3使用darknet-53网络中的前52层来提取图片的特征,之后通过3次上采样以实现在多尺度上对目标进行识别,在上采样的过程中,将darknet中间层的输出作为route与上采样后的结果进行通道层次上的拼接,在更好地保留和利用图像特征的同时,保证模型的收敛。
darknet-53网络使用若干个残差网络块来实现,每个残差网络块由卷积核为3×3的卷积层与卷积核为1×1的卷积层搭配组成;使用残差块可以保证模型的收敛,对于深层网络而言,可以更好地获取和保留图片的特征;此外,残差块中1×1的卷积层,采用了network in network中的思想,每次1×1的卷积层通道数量为3×3卷积层的一半,减少了卷积时通道的数量,在提取特征时减少了计算量和参数量;此外,darknet-53使用步长为2的卷积层来对图像进行下采样,以此来代替传统的池化层,这样可以更好地保留图片的特征;实验表明,darknet-53网络具有较强的特征提取能力,因此YOLOv3选用darknet-53网络除最后一层全连接层外的前52层来对图像做特征提取;yolov3在检测方面的准确度是毋庸置疑的,但是在嵌入式开发板TX2上运行显得有些吃力,对于输入的实时视频的检测有点迟钝,帧率有点下降,不能很好的满足实时监测的需求;yolov3-tiny是yolov3的精简版,虽然会牺牲一点准确度,但是检测的速度会大大提升,较为适合在TX2开发板上进行实时的视频检测。
具体如图2所示,选择416×416作为网络的输入大小,则经过darknet-53网络后,输出的特征向量的尺寸为13×13×1024;之后,将特征向量进行上采样和通道压缩,并与之前从darknet-53的中间层保留的route进行通道层次上的拼接;拼接完成后,用5个卷积层进行特征提取,最终以filter数量为3×(5+4)=27的卷积层作为最终的检测层;“3”指每个检测尺度中anchor box的数量,“5”指目标框的中心x、y变化参数、目标框的大小w、h变化参数,以及置信度confidence,“4”指类别的数量,用于预测目标为该类别的可能性分数。
为了在ROS框架下使用yolo网络,现已经有专门的darknet_ros包可以调用,darknet_ros就是darknet在ros操作系统下的版本,即在ros下使用yolo进行目标检测;在此之前需要获取到摄像头的原始信息,所以事先需要在ROS中安装USB摄像头的驱动包,并定义好摄像头发布的话题信息,因为darknet_ros会直接订阅指定的图像话题名,然后调用yolo对图像进行检测,绘制检测框,并发布相应的检测话题;至于yolo的版本可以在darknet_ros中的配置文件里改动,换成相应的网络结构和权重就可以了。
由于yolo本身就能检测到物体并正确的标注出来,所以在白天的场景下能够完成大多数的识别任务,但是在夜间的场景下是没有通过预先训练的,需要结合自身的情况对网络的配置进行相应的更改,如类别,滤波器等,再进行训练,将训练得到的新的权重加载到darknet_ros的配置中,就能够完成夜间红外对目标检测和识别的任务。
路径规划就是规划出一条从A点到B点的路径,然后让机器人按照该路径移动;本发明使用局部路径规划与全局路径规划这两个层次的规划模块协同完成路径的规划,使得机器人可以较好的实现从A到B点的导航和避障功能。
本发明还包括路径规划方法,具体步骤如下:
步骤1、局部路径规划:DWA动态窗口算法是使用来对机器人进行局部的路径规划的,DWM基于当前位置,在机器人的控制空间下,离散抽样选取一些数据样点(dx,dy,dθ),得到一系列可能被选用的速度控制指令,这些指令会使机器人按照不同的速度和方向运动,由此会产生多条可能运动的路径,但是下发的指令只能是一条,所以需要在这些路径中选择一条效果最佳的路径;具体的做法是在这些指令发出之前,先进行运动的模拟仿真,推测按这个速度、这个方向运动一小段时间会发生什么情况,并通过评价函数对产生的多条路径进行打分,得分越高,优先被选择的概率就会越大;如图10所示。
步骤2、全局路径规划,Dijkstra算法是使用来对机器人进行全局的路径规划,从当前位置开始根据全局的地图信息计算到目标点的最短路径;本发明以雷达生成二维的格栅地图作为Dijkstra算法的“图”结构,会有很多的节点存在,Dijkstra算法通过逐步将周围的到达目标最近的点加入到集合中,并及时调整最佳的路径,因为在ROS中可以设定障碍物的范围信息,所以在全局规划中会计算出两点间的可通过、没有障碍物的运动路径;如果遇到障碍物时会紧贴着避开障碍物。
本发明使用激光雷达获取周围环境的相关数据,生成二维的平面地图障碍物信息,然后在已知的地图上进行定位和导航,并且在导航的过程中实时规避障碍物。
在ROS中,进行导航需要使用到的三个包是:
(1)move_base:提供了ROS导航的基本配置和运行交互接口,是控制机器人运动的最基础的功能包;在导航方面主要包含全局路径规划和本地实时规划和相关配置,并结合传感器的信息进行路径规划,使机器人能够到达指定的位置;
(2)gmapping:是SLAM定位算法的一种,在构建如室内等小场景地图时速度快并且精度高,但是比较依赖于里程计的数据信息,基于粒子滤波先定位再建图,而且主要应用在最开始建图的过程中;
(3)amcl:是自适应蒙特卡罗定位算法的具体实现,使用粒子滤波器在已建立的地图上定位机器人的姿态信息,并在机器人运动的过程中跟踪位姿的变化,主要应用在导航过程中的定位。
考虑到ROS是开源的,并在机器人的建图和导航方面提供了许多功能包的支持,在目标识别方面也有整理好的功能包;在本发明中主要是根据实际的机器人情况进行有关参数的调试,具体步骤如下:
本发明是基于两轮自平衡的服务机器人,它的测试指标主要有:
1.自平衡性能:分别测试机器人静止时和移动时的平衡性能;
2.创建地图与定位功能:要求能够根据所处环境创建对应的地图,并且创建完成之后能够根据环境中物品的增减更新地图;在运动过程中,能够知道机器人本身所在位置并更新定位;
3.导航正确性:该部分两种测试方案;一是运行事先编写好的脚本文件,二是在电脑上使用鼠标点击目的地;对于给定的目标点,测试机器人能否按照要求到达(前提是目的地可达),包括到达的准确性以及到达时间;
4.避障可行性:对于路上已有或突然出现的障碍物,测试机器人能否避开障碍物;
5.目标识别准确率:测试能否正确识别人这一类别。
考虑到各个模块相关性很强,因此采取分别测试各个模块的指标,从而证明机器人整体性能良好的测试方案:
1.自平衡性能:平衡的指标为当机器人都能够维持自身平衡,不会出现大幅度摇晃状态;处于静止状态下,将Z轴偏移角度和左右轮速度变化幅度作为判断平衡的指标。编码器的测试数据表示机器人前进后退(0-65535),前进编码器数据增加,后退编码器数据减少;Z轴转向角度为小车偏离初始位置的角度值,测试时将这个值放大了100倍(0-18000表示0°-180°,65536-47536表示0°-(-180°))。在静止状态下,机器人左右轮编码器以及Z轴偏移角度变化幅度很小,证明机器人自平衡性能良好;
2.创建地图与定位功能:创建地图需要使机器人绕行一周,使用激光雷达扫描周围环境,从而将环境信息转换成位置地图信息;使用电脑的遥控的方式帮助机器人完成地图创建。地图创建成功之后,在以后启动的过程中如果继续使用该地图,需要告诉机器人它当前在地图上的位置;之后在真正运动的过程中,会根据环境中的变化(例如出现障碍物)而进行实时的更新地图;
3.导航正确性:测试导航正确性要求对于给定的目标点,测试机器人能按照要求、在一定的时间范围内正确到达:
(1)在电脑上使用鼠标点击目的地,点击"2D Nav Goal"按钮,点住地图某点,并拖出一个箭头,再松开,即可指定目标点;使用鼠标在地图上选择的终点位置,设置成功之后,机器人即自动导航到目标点,机器人规划出一条到达终点的路线;如果中间要停止,就发送当前位置给机器人;
(2)使用脚本文件,在由ROS创建的地图上事先选择好一系列要到达的目标点,并记录下来目标点的位置坐标,在相应的导航脚本文件里面更新这几个目标点的位置坐标,运行后就会在地图上出现相应的规划路径,并按照目标点的顺序依次到达;由于机器人在每到达一个目标点之后都会有一个自我调节的过程,所以会出现和实际目标点存在误差的问题,这里说明一下就是每个目标点都会有一个范围,到达这个范围之内就表明机器人到达的目标点;
4.避障可行性:给定终点之后,在进行全局路径规划时,机器人能够规划处一条避开障碍物的路径;而在运动的过程中,对于突然出现的障碍物,机器人使用局部规划路径算法避开障碍物。当指定的目的地与机器人当前位置不在一条直线上时,能够正确规划出一条绕行路线,并控制底盘运动;机器人成功到达指定的目的地,并且绕开了障碍物;
5.目标检测准确性,由于采用的是开源的目标检测框架,本发明中并没有修改核心的网络结构,只是根据自身的要求将yolo和ROS结合起来,所以在准确度方面并不需要测试;但是原有的训练和预测都是采用的白天场景下的图片,对于夜间红外的图片的目标识别是没有做的,所以将之前实验室里面采集到的红外热成像的图片标注成VOC数据的格式,修改原有的配置重新训练,最后同样能够准确的检测出目标。
从前面模块测试结果与分析,证明机器人整体性能良好。
1.自平衡性能;机器人无论是在静止时还是在运动过程中,它的平衡性能十分良好,达到自平衡机器人的基本要求;
2.创建地图与定位功能;对于给定的新环境,能够创建和更新地图,并且随着自身位置的改变,能够进行正确定位的定位,地图创建完整、定位准确,具有较好的性能;
3.导航正确;机器人能够理解脚本文件或者鼠标指令,对于给定目的地,能够正确规划路线,并且控制底盘运动到目的地,正确性较高,性能良好;
4.避障可行;对于路上已有或突然出现的障碍物,机器人能够使用全局或者局部动态规划算法,以规划路径的方式避开障碍物,避障及时,算法灵活,具有较高的性能;
5.目标识别准确率高;机器人对于前方出现人这一情况反应及时,并且能够成功的检测出来,由于没有红外摄像头的限制,通过摄像头采集的红外数据,同样能够完成检测的任务。
总体来说,机器人使用PID算法实现两轮底盘的自平衡,基于ROS提供的服务实现机器人定位、规划路径以及导航避障等,基于YOLO这一目标检测框架实现对目标的检测,更好地实现机器智能化。
Claims (9)
1.一种实时场景分析和空间避障的夜间值守机器人,包括两轮机器人和红外热成像摄像头,其特征是:
由STM32单片机作为机器人底盘运动控制的核心,通过PID算法闭环控制实现机器人的自平衡;由Nvidia Jetson TX2搭载ROS标准操作系统服务,实现机器人的定位、自主导航和路径规划;使用YOLO网络实现目标检测,并通过kobuki协议实现上下位机的通信,从而实现了一个高完整度的、具有特色的无死角安保智能机器人。
2.根据权利要求1所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于,硬件主要包括用于运行目标检测和定位导航以及建图算法的上位机(6),和用于控制机器人底盘运动的下位机(14),上位机(6)和下位机(14)通过串口线(13)连接通信,还包括与上位机(6)无线连接的用作监控系统的PC(15);
所述的上位机(6)包括分别与控制器(4)连接的激光雷达(1)、摄像头(2)、电源(3)、控制器(4);
所述的下位机(14)包括分别与STM32单片机(9)连接的电源(7)、加速度计(8)、直流电机(10)、编码器(11)、陀螺仪(12)。
3.根据权利要求1所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于,包括以下操作步骤:
步骤1、机器人底盘的运动控制,对于两轮机器人主要包括直立控制、速度控制和转向控制三部分;直立控制采用比例微分控制算法并结合速度控制的比例积分控制算法来实现机器人的自平衡,通过将速度变量积分并缓慢附加在电机上实现机器人的平稳运动,转向则是依靠对电机差动赋值实现;将上述三个部分叠加在电机上,从而实现整体运动控制;
步骤2、通信协议的实现,采用和ROS通信最为常用的kobuki协议,将STM32底盘虚拟为kobuki底盘,利用机器人自身搭载的陀螺仪,加速度计和编码器,按照协议格式上传里程计信息;同时在下位机进行下发指令数据的解析,完成相应的动作;
步骤3、对红外目标的检测,依然采用当前较为热门的YOLO网络实现目标检测,但是默认都是使用普通的网络摄像头并适用于白天的场景,对于夜晚的红外热成像并不能有效的识别,需要重新进行训练;通过修改网络的配置信息,用事先标注好的红外数据集进行训练得到新的模型,并将其加载到ROS的配置文件中,即可完成对红外目标的识别;
步骤4、整体效果的测试,在搭建好的机器人平台上进行实际的测试,并查看自平衡,建图,导航,避障和目标检测的效果。
4.根据权利要求3所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于,所述的直立控制包括:由陀螺仪测量的角速度通过积分得到的角度值,该角度值与设定角度值的偏差乘以比例系数k1再和角速度值乘以微分系数k2进行融合,转化成PWM信号输出给电机驱动模块驱动机器人,同时角度值会和加速度计的值进行融合再反馈,防止角度值因噪声或其他因素发生突变从而对控制产生影响。
5.根据权利要求3所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于,所述的速度控制包括:倾角使电机加速的运动,当速度越大,机器人需要的倾角越大,相对于机器人平衡的时候,由速度环控制得出的PWM差值就越大,最后直立环和速度环相叠加后,与原来平衡时候总的PWM值出现差值,机器人因此会维持一个倾斜角度;速度环控制着以稳定的速度向平衡位置输送PWM,这个状态在角度环和速度环的双重闭环的反馈调节下保持直立并以这个速度运动下去。
6.根据权利要求3所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于,所述红外数据集的处理分为数据采集、数据标记、数据训练集与测试集划分;
所述数据采集是通过热成像相机进行数据采集,在采集过程中,选择光线较暗的夜间环境,保证目标在视野域中的尺寸大小足以识别;拍摄红外视频,采用从视频中截取帧的方式来得到数据图像,所述数据标记选用LabelImg工具对图像数据进行标记,图片的标记会以XML文件格式被保存;本发明拟定对4种目标进行标记,分别为building、car、person、tree;图像中目标的坐标框以及目标的类别均需要被标记,用以进行训练和测试;如果一个图像中出现了多个目标,则所有的目标均应当被标记;
所述数据训练集与测试集划分采用4:1的比例来划分,剔除掉一些劣质的图像后,得到训练集图片和测试集图片。
7.根据权利要求3所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于,所述YOLO网络借鉴MobileNet中深度可分离卷积的方法,将用于提取特征的Darknet-53中位于网络中间部分的卷积层用深度分离卷积来代替,以减少模型的计算量,并在此基础上,通过对模型进行适当的裁剪,进一步加快模型的运行速度;将Darknet-53临近输入与输出两侧的残差网络保留;为使模型在训练时的收敛性更强,在卷积层后均加入了BN层,使用Relu激活函数;网络的最终输出为将图片以13×13、26×26、52×52大小的网格划分后每个网格对应的3个候选框的预测结果;修改网络模型后,算法的精度下降在可接受范围内,速度获得了较大幅度的提升,在精度较高的情况下在嵌入式平台中完成实时红外图像目标识别。
8.根据权利要求7所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于深度可分离卷积将传统的卷积分为两步进行,即一个深度分离的卷积和一个卷积核为1x1的卷积;以卷积核大小为Dk×Dk的卷积操作为例,若卷积的步长为1,即特征图的尺寸不变,输入特征图的尺寸为Di×Di×M,输出特征图的尺寸为Di×Di×N;
传统卷积操作的计算量如下:
P1=Di×Di×N×Dk×Dk×M;
一次完整的深度可分离卷积操作计算量如下:
P2=Dk×Dk×Di×Di×M+Di×Di×N×M×1×1;
其中,P2的第一项为卷积核大小是Dk×Dk的深度分离卷积操作的计算量,P2的第二项为卷积核大小为1×1的映射操作的计算量;
则P2与P1的比值如下:
计算结果可简化为:
9.根据权利要求3所述的一种实时场景分析和空间避障的夜间值守机器人,其特征在于还包括路径规划方法,包括以下步骤:
步骤1、局部路径规划:DWA动态窗口算法是使用来对机器人进行局部的路径规划的,DWM基于当前位置,在机器人的控制空间下,离散抽样选取一些数据样点(dx,dy,dθ),使机器人按照不同的速度和方向运动,选择最佳的路径;
步骤2、全局路径规划,Dijkstra算法是使用来对机器人进行全局的路径规划,从当前位置开始根据全局的地图信息计算到目标点的最短路径;Dijkstra算法通过逐步将周围的到达目标最近的点加入到集合中,并及时调整最佳的路径,因为在ROS中可以设定障碍物的范围信息,所以在全局规划中会计算出两点间的可通过、没有障碍物的运动路径;如果遇到障碍物时会紧贴着避开障碍物。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911270548.7A CN111061266A (zh) | 2019-12-12 | 2019-12-12 | 一种实时场景分析和空间避障的夜间值守机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911270548.7A CN111061266A (zh) | 2019-12-12 | 2019-12-12 | 一种实时场景分析和空间避障的夜间值守机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111061266A true CN111061266A (zh) | 2020-04-24 |
Family
ID=70298828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911270548.7A Pending CN111061266A (zh) | 2019-12-12 | 2019-12-12 | 一种实时场景分析和空间避障的夜间值守机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061266A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111505664A (zh) * | 2020-05-11 | 2020-08-07 | 中国人民解放军陆军研究院装甲兵研究所 | 一种基于障碍物测试的测试房间及测试方法 |
CN111665838A (zh) * | 2020-05-21 | 2020-09-15 | 浙江工业大学 | 一种自平衡机器人抗持续性外力作用的姿态控制方法 |
CN113093749A (zh) * | 2021-04-01 | 2021-07-09 | 上海应用技术大学 | 服务机器人的导航系统及方法 |
CN113253719A (zh) * | 2021-04-06 | 2021-08-13 | 南京工程学院 | 基于ros操作系统的智能移动设备及通信建立方法 |
CN113255521A (zh) * | 2021-05-26 | 2021-08-13 | 青岛以萨数据技术有限公司 | 一种面向嵌入式平台的双模目标检测方法及系统 |
TWI757999B (zh) * | 2020-12-04 | 2022-03-11 | 國立陽明交通大學 | 即時避障系統、即時避障方法及具有即時避障功能的無人載具 |
CN114280920A (zh) * | 2021-12-08 | 2022-04-05 | 广东博力威科技股份有限公司 | 电动平衡车平衡控制方法、装置、电子设备及存储介质 |
CN114330785A (zh) * | 2022-03-14 | 2022-04-12 | 北京绿佳杰园林工程有限公司 | 园林植被智能节约型养护系统及方法 |
CN117681989A (zh) * | 2023-12-29 | 2024-03-12 | 北京理工大学珠海学院 | 一种基于多模态技术的自动巡检机器人 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101537615A (zh) * | 2009-04-24 | 2009-09-23 | 北京工业大学 | 基于红外姿态检测的两轮直立式自平衡机器人及控制方法 |
CN106842230A (zh) * | 2017-01-13 | 2017-06-13 | 深圳前海勇艺达机器人有限公司 | 移动机器人导航方法与系统 |
CN108356818A (zh) * | 2018-01-15 | 2018-08-03 | 史聪灵 | 一种基于机器人的综合管廊巡检系统及交互系统 |
CN109461283A (zh) * | 2018-10-31 | 2019-03-12 | 名商科技有限公司 | 智能小区安全防护系统 |
WO2019190395A1 (en) * | 2018-03-28 | 2019-10-03 | Agency For Science, Technology And Research | Method and system for returning a displaced autonomous mobile robot to its navigational path |
-
2019
- 2019-12-12 CN CN201911270548.7A patent/CN111061266A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101537615A (zh) * | 2009-04-24 | 2009-09-23 | 北京工业大学 | 基于红外姿态检测的两轮直立式自平衡机器人及控制方法 |
CN106842230A (zh) * | 2017-01-13 | 2017-06-13 | 深圳前海勇艺达机器人有限公司 | 移动机器人导航方法与系统 |
CN108356818A (zh) * | 2018-01-15 | 2018-08-03 | 史聪灵 | 一种基于机器人的综合管廊巡检系统及交互系统 |
WO2019190395A1 (en) * | 2018-03-28 | 2019-10-03 | Agency For Science, Technology And Research | Method and system for returning a displaced autonomous mobile robot to its navigational path |
CN109461283A (zh) * | 2018-10-31 | 2019-03-12 | 名商科技有限公司 | 智能小区安全防护系统 |
Non-Patent Citations (1)
Title |
---|
张亚斌: "基于ROS的轮式移动机器人行人目标视觉感知与跟随系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111505664A (zh) * | 2020-05-11 | 2020-08-07 | 中国人民解放军陆军研究院装甲兵研究所 | 一种基于障碍物测试的测试房间及测试方法 |
CN111665838A (zh) * | 2020-05-21 | 2020-09-15 | 浙江工业大学 | 一种自平衡机器人抗持续性外力作用的姿态控制方法 |
CN111665838B (zh) * | 2020-05-21 | 2023-08-29 | 浙江工业大学 | 一种自平衡机器人抗持续性外力作用的姿态控制方法 |
TWI757999B (zh) * | 2020-12-04 | 2022-03-11 | 國立陽明交通大學 | 即時避障系統、即時避障方法及具有即時避障功能的無人載具 |
CN113093749A (zh) * | 2021-04-01 | 2021-07-09 | 上海应用技术大学 | 服务机器人的导航系统及方法 |
CN113253719A (zh) * | 2021-04-06 | 2021-08-13 | 南京工程学院 | 基于ros操作系统的智能移动设备及通信建立方法 |
CN113253719B (zh) * | 2021-04-06 | 2023-09-12 | 南京工程学院 | 基于ros操作系统的智能移动设备及通信建立方法 |
CN113255521A (zh) * | 2021-05-26 | 2021-08-13 | 青岛以萨数据技术有限公司 | 一种面向嵌入式平台的双模目标检测方法及系统 |
CN114280920A (zh) * | 2021-12-08 | 2022-04-05 | 广东博力威科技股份有限公司 | 电动平衡车平衡控制方法、装置、电子设备及存储介质 |
CN114330785A (zh) * | 2022-03-14 | 2022-04-12 | 北京绿佳杰园林工程有限公司 | 园林植被智能节约型养护系统及方法 |
CN117681989A (zh) * | 2023-12-29 | 2024-03-12 | 北京理工大学珠海学院 | 一种基于多模态技术的自动巡检机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061266A (zh) | 一种实时场景分析和空间避障的夜间值守机器人 | |
US11900536B2 (en) | Visual-inertial positional awareness for autonomous and non-autonomous tracking | |
Price et al. | Deep neural network-based cooperative visual tracking through multiple micro aerial vehicles | |
Bacik et al. | Autonomous flying with quadrocopter using fuzzy control and ArUco markers | |
Weiss | Vision based navigation for micro helicopters | |
Achtelik et al. | Autonomous navigation and exploration of a quadrotor helicopter in GPS-denied indoor environments | |
CN110475717A (zh) | 用于uav和其他自主车辆的室内测绘和模块化控制以及相关系统和方法 | |
CN108073167A (zh) | 一种基于深度相机与激光雷达的定位与导航方法 | |
JP2020507072A (ja) | 実時間オンライン自己運動推定を備えたレーザスキャナ | |
Dijkshoorn | Simultaneous localization and mapping with the ar. drone | |
Cui et al. | Drones for cooperative search and rescue in post-disaster situation | |
CN106197429A (zh) | 一种多信息融合定位设备及系统 | |
Ji et al. | Obstacle detection and recognition in farmland based on fusion point cloud data | |
US20190339718A1 (en) | System and method for preceptive navigation of automated vehicles | |
Cui et al. | Search and rescue using multiple drones in post-disaster situation | |
CN109254587A (zh) | 可在无线充电条件下稳定悬停的小型无人机及其控制方法 | |
CN118020038A (zh) | 两轮自平衡机器人 | |
Johnson | Vision-assisted control of a hovering air vehicle in an indoor setting | |
Rudol | Increasing autonomy of unmanned aircraft systems through the use of imaging sensors | |
CN116957360A (zh) | 一种基于无人机的空间观测与重建方法及系统 | |
Sa et al. | 100hz onboard vision for quadrotor state estimation | |
Guttendorf et al. | UGV-UAV Object Geolocation in Unstructured Environments | |
Abdulov et al. | AEROBOT-2020 UAV Challenge: A Report | |
Ayers | Development of an Object Detection and Tracking Pipeline for Unmanned Aerial Vehicles in a Simulated Environment | |
Elawady et al. | Detecting and avoiding frontal obstacles from monocular camera for micro unmanned aerial vehicles |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200424 |
|
RJ01 | Rejection of invention patent application after publication |