CN112840285A - 具有路径点匹配的自主地图遍历 - Google Patents
具有路径点匹配的自主地图遍历 Download PDFInfo
- Publication number
- CN112840285A CN112840285A CN201980067282.8A CN201980067282A CN112840285A CN 112840285 A CN112840285 A CN 112840285A CN 201980067282 A CN201980067282 A CN 201980067282A CN 112840285 A CN112840285 A CN 112840285A
- Authority
- CN
- China
- Prior art keywords
- waypoint
- robot
- data
- map
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 45
- 230000015654 memory Effects 0.000 claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000009466 transformation Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 43
- 238000001514 detection method Methods 0.000 claims description 23
- 238000005259 measurement Methods 0.000 claims description 21
- 230000000007 visual effect Effects 0.000 claims description 16
- 230000004807 localization Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 235000019994 cava Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40298—Manipulator on vehicle, wheels, mobile
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Optics & Photonics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
- Traffic Control Systems (AREA)
Abstract
机器人(100)包括被配置为围绕环境(10)操纵机器人的驱动系统以及与存储器硬件(114)和驱动系统通信的数据处理硬件(112)。存储器硬件存储指令,该指令在数据处理硬件上执行时使数据处理硬件执行操作。操作包括接收在环境中操纵的机器人的图像数据(124)并执行至少一个路径点试探法(212)。所述至少一个路径点试探法被配置为触发路径点地图上的路径点放置(200)。响应于触发路径点放置,操作包括在路径点地图上记录路径点(210),其中路径点与至少一条路径点边(220)相关联并且包括由机器人获得的传感器数据。所述至少一条路径点边包括表达如何在两个路径点之间移动的姿态变换。
Description
技术领域
本公开涉及具有路径点匹配的自主地图遍历。
背景技术
机器人通常被定义为可重新编程且多功能的操纵器,其被设计为通过可变的编程动作来移动材料、部件、工具或专用设备,以执行任务。机器人可以是物理锚定的操纵器(例如,工业机器臂)、在整个环境中移动的移动机器人(例如,使用腿、轮子或基于牵引的机构),或者是操纵器和移动机器人的某种组合。机器人被用在各种的行业中,例如,制造、运输、危险环境、勘探和医疗保健。照此,用以自主操作的能力可以增强机器人的功能性,并为此类行业提供附加的好处。
发明内容
本公开的一个方面提供了一种用于自主地图遍历的方法。该方法包括在数据处理硬件处接收围绕在环境中操纵的机器人的环境的传感器数据。传感器数据包括图像数据。该方法还包括由数据处理硬件基于图像数据执行至少一个路径点试探法。至少一个路径点试探法被配置为触发路径点地图上的路径点放置。响应于至少一个路径点试探法触发路径点放置,该方法包括由数据处理硬件在路径点地图上记录路径点。该路径点与至少一条路径点边相关联,并且包括由机器人获得的传感器数据中的至少一些。该至少一条路径点边包括表达如何在两个路径点之间移动的姿态变换。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,图像数据包括由三维立体图像传感器捕获的三维点云数据。这里,三维立体图像传感器可以包括立体相机、扫描光检测和测距(LIDAR)传感器或扫描激光检测和测距(LADAR)传感器中的一个或多个。路径点试探法可以被配置为在机器人的当前位置处检测图像数据内的阈值特征检测。
在一些示例中,路径点的传感器数据包括由三维立体图像传感器捕获的三维点云数据和姿态数据,该姿态数据包括由机器人的惯性测量单元(IMU)测得的惯性测量数据。对于给定的路径点,该方法可以包括识别到给定的路径点的邻居路径点,并识别给定的路径点和邻居路径点的三维点云数据的三维点以作为三维点集合。对于给定的路径点,该方法还可以包括确定三维点集合中的三维点是否与由三维点云数据表示的图像的视觉边相对应,并将与由三维点云数据表示的图像的视觉边相对应的、三维点集合中的三维点与给定的路径点关联。
在一些配置中,路径点包括机器人姿态约束,该机器人姿态约束被配置为使机器人在路径点处实现定向的姿态。路径点地图可以与邻居路径点是本地一致的。路径点边可以包括指示环境的空间特征的注释。在路径点地图上记录路径点包括记录路径点周围的盆地区,该盆地区指定了与该路径点相邻的、机器人在其中被配置为使用迭代最近点(ICP)算法的区域。
本公开的另一方面提供了一种机器人。机器人包括被配置为围绕环境操纵机器人的驱动系统,以及与驱动系统通信的数据处理硬件。机器人还包括与数据处理硬件通信的存储器硬件。存储器硬件存储指令,这些指令在数据处理硬件上执行时使数据处理硬件执行操作。操作包括接收在环境中操纵的机器人的传感器数据。传感器数据包括图像数据。操作还包括基于图像数据执行至少一个路径点试探法。至少一个路径点试探法被配置为触发路径点地图上的路径点放置。响应于至少一个路径点试探法触发路径点放置,操作包括在路径点地图上记录路径点。路径点与至少一条路径点边相关联,并且包括由机器人获得的传感器数据。至少一条路径点边包括表达如何在两个路径点之间移动的姿态变换。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些示例中,图像数据包括由三维体积图像传感器捕获的三维点云数据。这里,图像传感器包括立体相机、扫描光检测和测距(LIDAR)传感器或扫描激光检测和测距(LADAR)传感器中的一个或多个。路径点试探法可以被配置为在机器人的当前位置处检测图像数据内的阈值特征检测。
在一些实施方式中,路径点的传感器数据包括由三维立体图像传感器捕获的三维点云数据和姿态数据,该姿态数据包括由机器人的惯性测量单元(IMU)测得的惯性测量数据。对于给定的路径点,操作可以包括识别到给定的路径点的邻居路径点,并识别给定的路径点和邻居路径点的三维点云数据的三维点以作为三维点集合。对于给定的路径点,操作还可以包括确定三维点集合中的三维点是否与由三维点云数据表示的图像的视觉边相对应,并将与由三维点云数据表示的图像的视觉边相对应的、三维点集合中的三维点与给定的路径点关联。
在一些配置中,路径点包括机器人姿态约束,该机器人姿态约束被配置为使机器人在路径点处实现定向的姿态。路径点地图可以与邻居路径点是本地一致的。附加地或可替代地,路径点边可以包括指示环境的空间特征的注释。在路径点地图上记录路径点包括记录路径点周围的盆地区,该盆地区指定了与该路径点相邻的、机器人在其中被配置为使用迭代最近点(ICP)算法的区域。
本发明的另一方面提供了一种用于自主地图遍历的方法。该方法包括在数据处理硬件处接收围绕在环境中操纵的机器人的环境的图像数据。该方法还包括由数据处理硬件执行迭代最近点(ICP)算法,该迭代最近点(ICP)算法被配置为基于接收到的图像数据而定位到路径点地图的第一路径点。该方法还包括由数据处理硬件执行从路径点地图的第一路径点到路径点地图的第二路径点的遍历路径,以及由数据处理硬件基于接收到的图像数据通过ICP算法由数据处理硬件将定位更新到路径点地图的第二路径点。
本公开的此方面的实施方式可以包括以下可选特征中的一个或多个。在一些配置中,图像数据包括由三维体积图像传感器捕获的三维点云数据。图像传感器可以包括立体相机、扫描光检测和测距(LIDAR)传感器或扫描激光检测和测距(LADAR)传感器中的一个或多个。
在一些示例中,将定位更新到第二路径点包括将接收到的图像数据与路径点地图的存储的图像数据进行比较,该存储的图像数据与第二路径点相关联。附加地或可替代地,将定位更新到第二路径点可以包括确定与定位相关联的位置满足定位距离阈值,以及由数据处理硬件根据运动学数据和惯性测量数据在该位置处执行定位。这里,定位距离阈值指示距相应路径点的距离。
本公开的另一方面提供了一种机器人。机器人包括主体、耦合到主体并被配置为围绕环境操纵机器人的腿,以及与腿通信的数据处理硬件。机器人还包括与数据处理硬件通信的存储器硬件。存储器硬件存储指令,这些指令在数据处理硬件上执行时使数据处理硬件执行操作。操作包括接收围绕在环境中操纵的机器人的环境的图像数据。操作还包括执行迭代最近点(ICP)算法,该迭代最近点(ICP)算法被配置为基于接收到的图像数据而定位到路径点地图的第一路径点,并执行从路径点地图的第一路径点到路径点地图的第二路径点的遍历路径。操作还包括基于接收到的图像数据通过ICP算法将定位更新到路径点地图的第二路径点。
本公开内容的此方面的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,图像数据包括由三维体积图像传感器捕获的三维点云数据。这里,图像传感器包括立体相机、扫描光检测和测距(LIDAR)传感器或扫描激光检测和测距(LADAR)传感器中的一个或多个。
在一些示例中,将定位更新到第二路径点包括将接收到的图像数据与路径点地图的存储的图像数据进行比较,该存储的图像数据与第二路径点相关联。可选地,将定位更新到第二路径点还可以包括确定与定位相关联的位置满足定位距离阈值,并且由数据处理硬件根据运动学数据和惯性测量数据在该位置处执行定位。这里,定位距离阈值指示距相应路径点的距离。
在附图和以下描述中阐述了本公开的一种或多种实施方式的细节。根据说明书和附图以及根据权利要求书,其它方面、特征和优点将是显而易见的。
附图说明
图1是处于机器人环境中的机器人的示例的示意图。
图2A是用于机器人的地图的示例的示意图。
图2B是具有盆地的地图的示例路径点的示意图。
图2C是具有地图约束的示例地图的示意图。
图2D是用于机器人的示例地图的示意图。
图3和图4是用于实现机器人的机器人环境遍历的示例布置的流程图。
图5是可以被用于实现本文描述的系统和方法的示例计算设备的示意图。
各个附图中相似的附图标记指示相似的元件。
具体实施方式
图1是机器人环境10的示例。机器人环境10通常是指与某种类型的地形相关联的空间区域,其可以由机器人100根据地图200来遍历。例如,地形是城市地形(诸如建筑物、街道、人行道、公园、小巷、楼梯、坡道、隧道等)、农村地形(诸如道路、田野、丘陵、山脉、洞穴等)、地下地形(诸如洞穴、隧道等),或它们的任意组合。机器人100包括基于运动的结构,诸如附接到主体150的腿和/或轮子,其使机器人100能够围绕机器人环境10移动。虽然图1描绘了具有四条腿103、104、106、108的四足机器人,但是机器人100可以包括提供了用以遍历机器人环境10的手段、任何数量的腿或基于运动的结构(例如,具有两条腿的双足或人形机器人)。
在一些实施方式中,机器人100包括计算硬件110和至少一个传感器系统120。计算硬件110通常包括数据处理硬件112和存储器硬件114。计算硬件110被配置为控制机器人遍历系统116。机器人遍历系统116操作机器人100的行为系统102以使机器人100围绕机器人环境10移动。行为系统102通常负责控制(即,执行)机器人100的行为。例如,行为系统102控制不同的脚步模式、腿模式、主体移动模式或视觉系统感测模式。机器人遍历系统116基于提供给机器人遍历系统116的至少一个地图200来操作行为系统102。
遍历系统116被配置为与机器人100的用以提供地图200的存储器硬件114通信,以使用机器人100的数据处理硬件112来操作行为系统102。在一些示例中,存储器硬件114将地图200本地存储在机器人100上。在其它示例中,由遍历系统116远程地存储和/或访问地图200。例如,遍历系统116经由网络130与远程系统140通信。远程系统140可以是服务器或基于云的环境,其包括诸如远程数据处理硬件144和远程存储器硬件146之类的远程资源142。在一些实施方式中,在远程系统140上使用远程资源142对地图200进行存储和/或处理,并且经由网络130将其通信到机器人100的遍历系统116。在其它示例中,在远程(例如,经由远程系统140)和本地(例如,经由计算硬件110)对地图200的不同部分进行处理和/或存储。
传感器系统120包括一个或多个传感器122、122a-n。传感器122可以包括视觉/图像传感器、惯性传感器(例如,惯性测量单元(IMU))和/或运动学传感器。传感器122的一些示例包括相机,诸如立体相机、扫描光检测和测距(LIDAR)传感器或扫描激光检测和测距(LADAR)传感器。在一些示例中,传感器122具有(一个或多个)对应的视场FV,其定义了与传感器122相对应的感测范围或区域。例如,图1描绘了机器人100的视场FV。每个传感器122可以是可枢转的和/或可旋转的,从而使得传感器122可以例如围绕一个或多个轴(例如,相对于地平面G的x轴、y轴或z轴)改变视场FV。在一些实施方式中,机器人100的主体150包括传感器系统120,该传感器系统120具有围绕主体150的多个传感器122,以在机器人100周围的所有方向上采集传感器数据124。例如,图1中所描绘的四足机器人包括在其胸部122a上的传感器122、在每一侧122n(仅描绘了一侧)上的传感器122、以及在其可伸缩手122b上的传感器122。机器人100可以包括作为传感器系统120的一部分的、任何数量的传感器122,以便生成围绕机器人100的机器人环境10的传感器数据124。
当用传感器122调查视场FV时,传感器系统120生成与视场FV对应的传感器数据124。在一些示例中,传感器数据124是与由三维立体图像传感器122生成的三维立体点云对应的图像数据。附加地或可替代地,当机器人100正在围绕机器人环境10操纵时,传感器系统120采集机器人100的姿态数据,该姿态数据包括(例如,由IMU测量的)惯性测量数据。在一些示例中,姿态数据包括关于机器人100的运动学数据和/或定向数据。
由传感器系统120采集的传感器数据124(诸如与机器人环境10相关的图像数据、姿态数据、惯性数据、运动学数据等)可以被通信到机器人100的计算硬件110(例如,数据处理硬件112和存储器硬件114)。在一些示例中,传感器系统120采集并存储传感器数据124(例如,存储在存储器硬件114或远程资源142的存储器硬件146中)。在其它示例中,传感器系统120实时地采集传感器数据124并处理传感器数据124,而不存储原始的(即,未处理的)传感器数据124。在其它示例中,计算硬件110和/或远程资源142存储已处理的传感器数据124和原始的传感器数据124两者。
图2A-2D是由机器人100和/或远程系统140生成的地图200、200a-d的示例。每个地图200是用于自主地引导机器人100的环境(例如,机器人环境10)的表示。如图1中所示,当机器人100围绕机器人环境10操纵时,机器人100(或远程系统140)通过接收由传感器系统120的一个或多个视觉传感器122、122a-c捕获的机器人环境10的图像数据124来生成地图200。在一些示例中,机器人100用计算硬件110来生成地图200,而在其它示例中,远程系统140用远程资源142来生成地图200。一旦计算硬件110或者远程系统140生成了地图200,就将地图200通信到遍历系统116以执行机器人100的行为系统102。这里,行为系统102根据地图200来控制机器人100在机器人环境10内遍历。地图200可以由遍历机器人环境10的同一机器人100或不同的机器人生成。
地图200的一些优点可以被立即、重复和/或可转移地用于具有类似传感器系统120的另一个机器人。这里,一旦已经收集了所有传感器数据124,地图200就不要求最终优化。此外,机器人100可以使用地图200来自主地导航机器人环境10,而无需全球定位信息或来自信标的其它导航数据。每个地图200可以由机器人100的系统(或远程系统140)自动处理或手动处理(例如,编辑路径点210、边220、盆地230(图2B)、约束240(图2C)等)。这使得地图200能够灵活地包括附加数据(例如,注释222)或提供调整后的机器人行为(例如,抑制特征较少区域中的ICP定位)。而且,修改地图200的路径点210或边220(例如,通过添加、编辑或移除)应当对地图200的未修改部分没有影响,并且因此简化了质量控制。
地图200包括路径点210和形成路径点210之间的连接的边220(也称为路径点边)。路径点210是机器人100在机器人环境10内的特定方位感测到的(例如,根据其传感器系统120)的内容的表示。机器人100和/或远程系统140基于由机器人的传感器系统120收集的图像数据124来生成路径点210。因为地图200是由路径点210生成的,所以地图200可以是本地一致的(例如,由于邻居路径点而在区域内是空间一致的),但是不需要是全局准确的和/或一致的。
利用图像数据124,机器人100和/或远程系统140执行至少一个路径点试探法(heuristic)212(图1)(例如,路径点算法)。至少一个路径点试探法212被配置为触发路径点地图200上的路径点放置。例如,路径点试探法212被配置为在机器人100的位置处检测图像数据124内的阈值特征检测(例如,当生成或更新地图200时)。路径点试探法212可以识别机器人环境10内的用作可靠视觉传感器特征的特征,这些特征为机器人100围绕机器人环境10操纵提供了可重复性。例如,对路径点试探法212进行预编程以用于特征辨识(例如,用存储的特征进行编程),或者编程为识别在其中出现体积图像数据124的空间集群的特征(例如,房间的角落或墙壁的边)。响应于至少一个路径点试探法212触发路径点放置,机器人100和/或远程系统140将路径点210记录在地图200上。当手动地驱动机器人100通过区域(例如,机器人环境10)时,可以重复此路径点识别过程。在一些示例中,机器人100和/或远程系统140存储针对机器人100先前已经(经由其传感器系统120)感测的区域而生成的多个地图200。
每个路径点210通常与路径点边220相关联。更具体而言,边220被配置为指示一个路径点210(例如,第一路径点210a)是如何与另一个路径点210(例如,第二路径点210b)相关的。例如,边220表示路径点210(例如,相邻的路径点210)之间的位置关系。换句话说,边220是两个路径点210之间的连接(例如,图2A中所示的边220a是第一路径点210a和第二路径点210b之间的连接)。例如,边220是第一路径点210a到第二路径点210b之间的路径(例如,机器人100的移动路径)。在一些示例中,每条边220包括姿态变换,该姿态变换表达机器人100如何在两个路径点210之间沿着边220移动。姿态变换可以描述环境内一个坐标系相对于另一个坐标系的位置和/或定向。在一些实施方式中,边220包括完整的三维变换(例如,六个数值)。这些数值中的一些包括各种估计,诸如例如航位推测(dead reckoning)姿态估计、基于视觉的估计或基于机器人100的运动学和/或惯性测量的其它估计。
在一些示例中,边220包括与边220相关联的注释222,该注释提供机器人环境10的进一步指示/描述。注释222的一些示例包括边220位于楼梯上或穿过了门廊的描述或指示。这些注释222可以在操纵期间帮助机器人100,尤其是当视觉信息丢失或缺少时(例如,诸如门廊的空隙)。在一些配置中,注释222包括方向性约束(也可以被称为姿态约束)。注释222的方向性约束可以指定机器人100在特定的环境特征处的对准和/或定向(例如,姿态)。例如,注释222在机器人100沿着楼梯行进或顺着狭窄的走廊向下(这可能限制机器人100转弯)之前为机器人100指定特定的对准或姿态。
在一些实施方式中,当机器人100感测形成地图200的机器人环境时,地图200的每个路径点210还包括与由机器人100的传感器系统120收集的数据对应的传感器数据124。这里,在路径点210处的传感器数据124使得机器人100能够通过将在机器人100根据地图200遍历机器人环境10时采集的实时传感器数据124与针对地图200的路径点210存储的传感器数据124进行比较来定位。在一些配置中,在机器人100沿着边220移动(例如,意图是处于目标路径点210处)之后,机器人100被配置为通过直接将实时传感器数据124与地图200(例如,与地图200的意图目标路径点210相关联的传感器数据124)进行比较来定位。这里,通过存储地图200的路径点210的、原始的传感器数据124或采用最少处理的近似原始的传感器数据124,当机器人100在绘制的机器人环境10内操纵时,机器人100可以使用实时传感器数据124来高效地定位。在一些示例中,迭代最近点(ICP)算法相对于路径点210来定位机器人100。
传感器数据124还可以允许机器人100的初始化以使用地图200自主地遍历机器人环境10。在一些示例中,机器人100最初接收提示,该提示定义机器人100相对于路径点210的初始姿态P,PI(例如,如图2A中所示)。机器人100可以被配置为自动地或者从机器人100的操作者接收这个提示。这里,姿态P是指机器人100的运动学方位和/或定向。利用机器人100相对于相应路径点210的初始姿态PI,机器人100根据来自遍历系统116的、指示机器人100沿着边220移动的命令来遍历地图200。例如,图2A的地图200a示出了机器人100沿着边220a-f在路径点210a-f之间移动。
在一些配置中,地图200包括未处理的地图202和/或经处理的地图204。未处理的地图202是包括在地图200的生成期间由机器人100的传感器系统120采集的所有原始或近似原始的传感器数据124(例如,在图2A中示为点和/或点云)的地图200。相反,经处理的地图204将路径点210的传感器数据124与路径点210的直接邻居一起处理。换句话说,经处理的地图204可以包含更大范围的数据,诸如机器人环境10内的多个路径点210的数据。在一些示例中,经处理的地图204减少了路径点210和边220附近的噪声,从而增加了自主遍历的有效性。例如,参照图2A的地图200a,将路径点210a的传感器数据124与邻居路径点210b、210d的所有传感器数据124一起处理。在一些示例中,经处理的地图204描绘与边220相对应的点(例如,体积点)以作为经处理的地图204的视觉图像。作为示例,对于给定的路径点210a,生成经处理的地图204的机器人100或远程系统140(即,处理系统)识别给定的路径点210a的邻居路径点210b、210d。利用识别出的邻居路径点210b、210d,遍历系统116确定三维点云中与路径点210a、210b、210d相对应的三维点是否与由三维点云数据表示的图像的视觉边相对应。基于这个确定,遍历系统116将给定的路径点210a与和由三维点云数据表示的图像的视觉边相对应的三维点相关联。附加地或可替代地,对经处理的地图204的处理移除了沿着未被传感器系统120从多个有利的点观察到的边220的任何传感器数据124。
图2B是使用围绕一个或多个路径点210的盆地区的地图200b的示例。这里,路径点210配置有对应的盆地(basin)230。盆地230是指围绕路径点210的指定区(例如,在图2B中以标记为230的点线圆内的区域示出),在在该区域中机器人100使用ICP算法来确定其相对于路径点210的移动。通过使用ICP算法,机器人100可以微调其方位。当机器人100确定机器人100的位置L在对应路径点210的盆地230的外部时,机器人100被配置为使用运动学和/或惯性测量来确定机器人100的移动。在所示的示例中,当机器人100处于第一位置L1时,机器人100使用ICP算法来确定机器人100的移动。但是,当机器人100处于第二位置L2时,机器人100根据运动学和/或惯性测量来确定机器人100的移动。
在一些示例中,路径点210内的区域被称为目标区。一旦机器人100在目标区内,机器人100就已经成功地导航到路径点210。在成功导航到路径点210(即,进入目标区)后,机器人100可以继续沿着机器人100的路径朝着后续的路径点210移动。
在一些配置中,当定位质量差时,遍历系统116可以停止根据地图200来自主地引导机器人100。这种停止可以基于盆地230或基于例如定位阈值(例如,距路径点210的位置L,在该位置处,机器人100的操作者将认为机器人100迷路了)来发生。例如,定位阈值是距路径点210的距离,其被确定为在基于ICP算法来执行定位的路径点210的范围之外。
附加地或可替代地,机器人100可以在根据运动学、惯性测量或ICP算法进行导航的同时利用全球定位(例如,全球定位系统(GPS)接收器)。在一些示例中,机器人100首先使用地图200来确定机器人100的初始航向(例如,沿着路径点210之间的边220),但随后用在机器人100处从GPS接收器接收到的GPS测量来补充导航(例如,补充运动学、惯性测量或ICP算法),。在一些配置中,计算硬件110被配置为接收GPS测量(例如,计算硬件110配置有GPS接收器)。当机器人100正在室外机器人环境10中导航时,补充GPS系统可以十分有用。机器人100可以被配置为使得,当机器人100感测到特定的机器人环境10时(例如,当机器人100感测到具有较少相邻特征的室外环境时),机器人100始终使用GPS系统或利用GPS系统来提供导航输入。例如,当定位质量差时,机器人100激活和/或使用GPS系统来提供导航输入。在一些配置中,GPS系统跟踪机器人100的路径。在这些配置中,可以将GPS路径与地图200上的边220进行比较,以向遍历系统116提供反馈(例如,使用遍历系统116来微调自主导航)。
参照图2C,在一些实施方式中,地图200c包括地图约束240,240a-b。地图约束240是指虚拟障碍物,其阻止机器人100偏向用虚拟障碍物指定或阻挡的区域。换句话说,地图约束240可以帮助防止机器人100明显偏离与一条或多条边220相对应的移动路径。地图约束240可以相对于记录的路径来放置、由操作者手动添加或基于场景几何形状被预先计算。例如,在图2C中,边220a-c可以与走廊相对应。当机器人100用路径点210a-c和与走廊相对应的边220a-c来记录地图200时,机器人100可能从来没有被驱动进入走廊任一侧的房间和/或门廊。通过第一地图约束240a和第二地图约束240b在这些房间相应的门廊处将这些房间封堵可能是有利。因而,利用第一地图约束240a和第二地图约束240b,应当阻止机器人100在遵循边220a-c时漫游进入房间,从而防止机器人100迷路或偏航。
图2D示出了具有时间索引的机器人轨迹250的地图200d(例如,经处理的地图204),遍历系统116配置机器人100遵循该器人轨迹250。时间索引的机器人轨迹250是机器人100在路径点210之间的移动轨迹。时间索引的机器人轨迹250也可以被称为遍历路径250。这里,图2D通过箭头描绘了时间索引的机器人轨迹250,该箭头从机器人100当前所在的第一路径点210a(在路径点210a内示为“X”)指向第三路径点210c。为了导航时间索引的机器人轨迹250,机器人100将遍历边220a、220b。
在一些示例中,遍历系统116跨即将到来的路径点210生成时间索引的机器人轨迹250,以用于机器人100的移动。在一些实施方式中,对于时间索引的机器人轨迹250,遍历系统116指定机器人100在每个路径点210处的定向是在通过相应路径点210的路线的当前边220和下一条边220之间的中间。这里,时间t可以基于由于轨迹而到达每个路径点210的预期时间te。当机器人100沿轨迹250行进时,可以基于对机器人100何时应到达每个路径点210的更新后的估计来更新轨迹250的时间t(例如,从第二路径点210b行进到第三路径点210c的时间t2)。在这种配置中,当与路径点210相对应的时间t接近当前时间时,该路径点的时间被更新。在一些示例中,在当前时间经过了与路径点210相关联的时间之后,遍历系统116考虑到达的路径点210并且随后将其从轨迹中移除。
附加地或可替代地,如图2A和2C的地图200a、200c中所示,与边220相关联的注释222可以在与时间索引的机器人轨迹相关联的路径点210处修改机器人100的定向,从而使得机器人100符合注释222的方向性约束。基于这些方向性约束,还可以针对轨迹内的路径点210来估计机器人100的定向。当定向估计根据方向性约束确定定向将是不正确的时,可以将定向片段(例如,转弯(turn-in-place)片段)添加到时间索引的机器人轨迹,以确保机器人100符合方向性约束。
返回参照图1,机器人100的行为系统102可以可选地从遍历系统116接收路径描述206,该路径描述206包括用于到达一个或多个路径点210的目标条件和约束条件。基于这些目标条件和约束条件,只要调整后的路线满足目标和约束条件,机器人100就用调整其路线的能力来遵循路径描述206。条件的一些示例包括指定机器人100在目标路径点210处或附近的位置或定向,或者指定行进到目标路径点210的位置、定向和/或速度。
图3是用于配置地图200的方法300的示例流程图。在操作302处,方法300接收围绕在机器人环境10中操纵的机器人100的机器人环境10的图像数据124。在操作304处,方法300执行至少一个路径点试探法212,其中至少一个路径点试探法212被配置为触发路径点地图200上的路径点放置。响应于至少一个路径点试探法212触发路径点放置,在操作306处,方法300将路径点210记录在路径点地图200上。这里,路径点210与至少一条路径点边220相关联,并且包括由机器人100的传感器系统120获得的传感器数据124。至少一条路径点边220可以包括表达如何在两个路径点210之间移动的姿态变换。
图4是用于相对于路径点地图200定位机器人100的方法400的示例流程图。在操作402处,方法400接收围绕在机器人环境10中操纵的机器人100的机器人环境10的图像数据124。在操作404处,方法400基于接收到的图像数据124执行迭代最近点(ICP)算法,该算法被配置为定位到路径点地图200的第一路径点210a。在操作406处,方法400执行从路径点地图200的第一路径点210a到路径点地图200的第二路径点210b的遍历路径250。在操作404处,方法400基于接收到的图像数据通过ICP算法将定位更新到路径点地图200的第二路径点210b。
图5是可以用于实现本文档中描述的系统和方法(例如,行为系统102,计算硬件110、遍历系统116或远程资源142)的示例计算设备500的示意图。计算设备500旨在表示各种形式的数字计算机,诸如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。这里所示的部件、它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。
计算设备500包括处理器510、存储器520、存储设备530、连接到存储器520的高速接口/控制器540和高速扩展端口550以及连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每一个都使用各种总线互连,并且可以安装在共同的主板上或以其它适当方式安装。处理器510可以处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储设备530上的用于在外部输入/输出设备(诸如耦合到高速接口540的显示器580)上显示图形用户界面(GUI)的图形信息的指令。在其它实施方式中,可以适当地使用多个处理器和/或多条总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备500,每个计算设备提供必要操作的部分(例如,作为服务器堆(bank)、一组刀片服务器或多处理器系统)。
存储器520在计算设备500内非暂时性地存储信息。存储器520可以是计算机可读介质、(一个或多个)易失性存储器单元或(一个或多个)非易失性存储器单元。非暂态存储器520可以是用于临时地或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备以供计算设备700使用。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电子可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储器设备,或设备的阵列,包括存储区域网络或其它配置中的设备。在另外的实施方式中,计算机程序产品有形地实施在信息载体中。计算机程序产品包含在执行时执行一种或多种方法(例如上述方法)的指令。信息载体是计算机或机器可读介质,诸如存储器520、存储设备530或处理器510上的存储器。
高速控制器540管理计算设备500的带宽密集型操作,而低速控制器560管理较低带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器540(例如,通过图形处理器或加速器)耦合到存储器520、显示器580和可以接受各种扩展卡(未示出)的高速扩展端口550。在一些实施方式中,低速控制器560耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口590可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或联网设备(诸如交换机或路由器)。
计算设备500可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器500a或在一组这样的服务器500a中多次实现、被实现为膝上型计算机500b或被实现为机架服务器系统500c的一部分。
本文描述的系统和技术的各种实施方式可以以数字电子器件和/或光学电路系统、集成电路系统、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合来实现。这些各种实施方式可以包括在一个或多个计算机程序中的实施方式,该一个或多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,其被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向其发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程式和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂态计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行过程和逻辑流程也可以通过专用逻辑电路系统来执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机中的任何一个或多个处理器。通常而言,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常而言,计算机还将包括或可操作地耦合以从其接收数据或向其传输数据或两者的一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘。但是,计算机不必具有此类设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统作为补充或并入到专用逻辑电路中。
为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏,以及可选地用户通过其可以向计算机提供输入的键盘和指示设备,例如,鼠标或轨迹球。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档;例如,通过响应于从web浏览器接收到的请求向用户的客户端设备上的web浏览器发送网页来与用户进行交互。
已经描述了许多实施方式。但是,将理解的是,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因此,其它实施方式在所附权利要求的范围内。
Claims (30)
1.一种方法(300),包括:
在数据处理硬件(112)处接收围绕在环境(10)中操纵的机器人(100)的环境(10)的传感器数据(124),所述传感器数据(124)包括图像数据(124);
由所述数据处理硬件(112)基于所述图像数据(124)执行至少一个路径点试探法(212),所述至少一个路径点试探法(212)被配置为触发路径点地图(200)上的路径点放置;并且
响应于所述至少一个路径点试探法(212)触发所述路径点放置,由所述数据处理硬件(112)在所述路径点地图(200)上记录路径点(210),所述路径点(210)与至少一条路径点边(220)相关联并且包括由所述机器人(100)获得的所述传感器数据(124)中的至少一些,所述至少一条路径点边(220)包括表达如何在两个路径点(210)之间移动的姿态变换。
2.如权利要求1所述的方法(300),其中所述图像数据(124)包括由三维体积图像传感器(122)捕获的三维点云数据。
3.如权利要求2所述的方法(300),其中所述三维体积图像传感器(122)包括以下一种或多种:立体相机、扫描光检测和测距(LIDAR)传感器,或扫描激光检测和测距(LADAR)传感器。
4.如权利要求1-3中的任一项所述的方法(300),其中所述路径点试探法(212)被配置为在所述机器人(100)的当前位置处检测所述图像数据(124)内的阈值特征检测。
5.如权利要求1-4中的任一项所述的方法(300),其中所述路径点(210)的传感器数据(124)包括:
由三维体积图像传感器(122)捕获的三维点云数据;以及
姿态数据(124),其包括由所述机器人(100)的惯性测量单元(IMU)测得的惯性测量数据(124)。
6.如权利要求5所述的方法(300),还包括,对于给定的路径点(210):
识别到所述给定的路径点(210)的邻居路径点(210);
识别所述给定的路径点(210)和所述邻居路径点(210)的三维点云数据的三维点以作为三维点集合;
确定所述三维点集合中的三维点是否与由三维点云数据表示的图像的视觉边相对应;并且
将与由三维点云数据表示的图像的视觉边相对应的、所述三维点集合中的三维点与所述给定的路径点(210)相关联。
7.如权利要求1-6中的任一项所述的方法(300),其中所述路径点(210)包括机器人姿态约束(240),该机器人姿态约束(240)被配置为使所述机器人(100)在所述路径点(210)处实现定向的姿态。
8.如权利要求1-7中的任一项所述的方法(300),其中所述路径点地图(200)与所述邻居路径点(210)是本地一致的。
9.如权利要求1所述的方法(300),其中所述路径点边(220)包括指示所述环境(10)的空间特征的注释。
10.如权利要求1至9中的任一项所述的方法(300),其中在所述路径点地图(200)上记录所述路径点(210)还包括记录所述路径点(210)周围的盆地区(230),所述盆地区(230)指定与所述路径点(210)相邻的、机器人(100)在其中被配置为使用迭代最近点(ICP)算法的区域。
11.一种机器人(100),包括:
驱动系统,被配置为围绕环境(10)操纵所述机器人(100);
与所述驱动系统通信的数据处理硬件(112);以及
与所述数据处理硬件(112)通信的存储器硬件(114),所述存储器硬件(114)存储指令,该指令在所述数据处理硬件(112)上执行时使所述数据处理硬件(112)执行包括以下步骤的操作:
接收在所述环境(10)中操纵的所述机器人(100)的传感器数据(124),所述传感器数据(124)包括图像数据(124);
基于所述图像数据(124)执行至少一个路径点试探法(212),所述至少一个路径点试探法(212)被配置为触发路径点地图(200)上的路径点放置;以及
响应于所述至少一个路径点试探法(212)触发所述路径点放置,在所述路径点地图(200)上记录路径点(210),所述路径点(210)与至少一条路径点边(220)相关联并且包括由所述机器人(100)获得的传感器数据(124),所述至少一条路径点边(220)包括表达如何在两个路径点(210)之间移动的姿态变换。
12.如权利要求11所述的机器人(100),其中所述图像数据(124)包括由三维体积图像传感器(122)捕获的三维点云数据。
13.如权利要求12所述的机器人(100),其中所述图像传感器包括以下一种或多种:立体相机、扫描光检测和测距(LIDAR)传感器,或扫描激光检测和测距(LADAR)传感器。
14.如权利要求11-13中的任一项所述的机器人(100),其中所述路径点试探法(212)被配置为在所述机器人(100)的当前位置处检测图像数据(124)内的阈值特征检测。
15.如权利要求11-14中的任一项所述的机器人(100),其中所述路径点(210)的传感器数据(124)包括:
由三维体积图像传感器(122)捕获的三维点云数据;以及
姿态数据(124),其包括由所述机器人(100)的惯性测量单元(IMU)测得的惯性测量数据(124)。
16.如权利要求15所述的机器人(100),其中所述操作还包括,对于给定的路径点(210):
识别到所述给定的路径点(210)的邻居路径点(210);
识别所述给定的路径点(210)和所述邻居路径点(210)的三维点云数据的三维点以作为三维点集合;
确定所述三维点集合中的三维点是否与由三维点云数据表示的图像的视觉边相对应;以及
将与由三维点云数据表示的图像的视觉边相对应的、所述三维点集合中的三维点与所述给定的路径点(210)相关联。
17.如权利要求11-16中的任一项所述的机器人(100),其中所述路径点(210)包括机器人姿态约束(240),所述机器人姿态约束被配置为使所述机器人(100)在所述路径点(210)处实现定向的姿态。
18.如权利要求11-17中的任一项所述的机器人(100),其中所述路径点地图(200)与邻居路径点(210)是本地一致的。
19.如权利要求11-18中的任一项所述的机器人(100),其中所述路径点边(220)包括指示所述环境(10)的空间特征的注释。
20.如权利要求11-19中的任一项所述的机器人(100),其中在所述路径点地图(200)上记录所述路径点(210)还包括记录所述路径点(210)周围的盆地区(230),所述盆地区(230)指定与所述路径点(210)相邻的、机器人(100)在其中被配置为使用迭代最近点(ICP)算法的区域。
21.一种方法(400),包括:
在数据处理硬件(112)处接收围绕在环境(10)中操纵的机器人(100)的所述环境(10)的图像数据(124);
由所述数据处理硬件(112)执行迭代最近点(ICP)算法,所述迭代最近点(ICP)算法被配置为基于接收到的图像数据(124)而定位到路径点地图(200)的第一路径点(210a);
由所述数据处理硬件(112)执行从所述路径点地图(200)的所述第一路径点(210a)到所述路径点地图(200)的第二路径点(210b)的遍历路径(250);以及
由所述数据处理硬件(112)基于接收到的图像数据(124)通过ICP算法将定位更新到所述路径点地图(200)的所述第二路径点(210b)。
22.如权利要求21所述的方法(400),其中所述图像数据(124)包括由三维体积图像传感器(122)捕获的三维点云数据。
23.如权利要求22所述的方法(400),其中所述图像传感器(122)包括以下一种或多种:立体相机、扫描光检测和测距(LIDAR)传感器,或扫描激光检测和测距(LADAR)传感器。
24.如权利要求21-23中的任一项所述的方法(400),其中将所述定位更新到所述第二路径点(210b)还包括将接收到的图像数据(124)与路径点地图(200)的存储的图像数据(124)进行比较,所述存储的图像数据(124)与所述第二路径点(210b)相关联。
25.如权利要求21-24中的任一项所述的方法(400),其中将所述定位更新到所述第二路径点(210b)还包括:
确定与所述定位相关联的位置满足定位距离阈值,所述定位距离阈值指示距相应路径点(210)的距离;以及
由所述数据处理硬件(112)根据运动学数据(124)和惯性测量数据(124)在所述位置处执行定位。
26.一种机器人(100),包括:
主体(150);
腿(103,104,106,108),其耦合到所述主体(150)并被配置为围绕环境(10)操纵所述机器人(100);
与所述腿(103,104,106,108)通信的数据处理硬件(112);以及
与所述数据处理硬件(112)通信的存储器硬件(114),所述存储器硬件(114)存储指令,所述指令在所述数据处理硬件(112)上执行时使所述数据处理硬件(112)执行包括以下步骤的操作:
接收围绕在环境(10)中操纵的机器人(100)的环境(10)的图像数据(124);
执行迭代最近点(ICP)算法,所述迭代最近点(ICP)算法被配置为基于接收到的图像数据(124)而定位到路径点地图(200)的第一路径点(210a);
执行从所述路径点地图(200)的所述第一路径点(210a)到所述路径点地图(200)的第二路径点(210b)的遍历路径(250);以及
基于接收到的图像数据(124)通过ICP算法将定位更新到所述路径点地图(200)的所述第二路径点(210b)。
27.如权利要求26所述的机器人(100),其中所述图像数据(124)包括由三维体积图像传感器(122)捕获的三维点云数据。
28.如权利要求27所述的机器人(100),其中所述图像传感器包括以下一种或多种:立体相机、扫描光检测和测距(LIDAR)传感器,或扫描激光检测和测距(LADAR)传感器。
29.如权利要求26-28中的任一项所述的机器人(100),其中将所述定位更新到所述第二路径点(210b)还包括将接收到的图像数据(124)与所述路径点地图(200)的存储的图像数据(124)进行比较,所述存储的图像数据(124)与所述第二路径点(210b)相关联。
30.如权利要求26-29中的任一项所述的机器人(100),其中将所述定位更新到所述第二路径点(210b)还包括:
确定与所述定位相关联的位置满足定位距离阈值,所述定位距离阈值指示距相应路径点(210)的距离;以及
由所述数据处理硬件(112)根据运动学数据(124)和惯性测量数据(124)在所述位置处执行定位。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862745013P | 2018-10-12 | 2018-10-12 | |
US62/745,013 | 2018-10-12 | ||
US16/295,592 | 2019-03-07 | ||
US16/295,592 US11747825B2 (en) | 2018-10-12 | 2019-03-07 | Autonomous map traversal with waypoint matching |
PCT/US2019/047804 WO2020076422A2 (en) | 2018-10-12 | 2019-08-23 | Autonomous map traversal with waypoint matching |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112840285A true CN112840285A (zh) | 2021-05-25 |
Family
ID=70161286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980067282.8A Pending CN112840285A (zh) | 2018-10-12 | 2019-08-23 | 具有路径点匹配的自主地图遍历 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11747825B2 (zh) |
EP (1) | EP3864484A2 (zh) |
JP (1) | JP7259020B2 (zh) |
KR (2) | KR102504729B1 (zh) |
CN (1) | CN112840285A (zh) |
WO (1) | WO2020076422A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741457A (zh) * | 2021-09-03 | 2021-12-03 | 上海擎朗智能科技有限公司 | 地图构建和使用方法、机器人及存储介质 |
CN116188702A (zh) * | 2023-04-28 | 2023-05-30 | 北京德塔精要信息技术有限公司 | 一种相机漫游路线的搭建方法、系统、设备及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11747825B2 (en) | 2018-10-12 | 2023-09-05 | Boston Dynamics, Inc. | Autonomous map traversal with waypoint matching |
EP4010659A1 (en) | 2019-08-06 | 2022-06-15 | Boston Dynamics, Inc. | Intermediate waypoint generator |
US11712802B2 (en) | 2020-04-20 | 2023-08-01 | Boston Dynamics, Inc. | Construction constrained motion primitives from robot maps |
US11927961B2 (en) | 2020-04-20 | 2024-03-12 | Boston Dynamics, Inc. | Constrained robot autonomy language |
US11681304B2 (en) * | 2020-09-01 | 2023-06-20 | International Business Machines Corporation | Emergency response system |
CN112097744B (zh) * | 2020-09-16 | 2022-08-30 | 上海遥程信息科技有限公司 | 一种竖立面的图像扫描方法、装置、设备和存储介质 |
US20230157506A1 (en) * | 2021-11-22 | 2023-05-25 | Irobot Corporation | Trajectory-based localization and mapping |
US20230211842A1 (en) * | 2021-12-31 | 2023-07-06 | Hyundai Motor Company | Autonomous walking vehicle |
US20240210177A1 (en) * | 2022-12-23 | 2024-06-27 | Brookhurst Garage, Inc. | Topometric map based autonomous navigation for inventory drone |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617170A (zh) * | 2003-09-19 | 2005-05-18 | 索尼株式会社 | 环境识别设备及方法,路径规划设备及方法以及机器人 |
WO2007051972A1 (en) * | 2005-10-31 | 2007-05-10 | Qinetiq Limited | Navigation system |
CN102037317A (zh) * | 2008-10-08 | 2011-04-27 | 通腾科技股份有限公司 | 与交通工具内使用的导航设备相关的改进 |
CN104470685A (zh) * | 2013-01-18 | 2015-03-25 | 艾罗伯特公司 | 提供用于家庭环境控制的环境绘图的移动机器人 |
CN104536445A (zh) * | 2014-12-19 | 2015-04-22 | 深圳先进技术研究院 | 移动导航方法和系统 |
CN106371445A (zh) * | 2016-11-17 | 2017-02-01 | 浙江大学 | 一种基于拓扑地图的无人车规划控制方法 |
US9717387B1 (en) * | 2015-02-26 | 2017-08-01 | Brain Corporation | Apparatus and methods for programming and training of robotic household appliances |
CN108052103A (zh) * | 2017-12-13 | 2018-05-18 | 中国矿业大学 | 基于深度惯性里程计的巡检机器人地下空间同时定位和地图构建方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3467136B2 (ja) | 1995-11-07 | 2003-11-17 | 富士重工業株式会社 | 自律走行車の走行制御装置 |
US20050216182A1 (en) | 2004-03-24 | 2005-09-29 | Hussain Talib S | Vehicle routing and path planning |
JP4479372B2 (ja) | 2004-06-25 | 2010-06-09 | ソニー株式会社 | 環境地図作成方法、環境地図作成装置、及び移動型ロボット装置 |
US7444237B2 (en) | 2005-01-26 | 2008-10-28 | Fujitsu Limited | Planning a journey that includes waypoints |
US20100066587A1 (en) | 2006-07-14 | 2010-03-18 | Brian Masao Yamauchi | Method and System for Controlling a Remote Vehicle |
US8843244B2 (en) | 2006-10-06 | 2014-09-23 | Irobot Corporation | Autonomous behaviors for a remove vehicle |
CA2602879A1 (en) | 2006-09-14 | 2008-03-14 | University Of South Florida | System and method for real-time travel path prediction and automatic incident alerts |
JP2008072963A (ja) | 2006-09-21 | 2008-04-03 | Yanmar Co Ltd | 農用作業車 |
US8930058B1 (en) | 2008-10-20 | 2015-01-06 | The United States Of America As Represented By The Secretary Of The Navy | System and method for controlling a vehicle traveling along a path |
KR101581197B1 (ko) * | 2009-01-06 | 2015-12-30 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
US9400503B2 (en) | 2010-05-20 | 2016-07-26 | Irobot Corporation | Mobile human interface robot |
US9014848B2 (en) * | 2010-05-20 | 2015-04-21 | Irobot Corporation | Mobile robot system |
US8831826B2 (en) | 2011-11-16 | 2014-09-09 | Flextronics Ap, Llc | Gesture recognition for on-board display |
KR101772977B1 (ko) * | 2010-10-07 | 2017-08-31 | 삼성전자주식회사 | 이동 로봇 및 그 지도 작성 방법 |
US9146558B2 (en) * | 2010-11-30 | 2015-09-29 | Irobot Corporation | Mobile robot and method of operating thereof |
US9323250B2 (en) * | 2011-01-28 | 2016-04-26 | Intouch Technologies, Inc. | Time-dependent navigation of telepresence robots |
KR20130020107A (ko) * | 2011-08-19 | 2013-02-27 | 박재형 | 차륜구동과 4족보행을 동시에 취할 수 있는 하이브리드형 구동 로봇의 주행 알고리듬과 그 로봇. |
US9463574B2 (en) | 2012-03-01 | 2016-10-11 | Irobot Corporation | Mobile inspection robot |
JP2013250795A (ja) | 2012-05-31 | 2013-12-12 | Aisin Seiki Co Ltd | 移動体誘導装置及び移動体誘導方法 |
JP5886502B2 (ja) | 2012-12-20 | 2016-03-16 | トヨタ自動車株式会社 | 移動体制御装置、移動体制御方法及び制御プログラム |
US9483055B2 (en) | 2012-12-28 | 2016-11-01 | Irobot Corporation | Autonomous coverage robot |
US8849494B1 (en) | 2013-03-15 | 2014-09-30 | Google Inc. | Data selection by an autonomous vehicle for trajectory modification |
CN203371557U (zh) | 2013-07-19 | 2014-01-01 | 上海化学工业区公共管廊有限公司 | 机器人视频系统 |
ES2617307T3 (es) * | 2014-04-14 | 2017-06-16 | Softbank Robotics Europe | Un procedimiento de localización de un robot en un plano de localización |
JP2016081404A (ja) | 2014-10-21 | 2016-05-16 | 株式会社日立製作所 | 自律移動装置 |
US9352470B1 (en) * | 2014-11-11 | 2016-05-31 | Google Inc. | Yaw slip handling in a robotic device |
JP6481347B2 (ja) | 2014-11-28 | 2019-03-13 | 村田機械株式会社 | 移動量推定装置、自律移動体、及び移動量の推定方法 |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
CN107922119B (zh) | 2015-11-25 | 2020-05-29 | 株式会社日立制作所 | 货架配置系统、搬运机器人以及货架配置方法 |
US9868210B1 (en) | 2015-12-30 | 2018-01-16 | Google Inc. | Methods and systems for planning a body position of a robotic device |
EP3403146A4 (en) * | 2016-01-15 | 2019-08-21 | iRobot Corporation | AUTONOMOUS MONITORING ROBOT SYSTEMS |
US9933781B1 (en) | 2016-11-23 | 2018-04-03 | Denso International America, Inc. | Data-driven planning for automated driving |
US10296012B2 (en) | 2016-12-21 | 2019-05-21 | X Development Llc | Pre-computation of kinematically feasible roadmaps |
DE102017214746A1 (de) | 2017-08-23 | 2019-02-28 | Neusoft Technology Solutions Gmbh | Verfahren zur Erzeugung alternativer Routenvorschläge |
US10754339B2 (en) | 2017-09-11 | 2020-08-25 | Baidu Usa Llc | Dynamic programming and quadratic programming based decision and planning for autonomous driving vehicles |
US10606269B2 (en) | 2017-12-19 | 2020-03-31 | X Development Llc | Semantic obstacle recognition for path planning |
EP3776447A1 (en) | 2018-04-12 | 2021-02-17 | Uber Technologies, Inc. | Autonomous vehicle control using service pools across different service entities |
US11747825B2 (en) | 2018-10-12 | 2023-09-05 | Boston Dynamics, Inc. | Autonomous map traversal with waypoint matching |
EP4010659A1 (en) | 2019-08-06 | 2022-06-15 | Boston Dynamics, Inc. | Intermediate waypoint generator |
CN211956515U (zh) | 2020-04-30 | 2020-11-17 | 上海允登信息科技有限公司 | 一种数据中心it设备智能资产盘点系统 |
CN111604916B (zh) | 2020-04-30 | 2024-04-02 | 杭州优云科技有限公司 | 一种机房it设备故障机柜u位定位系统及方法 |
CN112034861A (zh) | 2020-09-15 | 2020-12-04 | 航天科工智能机器人有限责任公司 | 一种仿生自主机器人自主避障系统及其避障方法 |
US20220388170A1 (en) | 2021-06-04 | 2022-12-08 | Boston Dynamics, Inc. | Alternate Route Finding for Waypoint-based Navigation Maps |
US20220390954A1 (en) | 2021-06-04 | 2022-12-08 | Boston Dynamics, Inc. | Topology Processing for Waypoint-based Navigation Maps |
CN117795444A (zh) | 2021-06-04 | 2024-03-29 | 波士顿动力公司 | 动态环境中导航的定向探索 |
CN113633219B (zh) * | 2021-07-23 | 2022-12-20 | 美智纵横科技有限责任公司 | 回充路径确定方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-03-07 US US16/295,592 patent/US11747825B2/en active Active
- 2019-08-23 JP JP2021517187A patent/JP7259020B2/ja active Active
- 2019-08-23 CN CN201980067282.8A patent/CN112840285A/zh active Pending
- 2019-08-23 EP EP19765841.2A patent/EP3864484A2/en active Pending
- 2019-08-23 WO PCT/US2019/047804 patent/WO2020076422A2/en unknown
- 2019-08-23 KR KR1020217014063A patent/KR102504729B1/ko active IP Right Grant
- 2019-08-23 KR KR1020237006525A patent/KR102648771B1/ko active IP Right Grant
-
2021
- 2021-01-25 US US17/157,405 patent/US11656630B2/en active Active
-
2023
- 2023-07-18 US US18/354,500 patent/US20230359220A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617170A (zh) * | 2003-09-19 | 2005-05-18 | 索尼株式会社 | 环境识别设备及方法,路径规划设备及方法以及机器人 |
WO2007051972A1 (en) * | 2005-10-31 | 2007-05-10 | Qinetiq Limited | Navigation system |
CN102037317A (zh) * | 2008-10-08 | 2011-04-27 | 通腾科技股份有限公司 | 与交通工具内使用的导航设备相关的改进 |
CN104470685A (zh) * | 2013-01-18 | 2015-03-25 | 艾罗伯特公司 | 提供用于家庭环境控制的环境绘图的移动机器人 |
CN104536445A (zh) * | 2014-12-19 | 2015-04-22 | 深圳先进技术研究院 | 移动导航方法和系统 |
US9717387B1 (en) * | 2015-02-26 | 2017-08-01 | Brain Corporation | Apparatus and methods for programming and training of robotic household appliances |
CN106371445A (zh) * | 2016-11-17 | 2017-02-01 | 浙江大学 | 一种基于拓扑地图的无人车规划控制方法 |
CN108052103A (zh) * | 2017-12-13 | 2018-05-18 | 中国矿业大学 | 基于深度惯性里程计的巡检机器人地下空间同时定位和地图构建方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741457A (zh) * | 2021-09-03 | 2021-12-03 | 上海擎朗智能科技有限公司 | 地图构建和使用方法、机器人及存储介质 |
CN116188702A (zh) * | 2023-04-28 | 2023-05-30 | 北京德塔精要信息技术有限公司 | 一种相机漫游路线的搭建方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022511359A (ja) | 2022-01-31 |
KR20230035139A (ko) | 2023-03-10 |
US20230359220A1 (en) | 2023-11-09 |
JP7259020B2 (ja) | 2023-04-17 |
KR102504729B1 (ko) | 2023-03-02 |
US20210141389A1 (en) | 2021-05-13 |
US11656630B2 (en) | 2023-05-23 |
KR20210058998A (ko) | 2021-05-24 |
US11747825B2 (en) | 2023-09-05 |
KR102648771B1 (ko) | 2024-03-18 |
WO2020076422A2 (en) | 2020-04-16 |
WO2020076422A3 (en) | 2020-05-14 |
US20200117214A1 (en) | 2020-04-16 |
EP3864484A2 (en) | 2021-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102504729B1 (ko) | 웨이포인트 매칭을 이용한 자율적 맵 주행 | |
US11960304B2 (en) | Localization and mapping using physical features | |
JP7502409B2 (ja) | 中間ウェイポイント生成器 | |
US8271132B2 (en) | System and method for seamless task-directed autonomy for robots | |
US20220390950A1 (en) | Directed exploration for navigation in dynamic environments | |
TW201826993A (zh) | 具有基於環境之操作速度變化的機器人清潔裝置 | |
US11340620B2 (en) | Navigating a mobile robot | |
JP2007310866A (ja) | 絶対方位角を利用したロボット及びこれを利用したマップ作成方法 | |
US20230321830A1 (en) | Construction constrained motion primitives from robot maps | |
KR101132713B1 (ko) | 이동로봇의 이동 제어장치, 이를 구비하는 이동로봇 시스템 및 이동로봇의 이동 제어방법 | |
CN116830061A (zh) | 动态站点上的机器人自主的语义模型 | |
Roggeman et al. | Embedded vision-based localization and model predictive control for autonomous exploration | |
WO2022227632A1 (zh) | 基于图像的轨迹规划方法和运动控制方法以及使用该些方法的移动机器 | |
Pang et al. | A Low-Cost 3D SLAM System Integration of Autonomous Exploration Based on Fast-ICP Enhanced LiDAR-Inertial Odometry | |
Ferrin | Autonomous Goal-Based Mapping and Navigation Using a Ground Robot | |
US20240192695A1 (en) | Anchoring based transformation for aligning sensor data of a robot with a site model | |
Li et al. | Design and Implementation of Autonomous Navigation System Based on Tracked Mobile Robot | |
Wu et al. | Hybrid navigation of an autonomous mobile robot to depress an elevator button | |
Charabaruk et al. | Design and development of an autonomous omnidirectional hazardous materials handling robot | |
Liu | Mobile Robot Manipulator System Design for Localization and Mapping in Cluttered Environments | |
Gowtham et al. | Autonomous Robotic Exploration and Navigation System using Tri-layered Mapping and Geometrical Path Planning Techniques | |
CN115668088A (zh) | 受约束机器人自主语言 | |
Kim | Tracking Control for Reliable Outdoor Navigation Using Curb Detection | |
Wang et al. | Adaptive Autonomous Navigation System for Coal Mine Inspection Robots: Overcoming Intersection Challenges and Enhancing Safety | |
Nakamura et al. | Development of an Environment Recognition System for Multiple Mobile Robots Controlled by a Human |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |