CN108780319A - 软件更新方法、***、移动机器人及服务器 - Google Patents
软件更新方法、***、移动机器人及服务器 Download PDFInfo
- Publication number
- CN108780319A CN108780319A CN201880000819.4A CN201880000819A CN108780319A CN 108780319 A CN108780319 A CN 108780319A CN 201880000819 A CN201880000819 A CN 201880000819A CN 108780319 A CN108780319 A CN 108780319A
- Authority
- CN
- China
- Prior art keywords
- mobile robot
- information
- sample
- software program
- image
- 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
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000004888 barrier function Effects 0.000 claims abstract description 210
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 238000012549 training Methods 0.000 claims description 47
- 238000003062 neural network model Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 42
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000005538 encapsulation Methods 0.000 claims description 6
- 238000010408 sweeping Methods 0.000 claims description 3
- 208000010877 cognitive disease Diseases 0.000 abstract description 8
- 238000013527 convolutional neural network Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- BVPWJMCABCPUQY-UHFFFAOYSA-N 4-amino-5-chloro-2-methoxy-N-[1-(phenylmethyl)-4-piperidinyl]benzamide Chemical compound COC1=CC(N)=C(Cl)C=C1C(=O)NC1CCN(CC=2C=CC=CC=2)CC1 BVPWJMCABCPUQY-UHFFFAOYSA-N 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000004218 nerve net Anatomy 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 244000062793 Sorghum vulgare Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 235000019713 millet Nutrition 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- 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/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/0253—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 extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请提供一种软件更新方法、***、移动机器人及服务器。所述软件更新方法包括以下步骤:在移动机器人按照导航路线进行移动期间,获取自所述探测装置在导航路线上探测到的第二障碍物信息;基于所述第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息;将所述样本信息发送至一服务端;以及接收到所述服务端反馈的更新数据包时更新所述软件程序。本申请通过获取第二障碍物信息生成样本信息,并在接收到服务端基于所述样本信息生成的更新数据包时更新软件程序,提高了移动机器人识别障碍物的准确度,从而沿基于经更新的障碍物信息规划的导航路线移动时,降低了碰撞率。
Description
技术领域
本申请涉及智能机器人领域,特别是涉及一种软件更新方法、***、移动机器人及服务器。
背景技术
移动机器人是自动执行工作的机器装置。它既可以接受用户输入的指令运行,又可以根据所运行的程序自动运行,还可以根据以人工智能技术制定的原则纲领行动。这类移动机器人可用在室内或室外,可用于工业或家庭,可用于取代保安巡视、取代人们清洁地面,还可用于家庭陪伴、辅助办公等。
随着移动机器人的移动技术的更新迭代,VSLAM(Visual SimultaneousLocalization and Mapping,基于视觉信息的即时定位与地图构建,简称VSLAM)技术为移动机器人提供更精准的导航能力,使得移动机器人能更有效地自主移动。通常,移动机器人可以基于设置于其上的摄像装置所摄取的图像来识别障碍物,进而基于所识别的障碍物的位置信息规划导航路线以避开所述障碍物。然而,在实际应用中,任何识别技术不能确保百分正确,面对复杂的真实环境,移动机器人的移动可能因错误识别、漏识别等出现错误导航。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种软件更新方法、***、移动机器人及服务器,用于解决现有技术中由于存在因未被识别的障碍物而导致移动机器人在移动期间与障碍物产生碰撞的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种用于移动机器人的软件更新方法,所述移动机器人与服务端通信连接,所述移动机器人包括摄像装置和探测装置,其中,待更新的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线,所述软件更新方法包括以下步骤:在移动机器人按照导航路线进行移动期间,获取自所述探测装置在导航路线上探测到的第二障碍物信息;基于所述第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息;将所述样本信息发送至一服务端;以及接收到所述服务端反馈的更新数据包时更新所述软件程序。
在本申请的第一方面的某些实施方式中,所述基于第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息的步骤包括:基于所述第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置;基于所述相对空间位置取得包含所述第二障碍物的图像;以及基于所取得的图像和相对空间位置生成样本信息。
在本申请的第一方面的某些实施方式中,所述基于第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置的步骤包括:基于所述第二障碍物信息中的碰撞信息控制所述移动机器人按照导航路线返回移动一段距离,并通过探测返回移动的路线确定第二障碍物与移动机器人之间的相对空间位置;或者基于所述第二障碍物信息中的相对空间位置确定相应的第二障碍物与移动机器人之间的相对空间位置。
在本申请的第一方面的某些实施方式中,所述基于相对空间位置取得包含所述第二障碍物的图像的步骤包括:从所缓存的图像中选取所述摄像装置在对应所述相对空间位置拍摄的包含第二障碍物的图像;或者基于所述相对空间位置重新拍摄包含第二障碍物的图像。
在本申请的第一方面的某些实施方式中,所述基于所取得的图像和相对空间位置生成样本信息的步骤包括:基于所取得的图像生成样本输入信息;基于所取得的图像以及所述相对空间位置生成样本输出信息;其中,所述样本信息包含所述样本输入信息和样本输出信息。
在本申请的第一方面的某些实施方式中,所述基于所取得的图像生成样本输入信息的步骤包括:将所取得的图像直接作为所述样本输入信息;或者将所取得的图像进行预处理,并将预处理后的图像作为所述样本输入信息。
在本申请的第一方面的某些实施方式中,所述基于所取得的图像以及所述相对空间位置生成样本输出信息的步骤包括:按照所述相对空间位置将所述第二障碍物映射到所述样本输入信息上,并得到样本输出信息;或者将所述相对空间位置、样本输入信息以及预存储的用于将所述第二障碍物映射到所述样本输入信息的物理参考信息封装为样本输出信息。
在本申请的第一方面的某些实施方式中,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
在本申请的第一方面的某些实施方式中,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式。
在本申请的第一方面的某些实施方式中,所述软件程序还包含用于计算在物理空间中所述交界线与移动机器人的相对空间位置的第三软件程序,用于基于所述相对空间位置和预设地图规划导航路线的第四软件程序,以及用于生成所述样本信息的第五软件程序中的至少一种。
本申请的第二方面还提供一种用于服务端的软件更新方法,所述服务端与至少一个移动机器人通信连接,所述方法包括以下步骤:根据至少一个所述移动机器人所提供的样本信息,对预设的软件程序进行训练;其中,所述软件程序至少用于识别所述移动机器人的摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线;根据训练结果生成用于更新所述软件程序的更新数据包;以及将所述更新数据包发送至移动机器人以更新所述移动机器人中内置的软件程序。
在本申请的第二方面的某些实施方式中,所述样本信息包括样本输入信息和样本输出信息;其中,所述样本输入信息包括移动机器人所选取的图像;所述样本输出信息包括基于所选取的图像和移动机器人与第二障碍物的相对空间位置而生成的样本输出信息,或者,所述样本输出信息包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息。
在本申请的第二方面的某些实施方式中,所述软件更新方法还包括基于接收到的相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息获得样本输出信息的步骤。
在本申请的第二方面的某些实施方式中,所述根据至少一个所述移动机器人所提供的样本信息,对预设的软件程序进行训练的步骤包括:根据所有移动机器人所提供的样本信息,对预设的软件程序进行训练;或者根据每个移动机器人所提供的样本信息,对相应的每个移动机器人的软件程序进行训练。
在本申请的第二方面的某些实施方式中,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
在本申请的第二方面的某些实施方式中,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式,对应地,所述更新数据包中包含相应神经网络中的参数。
本申请的第三方面还提供一种用于移动机器人的软件更新***,所述移动机器人与服务端通信连接,所述移动机器人包括摄像装置和探测装置,其中,待更新的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线,所述软件更新***包括:获取单元,用于在移动机器人按照导航路线进行移动期间,获取自所述探测装置在导航路线上探测到的第二障碍物信息;样本生成单元,用于基于所述第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息;第一发送单元,用于将所述样本信息发送至一服务端;以及第一更新单元,用于在经第一接收单元接收到所述服务端反馈的更新数据包时更新所述软件程序。
在本申请的第三方面的某些实施方式中,所述样本生成单元包括:确定模块,用于基于所述第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置;获取模块,用于基于所述相对空间位置取得包含所述第二障碍物的图像;以及样本生成模块,用于基于所取得的图像和相对空间位置生成样本信息。
在本申请的第三方面的某些实施方式中,所述确定模块包括:第一确定模块,用于基于所述第二障碍物信息中的碰撞信息控制所述移动机器人按照导航路线返回移动一段距离,并通过探测返回移动的路线确定第二障碍物与移动机器人之间的相对空间位置;以及第二确定模块,用于基于所述第二障碍物信息中的相对空间位置确定相应的第二障碍物与移动机器人之间的相对空间位置。
在本申请的第三方面的某些实施方式中,所述获取模块包括:第一获取模块,用于从所缓存的图像中选取所述摄像装置在对应所述相对空间位置拍摄的包含第二障碍物的图像;以及第二获取模块,用于基于所述相对空间位置重新拍摄包含第二障碍物的图像。
在本申请的第三方面的某些实施方式中,所述样本生成模块包括:输入样本生成模块,用于基于所取得的图像生成样本输入信息;输出样本生成模块,用于基于所取得的图像以及所述相对空间位置生成样本输出信息;其中,所述样本信息包含所述样本输入信息和样本输出信息。
在本申请的第三方面的某些实施方式中,所述样本输入模块用于将所取得的图像直接作为所述样本输入信息;或者,所述样本输入模块用于将所取得的图像进行预处理,并将预处理后的图像作为所述样本输入信息。
在本申请的第三方面的某些实施方式中,所述样本输出模块用于按照所述相对空间位置将所述第二障碍物映射到所述样本输入信息上,并得到样本输出信息;或者,所述样本输出模块用于将所述相对空间位置、样本输入信息以及预存储的用于将所述第二障碍物映射到所述样本输入信息的物理参考信息封装为样本输出信息。
在本申请的第三方面的某些实施方式中,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
在本申请的第三方面的某些实施方式中,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式。
在本申请的第三方面的某些实施方式中,所述软件程序还包含用于计算在物理空间中所述交界线与移动机器人的相对空间位置的第三软件程序,用于基于所述相对空间位置和预设地图规划导航路线的第四软件程序,以及用于生成所述样本信息的第五软件程序中的至少一种。
本申请的第四方面还提供一种用于服务端的软件更新***,所述服务端与至少一个移动机器人通信连接,所述***包括:第二接收单元,用于接收至少一个移动机器人所提供的样本信息;训练单元,用于根据至少一个移动机器人所提供的样本信息,对预设的软件程序进行训练;其中,所述软件程序至少用于识别所述移动机器人的摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线;更新生成单元,用于根据训练结果生成用于更新所述软件程序的更新数据包;第二发送单元,用于将所述更新数据包发送至移动机器人以更新所述移动机器人中内置的软件程序。
在本申请的第四方面的某些实施方式中,所述样本信息包括样本输入信息和样本输出信息;其中,所述样本输入信息包括移动机器人所选取的图像;所述样本输出信息包括基于所选取的图像和移动机器人与第二障碍物的相对空间位置而生成的样本输出信息,或者,所述样本输出信息包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息。
在本申请的第四方面的某些实施方式中,所述软件更新***还包括输出样本生成单元,用于基于接收到的相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息生成样本输出信息。
在本申请的第四方面的某些实施方式中,所述训练单元用于根据所有移动机器人所提供的样本信息,对预设的软件程序进行训练;或者,所述训练单元用于根据每个移动机器人所提供的样本信息,对相应的每个移动机器人的软件程序进行训练。
在本申请的第四方面的某些实施方式中,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
在本申请的第四方面的某些实施方式中,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式,对应地,所述更新数据包中包含相应神经网络中的参数。
本申请的第五方面还提供一种软件更新***,用于更新移动机器人中的软件程序,其中,所述移动机器人包括摄像装置和探测装置,其特征在于,待更新的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线,所述软件更新***包括:位于移动机器人侧的客户端***,所述客户端***执行上述中任一所述的用于移动机器人的软件更新方法;以及与至少一个客户端***通信连接的服务端***,所述服务端***执行上述中任一所述的用于服务端软件更新方法。
本申请的第六方面还提供一种移动机器人,包括摄像装置,用于在所述移动机器人移动期间摄取图像;移动装置,用于受控地带动所述移动机器人整机移动;存储装置,用于存储所摄取的图像、预设的物理参考信息、预先标记的物体标签以及至少一个程序;处理装置,用于调用所述至少一个程序并执行如权利要求1-10中任一所述的软件更新方法。
在本申请的第六方面的某些实施方式中,所述移动机器人为具有单目摄像装置的移动机器人。
在本申请的第六方面的某些实施方式中,所述移动机器人为扫地机器人。
本申请的第七方面还提供一种服务器,包括:存储单元,用于存储至少一个程序;处理单元,用于调用所述至少一个程序并执行如权利要求11-16中任一所述的软件更新方法以生成更新数据包,所述更新数据包用于更新移动机器人的至少用于识别摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线的程序。
本申请的第八方面还提供一种计算机存储介质,存储至少一种程序,所述至少一种程序在被调用时执行上述中任一所述的用于移动机器人的软件更新方法。
本申请的第九方面还提供一种计算机存储介质,存储至少一种程序,所述至少一种程序在被调用时执行上述中任一所述的用于服务端的软件更新方法。
如上所述,本申请的软件更新方法、***、移动机器人及服务器,具有以下有益效果:通过获取第二障碍物信息生成样本信息,并在接收到服务端基于所述样本信息生成的更新数据包时更新软件程序,提高了移动机器人识别障碍物的准确度,从而沿基于经更新的障碍物信息规划的导航路线移动时,降低了碰撞率。
附图说明
图1显示为本申请用于移动机器人的软件更新方法在一种实施方式中的流程图。
图2显示为本申请用于移动机器人的软件更新方法在又一种实施方式中的流程图。
图3显示为本申请用于服务端的软件更新方法在一种实施方式中的流程图。
图4显示为基于移动机器人和服务端的数据通信而执行软件更新方法的流程图。
图5显示为本申请用于移动机器人的软件更新***在一种实施方式中的结构示意图。
图6显示为本申请用于服务端的软件更新***在一种实施方式中的结构示意图。
图7显示为本申请软件更新***在一种实施方式中的结构示意图。
图8显示为本申请移动机器人在一种实施方式中的结构示意图。
图9显示为本申请服务器在一种实施方式中的结构示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
移动机器人基于导航控制技术执行移动操作。其中,受移动机器人所应用的场景影响,当移动机器人处于未知环境的未知位置时,利用VSLAM(Visual SimultaneousLocalization and Mapping,基于视觉的即时定位与地图构建)技术可以帮助移动机器人构建地图并执行导航操作。一般地,移动机器人通过视觉传感器所提供的视觉信息识别障碍物,进而基于所识别的障碍物信息规划导航路线,使得移动机器人在沿所述导航路线移动期间能够避开障碍物自主移动。其中,所述视觉传感器举例包括摄像装置,对应的视觉信息为图像数据(以下简称为图像)。通常,移动机器人内置并执行软件程序,以利用图像识别技术识别障碍物信息,再基于障碍物信息规划导航路线等步骤,以便进行巡逻、清洁等。然而,在实际应用中,存在未识别出障碍物或者由于新添加而未被拍摄在图像中的障碍物(即漏识别障碍物)的情况。在这种情况下,移动机器人基于软件程序在沿导航路线移动时会出现与障碍物碰撞、找不到待控制物体等情况。
鉴于此,本申请提供一种用于移动机器人的软件更新方法,所述软件更新方法由安装在移动机器人中的软件和硬件执行。其中,移动机器人通过所述软件更新方法收集基于真实应用环境而生成的样本信息,并且借助移动机器人与服务端的数据通信获取更新数据包以进行软件更新。
其中,所述移动机器人包括但不限于:家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人等可基于摄像装置所摄取的图像规划导航路线以进行自主移动的机器人。
其中,所述移动机器人可以通过网络接口与服务端进行无线通信。例如,移动机器人可操作地与网络接口耦接,以将机器人以通信方式耦接至网络。例如,网络接口可将机器人连接到个人局域网(PAN)(诸如蓝牙网络)、局域网(LAN)(诸如Wi-Fi网络)、和/或广域网(WAN、4G、5G或LTE蜂窝网络)。
其中,所述移动机器人包括摄像装置和探测装置。在一些实施例中,所述移动机器人包括一个摄像装置,移动机器人依据该摄像装置所摄取的图像执行相关操作。在另一些实施例中,所述移动机器人也可以配置有多个摄像装置,本申请中移动机器人仅依据所述多个摄像装置中的一个摄像装置所摄取的图像执行相关操作,在该种情况下,也被视为是单目摄像装置的移动机器人。在一些实施例中,摄像装置可以以预设时间间隔拍摄的不同时刻下的静态图像。在另一些实施例中,摄像装置可以拍摄视频,由于视频是由图像帧构成的,因而可以通过连续或不连续地采集所获取视频中的图像帧并选用一帧图像作为一幅图像。
另外,移动机器人的探测装置是用于感测移动机器人与其应用场景中物体之间关系的装置,所述探测装置包括但不限于:用于探测移动机器人与物体之间距离的激光测距传感器、用于感测移动机器人与障碍物之间碰撞关系的碰撞传感器等。
其中,所述服务端包括但不限于单台服务器、服务器集群、分布式服务器、基于云架构的服务端等。相应地,软件程序的更新训练在服务端实施,并将在服务端生成的更新数据包发送给移动机器人侧以对原软件程序进行更新,由此减小移动机器人侧的数据计算量,同时,便于利用多个移动机器人侧上传的数据在服务端进行统一训练,节约软件更新成本。
其中,存储在移动机器人中并由移动机器人执行的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线。在此,第一障碍物包含指放置在地面上的物体,例如桌子、椅子、平铺物体、水瓶、花盆等物体。第一障碍物信息包括但不限于:第一障碍物的位置信息、第一障碍物与地面之间的交界线、第一障碍物对应的物体种类标签等。在某些实施例中,第一障碍物的位置信息可以由第一障碍物在地图中的坐标位置来表征,第一障碍物的位置信息还可以由第一障碍物与地面之间的交界线在地图中的坐标位置来表示。第一障碍物与地面之间的交界线包括但不限于:物体的支撑部分与地面之间形成的交线,物体贴近地面所形成的交线等。例如,桌子的桌腿与地面的交线、花盆与地面的交线。又如,矮脚沙发下边沿与地面所形成的阴影线。所述交界线经拍摄映射在图像中。第一障碍物对应的物体种类标签是基于移动机器人所移动的环境情况预先筛选并存储在移动机器人的存储装置中的。所述物体种类标签用于描述可能被摄取的、且摆放在所述环境中的物体分类或物体在图像中的图像特征。
在某些实施例中,所述软件程序中包含用于识别图像中障碍物与地面交界线的第一软件程序、或者用于识别图像中物体的第二软件程序、或其组合。
其中,为识别包含交界线的第一障碍物信息,在一种实施方式中,所述第一软件程序中包括执行下述步骤的程序:自摄像装置所摄取的图像中识别物体图像区域,以及从图像中确定地面图像区域;将地面图像区域与物体图像区域的相交线作为障碍物与地面的交界线。
在另一种实施方式中,所述第一软件程序中包括神经网络模型的网络结构及连接方式。在某些实施例中,所述神经网络模型可以为卷积神经网络,所述神经网络模型的结构包括输入层、至少一层隐藏层和至少一层输出层。其中,所述输入层用于接收所拍摄的图像或者经预处理后的图像;所述隐藏层包含卷积层和激活函数层,甚至还可以包含归一化层、池化层、融合层中的至少一种等;所述输出层用于输出标记有物体种类标签的图像。所述连接方式根据各层在神经网络模型中的连接关系而确定。例如,基于数据传输而设置的前后层连接关系,基于各隐藏层中卷积核尺寸而设置与前层数据的连接关系,以及全连接等。所述神经网络模型从图像中识别出的各物体分类以及物体在图像中的位置。所述软件程序利用神经网络模型识别图像中第一障碍物与地面的交界线。例如,所述神经网络包含经训练的CNN(Convolutional Neural Network,卷积神经网络,CNN),利用CNN对于输入的图像进行第一障碍物与地面的交界线的识别。这类神经网络的输入层为机器人视角获取的图片,输出层大小为预设的图像中可能为地面的区域,输出层上每个像素点为障碍物出现的概率,输入层和输出层中间包括若干卷积层。在训练过程中,可使用预先人工标注好的图片,利用反向传播算法调整神经网络的权重,以使得网络输出的障碍物位置接近人工标注的障碍物的位置。在摄像装置摄取到图像并输出给处理装置后,处理装置基于所述神经网络识别出第一障碍物与地面的交界线。
为识别包含物体的第一障碍物信息,所述第二软件程序中包括执行下述步骤的程序:可以自摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象,然后采用相应的物体种类标签来表征物体,以供移动机器人进行路线规划等。
在一种实施方式中,所述物体种类标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在一些具体示例中,所述第二软件程序中包括基于神经网络的图像识别算法、基于小波矩的图像识别算法等图像识别方法的软件程序,以对所摄取的图像进行处理、分析和识别并得到图像中对应物体种类标签的对象区域。其中,所述对象区域可由物体的灰度、物体的轮廓等特征表征。例如,所述对象区域由物体的轮廓表示的方式包括通过轮廓线提取方法获得所识别对象区域。所述轮廓线提取方法包括但不限于:二值、灰度、canny算子等方法。然后,针对预先标记有物体种类标签的物体与图像中的对象区域,通过对物体和图像的内容、特征、结构、关系、纹理及灰度等的对应关系,相似性和一致性的分析来寻求相似图像目标,以使得图像中的对象区域与预先标记的物体种类标签相对应。
在又一种实施方式中,所述物体种类标签可以由物体分类来表征。在此,所述第二软件程序包含经由预先训练而得的神经网络模型(如CNN),并藉由执行所述神经网络模型从图像识别出对应各物体种类标签的对象区域。仍以室内环境为例,物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络模型无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
此外,所述第一软件程序和第二软件程序可采用高耦合度程序设计,利用更复杂的神经网络模型以同时识别交界线和对应物体种类标签的对象区域。
通过执行第一软件程序和/或第二软件程序,其所对应识别出的交界线、图像中物体(即对象区域)通过程序接口提供给移动机器人中的其他软件程序,以供所述移动机器人中的其他软件程序读取第一障碍物信息并利用所述第一障碍物信息进行地图绘制、导航路线的规划、控制对象的识别、控制决策、软件更新等。为此,所述其他软件程序包括但不限于:包含用于计算在物理空间中所述交界线与移动机器人的相对空间位置的第三软件程序,用于基于所述相对空间位置和预设地图规划导航路线的第四软件程序,以及用于生成所述样本信息的第五软件程序中的至少一种。在此,所述第一软件程序、第二软件程序以及其他软件程序并非一定各自独立存储,它们还可以封装在一个APP中。
例如,所述第三软件程序在执行时根据预设的物理参考信息,计算交界线所对应的物理位置与移动机器人之间的相对空间位置。其中,预设的物理参考信息包括但不限于以下至少两种:摄像装置相距地面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。所述第四软件程序在执行时基于所述第三软件程序执行时所得到的相对位置规划避开相应障碍物的导航路线。
在使用移动机器人中的软件程序识别障碍物信息时,无论采用神经网络模型还是采用物体特征,都存在无法识别出障碍物或者交界线的情况,因而需要提高移动机器人中的软件程序对所拍摄图像的识别率,以便其在后续导航期间减少与障碍物之间的碰撞。
请参阅图1,图1显示为本申请用于移动机器人的软件更新方法在一种实施方式中的流程图,如图所示,用于移动机器人的软件更新方法包括步骤S110、步骤S120、步骤S130以及步骤S140。
在步骤S110中,在移动机器人按照导航路线进行移动期间,获取自探测装置在导航路线上探测到的第二障碍物信息。
其中,第二障碍物是指所述软件程序执行时未被识别出的障碍物。在某些实施例中,软件程序执行以下步骤:根据所识别出的第一障碍物信息设计导航路线,并控制移动机器人按照导航路线移动,在移动期间,利用所述移动机器人的探测装置继续探测当前所移动的路线,若探测到障碍物信息,确定对应的障碍物为第二障碍物。其中,为区别于第一障碍物信息的描述,所述探测装置所提供的障碍物信息以下称为第二障碍物信息。
所述第二障碍物信息包括但不限于:第二障碍物的位置信息、第二障碍物与移动机器人之间的相对空间位置、第二障碍物的碰撞信息。所述探测装置可以包括激光测距传感器、红外传感器、碰撞传感器等。例如,所述第二障碍物信息包括位于移动机器人中的激光测距传感器所测量的移动机器人与障碍物之间的距离。又如,所述第二障碍物信息包括位于移动机器人中的碰撞传感器所感测的移动机器人与障碍物之间的碰撞信息。
在步骤S120中,基于第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息。
在此,由于待识别的软件程序是包含图像识别的,因此,为改进图像识别的准确率(即提高识别率),需收集真实环境下至少包含错误识别对象的图像。其中所述错误识别对象包括但不限于:未识别的交界线、未识别的物体等。为此,所生成的样本信息中包含所述包含错误识别对象的图像,以作为样本输入信息。在一些实施方式中,所述样本信息中还包括样本输出信息。为此,根据所探测的第二障碍物信息,移动机器人在样本输入信息中标记对应的图像区域,以表示未识别出的第二障碍物在图像中的位置,并将用于描述未识别出的第二障碍物在图像中的位置的信息作为样本输出信息。其中,所述样本输出信息包括但不限于:标记有未识别出的第二障碍物的图像,或者包含所述第二障碍物信息的用于将第二障碍物映射到样本输入信息的参数信息。
在步骤S130中,将样本信息发送至一服务端。
在获得样本输入信息和与其匹配的样本输出信息的情况下,移动机器人通过网络接口将样本信息发送给服务端。例如,移动机器人实时地将所得到的样本信息发送给服务端。又如,移动机器人将所得到的样本信息予以暂存并在处于空闲状态(如充满电且未执行移动操作)时,将所暂存的所有样本信息上传给服务端。所述服务端收集至少一个移动机器人的样本信息以对备份的软件程序进行训练,以得到能更准确识别的软件程序版本和相应的更新数据包。所述服务端按照预设的更新条件,将所述更新数据包反馈给移动机器人,以使移动机器人执行步骤S140。
在步骤S140中,接收到服务端反馈的更新数据包时更新软件程序。
在服务端经训练生成更新数据包后,移动机器人可以定期或基于服务端通知接收所述更新数据包并更新软件程序。例如,移动机器人可以在启动时自动检查是否需要下载更新数据包进行更新。又如,移动机器人可以在接收到服务端发出的通知信息后,经用户确认是否更新并在确认后实时更新或设置在指定时间段进行更新。移动机器人更新软件程序后,基于更新后的软件识别摄像装置所摄取的图像中的障碍物信息并进行后续操作。
本申请提供的用于移动机器人的软件更新方法,通过获取第二障碍物信息生成样本信息,并在接收到服务端基于所述样本信息生成的更新数据包时更新软件程序,提高了移动机器人识别障碍物的准确度,从而沿基于经更新的障碍物信息规划的导航路线移动时,降低了碰撞率。
在一些实施方式中,请参阅图2,图2显示为本申请用于移动机器人的软件更新方法在又一种实施方式中的流程图,如图所示,软件更新方法包括步骤S210至步骤S260。
在步骤S210中,在移动机器人按照导航路线进行移动期间,获取自探测装置在导航路线上探测到的第二障碍物信息。其中,步骤S210与上述步骤S110相同或相似,在此不再赘述。
在步骤S220中,基于第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置。
在此,根据提供相应第二障碍物信息的传感器类型,确定获取第二障碍物与移动机器人之间的相对空间位置的方式。
在一种实施例中,在移动机器人沿导航路线移动期间,由碰撞传感器检测到碰撞信息,移动机器人自与碰撞传感器的数据接口接收所述碰撞信息,并基于所述碰撞信息控制移动机器人按照导航路线返回移动一段距离,并通过探测返回移动的路线确定第二障碍物与移动机器人之间的相对空间位置。其中,所述导航路线可以是移动机器人按照基于第一障碍物信息而规划的导航路线,也可以是移动机器人在检测到碰撞信息后规划的导航路线。在按照导航路线返回期间(即远离第二障碍物移动期间),利用测距传感器或检测移动机器人的移动装置确定第二障碍物与移动机器人之间的相对空间位置。
例如,在移动机器人按照基于第一障碍物信息而规划的导航路线移动期间,移动机器人的碰撞传感器通过碰撞获得第二障碍物的位置信息,然后,移动机器人的处理装置控制移动机器人退回到拍摄装置上一次拍摄图像的位置,并基于处理装置所提供的移动距离获取所碰撞到的第二障碍物与移动机器人之间的相对空间位置,或者基于移动机器人的激光测距传感器获取所碰撞到的第二障碍物与移动机器人之间的相对空间位置。又如,移动机器人还可以按照导航路线返回移动任意距离,并基于处理装置所提供的移动距离获取所碰撞到的第二障碍物与移动机器人之间的相对空间位置,或者基于移动机器人的激光测距传感器获取所碰撞到的第二障碍物与移动机器人之间的相对空间位置。
在另一种实施例中,基于第二障碍物信息中的相对空间位置确定相应第二障碍物与移动机器人之间的相对空间位置。
在一示例中,在移动机器人移动期间,通过激光测距传感器获取第二障碍物与移动机器人之间的相对空间位置。例如,在移动机器人按照基于第一障碍物信息而规划的导航路线移动期间,利用沿移动机器人移动方向安装的激光测距传感器测量处于该导航路线上的障碍物距移动机器人之间的距离,基于根据第一障碍物信息规划的导航路线,可以已知移动机器人距第一障碍物之间的距离D1,若激光测距传感器还测得移动机器人距障碍物之间的距离D2,且D2小于D1,则说明存在第二障碍物,由此获得第二障碍物与移动机器人之间的距离,并根据对移动机器人的方向控制确定第二障碍物与移动机器人之间的偏角,所获取的距离和偏角作为第二障碍物与移动机器人之间的相对空间位置。在一些情况下,还可以将所述相对空间位置进行坐标变换,以便于将坐标变换后的相对空间位置映射到样本输入信息中。
在步骤S230中,基于相对空间位置取得包含第二障碍物的图像。
在此,所述移动机器人根据所探测到的相对空间位置获取确实包含第二障碍物的图像,如此才能收集真实环境下的采样信息。
在一种实施例中,从所缓存的图像中选取摄像装置在对应相对空间位置拍摄的包含第二障碍物的图像。在此,所述移动机器人可在沿基于第一障碍物信息而构建的导航路线移动期间,缓存至少一幅图像,根据所确定的与第二障碍物的相对位置空间,从缓存中提取符合所述相对位置空间的图像。例如,当移动机器人根据激光测距传感器和方向传感器获取到与第二障碍物的相对位置空间时从缓存中提取摄像装置所拍摄的当前图像,以确保所拍摄的图像中包含第二障碍物。
在另一实施例中,基于相对空间位置重新拍摄包含第二障碍物的图像。例如,在所述移动机器人按照导航路线返回移动预设距离,并获取所碰撞到的第二障碍物与移动机器人之间的相对空间位置的情况下,在该位置处重新拍摄包含第二障碍物的图像。
在步骤S240中,基于所取得的图像和相对空间位置生成样本信息。
其中,所述样本信息中的样本输入信息可基于所得到的包含第二障碍物的图像而生成。在一种实施例中,所述图像包括第一障碍物和第二障碍物。在一种具体示例中,将所取得的图像直接作为样本输入信息。在另一种具体示例中,将所取得的图像进行预处理,并将预处理后的图像作为样本输入信息。例如,可以对原始图像进行马赛克处理。又如,可以提取原始图像的轮廓,只需用于训练的图像能够包含第二障碍物与地面的交界线的特征即可。再如,可以利用执行软件中包含的神经网络模型的隐藏层来处理原始图像。还如,利用上述至少两种方式对所摄取的图像进行处理后再发送给服务端。
在一些实施方式中,所述样本信息可以仅包含所述样本输入信息,由服务端提供另外的人机交互界面以标记所述样本输入信息中的样本输出信息。
在另一些实施方式中,所述样本信息中的样本输出信息是基于所取得的图像以及相对空间位置生成的。在一种实施例中,按照相对空间位置将第二障碍物映射到样本输入信息上,并得到样本输出信息。例如,基于待更新的软件程序识别所述图像中第一障碍物与地面之间的交界线,以及根据图像的像素坐标空间与实际物理坐标空间的对应关系,以及第二障碍物与移动机器人之间的相对空间位置将第二障碍物与地面交界线映射到所述图像中,则样本输出信息为包含第一障碍物和第二障碍物、且能够显示第一障碍物与地面之间的交界线以及第二障碍物与地面之间的交界线的图像。
在另一种实施例中,将相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息封装为样本输出信息。待所述封装信息被发送至服务端后,在服务端经计算获得最终的样本输出信息。其中,所述物理参考信息包括但不限于:摄像装置相距地面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。
在步骤S250中,将样本信息发送至一服务端。其中,步骤S250与上述步骤S130相同或相似,在此不再赘述。
在步骤S260中,接收到服务端反馈的更新数据包时更新软件程序。其中,步骤S260与上述步骤S140相同或相似,在此不再赘述。
本申请还提供一种用于服务端的软件更新方法,所述软件更新方法在服务端执行。所述软件更新方法通过获取移动机器人收集的样本信息对备份在服务端的软件程序进行训练,以得到更新数据包。其中,所述样本信息可按照前述图1及图2所提供的软件更新方法获取得到,或者按照其他方式获取得到。
请参阅图3,图3显示为本申请用于服务端的软件更新方法在一种实施方式中的流程图,如图所示,用于服务端的软件更新方法包括步骤S310、步骤S320以及步骤S330。
在步骤S310中,根据至少一个移动机器人所提供的样本信息,对预设的软件程序进行训练。
其中,所述软件程序至少用于识别移动机器人的摄像装置所摄取的图像中的第一障碍物信息,以供移动机器人基于所识别的第一障碍物信息规划导航路线。其中,所述软件程序为对应于移动机器人上且存储在服务端的备份程序。所述软件程序中包含可由训练而调整程序内部参数、程序配置信息等可更新数据。例如,所述软件程序中包括神经网络模型的网络结构及连接方式,通过训练,所述神经网络模型中的参数被调整,则所述服务端将包含训练后的神经网络模型中的参数封装在更新数据包中。
其中,所述样本信息中至少包含利用所备份的软件程序未能识别的第二障碍物的样本输入信息。其中,所述样本输入信息至少包括所述移动机器人按照图1和图2所示方式收集的样本输入信息,在此不再详述。
在一些实施方式中,所述样本信息还包括样本输出信息,其用于提供用于训练的可辨识训练结果正确与否。其中,在一些实施例中,所述样本输出信息至少包括所述移动机器人按照图1和图2所示方式收集的样本输出信息,在此不再详述。在一具体示例中,所述样本输出信息包括基于所选取的图像和移动机器人与第二障碍物的相对空间位置而生成的样本输出信息。例如,基于待更新的软件程序识别所述图像中第一障碍物与地面之间的交界线,以及根据图像的像素坐标空间与实际物理坐标空间的对应关系,以及第二障碍物与移动机器人之间的相对空间位置将第二障碍物与地面交界线映射到所述图像中,则样本输出信息为包含第一障碍物和第二障碍物、且能够显示第一障碍物与地面之间的交界线以及第二障碍物与地面之间的交界线的图像。在又一具体示例中,所述样本输出信息包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息。其中,所述物理参考信息包括但不限于:摄像装置相距移动机器人底面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。所述服务端基于所获取的样本输出信息将第二障碍物映射到对应样本输入信息的图像上,并将映射后所得到的图像作为用于提供用于训练的可辨识训练结果正确与否的样本输出信息。
在另一些实施方式中,所述样本信息可以仅包含所述样本输入信息,所述服务端提供另外的人机交互界面以标记所述样本输入信息中的样本输出信息。在一些实施例中,所述样本输入信息可如前述描述的图像,或者在此基础上标记了第一障碍物信息的图像,所述服务端向技术人员提供用于标记第二障碍物的人机交互界面,并将标记了第二障碍物的图像作为样本输出信息。
所述服务端可以针对每个移动机器人发送的样本信息对该移动机器人进行升级更新。或者,服务端可以在接收到多个移动机器人发送的样本信息后,经过数据的对比筛选,对当前版本的所有移动机器人进行统一升级更新。
鉴于此,在一种实施例中,根据每个移动机器人所提供的样本信息,对相应的每个移动机器人的软件程序进行训练。在另一种实施例中,根据所有移动机器人所提供的样本信息,对预设的软件程序进行训练。
其中,所述训练的方式包括但不限于调整软件程序的内部参数、软件程序的配置信息等。例如,所述软件程序中包括神经网络模型的网络结构及连接方式,利用通过反向传播算法训练所述神经网络模型中的参数,以提高神经网络模型的正确率,则所述服务端将包含训练后的神经网络模型中的参数封装在更新数据包中。
在步骤S320中,根据训练结果生成用于更新软件程序的更新数据包。
其中,所述更新数据包可以包括应用于软件的补丁包、更新软件所需的数据包等。例如,在某些实施例中,第一软件程序或第二软件程序中包括神经网络模型的网络结构及连接方式,对应地,所述更新数据包中包含相应神经网络中的参数。例如,在第一软件程序或第二软件程序采用CNN执行的情况下,对第一软件程序或第二软件程序进行训练更新后获得的更新数据包中包括对应的CNN中的相关参数如权重参数、偏置参数等。
X步骤S330中,将更新数据包发送至移动机器人以更新移动机器人中内置的软件程序。
在此,所述服务端可基于移动机器人的更新请求反馈所述更新数据包,或者所述服务端主动将更新数据包推送给各移动机器人。
本申请用于服务端的软件更新方法,服务端基于移动机器人侧提供的样本信息对软件程序进行训练并生成更新数据包以发送给移动机器人用于更新软件,使得移动机器人的软件更新训练能够在服务端进行,减小了移动机器人侧的数据计算量,同时,通过对所有移动机器人侧提供的数据进行统一训练,提高了更新效率。
请参阅图4,图4显示为基于移动机器人和服务端的数据通信而执行软件更新方法的流程图,如图所示,所述方法包括步骤S410至步骤S490。
在步骤S410中,在移动机器人按照导航路线进行移动期间,移动机器人获取自探测装置在导航路线上探测到的第二障碍物信息。其中,步骤S410与上述步骤S210相同或相似,在此不再赘述。
在步骤S420中,移动机器人基于第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置。其中,步骤S420与上述步骤S220相同或相似,在此不再赘述。
在步骤S430中,移动机器人基于相对空间位置取得包含第二障碍物的图像。其中,步骤S430与上述步骤S230相同或相似,在此不再赘述。
在步骤S440中,移动机器人基于所取得的图像和相对空间位置生成样本信息。其中,步骤S440与上述步骤S240相同或相似,在此不再赘述。
在步骤S450中,移动机器人将样本信息发送至服务端。其中,步骤S450与上述步骤S250相同或相似,在此不再赘述。
在步骤S460中,服务端根据移动机器人所提供的样本信息,对预设的软件程序进行训练。其中,步骤S460与上述步骤S310相同或相似,在此不再赘述。
在步骤S470中,服务端根据训练结果生成用于更新软件程序的更新数据包。其中,步骤S470与上述步骤S320相同或相似,在此不再赘述。
在步骤S480中,服务端将更新数据包发送至移动机器人。其中,步骤S480与上述步骤S330相同或相似,在此不再赘述。
在步骤S490中,移动机器人在接收到服务端反馈的更新数据包后更新软件程序。其中,步骤S490与上述步骤S260相同或相似,在此不再赘述。
在一具体示例中,移动机器人中安装有用于识别图像中障碍物与地面之间的交界线的第一软件程序,所述第一软件程序中包括神经网络模型的网络结构及连接方式。在应用中,移动机器人基于第一软件程序识别第一障碍物与地面的交界线以确定障碍物位置,并基于所确定的障碍物规划导航路线以进行避障移动。然而,由于存在未识别出障碍物或者由于新添加而未被拍摄在图像中的障碍物(即漏识别障碍物)的情况(下文中,为区别于第一障碍物,所述障碍物称为第二障碍物),则在移动机器人按照上述导航路线进行移动期间,移动机器人与第二障碍物产生碰撞。基于此,移动机器人上设置的碰撞传感器在检测到碰撞信息后,基于所述碰撞信息控制移动机器人按照导航路线返回预设距离,并基于移动机器人的移动传感器获取所碰撞的第二障碍物与移动机器人之间的相对空间位置,且在该位置处重新拍摄包含第二障碍物的图像。然后,移动机器人基于包含第二障碍物的图像以及第二障碍物与移动机器人之间的相对空间位置生成包括样本输入信息和样本输出信息的样本信息。其中,移动机器人对包含第二障碍物的图像进行预处理获得样本输入信息,基于第二障碍物与移动机器人之间的相对空间位置将第二障碍物映射到样本输入信息上以获得样本输出信息。移动机器人将上述样本信息发送给服务端。服务端基于接收到的样本信息对待更新的第一软件程序进行训练并生成更新数据包发送给移动机器人。移动机器人在接收到更新数据包后对第一软件程序进行更新,以使得移动机器人基于经更新的软件程序识别障碍物并规划导航路线。
本申请还提供一种用于移动机器人的软件更新***,所述移动机器人与服务端通信连接,所述软件更新***设置于移动机器人中,使得移动机器人基于所述软件更新***收集基于真实应用环境而生成的样本信息,并且借助移动机器人与服务端的数据通信获取更新数据包以进行软件更新。
所述移动机器人包括摄像装置和探测装置。在一些实施例中,所述移动机器人包括一个摄像装置,移动机器人依据该摄像装置所摄取的图像执行相关操作。在另一些实施例中,所述移动机器人也可以配置有多个摄像装置,本申请中移动机器人仅依据所述多个摄像装置中的一个摄像装置所摄取的图像执行相关操作,在该种情况下,也被视为是单目摄像装置的移动机器人。在一些实施例中,摄像装置可以以预设时间间隔拍摄的不同时刻下的静态图像。在另一些实施例中,摄像装置可以拍摄视频,由于视频是由图像帧构成的,因而可以通过连续或不连续地采集所获取视频中的图像帧并选用一帧图像作为一幅图像。
另外,移动机器人的探测装置是用于感测移动机器人与其应用场景中物体之间关系的装置,所述探测装置包括但不限于:用于探测移动机器人与物体之间距离的激光测距传感器、用于感测移动机器人与障碍物之间碰撞关系的碰撞传感器等。
存储在移动机器人中并由移动机器人执行的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线。在某些实施例中,所述软件程序中包含用于识别图像中障碍物与地面交界线的第一软件程序、或者用于识别图像中物体的第二软件程序、或其组合。
其中,为识别包含交界线的第一障碍物信息,在一种实施方式中,所述第一软件程序中包括执行下述步骤的程序:自摄像装置所摄取的图像中识别物体图像区域,以及从图像中确定地面图像区域;将地面图像区域与物体图像区域的相交线作为障碍物与地面的交界线。
在另一种实施方式中,所述第一软件程序中包括神经网络模型的网络结构及连接方式。所述软件程序利用神经网络识别图像中第一障碍物与地面的交界线。例如,所述神经网络包含经训练的CNN(Convolutional Neural Network,卷积神经网络,CNN),利用CNN对于输入的图像进行第一障碍物与地面的交界线的识别。
为识别包含物体的第一障碍物信息,所述第二软件程序中包括执行下述步骤的程序:可以自摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象,然后采用相应的物体种类标签来表征物体,以供移动机器人进行路线规划等。
在一种实施方式中,所述物体种类标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在一些具体示例中,所述第二软件程序中包括基于神经网络的图像识别算法、基于小波矩的图像识别算法等图像识别方法的软件程序,以对所摄取的图像进行处理、分析和识别并得到图像中对应物体种类标签的对象区域。其中,所述对象区域可由物体的灰度、物体的轮廓等特征表征。例如,所述对象区域由物体的轮廓表示的方式包括通过轮廓线提取方法获得所识别对象区域。所述轮廓线提取方法包括但不限于:二值、灰度、canny算子等方法。然后,针对预先标记有物体种类标签的物体与图像中的对象区域,通过对物体和图像的内容、特征、结构、关系、纹理及灰度等的对应关系,相似性和一致性的分析来寻求相似图像目标,以使得图像中的对象区域与预先标记的物体种类标签相对应。
在又一种实施方式中,所述物体种类标签可以由物体分类来表征。在此,所述第二软件程序包含经由预先训练而得的神经网络模型(如CNN),并藉由执行所述神经网络从图像识别出对应各物体种类标签的对象区域。仍以室内环境为例,物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络模型无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
此外,所述第一软件程序和第二软件程序可采用高耦合度程序设计,利用更复杂的神经网络模型以同时识别交界线和对应物体种类标签的对象区域。
通过执行第一软件程序和/或第二软件程序,其所对应识别出的交界线、图像中物体(即对象区域)通过程序接口提供给移动机器人中的其他软件程序,以供所述移动机器人中的其他软件程序读取第一障碍物信息并利用所述第一障碍物信息进行地图绘制、导航路线的规划、控制对象的识别、控制决策、软件更新等。为此,所述其他软件程序包括但不限于:包含用于计算在物理空间中所述交界线与移动机器人的相对空间位置的第三软件程序,用于基于所述相对空间位置和预设地图规划导航路线的第四软件程序,以及用于生成所述样本信息的第五软件程序中的至少一种。在此,所述第一软件程序、第二软件程序以及其他软件程序并非一定各自独立存储,它们还可以封装在一个APP中。
例如,所述第三软件程序在执行时根据预设的物理参考信息,计算交界线所对应的物理位置与移动机器人之间的相对空间位置。其中,预设的物理参考信息包括但不限于以下至少两种:摄像装置相距地面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。所述第四软件程序在执行时基于所述第三软件程序执行时所得到的相对位置规划避开相应障碍物的导航路线。
请参阅图5,图5显示为本申请用于移动机器人的软件更新***在一种实施方式中的结构示意图,如图所示,所述软件更新***包括获取单元51、样本生成单元52、第一发送单元53以及第一更新单元54。
其中,获取单元51用于在移动机器人按照导航路线进行移动期间,获取自所述探测装置在导航路线上探测到的第二障碍物信息。
样本生成单元52用于基于所述第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息。在某些实施例中,样本生成单元52包括确定模块、获取模块以及样本生成模块。
其中,确定模块用于基于所述第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置。在某些实施例中,确定模块包括第一确定模块和第二确定模块。其中,第一确定模块用于基于所述第二障碍物信息中的碰撞信息控制所述移动机器人按照导航路线返回移动一段距离,并通过探测返回移动的路线确定第二障碍物与移动机器人之间的相对空间位置。第二确定模块用于基于所述第二障碍物信息中的相对空间位置确定相应的第二障碍物与移动机器人之间的相对空间位置。
获取模块用于基于所述相对空间位置取得包含所述第二障碍物的图像。在某些实施例中,获取模块包括第一获取模块和第二获取模块。其中,第一获取模块用于从所缓存的图像中选取所述摄像装置在对应所述相对空间位置拍摄的包含第二障碍物的图像。第二获取模块用于基于所述相对空间位置重新拍摄包含第二障碍物的图像。
样本生成模块用于基于所取得的图像和相对空间位置生成样本信息。在某些实施例中,所述样本信息包括样本输入信息和样本输出信息。所述样本生成模块包括输入样本生成模块和输出样本生成模块。其中,输入样本生成模块用于基于所取得的图像生成样本输入信息。在一示例中,样本输入模块用于将所取得的图像直接作为所述样本输入信息。在另一示例中,样本输入模块用于将所取得的图像进行预处理,并将预处理后的图像作为所述样本输入信息。此外,输出样本生成模块用于基于所取得的图像以及所述相对空间位置生成样本输出信息。在一示例中,样本输出模块用于按照所述相对空间位置将所述第二障碍物映射到所述样本输入信息上,并得到样本输出信息。在另一示例中,样本输出模块用于将所述相对空间位置、样本输入信息以及预存储的用于将所述第二障碍物映射到所述样本输入信息的物理参考信息封装为样本输出信息。
第一发送单元53用于将样本信息发送至一服务端。
第一更新单元54用于在经第一接收单元接收到所述服务端反馈的更新数据包时更新所述软件程序。
在此,本申请用于移动机器人的软件更新***中各模块的工作方式与上述用于移动机器人的软件更新方法中对应步骤相同或相似,在此不再赘述。
本申请还提供一种用于服务端的软件更新***,所述服务端与至少一个移动机器人通信连接。所述服务端包括但不限于单台服务器、服务器集群、分布式服务器、基于云架构的服务端等。软件程序的更新训练在服务端实施,并将在服务端生成的更新数据包发送给移动机器人侧以对原软件程序进行更新,由此减小移动机器人侧的数据计算量,同时,便于利用多个移动机器人侧上传的数据在服务端进行统一训练,节约软件更新成本。
请参阅图6,图6显示为本申请用于服务端的软件更新***在一种实施方式中的结构示意图,如图所示,所述软件更新***包括第二接收单元61、训练单元62、更新生成单元63以及第二发送单元64。
其中,第二接收单元61于接收至少一个移动机器人所提供的样本信息。
在某些实施例中,所述样本信息中至少包含利用所备份的软件程序未能识别的第二障碍物的样本输入信息。其中,所述样本输入信息至少包括所述移动机器人按照图1和图2所示方式收集的样本输入信息,在此不再详述。
在一些实施方式中,所述样本信息还包括样本输出信息,其用于提供用于训练的可辨识训练结果正确与否。其中,在一些实施例中,所述样本输出信息至少包括所述移动机器人按照图1和图2所示方式收集的样本输出信息,在此不再详述。在一具体示例中,所述样本输出信息包括基于所选取的图像和移动机器人与第二障碍物的相对空间位置而生成的样本输出信息。例如,基于待更新的软件程序识别所述图像中第一障碍物与地面之间的交界线,以及根据图像的像素坐标空间与实际物理坐标空间的对应关系,以及第二障碍物与移动机器人之间的相对空间位置将第二障碍物与地面交界线映射到所述图像中,则样本输出信息为包含第一障碍物和第二障碍物、且能够显示第一障碍物与地面之间的交界线以及第二障碍物与地面之间的交界线的图像。在又一具体示例中,所述样本输出信息包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息。其中,所述物理参考信息包括但不限于:摄像装置相距移动机器人底面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。
在样本输出信息为包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息的情况下,所述软件更新***还包括输出样本生成单元,输出样本生成单元用于基于接收到的相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息生成样本输出信息。
在另一些实施方式中,所述样本信息可以仅包含所述样本输入信息,所述服务端提供另外的人机交互界面以标记所述样本输入信息中的样本输出信息。在一些实施例中,所述样本输入信息可如前述描述的图像,或者在此基础上标记了第一障碍物信息的图像,所述服务端向技术人员提供用于标记第二障碍物的人机交互界面,并将标记了第二障碍物的图像作为样本输出信息。
训练单元62用于根据至少一个移动机器人所提供的样本信息,对预设的软件程序进行训练。所述训练的方式包括但不限于调整软件程序的内部参数、软件程序的配置信息等。例如,所述软件程序中包括神经网络模型的网络结构及连接方式,利用通过反向传播算法训练所述神经网络模型中的参数,以提高神经网络模型的正确率,则所述服务端将包含训练后的神经网络模型中的参数封装在更新数据包中。
所述软件程序至少用于识别所述移动机器人的摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线。其中,所述软件程序为对应于移动机器人上且存储在服务端的备份程序。所述软件程序中包含可由训练而调整程序内部参数、程序配置信息等可更新数据。例如,所述软件程序中包括神经网络模型的网络结构及连接方式,通过训练,所述神经网络模型中的参数被调整,则所述服务端将包含训练后的神经网络模型中的参数封装在更新数据包中。
此外,在某些实施例中,训练单元用于根据所有移动机器人所提供的样本信息,对预设的软件程序进行训练。在另一些实施例中,训练单元用于根据每个移动机器人所提供的样本信息,对相应的每个移动机器人的软件程序进行训练。
更新生成单元63用于根据训练结果生成用于更新所述软件程序的更新数据包。
第二发送单元64用于将所述更新数据包发送至移动机器人以更新所述移动机器人中内置的软件程序。
在此,本申请用于服务端的软件更新***中各模块的工作方式与上述用于服务端的软件更新方法中对应步骤相同或相似,在此不再赘述。
本申请还提供一种软件更新***,所述软件更新***用于更新移动机器人中的软件程序。所述移动机器人包括摄像装置和探测装置。存储在移动机器人中并由移动机器人执行的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线。
请参阅图7,图7显示为本申请软件更新***在一种实施方式中的结构示意图,如图所示,软件更新***包括位于移动机器人侧的客户端***71,以及与至少一个客户端***71通信连接的服务端***72。
其中,客户端***71执行用于移动机器人的软件更新方法的具体实现方式如图1至图2及其相应描述所示,在此不再赘述。服务端***72执行用于服务端的软件更新方法的具体实现方式如图3及其相应描述所示,在此不再赘述。软件更新***中客户端***71和服务端***72之间的交互的具体实现方式如图4及其相应描述所示,在此不再赘述。
本申请还提供一种移动机器人。所述移动机器人通过设置于其上的软件程序进行障碍物识别、导航路线规划、移动控制等行为。
所述移动机器人包括摄像装置和探测装置。在一些实施例中,所述移动机器人包括一个摄像装置,移动机器人依据该摄像装置所摄取的图像执行相关操作。在另一些实施例中,所述移动机器人也可以配置有多个摄像装置,本申请中移动机器人仅依据所述多个摄像装置中的一个摄像装置所摄取的图像执行相关操作,在该种情况下,也被视为是单目摄像装置的移动机器人。在一些实施例中,摄像装置可以以预设时间间隔拍摄的不同时刻下的静态图像。在另一些实施例中,摄像装置可以拍摄视频,由于视频是由图像帧构成的,因而可以通过连续或不连续地采集所获取视频中的图像帧并选用一帧图像作为一幅图像。
另外,移动机器人的探测装置是用于感测移动机器人与其应用场景中物体之间关系的装置,所述探测装置包括但不限于:用于探测移动机器人与物体之间距离的激光测距传感器、用于感测移动机器人与障碍物之间碰撞关系的碰撞传感器等。
所述移动机器人包括但不限于扫地机器人、巡逻机器人、家庭陪伴机器人等。
请参阅图8,图8显示为本申请移动机器人在一种实施方式中的结构示意图,如图所示,所述移动机器人包括摄像装置81、移动装置82、存储装置83以及处理装置84。摄像装置81、移动装置82以及存储装置83均与处理装置84相连。
摄像装置81用于在移动机器人移动期间摄取图像。在一些实施例中,所述移动机器人包括一个摄像装置,移动机器人依据该摄像装置所摄取的图像执行障碍物识别、机器人定位、机器人移动控制等操作。在另一些实施例中,所述移动机器人包括一个或多个摄像装置,移动机器人仅依据其中一个摄像装置所摄取的图像执行相关操作。所述摄像装置包括但不限于:照相机、视频摄像机、集成有光学***或CCD芯片的摄像模块、集成有光学***和CMOS芯片的摄像模块等。所述摄像装置的供电***可受移动机器人的供电***控制,所述摄像装置摄取移动机器人移动期间所途经路线的图像。其中,为确保所摄取的图像包含地面及位于地面的物体,所述摄像装置可设置在移动机器人的外壳上,被装配在移动机器人的侧面位置、或顶面边缘位置。例如,所述摄像装置装配在清洁机器人的顶面且位于体侧的位置处。
需要说明的是,所述摄像装置的装配位置还与摄像装置的视场角(又叫视角)范围、摄像装置相对于地面的高度以及摄像装置主光轴相对于水平或垂直面的夹角相关,故在此并不限定所述摄像装置在移动机器人的位置。例如,移动机器人所装配的摄像装置具有可调节所述夹角的调节部件,在所述移动机器人移动期间,通过调节所述调节部件以令摄像装置摄取包含地面的图像。其中,所述调节部件可例如专利申请号2017218611808中所描述的偏转机构和伸缩机构,以调节摄像装置主光轴与水平面的夹角和/或高度,在此不予详述。例如,所述摄像装置装配于清洁机器人的顶面边缘且视角为60°,摄像装置的主光轴相对于水平面的夹角为15°。
需要说明的是,摄像装置的主光轴相对于水平面的夹角可以为其他值,只要能够确保摄像装置在摄取图像时能够拍摄到地面图像区域即可。此外,本领域技术人员应该理解,上述光学轴与垂线或水平线的夹角仅为举例,而非限制其夹角精度为1°的范围内,根据实际机器人的设计需求,所述夹角的精度可更高,如达到0.1°、0.01°以上等,在此不做无穷尽的举例。
移动装置82用于受控地带动移动机器人整机移动。其中,所述移动装置82在处理装置84的控制下调整移动距离、移动方向和移动速度、移动加速度等。
在某些实施例中,所述移动装置82包括驱动单元和至少两个滚轮组。其中,所述至少两个滚轮组中的至少一个滚轮组为受控滚轮组。所述驱动单元与所述处理装置相连,所述驱动单元用于基于所述处理装置输出的移动控制指令驱动所述受控滚轮组滚动。
所述驱动单元包含驱动电机,所述驱动电机与所述滚轮组相连用于直接驱动滚轮组滚动。所述驱动单元可以包含专用于控制驱动电机的一个或多个处理器(CPU)或微处理单元(MCU)。例如,所述微处理单元用于将所述处理装置所提供的信息或数据转化为对驱动电机进行控制的电信号,并根据所述电信号控制所述驱动电机的转速、转向等以调整移动机器人的移动速度和移动方向。所述信息或数据如所述处理装置所确定的偏角。所述驱动单元中的处理器可以和所述处理装置中的处理器共用或可独立设置。例如,所述驱动单元作为从处理设备,所述处理装置作为主设备,驱动单元基于处理装置的控制进行移动控制。或者所述驱动单元与所述处理装置中的处理器相共用。驱动单元通过程序接口接收处理装置所提供的数据。所述驱动单元用于基于所述处理装置所提供的移动控制指令控制所述受控滚轮组滚动。
存储装置83用于存储摄像装置12所摄取的图像、预设的物理参考信息、预先标记的物体标签以及至少一个程序。其中,所述图像是经由摄像装置摄取而被保存在存储装置83中的。
其中,所述物理参考信息包括但不限于:摄像装置相距移动机器人底面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。在此,技术人员预先测量摄像装置的成像中心与地面的距离,并将所距离作为所述物理高度或物理高度的初始值保存在存储装置83中。所述物理高度也可以预先通过对移动机器人设计参数进行计算而得到的。依据移动机器人的设计参数还可以得到摄像装置的主光轴相对于水平或垂直面的夹角,或夹角的初始值。对于摄像装置可调节的移动机器人来说,所保存的夹角可在夹角初始值的基础上增/减被调节的偏转角后而确定的,所保存的物理高度是在物理高度初始值的基础上增/减被调节的高度后而确定的。所述摄像装置的物理参数包含镜头组的视角和焦距等。
其中,所述物体标签是基于移动机器人所移动的环境情况预先筛选并存储在存储装置83中的。所述物体标签用于描述可能被摄取的、且摆放在所述环境中的物体分类或物体在图像中的图像特征。
在一些示例中,所述物体标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在又一些示例中,所述物体标签可以由物体分类来表征。在此,所述存储装置所存储的程序包含经由预先训练而得的神经网络模型(如CNN),并藉由执行所述神经网络模型从图像识别出对应各物体种类标签的对象区域。仍以室内环境为例,物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络模型无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
所述存储装置83中所保存的程序还包括稍后描述的由处理装置调用以执行的基于单一摄像装置(单目摄像装置)所摄取的图像进行软件更新处理的相关程序。
所述存储装置83包括但不限于高速随机存取存储器、非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,所述存储装置83还可以包括远离一个或多个处理器的存储器,例如,经由RF电路或外部端口以及通信网络(未示出)访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WLAN)、存储局域网(SAN)等,或其适当组合。存储器控制器可控制机器人的诸如CPU和外设接口之类的其他组件对存储装置的访问。
处理装置84与存储装置83、摄像装置81和移动装置82进行数据通信。处理装置84可包括一个或多个处理器。处理装置84可操作地与存储装置83中的易失性存储器和/或非易失性存储器耦接。处理装置84可执行在存储器和/或非易失性存储设备中存储的指令以在机器人中执行操作,诸如获取障碍物信息、生成样本信息、更新软件程序等。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器(ASIC)、一个或多个数字信号处理器(DSP)、一个或多个现场可编程逻辑阵列(FPGA)、或它们的任何组合。所述处理装置还与I/O端口和输入结构可操作地耦接,该I/O端口可使得机器人能够与各种其他电子设备进行交互,该输入结构可使得用户能够与计算设备进行交互。因此,输入结构可包括按钮、键盘、鼠标、触控板等。所述其他电子设备可以是所述机器人中移动装置中的移动电机,或机器人中专用于控制移动装置的从处理器,如MCU(Microcontroller Unit,微控制单元,简称MCU)。
在一种示例中,所述处理装置通过数据线分别连接存储装置、摄像装置以及移动装置。所述处理装置通过数据读写技术与存储装置进行交互,所述处理装置通过接口协议与摄像装置、移动装置进行交互。其中,所述数据读写技术包括但不限于:高速/低速数据接口协议、数据库读写操作等。所述接口协议包括但不限于:HDMI接口协议、串行接口协议等。
在此,处理装置84执行软件更新方法的具体实现方式如图1至图2及其相应描述所示,在此不再赘述。
本申请的移动机器人,通过处理装置获取第二障碍物信息生成样本信息,并在接收到服务端基于所述样本信息生成的更新数据包时更新软件程序,提高了移动机器人识别障碍物的准确度,从而沿基于经更新的障碍物信息规划的导航路线移动时,降低了碰撞率。
本申请还提供一种服务器。所述服务器对备份在服务器的软件程序进行训练,并将在服务器侧生成的更新数据包发送给移动机器人侧以对原软件程序进行更新,由此减小移动机器人侧的数据计算量,同时,便于利用多个移动机器人侧上传的数据在服务器侧进行统一训练,节约软件更新成本。
请参阅图9,图9显示为本申请服务器在一种实施方式中的结构示意图,如图所示,服务器包括存储单元91和处理单元92。
其中,存储单元91用于存储至少一个程序。所述程序由稍后描述的处理单元92调用以执行上述的用于服务端的软件更新方法。
另外,所述存储单元还存储有待更新的软件程序、所摄取的图像、预设的物理参考信息、预先标记的物体标签,以供在生成更新数据包时使用。所述待更新的软件程序至少用于识别摄像装置所摄取的图像中的第一障碍物信息,以供移动机器人基于所识别的第一障碍物信息规划导航路线。所述物理参考信息包括但不限于:摄像装置相距地面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。
所述物体标签是基于移动机器人所移动的环境情况预先筛选并存储在存储单元91中的。所述物体标签用于描述可能被摄取的、且摆放在所述环境中的物体分类或物体在图像中的图像特征。
在一种实施方式中,所述物体种类标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在又一种实施方式中,所述物体种类标签可以由物体分类来表征。在此,所述第二软件程序包含经由预先训练而得的神经网络模型(如CNN),并藉由执行所述神经网络模型从图像识别出对应各物体种类标签的对象区域。仍以室内环境为例,物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络模型无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
所述存储单元可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。所述存储单元还包括存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。
处理单元92用于调用存储单元中的至少一个程序并执行用于服务端的软件更新方法。其中,处理单元92与存储单元91进行数据通信。处理单元92可执行在存储单元中存储的指令以在服务器中执行操作。处理单元执行用于服务端的软件更新方法的具体实现方式如图3及其相应描述所示,在此不再赘述。
本申请的服务器基于移动机器人侧提供的样本信息对软件程序进行训练并生成更新数据包以发送给移动机器人用于更新软件,使得移动机器人的软件更新训练能够在服务器端进行,减小了移动机器人侧的数据计算量,同时,通过对所有移动机器人侧提供的数据进行统一训练,提高了更新效率。
另外需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请的部分或全部可借助软件并结合必需的通用硬件平台来实现。基于这样的理解,本申请还提供一种计算机存储介质,所述存储介质存储有至少一个程序,所述程序在被调用时执行前述任一所述的用于移动机器人的软件更新方法方法。此外,本申请还提供一种计算机存储介质,所述存储介质存储有至少一个程序,所述程序在被调用时执行前述任一所述的用于服务端的软件更新方法。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本申请的实施例来执行操作。例如执行机器人的定位方法中的各步骤等。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。其中,所述存储介质可位于机器人也可位于第三方服务器中,如位于提供某应用商城的服务器中。在此对具体应用商城不做限制,如小米应用商城、华为应用商城、苹果应用商城等。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (39)
1.一种用于移动机器人的软件更新方法,所述移动机器人与服务端通信连接,所述移动机器人包括摄像装置和探测装置,其特征在于,待更新的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线,所述软件更新方法包括以下步骤:
在移动机器人按照导航路线进行移动期间,获取自所述探测装置在导航路线上探测到的第二障碍物信息;
基于所述第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息;
将所述样本信息发送至一服务端;以及
接收到所述服务端反馈的更新数据包时更新所述软件程序。
2.根据权利要求1所述的软件更新方法,其特征在于,所述基于第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息的步骤包括:
基于所述第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置;
基于所述相对空间位置取得包含所述第二障碍物的图像;以及
基于所取得的图像和相对空间位置生成样本信息。
3.根据权利要求2所述的软件更新方法,其特征在于,所述基于第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置的步骤包括:
基于所述第二障碍物信息中的碰撞信息控制所述移动机器人按照导航路线返回移动一段距离,并通过探测返回移动的路线确定第二障碍物与移动机器人之间的相对空间位置;或者
基于所述第二障碍物信息中的相对空间位置确定相应的第二障碍物与移动机器人之间的相对空间位置。
4.根据权利要求2所述的软件更新方法,其特征在于,所述基于相对空间位置取得包含所述第二障碍物的图像的步骤包括:
从所缓存的图像中选取所述摄像装置在对应所述相对空间位置拍摄的包含第二障碍物的图像;或者
基于所述相对空间位置重新拍摄包含第二障碍物的图像。
5.根据权利要求2所述的软件更新方法,其特征在于,所述基于所取得的图像和相对空间位置生成样本信息的步骤包括:
基于所取得的图像生成样本输入信息;
基于所取得的图像以及所述相对空间位置生成样本输出信息;
其中,所述样本信息包含所述样本输入信息和样本输出信息。
6.根据权利要求5所述的软件更新方法,其特征在于,所述基于所取得的图像生成样本输入信息的步骤包括:
将所取得的图像直接作为所述样本输入信息;或者
将所取得的图像进行预处理,并将预处理后的图像作为所述样本输入信息。
7.根据权利要求5或6所述的软件更新方法,其特征在于,所述基于所取得的图像以及所述相对空间位置生成样本输出信息的步骤包括:
按照所述相对空间位置将所述第二障碍物映射到所述样本输入信息上,并得到样本输出信息;或者
将所述相对空间位置、样本输入信息以及预存储的用于将所述第二障碍物映射到所述样本输入信息的物理参考信息封装为样本输出信息。
8.根据权利要求1所述的软件更新方法,其特征在于,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
9.根据权利要求8所述的软件更新方法,其特征在于,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式。
10.根据权利要求8所述的软件更新方法,其特征在于,所述软件程序还包含用于计算在物理空间中所述交界线与移动机器人的相对空间位置的第三软件程序,用于基于所述相对空间位置和预设地图规划导航路线的第四软件程序,以及用于生成所述样本信息的第五软件程序中的至少一种。
11.一种用于服务端的软件更新方法,所述服务端与至少一个移动机器人通信连接,其特征在于,包括以下步骤:
根据至少一个所述移动机器人所提供的样本信息,对预设的软件程序进行训练;其中,所述软件程序至少用于识别所述移动机器人的摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线;
根据训练结果生成用于更新所述软件程序的更新数据包;以及
将所述更新数据包发送至移动机器人以更新所述移动机器人中内置的软件程序。
12.根据权利要求11所述的软件更新方法,其特征在于,所述样本信息包括样本输入信息和样本输出信息;其中,所述样本输入信息包括移动机器人所选取的图像;所述样本输出信息包括基于所选取的图像和移动机器人与第二障碍物的相对空间位置而生成的样本输出信息,或者,所述样本输出信息包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息。
13.根据权利要求12所述的软件更新方法,其特征在于,还包括基于接收到的相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息获得样本输出信息的步骤。
14.权利要求11所述的软件更新方法,其特征在于,所述根据至少一个所述移动机器人所提供的样本信息,对预设的软件程序进行训练的步骤包括:
根据所有移动机器人所提供的样本信息,对预设的软件程序进行训练;或者
根据每个移动机器人所提供的样本信息,对相应的每个移动机器人的软件程序进行训练。
15.根据权利要求11所述的软件更新方法,其特征在于,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
16.根据权利要求15所述的软件更新方法,其特征在于,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式,对应地,所述更新数据包中包含相应神经网络中的参数。
17.一种用于移动机器人的软件更新***,所述移动机器人与服务端通信连接,所述移动机器人包括摄像装置和探测装置,其特征在于,待更新的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线,所述软件更新***包括:
获取单元,用于在移动机器人按照导航路线进行移动期间,获取自所述探测装置在导航路线上探测到的第二障碍物信息;
样本生成单元,用于基于所述第二障碍物信息和包含产生所述第二障碍信息的第二障碍物的图像生成样本信息;
第一发送单元,用于将所述样本信息发送至一服务端;以及
第一更新单元,用于在经第一接收单元接收到所述服务端反馈的更新数据包时更新所述软件程序。
18.根据权利要求17所述的软件更新***,其特征在于,所述样本生成单元包括:
确定模块,用于基于所述第二障碍物信息确定相应的第二障碍物与移动机器人之间的相对空间位置;
获取模块,用于基于所述相对空间位置取得包含所述第二障碍物的图像;以及
样本生成模块,用于基于所取得的图像和相对空间位置生成样本信息。
19.根据权利要求18所述的软件更新***,其特征在于,所述确定模块包括:
第一确定模块,用于基于所述第二障碍物信息中的碰撞信息控制所述移动机器人按照导航路线返回移动一段距离,并通过探测返回移动的路线确定第二障碍物与移动机器人之间的相对空间位置;以及
第二确定模块,用于基于所述第二障碍物信息中的相对空间位置确定相应的第二障碍物与移动机器人之间的相对空间位置。
20.根据权利要求18所述的软件更新***,其特征在于,所述获取模块包括:
第一获取模块,用于从所缓存的图像中选取所述摄像装置在对应所述相对空间位置拍摄的包含第二障碍物的图像;以及
第二获取模块,用于基于所述相对空间位置重新拍摄包含第二障碍物的图像。
21.根据权利要求18所述的软件更新***,其特征在于,所述样本生成模块包括:
输入样本生成模块,用于基于所取得的图像生成样本输入信息;
输出样本生成模块,用于基于所取得的图像以及所述相对空间位置生成样本输出信息;
其中,所述样本信息包含所述样本输入信息和样本输出信息。
22.根据权利要求21所述的软件更新***,其特征在于,所述样本输入模块用于将所取得的图像直接作为所述样本输入信息;或者,所述样本输入模块用于将所取得的图像进行预处理,并将预处理后的图像作为所述样本输入信息。
23.根据权利要求21或22所述的软件更新***,其特征在于,所述样本输出模块用于按照所述相对空间位置将所述第二障碍物映射到所述样本输入信息上,并得到样本输出信息;或者,所述样本输出模块用于将所述相对空间位置、样本输入信息以及预存储的用于将所述第二障碍物映射到所述样本输入信息的物理参考信息封装为样本输出信息。
24.根据权利要求17所述的软件更新***,其特征在于,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
25.根据权利要求24所述的软件更新***,其特征在于,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式。
26.根据权利要求24所述的软件更新***,其特征在于,所述软件程序还包含用于计算在物理空间中所述交界线与移动机器人的相对空间位置的第三软件程序,用于基于所述相对空间位置和预设地图规划导航路线的第四软件程序,以及用于生成所述样本信息的第五软件程序中的至少一种。
27.一种用于服务端的软件更新***,所述服务端与至少一个移动机器人通信连接,其特征在于,包括:
第二接收单元,用于接收至少一个移动机器人所提供的样本信息;
训练单元,用于根据至少一个移动机器人所提供的样本信息,对预设的软件程序进行训练;其中,所述软件程序至少用于识别所述移动机器人的摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线;
更新生成单元,用于根据训练结果生成用于更新所述软件程序的更新数据包;
第二发送单元,用于将所述更新数据包发送至移动机器人以更新所述移动机器人中内置的软件程序。
28.根据权利要求27所述的软件更新***,其特征在于,所述样本信息包括样本输入信息和样本输出信息;其中,所述样本输入信息包括移动机器人所选取的图像;所述样本输出信息包括基于所选取的图像和移动机器人与第二障碍物的相对空间位置而生成的样本输出信息,或者,所述样本输出信息包括相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息。
29.根据权利要求28所述的软件更新***,其特征在于,还包括输出样本生成单元,用于基于接收到的相对空间位置、样本输入信息以及预存储的用于将第二障碍物映射到样本输入信息的物理参考信息生成样本输出信息。
30.根据权利要求27所述的软件更新***,其特征在于,所述训练单元用于根据所有移动机器人所提供的样本信息,对预设的软件程序进行训练;或者,所述训练单元用于根据每个移动机器人所提供的样本信息,对相应的每个移动机器人的软件程序进行训练。
31.根据权利要求27所述的软件更新***,其特征在于,所述软件程序包含用于识别图像中障碍物与地面交界线的第一软件程序,和/或包含用于识别图像中物体的第二软件程序;其中,所述第一障碍物信息包含所识别出的交界线和/或所识别的物体。
32.根据权利要求31所述的软件更新***,其特征在于,所述第一软件程序和/或第二软件程序中包括神经网络模型的网络结构及连接方式,对应地,所述更新数据包中包含相应神经网络中的参数。
33.一种软件更新***,用于更新移动机器人中的软件程序,其中,所述移动机器人包括摄像装置和探测装置,其特征在于,待更新的软件程序至少用于识别所述摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线,所述软件更新***包括:
位于移动机器人侧的客户端***,所述客户端***执行如权利要求1-10中任一所述的软件更新方法;以及
与至少一个客户端***通信连接的服务端***,所述服务端***执行如权利要求11-16中任一所述的软件更新方法。
34.一种移动机器人,其特征在于,包括
摄像装置,用于在所述移动机器人移动期间摄取图像;
移动装置,用于受控地带动所述移动机器人整机移动;
存储装置,用于存储所摄取的图像、预设的物理参考信息、预先标记的物体标签以及至少一个程序;
处理装置,用于调用所述至少一个程序并执行如权利要求1-10中任一所述的软件更新方法。
35.根据权利要求34所述的移动机器人,其特征在于,所述移动机器人为具有单目摄像装置的移动机器人。
36.根据权利要求33或34所述的移动机器人,其特征在于,所述移动机器人为扫地机器人。
37.一种服务器,其特征在于,包括:
存储单元,用于存储至少一个程序;
处理单元,用于调用所述至少一个程序并执行如权利要求11-16中任一所述的软件更新方法以生成更新数据包,所述更新数据包用于更新移动机器人的至少用于识别摄像装置所摄取的图像中的第一障碍物信息,以供所述移动机器人基于所识别的第一障碍物信息规划导航路线的程序。
38.一种计算机存储介质,其特征在于,存储至少一种程序,所述至少一种程序在被调用时执行如权利要求1-10中任一所述的软件更新方法。
39.一种计算机存储介质,其特征在于,存储至少一种程序,所述至少一种程序在被调用时执行如权利要求11-16中任一所述的软件更新方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/090503 WO2019232804A1 (zh) | 2018-06-08 | 2018-06-08 | 软件更新方法、***、移动机器人及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108780319A true CN108780319A (zh) | 2018-11-09 |
Family
ID=64029072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880000819.4A Pending CN108780319A (zh) | 2018-06-08 | 2018-06-08 | 软件更新方法、***、移动机器人及服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108780319A (zh) |
WO (1) | WO2019232804A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739239A (zh) * | 2019-01-21 | 2019-05-10 | 天津迦自机器人科技有限公司 | 一种用于巡检机器人的不间断仪表识别的规划方法 |
WO2019232804A1 (zh) * | 2018-06-08 | 2019-12-12 | 珊口(深圳)智能科技有限公司 | 软件更新方法、***、移动机器人及服务器 |
CN111583336A (zh) * | 2020-04-22 | 2020-08-25 | 深圳市优必选科技股份有限公司 | 一种机器人及其巡检方法和装置 |
CN112269379A (zh) * | 2020-10-14 | 2021-01-26 | 北京石头世纪科技股份有限公司 | 障碍物识别信息反馈方法 |
CN112639821A (zh) * | 2020-05-11 | 2021-04-09 | 华为技术有限公司 | 一种车辆可行驶区域检测方法、***以及采用该***的自动驾驶车辆 |
CN113017492A (zh) * | 2021-02-23 | 2021-06-25 | 江苏柯林博特智能科技有限公司 | 一种基于清洁机器人的物体识别智能控制*** |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827120A (zh) * | 2022-05-05 | 2022-07-29 | 深圳市大道智创科技有限公司 | 机器人的远程交互方法、装置及计算机设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101920498A (zh) * | 2009-06-16 | 2010-12-22 | 泰怡凯电器(苏州)有限公司 | 实现室内服务机器人同时定位和地图创建的装置及机器人 |
CN103885443A (zh) * | 2012-12-20 | 2014-06-25 | 联想(北京)有限公司 | 用于即时定位与地图构建单元的设备、***和方法 |
CN105922990A (zh) * | 2016-05-26 | 2016-09-07 | 广州大学 | 一种基于云端机器学习的车辆环境感知和控制方法 |
CN106228110A (zh) * | 2016-07-07 | 2016-12-14 | 浙江零跑科技有限公司 | 一种基于车载双目相机的障碍物及可行驶区域检测方法 |
TWI578739B (zh) * | 2015-06-25 | 2017-04-11 | Chunghwa Telecom Co Ltd | Obstacle diagnosis system and method thereof |
US20170206418A1 (en) * | 2014-12-16 | 2017-07-20 | Irobot Corporation | Systems and Methods for Capturing Images and Annotating the Captured Images with Information |
CN107223200A (zh) * | 2016-12-30 | 2017-09-29 | 深圳前海达闼云端智能科技有限公司 | 一种导航方法、装置及终端设备 |
CN107615334A (zh) * | 2015-06-10 | 2018-01-19 | 株式会社日立制作所 | 物体识别装置以及物体识别*** |
CN107818293A (zh) * | 2016-09-14 | 2018-03-20 | 北京百度网讯科技有限公司 | 用于处理点云数据的方法和装置 |
CN107871129A (zh) * | 2016-09-27 | 2018-04-03 | 北京百度网讯科技有限公司 | 用于处理点云数据的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102567525B1 (ko) * | 2016-11-17 | 2023-08-16 | 삼성전자주식회사 | 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법 |
CN107643755B (zh) * | 2017-10-12 | 2022-08-09 | 南京中高知识产权股份有限公司 | 一种扫地机器人的高效控制方法 |
CN108780319A (zh) * | 2018-06-08 | 2018-11-09 | 珊口(深圳)智能科技有限公司 | 软件更新方法、***、移动机器人及服务器 |
-
2018
- 2018-06-08 CN CN201880000819.4A patent/CN108780319A/zh active Pending
- 2018-06-08 WO PCT/CN2018/090503 patent/WO2019232804A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101920498A (zh) * | 2009-06-16 | 2010-12-22 | 泰怡凯电器(苏州)有限公司 | 实现室内服务机器人同时定位和地图创建的装置及机器人 |
CN103885443A (zh) * | 2012-12-20 | 2014-06-25 | 联想(北京)有限公司 | 用于即时定位与地图构建单元的设备、***和方法 |
US20170206418A1 (en) * | 2014-12-16 | 2017-07-20 | Irobot Corporation | Systems and Methods for Capturing Images and Annotating the Captured Images with Information |
CN107615334A (zh) * | 2015-06-10 | 2018-01-19 | 株式会社日立制作所 | 物体识别装置以及物体识别*** |
TWI578739B (zh) * | 2015-06-25 | 2017-04-11 | Chunghwa Telecom Co Ltd | Obstacle diagnosis system and method thereof |
CN105922990A (zh) * | 2016-05-26 | 2016-09-07 | 广州大学 | 一种基于云端机器学习的车辆环境感知和控制方法 |
CN106228110A (zh) * | 2016-07-07 | 2016-12-14 | 浙江零跑科技有限公司 | 一种基于车载双目相机的障碍物及可行驶区域检测方法 |
CN107818293A (zh) * | 2016-09-14 | 2018-03-20 | 北京百度网讯科技有限公司 | 用于处理点云数据的方法和装置 |
CN107871129A (zh) * | 2016-09-27 | 2018-04-03 | 北京百度网讯科技有限公司 | 用于处理点云数据的方法和装置 |
CN107223200A (zh) * | 2016-12-30 | 2017-09-29 | 深圳前海达闼云端智能科技有限公司 | 一种导航方法、装置及终端设备 |
Non-Patent Citations (2)
Title |
---|
丁亮: "基于Kinect的实时障碍物检测", 《微型机与应用》 * |
王伟: "单目视觉检测室内未知环境障碍物的研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019232804A1 (zh) * | 2018-06-08 | 2019-12-12 | 珊口(深圳)智能科技有限公司 | 软件更新方法、***、移动机器人及服务器 |
CN109739239A (zh) * | 2019-01-21 | 2019-05-10 | 天津迦自机器人科技有限公司 | 一种用于巡检机器人的不间断仪表识别的规划方法 |
CN111583336A (zh) * | 2020-04-22 | 2020-08-25 | 深圳市优必选科技股份有限公司 | 一种机器人及其巡检方法和装置 |
CN111583336B (zh) * | 2020-04-22 | 2023-12-01 | 深圳市优必选科技股份有限公司 | 一种机器人及其巡检方法和装置 |
CN112639821A (zh) * | 2020-05-11 | 2021-04-09 | 华为技术有限公司 | 一种车辆可行驶区域检测方法、***以及采用该***的自动驾驶车辆 |
CN112269379A (zh) * | 2020-10-14 | 2021-01-26 | 北京石头世纪科技股份有限公司 | 障碍物识别信息反馈方法 |
CN112269379B (zh) * | 2020-10-14 | 2024-02-27 | 北京石头创新科技有限公司 | 障碍物识别信息反馈方法 |
CN113017492A (zh) * | 2021-02-23 | 2021-06-25 | 江苏柯林博特智能科技有限公司 | 一种基于清洁机器人的物体识别智能控制*** |
Also Published As
Publication number | Publication date |
---|---|
WO2019232804A1 (zh) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108780319A (zh) | 软件更新方法、***、移动机器人及服务器 | |
CN108885459B (zh) | 导航方法、导航***、移动控制***及移动机器人 | |
CN109074083B (zh) | 移动控制方法、移动机器人及计算机存储介质 | |
CN106020227B (zh) | 无人机的控制方法、装置 | |
US11898848B2 (en) | Visual navigation for mobile devices operable in differing environmental lighting conditions | |
WO2020113452A1 (zh) | 移动目标的监控方法、装置、监控***及移动机器人 | |
CN104732587B (zh) | 一种基于深度传感器的室内3d语义地图构建方法 | |
CN107907131A (zh) | 定位***、方法及所适用的机器人 | |
CA3117899A1 (en) | Method and apparatus for combining data to construct a floor plan | |
CN110084243B (zh) | 一种基于二维码和单目相机的档案识别与定位方法 | |
CN108170137A (zh) | 移动机器人及其控制方法和控制*** | |
CN109643127A (zh) | 构建地图、定位、导航、控制方法及***、移动机器人 | |
CN108369743A (zh) | 使用多方向相机地图构建空间 | |
CN207488823U (zh) | 一种移动电子设备 | |
JP2022542858A (ja) | ディープネットワークの訓練方法 | |
CN113116224B (zh) | 机器人及其控制方法 | |
CN207115193U (zh) | 一种用于处理任务区域的任务的移动电子设备 | |
WO2019001237A1 (zh) | 一种移动电子设备以及该移动电子设备中的方法 | |
TW201933177A (zh) | 用以產生定位用參考地圖的行動機器人 | |
CN111275015A (zh) | 一种基于无人机的电力巡线电塔检测识别方法及*** | |
KR20220160066A (ko) | 이미지 처리 방법 및 장치 | |
CN111383263A (zh) | 机器人抓取物体***、方法及装置 | |
CN110088702A (zh) | 为处理设备建立环境地图的方法 | |
CN113228103A (zh) | 目标跟踪方法、装置、无人机、***及可读存储介质 | |
US20200159229A1 (en) | System and method for creating a single perspective synthesized image |
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 |