首页 / 移动机器人

移动机器人实质审查 发明

技术领域

[0001] 本发明涉及一种在规定空间自主行走的移动机器人。

相关背景技术

[0002] 专利文献1公开一种自主地进行移动的移动机器人。
[0003] 专利文献1中公开的移动机器人基于由用于探测滚轮的旋转的传感器等探测出的信息,来估计移动机器人在地毯上的行走状态。
[0004] 这种移动机器人一边估计所行走的空间内的移动机器人自身的位置一边行走。下面将移动机器人自身的位置称为自身位置。因此,对于移动机器人估计的在该空间内的自身位置要求高精度。
[0005] 现有技术文献
[0006] 专利文献
[0007] 专利文献1:国际公开第2013/185102号

具体实施方式

[0047] (作为本公开的基础的知识)
[0048] 移动机器人例如一边沿着计算出的移动路径进行移动,一边执行如清扫、检测障碍物、或数据收集那样的任务。对于这样的一边执行任务一边自主地移动的移动机器人,要求走遍规定的区域内的各处。因此,要求移动机器人能够高精度地估计自身位置。移动机器人例如能够使用LIDAR(Light Detection and Ranging:光探测和测距)等传感器,来检测表示位于移动机器人的周围的墙壁和对象物等的位置的信息,并使用检测出的信息来估计自身位置。移动机器人例如使用定位算法将地图与由LIDAR检测出的信息进行比较,由此估计自身位置。
[0049] 图28A是用于说明移动机器人1000的检测范围的第一例的图。具体地说,图28A是用于说明移动机器人1000使用LIDAR检测周围的物体时的检测范围的第一例的概要俯视图。
[0050] 移动机器人1000例如使用LIDAR测量距墙壁等物体的距离。在物体处于LIDAR能够检测的范围内的情况下,移动机器人1000通过LIDAR来检测墙壁所包括的角部等成为特征的位置。例如,移动机器人1000根据从LIDAR输出的光线的反射光来检测1个以上的检测位置,在检测出的1个以上的检测位置中检测角部等成为特征的位置、即特征点。此外,在图28A中,用虚线表示从LIDAR输出的光线,用圆表示检测位置。由此,移动机器人1000以检测出的角部的位置为基准,来计算自身位置。通过这样,移动机器人1000估计出自身位置。
[0051] 图28B是用于说明移动机器人1000的检测范围的第二例的图。具体地说,图28B是用于说明移动机器人1000使用LIDAR检测周围的物体时的检测范围的第二例的概要俯视图。
[0052] 与第一例同样地,移动机器人1000根据从LIDAR输出的光线的反射光来检测1个以上的检测位置,在检测出的1个以上的检测位置中检测曲面部等成为特征的位置(特征点)。由此,移动机器人1000以检测出的曲面部的位置为基准,来估计自身位置。
[0053] 像这样,在使用LIDAR检测出特征点的情况下,移动机器人1000以该特征点为基准来估计自身位置。
[0054] 然而,如下面的例子所示那样,移动机器人1000有时无法利用从LIDAR获得的信息来估计自身位置。
[0055] 图28C是用于说明移动机器人1000的检测范围的第三例的图。具体地说,图28C是用于说明移动机器人1000使用LIDAR检测周围的物体时的检测范围的第三例的概要俯视图。
[0056] 在第三例中,墙壁位于移动机器人1000的周围的、LIDAR能够检测物体的范围外的位置。因此,移动机器人1000无法检测到墙壁的位置。因而,在第三例中,移动机器人1000无法使用LIDAR来估计自身位置。
[0057] 图28D是用于说明移动机器人1000的检测范围的第四例的图。具体地说,图28D是用于说明移动机器人1000使用LIDAR检测周围的物体时的检测范围的第四例的概要俯视图。
[0058] 在第四例中,墙壁位于移动机器人1000的周围的、LIDAR能够检测物体的范围内的位置。然而,该墙壁不包括角部、曲面部等特征点。因此,在第四例中,移动机器人1000虽然能够将自身位置估计为自身位于图28D所示的一点划线上的某个位置,但无法估计到自身位于一点划线上的哪个位置。因而,在第四例中,移动机器人1000无法准确地估计自身位置。
[0059] 像这样,例如在移动机器人1000的周围的环境中为直线的通路那样的不存在具有用于确定自身位置的角的墙壁或对象物等的情况下,在移动机器人1000所在的场所中,从LIDAR等传感器获得的信息不发生变化。因此,移动机器人1000无法准确地估计自身位置。
[0060] 另外,例如,在移动机器人1000具备拍摄上方的摄像机的情况下,移动机器人1000能够基于由该摄像机拍摄到的位于上方的物体的位置,来估计自身位置。然而,即使在这样的情况下,也存在以下情况:当移动机器人1000进入到光照射不到的家具下面等时,由于过暗而摄像机无法很好地进行拍摄等原因,移动机器人1000无法准确地估计自身位置。
[0061] 因此,移动机器人1000不仅基于从LIDAR、摄像机等获得的信息、还基于从移动机器人1000所具备的用于使移动机器人1000移动的滚轮获得的里程信息,来估计自身位置。
[0062] 里程信息是表示移动机器人1000的各滚轮向哪个方向旋转了多少的信息。此外,在腿式机器人的情况下,里程信息是表示各腿如何动作的信息。
[0063] 由此,移动机器人1000能够不使用位于移动机器人1000的周围的物体的信息,而是基于与移动机器人1000所执行的移动动作有关的信息即里程信息,来估计自身位置。
[0064] 然而,如下面的例子所示那样,有时基于里程信息估计出的自身位置相对于移动机器人1000的实际位置的误差较大。
[0065] 图28E是用于说明移动机器人1000的行走状态的图。具体地说,图28E是用于说明移动机器人1000所估计出的自身位置与实际位置的偏差的概要俯视图。此外,在图28E所示的例子中,设为移动机器人1000准确地估计出了图28E的(a)所示的自身位置。
[0066] 移动机器人1000当持续行走了一段时间时,能够基于与滚轮的旋转有关的里程信息来估计自身位置。
[0067] 在此,例如假定行走中的移动机器人1000产生了因滑移所致的偏差以及因侧滑等漂移所致的偏差,从而发生了航向漂移(heading drift)的情况。因滑移所致的偏差是指移动机器人1000的滚轮的转数与移动机器人1000的实际的移动距离之间产生差的情形。因漂移所致的偏差是指移动机器人1000的滚轮的朝向与移动机器人1000的实际的行进方向之间产生差的情形。航向漂移是指移动机器人1000的行进方向产生不期望的变化的情形。在该情况下,根据表示滚轮的旋转等信息的里程信息检测不到这样的偏差。因此,例如,在产生了这种偏差的情况下,即使移动机器人1000实际上位于图28E的(b)所示的位置、并且向图28E的(b)处标注的箭头所示的方向行进着,但当移动机器人1000根据里程信息来估计自身位置时,也估计成了位于图28E的(c)所示的位置、并且向图28E的(c)处标注的箭头所示的方向行进。像这样,仅根据里程信息估计出的自身位置有时会偏离实际位置。
[0068] 因此,当移动机器人1000使用里程信息持续估计自身位置时,实际位置与估计出的位置的偏差持续变大。
[0069] 在从LIDAR新获得了信息的情况下,通过移动机器人1000基于该信息估计自身位置,来使这种偏差减小。然而,在长时间未从LIDAR获得新的信息的情况下,移动机器人1000的自身位置的估计精度持续降低。
[0070] 本申请发明人们潜心研究的结果发现:移动机器人基于拍摄到的该移动机器人的下方的图像和移动机器人的姿势来计算移动机器人的速度,基于计算出的速度来估计自身位置,由此能够提高自身位置的估计精度。
[0071] 下面,使用附图来详细地说明本发明所涉及的移动机器人的实施方式。此外,下面的实施方式中示出的数值、形状、材料、构成要素、构成要素的配置及连接方式、步骤、步骤的顺序等是一例,并非旨在限定本发明。
[0072] 此外,为了使本领域技术人员充分地理解本发明而提供了附图和下面的说明,并非意图通过附图和下面的说明来限定权利要求书中记载的主题。
[0073] 另外,各图是示意图,未必严格地进行了图示。另外,在各图中,对实质相同的结构标注相同的标记,有时省略或简化重复的说明。
[0074] 另外,在下面的实施方式中,有时将从铅直上方侧观察在规定空间行走的移动机器人的情况记载为俯视观察,将从铅直下方侧观察在规定空间行走的移动机器人的情况记载为仰视观察。另外,有时将移动机器人行进的朝向记载为前方,将与移动机器人行进的朝向相反的一侧记载为后方。
[0075] 另外,在本说明书和附图中,X轴、Y轴以及Z轴表示三维正交坐标系的三个轴。在各实施方式中,将Z轴方向设为铅直方向,将垂直于Z轴的方向(平行于XY平面的方向)设为水平方向。
[0076] 此外,将Z轴的正方向设为铅直上方,将X轴正方向设为移动机器人行进的朝向、即前方。
[0077] 另外,将从移动机器人的前侧观察该移动机器人的情况也称为主视观察。另外,将从与移动机器人行进的朝向及铅直方向正交的朝向观察该移动机器人的情况也称为侧视观察。
[0078] 另外,有时将移动机器人行走的表面简单地记载为地面。
[0079] 另外,在本说明书中,将对于移动机器人前进的朝向而言的速度称为平动速度或者简称为速度,将对于旋转而言的速度称为角速度(旋转速度),将平动速度与角速度合起来的速度称为合成速度或者也简称为速度。
[0080] (实施方式1)
[0081] [结构]
[0082] 图1是示出实施方式1所涉及的移动机器人100的外观的一例的侧视图。
[0083] 图2是示出实施方式1所涉及的移动机器人100的外观的一例的主视图。此外,在图1和图2中,以省略移动机器人100具备的构成要素的一部分的方式示出。
[0084] 移动机器人100例如是一边利用SLAM(Simultaneous Localization and Mapping:即时定位与地图构建)技术进行自主移动一边执行清扫、检测障碍物、或数据收集那样的任务的装置。
[0085] 移动机器人100具备壳体10、第一摄像机210、滚轮20、悬挂臂30以及弹簧40。
[0086] 壳体10是移动机器人100的外廓壳体。移动机器人100具备的各构成要素安装于壳体10。
[0087] 第一摄像机210是安装于壳体10的用于拍摄壳体10的下方的摄像机。具体地说,第一摄像机210以使光轴朝向下方的方式安装于壳体10。更具体地说,第一摄像机210以使第一摄像机210拍摄的方向朝向移动机器人100行走的地面的方式安装于壳体10的下侧。
[0088] 此外,第一摄像机210只要安装于壳体10中的能够拍摄移动机器人100的下方的位置即可,安装位置没有特别限定。第一摄像机210可以安装于壳体10的侧面、底面、或内部等任意位置。
[0089] 另外,第一摄像机210的摄像方向不仅可以为移动机器人100的铅直下方,还可以为相对于铅直方向倾斜的斜下方。
[0090] 滚轮20是用于使移动机器人100移动、即行走的滚轮。在壳体10安装有脚轮21和2个牵引轮22。
[0091] 2个牵引轮22分别经由轮毂32和悬挂臂30而被安装于壳体10,能够以悬挂枢轴31为转动轴来相对于壳体10移动。悬挂臂30通过弹簧40来安装于壳体10。
[0092] 图3是示出实施方式1所涉及的移动机器人100的一个结构例的框图。图4是示意性地示出实施方式1所涉及的移动机器人100具备的传感器部200的各构成要素的配置布局的一例的图。此外,在图4中示出了从壳体10的底面侧观察传感器部200的一部分的配置布局的图,省略了传感器部200的其它一部分构成要素以及滚轮20等的图示。
[0093] 移动机器人100具备传感器部200、周围传感器部160、计算部110、SLAM部120、控制部130、驱动部140以及存储部150。
[0094] 传感器部200是检测用于计算移动机器人100的速度的信息的传感器组。在本实施方式中,传感器部200具备第一摄像机210、光源220、检测部230、角速度传感器250以及里程传感器260。
[0095] 第一摄像机210是安装于壳体10并通过拍摄壳体10的下方来生成图像的摄像机。下面,将由第一摄像机210拍摄的图像也称为第一下方图像。第一摄像机210将所生成的第一下方图像定期地反复输出到计算部110。第一摄像机210只要能够检测基于后述的光源
220的光的分布即可。对于第一摄像机210检测的光的波长、像素数等没有特别限定。
[0096] 光源220是安装于壳体10并朝向壳体10的下方射出光的光源。例如,第一摄像机210通过检测光源220射出的光在移动机器人100行走的地面反射的反射光,来生成第一下方图像。光源220例如是LED(Light Emitting Diode:发光二极管)、LD(Laser Diode:激光二极管)等。光源220输出的光的波长只要是第一摄像机210能够检测的波长即可,没有特别限定。
[0097] 检测部230是安装于壳体10的用于检测壳体10的姿势的装置。具体地说,检测部230是用于检测壳体10相对于预先决定的基准方向的倾斜、以及壳体10与地面之间的距离的装置。此外,壳体10的倾斜通过后述的α和γ来表示,壳体10与地面之间的距离通过后述的h来表示。
[0098] 在本实施方式中,检测部230具有3个测距传感器240。
[0099] 3个测距传感器240分别是测量移动机器人100行走的地面与壳体10之间的距离的传感器。测距传感器240例如是有源型的红外线传感器。
[0100] 如图4所示,在对壳体10进行仰视观察时,例如,第一摄像机210安装于壳体10的中央部,光源220安装于第一摄像机210的附近。该附近是指第一摄像机210能够适当地检测光源220在地面反射的反射光的范围。另外,在对壳体10进行仰视观察时,3个测距传感器240例如彼此分开距离地安装于壳体10的周缘部。
[0101] 3个测距传感器240分别将测定出的距离(高度)的信息(高度信息)定期地反复输出到计算部110。此外,此处测定出的距离表示高度。下面,将与测定出的高度有关的信息也称为高度信息。
[0102] 此外,检测部230只要具有3个以上的测距传感器240即可。检测部230具有的测距传感器240的数量可以为4个,也可以为5个以上。
[0103] 再次参照图3进行说明。角速度传感器250是安装于壳体10的用于测量移动机器人100的角速度、即旋转速度的传感器。角速度传感器250例如是包括陀螺仪传感器的IMU(Inertial Measurement Unit/惯性测量装置)。角速度传感器250将测量出的角速度(角速度信息)定期地反复输出到计算部110。
[0104] 里程传感器260是用于测量滚轮20的转数、即里程信息的传感器。里程传感器260将测量出的里程信息定期地反复输出到计算部110。
[0105] 例如通过计算部110等处理部使得第一摄像机210、检测部230以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部110。
[0106] 周围传感器部160是用于检测移动机器人100行走的规定空间的信息的传感器组。具体地说,周围传感器部160是用于以下用途的传感器组:通过检测规定空间内的障碍物、墙壁等的位置、特征点等,来检测用于移动机器人100估计自身位置来行走的信息。
[0107] 周围传感器部160具备周围摄像机161和周围测距传感器162。
[0108] 周围摄像机161是拍摄移动机器人100的侧方和上方等周围的摄像机。周围摄像机161通过拍摄位于移动机器人100行走的规定空间的障碍物、墙壁等物体来生成规定空间的图像。周围摄像机161将所生成的图像(图像信息)输出到SLAM部120。
[0109] 周围测距传感器162是测量距位于移动机器人100的侧方等周围的障碍物或墙壁等物体的距离的LIDAR。周围测距传感器162将测量出的距离(距离信息)输出到SLAM部120。
[0110] 计算部110是基于壳体10的姿势和第一下方图像来计算移动机器人100的速度(平动速度)的处理部。例如,计算部110基于从3个以上的测距传感器240分别获得的距离来计算壳体10的姿势。例如,计算部110从第一摄像机210反复获取第一下方图像,并比较获取到的图像的变化,由此计算图像的移动速度、即移动机器人100的速度(平动速度)。
[0111] 另外,计算部110根据计算出的平动速度和从角速度传感器250获取到的角速度,计算将移动机器人100行走的朝向也考虑在内的速度、即合成速度。计算部110将计算出的合成速度输出到SLAM部120。此外,计算部110也可以将计算出的平动速度和从角速度传感器250获取到的角速度的各个信息不进行合成而输出到SLAM部120。
[0112] SLAM部120是使用上述的SLAM技术生成移动机器人100行走的规定空间的地图(地图信息)、或者计算(估计)移动机器人100在规定空间内的自身位置的处理部。此外,更具体地说,移动机器人100在规定空间内的自身位置是指在规定空间的地图中的坐标。SLAM部120具有估计部121和地图生成部122。
[0113] 估计部121估计移动机器人100在规定空间内的自身位置。具体地说,估计部121基于计算部110计算出的速度(平动速度),来计算移动机器人100在规定空间内的自身位置。在本实施方式中,估计部121基于角速度传感器250测量出的角速度和计算部计算出的平动速度,来计算移动机器人100的自身位置。此外,在包括本实施方式在内的下面的实施方式中,将估计部121计算移动机器人100的自身位置也称为估计部121估计移动机器人100的自身位置。即,估计部121中的估计是指估计部121中的运算结果。
[0114] 例如,估计部121基于从周围传感器部160获取到的信息,来估计移动机器人100的自身位置。或者,估计部121在基于从周围传感器部160获取到的信息无法估计移动机器人100的自身位置的情况下,基于从计算部110获取到的移动机器人100的平动速度和角速度、即合成速度来估计移动机器人100的自身位置。例如,只要是在估计部121基于初始位置、或从周围传感器部160获取到的信息估计出移动机器人100的自身位置之后,则即使在此后移动机器人100进行了行走,估计部121也能够根据该自身位置和合成速度来估计移动机器人
100的当前的自身位置。
[0115] 地图生成部122使用上述的SLAM技术生成移动机器人100行走的规定空间的地图。例如,在存储部150中没有存储规定空间的地图的情况下,地图生成部122一边从传感器部
200和周围传感器部160获取信息,一边使控制部130控制驱动部140来使移动机器人100行走,由此生成规定空间的地图。所生成的规定空间的地图被存储到存储部150。
[0116] 此外,也可以是在存储部150中存储有规定空间的地图。在该情况下,SLAM部120可以不具有地图生成部122。
[0117] 控制部130是通过控制驱动部140来使移动机器人100行走的处理部。具体地说,控制部130基于估计部121估计出的自身位置来使移动机器人100行走。例如,控制部130基于地图生成部122所生成的地图来计算行走路径。控制部130基于估计部121估计出的自身位置,来控制驱动部140以使移动机器人100沿着计算出的行走路径行走。
[0118] 此外,行走路径(行走路径信息)可以被预先存储于存储部150。
[0119] 计算部110、SLAM部120以及控制部130等处理部例如由用于执行上述的处理的控制程序以及执行该控制程序的CPU(Central Processing Unit:中央处理单元)实现。各种处理部可以通过1个CPU实现,也可以通过多个CPU实现。此外,各个该处理部的构成要素也可以不是软件,而是分别通过由1个或多个专用的电子电路等形成的专用的硬件构成。
[0120] 驱动部140是用于使移动机器人100行走的装置。驱动部140例如具有用于使滚轮20、脚轮21旋转的驱动马达等。控制部130例如通过控制该驱动马达来使脚轮21旋转,从而使移动机器人100行走。
[0121] 存储部150是存储规定空间的地图、以及由计算部110、SLAM部120及控制部130等各种处理部执行的控制程序的存储装置。存储部150例如通过HDD(Hard Disk Drive:硬盘驱动器)、或快闪存储器等实现。
[0122] [速度计算处理]
[0123] 接着,对移动机器人100的合成速度的具体的计算方法进行说明。具体地说,对基于表示移动机器人100的姿势的α和γ、以及h来计算移动机器人100的速度(平动速度)的分量即vx和vy、以及角速度的分量即ω的过程进行说明。此外,α和γ均表示示出壳体10的朝向的角度,h表示壳体10与地面之间的距离(即,高度)。
[0124] 通过使脚轮21相对于壳体10可动,例如,移动机器人100的壳体10的姿势相对于行走的地面适当地改变。由此,移动机器人100能够简单地越过较小物体来行走,或者在有凸凹的地面上也能够适当地行走。
[0125] 在此,由于使脚轮21相对于壳体10可动,因此壳体10未必平行于地面地位于地面上。例如,壳体10的底面相对于地面的倾斜方式在移动机器人100行走的过程中随时变化。因而,壳体10的底面相对于地面的姿势、更具体地说壳体10的底面与地面之间的距离在移动机器人100行走的过程中随时变化。
[0126] 因此,例如,在移动机器人100行走的过程中壳体10的前后方向(例如壳体10的底面)相对于地面倾斜时,以使光轴(摄像方向)平行于地面的法线那样的初始位置配置于壳体10的第一摄像机210的光轴相对于该法线倾斜。
[0127] 例如,在侧视观察中,如图1所示,在壳体10的底面相对于地面在前后方向上倾斜时,第一摄像机210的光轴相对于地面的法线以角度αx倾斜。
[0128] 另外,例如,如图2所示,移动机器人100由于经由悬挂臂30而与脚轮21连接的左右两侧的弹簧40的张力的差异而在左右方向上倾斜。此外,该左右方向是指在俯视观察移动机器人100时与移动机器人100的行进方向垂直的两个方向。
[0129] 例如,在主视观察中,如图2所示,在壳体10的底面相对于地面在左右方向上倾斜时,第一摄像机210的光轴相对于地面的法线以角度αy倾斜。
[0130] 在此,设为移动机器人100正在平坦的地面上行走。相对于地面的移动机器人100的参照系(reference frame)处于距地面的距离(高度)为h的位置,与平行于rot[cos(γ)、Tsin(γ)、0] 的轴的方向的轴(旋转轴)以及以角度α[rad]绕该轴的旋转对应的四元数(quaternion)通过下面的式(1)来表示。
[0131] [数1]
[0132]
[0133] 在此,γ是表示壳体10相对于地面如何倾斜的角度[rad]。更具体地说,γ是表示壳体10相对于壳体10的基准的姿势如何倾斜的角度[rad]。例如,γ=0的情况表示壳体10向左或右倾斜、即在主视观察壳体10时的壳体10的倾斜。另外,γ=π/2的情况表示壳体10向前或后倾斜、即在侧视观察壳体10时的壳体10的倾斜。
[0134] 另外,上述的式(1)中的i、j以及k分别是四元数的单位。
[0135] 另外,参照系是指以移动机器人100为基准任意决定的坐标。例如,在参照系中,能够以移动机器人100的重心位置为原点,将移动机器人100的前后方向决定为X方向,将移动机器人100的左右方向决定为Y方向,将移动机器人100的上下方向决定为Z方向。此外,在本说明书中,w表示是世界坐标系,c表示以本发明所涉及的移动机器人具备的摄像机为基准的坐标系。
[0136] 在此,设为α≥0的情况下的姿势(‑α,γ+π)与α<0的情况下的姿势(α,γ)是等价的。
[0137] 另外,设为i个第一摄像机210分别在移动机器人100的参照系中以位置[ricosT(Ψi),risin(Ψi),bi]安装于壳体10。在该情况下,第i个第一摄像机210的四元数通过下面的式(2)来表示。
[0138] [数2]
[0139]
[0140] 即,第i个第一摄像机210的四元数通过第i个第一摄像机210的Z坐标处的四元数与第i个第一摄像机210在地面上的拍摄位置之积来表示。另外,式(2)中的z意味着移动机器人100绕Z轴的旋转。另外,xy意味着绕以与XY平面平行的方式任意设定的轴的旋转。
[0141] 此外,Ψi、ri以及bi分别是根据移动机器人100的构成要素的位置关系而预先决定的设计参数。Ψ是相对于预先决定的基准原点来看的与预先决定的基准轴所成的角度[rad]。基准原点例如是与移动机器人100的重心位置对应的虚拟点。基准轴例如是经过基准原点且与移动机器人100的前方平行的虚拟轴。r是该基准原点与第一摄像机210(例如,第一摄像机210中的受光传感器的中心)之间的距离。b表示在高度方向上距包含基准轴的基准面的距离。基准面例如是经过基准原点且与移动机器人100未进行动作的情况下的壳体10的底面平行的虚拟面。
[0142] 另外,下面的数3分别满足下面的式(3)和式(4)。
[0143] [数3]
[0144]
[0145] [数4]
[0146]
[0147]
[0148] 此外,β和θ分别是根据移动机器人100的构成要素的位置关系而预先决定的设计参数。β表示相对于基准轴绕预先决定的如下的轴的旋转角度[rad]:该轴在基准面内与基准轴正交且经过第一摄像机210(例如,第一摄像机210中的受光传感器的中心)。另外,θ表示绕如下的轴的旋转角度[rad]:该轴与基准面正交且穿过第一摄像机210(例如,第一摄像机210中的受光传感器的中心)。
[0149] 通过这样,第i个第一摄像机210如下面的式(5)所示那样被决定世界坐标系中的位置。世界坐标系是指预先任意决定的坐标系。
[0150] [数5]
[0151]
[0152] 另外,表示第i个第一摄像机210的旋转(从预先决定的任意方向的旋转)的四元数通过下面的式(6)来表示。
[0153] [数6]
[0154]
[0155] 另外,在该情况下,第i个第一摄像机210拍摄下面的式(7)所示的地面的位置即pi。
[0156] [数7]
[0157]
[0158] 在此,pi,x和pi,y满足下面的式(8)和式(9)。
[0159] [数8]
[0160]
[0161]
[0162] 另外,κ满足下面的式(10)。
[0163] [数9]
[0164]
[0165] 在移动机器人100以通过下面的数10表示的平动速度且通过下面的数11表示的角速度相对于地面移动的情况下,pi的视速度通过下面的式(11)来表示。
[0166] [数10]
[0167]
[0168] [数11]
[0169]
[0170] [数12]
[0171]
[0172] 另外,根据第i个第一摄像机210的拍摄结果计算出的第i个第一摄像机210的速度、即移动机器人100的合成速度满足下面的式(12)。
[0173] [数13]
[0174]
[0175] 此外,第一摄像机210为远心摄像机的情况下的矩阵Ji通过下面的式(13)来表示。
[0176] [数14]
[0177]
[0178] 在此,m表示将值从世界坐标系变换为参照系的旋转平移矩阵。
[0179] 此外,远心摄像机是指如下的摄像机:具备受光传感器、光源以及用于去除视差的透镜即远心透镜,从光源经由远心透镜射出光并通过受光传感器检测(即,拍摄)在地面等对象物处反射的反射光。
[0180] 或者,第一摄像机210为针孔摄像机的情况下的矩阵Ji通过下述的式(14)来表示。
[0181] [数15]
[0182]
[0183] 此外,针孔摄像机是指不使用透镜而利用孔(针孔)的摄像机。
[0184] 在针孔摄像机、以及采用了非远心透镜的所谓的通常的透镜的摄像机中,拍摄到的物体在图像中的大小随着物体与摄像机之间的距离变远而变小。在本实施方式中,第一摄像机210既可以是远心摄像机,也可以不是远心摄像机。
[0185] 在此,Jp11、Jp12、Jp13以及Jp14满足下面的式(15)、式(16)、式(17)以及式(18)。
[0186] [数16]
[0187]
[0188]
[0189]
[0190]
[0191] 此外,f表示第一摄像机210的焦距。
[0192] 另外,各m通过下面的式(19)~式(28)来表示。
[0193] [数17]
[0194]
[0195]
[0196]
[0197] [数18]
[0198]
[0199]
[0200]
[0201] [数19]
[0202]
[0203]
[0204]
[0205] [数20]
[0206]
[0207] 如上所述,根据第一摄像机210的拍摄结果计算出的移动机器人100的速度依赖于通过α和γ表示的壳体10的朝向、以及通过h表示的壳体10的高度。
[0208] 另外,根据第一摄像机210的拍摄结果计算出的移动机器人100的平动速度依赖于移动机器人100的设计参数即ri、Ψi、bi、βi以及θi。此外,这些设计参数是根据移动机器人100的尺寸、布局等决定的值,是预先决定的已知的值。
[0209] 因而,只要能够获取α、γ以及h,则计算部110能够使用从第一摄像机210获得的信息(即,第一下方图像)高精度地计算移动机器人100的平动速度(即,沿着规定的基准轴的方向上的速度)。并且,计算部110通过获取α、γ以及h并且计算角速度(即,相对于规定的基准轴的旋转速度),能够根据平动速度和角速度来高精度地计算规定的时刻的移动机器人100的合成速度。
[0210] 此外,在本实施方式中,使用3个测距传感器240来测量壳体10与地面之间的距离。
[0211] 在此,设为Nd(≥3)个测距传感器240分别以移动机器人100的参照系中的位置(xi,yi,zi)安装于壳体10。
[0212] 此外,距离传感器的数量只要是3个以上即可,没有特别限定。在本实施方式中,移动机器人所具备的距离传感器的数量为3个。
[0213] 例如,第i个测距传感器240测量壳体10与地面之间的距离(hi)。
[0214] 此外,下面,为了使说明简单,设为第i个测距传感器240沿着Z轴方向测定hi。
[0215] 测距传感器240有时由于设计上或制造上的容许误差而相对于铅直方向倾斜。在该情况下,在预先获知了容许误差时,计算部110也可以基于该容许误差来校正从测距传感器240获取的hi。
[0216] 计算部110能够基于从i个测距传感器240中分别获得的hi,根据1≤i≤Nd的条件来计算h、α以及γ。
[0217] 例如,如下面的式(29)和式(30)那样定义H和X。
[0218] [数21]
[0219]
[0220]
[0221] 由此导出下面的式(31)。
[0222] [数22]
[0223]
[0224] 从上述的式(31)可知,通过检测部230具有3个以上的测距传感器240,XXT能够不成为不可逆矩阵地进行计算。
[0225] 另外,从上述的式(29)~式(31)导出下面的式(32)~式(34)。
[0226] [数23]
[0227]
[0228]
[0229]
[0230] 另外,根据上述的式(12)的倒数导出下面的式(35)。
[0231] [数24]
[0232]
[0233] 此外,假定为如下面的数25所示那样。
[0234] [数25]
[0235]
[0236] 另外,下面的数26能够从角速度传感器250获取。
[0237] [数26]
[0238]
[0239] 最后,根据上述的式(11)的倒数导出下面的式(36)和式(37)。
[0240] [数27]
[0241]
[0242]
[0243] 由此计算移动机器人100的合成速度。
[0244] 此外,上述的式(36)和式(37)的对vx和vy标注的帽形符号是用于表示是估计值的符号。下面使用的帽形符号也是同样的。
[0245] [处理过程]
[0246] 接着,对移动机器人100的处理过程进行说明。
[0247] <概要>
[0248] 图5是示出实施方式1所涉及的移动机器人100中的处理过程的概要的流程图。此外,在下面说明的流程图中,首先,设为移动机器人100在步骤S110(或后述的步骤S111或步骤S123)之前已估计出移动机器人100在规定空间内的自身位置。下面,将该自身位置称为第一自身位置。另外,第一摄像机210通过拍摄壳体10的下方,来在该第一自身位置生成第一下方图像。第一摄像机210将所生成的第一下方图像输出到计算部110。另外,控制部130通过控制驱动部140,来使移动机器人100从该第一自身位置起沿着例如存储部150中存储的行走路径行走。
[0249] 第一摄像机210在移动机器人100行走的过程中拍摄壳体10的下方,由此生成第一下方图像(步骤S110)。第一摄像机210将所生成的第一下方图像输出到计算部110。
[0250] 接着,计算部110计算壳体10的姿势(步骤S120)。在本实施方式中,计算部110从3个测距传感器240分别获取距离。计算部110根据获取到的距离,计算表示壳体10的姿势的壳体10的朝向(α和γ)以及高度(h)。
[0251] 接着,计算部110基于壳体10的姿势和第一下方图像,来计算移动机器人100的平动速度(步骤S130)。具体地说,计算部110基于壳体10的姿势、在第一自身位置生成的第一下方图像、以及在移动机器人100行走的过程中生成的第一下方图像,来计算移动机器人100的平动速度。
[0252] 接着,计算部110获取角速度(步骤S140)。在本实施方式中,计算部110在移动机器人100行走的过程中,从角速度传感器250获取角速度。
[0253] 接着,估计部121基于平动速度和角速度,来估计移动机器人100在规定空间内的自身位置(步骤S150)。具体地说,估计部121基于平动速度及角速度、以及第一自身位置,来估计移动机器人100在规定空间内从第一自身位置移动后的自身位置。下面将该自身位置称为第二自身位置。例如,估计部121基于第一自身位置的坐标及移动机器人100位于该第一自身位置时的时刻、计算部110计算出的平动速度及角速度、以及移动后的时刻、更具体地说移动机器人100位于第二自身位置时的时刻,来计算第二自身位置的坐标。或者,估计部121基于第一自身位置的坐标、计算部110计算出的平动速度及角速度、以及从第一自身位置移动到第二自身位置的移动时间,来计算该第二自身位置的坐标。
[0254] 此外,移动机器人100也可以具备RTC(Real Time Clock:实时时钟)等计时部以获取时间。
[0255] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人100行走(步骤S160)。具体地说,控制部130通过控制驱动部140,来使移动机器人100从该第二自身位置起沿着例如存储部150中存储的行走路径进一步行走。
[0256] <具体例>
[0257] 图6是示出实施方式1所涉及的移动机器人100中的处理过程的流程图。
[0258] 首先,第一摄像机210在移动机器人100行走的过程中拍摄壳体10的下方,由此生成第一下方图像(步骤S110)。
[0259] 接着,计算部110基于从3个测距传感器240分别获得的距离来计算壳体10的姿势(步骤S121)。具体地说,计算部110根据获取到的距离,计算表示壳体10的姿势的壳体10的朝向(α和γ)以及高度(h)。
[0260] 接着,计算部110基于壳体10的姿势和第一下方图像,来计算移动机器人100的平动速度(步骤S130)。
[0261] 接着,计算部110在移动机器人100行走的过程中从角速度传感器250获取角速度(步骤S141)。
[0262] 接着,估计部121基于平动速度和角速度,来估计移动机器人100在规定空间内的自身位置(步骤S150)。
[0263] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人100行走(步骤S160)。
[0264] [效果等]
[0265] 如以上说明的那样,实施方式1所涉及的移动机器人100是在规定空间自主行走的移动机器人。移动机器人100具备:壳体10;第一摄像机210,其安装于壳体10,通过拍摄壳体10的下方来生成第一下方图像;检测部230,其安装于壳体10,用于检测壳体10的姿势;计算部110,其基于壳体10的姿势和第一下方图像,来计算移动机器人100的速度(上述的平动速度);估计部121,其基于计算部110计算出的速度,来估计移动机器人100在规定空间内的自身位置;以及控制部130,其基于估计部121估计出的自身位置,来使移动机器人100行走。
[0266] 如上所述,计算部110通过计算壳体10的姿势和速度,来间接地计算以与壳体10的相对的姿势和位置关系不变的方式安装于壳体10的第一摄像机210的姿势和速度。根据该结构,计算部110能够校正第一摄像机210的姿势,因此能够计算更准确的第一摄像机210的速度。即,计算部110能够计算更准确的壳体10的速度、换言之移动机器人100的速度。由此,移动机器人100能够使用高精度地计算出的速度,来高精度地计算自身位置。
[0267] 另外,例如,检测部230具备分别测量移动机器人100行走的地面与壳体10之间的距离的3个以上的测距传感器240。在该情况下,例如,计算部110基于从3个以上的测距传感器240分别获得的距离来计算壳体10的姿势。
[0268] 根据该结构,计算部110能够基于从3个以上的测距传感器240分别获得的距离,通过简单的计算处理来计算壳体10的姿势。
[0269] 另外,例如,移动机器人100还具备安装于壳体10的用于测量移动机器人100的角速度的角速度传感器250。在该情况下,估计部121基于移动机器人100的角速度和速度(即,上述的合成速度)来估计自身位置。
[0270] 根据该结构,计算部110能够通过简单的结构获取移动机器人100的角速度,估计部121能够更高精度地估计自身位置。另外,估计部121能够高精度地估计该自身位置处的移动机器人100的朝向、更具体地说壳体10的朝向。根据该结构,移动机器人100在从该自身位置起进一步行走时,能够向更适当的方向开始行走。
[0271] (实施方式2)
[0272] 下面,对实施方式2所涉及的移动机器人进行说明。此外,在实施方式2的说明中,以与实施方式1所涉及的移动机器人100的不同点为中心进行说明,对与移动机器人100实质相同的结构和处理过程分别标注相同的标记,有时简化或省略一部分说明。
[0273] [结构]
[0274] 图7是示出实施方式2所涉及的移动机器人101的一个结构例的框图。图8是示意性地示出实施方式2所涉及的移动机器人101具备的传感器部201的各构成要素的配置布局的一例的图。此外,在图8中示出了从壳体10的底面侧观察传感器部201的一部分的配置布局的图,省略了传感器部201的其它一部分构成要素以及滚轮20等的图示。
[0275] 移动机器人101基于3个测距传感器240和1个图像来计算平动速度,基于2个图像来计算角速度。
[0276] 移动机器人101具备传感器部201、周围传感器部160、计算部111、SLAM部120、控制部130、驱动部140以及存储部150。
[0277] 传感器部201是检测用于计算移动机器人101的速度的信息的传感器组。在本实施方式中,传感器部201具备第一摄像机210、光源220、检测部230、第二摄像机251以及里程传感器260。
[0278] 第二摄像机251是安装于壳体10并通过拍摄壳体10的下方来生成图像的摄像机。下面将该图像称为第二下方图像。第二摄像机251将所生成的第二下方图像定期地反复输出到计算部111。第二摄像机251只要能够检测基于后述的光源220的光的分布即可。对于第二摄像机251检测的光的波长、像素数等没有特别限定。
[0279] 此外,在本实施方式中,示出移动机器人101具备第一摄像机210和第二摄像机251这2台摄像机的结构例,但是本发明并不限定于该结构。移动机器人101也可以具备3台以上的摄像机。
[0280] 此外,在图8中,图示了2个光源220,示出了一个光源220与第一摄像机210对应、另一个光源220与第二摄像机251对应的结构,但是传感器部201具备的光源220的数量也可以为1个。
[0281] 如图8所示,在仰视观察壳体10时,第一摄像机210和第二摄像机251例如被并列安装于壳体10的中央部。
[0282] 例如通过计算部111等处理部使得第一摄像机210、检测部230、第二摄像机251以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部111。
[0283] 计算部111是基于壳体10的姿势和第一下方图像来计算移动机器人101的速度(平动速度)的处理部。在本实施方式中,计算部111基于第一下方图像和第二下方图像来计算移动机器人101的角速度。对于具体的角速度的计算方法在后面记述。
[0284] 另外,计算部111根据计算出的平动速度和计算出的角速度,来计算将移动机器人101行走的朝向也考虑在内的速度、即合成速度。计算部111将计算出的合成速度输出到SLAM部120。此外,计算部111也可以将计算出的平动速度和计算出的角速度的各个信息不进行合成而输出到SLAM部120。
[0285] [速度计算处理]
[0286] 接着,对移动机器人101的合成速度的具体的计算方法进行说明。此外,在下面的说明中,设为移动机器人101具备拍摄壳体10的下方的Nc(≥2)台摄像机,来进行说明。在摄像机的台数Nc中包括第一摄像机210和第二摄像机251这两方。
[0287] 首先,能够根据上述的式(35)计算下面的数28。
[0288] [数28]
[0289]
[0290] 接着,如下面的式(38)所示那样定义矩阵A。
[0291] [数29]
[0292]
[0293] 基于此,能够根据下面的式(39)计算移动机器人101的平动速度和角速度。
[0294] [数30]
[0295]
[0296] 像这样,通过上述的式(39),计算部111能够基于从2台以上的摄像机获得的信息(图像)来计算平动速度和角速度。更具体地说,计算部111能够基于从2台以上的摄像机获得的图像的行走前后的相对的位置关系的变化,来计算移动机器人101的角速度。
[0297] [处理过程]
[0298] 图9是示出实施方式2所涉及的移动机器人101中的处理过程的流程图。
[0299] 首先,第一摄像机210在移动机器人101行走的过程中拍摄壳体10的下方,由此生成第一下方图像(步骤S110)。
[0300] 接着,计算部111基于从3个测距传感器240分别获得的距离来计算壳体10的姿势(步骤S121)。具体地说,计算部111根据获取到的距离,计算表示壳体10的姿势的壳体10的朝向(α和γ)以及高度(h)。
[0301] 接着,计算部111基于壳体10的姿势和第一下方图像,来计算移动机器人101的平动速度(步骤S130)。
[0302] 接着,第二摄像机251在移动机器人101行走的过程中拍摄壳体10的下方,由此生成第二下方图像(步骤S142)。第二摄像机251将所生成的第二下方图像输出到计算部111。
[0303] 此外,第二摄像机251通过在移动机器人101开始行走前的地点、即上述的第一自身位置拍摄壳体10的下方,来生成了第二下方图像。在该情况下也是,第二摄像机251将所生成的第二下方图像输出到计算部111。
[0304] 此外,第一摄像机210执行拍摄的定时与第二摄像机251执行拍摄的定时是相同的定时。换言之,步骤S110和步骤S142在相同的时刻进行。
[0305] 接着,计算部111基于第一下方图像和第二下方图像,计算移动机器人101的角速度(步骤S143)。
[0306] 接着,估计部121基于平动速度和角速度,来估计移动机器人101在规定空间内的自身位置(步骤S150)。
[0307] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人101行走(步骤S160)。
[0308] [效果等]
[0309] 如以上说明的那样,实施方式2所涉及的移动机器人101具备壳体10、第一摄像机210、检测部230(3个以上的测距传感器240)、基于壳体10的姿势和第一下方图像来计算移动机器人101的速度(上述的平动速度)的计算部111、估计部121以及控制部130。另外,移动机器人101还具备第二摄像机251,该第二摄像机251安装于壳体10,通过拍摄移动机器人
101的下方、具体地说壳体10的下方来生成第二下方图像。在该情况下,计算部111基于第一下方图像和第二下方图像来计算移动机器人101的角速度。
[0310] 根据该结构,计算部111基于从2台摄像机获得的图像来计算移动机器人101的角速度,因此相比于使用IMU等用于检测角速度的装置,能够更高精度地计算移动机器人101的角速度。
[0311] (实施方式3)
[0312] 下面,对实施方式3所涉及的移动机器人进行说明。此外,在实施方式3的说明中,以与实施方式1、2所涉及的移动机器人100、101的不同点为中心进行说明,对与移动机器人100、101实质相同的结构和处理过程标注相同的标记,有时简化或省略一部分说明。
[0313] [结构]
[0314] 图10是示出实施方式3所涉及的移动机器人102的一个结构例的框图。图11是示意性地示出实施方式3所涉及的移动机器人102具备的传感器部202的各构成要素的配置布局的一例的图。此外,在图11中示出了从壳体10的底面侧观察传感器部202的一部分的配置布局的图,省略了传感器部202的其它一部分构成要素以及滚轮20等的图示。
[0315] 移动机器人102基于通过检测结构光而生成的图像来计算平动速度,使用角速度传感器250测量角速度。
[0316] 移动机器人102具备传感器部202、周围传感器部160、计算部112、SLAM部120、控制部130、驱动部140以及存储部150。
[0317] 传感器部202是检测用于计算移动机器人102的速度的信息的传感器组。在本实施方式中,传感器部202具备第一摄像机220、检测部231、角速度传感器250以及里程传感器260。
[0318] 另外,检测部231具有朝向移动机器人102的下方射出结构光的光源241。即,光源241是结构光源。第一摄像机210通过检测光源241射出的结构光在移动机器人102行走的地面反射的反射光,来生成第一下方图像。
[0319] 此外,在本实施方式中,第一摄像机210是远心摄像机。
[0320] 结构光是指向预先决定的特定的方向射出的光,且是在该光的投射面具有特定的光分布的光。
[0321] 光源241例如具有3个激光光源。而且,如图11所示,在仰视观察壳体10时,光源241具有的3个激光光源例如以包围第一摄像机210的方式配置。从该3个激光光源射出的激光分别以预先决定的朝向来向地面射出。
[0322] 图12A~图13B是用于说明结构光的图。此外,图12B是与图12A对应的图,是示出使第一摄像机210的摄像中心位于中央(原点)的情况下的结构光的各照射位置的图。另外,图13B是与图13A对应的图,是示出使第一摄像机210的摄像中心位于中央(原点)的情况下的结构光的各照射位置的图。
[0323] 此外,在图12A和图12B中示意性地示出了在壳体10相对于地面没有倾斜时的第一摄像机210和光源241所具有的激光光源241a、241b、241c、以及结构光照射在地面上时的光的照射位置。另一方面,在图13A和图13B中示意性地示出了在壳体10相对于地面以规定的角度倾斜时的第一摄像机210和光源241所具有的激光光源241a、241b、241c、以及结构光照射在地面上时的光的照射位置。因而,在图13A和图13B所示的状态下,第一摄像机210的光轴以及光源241所具有的激光光源241a、241b、241c的射出方向分别从图12A和图12B所示的状态倾斜了。
[0324] 如图12A所示,由从激光光源241a、241b、241c分别射出的激光构成的结构光包括具有相对于第一摄像机210的光轴倾斜的光轴的至少3个激光。
[0325] 此外,这3个激光可以如本实施方式所示那样分别是从独立的光源射出的,或者也可以是从单个光源射出的激光通过被反射镜、半透半反镜、或分束器等光学系统分割为多个而生成的。
[0326] 地面上被激光照射的位置即照射位置320、321、322如图12B所示那样能够从第一摄像机210生成的图像中获取坐标。这些位置依赖于壳体10的高度(h)和壳体10的朝向(α和γ)。换言之,这些位置依赖于壳体10的姿势。
[0327] 例如,在壳体10相对于地面倾斜时,如图13A所示,从激光光源241a、241b、241c分别射出的激光在地面上的照射位置320a、321a、322a自图12A所示的照射位置320、321、322移动。
[0328] 例如,设为以不改变第一摄像机210的光轴与地面的交点即摄像中心位置310a与照射位置320a、321a、322a之间的位置关系的方式,使摄像中心位置310a移动为与图12B所示的摄像中心位置310重合。在该情况下,例如,照射位置320a相对于照射位置320而言向左移动。另外,照射位置321a相对于照射位置321而言向右下移动。另外,照射位置322a相对于照射位置322而言向左下移动。
[0329] 像这样,通过检测结构光而生成的图像中的光的照射位置依赖于壳体10的姿势。换言之,能够基于通过检测结构光而生成的图像中的光的照射位置,来计算壳体10的姿势。
[0330] 例如通过计算部112等处理部使得第一摄像机210、检测部231、角速度传感器250以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部112。
[0331] 计算部112是基于壳体10的姿势和第一下方图像来计算移动机器人102的速度(平动速度)的处理部。在本实施方式中,计算部112基于第一下方图像来并行计算壳体10的姿势和速度。该第一下方图像是通过由第一摄像机210检测由光源241射出的结构光在移动机器人102行走的地面反射的反射光而生成的图像。另外,计算部112与实施方式1所涉及的计算部110同样地从角速度传感器250获取移动机器人102的角速度。计算部112根据计算出的平动速度以及从角速度传感器250获取到的角速度,来计算移动机器人102的合成速度。
[0332] 计算部112将计算出的合成速度输出到SLAM部120。此外,计算部112也可以将计算出的平动速度和从角速度传感器250获取到的角速度的各个信息不进行合成而输出到SLAM部120。
[0333] [速度计算处理]
[0334] 接着,对移动机器人102的合成速度的具体的计算方法进行说明。此外,在下面的说明中,设为移动机器人102具有Nl(≥3)个激光光源来进行说明。即,在下面的说明中,设为光源241具有Nl个激光光源来进行说明。
[0335] 此外,将第一摄像机210的光轴与从第i个激光光源射出的激光的光轴所成的角度设为η。其中,设为1≤i≤Nl。
[0336] 在该情况下,当将俯视观察移动机器人102时的、第i个激光光源与从该第i个激光光源射出的激光在地面上的照射位置之间的距离设为li时,能够根据下面的式(40)计算hi。
[0337] [数31]
[0338]
[0339] 此外,ηi为设计参数。具体地说,ηi是第一摄像机210的光轴与第i个激光光源的光轴所成的角度。因而,ηi是预先决定的常数。
[0340] 俯视观察移动机器人102时的第i个激光光源的位置能够基于配置于壳体10的第一摄像机210等的位置关系等设计信息来计算。
[0341] 另外,能够根据上述的式(40)以及上述的式(29)~式(37)来计算h、α以及γ。因此,计算部112能够计算移动机器人102的平动速度。
[0342] 此外,在该情况下,上述的式中使用的xi、yi以及zi能够根据以移动机器人102的参照系表示的第一摄像机210的平面(与摄像面平行的平面)上的激光的照射位置来计算。
[0343] 另外,在本实施方式中,示出了结构光在地面上形成3个光点的例子,但是结构光不需要在地面上形成为N个离散的点(即,多个光点)。例如,结构光也可以是环状、或者地面上的光点的形状与移动机器人102的高度和朝向相应地发生改变的光。
[0344] 另外,在上述的说明中,基于从1个摄像机(即,第一摄像机210)获得的信息(图像)来计算出壳体10的朝向和高度、以及移动机器人102的平动速度。例如,移动机器人102也可以是具备1个摄像机、并且能够切换射出结构光的光源241的接通和断开的结构。
[0345] 根据该结构,也可以是,基于通过检测结构光而生成的图像,来计算壳体10的高度和朝向,并且基于通过检测结构光而生成的图像和通过检测结构光以外的光而生成的图像,来计算移动机器人102的速度。结构光以外的光例如是来自射出结构光以外的光的光源220的光。
[0346] 另外,在第一摄像机210通过检测结构光来生成图像的情况下,移动机器人102可以处于移动中,也可以处于停止中。
[0347] 另外,移动机器人102可以具备2个检测结构光的摄像机。即,移动机器人102可以具备2组光源241与作为远心摄像机的第一摄像机210的组。例如,可以是,在一个组中,生成用于由计算部112计算移动机器人102的平动速度的图像,在另一个组中,生成用于由计算部112计算移动机器人102的姿势的图像。在该情况下,各个摄像机能够视为输出与移动机器人102的状态有关的信息的独立传感器(standalone sensor)。
[0348] [处理过程]
[0349] 图14是示出实施方式3所涉及的移动机器人102中的处理过程的流程图。
[0350] 首先,第一摄像机210在移动机器人102行走的过程中,检测由光源241射出的结构光在移动机器人102行走的地面反射的反射光。由此,第一摄像机210生成第一下方图像(步骤S111)。
[0351] 接着,计算部112基于第一摄像机210所生成的第一下方图像,来计算壳体10的姿势(步骤S122)。该第一下方图像是通过由第一摄像机210检测由光源241射出的结构光在移动机器人102行走的地面反射的反射光而生成的图像。计算部112基于获取到的第一下方图像,来计算表示壳体10的姿势的壳体10的朝向(α和γ)以及高度(h)。
[0352] 接着,计算部112基于壳体10的姿势和第一下方图像,来计算移动机器人102的平动速度(步骤S130)。
[0353] 接着,计算部112在移动机器人102行走的过程中从角速度传感器250获取角速度(步骤S141)。
[0354] 接着,估计部121基于平动速度和角速度,来估计移动机器人102在规定空间内的自身位置(步骤S150)。
[0355] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人102行走(步骤S160)。
[0356] [效果等]
[0357] 如以上说明的那样,实施方式3所涉及的移动机器人102具备壳体10、第一摄像机210、检测部231、基于壳体10的姿势和第一下方图像来计算移动机器人102的速度(上述的平动速度)的计算部112、估计部121以及控制部130。另外,检测部231具有朝向移动机器人
102的下方射出结构光的光源241。在该结构中,第一摄像机210通过检测由光源241射出的结构光在移动机器人102行走的地面反射的反射光,来生成第一下方图像。计算部112基于第一摄像机210通过检测由光源241射出的结构光在移动机器人102行走的地面反射的反射光而生成的第一下方图像,来计算壳体10的姿势和移动机器人102的速度。
[0358] 根据该结构,例如,计算部112不使用实施方式1所涉及的移动机器人100具备的检测部230所具有的3个测距传感器240就能够计算壳体10的姿势。因此,能够简化移动机器人102的结构。
[0359] (实施方式4)
[0360] 下面,对实施方式4所涉及的移动机器人进行说明。此外,在实施方式4的说明中,以与实施方式1~3所涉及的移动机器人100~102的不同点为中心进行说明,对与移动机器人100~102实质相同的结构和处理过程标注相同的标记,有时简化或省略一部分说明。
[0361] [结构]
[0362] 图15是示出实施方式4所涉及的移动机器人103的一个结构例的框图。图16是示意性地示出实施方式4所涉及的移动机器人103具备的传感器部203的各构成要素的配置布局的一例的图。此外,在图16中示出了从壳体10的底面侧观察传感器部203的一部分的配置布局的图,省略了传感器部203的其它一部分构成要素以及滚轮20等的图示。
[0363] 移动机器人103基于通过检测结构光而生成的图像来计算平动速度,基于由互不相同的摄像机生成的2个图像来计算角速度。
[0364] 移动机器人103具备传感器部203、周围传感器部160、计算部113、SLAM部120、控制部130、驱动部140以及存储部150。
[0365] 传感器部203是检测用于计算移动机器人103的速度的信息的传感器组。在本实施方式中,传感器部203具备第一摄像机210、检测部231、第二摄像机251以及里程传感器260。
[0366] 另外,检测部231具有朝向移动机器人103的下方射出结构光的光源241。即,光源241是结构光源。第一摄像机210通过检测光源241射出的结构光在移动机器人103行走的地面反射的反射光,来生成第一下方图像。
[0367] 此外,在本实施方式中,第一摄像机210是远心摄像机。
[0368] 光源241例如具有3个激光光源。而且,如图16所示,在仰视观察壳体10时,光源241具有的3个激光光源例如以包围第一摄像机210的方式配置。另外,在仰视观察壳体10时,第一摄像机210和第二摄像机251例如被并列安装于壳体10的中央部。
[0369] 例如通过计算部113等处理部使得第一摄像机210、检测部231、第二摄像机251以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部113。
[0370] 计算部113是基于壳体10的姿势和第一下方图像来计算移动机器人103的速度(平动速度)的处理部。在本实施方式中,计算部113与实施方式3所涉及的计算部112同样地基于第一下方图像来并行计算壳体10的姿势和速度。该第一下方图像是通过由第一摄像机210检测由光源241射出的结构光在移动机器人103行走的地面反射的反射光而生成的图像。
[0371] 具体地说,计算部113根据上述的式(39),基于通过检测结构光而生成的图像来计算高度hi。其中,设为1≤i≤Nl、Nl≥3。另外,例如,计算部113使用上述的式(29)~式(35),来计算第一摄像机210和第二摄像机251这2个摄像机各自的速度。
[0372] 另外,计算部113与实施方式2所涉及的计算部111同样地基于第一下方图像和第二下方图像来计算移动机器人103的角速度。
[0373] 计算部113根据计算出的平动速度和计算出的角速度,来计算移动机器人103的合成速度。具体地说,根据使用上述的式(29)~式(35)计算出的2个摄像机各自的速度,使用上述的式(39)来计算移动机器人103的角速度。
[0374] 计算部113将计算出的合成速度输出到SLAM部120。此外,计算部113也可以将计算出的平动速度和计算出的角速度的各个信息不进行合成而输出到SLAM部120。
[0375] 此外,在图16中示出了仅在第一摄像机210和第二摄像机251中的一方(第一摄像机210)的附近配置有射出结构光的光源241的结构例,但是本发明并不限定于该结构。也可以是,在第一摄像机210和第二摄像机251各自的附近分别配置有射出结构光的光源241。该附近是指第一摄像机210或第二摄像机251能够适当地检测光源241在地面反射的反射光的范围。
[0376] 根据该结构,计算部113能够在第一摄像机210和第二摄像机251中分别计算壳体10的高度(上述的h)和壳体10的姿势(上述的α和γ),因此能够更高精度地计算移动机器人
103的平动速度和角速度。
[0377] 此外,在本实施方式中,示出了移动机器人103具备第一摄像机210和第二摄像机251这2个摄像机的结构例,但是本发明并不限定于该结构。移动机器人103也可以具备3台以上的安装于壳体10并通过拍摄壳体10的下方来生成图像的摄像机。
[0378] 根据该结构,计算部113对于从各个摄像机获得的图像分别计算速度,并将计算出的多个速度的平均值设为移动机器人103的速度,由此能够更高精度地计算移动机器人103的速度。
[0379] [处理过程]
[0380] 图17是示出实施方式4所涉及的移动机器人103中的处理过程的流程图。
[0381] 首先,第一摄像机210在移动机器人103行走的过程中,检测由光源241射出的结构光在移动机器人103行走的地面反射的反射光。由此,第一摄像机210生成第一下方图像(步骤S111)。
[0382] 接着,计算部113基于第一摄像机210所生成的第一下方图像,来计算壳体10的姿势(步骤S122)。该第一下方图像是通过由第一摄像机210检测由光源241射出的结构光在移动机器人103行走的地面反射的反射光而生成的图像。计算部113基于获取到的第一下方图像,来计算表示壳体10的姿势的壳体10的朝向(α和γ)以及高度(h)。
[0383] 接着,计算部113基于壳体10的姿势和第一下方图像,来计算移动机器人103的平动速度(步骤S130)。
[0384] 接着,第二摄像机251在移动机器人103行走的过程中拍摄壳体10的下方,由此生成第二下方图像(步骤S142)。
[0385] 接着,计算部113基于第一下方图像和第二下方图像,计算移动机器人103的角速度(步骤S143)。
[0386] 接着,估计部121基于平动速度和角速度,来估计移动机器人103在规定空间内的自身位置(步骤S150)。
[0387] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人103行走(步骤S160)。
[0388] [效果等]
[0389] 如以上说明的那样,实施方式4所涉及的移动机器人103具备壳体10、第一摄像机210、检测部231、计算部113、估计部121、控制部130以及第二摄像机251。另外,检测部231具有射出结构光的光源241。第一摄像机210通过检测光源241射出的结构光在移动机器人103行走的地面反射的反射光,来生成第一下方图像。计算部113基于第一摄像机210通过检测由光源241射出的结构光在移动机器人103行走的地面反射的反射光而生成的第一下方图像,来计算壳体10的姿势和移动机器人103的速度。另外,计算部113基于第一下方图像和由第二摄像机251生成的第二下方图像,来计算移动机器人103的角速度。
[0390] 根据该结构,计算部113与实施方式3所涉及的移动机器人102同样,不使用3个测距传感器240就能够计算壳体10的姿势。因此,能够简化移动机器人103的结构。另外,计算部113与实施方式2所涉及的计算部111同样地,基于从2台摄像机获得的图像来计算移动机器人103的角速度,因此相比于使用IMU等用于检测角速度的装置,能够更高精度地计算移动机器人103的角速度。
[0391] 像这样,可以将各实施方式所涉及的移动机器人的各构成要素任意地组合。
[0392] (实施方式5)
[0393] 下面,对实施方式5所涉及的移动机器人进行说明。此外,在实施方式5的说明中,以与实施方式1~4所涉及的移动机器人100~103的不同点为中心进行说明,对与移动机器人100~103实质相同的结构和处理过程标注相同的标记,有时简化或省略一部分说明。
[0394] [结构]
[0395] 图18是示出实施方式5所涉及的移动机器人104的一个结构例的框图。图19是示意性地示出实施方式5所涉及的移动机器人104具备的传感器部204的各构成要素的配置布局的一例的图。此外,在图19中示出了从壳体10的底面侧观察传感器部204的一部分的配置布局的图,省略了传感器部204的其它一部分构成要素以及滚轮20等的图示。图20是示意性地示出实施方式5所涉及的移动机器人104具备的摄像机的摄像方向的图。具体地说,图20是示意性地示出实施方式5所涉及的移动机器人104具备的第一摄像机210和第二摄像机251各自的光轴方向的概要侧视图。
[0396] 移动机器人104基于由加速度传感器测量出的移动机器人104的加速度来计算壳体10的姿势。另外,移动机器人104基于该姿势以及通过拍摄壳体10的下方而生成的图像,来计算平动速度。另外,移动机器人104基于由互不相同的摄像机生成的2个图像来计算角速度。
[0397] 移动机器人104具备传感器部204、周围传感器部160、计算部114、SLAM部120、控制部130、驱动部140以及存储部150。
[0398] 传感器部204是检测用于计算移动机器人104的速度的信息的传感器组。在本实施方式中,传感器部204具备第一摄像机210、光源220、检测部232、第二摄像机251以及里程传感器260。
[0399] 第一摄像机210通过检测由光源220射出的光在移动机器人104行走的地面反射的反射光,来生成第一下方图像。第二摄像机251通过检测由光源220射出的光在移动机器人104行走的地面反射的反射光,来生成第二下方图像。
[0400] 另外,第一摄像机210和第二摄像机251以各自的光轴彼此不平行的方式安装于壳体10。具体地说,如图20所示,第一摄像机210和第二摄像机251以第一摄像机210的光轴300与第二摄像机251的光轴301彼此不平行的方式安装于壳体10。根据该结构,后述的式(55)不为FTF0。
[0401] 此外,在本实施方式中,第一摄像机210和第二摄像机251是远心摄像机。
[0402] 检测部232具有加速度传感器242。
[0403] 加速度传感器242是测量移动机器人104的加速度的传感器。具体地说,加速度传感器242是测量移动机器人104的加速度以计算移动机器人104的重力方向的传感器。加速度传感器242例如是包括加速度计的IMU。加速度传感器242将测量出的加速度(加速度信息)定期地反复输出到计算部114。
[0404] 例如通过计算部114等处理部使得第一摄像机210、光源220、检测部232、第二摄像机251以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部114。
[0405] 计算部114是基于壳体10的姿势和第一下方图像来计算移动机器人104的速度(平动速度)的处理部。
[0406] 在本实施方式中,计算部114基于从加速度传感器242获取到的加速度(加速度信息),来计算移动机器人104的姿势。具体地说,首先,计算部114基于获取到的加速度信息来计算移动机器人104的重力方向。接着,计算部114基于计算出的重力方向,来计算从预先决定的壳体10的姿势起的相对于地面的倾斜(即,姿势)。具体地说,计算部114从加速度传感器242获取表示重力与移动机器人104的加速度之和的信息。并且,计算部114根据里程信息来估计移动机器人104的加速度。计算部114根据上述的表示和的信息与估计出的加速度之差,来计算重力(重力方向)。计算部114基于计算出的重力如何体现在加速度传感器242的各轴(X轴、Y轴以及Z轴)上,来估计壳体10的倾斜。
[0407] 另外,计算部114基于计算出的移动机器人104的姿势、第一下方图像以及第二下方图像,来计算移动机器人104的平动速度。
[0408] 另外,计算部114与实施方式2所涉及的计算部111同样地基于第一下方图像和第二下方图像来计算移动机器人104的角速度。
[0409] 计算部114根据计算出的平动速度和计算出的角速度,来计算移动机器人104的合成速度。
[0410] 计算部114将计算出的合成速度输出到SLAM部120。此外,计算部114也可以将计算出的平动速度和计算出的角速度的各个信息不进行合成而输出到SLAM部120。
[0411] [速度计算处理]
[0412] 接着,对移动机器人104的合成速度的具体的计算方法进行说明。
[0413] <摄像机为远心摄像机的情况>
[0414] 能够基于上述的式(8)~式(10),来计算下面的式(41)~式(45)。
[0415] [数32]
[0416]
[0417] pi,mx=pkpi,mx··式(42)
[0418] pi,qx=pkp′i,qx··式(43)
[0419] pi,my=pkp′i,my··式(44)
[0420] pi,qy=pkp′i,qy··式(45)
[0421] 此外,上述的式(41)~式(45)中的各p分别通过下面的式(46)~式(50)来计算。
[0422] [数33]
[0423]
[0424]
[0425] [数34]
[0426]
[0427] [数35]
[0428]
[0429] [数36]
[0430]
[0431] 在此,设为移动机器人104具备用于检测向壳体10的下方射出并被地面反射的光的Nc个(Nc≥2)远心摄像机,该Nc个远心摄像机分别是拍摄壳体10的下方的摄像机。在该情况下,针对多个远心摄像机分别定义下面的式(51)所示的矩阵Fi(其中,1≤i≤Nc)。
[0432] [数37]
[0433]
[0434] 另外,多个远心摄像机各自的速度通过下面的式(52)来表示。
[0435] [数38]
[0436]
[0437] 另外,如下面的式(53)和式(54)所示,定义矩阵F和矩阵vc。
[0438] [数39]
[0439]
[0440]
[0441] 根据以上的各式导出下面的式(55)。
[0442] [数40]
[0443]
[0444] 如以上那样,只要第一摄像机210和第二摄像机251分别是远心摄像机,则移动机器人104能够使用上述的式(55)来计算平动速度和角速度、即合成速度。
[0445] 如上所述,矩阵F不依赖于壳体10与地面之间的距离(h)。矩阵F依赖于壳体10的朝向(α和γ)。此外,矩阵F还依赖于移动机器人104的设计参数,但设计参数是已知的、或者能够通过下面的校准(calibration)来获取。
[0446] 具体地说,使用治具来使移动机器人104成为预先决定的姿势地配置于如输送带那样的能够上下运动的驱动体。接着,一边以预先决定的速度和角速度使移动机器人104上下运动,一边根据配置于移动机器人104的摄像机(例如第一摄像机210)计算速度。一边变更该姿势、该速度以及该角速度,一边基于根据多个条件获得的移动机器人104的速度来计算设计参数(上述的ri、bi、θi以及βi)。通过这样,能够获取设计参数。
[0447] 另外,在能够忽略或已测定出了移动机器人104的加速度的情况下、以及已知地面垂直于重力的情况下,能够利用从加速度传感器242获得的加速度来计算α和γ。
[0448] 另外,例如,移动机器人104在具备拍摄移动机器人104的上方的上方摄像机(未图示)的情况下,能够基于该上方摄像机通过拍摄移动机器人104的上方而生成的图像(上方图像)来计算α和γ。
[0449] 在任一种情况下均是,移动机器人104只要能够计算(或只要能够获取)α和γ,就能够根据上述的式(54)计算移动机器人104的速度。因而,移动机器人104也可以具备IMU、上方摄像机等获取用于计算α和γ的信息的传感器。
[0450] 另外,移动机器人104计算的速度的精度依赖于上述的设计参数。从移动机器人104来看,为了针对全部的方向使精度最优化,除了Ψi(Ψi=2πi/Nc[rad])的方向以外,需要使各摄像机的设计参数相等。
[0451] 更具体地说,在θi=0时,移动机器人104计算的移动机器人104的速度的精度最高。
[0452] 在此,假定移动机器人104的最大倾斜角、更具体地说地面与壳体10的底面所成的角度为15deg(15[deg]=π/12[rad])的情况。在该情况下,在0≤γ≤2π且0≤α≤π/12的范围内,能够最高精度地计算依赖于移动机器人104具备的摄像机的数量(Nc)的ri/h和βi。
[0453] 一般地,在βi处于36[deg.]~39[deg.]的范围且ri/h处于1.1~1.2的范围的情况下,移动机器人104能够最高精度地计算移动机器人104的速度。
[0454] 此外,为了计算移动机器人104的速度,对于α和γ可取的值,通过上述的矩阵F表T现的FF保持为可逆矩阵即可。即,ri、ψi、θi以及βi可取的值的范围并不限定于上述。
[0455] <摄像机不为远心摄像机的情况>
[0456] 另外,移动机器人104的结构和移动机器人104的速度的计算方法并不限定于上述。例如,第一摄像机210和第二摄像机251也可以不为远心摄像机。
[0457] 例如,设为移动机器人104具备各自拍摄壳体10的下方的Nc台摄像机。而且,移动机器人104基于从移动机器人104具备的Nc台摄像机分别获得的图像来计算vi,x和vi,y。根据该结构,移动机器人104能够基于从Nc台摄像机获得的图像来计算2Nc个速度。
[0458] 根据这2Nc个速度,如下面所示那样能够估计(计算)6个未知数。
[0459] 首先,如下面的式(56)和式(57)所示那样定义Gi和G(α,γ,h)。
[0460] [数41]
[0461]
[0462]
[0463] 此外,在上述的式(57)中,为了说明矩阵G依赖于α、γ以及h而将矩阵G记载为G(α,γ,h)。
[0464] 另外,G(α,γ,h)能够根据下面的式(58)所示的最小二乘问题来计算。具体地说,α、γ、h、vx、vy以及ω能够根据下面的式(58)所示的最小二乘问题来计算。
[0465] [数42]
[0466]
[0467] G(α,γ,h)非线性地依赖于α、γ以及h中的各个值。
[0468] 一般地,在上述的式(58)中存在多个解。在此,在IMU等传感器中,能够测量各个值的初始值。由此,移动机器人104在从根据上述的式(58)获得的多个解中决定适当的解时,能够通过将位于由IMU等传感器测量出的初始值的附近的解设为适当的解,来将解决定为1个。
[0469] 根据这样的计算方法,计算部114通过使用上述的式(56)和式(57),能够基于从第一摄像机210和第二摄像机251获得的图像计算平动速度和角速度这两方,从而能够计算移动机器人104的速度。因此,在移动机器人104中,能够简化用于计算移动机器人104的速度的结构。另外,由于相比于使用上述的式(55)计算的速度,能够提高α和γ的计算结果的精度,因此能够提高移动机器人104的速度的计算结果的精度。另外,根据这样的计算方法,移动机器人104具备的摄像机不需要是远心摄像机,因此能够进一步简化结构。
[0470] 由远心摄像机生成的图像中的物体的大小不取决于该物体与远心摄像机之间的距离,而是不变化的。该影响体现在上述的式(13)和式(14)中。
[0471] 如上述的式(13)所示,Ji,t不依赖于h。另一方面,根据上述的式(28),Ji,p依赖于下面的数43。
[0472] [数43]
[0473]
[0474] 另外,根据上述的式(5),下面的数44依赖于h。
[0475] [数44]
[0476]
[0477] 根据这些,在第一摄像机210和第二摄像机251为远心摄像机的情况下,通过与h无关的矩阵来表现。因此,根据上述的式(55),能够计算移动机器人104的平动速度和角速度。
[0478] 另一方面,上述的式(56)不取决于第一摄像机210及第二摄像机251的类型,无论是哪种类型的摄像机(例如无论是远心摄像机和针孔摄像机中的哪一种)都能够使用。
[0479] 另外,G依赖于h。因此,无论第一摄像机210和第二摄像机251分别是何种类型的摄像机,根据上述的式(58),都能够计算壳体10的姿势(α,γ,h)、平动速度以及角速度。
[0480] [处理过程]
[0481] 图21是示出实施方式5所涉及的移动机器人104中的处理过程的流程图。
[0482] 首先,加速度传感器242测量移动机器人104的加速度(步骤S123)。加速度传感器242将测量出的加速度输出到计算部114。
[0483] 接着,计算部114基于从加速度传感器242获取到的加速度来计算壳体10的姿势(步骤S124)。具体地说,计算部114基于获取到的加速度来计算移动机器人104的重力方向。然后,计算部114基于计算出的重力方向,来计算从预先决定的壳体10的姿势起的相对于地面的倾斜、即壳体10的姿势。此外,预先决定的壳体10的姿势等信息被存储于存储部150即可。
[0484] 接着,第一摄像机210和第二摄像机251在移动机器人104行走的过程中检测由光源220射出的光在移动机器人104行走的地面反射的反射光,由此生成图像(第一下方图像和第二下方图像)。即,第一摄像机210生成第一下方图像,第二摄像机251生成第二下方图像(步骤S125)。
[0485] 接着,计算部114基于壳体10的姿势和第一下方图像,来计算移动机器人104的平动速度(步骤S130)。
[0486] 接着,计算部114基于第一下方图像和第二下方图像,计算移动机器人104的角速度(步骤S143)。
[0487] 接着,估计部121基于平动速度和角速度,来估计移动机器人104在规定空间内的自身位置(步骤S150)。
[0488] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人104行走(步骤S160)。
[0489] [效果等]
[0490] 如以上说明的那样,实施方式5所涉及的移动机器人104具备壳体10、第一摄像机210、检测部232、计算部114、估计部121、控制部130以及第二摄像机251。检测部232具有测量移动机器人104的加速度的加速度传感器242。第一摄像机210和第二摄像机251以各自的光轴彼此不平行的方式安装于壳体10。计算部114基于由加速度传感器242测量出的移动机器人104的加速度来计算壳体10的姿势。然后,计算部114基于计算出的壳体10的姿势和第一下方图像来计算移动机器人104的速度,并且基于第一下方图像和第二下方图像来计算移动机器人104的角速度。估计部121基于移动机器人104的角速度和速度来估计自身位置。
[0491] 根据该结构,计算部114基于从加速度传感器242获取的加速度来计算壳体10的姿势,因此能够高精度地计算该姿势。因此,计算部114能够更高精度地计算移动机器人104的速度。由此,根据移动机器人104,能够更高精度地计算自身位置。
[0492] (实施方式6)
[0493] 下面,对实施方式6所涉及的移动机器人进行说明。此外,在实施方式6的说明中,以与实施方式1~5所涉及的移动机器人100~104的不同点为中心进行说明,对与移动机器人100~104实质相同的结构标注相同的标记,有时简化或省略一部分说明。
[0494] [结构]
[0495] 图22是示出实施方式6所涉及的移动机器人105的一个结构例的框图。图23是示意性地示出实施方式6所涉及的移动机器人105具备的传感器部205的各构成要素的配置布局的一例的图。此外,在图23中示出了从壳体10的底面侧观察传感器部205的一部分的配置布局的图,省略了传感器部205的其它一部分构成要素以及滚轮20等的图示。
[0496] 移动机器人105使用加速度传感器来计算壳体10的姿势,基于该姿势以及由互不相同的摄像机生成的多个图像来计算平动速度和角速度。
[0497] 移动机器人105具备传感器部205、周围传感器部160、计算部115、SLAM部120、控制部130、驱动部140以及存储部150。
[0498] 传感器部205是检测用于计算移动机器人105的速度的信息的传感器组。在本实施方式中,传感器部205具备第一摄像机210、光源220、检测部232、第二摄像机251、第三摄像机252、第四摄像机253以及里程传感器260。
[0499] 第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253通过分别检测光源220射出的光在移动机器人105行走的地面反射的反射光,来生成图像(第一下方图像、第二下方图像、第三下方图像以及第四下方图像)。即,第一摄像机210生成第一下方图像,第二摄像机251生成第二下方图像,第三摄像机252生成第三下方图像,第四摄像机253生成第四下方图像。
[0500] 如图23所示,在本实施方式中,光源220具有在仰视观察壳体10时逐个地配置在第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253的各个摄像机附近的LED等光源。该附近是指各摄像机能够适当地检测各光源220在地面反射的反射光的范围。
[0501] 另外,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253以各自的光轴彼此不平行的方式安装于壳体10。具体地说,如图23所示,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253以第一摄像机210的光轴300、第二摄像机251的光轴301、第三摄像机252的光轴302以及第四摄像机253的光轴303彼此不平行的方式安装于壳体10。
[0502] 此外,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253的各个摄像机的类型没有特别限定。各摄像机例如可以为针孔摄像机,也可以为远心摄像机。
[0503] 例如通过计算部115等处理部使得第一摄像机210、检测部232、第二摄像机251、第三摄像机252、第四摄像机253以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部115。
[0504] 计算部115是基于壳体10的姿势和第一下方图像来计算移动机器人105的速度(平动速度)的处理部。
[0505] 在本实施方式中,计算部115与实施方式5所涉及的计算部114同样地基于从加速度传感器242获取到的加速度(加速度信息),来计算移动机器人105的姿势。
[0506] 另外,计算部115基于计算出的移动机器人105的姿势、第一下方图像、第二下方图像、第三下方图像以及第四下方图像来计算移动机器人105的平动速度。
[0507] 另外,计算部115基于第一下方图像、第二下方图像、第三下方图像以及第四下方图像来计算移动机器人105的角速度。
[0508] 计算部115根据计算出的平动速度和计算出的角速度,来计算移动机器人105的合成速度。
[0509] 计算部115将计算出的合成速度输出到SLAM部120。此外,计算部115也可以将计算出的平动速度和计算出的角速度的各个信息不进行合成而输出到SLAM部120。
[0510] [处理过程]
[0511] 图24是示出实施方式6所涉及的移动机器人105中的处理过程的流程图。
[0512] 首先,加速度传感器242测量移动机器人105的加速度(步骤S123)。加速度传感器242将测量出的加速度输出到计算部115。
[0513] 接着,计算部115基于从加速度传感器242获取到的加速度来计算壳体10的姿势(步骤S124)。
[0514] 接着,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253通过在移动机器人105行走的过程中分别检测光源220射出的光在移动机器人105行走的地面反射的反射光,来生成图像(第一下方图像、第二下方图像、第三下方图像以及第四下方图像)。即,第一摄像机210生成第一下方图像,第二摄像机251生成第二下方图像,第三摄像机252生成第三下方图像,第四摄像机253生成第四下方图像(步骤S125)。由此,在相同时刻生成拍摄位置不同的多个图像。
[0515] 接着,计算部115基于壳体10的姿势和多个图像,来计算移动机器人105的平动速度(步骤S131)。
[0516] 接着,计算部115基于多个图像计算移动机器人105的角速度(步骤S144)。
[0517] 接着,估计部121基于平动速度和角速度,来估计移动机器人105在规定空间内的自身位置(步骤S150)。
[0518] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人105行走(步骤S160)。
[0519] [效果等]
[0520] 如以上说明的那样,实施方式6所涉及的移动机器人105具备壳体10、第一摄像机210、光源220、检测部232、计算部115、估计部121、控制部130、第二摄像机251、第三摄像机
252以及第四摄像机253。另外,检测部232具有测量移动机器人105的加速度的加速度传感器242。第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253以各自的光轴彼此不平行的方式安装于壳体10。计算部115基于由加速度传感器242测量出的移动机器人
105的加速度来计算壳体10的姿势。另外,计算部115基于计算出的壳体10的姿势以及从各个摄像机获得的多个图像(第一下方图像、第二下方图像、第三下方图像、第四下方图像)计算移动机器人105的平动速度,并且基于多个图像(第一下方图像、第二下方图像、第三下方图像、第四下方图像)计算移动机器人105的角速度。估计部121基于移动机器人105的角速度和平动速度来估计自身位置。
[0521] 根据该结构,计算部115基于从加速度传感器242获取的加速度来计算壳体10的姿势,因此能够高精度地计算该姿势。因此,计算部115能够更高精度地计算移动机器人105的速度。并且,计算部115基于从多个摄像机获得的多个图像来计算平动速度和角速度。例如,在各摄像机为远心摄像机的情况下,移动机器人105具备的摄像机越多,则上述的式(55)中T的F的列的数量和vc的行的数量越多。因此,例如,即使在各行中包含误差,如果各误差是独立的,则行越多,能够使计算的合成速度中的该误差的影响越小。同样地,在各摄像机为针孔摄像机的情况下,移动机器人105具备的摄像机越多,则上述的式(58)中的vc和G各自的行数越多。因此,如果各vc的行中产生的误差是独立的,则行数越多,能够使α、γ、h、vx、vy以及ω的估计误差越小。由此,估计部121能够更高精度地计算自身位置。
[0522] (实施方式7)
[0523] 下面,对实施方式7所涉及的移动机器人进行说明。此外,在实施方式7的说明中,以与实施方式1~6所涉及的移动机器人100~105的不同点为中心进行说明,对与移动机器人100~105实质相同的结构标注相同的标记,有时简化或省略一部分说明。
[0524] [结构]
[0525] 图25是示出实施方式7所涉及的移动机器人106的一个结构例的框图。图26是示意性地示出实施方式7所涉及的移动机器人106具备的传感器部206的各构成要素的配置布局的一例的图。此外,在图26中示出了从壳体10的底面侧观察传感器部206的一部分的配置布局的图,省略了传感器部206的其它一部分构成要素以及滚轮20等的图示。
[0526] 移动机器人106基于由互不相同的摄像机分别生成的多个图像来计算壳体10的姿势、平动速度以及角速度。在本实施方式中,对移动机器人106具备第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253这4个摄像机的结构进行说明。
[0527] 移动机器人106具备传感器部206、周围传感器部160、计算部116、SLAM部120、控制部130、驱动部140以及存储部150。
[0528] 传感器部206是检测用于计算移动机器人106的速度的信息的传感器组。在本实施方式中,传感器部206具备第一摄像机210、光源220、检测部233以及里程传感器260。
[0529] 另外,检测部233具备第二摄像机251、第三摄像机252以及第四摄像机253。
[0530] 第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253通过分别检测光源220射出的光在移动机器人106行走的地面反射的反射光,来生成图像(第一下方图像、第二下方图像、第三下方图像以及第四下方图像)。即,第一摄像机210生成第一下方图像,第二摄像机251生成第二下方图像,第三摄像机252生成第三下方图像,第四摄像机253生成第四下方图像。
[0531] 如图26所示,在本实施方式中,光源220具有在仰视观察壳体10时配置在第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253的各个摄像机附近的LED等光源。在本实施方式中,光源220具有针对第一摄像机210配置的1个光源、以及针对第二摄像机251、第三摄像机252及第四摄像机253配置的1个光源。该附近是指各摄像机能够适当地检测各光源220在地面反射的反射光的范围。
[0532] 另外,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253中的3个摄像机以各自的光轴经过规定位置330的方式安装于壳体10。在本实施方式中,第二摄像机251、第三摄像机252以及第四摄像机253以各光轴、即第二摄像机251的光轴301、第三摄像机252的光轴302以及第四摄像机253的光轴303彼此不平行的方式安装于壳体10。具体地说,第二摄像机251、第三摄像机252以及第四摄像机253以各自的光轴、即光轴301、302以及303经过规定位置330的方式安装于壳体10。更具体地说,第二摄像机251、第三摄像机252以及第四摄像机253如图26所示那样以第二摄像机251的光轴301、第三摄像机252的光轴302以及第四摄像机253的光轴303经过图26中黑点所示的规定位置330的方式安装于壳体10。
规定位置没有特别限定,能够任意地决定。
[0533] 另一方面,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253中的除了上述的3个摄像机以外的1个摄像机以其光轴不经过规定位置330的方式安装于壳体10。在本实施方式中,第一摄像机210以第一摄像机210的光轴不经过规定位置330的方式安装于壳体10。
[0534] 此外,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253例如分别是远心摄像机。
[0535] 例如通过计算部116等处理部使得第一摄像机210、检测部233(即,第二摄像机251、第三摄像机252以及第四摄像机253)、以及里程传感器260彼此同步地进行动作并将相同时刻的各信息分别定期地反复输出到计算部116。
[0536] 计算部116是基于壳体10的姿势和第一下方图像来计算移动机器人106的速度(平动速度)的处理部。
[0537] 在本实施方式中,计算部116基于由第二摄像机251拍摄到的第二下方图像、由第三摄像机252拍摄到的第三下方图像、以及由第四摄像机253拍摄到的第四下方图像,来计算移动机器人106的姿势。
[0538] 另外,计算部116基于计算出的移动机器人106的姿势(更具体地说,壳体10的姿势)、以及第一下方图像、第二下方图像、第三下方图像及第四下方图像,来计算移动机器人106的平动速度。
[0539] 另外,计算部116基于第一下方图像、第二下方图像、第三下方图像以及第四下方图像来计算移动机器人106的角速度。
[0540] 计算部116根据计算出的平动速度和计算出的角速度,来计算移动机器人106的合成速度。
[0541] 计算部116将计算出的合成速度输出到SLAM部120。此外,计算部116也可以将计算出的平动速度和计算出的角速度的各个信息不进行合成而输出到SLAM部120。
[0542] [速度计算处理]
[0543] 接着,对移动机器人106的合成速度的具体的计算方法进行说明。
[0544] 移动机器人106至少具备4台摄像机、更具体地说4个远心摄像机。
[0545] 另外,移动机器人106具备的至少3台摄像机构成为各光轴经过相同的点。在本实施方式中,第二摄像机251、第三摄像机252以及第四摄像机253以各自的光轴经过规定位置330的方式安装于壳体10。
[0546] 另外,移动机器人106具备的至少1个摄像机构成为光轴不经过上述的“相同的点”。在本实施方式中,第一摄像机210以其光轴不经过规定位置330的方式安装于壳体10。
[0547] 当设为移动机器人106具备的各摄像机是远心摄像机时,定义下面的式(59)~式(66)。
[0548] [数45]
[0549]
[0550]
[0551]
[0552] [数46]
[0553]
[0554]
[0555]
[0556]
[0557] [数47]
[0558]
[0559] 此外,式(66)所示的I是通过下面的式(67)表示的单位矩阵(identity matrix)。
[0560] [数48]
[0561]
[0562] 根据上述的式(59)~式(67),上述的式(51)的矩阵Fi通过下面的式(68)来表示。
[0563] [数49]
[0564]
[0565] 此外,式(68)所示的“×”表示外积。
[0566] 接着,定义下面的式(69)和式(70)。
[0567] [数50]
[0568]
[0569]
[0570] 在此,当将移动机器人106的参照系中的规定位置330设为点po时,点po的速度(平o o动速度)v和距离(高度)h通过下面的式(71)和式(72)来表示。
[0571] [数51]
[0572]
[0573]
[0574] 接着,根据上述的式(52)、式(68)、式(71)以及式(72)计算下面的式(73)。
[0575] [数52]
[0576]
[0577] 此外,通过下面的式(74)来定义上述的式(73)中的Pi。
[0578] [数53]
[0579]
[0580] 在此,点po设为位于移动机器人106具备的摄像机的光轴上。在该情况下,根据上述的式(73)计算出下面的式(75)。
[0581] [数54]
[0582]
[0583] 另外,设为移动机器人106具备的至少3台摄像机的光轴经过点po。为了不破坏一o般性,将光轴经过点p的3台摄像机的索引设为1、2以及3。
[0584] 另外,定义下面的式(76)和式(77)。
[0585] [数55]
[0586]
[0587]
[0588] 然后,定义下面的式(78)和式(79)。
[0589] [数56]
[0590]
[0591]
[0592] 通过利用外积的特性,也就是说,根据外积计算来定义下面的式(80)和式(81)。
[0593] [数57]
[0594]
[0595]
[0596] 并且,定义下面的式(82)和式(83)。
[0597] [数58]
[0598]
[0599]
[0600] 接着,根据上述的式(81)计算出下面的式(84)。
[0601] [数59]
[0602]
[0603] 在此,设为ω≠0且ho≠0,来定义下面的式(85)和式(86)。
[0604] [数60]
[0605]
[0606]
[0607] ρ1和ρ2的值仅依赖于设计参数(ψi、βi以及θi)以及作为未知数的α及γ。另一方面,从上述的式(61)、式(64)、式(76)以及式(77)可知,ρ1和ρ2的值独立于作为未知数的h、vx、vy以及ω。
[0608] ρ1和ρ2的各值与2个组即(α、γ)及(α′、γ′)对应。具体地说,(ρ1,ρ2)仅依赖于作为未知数的α和γ。在此,(ρ1,ρ2)与α及γ不为一对一的关系。能够计算得到很多个(ρ1,ρ2)的解,但是通过相同的(ρ1,ρ2)计算得到(α,γ)≠(α′,γ′)。也就是说,如果(ρ1,ρ2)的值是已知的,则关于(α,γ)能够从很多个解中缩减范围到2个解。另外,该2个解中的一方是正确(即,根据移动机器人106实体的朝向计算)的值,另一方是不正确(即,不适于移动机器人106实体)的值。
[0609] 此外,下面,将根据(α,γ)计算的量设为X,将根据(α′,γ′)计算的量设为x′。
[0610] 这2个解由于满足u1u1′=u2u2′=u3u3′,因此计算出下面的式(87)、式(88)以及式(89)。
[0611] [数61]
[0612] μ′=‑μ··式(87)
[0613] ω′ho′=ωho··式(88)
[0614]
[0615] 接着,说明用于计算移动机器人106的平动速度(vx和vy)以及角速度(ω)的计算方法。
[0616] 使用式(70)来根据下面的数62的测定值计算qi(1≤i≤3)。
[0617] [数62]
[0618]
[0619] 另外,根据式(78)计算s。
[0620] 在此,设为如下面的数63所示那样。
[0621] [数63]
[0622] ||sa||=0
[0623] 于是,下面的数64的各个值需要使用加速度计等传感器来计算。
[0624] [数64]
[0625] 和
[0626] 另一方面,当设为移动机器人106的倾斜(更具体地说,壳体10的倾斜)在短时间内变化不大时,能够使用最后计算出的值计算当前的值来作为近似的值。
[0627] 另外,设为如下面的数65所示那样。
[0628] [数65]
[0629] ||sa||≠0
[0630] 于是,能够使用上述的式(85)和式(86)来计算(ρ1,ρ2)。另外,能够使用上述的式(80)或查询表,根据计算出的(ρ1,ρ2)计算数66所示的2个解。此外,例如设为查询表预先存储于存储部150。
[0631] [数66]
[0632] 和
[0633] 通过计算该2个解,即通过该2个解已知,能够计算下面的数67。
[0634] [数67]
[0635]
[0636] 并且,能够计算下面的数68。
[0637] [数68]
[0638]
[0639] 接着,根据上述的式(80)来定义下面的式(90)。
[0640] [数69]
[0641]
[0642] 另外,能够如下面的式(91)所示那样计算(估计)ωho。
[0643] [数70]
[0644]
[0645] 接着,使用式(84)来计算下面的数71的2个速度。
[0646] [数71]
[0647] 和
[0648] 在此,从式(71)明显可知,vo与下面的数72正交。
[0649] [数72]
[0650]
[0651] 根据该情形,一般地,能够排除上述的2个解中的某一个而决定出正确的解。
[0652] 然而,在vo与下面的数73成比例的情况下,换言之,在vo与下面的数74的两方正交的情况下,无法判定上述的2个解中的哪一个是正确的。
[0653] [数73]
[0654]
[0655] [数74]
[0656] 和
[0657] 实际上,由于测定误差,下面的数75不完全为0。
[0658] [数75]
[0659]
[0660] 因此,能够认为下面的数76在满足数77时正交。
[0661] [数76]
[0662] 和
[0663] [数77]⊥
[0664] (θ:任意的阈值)
[0665] 在此,设为摄像机No+1~摄像机Nc各自的光轴不经过点po。
[0666] 在该情况下,根据上述的式(73)定义下面的式(92)~式(98)。
[0667] [数78]
[0668]
[0669]
[0670]
[0671] [数79]
[0672]
[0673]
[0674]
[0675]
[0676] 接着,能够根据下面的式(99)计算ω。
[0677] [数80]
[0678]
[0679] 接着,能够根据下面的式(100)简单地计算ho的估计值。
[0680] [数81]
[0681]
[0682] 理论上,如果下面的数83是解,则下面的数82为0,如果下面的数84不是解,则下面的数82不为0。
[0683] [数82]
[0684] ||da‑dωω||
[0685] [数83]
[0686]
[0687] [数84]
[0688]
[0689] 该结果能够用于决定上述的2个解中的哪一个是正确的解。
[0690] 此外,在此也是,由于测定误差,值不会准确地成为0,能够使用上述的阈值。
[0691] 另外,也存在上述的2个解双方的值均为0的情形。
[0692] 该情形在满足下面的式(101)的情况下发生。
[0693] [数85]
[0694]
[0695] 此外,关于下面的数86,在速度vo与下面的数87成比例的情况下,能够通过适当地选择移动机器人106具备的摄像机的结构及配置布局等以不满足上述的式(101),来计算下面的数86。
[0696] [数86]
[0697]
[0698] [数87]
[0699]
[0700] 通过这样,能够适当地选择上述的2个解中的正确的解。
[0701] 此外,移动机器人106也可以具备加速度传感器等传感器。在该情况下,移动机器人106也可以判定2个解中的哪一个接近从该传感器获得的值,并将值更接近的一个解判定为正确的解。
[0702] 另外,如上所述,设为移动机器人106的倾斜(更具体地说,壳体10的倾斜)在短时间内变化不大,从而可以选择与最后计算出的值最接近的解来作为正确的解。
[0703] 最后,使用上述的式(71)和式(72),如下面所示的式(102)和式(103)那样计算(估计)vx、vy以及h。
[0704] [数88]
[0705]
[0706]
[0707] 根据移动机器人106,例如除了ω=0等几种情况以外,不使用摄像机以外的IMU等其它传感器就能够高精度地计算速度(合成速度)。并且,根据上述的计算方法,由于计算的值完全独立于里程传感器260等其它传感器,因此根据摄像机所生成的图像计算的值(估计值)的误差被认为完全独立于从里程传感器260等获得的行走距离等值的误差。因而,通过将这2个值组合,能够期待最终计算的自身位置的误差低于根据这2个值分别计算的自身位置的误差。
[0708] [处理过程]
[0709] 图27是示出实施方式7所涉及的移动机器人106中的处理过程的流程图。
[0710] 首先,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253通过在移动机器人105行走的过程中分别检测光源220射出的光在移动机器人105行走的地面反射的反射光,来生成图像(第一下方图像、第二下方图像、第三下方图像以及第四下方图像)。即,第一摄像机210生成第一下方图像,第二摄像机251生成第二下方图像,第三摄像机252生成第三下方图像,第四摄像机253生成第四下方图像(步骤S126)。由此,在相同时刻生成拍摄位置不同的多个图像。
[0711] 接着,计算部116基于由各自的光轴经过规定位置330的多个摄像机生成的多个图像来计算壳体10的姿势(步骤S170)。具体地说,计算部116基于第一下方图像、第二下方图像、第三下方图像以及第四下方图像来计算壳体10的姿势。
[0712] 接着,计算部116基于壳体10的姿势和多个图像,来计算移动机器人106的平动速度(步骤S131)。
[0713] 接着,计算部116基于多个图像计算移动机器人106的角速度(步骤S144)。
[0714] 接着,估计部121基于平动速度和角速度,来估计移动机器人106在规定空间内的自身位置(步骤S150)。
[0715] 接着,控制部130通过控制驱动部140,来基于估计部121估计出的自身位置使移动机器人106行走(步骤S160)。
[0716] [效果等]
[0717] 如以上说明的那样,实施方式7所涉及的移动机器人106具备壳体10、第一摄像机210、光源220、检测部233、计算部116、估计部121以及控制部130。另外,检测部233具备第二摄像机251、第三摄像机252以及第四摄像机253。具体地说,检测部233具有:第二摄像机
251,其安装于壳体10,通过拍摄壳体10的下方来生成第二下方图像;第三摄像机252,其安装于壳体10,通过拍摄壳体10的下方来生成第三下方图像;以及第四摄像机253,其安装于壳体10,通过拍摄壳体10的下方来生成第四下方图像。
[0718] 第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253中的3个摄像机以各自的光轴经过规定位置330的方式安装于壳体10。在本实施方式中,第二摄像机251、第三摄像机252以及第四摄像机253以各光轴、即第二摄像机251的光轴301、第三摄像机252的光轴302以及第四摄像机253的光轴303经过规定位置330的方式安装于壳体10。另一方面,第一摄像机210、第二摄像机251、第三摄像机252以及第四摄像机253中的除了该3个摄像机以外的1个摄像机以其光轴不经过规定位置330的方式安装于壳体10。在本实施方式中,第一摄像机210以第一摄像机210的光轴不经过规定位置330的方式安装于壳体10。计算部116基于由第一摄像机210获得的第一下方图像、由第二摄像机251获得的第二下方图像、由第三摄像机252获得的第三下方图像以及由第四摄像机253获得的第四下方图像,来计算移动机器人106的角速度和壳体10的姿势。
[0719] 估计部121基于移动机器人106的角速度和速度来估计移动机器人106的自身位置。
[0720] 根据该结构,计算部116基于从多个摄像机获取的图像来计算壳体10的姿势,因此能够高精度地计算该姿势。并且,移动机器人106由于不具备IMU等传感器,因此能够通过简单的结构实现。
[0721] (其它的实施方式)
[0722] 以上基于上述各实施方式说明了本发明所涉及的移动机器人,但是本发明并不限定于上述各实施方式。
[0723] 例如,上述的b、h等表示距离的数值的单位没有特别限定,分别采用相同的单位即可。
[0724] 另外,例如,在上述实施方式中,设为移动机器人具备的计算部等处理部分别是通过CPU和控制程序实现的,来进行了说明。例如,各个该处理部的构成要素也可以分别通过1个或多个电子电路构成。1个或多个电子电路分别可以为通用的电路,也可以为专用的电路。也可以是,在1个或多个电子电路中例如包括半导体装置、IC(Integrated Circuit:集成电路)、或LSI(Large Scale Integration:大规模集成电路)等。IC或LSI可以被集成于1个芯片,也可以被集成于多个芯片。在此,虽然称呼为IC或LSI,但是称呼方式根据集成的程度而改变,可能称为系统LSI、VLSI(Very Large Scale Integration:超大规模集成电路)、或ULSI(Ultra Large Scale Integration:特大规模集成电路)。另外,能够在LSI制造后进行编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)也能够使用于相同的目的。
[0725] 另外,上述的各处理部执行的处理过程只是一例,没有特别限定。例如,也可以是,计算部不计算合成速度,而是估计部计算合成速度。另外,计算平动速度的处理部与计算角速度的处理部可以通过不同的CPU或专用的电子电路实现。
[0726] 另外,例如,计算部也可以基于从里程传感器获得的信息来对计算出的姿势、平动速度以及角速度进行校正。或者,例如,计算部也可以基于从上述的摄像机获得的图像、以及从里程传感器获得的信息,来计算移动机器人的姿势、平动速度以及角速度。
[0727] 另外,各实施方式中的构成要素可以任意地组合。
[0728] 另外,本发明的总括或具体的方式可以通过系统、装置、方法、集成电路或计算机程序来实现。或者,也可以通过存储有该计算机程序的光盘、HDD(Hard Disk Drive:硬盘驱动器)或者半导体存储器等计算机可读的非暂时性记录介质来实现。另外,也可以通过系统、装置、方法、集成电路、计算机程序以及记录介质的任意组合来实现。
[0729] 此外,对各实施方式实施本领域技术人员想到的各种变形所得到的方式、通过在不脱离本发明的宗旨的范围内将各实施方式中的构成要素及功能任意组合而实现的方式也包含在本发明中。
[0730] 产业上的可利用性
[0731] 本发明能够利用于一边自主移动一边进行清扫的自主行走型清扫机。

当前第1页 第1页 第2页 第3页