CN106859504B - 自主移动装置、自主移动方法以及记录介质 - Google Patents

自主移动装置、自主移动方法以及记录介质 Download PDF

Info

Publication number
CN106859504B
CN106859504B CN201610907392.9A CN201610907392A CN106859504B CN 106859504 B CN106859504 B CN 106859504B CN 201610907392 A CN201610907392 A CN 201610907392A CN 106859504 B CN106859504 B CN 106859504B
Authority
CN
China
Prior art keywords
map
information
equipment
unit
itself
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
CN201610907392.9A
Other languages
English (en)
Other versions
CN106859504A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of CN106859504A publication Critical patent/CN106859504A/zh
Application granted granted Critical
Publication of CN106859504B publication Critical patent/CN106859504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3859Differential updating map data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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/0253Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Toys (AREA)

Abstract

本发明的自主移动装置、自主移动方法的课题在于进行在自身设备位置或地图中是否包含有误差的判断。为此,自主移动装置(100)的位置计测部(11)计测自身设备位置。地图存储部(22)存储所制作的地图。位置估算部(13)估算自身设备位置。判定部(14)判定位置计测部(11)计测出的位置与位置估算部(13)估算出的位置之差是否在规定误差内。地图编辑部(15)在判定部(14)判定为不在规定误差内的情况下,对存储在地图存储部(22)中的地图进行编辑。

Description

自主移动装置、自主移动方法以及记录介质
技术领域
本发明涉及自主移动装置、自主移动方法。
背景技术
根据用途而自主地移动的自主移动装置正在逐渐普及。例如,已知为了进行屋内的清洁而自主地移动的自主移动装置。一般来说,这样的自主移动装置需要进行实际空间的地图的制作、和实际空间内的自身设备位置的估算。
作为用于制作实际空间的地图的方法,例如已知SLAM(SimultaneousLocalization And Mapping,即时定位与地图构建)法。使用了单眼摄像机的SLAM技术的基本原理在非专利文献1中有记载,进行如下处理,即,通过从摄像机拍摄的运动图像的多个帧,追踪同一特征点,来交替地估算自身设备的三维位置(摄像机位置)和特征点的三维位置(该特征点的三维位置集合而构成地图的信息)。此外,存在一种在实际空间内制作环境地图并进行自主移动的自主移动装置(例如,参照专利文献1)。
在先技术文献
非专利文献
非专利文献1:Andrew J.Davison,“Real-Time Simultaneous Localization andMapping with a Single Camera”,Proceedings of the 9th IEEE InternationalConference on Computer Vision Volume 2,2003,pp.1403-1410
非专利文献2:Richard Hartley,Andrew Zisserman,“Multiple View Geometryin Computer Vision”,Second Edition,Cambridge.University Press,March 2004,chapter9
专利文献
专利文献1:JP特开2009-169845号公报
发明内容
发明要解决的课题
在上述的方法中,会产生累积误差。而且,一旦由于噪声等致使估算精度下降,则之后的累积误差会大至实际使用上不能无视的程度。但是,存在如下问题:即使存在误差,在通过SLAM法没有矛盾地实现了位置的估算的期间,不能判断在自身设备位置、地图中是否包含误差。此外,在专利文献1所记载的技术中是让操作者来判断是否包含有误差,自主移动装置自己不能进行判断。
因此,本发明为了解决上述问题而作,其目的在于提供一种能够进行在自身设备位置、地图中是否包含有误差的判断的自主移动装置等。
用于解决课题的手段
为了达成上述目的,本发明的自主移动装置的特征在于,具备:
位置计测部,其基于移动单元的移动量,来计测自身设备位置;
地图存储部,其对使用摄像部所拍摄的多个图像的信息而制作的地图进行存储;
位置估算部,其基于所述摄像部所拍摄的多个图像的信息和存储在所述地图存储部中的地图的信息,来估算自身设备位置;
判定部,其判定所述位置计测部计测出的自身设备位置和所述位置估算部估算出的自身设备位置之差是否在规定误差内;和
地图编辑部,其在所述判定部判定为不在所述规定误差内的情况下,对存储在所述地图存储部中的地图进行编辑。
发明效果
根据本发明,能够进行在自身设备位置、地图中是否包含有误差的判断。
附图说明
图1是表示实施方式所涉及的自主移动装置的外观的图。
图2是表示实施方式所涉及的自主移动装置的构成的图。
图3是表示实施方式所涉及的自主移动控制处理整体的流程图的图。
图4是表示实施方式所涉及的自主移动控制处理当中的自身设备位置估算线程的处理的流程图的图。
图5是表示实施方式所涉及的自主移动控制处理当中的地图制作线程的处理的流程图的图。
图6是表示实施方式所涉及的自主移动控制处理当中的闭环(loop closing)线程的处理的流程图的图。
图7是表示实施方式所涉及的自主移动控制处理当中的误差判定线程的处理的流程图的图。
图8是表示将控制部等的一部分设置于外部的服务器的结构的一例的图。
符号说明
100…自主移动装置,10、50…控制部,11…位置计测部,12…地图制作部,13…位置估算部,14…判定部,15…地图编辑部,20、60…存储部,21…图像存储部,22…地图存储部,30…传感器部,31…加速度传感器,32…角速度传感器,33…障碍物传感器,41…摄像部,42…驱动部,43…输入部,44、71…通信部,45…电源,200…服务器
具体实施方式
以下,参照图1,对本发明的实施方式所涉及的自主移动装置进行说明。自主移动装置100根据用途而自主地移动。该用途,例如是警备监视用、屋内清洁用、宠物用、玩具用等。
自主移动装置100在外观上具备摄像部41、驱动部42。
摄像部41具备单眼的摄像装置(摄像机)。摄像部41例如以30fps取得图像(帧)。自主移动装置100基于由摄像部41依次取得的图像,实时地识别自身设备位置和周围环境,同时进行自主移动。
驱动部42是独立2轮驱动型,是具备车轮和电动机的移动单元。自主移动装置100能够通过2个车轮的同一方向驱动来进行前后的平行移动(平移移动),能够通过2个车轮的反向驱动来进行原地的旋转(朝向变更),并能够通过改变2个车轮各自的速度的驱动来进行旋转移动(平移+旋转(朝向变更)移动)。此外,各个车轮具备旋转编码器,通过旋转编码器来计测车轮的转速,并通过利用车轮的直径、车轮间的距离等几何学关系而能够计算平移移动量以及旋转量。例如,若将车轮的直径设为D,并将转速设为R(由旋转编码器测量),则该车轮的接地部分的平移移动量成为π·D·R。此外,若将车轮的直径设为D,将车轮间的距离设为I,将右车轮的转速设为RR,并将左车轮的转速设为RL,则朝向变更的旋转量(若以右旋转为正)成为360°×D×(RL-RR)/(2×I)。通过将该平移移动量、旋转量依次进行相加,从而驱动部42作为所谓的里程计(Odometry)而发挥作用,能够计测自身设备位置(以移动开始时的位置以及朝向为基准的位置以及朝向)。
从里程计得到的自身设备的位置以及朝向的精度由于车轮的摩耗、打滑等而成为低精度的情况较多。特别是由于误差逐渐累积的关系,精度随着时间经过而恶化。不过,关于里程计的旋转分量(朝向的信息),通过使用后述的角速度传感器信息,能够提高精度。此外,通过使用检测地磁来确定方位的方位传感器(未图示),也能够与来自里程计的取得值无关地取得利用了地磁的绝对朝向的信息。
另外,也可以取代车轮而具备履带,还可以通过具备多条(例如两条)腿并用腿行走来进行移动。在这些情况下,也能够基于两个履带的活动、腿的活动,与车轮的情况同样地计测自身设备的位置、朝向。
如图2所示,自主移动装置100除了具备摄像部41、驱动部42以外,还具备控制部10、存储部20、传感器部30、输入部43、通信部44、电源45。
控制部10由CPU(Central Processing Unit,中央处理单元)等构成,通过执行存储在存储部20中的程序,从而实现后述的各部(位置计测部11、地图制作部12、位置估算部13、判定部14、地图编辑部15)的功能。
存储部20由ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)等构成,包含图像存储部21、地图存储部22。在ROM中,存储有控制部10的CPU执行的程序(例如,后述的SLAM法的运算、自主移动控制处理所涉及的程序)、执行程序上预先需要的数据。在RAM中,存储在程序执行过程中被生成或者变更的数据。
在图像存储部21中,存储摄像部41所拍摄的图像。但是,为了节约存储容量,可以不存储所拍摄的所有的图像,此外也可以不存储图像本身,而存储图像的特征量。关于重要的图像(后述的关键帧),与图像的信息一起,存储由上述的里程计所计测出的自身设备位置(自身设备的位置以及朝向)的信息以及通过后述的SLAM法而估算出的自身设备位置(自身设备的位置以及朝向)的信息。
在地图存储部22中,存储由地图制作部12基于后述的SLAM法、来自障碍物传感器33的信息而制作的地图(特征点、障碍物的三维位置的信息)。
作为传感器部30,具备加速度传感器31、角速度传感器32、障碍物传感器33。加速度传感器31是测量XYZ方向(3轴)的加速度的传感器。通过对这些值进行时间积分,从而能够求取XYZ的各方向的速度,进而通过对这些速度进行时间积分,从而能够求取XYZ的各方向的位置的变化量(移动距离)。(但是由于对传感器值进行二次积分,因而累积误差变得相当大)。角速度传感器32是测量角速度(每单位时间的角度移动量)的传感器。已知与基于车轮的转速来求取自身设备的朝向相比,使用角速度传感器32来求取朝向更能提高精度。障碍物传感器33是探测行进过程中的障碍物的传感器,例如是红外线传感器、超声波传感器。另外,也可以不搭载独立的障碍物传感器33,使用摄像部41来探测障碍物。此外,也可以具备对碰撞到其他物体的情况进行探测的碰撞传感器(bumper sensor)(未图示)。此外,还可以具备检测地磁来确定方位的方位传感器(未图示)。通过使用方位传感器,能够与来自里程计的取得值无关地取得利用了地磁的绝对朝向的信息。
作为输入部43,具备用于操作自主移动装置100的操作按钮。操作按钮,例如,包含电源按钮、模式切换按钮(对清洁模式、宠物模式等进行切换)、初始化按钮(重新进行地图的制作)等。作为输入部43,也可以具备进行声音的输入的麦克风(未图示)、和识别对自主移动装置100的操作指示的声音的声音识别部。
通信部44是用于与外部装置进行通信的模块,在与外部装置进行无线通信的情况下是包含天线的无线模块。例如,通信部44是用于进行基于Bluetooth(注册商标)的近距离无线通信的无线模块。在通信部44中,进行自主移动装置100与外部的数据授受等。
电源45是使自主移动装置100进行动作的电源,一般来说是内置的充电电池,但也可以是太阳能电池,还可以是从地面利用无线进行电力供给的系统。在电源45是充电电池的情况下,自主移动装置100通过与充电站(基座)进行对接而被充电。
接着,对控制部10的功能进行说明。控制部10包含位置计测部11、地图制作部12、位置估算部13、判定部14、地图编辑部15,进行后述的SLAM法的运算、自主移动装置100的移动指示等。此外,控制部10适应多线程功能,能够并行进行多个线程(不同的处理的流程)。
位置计测部11基于驱动部42的车轮和电动机的活动,来计测自身设备位置。具体而言,在地面没有高低差且车轮不会打滑这样的前提下,基于各车轮的直径(D)以及转速(R:由旋转编码器测量),该车轮的接地部分的移动距离被求取为π·D·R,因此根据这些数据和车轮间的距离,能够求取平移移动量以及平移方向和朝向的变化量(旋转角度)。通过对此依次相加,作为里程计,能够计测自身设备的位置以及朝向。在地面存在高低差的情况下需要求取考虑了高度方向的平移移动量,而这通过由加速度传感器31掌握高度的变化量来求取。此外关于车轮的打滑,能够通过除了驱动用的车轮以外还事先搭载移动量计测用的车轮来减小误差。
地图制作部12将基于存储在图像存储部21中的图像的信息以及该图像拍摄时的自身设备的位置以及朝向的信息使用SLAM法而估算出的特征点的三维位置(Map点)、基于由障碍物传感器33探测到障碍物时的自身设备的位置以及朝向的信息而得到的该障碍物的三维位置等,作为地图的信息而存储到地图存储部22中。
位置估算部13基于后述的SLAM法,作为视觉里程计,估算自身设备的位置以及朝向。
判定部14判定由位置计测部11计测出的位置以及朝向与由位置估算部13估算出的位置以及朝向之差是否在规定误差内。若由里程计(位置计测部11)能够计测正确的位置以及朝向,并且由SLAM法(视觉里程计:位置估算部13)能够估算正确的位置以及朝向,则它们会大致一致,在该情况下能够推测为存储在地图存储部22中的地图的信息也正确。但是,若位置以及朝向的计测、估算中包含有误差,则会发生误差的累积,计测值和估算值会变得不一致。在这样的情况下,能够推测为存储在地图存储部22中的地图的信息中也累积有误差。因此,通过判定这两者之差是否在规定误差内,能够判定地图的信息是否正确。
地图编辑部15在由判定部14判定为存储在地图存储部22中的地图的信息不正确的情况下,对该地图进行编辑。地图的编辑的最简单的处理是消除该地图的处理。
图3是自主移动装置100的主流程。控制部10最初在清除初始化完成标志后起动自身设备位置估算线程(步骤S101),接着起动如下各线程,即,地图制作线程(步骤S102)、闭环线程(步骤S103)、误差判定线程(步骤S104)。通过自身设备位置估算线程、地图制作线程进行动作,从而基于SLAM法,开始地图的信息以及视觉里程计(使用地图和图像而估算出的自身设备位置的信息)的生成。误差判定线程实现了本实施方式的特征性的功能,关于其详细情况在后面叙述。
然后,控制部10判定是否动作结束(步骤S105),若动作结束(步骤S105:“是”)则结束动作,则并非动作结束(步骤S105:“否”)则地图制作部12进行地图的信息的制作/更新(步骤S106)。接着控制部10为了进行自主移动而对驱动部42指示所希望的动作(步骤S107),并返回至步骤8105。由此,能够在基于地图的信息自主地进行移动的同时,适当更新地图的信息。
作为典型的示例,自主移动装置100首先若在置于充电站的状态下接通电源45,则借助障碍物传感器33,在家中的各房间到处移动,由障碍物传感器33来确定墙壁等障碍物位置,能够制作包含障碍物位置的地图的信息。若将地图制作一定程度,则能够知道虽然还没有地图的信息但可以认为能够移动的区域,在该区域自主地进行移动等,也能够促进更广范围的地图的制作。然后,若制作了能够移动的大致整个区域的地图的信息,则能够进行利用了地图的信息的高效的移动动作。例如能够实现无论从房间的什么位置都以最短路径返回到充电站,或者高效地进行房间的清洁。
关于在自主移动装置100的主流程(图3)的步骤S101起动的自身设备位置估算线程,使用图4来进行说明。该线程是如下处理,即,位置估算部13首先进行初始化处理,之后持续进行自身设备位置估算(使用由摄像部41取得的图像通过视觉里程计来估算自身设备位置)。
位置估算部13,首先,判定是否动作结束(步骤S201)。若动作结束(步骤S201:“是”)则结束,若并非动作结束(步骤S201:“否”),则判定是否已经初始化完成(步骤S202)。若初始化完成(步骤S202:“是”)则进行步骤S221以后的自身设备位置估算处理,若尚未初始化完成(步骤202:“否”)则前进到步骤S203进行初始化处理。首先对初始化处理进行说明。
在初始化处理中,位置估算部13首先将一1设定给帧计数器N(步骤S203),由摄像部41取得图像(步骤S204)。图像例如能够以30fps取得(所取得的图像也被称为帧)。接着,从所取得的图像内取得2D特征点(步骤S205)。所谓2D特征点,是图像中的边缘部分等图像内的特征性的部分,能够使用SIFT(Scale-Invariant Future Transform,尺度不变特征转换)、SURF(Speed-Up Robust Features,加速稳健特征)等算法来取得。另外,为了取得2D特征点,也可以使用其他算法。
若所取得的2D特征点的个数较少,则无法进行利用后述的Two-view Structurefrom Motion法(双视图运动恢复结构法)的计算,因此位置估算部13在步骤S206中,将2D特征点的取得数与基准值(例如10个)进行比较,在小于基准值的情况下(步骤S206:“否”)返回至步骤S204,反复进行图像的取得和2D特征点的取得,直到得到基准值以上的2D特征点数为止。另外,在此时点,虽然还未能制作地图的信息,但例如在上述的典型的示例中,由于借助障碍物传感器33,在家中的各房间开始到处移动,因此只要在该初始化处理中反复进行图像取得和2D特征点取得,便会一边移动一边反复进行图像取得,所以能够取得各种各样的图像,能够期待终归能取得2D特征点数较多的图像。
在2D特征点的取得数为基准值以上的情况下(步骤S206:“是”),位置估算部13使帧计数器N递增(步骤S207)。然后,判定帧计数器N是否为0(步骤S208)。若帧计数器N为0(步骤S208:“是”)则仅仅才取得一个图像,所以为了取得第2张图像而返回至步骤S204。另外虽然在图4的流程图中并未记载,但取得第1张图像时的自身设备的位置和取得第2张图像时的自身设备的位置在一定程度上远离,会提高通过之后的处理而估算的姿势的精度。因此,在从步骤S208返回至步骤S204时,也可以追加如下处理,即,进行等待,直到通过主流程(图3)的步骤S107中的给驱动部42的动作指示从而基于里程计的平移距离成为规定距离(例如1m)以上为止。
若帧计数器N不为0(步骤S208:“否”)则可知已经取得了两个图像,因此位置估算部13在这两个图像间取得2D特征点的对应(实际环境上的同一点存在于各个图像中,能提取其对应)(步骤S209)。由于若特征点的对应数小于5,则不能进行后述的两个图像间的姿势的估算,因此位置估算部13判定特征点的对应数是否小于5(步骤S210)。若小于5(步骤S210:“是”)则为了重新取得初始图像,返回至步骤S203。若特征点的对应数为5点以上(步骤S210:“否”),则通过使用Two-view Structure from Motion法,从而能够估算两个图像间的姿势(取得各个图像的位置的差分(平移向量t)以及朝向的差分(旋转矩阵R))(步骤S211)。
该估算具体而言根据对应的特征点来求取基础矩阵E,通过将基础矩阵E分解为平移向量t和旋转矩阵R来得到,但其详情在非专利文献2中已经作了说明,在此不再赘述。另外,在此得到的平移向量t(若设想在三维空间内移动,则以取得最初的图像的位置为原点,具有X、Y、Z这3个要素)的各要素的值与实际环境上的值不同(Two-view Structure fromMotion法不能得到实际环境上的值本身,而得到与实际环境相似的空间上的值。),因此将它们视为SLAM空间上的值,以下使用SLAM空间上的坐标(SLAM坐标)来进行说明。
若求出两个图像间的姿势(平移向量t以及旋转矩阵R),则其值成为以最初的图像为基准(以取得最初的图像的位置为SLAM坐标的原点,平移向量为0向量,旋转矩阵为单位矩阵I。)的情况下的第二张图像的姿势(取得第二个图像时的自身设备的位置(平移向量t)以及朝向(旋转矩阵R))。在此,在求出两个图像各自的姿势(是该图像(帧)拍摄时的自身设备的位置(平移向量t)以及朝向(旋转矩阵R),也称为帧姿势)的情况下,基于以下的思想,由地图制作部12来求取在这两个图像间能取得对应的2D特征点(对应特征点)在SLAM坐标中的3D位置(步骤S212)。
若将2D特征点在图像中的坐标(帧坐标:已知)设为(u,v),并将该2D特征点在SLAM坐标中的3D位置(未知)设为(X,Y,Z),则将它们用齐次坐标表示时的它们的关系,使用透视投影矩阵P由下述的算式(1)来表示。在此,“~”记号表示“除以非零的常数倍后相等”(即,相等或成为常数(非零)倍),“’”记号表示“转置”。
(u v 1)’~P(X Y Z 1)’…(1)
在上述的算式(1)中,P为3×4的矩阵,根据表示摄像机的内部参数的3×3的矩阵A、和表示该图像的姿势(帧姿势)的外部参数R以及t由以下的算式(2)来表示。在此,(R|t)表示在旋转矩阵R的右侧排列平移列向量t而得到的矩阵。
P=A(R|t)…(2)
在上述的算式(2)中,R以及t如上所述作为该帧姿势来求取。此外,摄像机的内部参数A由焦点距离和摄像元件尺寸来决定,因此只要决定摄像部41便成为常数。
若假设在两个图像间取得了对应的2D特征点当中的一个映射于第一个图像的帧坐标(u1,v1)和第二个图像的帧坐标(u2,v2),则能够得到以下的算式(3)以及算式(4)。在此,I表示单位矩阵,0表示零向量,(L|r)表示在矩阵L的右侧排列列向量r而得到的矩阵。
(u1 v1 1)’~A(I|0)(X Y Z 1)’…(3)
(u2 v2 1)’~A(R|t)(X Y Z 1)’…(4)
在上述的算式(3)以及算式(4)中,由于能够形成关于u1、v1、u2、v2各自的算式,因此算式得到4个而未知数为X、Y、Z这3个,因此能够求取X、Y、Z,这成为该2D特征点在SLAM坐标中的3D位置。另外,由于算式的个数多于未知数的个数,因此有可能存在例如以u1、v1、u2求取的X、Y、Z与以u1、v1、v2求取的X、Y、Z不同的情况。这样的情况下,成为过剩条件的联立一次方程式,一般而言无解,但地图制作部12使用最小平方法,来求取似乎最可靠的X、Y、Z。
若求出2D特征点在SLAM坐标中的3D位置(X,Y,Z),则由地图制作部12将其作为Map点而登记到Map点数据库(也称为Map点DB(Database),被保存在地图存储部22中)中(步骤S213)。作为登记到Map点数据库中的要素,至少需要“2D特征点在SLAM坐标中的3D位置即X、Y、Z”、和“该2D特征点的特征量”(例如通过SIFT等而得到的特征量)。此外,若将“时间戳”(后述的关键帧计数器NKF(表示当前的关键帧编号的变量)在向Map点数据库的登记时间点的值等)追加到向Map点数据库的登记要素中,则在对Map点数据库进行编辑(返回到过去的状态等)时会很便利。
然后,地图制作部12判定是否已经将在两个图像间取得了对应的2D特征点(对应特征点)全部登记到Map点数据库中(步骤S214),若尚未完成全部登记(步骤S214:“否”)则返回至步骤S212,若全部登记完成(步骤S214:“是”)则前进至步骤S215。
接下来位置估算部13将NKF(表示关键帧(是指成为后续的线程中的处理对象的图像)的计数器的变量)初始化为0(步骤S215),将第二个图像作为关键帧而登记到帧数据库(也称为帧DB(Database),被保存在图像存储部21中)(步骤S216)。
登记到帧数据库中的要素是:“关键帧编号”(登记时间点上的关键帧计数器NKF的值)、“姿势”(该图像拍摄时的自身设备在SLAM坐标内的位置(平移向量t)以及朝向(旋转矩阵R))、“由里程计计测出的实际环境上的姿势”(根据实际环境中的基于驱动部42的移动距离而求取的自身设备的位置以及朝向)、“所提取出的全部的2D特征点”、“全部的2D特征点当中作为Map点而已知3D位置的点”、“关键帧自身的特征”。
上述中,所谓“关键帧自身的特征”,是用于使求取关键帧间的图像类似度的处理变得高效的数据,通常使用图像中的2D特征点的直方图等为好,但也可以将图像自身设为“关键帧自身的特征”。此外,“由里程计计测出的实际环境上的姿势”,也能够通过平移向量t和旋转矩阵R来表示,但通常,由于该自主移动装置100在二维平面上活动,因此也可以简化为二维数据,作为以移动开始时的位置(原点)以及朝向为基准的二维坐标(X,Y)以及朝向φ来表示。
接着,位置估算部13为了使地图制作线程知道生成了关键帧的情况,在地图制作线程的关键帧队列(队列(Queue)成为先入先出的数据结构)中,设置关键帧计数器NKF(步骤S217)。
以上,自身设备位置估算线程的初始化处理完成,因此位置估算部13设置初始化完成标志(步骤S218)。
然后,位置估算部13为了得到SLAM坐标与实际环境坐标的比例(scale)对应,通过将基于里程计的平移距离(以实际环境下的坐标来求取)除以通过上述处理而估算的SLAM坐标下的平移距离d,来求取比例S(步骤S219)。
接着,位置估算部13清除在后述的误差判定线程中使用的计数器NI(步骤S220),经由步骤S201、步骤S202,进入到初始化完成的情况下的处理即步骤S221。
说明初始化完成的情况下的处理。该处理是自身设备位置估算线程的通常时的处理,是位置估算部13依次估算当前的自身设备的位置以及朝向(在SLAM坐标内的平移向量t和旋转矩阵R)的处理。
位置估算部13由摄像部41对图像进行拍摄(步骤S221),使帧计数器N递增(步骤S222)。然后,取得所拍摄的图像中包含的2D特征点(步骤S223)。接着,从登记到帧数据库中的以前的关键帧(例如关键帧编号为NKF的图像)的信息中,取得该图像的信息中所包含的2D特征点当中的3D位置已知(成为登记到Map点数据库中的Map点)的2D特征点,提取在与当前拍摄到的图像之间能取得对应的2D特征点(对应特征点)(步骤S224)。
然后,位置估算部13判定对应特征点的个数是否小于规定个数(例如10。以下称为“基准对应特征点数”。)(步骤S225),由于在小于基准对应特征点数的情况下(步骤S225:“是”)利用SLAM法估算的姿势的精度较差,因此不进行位置的估算而返回至步骤S221中的图像的取得。在此,也可以不是立刻返回至步骤S221而是返回至步骤S224,从登记到帧数据库中的关键帧当中检索对应特征点的个数为基准对应特征点数以上的关键帧。在该情况下,在登记到帧数据库中的关键帧当中未找到对应特征点的个数为基准对应特征点数以上的关键帧的情况下返回至步骤S221。
位置估算部13若能够提取基准对应特征点数以上的对应特征点(步骤S225:“否”),则从Map点数据库中取得对应特征点各自的3D位置(Xi,Yi,Zi)(步骤S226)。若将当前拍摄到的图像中包含的对应特征点的帧坐标设为(ui,vi),将该对应特征点的3D位置设为(Xi,Yi,Zi)(i取从1到对应特征点数的值),则将各对应特征点的3D位置(Xi,Yi,Zi)通过以下的算式(5)而投影到帧坐标系的值(uxi,vxi)与帧坐标(ui,vi)理想而言应该是一致的。
(uxi vxi 1)’~A(R|t)(Xi Yi Zi 1)’…(5)
实际上在(Xi,Yi,Zi)中以及在(ui,vi)中都包含有误差,因此(uxi,vxi)和(ui,vi)一致的情况很少存在。而且,未知数仅为R和t(三维空间的情况下分别为三维,3+3=6是未知数的个数),而数学式存在对应特征点的个数的2倍(对于一个对应特征点,存在与帧坐标u、v分别对应的算式),因此成为过剩条件的联立一次方程式,如上所述通过最小平方法来求取。具体而言,位置估算部13求取使以下的算式(6)的成本函数E1成为最小的姿势(平移向量t以及旋转矩阵R)。这成为通过SLAM法而求取的SLAM坐标下的自身设备的姿势(由平移向量t以及旋转矩阵R表示的自身设备的位置以及朝向)。以此方式,位置估算部13估算自身设备的姿势(步骤S227)。
【数学式1】
由于求取到SLAM坐标下的当前的自身设备的姿势(平移向量t以及旋转矩阵R),因此位置估算部13通过将其乘以比例S,来求取VO(视觉里程计)(步骤S228)。VO能够作为实际环境下的自身设备的位置以及朝向来利用。
接着,位置估算部13判定从对登记到帧DB中的前一个关键帧(关键帧编号为NKF的图像)进行拍摄时的自身设备的位置起是否移动了规定距离(例如1m。以下称为“基准平移距离”。)以上(步骤S229),若移动了基准平移距离以上(步骤S229:“是”)则使关键帧计数器NKF递增后(步骤S230),将当前帧作为关键帧而登记到帧DB中(步骤S231)。若仅移动不足基准平移距离(步骤S229:“否”)则返回至步骤S201。
在此,与基准平移距离进行比较的自身设备的移动距离既可以从里程计取得从前一个关键帧到当前帧的平移距离(两帧的平移向量的差的向量的绝对值(要素的平方和的平方根)),也可以从上述的VO(视觉里程计)求取。登记到帧DB中的内容如上所述是:“关键帧编号”、“姿势”、“由里程计计测出的实际环境上的姿势”、“所提取出的全部的2D特征点”、“全部的2D特征点当中作为Map点而已知3D位置的点”、“关键帧自身的特征”。
然后,位置估算部13为了使地图制作线程知道产生了新的关键帧,在地图制作线程的关键帧队列中设置关键帧计数器NKF(步骤S232)。然后,返回至步骤S201。另外,关键帧计数器NKF、计数器NI、比例S、Map点DB、帧DB存储在存储部20中,使得能够跨越线程来参照值。
接下来,关于在自主移动装置100的主流程(图3)的步骤S102起动的地图制作线程,使用图5来进行说明。该线程由地图制作部12计算关键帧中的对应特征点的3D位置,来制作地图的信息(Map点DB)。
首先,地图制作部12判定是否动作结束(步骤S301)。若动作结束(步骤S301:“是”)则结束,若并非动作结束(步骤S301:“否”),则判定关键帧队列是否为空(步骤S302)。若关键帧队列为空(步骤S302:“是”)则返回至步骤301,若不为空(步骤S302:“否”),则从关键帧队列中取出数据设定给MKF(表示在地图制作线程中处理的关键帧的关键帧编号的变量)(步骤S303)。地图制作部12判定MKF是否大于0(步骤S304),在MKF为0的情况下(步骤S304:“否”)返回至步骤S301,等待数据进入到关键帧队列。在MKF为1以上的情况下(步骤S304:“是”),进入到以下的处理。
地图制作部12参照帧DB,提取在前关键帧(关键帧编号为MKF-1的关键帧)的2D特征点与当前关键帧(关键帧编号为MKF的关键帧)的2D特征点之间能取得对应的2D特征点(对应特征点)(步骤S305)。由于在帧DB中还登记有各关键帧的姿势(平移向量t和旋转矩阵R),因此能够通过与自身设备位置估算线程的初始化时的处理时同样的方法来计算对应特征点的3D位置。地图制作部12将计算出了3D位置的对应特征点作为Map点而登记到Map点DB中(步骤S306)。地图制作部12对于帧DB也针对本次计算出了3D位置的2D特征点来登记3D位置(步骤S307)。
另外,在地图制作部12提取出的对应特征点已经登记在Map点DB中的情况下,可以跳过3D位置计算而进入到针对下一个对应特征点(Map点DB中未登记的对应特征点)的处理,也可以重新进行3D位置计算,对Map点DB中已经登记的3D位置、帧DB中的对应特征点对应的3D位置进行更新。
接着,地图制作部12判定关键帧队列是否为空(步骤S308)。若为空(步骤S308:“是”),则针对全部关键帧的姿势和全部Map点的3D位置,进行捆绑调整处理,提高精度后(步骤S309)前进至步骤S310。若关键帧队列不为空(步骤S308:“否”)则前进至步骤310。接着地图制作部12将MKF设置到闭环线程的关键帧队列(步骤S310),返回至步骤S301。
另外,所谓捆绑调整处理,是对摄像机姿势(关键帧姿势)和Map点的3D位置同时进行估算的非线性最优化法,进行在使Map点投影在关键帧上时产生的误差最小那样的最优化。
通过进行该捆绑调整的处理,从而能够提高关键帧姿势和Map点的3D位置的精度。但是,即使不进行该处理,仅是不能实现精度提高,也并不会发生特别问题。因此,即使在没有其他处理的状态时(例如,关键帧队列为空的状态),也不必每次都进行该处理。
此外,若进行捆绑调整的处理,则有时会发现投影在关键帧上时的误差大于规定值的Map点。关于这样的误差较大的Map点,由于会给SLAM估算造成不良影响,因此可以从Map点DB以及帧DB中进行删除,或者设立用于识别是误差较大的需要注意的Map点的标志。另外,捆绑调整的处理在本实施方式中为可选的处理,所以在此省略处理的详细情况。
接下来关于在自主移动装置100的主流程(图3)的步骤S103起动的闭环线程,使用图6来进行说明。在该线程中控制部10连续不断地检查是否能够进行闭环处理,在能够进行的情况下进行闭环处理。另外,所谓闭环处理,是指在识别出已返回到以前来到过的相同场所的情况时,使用以前位于该相同场所时的姿势的值和当前的姿势的值的偏差,对从以前来到时到当前为止的轨迹中的关键帧、关联的Map点的3D位置进行修正。
首先,控制部10判定是否动作结束(步骤S401)。若动作结束(步骤S401:“是”)则结束。若并非动作结束(步骤S401:“否”)则判定关键帧队列是否为空(步骤S402)。若关键帧队列为空(步骤S402:“是”)则返回至步骤S401,若关键帧队列不为空(步骤S402:“否”),则从关键帧队列中取出数据并设定给LKF(表示在闭环线程中处理的关键帧的关键帧编号的变量)(步骤S403)。接着控制部10判定LKF是否大于1(步骤S404)。在LKF为0或1的情况下(步骤S404:“否”)返回至步骤S401,等待数据进入到关键帧队列中。然后,在LKF为2以上的情况下(步骤S404:“是”),进行以下的处理。
控制部10参照帧DB,从帧DB中检索当前关键帧(关键帧编号为LKF的关键帧)与“关键帧自身的特征”的类似度为规定的类似度(例如0.9。以下称为“基准图像类似度”。)以上的关键帧(步骤S405)。在此,关于该类似度,在由特征向量表示了图像(关键帧)的特征的情况下,能够将两个图像的特征向量的内积的绝对值归一化为1而得到的值、或将两个图像的特征向量的绝对值(要素的平方和的平方根)归一化为1而得到的值彼此的内积设为该两个图像的类似度。此外,也可以将两个图像的特征向量(将绝对值归一化为1而得到的值)的距离(各要素的差的平方和的平方根)的倒数设为类似度。
控制部10判定是否发现了“关键帧自身的特征”的类似度为基准图像类似度以上的关键帧(步骤S406),若未发现(步骤S406:“否”)则去往步骤S408,若发现(步骤S406:“是”),则对从发现的关键帧到当前关键帧的轨迹中的关键帧的姿势、和轨迹中的关键帧所包含的Map点的3D位置进行修正(步骤S407)。例如,控制部10将当前关键帧的姿势修正为与所发现的关键帧的姿势相同的姿势。然后,使用所发现的关键帧的姿势与当前关键帧的姿势的差分,对从所发现的关键帧到当前关键帧的轨迹中的各关键帧的姿势施加线性校正。进而关于这些各关键帧所包含的Map点的3D位置也根据各关键帧的姿势的校正量来进行修正。
接着控制部10将LKF设置到误差判定线程的关键帧队列中,返回至步骤S401(步骤S408)。
接下来关于在自主移动装置100的主流程(图3)的步骤S104起动的误差判定线程,使用图7来进行说明。该线程是由判定部14对位置估算部13利用SLAM而估算的位置(视觉里程计下的位置)和位置测量部11通过里程计而求取的位置之差进行判定,若该差不在规定误差内,则意味着所制作的地图的信息中包含的误差较大,因此由地图编辑部15来进行消除地图的处理。
在该线程中控制部10首先判定是否动作结束(步骤S501),若动作结束(步骤501:“是”)则结束,若并未动作结束(步骤501:“否”),则判定误差判定线程的关键帧队列是否为空(步骤S502)。若关键帧队列为空(步骤S502:“是”)则返回至步骤S501,等待数据进入到关键帧队列中。
若关键帧队列不为空(步骤S502:“否”),则控制部10从关键帧队列中取出数据来设定给IKF(表示在误差判定线程中处理的关键帧的关键帧编号的变量)(步骤S503)。接下来判定IKF是否大于0(步骤S504),在IKF为0的情况下(步骤504:“否”),返回至步骤S501,等待数据进入到关键帧队列中。在IKF为1以上的情况下(步骤S504:“是”),进行以下的处理。
控制部10参照帧DB,对从前关键帧(关键帧编号为IKF-1的关键帧)的里程计取得的旋转角φ1与从当前关键帧(关键帧编号为IKF的关键帧)的里程计取得的旋转角φ2的差分的绝对值φd(=|φ12|,自身设备的朝向的变化量)进行求取,并对φd和规定的旋转角φr(例如5°。以下称为“基准旋转角φr”或“基准朝向变化量”。)进行比较(步骤S505)。求取φd时,控制部10相当于朝向变化量取得部。
若φd为φr以上(步骤S505:“否”),则控制部10清除计数器NI(步骤S506),并返回至步骤S501,等待下一关键帧。然后,若φd小于φr(步骤505:“是”),则使计数器NI递增(步骤S507),并判定计数器NI是否小于规定的积蓄数C(例如10。以下称为“基准积蓄数C”。)(步骤S508)。若计数器NI小于基准积蓄数C(步骤S508:“是”),则返回至步骤S501,继续等待下一关键帧。由于计数器NI每当自主移动装置100前进基准平移距离时递增,因此控制部10基于NI的值,能够取得自主移动装置100的位置的变化量为基准平移距离×NI。在此,控制部10相当于位置变化量取得部。然后,由于若计数器NI为基准积蓄数C以上则判定部14进行以下的判定,因此决定进行该判定的条件的基准位置变化量成为基准平移距离×C。
若计数器NI为基准积蓄数C以上(步骤508:“否”),则判定部14基于从C次前的关键帧(关键帧编号为IKF-C的关键帧)到当前关键帧(关键帧编号为IKF的关键帧)的姿势变化来求取SLAM坐标下的平移距离,设为T1(步骤S509)。此外,判定部14求取从C次前的关键帧到当前关键帧的基于里程计的平移距离,设为T2(步骤S510)。对T1、T2的求取方法更详细说明如下。
由于在帧DB中保存有各关键帧的“姿势”(该图像拍摄时的自身设备在SLAM坐标内的位置(平移向量t)以及朝向(旋转矩阵R))、“从里程计取得的实际环境上的姿势”(以实际环境的距离求取的位置以及朝向)”,因此简单而言,将C次前的关键帧的平移向量t1与当前关键帧的平移向量t2之差的大小(|t1-t2|)设为T1(使用SLAM坐标的平移向量t计算)、T2(使用从里程计取得的值计算)即可。或者,也可以针对从C次前的关键帧到当前关键帧的C+1个关键帧,将C个相邻的关键帧的平移向量之差的大小相加得到的值(∑|ti-ti+1|)设为T1或T2。
然后,判定部14清除计数器NI(步骤S511)。此外,因为T1是SLAM坐标下的值,所以将为了变换为实际环境的距离而乘以比例S得到的值设为T3(步骤S512)。然后,判定部14判定T2与T3的差异是否处于规定误差范围内(流程图的例中为1.5倍以内)(步骤S513以及步骤S514)。若在规定误差范围内(T2小于T3×1.5(步骤S513:“是”)并且大于T3÷1.5(步骤S514:“是”)的情况下),则地图的信息(Map点DB的信息、帧DB的信息)不是那么不准确,所以返回至步骤S501,继续等待下一关键帧。
在T2与T3的差异超过规定误差范围的情况下(T2为T3×1.5以上(步骤S513:“否”)或者为T3÷1.5以下(步骤S514:“否”)的情况下),由于所制作的地图的信息(Map点DB的信息、帧DB的信息)不准确,因此地图编辑部15将初始化完成标志、Map点DB、帧DB、各线程的关键帧队列全部进行清除(步骤5515)。然后控制部10返回至步骤S501,从最初重新开始处理。由于初始化完成标志、关键帧队列都被清除,所以所有的线程会从最初重新开始处理。通过这样,能够防止自主移动装置100在所制作的地图中包含有误差的状态下继续活动。
另外,在T2与T3的差异超过规定范围的情况下,可知该时间点的地图的信息是不准确的,但在之前的误差判定线程的处理中,在T2与T3的差异处于规定范围内的时间点,地图的信息有可能并不是那么不准确。因此,在步骤S514为“是”的情况下,也可以在返回至步骤S501之前,由地图编辑部15将该时间点的地图的信息(Map点DB)作为“似乎可靠的地图”而保存到地图保存部(未图示),在步骤S515中,地图编辑部15不清除初始化完成标志、帧DB、各线程的关键帧队列,而使Map点DB返回到所保存的以前的Map点DB的状态。通过这样,能够有效利用过去制作的地图的信息。
作为使Map点DB返回到以前的状态的方法,除了将Map点DB整体的信息作为“似乎可靠的地图”进行保存的方法以外,还存在与Map点DB的各要素一起保存时间戳(虽然可以使用时刻信息,但使用关键帧计数器NKF的值较为合理)的信息的方法。在该方法中,在步骤S514为“是”的情况下,在返回至步骤S501之前,地图编辑部15将该时间点的时间戳(时刻或NKF)设定给作为时刻存储部的变量TS(该TS自身也可以设为堆栈状,使得能够依次返回到过去),在步骤S515中地图编辑部15进行如下处理,即,消除Map点DB内的信息当中的时间戳为TS以后的信息,TS以前的信息原样保留。若进行这样的处理,则能够将过去的似乎可靠的Map点的信息原样保存,仅消除最近的(可以认为误差较大的)Map点的信息。
该思想也能够应用于帧DB,地图编辑部15也可以在步骤S515中,消除帧DB内的信息当中的关键帧编号比TS大的信息,TS以前的信息原样保留。通过这样,从而能够将过去的似乎可靠的关键帧的信息原样保存,仅消除最近的(可以认为误差较大的)关键帧的信息。
另外,在上述实施方式中,成为步骤S505中的比较对象的旋转角φd使用从里程计取得的旋转角来进行了计算,但也可以使用从视觉里程计取得的旋转角(根据帧DB中保存的各关键帧的“姿势(由SLAM坐标内的平移向量t和旋转矩阵R表示的位置以及朝向)”的R得到的旋转角)来计算。具体而言,若将前关键帧的姿势的旋转矩阵设为R1,并将当前帧的姿势的旋转矩阵设为R2,则通过计算R3=R2×R1-1,能够得到表示从前关键帧到当前关键帧之间的旋转的旋转矩阵R3(R1-1表示R1的逆矩阵(旋转矩阵中必定存在逆矩阵)),因而在此基于所得到的旋转矩阵R3的各要素,能够求取各轴的旋转角。在旋转矩阵为3×3的情况下,存在各轴的旋转角根据旋转矩阵不唯一地求取的情况,但实际上自主移动装置100移动大多是在地面等的平面上,因此通过近似为2×2的旋转矩阵,能够唯一地决定旋转角。通过这样使用视觉里程计,能够不受驱动部42的经年劣化、打滑等的影响地取得旋转角φd
考虑驱动部42的经年劣化、打滑等的影响,控制部10可以在经年劣化较少并且没有打滑等的影响的路面上进行移动的情况下,使用从里程计取得的旋转角,在其他的情况下使用从视觉里程计取得的旋转角。
进而,在自主移动装置100还具备方位传感器的情况下,也可以使各关键帧取得时的方位传感器的值也保存在帧DB中,在步骤S505中,控制部10判定基于由方位传感器得到的方位的旋转角φd是否小于基准旋转角φr
此外,在图7的流程图中,将旋转角φd设为了从前关键帧起的旋转角,但也可以在步骤S505中判定从计数器NI=0的时间点的关键帧起的旋转角是否小于基准旋转角φr。由此,能够将一点一点向相同方向旋转地移动的情况从误差判定线程中的判定对象中排除。
此外,在图7的流程图中,将计数器NI的阈值即基准积蓄数C设为了10,将对T2与T3的差异进行判定时的规定误差范围设为了1.5倍,但C的值也可以不是10,规定误差范围也可以不是1.5倍。例如,也可以将C设为5并将规定误差范围设为1.3倍,或者将C设为20并将规定误差范围设为2倍。使规定误差范围在比1大的值的范围内越接近1,判定条件越严格,即使地图的信息(Map点DB等信息)中仅包含有一点误差,地图编辑部15也会将地图的信息清除。
此外,在图7的步骤S507~步骤S508等中,也可以不使用计数器NI的值,而将从里程计取得的平移距离作为阈值来进行判定。例如也可以设为“直到里程计的平移距离成为基准平移距离以上为止”。这只要如下处理即可:在自身设备位置估算线程的步骤S220以及误差判定线程的步骤S506以及步骤S511中取代设为“NI=0”而设为“将从里程计取得的平移t设定给tI1”,在步骤S507中设为“将从里程计取得的平移t设定给tI2”,在步骤S508中进行|tI1-tI2|(位置的变化量)是否小于基准平移距离的判定。
此外,作为不使用计数器NI的其他的方法,还可以在关键帧间,在从里程计取得的旋转角一直为0的状态下(即完全不旋转而直线前进)检测出平移距离D时,将里程计平移距离T2设为D来进行判定。这只要如下处理即可:在自身设备位置估算线程的步骤S220以及误差判定线程的步骤S506以及步骤S511中取代设为“NI=0”而设为“将从里程计取得的旋转R设定给RI,将从里程计取得的平移t设定给tI1”,在步骤S505中设为“将从里程计取得的旋转R与RI进行比较,若与RI保持相同(由于未旋转)则前进到步骤S507,若成为与RI不同的值(由于发生了旋转)则前进到步骤S506”,在步骤S507中设为“将从里程计取得的平移t设定给tI2”,在步骤S508中进行“|tI1-tI2|<D”的判定。此时,步骤S510成为“将D设定给T2”。
进而,在由所搭载的加速度传感器31,检测出与自主移动装置100的自主移动明显不同的加速度的情况下,可以考虑例如人提起移动体来使其移动等,因此在该情况下控制部10将计数器NI清除为0。具体而言,紧挨在图7的步骤S505之前(或之后),控制部10追加“将加速度传感器31的值与从里程计计算出的加速度进行比较,若产生超过规定范围的差则前进到步骤S506”的处理即可。通过这样,从而误差判定线程中的判定动作被重置,因此能够防止不经意地清除地图的信息(Map点DB等)的情况。从加速度传感器31取得加速度的值时,控制部10相当于加速度取得部。此外,从里程计计算加速度时,控制部10相当于加速度计算部。另外,由于加速度作为三维的向量值而获得,因此加速度的差也成为三维的向量值,但在是否产生了超过上述的规定范围的差的判定中,只要通过差的向量的绝对值(要素的平方和的平方根)是否超过规定值来判定即可。
此外,在车轮发生了较大打滑的情况下,在极端的情况下发生了空转的情况等下,由于驱动车轮的电动机的负荷突然变轻,因而流过电动机的电流发生变化。因此,通过确认里程计的测量结果与电动机电流的关系,能够检测发生了较大的打滑或空转。若检测出较大的打滑或空转,则控制部10将计数器NI清除为0,由此误差判定线程中的判定动作被重置,能够从判定对象中排除。这具体而言,紧挨在图7的步骤S505的之前(或之后。前述的加速度传感器的判定与该打滑判定可以先进行任意一者),控制部10追加“将电动机电流的实际的值与从里程计估算的电动机电流进行比较,若产生超过规定范围的差则前进到步骤S506”的处理即可。取得流过电动机的电流的值时,控制部10相当于电流取得部。此外,基于里程计的信息对流过电动机的电流的值进行估算时,控制部10相当于电流估算部。通过这样,从而能够仅利用未发生较大的打滑或空转等的状况来进行判定,能够防止不经意地清除地图的信息(Map点DB等)的情况。
此外,由于驱动部42经年劣化,变得不能保持里程计的精度,因此控制部10也可以根据累积移动距离的增大,增大旋转角φd的阈值φr。由此,在伴随里程计的精度降低的旋转动作的平移移动时也会进行判定,能够清除里程计的精度较差时的地图的信息(Map点DB等)。
进而,也可以根据利用环境来改变阈值φr。例如,也可以控制部10使用反射传感器(未图示)来测量行进面,若存在镜面反射则设想为容易发生打滑的行进面而增大阈值φr,若存在扩散反射则设想为不易发生打滑的行进面而减小阈值φr。由此,能够实现根据行进面的状态,若是容易发生打滑的行进面则在旋转动作比较多的情况下也进行判定,若是不易发生打滑的行进面则仅在几乎不存在旋转动作的情况下进行判定。
此外,也可以定期地由控制部10使自主移动装置100直线前进移动,使判定部14强制执行里程计与视觉里程计之差的判定。由此,能够防止在地图的信息(Map点DB等)中包含误差的状态下连续进行自主移动。
在上述实施方式中,示出了摄像部41为单眼的单眼SLAM的例子,但即使是使用了多个摄像部的复眼SLAM也能够采用同样的构成。例如在自主移动装置100具备两台摄像部41的情况下,即使不移动从相同位置也能够取得两个图像,所以在自身设备位置估算线程的初始化处理中,通过步骤S204的一次动作能够取得两个图像。若在这两个图像中各自包含有基准值以上的特征点(步骤S206中进行判定),则在步骤S207中进行“N=N+2”,步骤S208会始终前进到“否”。然后,将两个图像中的一个作为前帧,将另一个作为当前帧来进行处理的情况下,在步骤S219中计算比例S时的“里程计平移距离”只要使用两个摄像部间的距离即可。由此即使在从里程计取得的位置的精度较低的情况下也能够稳定地进行初始化。
但是,该情况下的两个摄像部间的距离大多成为比通常使用的基准平移距离(例如1m)短的距离,在从里程计得到的平移距离的精度较高的情况下,有时反倒是进行与单眼SLAM同样的初始化处理(例如仅使用多个摄像部当中的第一摄像部的初始化处理)能获得较高的精度。因此,也可以进行与单眼SLAM同样的初始化处理和前面段落所记载的基于两个摄像部的初始化处理这两者,分别开始制作地图的信息(Map点DB、帧DB),中途进行与误差判定线程同样的处理来判定各自的误差,然后采用误差较小的一方的地图的信息。
另外,在上述的各实施方式中,将基准平移距离的值设定为了“例如1m”,但由于根据自主移动装置自身的大小、速度、自主移动的环境、移动范围等,最佳的基准平移距离会改变,因此关于基准平移距离的设定方法进行补充。
作为基准平移距离的设定方法,可以按将从关键帧上的所有Map点(3D位置已知的2D特征点)的3D位置到自身设备位置的距离进行平均得到的值(=到在关键帧上观察到的所有Map点的进深的平均距离)与平移距离之比来进行设定(例如,将到Map点的进深的平均距离的5%的距离设为基准平移距离等)。在此使用的“所有Map点”能够通过由控制部10参照Map点DB来提取。此外,也可以根据实际环境上的平移距离的大小,例如若在桌子上活动则将10cm设定为基准平移距离,若在房间来回活动则将1m设定为基准平移距离,若在屋外的广场等来回活动则将10m等设定为基准平移距离,还可以将与驱动部42的车轮的直径相应的值(例如车轮的直径的10倍)设定为基准平移距离。
在作为基准平移距离而以实际环境上的距离进行设定的情况下,将SLAM坐标下的平移距离与比例S相乘来变换为实际环境上的距离之后进行比较(反之也同样,在作为基准平移距离而设定SLAM坐标下的距离的情况下,将实际环境上的距离除以比例S来变换为SLAM坐标下的距离之后进行比较)。
另外,本发明的自主移动装置100的各功能通过通常的PC(Personal Computer,个人计算机)等计算机也能够实施。具体而言,在上述实施方式中,自主移动装置100所进行的自主移动控制处理的程序作为预先存储在存储部20的ROM中的程序来进行了说明。但是,也可以将程序保存在软盘、CD-ROM(Compact Disc Read Only Memory,光盘只读存储器),DVD(Digital Versatile Disc,数字多用途盘)以及MO(Magneto-Optical Disc,磁光盘)等计算机可读取的记录介质中来进行分发,通过将该程序读入到计算机中进行安装,从而构成能够实现上述的各功能的计算机。
此外,该计算机既可以内置于自主移动装置100,也可以独立于自主移动装置100而存在。即,如图8所示,也可以将控制部、存储部设置于外部的服务器200。自主移动装置100的控制部10也可以利用云计算技术,将由摄像部41、传感器部30等取得的数据经由通信部44发送到外部的服务器200,在使该服务器200进行了运算处理之后,经由通信部44来接收服务器200所进行的运算结果,并对驱动部42等进行控制。在图8中,服务器200的控制部50构成为具备地图制作部12、位置估算部13、判定部14以及地图编辑部15,但只要在服务器200的控制部50和自主移动装置100的控制部10中的任意一方设有各部即可。关于是服务器200的控制部50具备各部还是自主移动装置100的控制部10具备各部是任意的。
以上,对本发明的优选实施方式进行了说明,但本发明并不限定于这种特定的实施方式,在本发明中,包含权利要求书所记载的发明及其均等的范围。

Claims (11)

1.一种自主移动装置,具备:
位置计测部,其基于移动单元的移动量,来计测自身设备位置;
地图存储部,其对使用摄像部所拍摄的多个图像的信息而制作出的地图进行存储;
位置估算部,其基于所述摄像部所拍摄的多个图像的信息和存储在所述地图存储部中的地图的信息,来估算自身设备位置;
判定部,其判定所述位置计测部计测出的自身设备位置和所述位置估算部估算出的自身设备位置之差是否在规定误差内;
地图编辑部,其在所述判定部判定为不在所述规定误差内的情况下,对存储在所述地图存储部中的地图进行编辑;和
朝向变化量取得部,其取得自身设备的朝向的变化量,
所述判定部在所述朝向变化量取得部所取得的朝向的变化量小于基准朝向变化量时进行判定。
2.根据权利要求1所述的自主移动装置,其中,
所述自主移动装置还具备位置变化量取得部,所述位置变化量取得部取得自身设备的位置的变化量,
所述判定部在所述位置变化量取得部所取得的位置的变化量大于基准位置变化量并且所述朝向变化量取得部所取得的朝向的变化量小于基准朝向变化量时进行判定。
3.根据权利要求1所述的自主移动装置,其中,
所述地图编辑部在所述判定部判定为不在所述规定误差内的情况下,消除存储在所述地图存储部中的地图。
4.根据权利要求1所述的自主移动装置,其中,
所述自主移动装置还具备地图保存部,所述地图保存部在所述判定部判定为在所述规定误差内的情况下对存储在所述地图存储部中的地图进行保存,
所述地图编辑部在所述判定部判定为不在所述规定误差内的情况下,使所述地图存储部存储保存在所述地图保存部中的地图。
5.根据权利要求1所述的自主移动装置,其中,
所述自主移动装置还具备时刻存储部,所述时刻存储部存储所述判定部判定为在所述规定误差内的时刻的信息,
所述地图存储部将地图的信息与制作出地图的时刻的信息一起进行存储,
所述地图编辑部在所述判定部判定为不在所述规定误差内的情况下,消除存储在所述地图存储部中的地图的信息当中的、在存储于所述时刻存储部中的时刻以后制作出的地图的信息。
6.根据权利要求5所述的自主移动装置,其中,
所述自主移动装置还具备图像存储部,所述图像存储部将所拍摄的图像的信息与进行了拍摄的时刻的信息一起进行存储,
在所述地图存储部中,存储使用存储在所述图像存储部中的多个图像的信息而制作出的地图,
所述地图编辑部在所述判定部判定为不在所述规定误差内的情况下,消除存储在所述图像存储部中的信息当中的、在存储于所述时刻存储部中的时刻以后拍摄到的信息。
7.根据权利要求1所述的自主移动装置,其中,
所述摄像部是单眼的摄像部,
所述位置估算部基于所述摄像部所拍摄的多个图像的信息来估算自身设备位置。
8.一种自主移动装置,具备:
位置计测部,其基于移动单元的移动量,来计测自身设备位置;
地图存储部,其对使用摄像部所拍摄的多个图像的信息而制作出的地图进行存储;
位置估算部,其基于所述摄像部所拍摄的多个图像的信息和存储在所述地图存储部中的地图的信息,来估算自身设备位置;
判定部,其判定所述位置计测部计测出的自身设备位置和所述位置估算部估算出的自身设备位置之差是否在规定误差内;
地图编辑部,其在所述判定部判定为不在所述规定误差内的情况下,对存储在所述地图存储部中的地图进行编辑;
加速度取得部,其通过加速度传感器来取得加速度;和
加速度计算部,其基于移动单元的移动量来计算自身设备的加速度,
所述地图编辑部即使在所述判定部判定为不在所述规定误差内的情况下,在所述加速度取得部所取得的加速度与所述加速度计算部所计算出的加速度之差超过规定值的情况下,也不对存储在所述地图存储部中的地图进行编辑。
9.一种自主移动装置,具备:
位置计测部,其基于移动单元的移动量,来计测自身设备位置;
地图存储部,其对使用摄像部所拍摄的多个图像的信息而制作出的地图进行存储;
位置估算部,其基于所述摄像部所拍摄的多个图像的信息和存储在所述地图存储部中的地图的信息,来估算自身设备位置;
判定部,其判定所述位置计测部计测出的自身设备位置和所述位置估算部估算出的自身设备位置之差是否在规定误差内;
地图编辑部,其在所述判定部判定为不在所述规定误差内的情况下,对存储在所述地图存储部中的地图进行编辑;和
电流取得部,其取得流过移动单元所具备的电动机的电流的值;和
电流估算部,其基于所述移动单元的移动量,来估算流过电动机的电流的值,
所述地图编辑部即使在所述判定部判定为不在所述规定误差内的情况下,在所述电流取得部所取得的电流的值与所述电流估算部所估算出的电流的值之差超过规定值的情况下,也不对存储在所述地图存储部中的地图进行编辑。
10.一种自主移动方法,具备:
位置计测步骤,基于移动单元的移动量来计测自身设备位置;
地图制作步骤,使用摄像部所拍摄的多个图像的信息来制作地图;
位置估算步骤,基于所述摄像部所拍摄的多个图像的信息和所制作的所述地图的信息来估算自身设备位置;
判定步骤,判定在所述位置计测步骤中计测出的自身设备位置和在所述位置估算步骤中估算出的自身设备位置之差是否在规定误差内;
地图编辑步骤,在所述判定步骤中判定为不在所述规定误差内的情况下,对所制作的所述地图进行编辑;和
朝向变化量取得步骤,取得自身设备的朝向的变化量,
在所述判定步骤中,在通过所述朝向变化量取得步骤所取得的朝向的变化量小于基准朝向变化量时进行判定。
11.一种记录介质,记录有用于使计算机执行如下步骤的程序:
位置计测步骤,基于移动单元的移动量来计测自身设备位置;
地图制作步骤,使用摄像部所拍摄的多个图像的信息来制作地图;
位置估算步骤,基于所述摄像部所拍摄的多个图像的信息和所制作的所述地图的信息来估算自身设备位置;
判定步骤,判定在所述位置计测步骤中计测出的自身设备位置和在所述位置估算步骤中估算出的自身设备位置之差是否在规定误差内;
地图编辑步骤,在所述判定步骤中判定为不在所述规定误差内的情况下,对所制作的所述地图进行编辑;和
朝向变化量取得步骤,取得自身设备的朝向的变化量,
在所述判定步骤中,在通过所述朝向变化量取得步骤所取得的朝向的变化量小于基准朝向变化量时进行判定。
CN201610907392.9A 2015-12-10 2016-10-18 自主移动装置、自主移动方法以及记录介质 Active CN106859504B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-241064 2015-12-10
JP2015241064A JP6288060B2 (ja) 2015-12-10 2015-12-10 自律移動装置、自律移動方法及びプログラム

Publications (2)

Publication Number Publication Date
CN106859504A CN106859504A (zh) 2017-06-20
CN106859504B true CN106859504B (zh) 2019-09-27

Family

ID=59019941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610907392.9A Active CN106859504B (zh) 2015-12-10 2016-10-18 自主移动装置、自主移动方法以及记录介质

Country Status (3)

Country Link
US (1) US10108199B2 (zh)
JP (1) JP6288060B2 (zh)
CN (1) CN106859504B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10839226B2 (en) * 2016-11-10 2020-11-17 International Business Machines Corporation Neural network training
JP7087290B2 (ja) * 2017-07-05 2022-06-21 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
JP6816830B2 (ja) * 2017-09-04 2021-01-20 日本電産株式会社 位置推定システム、および当該位置推定システムを備える移動体
JP7075201B2 (ja) * 2017-12-15 2022-05-25 東芝ライフスタイル株式会社 電気掃除機
CN108209745B (zh) * 2017-12-18 2021-06-25 深圳市奇虎智能科技有限公司 清洁设备的控制方法、装置、计算机设备和存储介质
US11926038B2 (en) 2018-01-10 2024-03-12 Sony Corporation Information processing apparatus and information processing method
US11761767B2 (en) * 2018-02-26 2023-09-19 Cloudminds Robotics Co., Ltd. Method, device, apparatus, and application for cloud-based trajectory map generation
JP7118778B2 (ja) * 2018-07-03 2022-08-16 株式会社今仙電機製作所 搬送車、この搬送車を制御する制御方法及び制御プログラム
JP7155686B2 (ja) * 2018-07-10 2022-10-19 株式会社豊田自動織機 自律移動体の位置推定装置
JPWO2020039656A1 (ja) * 2018-08-23 2020-08-27 日本精工株式会社 自走装置、自走装置の走行制御方法及び走行制御プログラム
CN109549569A (zh) * 2018-12-28 2019-04-02 珠海凯浩电子有限公司 一种根据地磁强弱方向清扫的扫地机器人
JP7295657B2 (ja) * 2019-02-26 2023-06-21 東芝ライフスタイル株式会社 自律走行体装置
CN110154085B (zh) * 2019-05-14 2021-06-08 北京云迹科技有限公司 机器人空转识别方法及装置
CN110617814A (zh) * 2019-09-26 2019-12-27 中国科学院电子学研究所 单目视觉和惯性传感器融合的远距离测距系统及方法
US11980132B2 (en) * 2021-08-18 2024-05-14 Firefly Automatix, Inc. Determining orientation of a mower using horizon mapping
US20230241518A1 (en) * 2022-02-03 2023-08-03 Rovi Guides, Inc. Methods and system for smart voice chat in multiplayer gaming

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176701B2 (ja) 1992-04-15 2001-06-18 本田技研工業株式会社 移動体の現在位置認識処理装置
DE69333916T2 (de) * 1992-07-23 2006-07-06 Aisin AW Co., Ltd., Anjo Navigationsgerät für Fahrzeuge zur Bestimmung eines neuen Leitwegs, wenn ein Fahrzeug von seinem Leitweg abweicht
JP4060974B2 (ja) * 1999-02-25 2008-03-12 株式会社ザナヴィ・インフォマティクス 経路誘導装置
RU2220643C2 (ru) * 2001-04-18 2004-01-10 Самсунг Гванджу Электроникс Ко., Лтд. Автоматическое чистящее устройство, автоматическая чистящая система и способ управления этой системой (варианты)
JP4175165B2 (ja) 2002-04-17 2008-11-05 松下電工株式会社 自律移動装置
JP4352148B2 (ja) 2003-03-14 2009-10-28 独立行政法人科学技術振興機構 移動ロボット用地図作成システム
CN101053001B (zh) * 2005-04-08 2010-05-19 松下电器产业株式会社 地图信息更新装置及地图信息更新方法
KR100674805B1 (ko) * 2005-06-14 2007-01-29 엘지전자 주식회사 카메라 영상과 지도 데이터 간에 건물 매칭 방법
US7835820B2 (en) 2005-10-11 2010-11-16 Vanderbilt University System and method for image mapping and visual attention
US8355818B2 (en) 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
US8965578B2 (en) 2006-07-05 2015-02-24 Battelle Energy Alliance, Llc Real time explosive hazard information sensing, processing, and communication for autonomous operation
JP2008059218A (ja) 2006-08-30 2008-03-13 Fujitsu Ltd 自律走行ロボットの自己位置回復方法
KR100855469B1 (ko) 2006-09-13 2008-09-01 삼성전자주식회사 이동 로봇의 자세 추정 장치 및 방법
JP4856510B2 (ja) 2006-10-02 2012-01-18 本田技研工業株式会社 移動ロボット
GB2448470B (en) 2007-04-20 2012-04-04 Ultra Global Ltd Vehicle guidance system
KR101337534B1 (ko) 2007-07-24 2013-12-06 삼성전자주식회사 이동 로봇의 위치 인식 장치 및 방법
US20090096686A1 (en) 2007-10-11 2009-04-16 Nec Laboratories America, Inc. Autonomous mobile wireless antenna systems
JP2009169845A (ja) 2008-01-18 2009-07-30 Toyota Motor Corp 自律移動ロボット及び地図更新方法
JP2009193240A (ja) 2008-02-13 2009-08-27 Toyota Motor Corp 移動ロボット及び環境地図の生成方法
JP5270184B2 (ja) * 2008-02-13 2013-08-21 古野電気株式会社 衛星航法/推測航法統合測位装置
JP4738550B2 (ja) * 2009-02-16 2011-08-03 三菱電機株式会社 地図情報処理装置
JP5310285B2 (ja) 2009-06-12 2013-10-09 日産自動車株式会社 自己位置推定装置及び自己位置推定方法
JP5444952B2 (ja) 2009-08-28 2014-03-19 富士通株式会社 センサフュージョンによる地図の自動生成、およびそのように自動生成された地図を用いて移動体の移動をするための、装置、方法、ならびにプログラム
JP5315289B2 (ja) * 2010-04-12 2013-10-16 トヨタ自動車株式会社 オペレーティングシステム及びオペレーティング方法
US20120230550A1 (en) 2011-03-10 2012-09-13 Jacob Kraut Method and Apparatus for Generating a Map from Landmarks
JP5222971B2 (ja) * 2011-03-31 2013-06-26 富士ソフト株式会社 歩行ロボット装置及びその制御プログラム
GB2509445A (en) 2011-09-14 2014-07-02 Smart Ship Holdings Ltd Allocating an area to a vehicle
JP5821526B2 (ja) 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
EP2776216B1 (en) 2011-11-11 2022-08-31 iRobot Corporation Robot apparautus and control method for resuming operation following a pause.
JP5429901B2 (ja) * 2012-02-08 2014-02-26 富士ソフト株式会社 ロボット及び情報処理装置のプログラム
CN103376110A (zh) * 2012-04-13 2013-10-30 上海博泰悦臻电子设备制造有限公司 图片导航方法及对应的图片导航设备、图片导航系统
JP6223976B2 (ja) 2012-07-23 2017-11-01 富士通株式会社 表示制御プログラム、表示制御方法及び表示制御装置
US9739215B2 (en) * 2013-03-15 2017-08-22 Ford Global Technologies, Llc Intrusive EGR monitor for a hybrid vehicle
JP6051993B2 (ja) 2013-03-25 2016-12-27 村田機械株式会社 自律移動式無人搬送車、及び、自律移動式無人搬送システム
KR102061511B1 (ko) * 2013-04-26 2020-01-02 삼성전자주식회사 청소 로봇, 홈 모니터링 장치 및 그 제어 방법
US9037396B2 (en) 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
JP6027554B2 (ja) 2014-01-21 2016-11-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、ブロックシステム、および情報処理方法
JP6191484B2 (ja) 2014-02-03 2017-09-06 トヨタ自動車株式会社 移動ロボットの自己位置推定方法
TWI507664B (zh) 2014-03-13 2015-11-11 Pixart Imaging Inc 光學編碼器及其運作方法
KR101629649B1 (ko) 2014-09-30 2016-06-13 엘지전자 주식회사 로봇 청소기 및 로봇 청소기의 제어방법
US9519289B2 (en) 2014-11-26 2016-12-13 Irobot Corporation Systems and methods for performing simultaneous localization and mapping using machine vision systems
US9569851B2 (en) 2014-12-23 2017-02-14 Ricoh Co., Ltd. Sequencing products recognized in a shelf image
JP6789624B2 (ja) 2015-11-20 2020-11-25 キヤノン株式会社 情報処理装置、情報処理方法
GB2545171B (en) 2015-12-03 2020-08-19 Sony Interactive Entertainment Inc Light source identification apparatus and method
US9889859B2 (en) 2015-12-21 2018-02-13 Intel Corporation Dynamic sensor range in advanced driver assistance systems

Also Published As

Publication number Publication date
JP6288060B2 (ja) 2018-03-07
CN106859504A (zh) 2017-06-20
US20170168498A1 (en) 2017-06-15
US10108199B2 (en) 2018-10-23
JP2017107425A (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
CN106859504B (zh) 自主移动装置、自主移动方法以及记录介质
CN107053166A (zh) 自主移动装置以及自主移动方法
JP6445995B2 (ja) センサデータの空間的集約を用いる適応マッピング
CN106896807A (zh) 自主移动装置以及自主移动方法
US9037396B2 (en) Simultaneous localization and mapping for a mobile robot
CN102622762B (zh) 使用深度图的实时相机跟踪
CN104240288B (zh) 用于产生对象的三维表示的方法和系统
CN102609942B (zh) 使用深度图进行移动相机定位
KR20180004151A (ko) 실시간 맵핑 및 로컬리제이션을 위한 장치 및 방법
CN107194970A (zh) 自主移动装置、自主移动方法以及程序存储介质
CN111354043A (zh) 一种基于多传感器融合的三维姿态估计方法及装置
US9990857B2 (en) Method and system for visual pedometry
Huang et al. Autonomous outdoor scanning via online topological and geometric path optimization
CN106767841A (zh) 基于自适应容积卡尔曼滤波和单点随机抽样的视觉导航方法
KR20220143957A (ko) 단일 이미지로부터의 횡단 가능 공간 판정
JP6638753B2 (ja) 自律移動装置、自律移動方法及びプログラム
CN109945864A (zh) 室内行车定位融合方法、装置、存储介质及终端设备
JP7354528B2 (ja) 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
JP7067130B2 (ja) 自律移動装置、メモリ整理方法及びプログラム
Dayoub et al. Eight weeks of episodic visual navigation inside a non-stationary environment using adaptive spherical views
JP7327596B2 (ja) 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
Cumani et al. Robot localisation and mapping with stereo vision.
Aliaga et al. Fiducial planning for error-bounded pose estimation of a panoramic camera in large environments
CN118097027A (zh) 一种基于进化计算的多视频3d人体动作捕捉方法及系统
Georgopoulos et al. A forward model of optic flow for detecting external forces

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