CN117940258A - 机器人装置和机器人控制方法 - Google Patents

机器人装置和机器人控制方法 Download PDF

Info

Publication number
CN117940258A
CN117940258A CN202280061208.7A CN202280061208A CN117940258A CN 117940258 A CN117940258 A CN 117940258A CN 202280061208 A CN202280061208 A CN 202280061208A CN 117940258 A CN117940258 A CN 117940258A
Authority
CN
China
Prior art keywords
variable
robot
leg
unit
filtering
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
Application number
CN202280061208.7A
Other languages
English (en)
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.)
Sony Group Corp
Original Assignee
Sony Group Corp
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 Sony Group Corp filed Critical Sony Group Corp
Publication of CN117940258A publication Critical patent/CN117940258A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

在用于基于来自传感器的检测信息来识别障碍物的该机器人装置中,通过正确的障碍物识别来实现高精度的机器人控制,而不会将机器人的腿部分或臂部分等错误地识别为障碍物。在本发明中,主区域过滤处理单元从在来自触觉传感器的检测信息中包括的对象信息中删除与机器人装置的构成部分相对应的对象信息,地图图像生成单元基于已经从其中删除与机器人装置的构成部分相对应的对象信息的对象信息来生成地图数据,并且机器人控制单元基于所生成的地图数据来控制机器人装置。主区域过滤处理单元删除尺寸根据机器人装置的可动部的动作速度而变化的可变过滤区域,并且执行用于从来自触觉传感器的检测信息中删除可变过滤区域内的对象信息的处理。

Description

机器人装置和机器人控制方法
技术领域
本公开内容涉及机器人装置和机器人控制方法。具体地,本发明涉及能够基于正确的障碍物确定来执行准确的控制而不会将机器人本身的腿、臂等错误地识别为障碍物的机器人装置和机器人控制方法。
背景技术
近年来,自主行进型机器人例如通过控制多条腿而移动的行走型机器人和通过旋转轮而移动的轮驱动型机器人被用于各种领域中。
例如,机器人甚至可以在人们难以进入的灾难现场等处执行各种操作。
然而,为了使行走型机器人和轮行进型机器人稳定地移动,需要抓住行进方向上的障碍物、行走表面以及行进表面的不平整物、倾斜物等,识别其上可以稳定行走或行进的路线,并且根据行走表面或行进表面的形状进一步执行行进的脚或轮的着陆。
例如,当行走型机器人的脚放置在具有严重不平整性的表面或具有大倾斜度的表面上时,存在机器人摔倒并且无法向前移动的可能性。
为了防止这样的问题,许多自主行进型机器人安装有传感器例如用于识别机器人周围的环境的摄像装置,并且使用传感器检测信息来执行控制以选择和移动路线,以执行稳定的行走或行进。
例如,执行以下处理:使用从传感器获得的数据来生成包括周围环境的三维形状数据的环境地图;以及参照所生成的环境地图来确定移动路线;等等。
然而,在如上所述执行使用从传感器获得的数据来创建环境地图的处理和分析所创建的环境地图的处理的情况下,存在以下问题。
这是机器人的结构部例如机器人本身的腿或手被识别为障碍物的问题。
例如,行走型机器人在来回移动腿的同时行进。当传感器例如机器人的摄像装置检测到机器人的腿时,该腿可能被错误地识别为障碍物。
当发生这样的错误识别时,机器人可以确定机器人不能在机器人最初可以行进的路线上行进,并且机器人可以停止行进。
此外,例如,在使用机器人的臂(臂部)或手执行工作的机器人的情况下,传感器例如机器人的摄像装置可能检测机器人的臂或手,并且错误地将臂或手识别为障碍物。
在这样的情况下,机器人确定不能执行规定的工作,并且停止机器人的工作。
例如,作为公开了解决如上所述错误地将机器人的一部分识别为障碍物的问题的配置的常规技术,存在以下文件。
例如,专利文件1(日本专利第4961860号)公开了以下配置:根据机器人的模型信息和致动器的位置信息来执行正向运动学计算;计算机器人的三维身体位置;将计算出的身体位置与视觉传感器的位置和视角相结合,以计算在视觉传感器的哪个部分对机器人的身体进行成像;以及从障碍物确定目标中排除机器人身体部分。
然而,专利文件1中公开的方法具有以下问题:在机器人模型信息与机器人的实际机器之间存在误差的情况下,不能从图像中准确地去除机器人的身体部分。
此外,专利文件2(日本专利申请特许公开第2011-212818号)公开了以下配置:在具有发射和检测激光的视觉传感器的机器人中,在机器人的表面上执行吸收激光的涂覆,并且机器人的身体不被检测为障碍物。
然而,在这种方法中,需要在机器人表面上执行用于吸收激光的涂覆,使用用于发射和检测激光的视觉传感器,并且这些配置是必不可少的,并且存在通用性差的问题。
此外,专利文件3(日本专利申请特许公开第1-183395号)公开了以下配置:机器人臂设置有屏蔽板,该屏蔽板屏蔽机器人臂的形状并具有可以与对象的形状区分开的反射率或形状,从而从传感器检测信息中去除机器人的身体。
该方法需要具有特殊反射率和形状的屏蔽板,并且具有成本增加的问题,并且还具有由于屏蔽板的附接而阻碍机器人的移动的问题。
引文列表
专利文件
专利文件1:日本专利第4961860号
专利文件2:日本专利申请特许公开第2011-212818号
专利文件3:日本专利申请特许公开第1-183395号
发明内容
本发明要解决的问题
例如,本公开内容是针对上述问题进行的,并且其目的是提供一种能够安全地控制机器人而不会将机器人的一部分错误地识别为障碍物并且不会使机器人与真实障碍物碰撞或接触的机器人装置和机器人控制方法。
问题的解决方案
本公开内容的第一方面是:
一种机器人装置,包括:
数据处理单元,该数据处理单元分析视觉传感器的检测信息并控制机器人装置的操作,
其中,数据处理单元包括:
自区域过滤处理单元,该自区域过滤处理单元从视觉传感器的检测信息中包括的对象信息中去除与机器人装置的结构部相对应的对象信息,
自区域过滤处理单元包括:
可变过滤区域计算单元,该可变过滤区域计算单元计算与机器人装置的可动部相对应的可变过滤区域;以及
过滤处理单元,该过滤处理单元从视觉传感器的检测信息中去除可变过滤区域中的对象信息,以及
可变过滤区域计算单元根据作为可变过滤区域计算目标的可动部的动作速度来计算具有不同尺寸的可变过滤区域。
此外,本公开内容的第二方面是:
一种用于执行机器人装置的动作控制的机器人控制方法,该机器人控制方法包括:
自区域过滤处理步骤,由自区域过滤处理单元从视觉传感器的检测信息中包括的对象信息中去除与机器人装置的结构部相对应的对象信息;
地图数据生成步骤,由地图图像生成单元基于以下对象信息来生成地图数据:已经从所述对象信息中去除与机器人装置的结构部相对应的对象信息;以及
机器人控制步骤,由机器人控制单元基于地图数据来控制机器人装置,
其中,自区域过滤处理步骤包括:
执行根据机器人装置的可动部的动作速度来计算具有不同尺寸的可变过滤区域的可变过滤区域计算处理的步骤;以及
执行从视觉传感器的检测信息中去除可变过滤区域中的对象信息的处理的步骤。
根据基于稍后描述的本公开内容的示例和附图的更详细的描述,本公开内容的其他目的、特征和优点将变得明显。注意,本文中描述的系统是多个装置的逻辑集合配置,并且不限于其中具有各自配置的装置在同一壳体中的系统。
根据本公开内容的示例的配置,在基于传感器的检测信息来识别障碍物的机器人装置中,通过正确的障碍物识别来实现高度准确的机器人控制,而不会将机器人本身的腿、臂等错误地识别为障碍物。
具体地,例如,自区域过滤处理单元从在视觉传感器的检测信息中包括的对象信息中去除与机器人装置的结构部相对应的对象信息,地图图像生成单元基于以下对象信息来生成地图数据:已经从所述对象信息中去除与机器人装置的结构部相对应的对象信息,并且机器人控制单元基于所生成的地图数据来控制机器人装置。自区域过滤处理单元根据机器人装置的可动部的动作速度来计算不同尺寸的可变过滤区域,并且执行从视觉传感器的检测信息中去除可变过滤区域中的对象信息的处理。
利用这种配置,在基于传感器的检测信息来识别障碍物的机器人装置中,通过正确的障碍物识别来实现高度准确的机器人控制,而不会将机器人本身的腿、臂等错误地识别为障碍物。
注意,本文中描述的效果仅仅是示例,而不受限制,并且还可以提供附加的效果。
附图说明
图1是用于说明作为本公开内容的机器人装置的示例的四腿机器人的配置示例的图。
图2是用于说明作为本公开内容的机器人装置的示例的四腿机器人的配置示例的图。
图3是用于说明作为本公开内容的机器人装置的示例的两腿机器人的配置示例的图。
图4是用于说明机器人装置的行进示例的图。
图5是用于说明使用传感器检测信息的机器人装置的行进中的问题的图。
图6是用于说明由本公开内容的机器人装置执行的过滤处理的概述的图。
图7是用于说明由本公开内容的机器人装置执行的过滤处理的概述的图。
图8是用于说明由本公开内容的机器人装置执行的过滤处理的概述的图。
图9是用于说明本公开内容的机器人装置的配置示例的图。
图10是用于说明由三维点云(PC)生成单元执行的处理的图。
图11是用于说明自区域过滤处理单元的详细配置示例的图。
图12是用于说明由自区域过滤处理单元的可变填充计算单元执行的处理的具体示例的图。
图13是用于说明由自区域过滤处理单元的可变过滤区域计算单元执行的处理的具体示例的图。
图14是用于说明由自区域过滤处理单元的可变过滤区域计算单元执行的处理的具体示例的图。
图15是用于说明由自区域过滤处理单元的可变过滤区域计算单元执行的处理的具体示例的图。
图16是用于说明由自区域过滤处理单元的三维点云过滤处理单元执行的处理的具体示例的图。
图17是用于说明由自区域过滤处理单元的可变过滤区域计算单元执行的处理的具体示例的图。
图18是用于说明由自区域过滤处理单元的可变过滤区域计算单元执行的处理的具体示例的图。
图19是用于说明由自区域过滤处理单元的可变过滤区域计算单元执行的处理的具体示例的图。
图20是用于说明自区域过滤处理单元中的可变填充和可变过滤区域计算处理的具体示例的图。
图21是用于说明自区域过滤处理单元中的可变填充和可变过滤区域计算处理的具体示例的图。
图22是用于说明自区域过滤处理单元中的可变填充和可变过滤区域计算处理的具体示例的图。
图23是用于说明自区域过滤处理单元中的可变填充和可变过滤区域计算处理的具体示例的图。
图24是用于说明自区域过滤处理单元中的可变填充和可变过滤区域计算处理的具体示例的图。
图25是用于说明自区域过滤处理单元中的可变填充和可变过滤区域计算处理的具体示例的图。
图26是用于说明本公开内容的机器人装置的配置示例的图。
图27是用于说明本公开内容的机器人装置的硬件配置示例的图。
图28是用于说明包括本公开内容的机器人装置和服务器的系统配置示例的图。
图29是用于说明包括本公开内容的机器人装置和服务器的系统配置中的服务器的硬件配置示例的图。
具体实施方式
在下文中,将参照附图详细地描述本公开内容的机器人装置和机器人控制方法。注意,将根据以下项进行描述。
1.本公开内容的机器人装置的概述
2.由本公开内容的机器人装置执行的处理的概述
3.(示例1)本公开内容的示例1的机器人装置和机器人控制方法的细节
4.(示例2)考虑线性动作关节的线性动作的可变过滤区域的计算处理示例
5.其他示例
5-(a)示例3:通过将机器人的可动部尺寸乘以填充区域来计算可变过滤区域的示例
5-(b)示例4:通过在机器人可动部的动作区域与非动作区域之间进行区分来计算可变过滤区域的示例
5-(c)示例5:通过识别机器人可动部的动作方向来计算可变过滤区域的示例
5-(d)示例6:设定固定填充区域和可变填充区域并基于这两个填充区域来计算可变过滤区域的示例
5-(e)示例7:计算与包括多个旋转关节的可动部相对应的可变过滤区域的示例
6.(示例8)不是对三维点云数据而是对远距离图像执行过滤处理的示例
7.本公开内容的机器人装置等的硬件配置示例
8.本公开内容的配置的结论
[1.本公开内容的机器人装置的概述]
首先,将参照图1和后续附图描述本公开内容的机器人装置的概述。
图1是示出作为本公开内容的机器人装置的示例的四腿机器人10的图。
四腿机器人10是通过来回移动四条腿来移动的行走型机器人。
如图1所示,四腿机器人10包括主体11、用于识别机器人的周围环境的视觉传感器12和用于移动的腿13。
图1所示的四腿机器人10包括以下四个视觉传感器12,它们分别在四腿机器人10的前、后、左和右四个方向上执行环境识别。
视觉传感器F(前)12F,用于在机器人行进方向(向前方向)上的环境识别;
视觉传感器B(后)12B,用于向后方向上的环境识别;
视觉传感器L(左)12L,用于左方向上的环境识别;以及
视觉传感器R(右)12R,用于右方向上的环境识别。
注意,该附图没有示出用于右方向上的环境识别的视觉传感器R(右)12R。
视觉传感器12仅需要具有能够获取用于检查行进方向上的障碍物、脚的地面接触表面的情况等的信息例如周围对象的三维形状信息的配置,以便四腿机器人10安全地行进,并且例如,可以使用立体摄像装置、全向摄像装置、光检测和测距(LiDAR)、飞行时间(TOF)传感器等。
注意,LiDAR和TOF传感器两者都是能够测量对象距离的传感器。
图1所示的示例是提供四个视觉传感器的示例,但是所述配置仅需要能够获取四腿机器人10周围的环境信息(三维位置和三维形状),并且例如,使用一个全向摄像装置的配置、使用一个全向摄像装置和一个LiDAR的组合的配置等也是可行的。
图1所示的四腿机器人10在腿13中包括旋转关节14、线性动作关节15和轮部分16。
旋转关节14是在前后方向上旋转地驱动整条腿13的关节。线性动作关节15是滑动地移动腿13的小腿部分以便相对于大腿部分扩展和收缩的关节。
关节14和15中的每一个包括例如致动器、用于检测致动器的位置的编码器、减速器、用于检测输出轴侧上的扭矩的扭矩传感器等。
图1所示的四腿机器人10中配置的数据处理单元(控制单元)接收并分析来自视觉传感器12的传感器检测信息,并且识别机器人的周围环境。
例如,使用构成视觉传感器12的摄像装置的捕获图像或诸如LiDAR或TOF的距离传感器的检测信息来分析机器人周围的障碍物的位置、距离、形状等。此外,通过使用障碍物分析结果,确定安全行进路线以避开障碍物,并且执行机器人的行进控制。
注意,为了沿着所确定的行进路线移动,机器人中的数据处理单元(控制单元)控制每条腿13的旋转关节14、线性动作关节15和轮部分16以动作腿13,并且沿着所确定的安全行进路线移动机器人。
图2是示出具有不同于图1中的四腿机器人10的关节配置的四腿机器人b、10b的图。
图2中的四腿机器人b、10b与图1中的四腿机器人10之间的区别在于腿13的配置。主体11和传感器12的配置类似于图1中的四腿机器人10的配置。
图1所示的四腿机器人10在腿13中包括旋转关节14和线性动作关节15,但是图2所示的四腿机器人b、10b在腿13中包括两个旋转关节14和17。
此外,在图1所示的四腿机器人10中,轮部分16附接至腿13的远端部分,但是在图2所示的四腿机器人b、10b中,轮部分16不附接至腿13的远端部分,而是附接至地面接触部分18。
图2所示的四腿机器人b、10b的腿13的旋转关节14是驱动整条腿13在前后方向上旋转的关节。此外,旋转关节17是仅驱动腿13的下侧上的小腿区域相对于上侧上的大腿区域在前后方向上旋转的关节。
同样在图2所示的四腿机器人b、10b中,四腿机器人b、10b中的数据处理单元(控制单元)接收来自视觉传感器12的传感器检测信息,并且分析传感器检测信息以识别机器人的周围环境。
例如,使用构成视觉传感器12的摄像装置的捕获图像或诸如LiDAR或TOF的距离传感器的检测信息来分析机器人周围的障碍物的位置、距离、形状等。此外,通过使用障碍物分析结果,确定安全行进路线以避开障碍物,并且执行机器人的行进控制。
为了沿着所确定的行进路线移动,机器人中的数据处理单元(控制单元)控制每条腿13的两个旋转关节14和17以动作腿13,并且根据所确定的安全行进路线移动机器人。
图3是示出作为本公开内容的机器人装置的另一示例的两腿机器人20的图。
两腿机器人20是通过来回移动两条腿来移动的行走型机器人。
如图3所示,两腿机器人20包括主体21、用于识别机器人的周围环境的视觉传感器22、用于移动的腿23、和臂27。
在图3所示的配置中,视觉传感器22包括以下四个视觉传感器,它们在两腿机器人20的头部上分别在前、后、左和右四个方向上执行环境识别。
视觉传感器F(前)22F,用于在机器人行进方向(向前方向)上的环境识别;
视觉传感器B(后)22B,用于向后方向上的环境识别;
视觉传感器L(左)22L,用于左方向上的环境识别;以及
视觉传感器R(右)22R,用于右方向上的环境识别。
注意,该附图没有示出用于右方向上的环境识别的视觉传感器R(右)22R。
视觉传感器22仅需要具有能够获取用于检查行进方向上的障碍物、脚的地面接触表面的情况等的信息例如周围对象的三维形状信息的配置,以便两腿机器人20安全地行进,并且例如,类似于参照图1所述,可以使用立体摄像装置、全向摄像装置、LiDAR、TOF传感器等。
注意,类似于参照图1所述,仅需要将视觉传感器设定为能够获取两腿机器人20周围的环境信息(三维位置和三维形状),并且例如,使用一个全向摄像装置的配置、使用一个全向摄像装置和一个LiDAR的组合的配置等也是可行的。
腿23包括旋转关节24和25以及地面接触部分26。
图3所示的两腿机器人20的腿23的旋转关节24是在前后方向上旋转地驱动整条腿23的关节。此外,旋转关节25是仅驱动腿23的下侧上的小腿相对于上侧上的大腿在前后方向上旋转的关节。
旋转关节24和25中的每一个包括例如致动器、用于检测致动器的位置的编码器、减速器、用于检测输出轴侧上的扭矩的扭矩传感器等。
臂27包括旋转关节28和29以及握持部分30。
臂27的旋转关节28是在竖直方向上旋转并驱动整个臂27的关节。此外,旋转关节29是相对于主体侧上的臂区域在竖直方向上仅旋转地驱动臂27的远端侧上的约半个臂区域的关节。
臂27的旋转关节28和29以及握持部分30还包括例如致动器、用于检测致动器的位置的编码器、减速器、用于检测输出轴侧上的扭矩的扭矩传感器等。
同样在图3所示的两腿机器人20中,两腿机器人20中的数据处理单元(控制单元)接收来自视觉传感器22的传感器检测信息,分析传感器检测信息,并且识别机器人的周围环境。
例如,使用构成视觉传感器22的摄像装置的捕获图像或诸如LiDAR或TOF的距离传感器的检测信息来分析机器人周围的障碍物的位置、距离、形状等。此外,通过使用障碍物分析结果,确定安全行进路线以避开障碍物,并且执行机器人的行进控制。
机器人中的数据处理单元(控制单元)控制每条腿23的两个旋转关节24和25以操作腿23,并且根据行进路线移动机器人,以便移动所确定的行进路线。
此外,机器人中的数据处理单元(控制单元)控制臂27中的每一个的两个旋转关节28和29以操作臂27,并且使臂执行各种工作。
同样在臂27的动作控制中,两腿机器人20中的数据处理单元(控制单元)接收并分析来自视觉传感器22的传感器检测信息,分析臂27周围的环境,并且执行动作控制,使得臂27不与周围的障碍物碰撞或接触。
注意,尽管下面将描述与本公开内容的机器人装置和机器人控制方法相关的多个示例,但是本公开内容的配置和处理不限于四腿机器人10和10b以及两腿机器人20,并且除了根据示例的上述内容以外,还可以应用于轮驱动机器人、履带驱动机器人等。
此外,臂和腿的数目可以被不同地设定。
注意,在下文中,应用了参照图1描述的四腿机器人10的示例将被描述为本公开内容的机器人装置的代表性示例。
将考虑图1所示的四腿机器人10自主地行进的情况的具体示例。
图4是示出图1所示的四腿机器人10自主地行进的环境的示例的图。
例如,作为四腿机器人10移动的环境,存在如图4所示的各种障碍物,并且行进表面不限于平坦表面,并且存在诸如粗糙表面、阶梯表面、倾斜表面和阶梯的各种类型。
例如,当四腿机器人10与障碍物碰撞时,四腿机器人10可能摔倒,并且可能发生损坏或故障。
此外,即使在脚接地在粗糙表面、阶梯表面、倾斜表面等上而不考虑倾斜角度等的情况下,也存在四腿机器人10摔倒并发生损坏或故障的可能性。
为了防止这样的情况发生,使用基于由视觉传感器例如摄像装置获取的传感器获取信息生成的周围环境地图,即具有包括机器人周围的行进表面的对象的三维形状信息的环境地图。
例如,四腿机器人10中的数据处理单元分析来自视觉传感器例如附接至四腿机器人10的摄像装置的获取信息,分析到包括四腿机器人10周围的行进表面的对象的距离,生成指示包括行进表面的对象距离的环境地图,并且参照所生成的环境地图来控制腿的移动方向和接地位置。
具有包括机器人周围的行进表面的对象的三维形状信息的环境地图的示例包括三维点云(PC)。
三维点云(PC)是由指示对象表面的三维位置的大量点构成的点云。
该距离基于由传感器例如安装在机器人上的摄像装置测量的对象距离来生成。
三维点云(PC)包括指示对象表面例如机器人在其上行进的行进表面、柱和墙的三维位置和三维形状的大量点。构成三维点云(PC)的每个点与三维空间中的坐标(x,y,z)位置数据相关联。
可以基于与三维点云(PC)中的每个点相对应的坐标位置来识别对象的三维形状,并且例如,可以分析机器人的行进表面的起伏和倾斜、障碍物的位置等。
然而,例如,根据腿13的旋转关节14和线性动作关节15的操作状态,存在腿13的一部分进入视觉传感器12的传感器检测区域例如摄像装置的成像范围的情况。
在这样的情况下,四腿机器人10的数据处理单元可能将腿13错误地识别为障碍物,并且执行错误的控制例如停止四腿机器人10。
从视觉传感器12的传感器检测信息的分析结果中将机器人的一部分识别为障碍物并且执行错误控制的问题不仅发生在图1所示的四腿机器人10中,而且发生在图2所示的四腿机器人b、10b和图3所示的两腿机器人20中。
此外,在图3所示的两腿机器人20的情况下,根据臂27的旋转关节28和29的操作状态,臂27的一部分可以进入视觉传感器12的传感器检测区域例如摄像装置的成像范围。
在这样的情况下,两腿机器人20的数据处理单元可能将臂27错误地识别为障碍物,并且执行错误的控制例如停止通过操作臂27而执行的工作。
本公开内容的机器人装置解决了这样的问题。
[2.由本公开内容的机器人装置执行的处理的概述]
接下来,将描述由本公开内容的机器人装置执行的处理的概述。
如上所述,例如,当四腿机器人10从视觉传感器12的传感器检测信息的分析结果中将机器人的一部分错误地识别为障碍物时,可以执行错误的控制。
将参照图5描述该具体示例。
图5(a)示出了四腿机器人10在其上放置有多个障碍物的行进道路上行进的状态。
图5(b)示出了视觉传感器F、12F的检测四腿机器人10的行进方向上前方的障碍物的传感器检测区域。例如,在视觉传感器F、12F是摄像装置的情况下,传感器检测区域是摄像装置的成像范围。此外,在视觉传感器F、12F是距离传感器例如LiDAR和TOF传感器的情况下,传感器检测区域是由这些距离传感器进行的距离可测量范围。
在图5(b)所示的视觉传感器F、12F的传感器检测区域中,存在三个圆柱形障碍物。
此外,图5(b)所示的视觉传感器F、12F的传感器检测区域包括四腿机器人10的左前腿的部分区域。
四腿机器人10的数据处理单元分析视觉传感器F、12F的传感器检测信息,以确认障碍物的位置。
数据处理单元可以通过分析视觉传感器F、12F的传感器检测信息来分析该附图中所示的三个圆柱形障碍物的位置、形状和距离。
然而,四腿机器人10的数据处理单元还错误地识别出四腿机器人10的左前腿的在视觉传感器F、12F的传感器检测区域中包括的部分区域也是障碍物。
由于这种错误的识别,四腿机器人10的数据处理单元确定四腿机器人10的左前腿处于与障碍物碰撞或接触的状态,并且执行控制以停止左前腿的操作。因此,执行了诸如停止四腿机器人10的操作的错误控制。
为了避免这样的错误控制,本公开内容的机器人装置执行用于不将机器人的自区域例如机器人自身的腿或臂识别为障碍物的处理(过滤处理)。
将参照图6和后续附图描述由本公开内容的机器人装置执行的处理的概述。
本公开内容的机器人装置的数据处理单元在机器人的可动部例如腿或臂中设定过滤区域。
过滤区域是不执行障碍物等的对象检测处理的区域,即障碍物检测排除区域。
例如,在视觉传感器的传感器检测区域中包括过滤区域的情况下,即使在过滤区域中检测到诸如某个障碍物的对象的情况下,也执行过滤处理以确定该对象没有被检测到。
图6(a)示出了四腿机器人10。过滤区域设定在四腿机器人10的可动部,即四条腿13中。
具体地,例如,过滤区域是如图6(b)所示的过滤区域。
图6(b)所示的过滤区域是设定成围绕腿13和腿13的外围区域的过滤区域。
如上所述,过滤区域被设定成不仅包括腿13的区域,而且包括腿13的外围区域。
这是考虑到腿13的移动。
通过设定这样的过滤区域,即使在由视觉传感器在过滤区域中检测到诸如障碍物的对象的情况下,也假定没有检测到过滤区域中检测到的对象来执行过滤处理。
作为该过滤处理的结果,过滤区域中的对象例如机器人的腿将不会干扰机器人的后续操作。
将参照图7描述由本公开内容的机器人装置的数据处理单元执行的处理的具体示例,即应用了过滤区域的过滤处理。
图7(a)示出了四腿机器人10在其上放置有多个障碍物的行进路径上行进的状态,类似于上述图5(a)。
图7(b)示出了视觉传感器F、12F的检测四腿机器人10的行进方向上前方的障碍物的传感器检测区域以及设定在四腿机器人10的左前腿中的过滤区域。
针对四腿机器人10的左前腿设定的过滤区域被设定为与图7(b)所示的传感器检测区域的一部分交叠。
如上所述,例如,在视觉传感器F、12F是摄像装置的情况下,传感器检测区域是摄像装置的成像范围。此外,在视觉传感器F、12F是距离传感器例如LiDAR和TOF传感器的情况下,传感器检测区域是由这些距离传感器进行的距离可测量范围。
四腿机器人10的数据处理单元执行检测在视觉传感器F、12F的传感器检测区域中包括的对象的处理。
因此,检测到该附图中所示的三个圆柱形障碍物。此外,还检测四腿机器人10的左前腿的腿尖区域。
然而,由于四腿机器人10的左前腿的腿尖区域在过滤区域内,因此数据处理单元假定没有检测到腿尖区域中的对象来执行过滤处理。
即,四腿机器人10的数据处理单元不将四腿机器人10的左前腿的腿尖识别为障碍物,并且执行后续操作。
作为这些处理的结果,四腿机器人10可以正常地行进而不受其自身腿尖的阻碍。
以这种方式,本公开内容的机器人装置在机器人装置的可动部中设定过滤区域,并且执行不将过滤区域中的检测对象识别为障碍物的处理。
注意,本公开内容的机器人装置执行在机器人装置的可动部例如腿或臂中设定过滤区域的处理,并且过滤区域被设定为具有各种尺寸的可变区域。
例如,在腿的动作速度高的情况下,在腿中设定大尺寸过滤区域。此外,例如,在腿停止的情况下,在腿中设定具有小尺寸的过滤区域。
将参照图8描述可变尺寸过滤区域,即可变过滤区域的具体示例。
图8示出了设定到四腿机器人10的左前腿的可变过滤区域的多个设定示例。
这是其中在左端处由(P1)指示的过滤区域是具有最小尺寸的过滤区域并且仅左前腿本身是过滤区域的过滤区域设定示例。
过滤区域的尺寸在(P1)的右侧上按(P2)、(P3)和(P4)的顺序增加。
例如,随着四腿机器人10的左前腿的动作速度增加,过滤区域的尺寸增加,如(P2)、(P3)和(P4)所示。
在右端处由(P4)指示的过滤区域是在四腿机器人10的左前腿的动作速度是高于或等于规定阈值的速度的情况下设定的最大尺寸的过滤区域。
注意,存在过滤区域的各种设定模式。这些设定模式的具体示例将稍后描述。
如上所述,本公开内容的机器人装置在自身装置的可动部例如腿或臂中设定过滤区域,并且执行不将过滤区域中的检测对象识别为障碍物的处理。
该处理通过将自身装置的结构部确定为障碍物来防止错误的控制。
在下文中,将描述本公开内容的机器人装置和机器人控制方法的多个示例。
[3.(示例1)本公开内容的示例1的机器人装置和机器人控制方法的细节]
首先,将描述根据本公开内容的示例1的机器人装置和机器人控制方法的细节。
图9是示出根据本公开内容的示例1的机器人装置的主要配置的图。
将集中于例如执行参照图1描述的四腿机器人10的行进控制处理的数据处理单元来描述图9中所示的配置。
图9所示的四个视觉传感器F至R、12F至R是附接至参照图1描述的四腿机器人10的前、后、左和右的视觉传感器例如立体摄像装置。
注意,四个视觉传感器F至R、12F至R中的每一个捕获例如其中与到在构成视觉传感器的摄像装置的成像范围(传感器检测区域)中包括的对象的距离相对应的密度值被设定为像素值的距离图像。
图9所示的距离图像F是由捕获四腿机器人10的行进方向(向前方向)上的图像的视觉传感器F、12F获取的距离图像。
距离图像B是由捕获与四腿机器人10的行进方向相反的向后方向上的图像的视觉传感器B、12B获取的距离图像。
距离图像L是由捕获相对于四腿机器人10的行进方向的左方向上的图像的视觉传感器L、12L获取的距离图像。
距离图像R是由捕获相对于四腿机器人10的行进方向的右方向上的图像的视觉传感器R(右)、12R获取的距离图像。
注意,如图1所示,四个视觉传感器F、12F至视觉传感器R、12R都倾斜地面向下,并且由四个视觉传感器F、12F至视觉传感器R、12R获取的距离图像是作为像素值主要地指示四腿机器人10的摄像装置位置的水平平面以下的周围对象的距离值的数据。由四个视觉传感器F、12F至视觉传感器R、12R获取的距离图像是包括行进表面的距离值的图像。
由四个视觉传感器F、12F至视觉传感器R、12R获取的四个距离图像被输入至数据处理单元100的三维点云(PC)生成单元102。
注意,数据处理单元100是被配置成在四腿机器人10内部的数据处理单元。替选地,数据处理单元可以是能够与四腿机器人10通信的外部信息处理设备例如被配置为云端服务器等的数据处理单元。
如图9所示,数据处理单元100包括机器人信息获取单元101、三维点云(PC)生成单元102、自区域过滤处理单元103、三维点云(PC)合成单元104、地图图像生成单元105、时序地图图像整合单元106和机器人控制单元107。
机器人信息获取单元101获取机器人结构信息(机器人模型信息)、机器人可动部位置以及动作信息,并且将机器人结构信息、机器人可动部位置以及动作信息输出至自区域过滤处理单元103。
机器人结构信息(机器人模型信息)存储在存储单元(未示出)中。
机器人可动部位置和动作信息从机器人控制单元107获取,或者通过使用附接至机器人的传感器的检测信息来获取。
注意,机器人可动部是机器人的腿、臂等。
三维点云(PC)生成单元102生成三维点云(PC),在该三维点云(PC)中设定到每个距离图像的每个像素的距离值(像素值)被表示为针对作为四个视觉传感器(视觉传感器F、12F至视觉传感器R、12R)的输出的四个距离图像F至R中的每一个的三维坐标上的点云数据。
注意,如上所述,构成三维点云(PC)的每个点是其在xyz三维空间上的坐标位置被限定的点。即,x、y和z的每个坐标值被分配给三维点云配置的每个点。
如图9所示,三维点云(PC)生成单元102生成以下四个三维点云,并且将它们输入至下一级自区域过滤处理单元103。
(1)基于由视觉传感器F、12F获取的距离图像F而生成的三维点云F;
(2)基于由视觉传感器B、12B获取的距离图像B而生成的三维点云B;
(3)基于由视觉传感器L、12L获取的距离图像L而生成的三维点云L;以及
(4)基于由视觉传感器R、12R获取的距离图像R而生成的三维点云R。
将参照图10描述由三维点云(PC)生成单元102执行的处理的示例。
图10是用于说明由三维点云(PC)生成单元102基于作为由四腿机器人10的视觉传感器12F获取的传感器检测信息的距离图像F而生成的三维点云F的示例的图。
图10示出了四腿机器人10的视觉传感器12F的传感器检测区域。
四腿机器人10的视觉传感器12F生成指示图10所示的传感器检测区域中的对象的距离的距离图像F,并且将该距离图像F输出至三维点云(PC)生成单元102。
例如,图10所示的传感器检测区域包括三个圆柱形对象和四腿机器人10的左前腿的远端部分。
由视觉传感器12F生成的距离图像F是其中这三个圆柱形对象与四腿机器人10的左前腿的远端部分和行进表面之间的距离(到视觉传感器F、12F的距离)被指示为灰度像素值的距离图像F。
三维点云(PC)生成单元102基于指示图10所示的传感器检测区域中的对象的距离的距离图像F,生成将设定到距离图像F的每个像素的距离值(像素值)表示为三维坐标上的点云数据的三维点云F。
此时,不执行应用了上面参照图6至图8描述的过滤区域的过滤处理,并且将由三维点云(PC)生成单元102生成的三维点云F设定为与其中四腿机器人10的左前腿的三个圆柱形对象和远端部分都不被区分的障碍物相对应的对象的点云。
在图10中,仅描述了由三维点云(PC)生成单元102生成的三维点云F。然而,如图9所示,三维点云(PC)生成单元102基于由四个视觉传感器12F至R获取的距离图像F至R来生成四个三维点云F至R,并且将这四个三维点云F至R输出至自区域过滤处理单元103。
接下来,将描述由自区域过滤处理单元103执行的处理。
自区域过滤处理单元103执行从视觉传感器12的检测信息中包括的对象信息中去除与机器人的部分(腿、臂等)相对应的对象信息的自区域过滤处理。
如图9所示,自区域过滤处理单元103输入以下数据。
(a)从机器人信息获取单元101输出的机器人结构信息(机器人模型信息)、以及机器人可动部位置和动作信息;以及
(b)由三维点云(PC)生成单元102生成的四个三维点云F至R。
自区域过滤处理单元103接收这些数据的输入,生成四个过滤后的三阶点云F至R,并且将四个过滤后的三阶点云F至R输出至三维点云(PC)合成单元104。
注意,过滤后的三阶点云是通过从由三维点云(PC)生成单元102生成的三维点云中去除与作为自区域的机器人本身区域相对应的对象的三维点云,即通过执行过滤处理而获得的三维点云数据。
将参照图11和后续附图详细地描述自区域过滤处理单元103的详细配置和处理。
图11是示出自区域过滤处理单元103的详细配置的图。
如图11所示,自区域过滤处理单元103包括可变填充计算单元121、可变过滤区域计算单元122和三维点云过滤处理单元123。
可变填充计算单元121接收来自机器人信息获取单元101的机器人结构信息、机器人可动部的位置以及动作信息,并且根据机器人可动部的动作速度来计算填充部分的尺寸作为可变过滤的尺寸调整区域。
可变过滤区域计算单元122计算其中设定了由可变填充计算单元121计算出的填充的过滤区域,即可变过滤区域。
如上所述,可变过滤区域是其中区域中的对象不被识别为障碍物的区域。
三维点云过滤处理单元123应用由可变过滤区域计算单元122计算出的可变过滤区域来执行从由三维点云(PC)生成单元102生成的三维点云F至R中去除过滤区域中的对象对应的三维点云的过滤处理,并且生成新的三维点云,即过滤后的三维点云F至R,并且将其输出至下一级三维点云(PC)合成单元104。
将参照图12和后续附图描述由构成自区域过滤处理单元103的可变填充计算单元121、可变过滤区域计算单元122和三维点云过滤处理单元123中的每一个执行的处理的具体示例。
首先,将参照图12描述由可变填充计算单元121执行的处理的具体示例。
如上所述,可变填充计算单元121输入来自机器人信息获取单元101的机器人结构信息、机器人可动部的位置以及动作信息,并且根据机器人可动部的动作速度来计算填充部分的尺寸作为可变过滤的尺寸调整区域。
图12是由可变填充计算单元121执行的处理的具体示例,并且是示出设定到四腿机器人10的左前腿的可变填充的计算处理示例的图。
注意,在图12中,四腿机器人10的左前腿的形状被简化为四边形棱柱,以便于理解可变填充的计算处理。
如图12(a)所示,左前腿的形状被示出为具有长度(L(Lengthleg))、前后方向上的宽度(W)和左右方向上的深度(H)的L×W×H四边形棱柱。
例如,L×W×H四边形棱柱是包括四腿机器人10的左前腿的四边形棱柱。
如图12(b)所示,四腿机器人10的腿被配置成在前后方向(W方向)上枢转。
图12(c)是示出四腿机器人10的左前腿在当可变填充计算单元121执行可变填充计算处理时的特定定时(时间(t))处的操作状态的图。
图12(c)示出了四腿机器人10的左前腿在定时(时间(t))处每单位时间(st)旋转角度(θ)的状态。
例如,单位时间(st)对应于由可变填充计算单元121执行的可变填充计算处理的间隔,即采样时间间隔。
注意,诸如腿的动作速度的动作状态信息从机器人信息获取单元101输入至自区域过滤处理单元103的可变填充计算单元121。
此外,四腿机器人10的左前腿在当可变填充计算单元121执行可变填充计算处理时的定时(时间(t))处的角速度为ω的情况下,根据以下公式计算上述角度(θ)。
θ=ω×st
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
图12(d)是示出四腿机器人10的左前腿在时间(t)处的可变填充(Padvariable)的计算示例的图。
四腿机器人10的左前腿在时间(t)处的可变填充(Padvariable)如图12(d)所示。
Padvariable=tan(θ)×Lengthleg……(公式1)
它是根据上述公式(公式1)计算出的。
如上所述,四腿机器人10的左前腿在当可变填充计算单元121执行可变填充计算处理时的定时(时间(t))处的角速度为ω的情况下,
θ=ω×st
因此,上述公式(公式1)可以使用角速度(ω)表示为以下公式(公式2)。
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
如上述公式(公式(2))所示,旋转的腿的可变填充与旋转速度,即角速度(ω)近似成比例,并且被计算为与腿的长度L(Lengthleg)成比例的值。
即,当角速度(ω)大时,可变填充(Padvariable)变为大值,以及当角速度(ω)小时,可变填充(Padvariable)也变为小值。
可变填充计算单元121根据上面参照图12描述的处理来执行可变填充(Padvariable)计算处理。
由可变填充计算单元121计算出的可变填充(Padvariable)的值被输出至可变过滤区域计算单元122。
接下来,将参照图13和后续附图描述由可变过滤区域计算单元122执行的可变过滤区域计算处理的具体示例。
图13(a)是类似于上述图12(d)的图,并且是示出四腿机器人10的左前腿的可变填充(Padvariable)计算处理的示例的图。
这是示出由可变填充计算单元121进行的可变填充(Padvariable)计算处理的示例的图。可变填充(Padvariable)是根据上面描述的以下公式(公式2)计算出的。
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
图13(b)是示出由可变过滤区域计算单元122执行的可变过滤区域计算处理的具体示例的图。
图13(b)是示出在LW平面上的L方向和W方向上的可变过滤区域的图。
腿的长度方向(L方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的长度方向上的两个端部(即上端部和下端部)中的每一个、即添加至腿的长度(L)而获得的区域。
在腿的长度方向(L方向)上的过滤区域的长度为PadL的情况下,可变过滤区域计算单元122通过以下公式计算PadL
PadL=L+(Padvariable)×2
类似地,腿的前后方向(W方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的前后方向上的两个端部(即前端部和后端部)中的每一个、即添加至腿的前后宽度(W)而获得的区域。
在腿的前后方向(W方向)上的过滤区域的长度为PadW的情况下,可变过滤区域计算单元122通过以下公式计算PadW
PadW=W+(Padvariable)×2
图13(c)是示出在LWH三维空间中沿L方向、W方向和H方向延伸的可变过滤区域的图。
示出了三维空间中的可变过滤区域,其中将H方向上的可变过滤区域添加至在图13(b)所示的LW平面上的L方向和W方向上的可变过滤区域。
如图13(c)所示,腿的左右方向(H方向)上的过滤区域是其中可变填充(Padvariable)添加至腿的左右方向上的两个端部(即左端部和右端部中的每一个)、即添加至腿的左右深度(H)的区域。
在腿的左右方向(H方向)上的过滤区域的长度为PadH的情况下,可变过滤区域计算单元122通过以下公式计算PadH
PadH=H+(Padvariable)×2
在四腿机器人10的左前腿的形状为具有长度(L(Lengthleg))、前后方向上的宽度(W)和左右方向上的深度(H)的L×W×H四边形棱柱的情况下,可变过滤区域计算单元122计算包括长度(PadL)、前后方向上的宽度(PadW)和左右方向上的深度(PadH)的四边形棱柱的可变过滤区域,如图13(c)所示。
由可变过滤区域计算单元122计算出的可变过滤区域是包括具有根据以下公式(公式3)计算出的长度的三条边的四边形棱柱。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H+(Padvariable)×2
……(公式3)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
注意,如上所述,可变填充(Padvariable)是根据以下公式(公式2)计算出的值。
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
可变填充(Padvariable)的值随着角速度(ω)增加而增加,并且随着角速度(ω)减小而减小。
因此,由上述(公式3)计算出的可变过滤区域的尺寸也随着角速度(ω)变大而变大,并且随着角速度(ω)变小而变小。
即,可变过滤区域是其尺寸根据可动部例如腿的动作速度而变化的区域。
图13示出了过滤区域计算处理的其中腿部分的形状被假定为四边形棱柱的示例。然而,四腿机器人10的腿部分实际上具有圆形而不是四边形棱柱。
因此,可变过滤区域轮廓计算单元122实际上根据腿的形状来计算具有圆形的可变过滤区域。
图14是示出由可变过滤区域轮廓计算单元122根据腿的形状计算出的具有圆形的可变过滤区域的示例的图。
图14(a)是示出与上面参照图12(d)描述的内容类似的四腿机器人10的左前腿在时间(t)处的可变填充(Padvariable)的计算示例的图。
四腿机器人10的左前腿在时间(t)处的可变填充(Padvariable)计算如下:
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
它是根据上述公式(公式2)计算出的。
图14(b)示出了使用计算出的可变填充(Padvariable)计算出的可变填充区域的示例。
图14(b)示出了在LW平面上的L方向和W方向上的可变过滤区域。
腿的长度方向(L方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的长度方向上的两个端部(即上端部和下端部)中的每一个、即添加至腿的长度(L)而获得的区域。
类似地,腿的前后方向(W方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的前后方向上的两个端部(即前端部和后端部)中的每一个、即添加至腿的前后宽度(W)而获得的区域。
此外,尽管在图14(b)中没有示出,但是腿的左右方向(H方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的左右方向上的两个端部(即左端部和右端部)中的每一个、即添加至腿的左右深度(H)而获得的区域。
即,由可变过滤区域计算单元122计算出的可变过滤区域是其中LWH的每个方向上的最大长度具有根据上面描述的以下公式(公式3)计算出的长度的圆形区域。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H+(Padvariable)×2
……(公式3)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
如上所述,通过上述(公式3)计算出的可变过滤区域的尺寸也随着角速度(ω)变大而变大,并且随着角速度(ω)变小而变小。
即,可变过滤区域是其尺寸根据可动部例如腿的动作速度而变化的区域。
图15示出了在四腿机器人10的左前腿中设定由可变过滤区域计算单元122计算出的可变过滤区域的视图。
可变过滤区域是即使在该区域中检测到对象也不将对象识别为障碍物的区域。
由可变过滤区域计算单元122计算出的可变过滤区域的区域信息被输出至图11所示的自区域过滤处理单元103的三维点云过滤处理单元123。
三维点云过滤处理单元123应用由可变过滤区域计算单元122计算出的可变过滤区域来执行从由三维点云(PC)生成单元102生成的三维点云F至R中去除过滤区域中的对象对应的三维点云的过滤处理,并且生成新的三维点云,即过滤后的三维点云F至R,并且将其输出至下一级三维点云(PC)合成单元104。
将参照图16描述该处理的具体示例。
图16是示出由三维点云过滤处理单元123生成的过滤后的三维点云F的示例的图。
即,示出了四腿机器人10的视觉传感器12F的传感器检测区域中的过滤后的三维点云F的示例。
如上参照图9所述,三维点云F从前一级中的三维点云(PC)生成单元102输入至三维点云过滤处理单元123。
如上参照图10所述,三维点云F是由三维点云(PC)生成单元102生成的三维点云F,并且包括传感器检测区域中的对象,即指示三个圆柱形对象和四腿机器人10的左前腿的远端部分处的对象的三维点云。
三维点云过滤处理单元123将由可变过滤区域计算单元122计算出的可变过滤区域应用于由三维点云(PC)生成单元102生成的三维点云F,并且执行去除过滤区域中的对象对应的三维点云的过滤处理。
在图16所示的示例中,执行在包括四腿机器人10的前腿及其外围区域的过滤区域中的对应于对象的三维点云的去除处理。即,执行去除与四腿机器人10的前腿相对应的三维点云的过滤处理,以生成新的三维点云,即过滤后的三维点云F。
在图16所示的过滤后的三维点云中,对应于三个圆柱形对象的三维点云保持原样,但是对应于四腿机器人10的左前腿的远端部分处的对象的三维点云是从其中删除对应于对象的三维点云的数据。
如上所述,三维点云过滤处理单元123执行从由前一级中的三维点云(PC)生成单元102输入的三维点云中删除由可变过滤区域计算单元122计算出的可变过滤区域中的对象对应的三维点云的处理(过滤处理),以生成过滤后的三维点云。
由三维点云过滤处理单元123生成的过滤后的三维点云被输出至后续的三维点云合成单元104。
注意,在图14至图16中,已经描述了四腿机器人10的左前腿的可变过滤区域的计算处理和通过应用了左前腿的可变过滤区域的过滤处理进行的过滤后的三维点云数据的生成处理。
自区域过滤处理单元103对四腿机器人10的所有可动部,具体地,对四条腿中的每一条,执行计算可变过滤区域的处理和通过应用了可变过滤区域的过滤处理生成过滤后的三维点云数据的处理。
将参照图17描述除了左前腿以外的腿的处理示例。
图17是示出与右腿机器人10的左后腿相对应的可变过滤区域的计算处理的图。
图17(a)是示出四腿机器人10的左后腿在时间(t)处的可变填充(Padvariable)的计算示例的图。
根据上述公式(公式2)计算四腿机器人10左后腿在时间(t)处的可变填充(Padvariable)。即,
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
根据上述公式(公式2)进行计算。
在图17所示的示例中,四腿机器人10的左后腿在与可变填充计算单元121的可变填充计算处理时间相对应的定时(时间(t))处的动作处于每单位时间(st)旋转角度(θ)的状态。
该旋转角度比上面参照图14描述的左前腿的旋转角度小得多。
即,角速度(ω)是小值,并且因此,根据上述(公式2)计算出的可变填充(Padvariable)的值也是小值。
图17(b)示出了使用根据上述(公式2)计算出的可变填充(Padvariable)计算出的可变填充区域的示例。
即,它是由可变过滤区域计算单元122计算出的左后腿的可变过滤区域。
图17(b)示出了在LW平面上的L方向和W方向上的可变过滤区域。
腿的长度方向(L方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的长度方向上的两个端部(即上端部和下端部)中的每一个、即添加至腿的长度(L)而获得的区域。
类似地,腿的前后方向(W方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的前后方向上的两个端部(即前端部和后端部)中的每一个、即添加至腿的前后宽度(W)而获得的区域。
此外,尽管在图17(b)中没有示出,但是腿的左右方向(H方向)上的过滤区域是通过将可变填充(Padvariable)添加至腿的左右方向上的两个端部(即左端部和右端部)中的每一个、即添加至腿的左右深度(H)而获得的区域。
即,由可变过滤区域计算单元122计算出的可变过滤区域是其中LWH的每个方向上的最大长度具有根据上面描述的以下公式(公式3)计算出的长度的圆形区域。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H+(Padvariable)×2
……(公式3)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
如上所述,通过上述(公式3)计算出的可变过滤区域的尺寸也随着角速度(ω)变大而变大,并且随着角速度(ω)变小而变小。
与图17所示的四腿机器人10的左后腿相对应的可变过滤区域是比与上面参照图14所述的四腿机器人10的左前腿相对应的可变过滤区域小的区域。
这是因为四腿机器人10的左后腿的角速度小于左前腿的角速度,并且作为结果计算出的可变填充(Padvariable)的值不同。
如上所述,可变过滤区域是具有根据用于设定可变过滤区域的可动部例如腿的动作速度的不同尺寸的区域。
图18示出了由自区域过滤处理单元103的可变过滤区域计算单元122计算出的与四腿机器人10的四条腿中的每条腿相对应的可变过滤区域的示例。
由于四腿机器人10的四条腿中的每条腿的动作速度,即角速度(ω)不同,因此对应于四条腿中的每条腿的可变过滤区域的尺寸也不同。
在图18所示的示例中,左前腿的可变过滤区域最大,而右前腿的可变过滤区域最小。
注意,右前腿的可变过滤区域被设定为等于右前腿本身的尺寸,并且不包括右前腿的周围区域。
这意指右前腿不旋转,而是停止。即,在角速度ω=0的状态下,腿部分的可变过滤区域变得等于腿部分本身的尺寸,并且变成不包括腿部分的外围区域的区域。
图19是用于说明根据腿的操作状态在可变过滤区域中的变化的图。
图19(a)至(d)示出了在四腿机器人10的左前腿的角速度ω不同的四种操作状态下的可变过滤区域的设定示例。
图19(a)是在四腿机器人10的左前腿的动作速度为0(停止)的情况下,即在角速度ω=0的情况下的可变过滤区域的示例。在这种情况下,可变过滤区域是与腿的结构部匹配的区域,并且不在腿周围设定。
图19(b)是在四腿机器人10的左前腿的动作速度低的情况下,即在角速度ω=低的情况下的可变过滤区域的示例。
图19(c)是在四腿机器人10的左前腿的动作速度中等的情况下,即在角速度ω=中等的情况下的可变过滤区域的示例。
图19(d)是在四腿机器人10的左前腿的动作速度高的情况下,即在角速度ω=高的情况下的可变过滤区域的示例。
如上所述,自区域过滤处理单元103的可变过滤区域计算单元122根据设定可变过滤区域的可动部例如腿的动作速度来计算具有不同尺寸的可变过滤区域。
如上面参照图16所述,自区域过滤处理单元103的三维点云过滤处理单元123应用由可变过滤区域计算单元122计算出的可变过滤区域,执行从由三维点云(PC)生成单元102生成的三维点云F至R中去除过滤区域中的对象对应的三维点云的过滤处理,生成新的三维点云,即过滤后的三维点云F至R,并且将所生成的三维点云输出至下一级三维点云(PC)合成单元104。
接下来,将描述在图9所示的数据处理单元中的三维点云(PC)合成单元104之后的处理。
三维点云(PC)合成单元104接收来自自区域过滤处理单元103的三维点云过滤处理单元123的过滤后的三维点云F至R。
如上所述,过滤后的三维点云F至R是通过去除机器人本身的结构部分例如机器人的腿部分的三维点云而获得的三维点云数据。
三维点云(PC)合成单元104合成所输入的四个过滤后的三维点云F至R,以生成一条过滤后的三维点云合成数据。
图9示出了作为三维点云(PC)合成单元104的输出的过滤后的三维点云(F,B,L,R)合成数据。
从三维点云(PC)合成单元104输出的过滤后的三维点云(F,B,L,R)合成数据是通过从基于作为附接至图1所示的四腿机器人10的前、后、左、右的四个视觉传感器F、12F到视觉传感器R、12R的输出的四个距离图像F至R而生成的三维点云F至R中去除(过滤)与机器人的结构部分相关的三维点云而获得的过滤后的三维点云F至R的合成数据,并且是通过点云指示除了四腿机器人10的前、后、左、右周围的机器人结构部分以外的对象例如障碍物的三维位置和三维形状的数据。
注意,如上所述,图1所示的四个视觉传感器F、12F至视觉传感器R、12R都倾斜地面向下,并且过滤后的三维点云(F,B,L,R)合成数据是通过点云指示四腿机器人10的摄像装置位置的水平平面下方的周围对象的三维位置和三维形状的数据。过滤后的三维点云(F,B,L,R)合成数据包括诸如行进表面的不平整和倾斜的三维形状。
然而,机器人结构体例如机器人的腿不被包括,这是因为机器人结构体通过过滤处理被去除。
由三维点云(PC)合成单元104生成的过滤后的三维点云(F,B,L,R)合成数据被输入至地图图像生成单元105。
地图图像生成单元105使用由三维点云(PC)合成单元104生成的过滤后的三维点云(F,B,L,R)合成数据来生成指示包括机器人周围的对象的行进表面的三维形状的地图数据。
图9示出了作为地图图像生成单元105的输出的三维地图数据(或2.5维地图数据)。
由地图图像生成单元105生成的地图数据是各种类型的三维地图数据或2.5维地图数据。
具体地,数据是诸如高度地图的2.5维地图数据。
高度地图是例如与xy水平平面上的二维坐标(x,y)的代表性坐标位置相关联地记录高度数据(z)的地图数据。
原则上,三维地图记录所有xyz坐标位置的数据,但是作为2.5维地图的高度地图是例如其中一条高度数据(z)被分配给恒定xy平面区域例如5mm正方形的正方形区域表面的地图数据,并且可以被生成为数据量比一般三维地图的数据量减少的地图数据。注意,2.5维地图也是具有三维信息的地图数据,并且是广义上包含在三维地图中的地图数据。
由地图图像生成单元105生成的三维地图数据(例如,高度地图)被输入至下一时序地图图像整合单元106。
时序地图图像整合单元106对由地图图像生成单元105生成的三维地图数据(例如,高度地图)的时序数据进行整合处理。
具体地,例如,执行以下处理。
(1)三维地图数据(t1),例如由地图图像生成单元105基于由四个视觉传感器F至R、12F至R在时间t1处捕获的四个距离图像F至R(t1)而生成的高度地图;
(2)三维地图数据(t2),例如由地图图像生成单元105基于由四个视觉传感器F至R、12F至R在时间t2处捕获的四个距离图像F至R(t2)而生成的高度地图;以及
(3)三维地图数据(t3),例如由地图图像生成单元105基于由四个视觉传感器F至R、12F至R在时间t3处捕获的四个距离图像F至R(t3)而生成的高度地图。
时序地图图像整合单元106整合基于在不同时间(t1至t3)处拍摄的距离图像生成的多条时序三维地图数据(t1)至(t3),以生成一条时序地图整合地图数据(例如,整合高度地图)。
即,从三维地图数据(t1)生成时序整合地图数据(t1),并且当将三维地图数据(t2)输入至时序地图图像整合单元106时,生成时序整合地图数据(t1至t2)。此外,当三维地图数据(t3)被输入至时序地图图像整合单元106时,生成时序地图整合地图数据(t1至t3)。
注意,基于在不同时间处的多条成像数据生成的多条时序三维地图数据(t1)至(t3)中的每一条都具有交叠区域,并且还存在仅包括在一条地图数据中的区域。
例如,存在在某个定时(t1)处捕获的距离图像不包括机器人脚后面的对象的距离值但是在下一定时(t2)处捕获的距离图像包括定时(t1)处隐藏的对象的距离值的情况。
时序地图图像整合单元106整合基于在多个不同定时处拍摄的距离图像生成的多条时序三维地图数据(t1)至(t3),从而生成能够获取机器人周围的摄像装置成像范围内的几乎所有对象的三维形状的一条时序地图整合地图数据(整合高度地图)。注意,需要机器人的自位置来生成时序地图整合地图数据(整合高度地图),但是自位置可以通过使用例如使用距离图像或三维点云(F,B,L,R)复合数据作为输入的同步定位和绘图(SLAM)技术来获取。
注意,在上述示例中,要由时序地图图像整合单元106整合的时序三维地图数据的条数是三条,但是由于时序整合是顺序执行的,因此可以整合任意条数的时序三维地图数据,不仅是三条,而且是两条或四条。此外,如果在仅根据在某个定时处捕获的距离图像生成的时序三维地图数据中不存在特别隐藏的部分,则可以省略整合处理。
此处,假定时序地图图像整合单元106通过整合基于在多个不同定时处捕获的距离图像生成的多条(n条)时序三维地图数据(t1)至(tn)来生成一条时序地图整合地图数据。
由时序地图图像整合单元106生成的一条时序地图整合地图数据被输出至机器人控制单元107。
由时序地图图像整合单元106生成的一条时序地图整合地图数据是能够获取机器人周围的摄像装置成像范围内的几乎所有对象的三维形状的2.5维图像数据例如高度地图。
然而,机器人本身的结构的对象位置信息例如过滤后的机器人的腿不被包括。即,它是包括关于真实障碍物的对象的信息的2.5维图像数据例如高度地图。
机器人控制单元107参照由时序地图图像整合单元106生成的一条时序地图整合地图数据来确认可能是障碍物的对象的位置,确定不与这些障碍物碰撞或接触的路线作为行进路线,并且移动腿以执行安全行进。
注意,在被控制的机器人是通过例如参照图3描述的臂的动作来执行各种工作的机器人的情况下,机器人控制单元107参照由时序地图图像整合单元106生成的一条时序地图整合地图数据,确定臂的轨迹,并且执行安全工作。
即,机器人控制单元107参照由时序地图图像整合单元106生成的一条时序地图整合地图数据,确认可能是障碍物的对象的位置,确定不与这些障碍物碰撞或接触的臂的轨迹,并且移动臂以执行安全工作。
如上所述,根据本公开内容的机器人装置执行从传感器检测信息中去除自身装置的对象信息的过滤处理,使得即使在传感器检测到自身装置的一部分的情况下,自身装置区域也不会被识别为障碍物,并且使用基于过滤后的数据生成的地图数据来控制机器人。
通过执行这样的处理,可以执行正确的机器人控制,而不会将自身装置的一部分错误地识别为障碍物。
[4.(示例2)考虑线性动作关节的线性动作的可变过滤区域的计算处理示例]
接下来,作为示例2,将描述考虑线性动作关节的线性动作的可变过滤区域的计算处理示例。
在上述示例1中,如参照图11和后续附图所述,自区域过滤处理单元103的可变填充计算单元121根据以下公式(公式2)基于机器人的腿部分的角速度ω来计算可变填充(Padvariable)。
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
此外,可变过滤区域计算单元122根据以下公式(公式3)计算可变过滤区域。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H+(Padvariable)×2
……(公式3)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
(公式2)和(公式3)是例如考虑到由于图1所示的四腿机器人10的腿13的旋转关节14的旋转而引起的与腿13的下半部腿相对应的小腿的移动的可变填充(Padvariable)计算公式和可变过滤区域计算公式。
例如,考虑由于四腿机器人10的腿13的线性动作关节15的线性动作而引起的小腿的移动的可变填充(Padvariable)计算公式是不同于上述(公式2)的公式。
参照图20,将描述考虑到由于四腿机器人10的腿13的线性动作关节15的线性动作而引起的小腿19的移动的可变填充(Padvariable)计算处理示例和可变过滤区域的计算处理示例。
图20(a)是说明考虑到由于四腿机器人10的左前腿的线性动作关节15在时间(t)处的线性动作而引起的小腿19的移动的可变填充(Padvariable)的计算示例的图。
腿13的长度用L指示,并且小腿19的长度用L2指示。
图11所示的自区域过滤处理单元103的可变填充计算单元121根据以下公式(公式4)基于机器人的小腿19的线性动作速度v来计算可变填充(Padvariable)。
Padvariable=(v×st)×weight……(公式4)
前提是:
v=由于线性动作关节操作而引起的小腿线性动作速度
st=规定的单位时间(例如,采样时间间隔)
weight=重量(预定义的重量值)
图20(b)示出了由可变过滤区域计算单元122使用由可变填充计算单元121根据上述公式(公式4)计算出的可变填充(Padvariable)计算出的可变填充区域的示例。
图20(b)示出了在LW平面上的L方向和W方向上的可变过滤区域。
小腿的长度方向(L方向)上的过滤区域是通过将可变填充(Padvariable)添加至小腿19的长度方向上的两个端部(即上端部和下端部中的每一个)处的小腿19的长度(L2)而获得的区域。
类似地,小腿的前后方向(W方向)上的过滤区域是通过将可变填充(Padvariable)添加至小腿的前后方向上的两个端部(即前端部和后端部)中的每一个处的小腿的前后宽度(W)而获得的区域。
此外,尽管在图20(b)中没有示出,但是小腿的左右方向(H方向)上的过滤区域是通过将可变填充(Padvariable)添加至小腿的左右深度(H)上的腿的左右方向上的两个端部(即小腿的左端部和右端部)中的每一个而获得的区域。
即,由可变过滤区域计算单元122计算出的可变过滤区域是其中LWH的每个方向上的最大长度具有根据以下公式(公式5)计算出的长度的区域,类似于上面参照图14等描述的考虑到旋转关节的旋转而计算出的可变过滤区域。
PadL=L2+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H+(Padvariable)×2
……(公式5)
前提是:
2L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
通过上述(公式5)计算出的可变过滤区域的尺寸随着线性动作关节的线性动作速度(v)变大而变大,并且随着线性动作速度(v)变小而变小。
即,可变过滤区域是其尺寸根据可动部例如腿的动作速度而变化的区域。
注意,图1所示的四腿机器人10的腿13在上端处具有旋转关节14,并且在腿13的中间位置处具有线性动作关节15。在实际机器人动作期间,这两个关节部分可以同时操作。
在这种情况下,需要考虑到这两种动作,即旋转关节14的旋转动作和线性动作关节15的线性动作,来计算可变填充(Padvariable)和可变过滤区域。
将参照图21描述该处理的具体示例。
图21示出了考虑到由于四腿机器人10的左前腿的旋转关节14的旋转而引起的腿13的移动的可变填充(Padvariable)的计算示例以及考虑到由于左前腿的线性动作关节15的线性动作而引起的小腿19的移动的可变填充(Padvariable)的计算示例。
图21(a1)示出了考虑到由于四腿机器人10的左前腿的旋转关节14的旋转而引起的腿13的移动的枢转可变填充(Padvariable(ω))的计算示例。
图21(a2)示出了考虑到由于四腿机器人10的左前腿的线性动作关节15的线性动作而引起的小腿19的移动的线性动作兼容可变填充(Padvariable(v))的计算示例。
腿13的长度用L指示,并且小腿19的长度用L2指示。
考虑到由于图21(a1)所示的旋转关节14的旋转而引起的腿13的移动的枢转对应可变填充(Padvariable(ω))的计算处理是上面参照图14等描述的处理。
即,图11所示的自区域过滤处理单元103的可变填充计算单元121根据上面描述的以下公式(公式2)来计算四腿机器人10的左前腿在时间(t)处的旋转对应可变填充(Padvariable(ω))。
Padvariable(ω)=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
根据上述公式(公式2)进行计算。
此外,考虑到由于图21(a2)所示的线性动作关节15的线性动作而引起的小腿19的移动的线性动作兼容可变填充(Padvariable(v))的计算处理是上面参照图20描述的处理。
即,图11所示的自区域过滤处理单元103的可变填充计算单元121根据上述公式(公式4)来计算四腿机器人10的左前腿在时间(t)处的线性动作兼容可变填充(Padvariable(v))。
Padvariable(v)=(v×st)×weight……(公式4)
前提是:
v=由于线性动作关节操作而引起的小腿线性动作速度
st=规定的单位时间(例如,采样时间间隔)
weight=重量(预定义的重量值)
根据上述公式(公式4)进行计算。
图21(b)示出了由可变过滤区域计算单元122使用图21(a1)所示的枢转对应可变填充(Padvariable(ω))(即由可变填充计算单元121根据(公式2)计算出的枢转对应可变填充(Padvariable(ω)))和图21(a2)所示的线性动作对应可变填充(Padvariable(v))(即由可变填充计算单元121根据(公式4)计算出的线性动作对应可变填充(Padvariable(v)))计算出的可变填充区域的示例。
如图21(b)所示,可变过滤区域计算单元122执行设定其中叠加了枢转对应可变填充(Padvariable(ω))和线性动作对应可变填充(Padvariable(v))的填充区域的处理。
在该附图中所示的示例中,对于腿13的上半部分的大腿设定仅考虑枢转可变填充(Padvariable(ω))的过滤区域。
另一方面,在腿13的下半部分的小腿19中,设定其中叠加了旋转对应可变填充(Padvariable(ω))和线性动作对应可变填充(Padvariable(v))的过滤区域。
在该附图的示例中,线性动作对应可变填充(Padvariable(v))大于枢转对应可变填充(Padvariable(ω)),即,
线性动作对应可变填充(Padvariable(v))>旋转动作对应可变填充(Padvariable(ω))
利用这种关系,在腿13的下半部分的小腿19中设定由与作为较大填充值的可变填充(Padvariable(v))对应的线性动作定义的过滤区域。
即,在由可变过滤区域计算单元122计算出的可变过滤区域中,对于腿13的上半部分的大腿,
PadL=L+(Padvariable(ω))×2
PadW=W+(Padvariable(ω))×2
PadH=H+(Padvariable(ω))×2
……(公式6)
该区域由上述公式(公式6)定义。
此外,对于腿13的下半部分的小腿19,
PadL=L2+(Padvariable(v))×2
PadW=W+(Padvariable(v))×2
PadH=H+(Padvariable(v))×2
……(公式7)
该区域由上述公式(公式7)定义。
注意,由上述(公式6)和(公式7)计算出的可变过滤区域的尺寸随着旋转关节14的旋转速度(ω)和线性动作关节15的线性动作速度(v)变大而变大,并且随着速度变小而变小。
即,可变过滤区域是其尺寸根据可动部例如腿的动作速度而变化的区域。
[5.其他示例]
接下来,将描述其他示例。
将顺序地描述以下示例。
(a)示例3:通过将机器人的可动部尺寸乘以填充区域来计算可变过滤区域的示例
(b)示例4:通过将机器人可动部的动作区域与非动作区域进行区分来计算可变过滤区域的示例
(c)示例5:识别机器人可动部的动作方向并计算可变过滤区域的示例
(d)示例6:设定固定填充区域和可变填充区域并基于这两个填充区域来计算可变过滤区域的示例
(e)示例7:计算与具有多个旋转关节的可动部相对应的可变过滤区域的示例
(5-(a)示例3:通过将机器人的可动部尺寸乘以填充区域来计算可变过滤区域的示例)
首先,作为示例3,将描述将机器人的可动部的尺寸乘以填充区域以计算可变过滤区域的示例。
在上述示例1中,如参照图11和后续附图所述,自区域过滤处理单元103的可变填充计算单元121根据以下公式(公式2)基于机器人的腿部分的角速度ω来计算可变填充(Padvariable)。
Padvariable=tan(ω×st)×Lengthleg……(公式2)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
此外,可变过滤区域计算单元122根据以下公式(公式3)计算可变过滤区域。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H+(Padvariable)×2
……(公式3)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
自区域过滤处理单元103的可变填充计算单元121可以被配置成在可变填充(Padvariable)的计算处理中使用不同于上述(公式2)的下面的公式(公式8)。
Padvariable=tan(ω×st)×Lengthleg×scale……(公式8)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
scale=重量(预定义的重量)
此外,可变过滤区域计算单元122根据以下公式(公式9)计算可变过滤区域。
PadL=L×(Padvariable)
PadW=W×(Padvariable)
PadH=H×(Padvariable)
……(公式9)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
在上述(公式3)中,在可变过滤区域的计算处理中,将可变填充(Padvariable)添加至包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度L、W和H的每个端部,以计算可变过滤区域。
另一方面,在上述(公式9)中,在可变过滤区域的计算处理中,将包围设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度L、W和H中的每一个乘以可变填充(Padvariable),以计算可变过滤区域。
可以通过应用这样的(公式9)来执行计算可变过滤区域的处理。
注意,同样在上述(公式9)中,待计算出的可变过滤区域的尺寸随着可动部的动作速度(例如,角速度(ω))变大而变大,并且随着可动部的动作速度(例如,角速度(ω))变小而变小。
即,可变过滤区域是其尺寸根据机器人的可动部例如机器人的腿的动作速度而变化的区域。
(5-(b)示例4:通过在机器人可动部的操作区域与非操作区域之间进行区分来计算可变过滤区域的示例)
接下来,作为示例4,将描述通过将机器人的可动部的操作区域与非操作区域进行区分来计算可变过滤区域的示例。
将参照图22描述示例4的细节。
图22是示出计算要针对四腿机器人10的左前腿设定的可变填充的处理的示例的图,类似于上面参照图12和图13描述的内容。
类似于上述图12和图13,四腿机器人10的左前腿的形状被简化为四边形棱柱,以便于理解可变填充的计算处理。
如图22(a)所示,左前腿的形状被示出为具有长度(L(Lengthleg))、前后方向上的宽度(W)和左右方向上的深度(H)的L×W×H四边形棱柱。
如图22(b)所示,四腿机器人10的腿13被配置成绕上端处的旋转关节14沿前后方向(W方向)旋转。
腿13在LW平面上转动,并且不在H方向(四腿机器人10的左右方向)上移动。
即,腿13的操作区域是LW平面,并且H方向是非操作区域。
示例4是通过将机器人可动部的操作区域与非操作区域进行区分来计算可变过滤区域的示例,并且可变过滤区域计算单元122计算如图22(c)所示的可变过滤区域。
由可变过滤区域计算单元122计算出的可变过滤区域是包括具有根据以下公式(公式10)计算出的长度的三条边的四边形棱柱。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)×2
PadH=H
……(公式10)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
即,仅在作为是机器人可动部的腿13的操作区域的LW平面中另外地设定可变填充(Padvariable),并且仅将腿13的H方向上的长度(H)设定为过滤区域,而不另外地设定作为腿13的非操作区域的H方向上的可变填充(Padvariable)。
注意,在本示例4中,也可以应用类似于上述示例3中的处理的处理。
即,可以执行通过将包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度L、W和H中的每一个乘以可变填充(Padvariable)来计算可变过滤区域的处理。
例如,可以使用下面所示的(公式11)来执行计算可变过滤区域的处理。
PadL=L×(Padvariable)
PadW=W×(Padvariable)
PadH=H
……(公式11)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
以这种方式,本示例4是通过将机器人可动部的操作区域与非操作区域进行区分来计算可变过滤区域的示例。
通过设定这样的可变过滤区域,可以避免过滤区域在独立于可动部的动作方向的方向上扩展。因此,可以防止对非预期方向上的对象例如障碍物的过度过滤处理,并且可以有效地使用来自外部传感器的信息。
(5-(c)示例5:识别机器人可动部的动作方向并计算可变过滤区域的示例)
接下来,作为示例5,将描述识别机器人可动部的动作方向并计算可变过滤区域的示例。
将参照图23描述示例5的细节。
图23是示出类似于图22的设定到四腿机器人10的左前腿的可变填充的计算处理示例的图。
类似于上述图22,将四腿机器人10的左前腿的形状简单地示出为四边形棱柱,以便于理解可变填充的计算处理。
如图23(a)所示,左前腿的形状被示出为具有长度(L(Lengthleg))、前后方向上的宽度(W)和左右方向上的深度(H)的L×W×H四边形棱柱。
图23(b)是示出腿13在当自区域过滤处理单元103执行可变填充计算处理和可变过滤区域计算处理时的特定定时(时间(t))处的旋转状态的图。
如图23(b)所示,假定四腿机器人10的腿13处于绕上端处的旋转关节14沿左方向旋转的状态。
示例5是识别机器人可动部的动作方向并计算可变过滤区域的示例。在如图23(b)所示的四腿机器人10的腿13处于绕上端处的旋转关节14向左旋转的状态的情况下,计算沿旋转方向延伸的可变过滤区域。
即,可变过滤区域计算单元122计算如图23(c)所示的可变过滤区域。
由可变过滤区域计算单元122计算出的可变过滤区域是包括具有根据以下公式(公式12)计算出的长度的三条边的四边形棱柱。
PadL=L+(Padvariable)×2
PadW=W+(Padvariable)
PadH=H
……(公式12)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
此处,在上述(公式12)中,
PadW=W+(Padvariable)
该(Padvariable)的设定方向被设定为腿13的动作方向,即,如图23(c)所示的作为腿14的动作方向的左侧。
如上所述,在示例5中,在作为机器人可动部的腿13的动作方向上另外地设定可变填充(Padvariable),并且在与腿13的动作方向相反的方向上不设定可变填充(Padvariable)。
注意,在本示例5中,也可以应用类似于上述示例3中的处理的处理。
即,可以执行通过将包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度L、W和H中的每一个乘以可变填充(Padvariable)来计算可变过滤区域的处理。
本示例5是如上所述通过将机器人可动部的动作方向与非动作方向进行区分来计算可变过滤区域的示例。
通过设定这样的可变过滤区域,可以避免过滤区域在独立于可动部的动作方向的方向上扩展。因此,可以防止对非预期方向上的对象例如障碍物的过度过滤处理,并且可以有效地使用来自外部传感器的信息。
(5-(d)示例6:设定固定填充区域和可变填充区域并基于这两个填充区域来计算可变过滤区域的示例)
接下来,作为示例6,将描述设定固定填充区域和可变填充区域并基于这两个填充区域来计算可变过滤区域的示例。
将参照图24描述示例6的细节。
图24是示出类似于图22和图23的设定到四腿机器人10的左前腿的可变填充的计算处理示例的视图。
类似于上述图22和图23,四腿机器人10的左前腿的形状被简化为四边形棱柱,以便于理解可变填充的计算处理。
如图24(a)所示,左前腿的形状被示出为具有长度(L(Lengthleg))、前后方向上的宽度(W)和左右方向上的深度(H)的L×W×H四边形棱柱。
如图24(b)所示,四腿机器人10的腿13被配置成绕上端处的旋转关节14沿前后方向(W方向)旋转。
在本示例6中,设定固定填充区域(Padfixed)和可变填充区域(Padvariable),并且基于这两个填充区域计算可变过滤区域。
固定填充区域(Padfixed)是预先固定在用于设定过滤区域的可动部周围的过滤区域。
可变填充区域(Padvariable)对应于根据设定过滤区域的可动部的动作速度而变化的过滤区域。
图24(c)示出了由固定填充区域(Padfixed)定义的固定过滤区域和由可变填充区域(Padvariable)定义的可变过滤区域的设定示例。
在示例6中,由可变过滤区域计算单元122计算出的可变过滤区域是包括具有根据以下公式(公式13)计算出的长度的三条边的四边形棱柱。
PadL=L+(Padfixed)+(Padvariable)×2
PadW=W+(Padfixed)+(Padvariable)×2
PadH=H+(Padfixed)+(Padvariable)×2
……(公式13)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
如上所述,在本示例6中,使用固定填充区域(Padfixed)和可变填充区域(Padvariable)来设定固定过滤区域和可变过滤区域。
注意,在本示例6中,也可以应用类似于上述示例3中的处理的处理。
即,可以执行通过将包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度L、W和H中的每一个乘以可变填充(Padvariable)来计算可变过滤区域的处理。
例如,可以使用下面所示的(公式14)来执行计算可变过滤区域的处理。
PadL=L×(Padfixed)×(Padvariable)
PadW=W×(Padfixed)×(Padvariable)
PadH=H×(Padfixed)×(Padvariable)
……(公式14)
前提是:
L、W和H是包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度。
如上所述,本示例6被配置成设定可变过滤区域,该可变过滤区域包括预先固定的固定填充区域(Padfixed)和根据可动部的操作状态(动作速度)而变化的可变填充区域(Padvariable)。
在本示例6中,例如,即使在可动部处于停止状态的情况下,也设定具有预先固定的固定填充区域(Padfixed)的过滤区域,并且例如,在机器人中存在装配错误等的情况下,可以防止将错误区域中包括的腿部分等的配置错误地识别为障碍物的处理。
(5-(e)示例7:计算与具有多个旋转关节的可动部相对应的可变过滤区域的示例)
接下来,作为示例7,将描述用于计算与具有多个旋转关节的可动部相对应的可变过滤区域的示例。
将参照图25描述示例7的细节。
图25左上角所示的四腿机器人b、10b对应于上面参照图2描述的四腿机器人b、10b。
即,旋转关节13设置在腿13的上端处,并且此外,另一旋转关节17设置在腿13的中间位置处。
图25(a)是用于说明腿13的动作的图。
腿13的大腿13a的长度为L1,并且小腿13b的长度为L2。
整个大腿13a和整个小腿13b通过腿13的上端处的旋转关节13的旋转而旋转。
此外,仅小腿13b通过腿13的中间位置处的旋转关节17的旋转而旋转。
此处,腿13的上端处的旋转关节13的旋转的角速度为ω1,并且腿13的中间级处的旋转关节17的旋转的角速度为ω2。
使用这些角速度,自区域过滤处理单元103的可变填充计算单元121根据以下公式(公式15)执行两个可变填充(Padvariable)的计算处理。
Padvariable1=tan(ω×st)×L1
Padvariable2=tan(ω×st)×L2
……(公式15)
前提是:
ω=角速度
st=规定的单位时间(例如,采样时间间隔)
上述(公式15)中的第一可变填充(Padvariable1)是基于腿13的上端处的旋转关节13的旋转的角速度ω1计算出的可变填充。
由于腿13的上端处的旋转关节13的旋转是整个大腿13a和整个小腿13b的旋转,因此第一可变填充(Padvariable1)被设定为整个大腿13a和整个小腿13b的填充。
另一方面,上述(公式15)中的第二可变填充(Padvariable2)是基于腿13的中间部分的旋转关节17的旋转的角速度ω2计算出的可变填充。
由于腿13的中间部分的旋转关节17的旋转是仅小腿13b的旋转,因此该第二可变填充(Padvariable2)被设定为仅小腿13b的填充。
因此,可变过滤区域计算单元122通过在大腿13a和小腿13b中的不同处理来计算可变过滤区域。
即,根据以下公式(公式16)计算大腿13a的可变过滤区域。
PadL=L1+(Padvariable1)×2
PadW=W1+(Padvariable1)×2
PadH=H1+(Padvariable1)×2
……(公式16)
前提是:
L1、W1和H1是包围用于设定可变过滤区域的大腿13a的矩形平行六面体的三个轴的长度。
此外,根据以下公式(公式17)计算小腿13b的可变过滤区域。
PadL=L2+(Padvariable1+Padvariable2)×2
PadW=W2+(Padvariable1+Padvariable2)×2
PadH=H2+(Padvariable1+Padvariable2)×2
……(公式17)
前提是:
L2、W2和H2是包围用于设定可变过滤区域的小腿13b的矩形平行六面体的三个轴的长度。
以这种方式,可变过滤区域计算单元122通过在大腿13a和小腿13b中的不同处理来计算可变过滤区域。
注意,类似于上述示例3的处理的处理可以应用于示例7。
即,可以执行通过将包围用于设定可变过滤区域的可动部的矩形平行六面体的三个轴的长度L、W和H中的每一个乘以可变填充(Padvariable)来计算可变过滤区域的处理。
此外,可以应用上述示例6的处理,即设定固定填充区域和可变填充区域并基于这两个填充区域来计算可变过滤区域的处理。
在这种情况下,可变过滤区域计算单元122通过使用大腿13a和小腿13b的以下处理来计算可变过滤区域。
根据以下公式(公式18)计算大腿13a的可变过滤区域。
PadL=L1+(Padfixed1)+(Padvariable1)×2
PadW=W1+(Padfixed1)+(Padvariable1)×2
PadH=H1+(Padfixed1)+(Padvariable1)×2
……(公式18)
前提是:
L1、W1和H1是包围用于设定可变过滤区域的大腿13a的矩形平行六面体的三个轴的长度。
此外,根据以下公式(公式19)计算小腿13b的可变过滤区域。
PadL=L2+(Padfixed2)+(Padvariable1+Padvariable2)×2
PadW=W2+(Padfixed2)+(Padvariable1+Padvariable2)×2
PadH=H2+(Padfixed2)+(Padvariable1+Padvariable2)×2
……(公式19)
前提是:
L2、W2和H2是包围用于设定可变过滤区域的小腿13b的矩形平行六面体的三个轴的长度。
如上所述,根据示例7,即使在连接多个关节单元的配置中,也可以计算最佳过滤区域。
注意,在上述示例中,已经描述了连接两个旋转关节的配置的示例。然而,即使在连接三个或更多个关节单元的配置中,也执行类似于上面的描述的处理,由此可以执行最佳过滤区域的计算处理。
[6.(示例8)不是对三维点云数据而是对距离图像执行过滤处理的示例]
接下来,作为示例8,将描述其中不是对三维点云数据而是对距离图像执行过滤处理的示例。
上述示例已经基本上被描述为使用上面参照图9描述的数据处理单元100的配置来执行的示例。
图9所示的数据处理单元100被配置成将从视觉传感器12输入的距离图像转换成三维点云(PC)数据,并且执行诸如过滤处理和后续的地图数据生成处理的各种类型的处理。
本公开内容的处理,即,用于防止诸如机器人装置的腿的结构部被识别为障碍物的过滤处理,可以不是对三维点云(PC)数据而是对从视觉传感器12输入的距离图像执行。
下面描述的示例8是其中不是对三维点云数据而是对距离图像执行过滤处理的示例。
将参照图26描述示例8的机器人装置的主要配置。
将集中于例如执行参照图1描述的四腿机器人10的行进控制处理的数据处理单元来描述图26中所示的配置。
图26所示的四个视觉传感器F至R、12F至R是附接至参照图1描述的四腿机器人10的前、后、左和右的视觉传感器例如立体摄像装置。
注意,四个视觉传感器F至R、12F至R中的每一个捕获例如以下距离图像:其中与到在构成视觉传感器的摄像装置的成像范围(传感器检测区域)中包括的对象的距离相对应的密度值被设定为像素值。
图26所示的距离图像F是由捕获四腿机器人10的行进方向(向前方向)上的图像的视觉传感器F、12F获取的距离图像。
距离图像B是由捕获与四腿机器人10的行进方向相反的向后方向上的图像的视觉传感器B、12B获取的距离图像。
距离图像L是由捕获相对于四腿机器人10的行进方向的左方向上的图像的视觉传感器L、12L获取的距离图像。
距离图像R是由捕获相对于四腿机器人10的行进方向的右方向上的图像的视觉传感器R(右)、12R获取的距离图像。
在示例8中,由四个视觉传感器F、12F至视觉传感器R、12R获取的四个距离图像被输入至数据处理单元150的自区域过滤处理单元103。
即,在本示例中,不执行由上面参照图9描述的三维点云(PC)生成单元102进行的三维点云(PC)数据的生成处理。
如图26所示,数据处理单元150包括机器人信息获取单元101、自区域过滤处理单元103、三维点云(PC)生成单元102、三维点云(PC)合成单元104、地图图像生成单元105、时序地图图像整合单元106和机器人控制单元107。
机器人信息获取单元101获取机器人结构信息(机器人模型信息)、机器人可动部位置以及动作信息,并且将机器人结构信息、机器人可动部位置以及动作信息输出至自区域过滤处理单元103。
机器人结构信息(机器人模型信息)存储在存储单元(未示出)中。
机器人可动部位置和动作信息从机器人控制单元107获取,或者通过使用附接至机器人的传感器的检测信息来获取。
注意,机器人可动部是机器人的腿、臂等。
数据处理单元100的自区域过滤处理单元103直接使用由四个视觉传感器F、12F至视觉传感器R、12R获取的四个距离图像F至R,以对这些距离图像中的每一个执行可变过滤区域的设定处理,并且执行使用设定的可变过滤区域从距离图像F至R中去除机器人的可动部例如腿或臂的检测信息的过滤处理。
作为该过滤处理的结果,自区域过滤处理单元103生成作为图26所示的自区域过滤处理单元103的输出的过滤后的距离图像F至R,并且将过滤后的距离图像F至R输出至后续级中的三维点云(PC)生成单元102。
注意,过滤后的距离图像是通过从由四个视觉传感器F、12F至视觉传感器R、12R获取的四个距离图像F至R中去除与作为自区域的机器人本身区域相对应的对象的距离数据,即通过执行过滤处理而获得的距离图像。
三维点云(PC)生成单元102接收来自自区域过滤处理单元103的过滤后的距离图像F至R。
如上所述,过滤后的距离图像F至R是通过去除机器人本身的结构部分例如机器人的腿部分的距离值数据而获得的距离图像。
三维点云(PC)生成单元102生成其中针对输入的四个过滤后的距离图像F至R的每个像素设定的距离值(像素值)被表示为三维坐标上的点云数据的过滤后的三维点云(PC)。
注意,如上所述,构成三维点云(PC)的每个点是其在xyz三维空间上的坐标位置被限定的点。即,x、y和z的每个坐标值被分配给三维点云配置的每个点。
如图26所示,三维点云(PC)生成单元102生成以下四个过滤后的三维点云,并且将所生成的组输入至下一级三维点云(PC)合成单元104。
(1)基于由视觉传感器F、12F获取的过滤后的距离图像F而生成的并由自区域过滤处理单元103进行自区域过滤处理的过滤后的三维点云F;
(2)基于由视觉传感器B、12B获取的过滤后的距离图像B而生成的并由自区域过滤处理单元103进行自区域过滤处理的过滤后的三维点云B;
(3)基于由视觉传感器L、12L获取的过滤后的距离图像L而生成的并由自区域过滤处理单元103进行自区域过滤处理的过滤后的三维点云L;以及
(4)基于由视觉传感器R、12R获取的过滤后的距离图像R而生成的并由自区域过滤处理单元103进行自区域过滤处理的过滤后的三维点云R。
如图26所示,三维点云(PC)生成单元102生成上述四个过滤后的三维点云,并且将四个过滤后的三维点云输入至下一级三维点云(PC)合成单元104。
三维点云(PC)合成单元104接收来自三维点云(PC)生成单元102的过滤后的三维点云F至R。
如上所述,过滤后的三维点云F至R是通过去除机器人本身的结构部分例如机器人的腿部分的三维点云而获得的三维点云数据。
三维点云(PC)合成单元104合成输入的四个过滤后的三维点云F至R,以生成一条过滤后的三维点云合成数据。
图26示出了作为三维点云(PC)合成单元104的输出的过滤后的三维点云(F,B,L,R)合成数据。
从三维点云(PC)合成单元104输出的过滤后的三维点云(F,B,L,R)合成数据是通过从基于作为附接至图1所示的四腿机器人10的前、后、左、右的四个视觉传感器F、12F到视觉传感器R、12R的输出的四个距离图像F至R而生成的三维点云F至R中去除(过滤)与机器人的结构部分相关的三维点云而获得的过滤后的三维点云F至R的合成数据,并且是通过点云指示除了四腿机器人10的前、后、左、右周围的机器人结构部分以外的对象例如障碍物的三维位置和三维形状的数据。
注意,如上所述,图1所示的四个视觉传感器F、12F至视觉传感器R和12R都倾斜地面向下,并且过滤后的距离图像合成数据是指示四腿机器人10的摄像装置位置的水平平面以下的周围对象的距离的数据。过滤后的距离图像合成数据包括诸如行进表面的不平整和倾斜的三维形状。
然而,机器人结构体例如机器人的腿不被包括,这是因为机器人结构体通过过滤处理被去除。
由三维点云(PC)合成单元104生成的过滤后的三维点云(F,B,L,R)合成数据被输入至地图图像生成单元105。
地图图像生成单元105使用由三维点云(PC)合成单元104生成的过滤后的三维点云(F,B,L,R)合成数据来生成指示包括机器人周围的对象的行进表面的三维形状的地图数据。
图26示出了作为地图图像生成单元105的输出的三维地图数据(或2.5维地图数据)。
由地图图像生成单元105生成的地图数据是各种类型的三维地图数据或2.5维地图数据。
具体地,数据是诸如高度地图的2.5维地图数据。
如上所述,高度地图是例如与xy水平平面上的二维坐标(x,y)的代表性坐标位置相关联地记录高度数据(z)的地图数据。
由地图图像生成单元105生成的三维地图数据(例如,高度地图)被输入至下一时序地图图像整合单元106。
时序地图图像整合单元106对由地图图像生成单元105生成的三维地图数据(例如,高度地图)的时序数据进行整合处理。
具体地,例如,执行以下处理。
(1)三维地图数据(t1),例如由地图图像生成单元105基于由四个视觉传感器F至R、12F至R在时间t1处捕获的四个距离图像F至R(t1)而生成的高度地图;
(2)三维地图数据(t2),例如由地图图像生成单元105基于由四个视觉传感器F至R、12F至R在时间t2处捕获的四个距离图像F至R(t2)而生成的高度地图;以及
(3)三维地图数据(t3),例如由地图图像生成单元105基于由四个视觉传感器F至R、12F至R在时间t3处捕获的四个距离图像F至R(t3)而生成的高度地图。
时序地图图像整合单元106整合基于在不同时间(t1至t3)处拍摄的距离图像生成的多条时序三维地图数据(t1)至(t3),以生成一条时序地图整合地图数据(例如,整合高度地图)。
即,从三维地图数据(t1)生成时序整合地图数据(t1),并且当将三维地图数据(t2)输入至时序地图图像整合单元106时,生成时序整合地图数据(t1至t2)。此外,当三维地图数据(t3)被输入至时序地图图像整合单元106时,生成时序地图整合地图数据(t1至t3)。
注意,如上所述,基于在不同时间处的多条成像数据生成的多条时序三维地图数据(t1)至(t3)中的每一条都具有交叠区域,并且还存在仅包括在一条地图数据中的区域。
如上所述,时序地图图像整合单元106整合基于在多个不同定时处捕获的距离图像生成的多条时序三维地图数据(t1)至(t3),从而生成能够获取机器人周围的摄像装置成像范围内的几乎所有对象的三维形状的一条时序地图整合地图数据(经整合的高度地图)。
由时序地图图像整合单元106生成的一条时序地图整合地图数据被输出至机器人控制单元107。
由时序地图图像整合单元106生成的一条时序地图整合地图数据是能够获取机器人周围的摄像装置成像范围内的几乎所有对象的三维形状的2.5维图像数据例如高度地图。
然而,机器人本身的结构的对象位置信息例如过滤后的机器人的腿不被包括。即,它是包括关于作为真实障碍物的对象的信息的2.5维图像数据例如高度地图。
机器人控制单元107参照由时序地图图像整合单元106生成的一条时序地图整合地图数据来确认可能是障碍物的对象的位置,确定不与这些障碍物碰撞或接触的路线作为行进路线,并且移动腿以执行安全行进。
注意,在被控制的机器人是通过例如参照图3描述的臂的动作来执行各种工作的机器人的情况下,机器人控制单元107参照由时序地图图像整合单元106生成的一条时序地图整合地图数据,确定臂的轨迹,并且执行安全工作。
即,机器人控制单元107参照由时序地图图像整合单元106生成的一条时序地图整合地图数据,确认可能是障碍物的对象的位置,确定不与这些障碍物碰撞或接触的臂的轨迹,并且移动臂以执行安全工作。
如上所述,根据本公开内容的机器人装置执行从传感器检测信息中去除自身装置的对象信息的过滤处理,使得即使在传感器检测到自身装置的一部分的情况下,自身装置区域也不会被识别为障碍物,并且使用基于过滤后的数据生成的地图数据来控制机器人。
通过执行这样的处理,可以执行正确的机器人控制,而不会将自身装置的一部分错误地识别为障碍物。
[7.本公开内容的机器人装置等的硬件配置示例]
接下来,将描述本公开内容的机器人装置等的硬件配置示例。
图27是示出本公开内容的机器人500的配置示例的框图。
如图27所示,机器人500包括数据处理单元510、存储单元521、存储器522、显示单元530、传感器IF 540、传感器541、驱动控制单元550、驱动单元551、通信单元560和总线570。
数据处理单元310是例如包括多个核心CPU 511a和511b的多核CPU,并且根据上述示例中的每一个执行数据处理以及根据存储在存储单元521或存储器522中的程序执行各种其他数据处理。
存储单元521和存储器522存储行进所需的各种信息,例如在数据处理单元310中执行的程序和机器人500的行进路线信息。
此外,数据处理单元510还用作用于由诸如视觉传感器的传感器541获取的传感器检测信息例如距离图像以及在数据处理单元中生成的三维点云(PC)数据的存储区域。
显示单元530例如用作指示机器人500等的操作状态的各种类型信息的显示单元和在行进方向上捕获的图像的显示单元。此外,触摸面板可以允许用户输入指令数据。
传感器IF 540接收诸如视觉传感器的传感器541的检测信息,并且将该检测信息输出至数据处理单元510。替选地,传感器检测信息存储在存储单元521或存储器522中。
传感器541包括上述示例中描述的视觉传感器等。例如,摄像装置是捕获距离图像等的摄像装置。
驱动控制单元550控制包括电机等的驱动单元551以操作和移动机器人500。
通信单元560经由通信网络与外部装置例如云侧的服务器600通信。服务器600将目的地、用于前往目的地的路线信息等通知机器人500。
总线570用作结构部之间的数据传输路径。
注意,服务器600不是基本配置,并且可以被配置成在机器人500中存储目的地、用于前往目的地的路线信息等,并且由机器人500单独执行处理。
此外,相反,也可以采用这样的配置:通过在服务器600的一侧上根据上述示例执行数据处理来确定机器人500的控制信息。
例如,如图28所示,机器人500和服务器600通过通信网络连接,并且作为附接至机器人500的视觉传感器的检测信息的图像,具体地,例如,距离图像被发送至服务器600。
服务器600从机器人500接收图像,根据上述示例执行数据处理,生成机器人500的控制信息,并且将该控制信息发送至机器人500。
机器人500根据从服务器600接收到的控制信息进行操作。
注意,执行如上所述的数据处理的服务器600具有例如如图29所示的硬件配置。
如图29所示,服务器600包括数据处理单元610、通信单元621、存储单元622、存储器623、显示单元624和总线630。
数据处理单元610是例如包括多个核心CPU 611a、611b的多核CPU,并且根据上述示例中的每一个执行数据处理以及根据存储在存储单元622或存储器623中的程序执行各种其他数据处理。
通信单元621经由通信网络与机器人500通信。
例如,接收由机器人500的视觉传感器等获取的传感器检测信息,例如距离图像。此外,服务器600将根据上述示例生成的控制信息发送至机器人500。此外,服务器600还用于向机器人500发送目的地、用于前往目的地的路线信息等的处理。
存储单元622和存储器623存储行进所需的各种信息,例如在数据处理单元610中执行的程序和机器人500的行进路线信息。
此外,在经由通信单元621接收传感器检测信息的情况下,由机器人500的视觉传感器等获取的传感器检测信息例如距离图像还被用作接收到的数据的存储区域。此外,数据处理单元610还用作由数据处理单元生成的三维点云(PC)数据的存储区域。
显示单元624例如用作指示机器人500等的操作状态的各种类型信息的显示单元和在行进方向上捕获的图像的显示单元。此外,触摸面板可以允许用户输入指令数据。
总线630用作结构部之间的数据传输路径。
[8.本公开内容的配置的结论]
在上文中,已经参照具体示例详细描述了根据本公开内容的示例。然而,明显的是,本领域技术人员可以在不脱离本公开内容的要点的情况下修改或替换示例。即,本发明已经被以例证的形式公开,并且不应当被以有限的方式解释。为了确定本公开内容的要点,应当考虑权利要求。
注意,本文中公开的技术可以具有以下配置。
(1)一种机器人装置,包括:
数据处理单元,所述数据处理单元分析视觉传感器的检测信息并控制所述机器人装置的操作,
其中,所述数据处理单元包括:
自区域过滤处理单元,所述自区域过滤处理单元从所述视觉传感器的检测信息中包括的对象信息中去除与所述机器人装置的结构部相对应的对象信息,
所述自区域过滤处理单元包括:
可变过滤区域计算单元,所述可变过滤区域计算单元计算与所述机器人装置的可动部相对应的可变过滤区域;以及
过滤处理单元,所述过滤处理单元从所述视觉传感器的检测信息中去除所述可变过滤区域中的对象信息,以及
所述可变过滤区域计算单元根据作为可变过滤区域计算目标的可动部的动作速度来计算具有不同尺寸的可变过滤区域。
(2)根据(1)所述的机器人装置,还包括:
地图图像生成单元,所述地图图像生成单元基于以下对象信息来生成地图数据:已经在所述自区域过滤处理单元中从所述对象信息中去除与所述机器人装置的结构部相对应的对象信息;以及
机器人控制单元,所述机器人控制单元基于由所述地图图像生成单元生成的地图数据来控制所述机器人装置。
(3)根据(1)或(2)所述的机器人装置,其中,
作为可变过滤区域计算目标的可动部的动作速度越大,所述可变过滤区域计算单元计算越大的可变过滤区域。
(4)根据(1)至(3)中任一项所述的机器人装置,其中,
作为可变过滤区域计算目标的可动部的旋转速度越大,所述可变过滤区域计算单元计算越大的可变过滤区域。
(5)根据(1)至(4)中任一项所述的机器人装置,其中,
作为可变过滤区域计算目标的可动部的线性动作速度越大,所述可变过滤区域计算单元计算越大的可变过滤区域。
(6)根据(1)至(5)中任一项所述的机器人装置,还包括:
三维点云生成单元,所述三维点云生成单元基于来自所述视觉传感器的输入信息来生成三维点云数据,
其中,所述自区域过滤处理单元执行从自所述三维点云生成单元输入的三维点云数据中去除与所述机器人装置的结构部相对应的与机器人的结构部相对应的三维点云数据的处理。
(7)根据(6)所述的机器人装置,其中,
所述视觉传感器向所述三维点云生成单元输入距离图像,以及
所述三维点云生成单元基于从所述视觉传感器输入的距离图像来生成三维点云数据。
(8)根据(1)至(7)中任一项所述的机器人装置,其中,
所述视觉传感器向所述自区域过滤处理单元输入距离图像,以及
所述自区域过滤处理单元执行从自所述视觉传感器输入的距离图像中去除与所述机器人装置的结构部相对应的与机器人的结构部相对应的数据的处理。
(9)根据(1)至(8)中任一项所述的机器人装置,其中,
所述自区域过滤处理单元包括:
可变填充计算单元,所述可变填充计算单元根据作为可变过滤区域计算目标的可动部的动作速度来计算不同的可变填充;
可变过滤区域计算单元,所述可变过滤区域计算单元计算由经所述可变填充计算单元计算出的可变填充所定义的可变过滤区域;以及过滤处理单元,所述过滤处理单元使用由所述可变区域计算单元计算出的可变过滤区域,从所述视觉传感器的检测信息中去除所述可变过滤区域中的对象信息。
(10)根据(9)所述的机器人装置,其中,
在作为可变过滤区域计算目标的可动部被配置成通过旋转关节的驱动而旋转地驱动的情况下,旋转速度越大而所述可变填充计算单元计算越大的可变填充。
(11)根据(9)所述的机器人装置,其中,
在作为可变过滤区域计算目标的可动部被配置成通过线性动作关节的驱动而线性地移动的情况下,线性动作速度越大而所述可变填充计算单元计算越大的可变填充。
(12)根据(1)至(11)中任一项所述的机器人装置,其中,
所述可变过滤区域计算单元针对作为可变过滤区域计算目标的可动部的操作区域和非操作区域计算具有不同范围的可变过滤区域。
(13)根据(1)至(12)中任一项所述的机器人装置,其中,
所述可变过滤区域计算单元针对作为可变过滤区域计算目标的可动部的动作方向和非动作方向计算具有不同范围的可变过滤区域。
(14)根据(1)至(13)中任一项所述的机器人装置,其中,
所述可变过滤区域计算单元针对作为可变过滤区域计算目标的可动部,计算由预先固定的固定填充和根据所述可动部的动作速度而变化的可变填充这两个填充定义的可变过滤区域。
(15)一种用于执行机器人装置的动作控制的机器人控制方法,所述机器人控制方法包括:
自区域过滤处理步骤,由自区域过滤处理单元从视觉传感器的检测信息中包括的对象信息中去除与所述机器人装置的结构部相对应的对象信息;
地图数据生成步骤,由地图图像生成单元基于以下对象信息来生成地图数据:已经从所述对象信息中去除与所述机器人装置的结构部相对应的对象信息;以及
机器人控制步骤,由机器人控制单元基于所述地图数据来控制所述机器人装置,
其中,所述自区域过滤处理步骤包括:
执行根据所述机器人装置的可动部的动作速度来计算具有不同尺寸的可变过滤区域的可变过滤区域计算处理的步骤;以及
执行从所述视觉传感器的检测信息中去除所述可变过滤区域中的对象信息的处理的步骤。
注意,本文中描述的一系列处理可以通过硬件、软件或两者的组合配置来执行。在通过软件执行处理的情况下,可以在被并入专用硬件中的计算机中的存储器中安装并执行其中记录了处理顺序的程序,或者可以在能够执行各种类型的处理的通用计算机中安装并执行该程序。例如,该程序可以被预先记录在记录介质中。除了从记录介质安装在计算机上以外,该程序还可以经由诸如局域网(LAN)或因特网的网络接收并被安装在诸如内部硬盘的记录介质上。
此外,本文中描述的各种类型的处理不但可以如所述按时序执行,而且可以根据执行处理的装置的处理能力或根据需要并行地或单独地执行。此外,本文中描述的系统是多个装置的逻辑集合配置,并且不限于其中各自配置的装置在同一壳体中的系统。
工业适用性
如上所述,根据本公开内容的示例的配置,在基于传感器的检测信息来识别障碍物的机器人装置中,通过正确的障碍物识别来实现高度准确的机器人控制,而不会将机器人本身的腿、臂等错误地识别为障碍物。
具体地,例如,自区域过滤处理单元从在视觉传感器的检测信息中包括的对象信息中去除与机器人装置的结构部相对应的对象信息,地图图像生成单元基于已经从其中去除与机器人装置的结构部相对应的对象信息的对象信息来生成地图数据,并且机器人控制单元基于所生成的地图数据来控制机器人装置。自区域过滤处理单元根据机器人装置的可动部的动作速度来计算不同尺寸的可变过滤区域,并且执行从视觉传感器的检测信息中去除可变过滤区域中的对象信息的处理。
利用这种配置,在基于传感器的检测信息来识别障碍物的机器人装置中,通过正确的障碍物识别来实现高度准确的机器人控制,而不会将机器人本身的腿、臂等错误地识别为障碍物。
参考标记列表
10 四腿机器人
11 主体
12 视觉传感器
13 腿
14 旋转关节
15 线性动作关节
16 轮部分
17 旋转关节
18 地面接触部分
20 两腿机器人
21 主体
22 视觉传感器
23 腿
24、25 旋转关节
26 地面接触部分
27 臂
28、29 旋转关节
30 握持部分
100 数据处理单元
101 机器人信息获取单元
102 三维点云(PC)生成单元
103 自区域过滤处理单元
104 三维点云(PC)合成单元
105 地图图像生成单元
106 时序地图图像整合单元
107 机器人控制单元
121 可变填充计算单元
122 可变过滤区域计算单元
123 三维点云过滤处理单元
500 机器人
510 数据处理单元
521 存储单元
522 存储器
530 显示单元
540 传感器IF
541 传感器
550 驱动控制单元
551 驱动单元
560 通信单元
570 总线
600 服务器
610 数据处理单元
621 通信单元
622 存储单元
623 存储器
624 显示单元
630 总线

Claims (15)

1.一种机器人装置,包括:
数据处理单元,所述数据处理单元分析视觉传感器的检测信息并控制所述机器人装置的操作,
其中,所述数据处理单元包括:
自区域过滤处理单元,所述自区域过滤处理单元从所述视觉传感器的检测信息中包括的对象信息中去除与所述机器人装置的结构部相对应的对象信息,
所述自区域过滤处理单元包括:
可变过滤区域计算单元,所述可变过滤区域计算单元计算与所述机器人装置的可动部相对应的可变过滤区域;以及
过滤处理单元,所述过滤处理单元从所述视觉传感器的检测信息中去除所述可变过滤区域中的对象信息,以及
所述可变过滤区域计算单元根据作为可变过滤区域计算目标的可动部的动作速度来计算具有不同尺寸的可变过滤区域。
2.根据权利要求1所述的机器人装置,还包括:
地图图像生成单元,所述地图图像生成单元基于以下对象信息来生成地图数据:已经在所述自区域过滤处理单元中从所述对象信息中去除与所述机器人装置的结构部相对应的对象信息;以及
机器人控制单元,所述机器人控制单元基于由所述地图图像生成单元生成的地图数据来控制所述机器人装置。
3.根据权利要求1所述的机器人装置,其中,
作为可变过滤区域计算目标的可动部的动作速度越大,所述可变过滤区域计算单元计算越大的可变过滤区域。
4.根据权利要求1所述的机器人装置,其中,
作为可变过滤区域计算目标的可动部的旋转速度越大,所述可变过滤区域计算单元计算越大的可变过滤区域。
5.根据权利要求1所述的机器人装置,其中,
作为可变过滤区域计算目标的可动部的线性动作速度越大,所述可变过滤区域计算单元计算越大的可变过滤区域。
6.根据权利要求1所述的机器人装置,还包括:
三维点云生成单元,所述三维点云生成单元基于来自所述视觉传感器的输入信息来生成三维点云数据,
其中,所述自区域过滤处理单元执行从自所述三维点云生成单元输入的三维点云数据中去除与所述机器人装置的结构部相对应的与机器人的结构部相对应的三维点云数据的处理。
7.根据权利要求6所述的机器人装置,其中,
所述视觉传感器向所述三维点云生成单元输入距离图像,以及
所述三维点云生成单元基于从所述视觉传感器输入的距离图像来生成三维点云数据。
8.根据权利要求1所述的机器人装置,其中,
所述视觉传感器向所述自区域过滤处理单元输入距离图像,以及
所述自区域过滤处理单元执行从自所述视觉传感器输入的距离图像中去除与所述机器人装置的结构部相对应的与机器人的结构部相对应的数据的处理。
9.根据权利要求1所述的机器人装置,其中,
所述自区域过滤处理单元包括:
可变填充计算单元,所述可变填充计算单元根据作为可变过滤区域计算目标的可动部的动作速度来计算不同的可变填充;
可变过滤区域计算单元,所述可变过滤区域计算单元计算由经所述可变填充计算单元计算出的可变填充所定义的可变过滤区域;以及
过滤处理单元,所述过滤处理单元使用由所述可变区域计算单元计算出的可变过滤区域,从所述视觉传感器的检测信息中去除所述可变过滤区域中的对象信息。
10.根据权利要求9所述的机器人装置,其中,
在作为可变过滤区域计算目标的可动部被配置成通过旋转关节的驱动而旋转地驱动的情况下,旋转速度越大而所述可变填充计算单元计算越大的可变填充。
11.根据权利要求9所述的机器人装置,其中,
在作为可变过滤区域计算目标的可动部被配置成通过线性动作关节的驱动而线性地移动的情况下,线性动作速度越大而所述可变填充计算单元计算越大的可变填充。
12.根据权利要求1所述的机器人装置,其中,
所述可变过滤区域计算单元针对作为可变过滤区域计算目标的可动部的操作区域和非操作区域计算具有不同范围的可变过滤区域。
13.根据权利要求1所述的机器人装置,其中,
所述可变过滤区域计算单元针对作为可变过滤区域计算目标的可动部的动作方向和非动作方向计算具有不同范围的可变过滤区域。
14.根据权利要求1所述的机器人装置,其中,
所述可变过滤区域计算单元针对作为可变过滤区域计算目标的可动部,计算由预先固定的固定填充和根据所述可动部的动作速度而变化的可变填充这两个填充定义的可变过滤区域。
15.一种用于执行机器人装置的动作控制的机器人控制方法,所述机器人控制方法包括:
自区域过滤处理步骤,由自区域过滤处理单元从视觉传感器的检测信息中包括的对象信息中去除与所述机器人装置的结构部相对应的对象信息;
地图数据生成步骤,由地图图像生成单元基于以下对象信息来生成地图数据:已经从所述对象信息中去除与所述机器人装置的结构部相对应的对象信息;以及
机器人控制步骤,由机器人控制单元基于所述地图数据来控制所述机器人装置,
其中,所述自区域过滤处理步骤包括:
执行根据所述机器人装置的可动部的动作速度来计算具有不同尺寸的可变过滤区域的可变过滤区域计算处理的步骤;以及
执行从所述视觉传感器的检测信息中去除所述可变过滤区域中的对象信息的处理的步骤。
CN202280061208.7A 2021-09-15 2022-03-28 机器人装置和机器人控制方法 Pending CN117940258A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021149972 2021-09-15
JP2021-149972 2021-09-15
PCT/JP2022/014836 WO2023042464A1 (ja) 2021-09-15 2022-03-28 ロボット装置、およびロボット制御方法

Publications (1)

Publication Number Publication Date
CN117940258A true CN117940258A (zh) 2024-04-26

Family

ID=85601981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280061208.7A Pending CN117940258A (zh) 2021-09-15 2022-03-28 机器人装置和机器人控制方法

Country Status (2)

Country Link
CN (1) CN117940258A (zh)
WO (1) WO2023042464A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01183395A (ja) 1988-01-09 1989-07-21 Toyoda Mach Works Ltd 視覚装置を備えたロボット
JP4961860B2 (ja) * 2006-06-27 2012-06-27 トヨタ自動車株式会社 ロボット装置及びロボット装置の制御方法
CN101432103B (zh) * 2006-07-04 2012-05-23 松下电器产业株式会社 机器人手臂的控制装置
JP2011212818A (ja) 2010-04-01 2011-10-27 Toyota Motor Corp 環境認識ロボット
US11287826B2 (en) * 2018-10-12 2022-03-29 Boston Dynamics, Inc. Terrain aware step planning system
CN112051797B (zh) * 2020-09-07 2023-12-26 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2023042464A1 (ja) 2023-03-23

Similar Documents

Publication Publication Date Title
US11960304B2 (en) Localization and mapping using physical features
JP7165821B2 (ja) ロボットの動きにおけるカーペットによるドリフトの制御方法、プログラムおよび掃除ロボット
EP3104194B1 (en) Robot positioning system
EP2543482B1 (en) Information processing apparatus and information processing method
CA3073920C (en) Collision detection, estimation, and avoidance
CN108177162B (zh) 移动机器人的干扰区域设定装置
US20230247015A1 (en) Pixelwise Filterable Depth Maps for Robots
CN106537185B (zh) 借助于相交平面探测障碍物的装置和使用所述装置的探测方法
US20220388170A1 (en) Alternate Route Finding for Waypoint-based Navigation Maps
CN111487964A (zh) 一种机器人小车及其自主避障方法、设备
Sokolov et al. Analysis of ROS-based Visual and Lidar Odometry for a Teleoperated Crawler-type Robot in Indoor Environment.
US11628573B2 (en) Unmanned transfer robot system
JP2010061483A (ja) 自走移動体及び自走移動体の目的位置設定方法
KR100784125B1 (ko) 단일 카메라를 이용한 이동 로봇의 랜드 마크의 좌표 추출방법
CN117940258A (zh) 机器人装置和机器人控制方法
Allotta et al. On the use of linear camera-object interaction models in visual servoing
CN113767421A (zh) 用于监控机器人的环境的方法和设备
Poomarin et al. Automatic docking with obstacle avoidance of a differential wheel mobile robot
KR100703882B1 (ko) 단일 카메라 기반 포즈인식이 가능한 이동로봇 및 그 방법
KR20080041890A (ko) 로봇청소기의 외력감지방법, 이를 기록한 기록매체 및 이를이용한 로봇 청소기
Li et al. Localization of leader-follower formations using kinect and RTK-GPS
US20240061436A1 (en) Moving apparatus and moving apparatus control method
JPH0418601B2 (zh)
Simmons et al. Mixed-mode control of navigation for a lunar rover
US20220388174A1 (en) Autonomous and teleoperated sensor pointing on a mobile robot

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication