DE112011104645T5 - Mobile human interface robot - Google Patents

Mobile human interface robot Download PDF

Info

Publication number
DE112011104645T5
DE112011104645T5 DE112011104645T DE112011104645T DE112011104645T5 DE 112011104645 T5 DE112011104645 T5 DE 112011104645T5 DE 112011104645 T DE112011104645 T DE 112011104645T DE 112011104645 T DE112011104645 T DE 112011104645T DE 112011104645 T5 DE112011104645 T5 DE 112011104645T5
Authority
DE
Germany
Prior art keywords
sensor
robot
imaging
scene
mobile robot
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.)
Withdrawn
Application number
DE112011104645T
Other languages
German (de)
Inventor
Cheuk Wah Wong
Brian C. jun. Benson
Michael T. Rosenstein
Steven V. Shamlian
Mark Chiappetta
Justin H. Kearns
Eben Rauhut
Michael Halloran
Chikyung Won
Robert Todd Pack
Timothy S. Farlow
Peter J. Lydon
Orjeta Taka
Jasper Fourways Vicenti
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.)
iRobot Corp
Original Assignee
iRobot 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
Priority claimed from US13/032,312 external-priority patent/US8918209B2/en
Application filed by iRobot Corp filed Critical iRobot Corp
Publication of DE112011104645T5 publication Critical patent/DE112011104645T5/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B13/00Optical objectives specially designed for the purposes specified below
    • G02B13/22Telecentric objectives or lens systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Abstract

Ein mobiler Roboter (100), der ein Antriebssystem (200) mit einer Vorwärtsfahrtrichtung (F), eine Steuerung (500), die mit dem Antriebssystem in Kommunikation steht, und ein Gerät (450) zur Bildgebung volumetrischer Punktwolken beinhaltet, das über dem Antriebssystem befestigt ist und ausgelegt ist, um eine Punktwolke aus einem Raumvolumen, das eine Bodenebene (5) in einer Bewegungsrichtung des mobilen Roboters beinhaltet, zu erhalten. Ein Totzonensensor (490) weist einen Erfassungsbereich (492) auf, der ausgelegt ist, um ein Objekt in einem Raumvolumen (453), das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, zu erfassen. Die Steuerung empfängt Punktwolkensignale vom Bildgebungsgerät und Erfassungssignale vom Totzonensensor und gibt wenigstens teilweise auf den empfangenen Punktwolken- und Erfassungssignalen basierend Antriebsbefehle an das Antriebssystem aus.A mobile robot (100) including a drive system (200) having a forward direction of travel (F), a controller (500) in communication with the drive system, and a volumetric point cloud imaging device (450) over the drive system is fixed and adapted to obtain a point cloud from a volume of space including a ground plane (5) in a moving direction of the mobile robot. A dead zone sensor (490) has a detection area (492) adapted to detect an object in a volume of space (453) that is not detectable by the volumetric point cloud imaging device. The controller receives point cloud signals from the imaging device and detection signals from the dead zone sensor, and at least partially outputs drive commands to the drive system based on the received point cloud and detection signals.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS-REFERENCE TO RELATED APPLICATIONS

Diese US-Patentanmeldung beansprucht Priorität gemäß 35 U. S. C. §119(e) gegenüber der vorläufigen US-Patentanmeldung 61/428,717, angemeldet am 30. Dezember 2010; der vorläufigen US-Patentanmeldung 61/428,734, angemeldet am 30. Dezember 2010; der vorläufigen US-Patentanmeldung 61/428,759, angemeldet am 30. Dezember 2010; der vorläufigen US-Patentanmeldung 61/429,863, angemeldet am 5. Januar 2011, der vorläufigen US-Patentanmeldung 61/445,408, angemeldet am 22. Februar 2011; der vorläufigen US-Patentanmeldung 61/445,473, angemeldet am 22. Februar 2011; der vorläufigen Patentanmeldung 61/478,849, angemeldet am 25. April 2011; und gemäß 35 U. S. C. §120 gegenüber der US-Patentanmeldung 13/032,312, angemeldet am 22. Februar 2011, und US-Patentanmeldung 13/032,228, angemeldet am 22. Februar 2011. Die Offenbarungen dieser vorherigen Anmeldungen werden als Teil der Offenbarung dieser Anmeldung angesehen und sind hiermit durch Verweis in ihrer Gesamtheit eingeschlossen.This US patent application claims priority 35 USC §119 (e) to US Provisional Application 61 / 428,717, filed December 30, 2010; US Provisional Application 61 / 428,734, filed December 30, 2010; US Provisional Application 61 / 428,759, filed December 30, 2010; US Provisional Application 61 / 429,863, filed January 5, 2011, US Provisional Application 61 / 445,408, filed February 22, 2011; US Provisional Application 61 / 445,473 filed February 22, 2011; Provisional Patent Application 61 / 478,849 filed on Apr. 25, 2011; and according to 35 USC §120 to U.S. Patent Application Serial No. 13 / 032,312, filed February 22, 2011, and U.S. Patent Application Serial No. 13 / 032,228, filed February 22, 2011. The disclosures of these prior applications are regarded as forming part of the disclosure of this application and are incorporated herein by reference included in their entirety.

TECHNISCHES GEBIETTECHNICAL AREA

Diese Offenbarung betrifft mobile Roboter mit Schnittstelle zum Menschen.This disclosure relates to human-interface mobile robots.

ALLGEMEINER STAND DER TECHNIKGENERAL PRIOR ART

Ein Roboter ist allgemein eine elektromechanische Maschine, die von einem Computer oder einer elektronischen Programmierung gesteuert wird. Mobile Roboter können sich in ihrer Umgebung bewegen und sind nicht an einen physischen Standort gebunden. Ein Beispiel eines mobilen Roboters, der heute verbreitet Anwendung findet, ist ein automatisiertes gesteuertes Fahrzeug oder fahrerloses Transportfahrzeug (FTF). Ein FTF ist allgemein ein mobiler Roboter, der Markierungen oder Kabeln im Boden folgt oder ein Sichtsystem oder Laser für die Navigation verwendet. Mobile Roboter finden in der Industrie, im Militär und in Sicherheitsumgebungen Anwendung. Außerdem sind sie als Verbraucherprodukte erhältlich und dienen zu Unterhaltungszwecken oder um bestimmte Aufgaben, wie Staubsaugen oder Unterstützung im Haushalt, zu erfüllen.A robot is generally an electromechanical machine controlled by a computer or electronic programming. Mobile robots can move in their environment and are not tied to a physical location. An example of a mobile robot that is widely used today is an automated controlled vehicle or AGV. An AGV is generally a mobile robot that follows markers or cables in the ground or uses a vision system or laser for navigation. Mobile robots are used in industry, military and security environments. In addition, they are available as consumer products for entertainment or to perform certain tasks, such as vacuuming or domestic support.

KURZDARSTELLUNGSUMMARY

Ein Aspekt der Offenbarung stellt einen mobilen Roboter bereit, der ein Antriebssystem mit einer Vorwärtsfahrtrichtung, eine Steuerung, die mit dem Antriebssystem in Kommunikation steht, und ein Gerät zur Bildgebung volumetrischer Punktwolken beinhaltet, das über dem Antriebssystem befestigt ist und ausgelegt ist, um eine Punktwolke von einem Raumvolumen, das eine Bodenebene in einer Bewegungsrichtung des mobilen Roboters beinhaltet, zu erhalten. Ein Totzonensensor weist einen Erfassungsbereich auf, der angeordnet ist, um ein Objekt in einem Raumvolumen, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, zu erfassen. Die Steuerung empfängt Punktwolkensignale vom Bildgebungsgerät und Erfassungssignale vom Totzonensensor und gibt wenigstens teilweise auf den empfangenen Punktwolken- und Erfassungssignalen basierend Antriebsbefehle an das Antriebssystem aus.One aspect of the disclosure provides a mobile robot including a propulsion system with a forward direction of travel, a controller in communication with the propulsion system, and a volumetric point cloud imaging device mounted above the propulsion system and configured to make a point cloud from a volume of space including a ground plane in a moving direction of the mobile robot. A dead zone sensor has a detection area arranged to detect an object in a volume of space unrecognizable by the volumetric point cloud imaging apparatus. The controller receives point cloud signals from the imaging device and detection signals from the dead zone sensor, and at least partially outputs drive commands to the drive system based on the received point cloud and detection signals.

Ausführungen der Offenbarung können eins oder mehrere der nachstehenden Merkmale beinhalten. In einigen Ausführungen beinhaltet der Totzonensensor wenigstens eins von einem Gerät zur Bildgebung volumetrischer Punktwolken, einem Sonarsensor, einer Kamera, einem Ultraschallsensor, LIDAR, LADAR, einem optischen Sensor und einem Infrarotsensor. Der Erfassungsbereich des Totzonensensors kann ein Raumvolumen umgeben, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist (d. h. in einer Totzone liegt). In einigen Beispielen ist das Raumvolumen, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, durch einen ersten Winkel, einen zweiten Winkel und einen Radius definiert (z. B. 57° × 45° × 50 cm). Der Erfassungsbereich des Totzonensensors kann zwischen dem Gerät zur Bildgebung volumetrischer Punktwolken und einem Erfassungsbereich des Geräts zur Bildgebung volumetrischer Punktwolken angeordnet sein. In einigen Beispielen weist der Totzonensensor ein Sichtfeld auf, das sich wenigstens 3 Meter vom Totzonensensor nach außen erstreckt. In diesem Beispiel kann der Totzonensensor sowohl für eine relativ kurze Reichweite innerhalb der Totzone als auch als Langstreckensensor zum Erfassen von Objekten, die relativ weit entfernt liegen, eingesetzt werden, um den Weg zu planen und Hindernissen auszuweichen.Embodiments of the disclosure may include one or more of the following features. In some embodiments, the dead zone sensor includes at least one of a volumetric point cloud imaging device, a sonar sensor, a camera, an ultrasonic sensor, LIDAR, LADAR, an optical sensor, and an infrared sensor. The detection range of the dead zone sensor may surround a volume of space that is not detectable by the device for imaging volumetric point clouds (i.e., in a dead zone). In some examples, the volume of space that is not detectable by the volumetric point cloud imaging device is defined by a first angle, a second angle, and a radius (eg, 57 ° x 45 ° x 50 cm). The detection range of the dead band sensor may be arranged between the volumetric point cloud imaging device and a detection area of the volumetric point cloud imaging device. In some examples, the deadband sensor has a field of view that extends outward at least 3 meters from the dead zone sensor. In this example, the deadband sensor can be used for both a relatively short range within the dead zone and as a long range sensor for detecting objects that are relatively far away, to plan the path and avoid obstacles.

In einigen Ausführungen beinhaltet der Roboter ein Array an Totzonensensoren, wobei der Erfassungsbereich wenigstens eines Totzonensensors so angeordnet ist, dass er ein Objekt im Raumvolumen, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, erfassen kann. Das Array an Totzonensensoren kann so angeordnet sein, dass die Sichtfelder entlang der Vorwärtsfahrtrichtung oder gleichmäßig über eine vertikale, durch den Roboter definierte Zentrumsachse verteilt ausgerichtet sind.In some embodiments, the robot includes an array of dead zone sensors, wherein the detection area of at least one dead zone sensor is arranged to detect an object in the volume of space that is not detectable by the volumetric point cloud imaging device. The array Deadband sensors may be arranged so that the fields of view are aligned along the forward direction of travel or evenly distributed over a vertical center axis defined by the robot.

Das Bildgebungsgerät strahlt in einigen Beispielen Licht auf eine Szene um den Roboter aus und nimmt entlang der Fahrtrichtung des Roboters Bilder der Szene auf. Die Bilder beinhalten wenigstens eins von (a) einem dreidimensionalen Tiefenbild, (b) einem aktiven Beleuchtungsbild und (c) einem Umgebungsbeleuchtungsbild. Die Steuerung bestimmt basierend auf den Bildern einen Standort eines Objekts in der Szene und gibt Antriebsbefehle an das Antriebssystem aus, um den Roboter basierend auf dem Objektstandort in der Szene zu manövrieren. Das Bildgebungsgerät kann eine Laufzeit zwischen dem Ausstrahlen des Lichts und dem Empfangen des von der Szene reflektierten Lichts bestimmen. Die Steuerung verwendet die Laufzeit, um einen Abstand zu den reflektierenden Oberflächen des Objekts zu bestimmen.The imaging device, in some examples, emits light onto a scene around the robot and captures images of the scene along the direction of travel of the robot. The images include at least one of (a) a three-dimensional depth image, (b) an active illumination image, and (c) an ambient illumination image. The controller determines a location of an object in the scene based on the images and issues drive commands to the drive system to maneuver the robot based on the object location in the scene. The imaging device may determine a transit time between the emission of the light and the reception of the light reflected from the scene. The controller uses the transit time to determine a distance to the reflective surfaces of the object.

In einigen Ausführungen beinhaltet das Bildgebungsgerät eine Lichtquelle zum Ausstrahlen von Licht in die Szene und einen Bildgeber zum Empfangen von Reflexionen des ausgestrahlten Lichts von der Szene. Die Lichtquelle kann das Licht in intermittierenden Impulsen, zum Beispiel in einer ersten, energiesparenden Frequenz und nach Empfangen eines Sensorereignisses in einer zweiten, aktiven Frequenz ausstrahlen. Das Sensorereignis kann ein Sensorsignal beinhalten, welches das Vorhandensein eines Objekts in der Szene anzeigt. Der Bildgeber kann ein Array an lichtempfindlichen Pixeln beinhalten.In some embodiments, the imaging device includes a light source for emitting light into the scene and an imager for receiving reflections of the emitted light from the scene. The light source may emit the light in intermittent pulses, for example, at a first energy-efficient frequency and upon receiving a sensor event at a second, active frequency. The sensor event may include a sensor signal indicating the presence of an object in the scene. The imager may include an array of photosensitive pixels.

Das Bildgebungsgerät kann erste und zweite Abschnitte beinhalten (z. B. Abschnitte eines Sensors oder eines ersten und zweiten Bildgebungssensors). Der erste Abschnitt ist so angeordnet, dass er Licht im Wesentlichen auf den Boden ausstrahlt und Reflexionen des vom Boden ausgestrahlten Lichts empfängt. Der zweite Abschnitt ist so angeordnet, dass er Licht in eine im Wesentlichen über dem Boden befindliche Szene ausstrahlt und Reflexionen des von der Szene um den Roboter ausgestrahlten Lichts empfangt.The imaging device may include first and second portions (eg, portions of a sensor or first and second imaging sensors). The first section is arranged to radiate light substantially to the ground and to receive reflections of the light radiated from the ground. The second section is arranged to emit light into a scene substantially above the ground and to receive reflections of the light radiated from the scene around the robot.

In einigen Ausführungen beinhaltet das Bildgebungsgerät einen Speckleemitter, der ein Specklemuster an Licht entlang einer Fahrtrichtung des Roboters auf eine Szene ausstrahlt und einen Bildgeber, der Reflexionen des Specklemusters von einem Objekt in der Szene empfängt. Die Steuerung speichert Vergleichsbilder des Specklemusters, wie es von einem Vergleichsobjekt in der Szene reflektiert wird. Die Vergleichsbilder werden in unterschiedlichen Abständen vom Vergleichsobjekt aufgenommen. Die Steuerung vergleicht wenigstens ein Zielbild des Specklemusters, wie es von einem Zielobjekt in der Szene reflektiert wird, mit den Vergleichsbildern, um einen Abstand der reflektierenden Oberflächen des Zielobjekts zu bestimmen. In einigen Fällen bestimmt die Steuerung ein primäres Specklemuster auf dem Zielobjekt und errechnet wenigstens eins von einer Kreuzkorrelation bzw. einer Dekorrelation zwischen dem primären Specklemuster und den Specklemustern der Vergleichsbilder.In some implementations, the imaging device includes a speckle emitter that emits a speckle pattern of light along a direction of travel of the robot to a scene, and an imager that receives reflections of the speckle pattern from an object in the scene. The controller stores comparison images of the speckle pattern as reflected from a comparison object in the scene. The comparison images are taken at different distances from the comparison object. The controller compares at least one target image of the speckle pattern, as reflected by a target object in the scene, with the comparison images to determine a distance of the reflective surfaces of the target object. In some cases, the controller determines a primary speckle pattern on the target object and calculates at least one of a cross-correlation or decorrelation between the primary speckle pattern and the speckle patterns of the comparison images.

Um ein laterales Sichtfeld zu vergrößern, kann der Bildgebungssensor im Verhältnis zu der Vorwärtsfahrtrichtung von Seite zu Seite scannen. Auf ähnliche Weise kann der Bildgebungssensor hoch und runter scannen, um ein vertikales Sichtfeld zu vergrößern.To increase a lateral field of view, the imaging sensor may scan side-to-side relative to the forward direction of travel. Similarly, the imaging sensor can scan up and down to increase a vertical field of view.

In einigen Ausführungen stellt die Steuerung die Verwendung von empfangenen Punktwolkensignalen für die Ausgabe von Antriebsbefehlen an das Antriebssystem ein, nachdem ein Grenzzeitraum nach dem Empfang erreicht wurde. Die Steuerung kann das Einstellen der Verwendung von empfangenen Punktwolkensignalen aufheben, wenn basierend auf empfangenen Erfassungssignalen vom Totzonensensor das Vorhandensein eines Objekts im Volumenraum, der für den Bildungssensor nicht erfassbar ist, erfasst wurde. Ferner kann die Steuerung das Einstellen der Verwendung von empfangenen Punktwolkensignalen nach dem Grenzzeitraum nach dem Empfang fortführen, wenn zum Beispiel basierend auf vom Totzonensensor empfangenen Erfassungssignalen bestimmt wurde, dass das Raumvolumen, das für den Bildgebungssensor nicht erfassbar ist, frei von Objekten ist.In some implementations, the controller adjusts the use of received point cloud signals for the issuance of drive commands to the drive system after a limit period has been reached after receipt. The controller may override the setting of the use of received point cloud signals if, based on received detection signals from the dead zone sensor, the presence of an object in volume space not detectable by the formation sensor has been detected. Further, the controller may continue setting the use of received point cloud signals after the boundary period after the reception, for example, when it is determined based on detection signals received from the dead zone sensor that the volume of space that is not detectable by the imaging sensor is free of objects.

Ein weiterer Aspekt der Offenbarung stellt einen mobilen Roboter bereit, der eine Basis und ein holonomes Antriebssystem beinhaltet, das von der Basis getragen wird und eine vertikale Achse (Z) definiert. Das holonome Antriebssystem manövriert den Roboter über eine Arbeitsoberfläche einer Szene. Der Roboter beinhaltet eine Steuerung, die mit dem Antriebssystem in Kommunikation steht, ein Bein, das von der Basis aus nach oben verläuft, und einen Körper, der vom Bein getragen wird. Der Körper rotiert im Verhältnis zu der Basis um die vertikale Achse. Wenigstens ein Bildgebungssensor (z. B. ein Gerät zur Bildgebung volumetrischer Punktwolken) ist auf dem Körper angeordnet und nimmt eine volumetrische Punktwolke (z. B. dreidimensionale Bilder) der Szene um den Roboter auf. Der rotierende Körper bewegt den Bildgebungssensor in einer Schwenkbewegung um die vertikale Achse und stellt so ein Sichtfeld von 360° um den Roboter bereit.Another aspect of the disclosure provides a mobile robot including a base and a holonomic drive system carried by the base and defining a vertical axis (Z). The holonomic drive system maneuvers the robot over a work surface of a scene. The robot includes a controller in communication with the drive system, a leg that extends upward from the base, and a body that is supported by the leg. The body rotates relative to the base about the vertical axis. At least one imaging sensor (eg, a device for imaging volumetric point clouds) is disposed on the body and receives a volumetric point cloud (eg, three-dimensional images) of the scene around the robot. The rotating body moves the imaging sensor in a pivoting motion about the vertical axis, providing a 360 ° field of view around the robot.

In einigen Ausführungen weist der wenigstens eine Bildgebungssensor eine Bildgebungsachse auf, die entlang einer Vorwärtsfahrtrichtung des Antriebssystems nach unten gezielt ist. Der wenigstens eine Bildgebungssensor kann einen ersten Bildgebungssensor mit einer Bildachse, die angeordnet ist, um entlang einer Vorwärtsfahrtrichtung des Antriebssystems nach unten zu zielen, und einen zweiten Bildgebungssensor mit einer Bildachse, die angeordnet ist, um parallel zu oder über der Arbeitsoberfläche weg vom Körper zu zielen, beinhalten. Ferner kann der wenigstens eine Bildgebungssensor im Verhältnis zu der Vorwärtsfahrtrichtung von Seite zu Seite scannen, um ein laterales Sichtfeld zu vergrößern und/oder hoch und runter scannen, um ein vertikales Sichtfeld des Bildgebungssensors zu vergrößern. In some embodiments, the at least one imaging sensor includes an imaging axis that is aimed downwardly along a forward direction of travel of the drive system. The at least one imaging sensor may include a first imaging sensor having an image axis arranged to aim downward along a forward direction of travel of the drive system and a second imaging sensor having an image axis disposed to be parallel to or above the working surface away from the body aim, involve. Further, the at least one imaging sensor may scan side-to-side relative to the forward travel direction to increase a lateral field of view and / or scan up and down to increase a vertical field of view of the imaging sensor.

Der wenigstens eine Bildgebungssensor kann einen Speckleemitter, der ein Specklemuster an Licht auf eine Szene ausstrahlt, und einen Bildgeber, der Reflexionen des Specklemusters von einem Objekt in der Szene empfängt, beinhalten. Die Steuerung speichert Vergleichsbilder des Specklemusters, wie es von einem Vergleichsobjekt in der Szene reflektiert wird. Die Vergleichsbilder werden in unterschiedlichen Abständen vom Vergleichsobjekt aufgenommen. Die Steuerung vergleicht wenigstens ein Zielbild des Specklemusters, wie es von einem Zielobjekt in der Szene reflektiert wird, mit den Vergleichsbildern, um einen Abstand der reflektierenden Oberflächen des Zielobjekts zu bestimmen. Der Bildgebungssensor kann Bilder der Szene entlang einer Fahrtrichtung des Roboters aufnehmen. Die Bilder beinhalten wenigstens eins von (a) einem dreidimensionalen Tiefenbild, (b) einem aktiven Beleuchtungsbild und (c) einem Umgebungsbeleuchtungsbild.The at least one imaging sensor may include a speckle emitter that emits a speckle pattern of light to a scene, and an imager that receives reflections of the speckle pattern from an object in the scene. The controller stores comparison images of the speckle pattern as reflected from a comparison object in the scene. The comparison images are taken at different distances from the comparison object. The controller compares at least one target image of the speckle pattern, as reflected by a target object in the scene, with the comparison images to determine a distance of the reflective surfaces of the target object. The imaging sensor can capture images of the scene along a direction of travel of the robot. The images include at least one of (a) a three-dimensional depth image, (b) an active illumination image, and (c) an ambient illumination image.

Die Steuerung kann basierend auf dem Bildvergleich einen Standort eines Objekts in der Szene bestimmen und gibt Antriebsbefehle an das Antriebssystem aus, um den Roboter basierend auf dem Objektstandort in der Szene zu manövrieren. In einigen Beispielen bestimmt die Steuerung ein primäres Specklemuster auf dem Zielobjekt und errechnet wenigstens eins von einer Kreuzkorrelation bzw. einer Dekorrelation zwischen dem primären Specklemuster und den Specklemustern der Vergleichsbilder.The controller may determine a location of an object in the scene based on the image comparison, and issue drive commands to the drive system to maneuver the robot based on the object location in the scene. In some examples, the controller determines a primary speckle pattern on the target object and calculates at least one of a cross-correlation or decorrelation between the primary speckle pattern and the speckle patterns of the comparison images.

Der Bildgebungssensor kann ein Gerät zur Bildgebung volumetrischer Punktwolken sein, das in einer Höhe von mehr als 60,96 cm (2 Fuß) über der Arbeitsoberfläche positioniert ist und ausgelegt ist, um einen Punktwolke aus einem Raumvolumen zu erhalten, das eine Bodenebene in einer Bewegungsrichtung des Roboters beinhaltet. Der Bildgebungssensor kann ein horizontales Sichtfeld von wenigstens 45 Grad und ein vertikales Sichtfeld von wenigstens 40 Grad und/oder eine Reichweite von zwischen 1 Meter und etwa 5 Meter aufweisen. In einigen Beispielen weist der Bildgebungssensor eine Latenz von ungefähr 44 ms auf und die Bildausgabe des Bildgebungssensors kann einen Zeitstempel empfangen, der die Latenz ausgleicht.The imaging sensor may be a volumetric point cloud imaging device positioned at a height greater than 60.96 cm (2 feet) above the work surface and configured to obtain a point cloud from a volume of space that is a ground plane in a direction of travel of the robot. The imaging sensor may have a horizontal field of view of at least 45 degrees and a vertical field of view of at least 40 degrees and / or a range of between 1 meter and about 5 meters. In some examples, the imaging sensor has a latency of approximately 44 ms, and the image output of the imaging sensor may receive a timestamp that compensates for the latency.

In einigen Ausführungen beinhaltet der Roboter einen Totzonensensor mit einem Erfassungsbereich, der angeordnet ist, um ein Objekt in einem Raumvolumen, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, zu erfassen. Der Totzonensensor kann wenigstens eins von einem Gerät zur Bildgebung volumetrischer Punktwolken, einem Sonarsensor, einer Kamera, einem Ultraschallsensor, LIDAR, LADAR, einem optischen Sensor und einem Infrarotsensor beinhalten. Der Erfassungsbereich des Totzonensensors kann ein Raumvolumen umgeben, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist (d. h. in einer Totzone liegt). In einigen Beispielen ist das Raumvolumen, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, durch einen ersten Winkel, einen zweiten Winkel und einen Radius definiert (z. B. 57° × 45° × 50 cm). Der Erfassungsbereich des Totzonensensors kann zwischen dem Gerät zur Bildgebung volumetrischer Punktwolken und einem Erfassungsbereich des Geräts zur Bildgebung volumetrischer Punktwolken angeordnet sein. In einigen Beispielen weist der Totzonensensor ein Sichtfeld auf, das sich wenigstens 3 Meter vom Totzonensensor nach außen erstreckt. In diesem Beispiel kann der Totzonensensor sowohl für eine relativ kurze Reichweite innerhalb der Totzone als auch als Langstreckensensor zum Erfassen von Objekten, die relativ weit entfernt liegen, eingesetzt werden, um den Weg zu planen und Hindernissen auszuweichen.In some embodiments, the robot includes a dead zone sensor having a detection area arranged to detect an object in a volume of space that is not detectable by the volumetric point cloud imaging device. The dead zone sensor may include at least one of a volumetric point cloud imaging device, a sonar sensor, a camera, an ultrasonic sensor, LIDAR, LADAR, an optical sensor, and an infrared sensor. The detection range of the dead zone sensor may surround a volume of space that is not detectable by the device for imaging volumetric point clouds (i.e., in a dead zone). In some examples, the volume of space that is not detectable by the volumetric point cloud imaging device is defined by a first angle, a second angle, and a radius (eg, 57 ° x 45 ° x 50 cm). The detection range of the dead band sensor may be arranged between the volumetric point cloud imaging device and a detection area of the volumetric point cloud imaging device. In some examples, the deadband sensor has a field of view that extends outward at least 3 meters from the dead zone sensor. In this example, the deadband sensor can be used for both a relatively short range within the dead zone and as a long range sensor for detecting objects that are relatively far away, to plan the path and avoid obstacles.

In einigen Ausführungen beinhaltet der Roboter ein Array an Totzonensensoren, wobei der Erfassungsbereich wenigstens eines Totzonensensors so angeordnet ist, dass er ein Objekt im Raumvolumen, das für das Gerät zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, erfassen kann. Das Array an Totzonensensoren kann so angeordnet sein, dass die Sichtfelder entlang der Vorwärtsfahrtrichtung oder gleichmäßig über eine vertikale, durch den Roboter definierte Zentrumsachse verteilt ausgerichtet sind.In some embodiments, the robot includes an array of dead zone sensors, wherein the detection area of at least one dead zone sensor is arranged to detect an object in the volume of space that is not detectable by the volumetric point cloud imaging device. The array of dead zone sensors may be arranged so that the fields of view are aligned along the forward direction of travel or evenly distributed over a vertical center axis defined by the robot.

In einigen Ausführungen stellt die Steuerung die Verwendung von empfangenen Punktwolkensignalen für die Ausgabe von Antriebsbefehlen an das Antriebssystem ein, nachdem ein Grenzzeitraum erreicht wurde. Die Steuerung kann das Einstellen der Verwendung von empfangenen Punktwolkensignalen aufheben, wenn basierend auf empfangenen Erfassungssignalen vom Totzonensensor das Vorhandensein eines Objekts im Raumvolumen, das für den Bildungssensor nicht erfassbar ist, erkannt wurde. Ferner kann die Steuerung das Einstellen der Verwendung von empfangenen Punktwolkensignalen nach dem Grenzzeitraum fortführen, wenn zum Beispiel basierend auf empfangenen Erfassungssignalen vom Totzonensensor bestimmt wurde, dass das Raumvolumen, das für den Bildgebungssensor nicht erfassbar ist, frei von Objekten ist.In some implementations, the controller adjusts the use of received point cloud signals for the issuance of drive commands to the drive system after a limit period has been reached. The controller can do that Canceling the use of received point cloud signals when, based on received detection signals from the dead band sensor, the presence of an object in the volume of space that is not detectable by the formation sensor has been detected. Further, the controller may continue adjusting the use of received point cloud signals after the boundary period, for example, if it has been determined by the deadband sensor based on received detection signals that the volume of space that is not detectable by the imaging sensor is free of objects.

Der Körper kann im Verhältnis zum Bein rotieren und/oder das Bein kann im Verhältnis zur Basis um die vertikale Achse rotieren. In einigen Beispielen ist die Höhe des Beins variabel.The body may rotate relative to the leg and / or the leg may rotate relative to the base about the vertical axis. In some examples, the height of the leg is variable.

In einem weiteren Aspekt beinhaltet ein Verfahren zur Objekterfassung für einen mobilen Roboter das Rotieren eines Bildgebungssensors um eine vertikale Achse des Roboters. Der Bildgebungssensor strahlt Licht auf eine Szene um den Roboter aus und nimmt Bilder der Szene auf. Die Bilder beinhalten wenigstens eins von (a) einem dreidimensionalen Tiefenbild, (b) einem aktiven Beleuchtungsbild und (c) einem Umgebungsbeleuchtungsbild. Das Verfahren beinhaltet ferner das Bestimmen eines Standorts in der Szene basierend auf den Bildern, das Zuweisen eines Konfidenzniveaus für den Objektstandort und das Manövrieren des Roboters in der Szene basierend auf dem Objektstandort und dem jeweiligen Konfidenzniveau.In another aspect, a method for object detection for a mobile robot includes rotating an imaging sensor about a vertical axis of the robot. The imaging sensor emits light onto a scene around the robot and captures images of the scene. The images include at least one of (a) a three-dimensional depth image, (b) an active illumination image, and (c) an ambient illumination image. The method further includes determining a location in the scene based on the images, assigning a confidence level for the object location, and maneuvering the robot in the scene based on the object location and the respective confidence level.

In einigen Ausführungen beinhaltet das Verfahren das Erstellen einer Objektbelegungskarte der Szene. Das Konfidenzniveau jedes Objektstandorts kann im Laufe der Zeit heruntergestuft werden, bis der jeweilige Objektstandort mit einem neu bestimmten Objektstandort aktualisiert wird. Das Verfahren kann das Manövrieren des Roboters beinhalten, um wenigstens: a) das Objekt zu berühren und entlang eines Umfangs des Objekts zu folgen oder b) dem Objekt auszuweichen.In some embodiments, the method includes creating an object-occupancy map of the scene. The confidence level of each object site may be downgraded over time until the respective object site is updated with a newly determined object location. The method may include maneuvering the robot to at least: a) touch the object and follow along a circumference of the object, or b) dodge the object.

In einigen Beispielen beinhaltet das Verfahren das Erfassen eines Objekts in einem Raumvolumen, das für den Bildgebungssensor nicht erfassbar ist, wie durch die Verwendung eines Totzonensensors mit einem Erfassungsbereich, der angeordnet ist, um ein Objekt im Raumvolumen, das für den Bildgebungssensor nicht erfassbar ist, zu erfassen, und das Einstellen des Herunterstufens des Konfidenzniveaus des erfassten Objekts. Das Verfahren kann das Fortsetzen des Herunterstufen des Konfidenzniveaus für das erfasste Objekt beinhalten, wenn erkannt wurde, dass das Raumvolumen, das für den Bildgebungssensor nicht erfassbar ist, frei von Objekten ist.In some examples, the method includes detecting an object in a volume of space that is not detectable by the imaging sensor, such as by using a deadband sensor having a detection range disposed to detect an object in the volume of space that is not detectable by the imaging sensor, and adjusting the downgrading of the confidence level of the detected object. The method may include continuing to downgrade the confidence level for the detected object if it has been determined that the volume of space that is not detectable by the imaging sensor is free of objects.

Das Verfahren kann das Ausstrahlen von Licht auf die Szene in intermittierenden Impulsen beinhalten, optional das Alternieren einer Frequenz der ausgestrahlten Lichtimpulse. Die Lichtimpulse können in einer ersten, energiesparenden Frequenz und nach Empfangen eines Sensorereignisses in einer zweiten, aktiven Frequenz ausgestrahlt werden. Das Sensorereignis kann ein Sensorsignal beinhalten, welches das Vorhandensein eines Objekts in der Szene anzeigt.The method may include emitting light to the scene in intermittent pulses, optionally alternating a frequency of the emitted light pulses. The light pulses may be emitted in a first, energy-efficient frequency and upon receiving a sensor event in a second, active frequency. The sensor event may include a sensor signal indicating the presence of an object in the scene.

Das Verfahren kann das Konstruieren des dreidimensionalen Tiefenbildes der Szene durch Ausstrahlen eines Specklemusters an Licht auf die Szene, Empfangen von Reflexionen des Specklemusters vom Objekt in der Szene und Speichern von Vergleichsbildern des Specklemusters, wie es von einem Vergleichsobjekt in der Szene reflektiert wird, beinhalten. Die Vergleichsbilder werden in unterschiedlichen Abständen vom Vergleichsobjekt aufgenommen. Das Verfahren beinhaltet ferner das Aufnehmen wenigstens eines Zielbildes des Specklemusters, wie es von einem Zielobjekt in der Szene reflektiert wird, und das Vergleichen des wenigstens einen Zielbildes mit den Vergleichsbildern, um einen Abstand der reflektierenden Oberflächen des Zielobjekts zu bestimmen. Das Verfahren kann das Bestimmen eines primären Specklemusters auf dem Zielobjekt und das Errechnen wenigstens eines von einer Kreuzkorrelation bzw. einer Dekorrelation zwischen dem primären Specklemuster und den Specklemustern der Vergleichsbilder beinhalten. Ferner kann das Verfahren das Aufnehmen von Bildern von Reflexionen des ausgestrahlten Specklemusters von Oberflächen des Zielobjekts in einer Bildrate, z. B. zwischen etwa 10 Hz und etwa 90 Hz, und optional das Beseitigen von Unterschieden zwischen Speckemustern, die in aufeinanderfolgenden Bildern aufgenommen wurden, beinhalten, um das Zielobjekt zu identifizieren.The method may include constructing the three-dimensional depth image of the scene by radiating a speckle pattern of light onto the scene, receiving reflections of the speckle pattern from the object in the scene, and storing comparison images of the speckle pattern as reflected from a comparison object in the scene. The comparison images are taken at different distances from the comparison object. The method further includes capturing at least one target image of the speckle pattern as reflected from a target object in the scene and comparing the at least one target image with the comparison images to determine a distance of the reflective surfaces of the target object. The method may include determining a primary speckle pattern on the target object and calculating at least one of a cross-correlation or decorrelation between the primary speckle pattern and the speckle patterns of the comparison images. Further, the method may include taking images of reflections of the emitted speckle pattern from surfaces of the target object at a frame rate, e.g. Between about 10 Hz and about 90 Hz, and optionally removing differences between speckle patterns taken in successive images to identify the target object.

Die Einzelheiten einer oder mehrerer der Ausführungen der Offenbarung sind nachfolgend in den beigefügten Zeichnungen und der Beschreibung ausgeführt. Andere Aspekte, Merkmale und Vorteile sind aus der Beschreibung, den Zeichnungen und den Patentansprüchen ersichtlich.The details of one or more of the embodiments of the disclosure are set forth below in the accompanying drawings and the description. Other aspects, features and advantages will become apparent from the description, the drawings and the claims.

BESCHREIBUNG DER ZEICHNUNGENDESCRIPTION OF THE DRAWINGS

Es zeigen:Show it:

1 eine perspektivische Ansicht eines beispielhaften mobilen Mensch-Schnittstellen-Roboters. 1 a perspective view of an exemplary mobile human interface robot.

2 eine schematische Ansicht eines beispielhaften mobilen Mensch-Schnittstellen-Roboters. 2 a schematic view of an exemplary mobile human interface robot.

3 eine perspektivische Seitenansicht eines beispielhaften mobilen Mensch-Schnittstellen-Roboters. 3 a side perspective view of an exemplary mobile human interface robot.

4A eine perspektivische Vorderansicht einer beispielhaften Basis für einen mobilen Mensch-Schnittstellen-Roboter. 4A a front perspective view of an exemplary base for a mobile human interface robot.

4B eine perspektivische Rückansicht der Basis aus 4A. 4B a perspective rear view of the base 4A ,

4C eine Draufsicht der Basis aus 4A. 4C a plan view of the base 4A ,

5A eine schematische Vorderansicht einer beispielhaften Basis für einen mobilen Mensch-Schnittstellen-Roboter. 5A a schematic front view of an exemplary base for a mobile human interface robot.

5B eine schematische Draufsicht einer beispielhaften Basis für einen mobilen Mensch-Schnittstellen-Roboter. 5B a schematic plan view of an exemplary base for a mobile human interface robot.

6 eine perspektivische Vorderansicht eines beispielhaften Körpers für einen mobilen Mensch-Schnittstellen-Roboter. 6 a front perspective view of an exemplary body for a mobile human interface robot.

7 eine perspektivische Vorderansicht eines beispielhaften Halses für einen mobilen Mensch-Schnittstellen-Roboter. 7 a front perspective view of an exemplary neck for a mobile human interface robot.

8A8G schematische Ansichten einer beispielhaften Schaltung für einen mobilen Mensch-Schnittstellen-Roboter. 8A - 8G schematic views of an exemplary circuit for a mobile human interface robot.

9 eine schematische Ansicht eines beispielhaften mobilen Mensch-Schnittstellen-Roboters. 9 a schematic view of an exemplary mobile human interface robot.

10A eine perspektivische Ansicht eines beispielhaften mobilen Mensch-Schnittstellen-Roboters mit mehreren Sensoren, die auf den Boden gezielt sind. 10A a perspective view of an exemplary mobile human interface robot with multiple sensors that are targeted to the ground.

10B eine perspektivische Ansicht eines beispielhaften mobilen Roboters mit mehreren Sensoren, die parallel zum Boden ausgerichtet sind. 10B a perspective view of an exemplary mobile robot with multiple sensors, which are aligned parallel to the ground.

11 eine schematische Ansicht eines beispielhaften Bildgebungssensors, der ein Objekt in einer Szene erkennt. 11 a schematic view of an exemplary imaging sensor that detects an object in a scene.

12 eine schematische Ansicht einer beispielhaften Anordnung an Handlungen für den Betrieb eines Bildgebungssensors. 12 a schematic view of an exemplary arrangement of actions for the operation of an imaging sensor.

13 eine schematische Ansicht einer beispielhaften dreidimensionalen (3D) Specklekamera, die ein Objekt in einer Szene erkennt. 13 a schematic view of an exemplary three-dimensional (3D) Specklekamera that detects an object in a scene.

14 eine schematische Ansicht einer beispielhaften Anordnung an Handlungen für den Betrieb einer 3D-Specklekamera. 14 a schematic view of an exemplary arrangement of actions for the operation of a 3D-Specklekamera.

15 eine schematische Ansicht einer beispielhaften 3D-Laufzeitkamera, die ein Objekt in einer Szene erkennt. 15 a schematic view of an exemplary 3D runtime camera that detects an object in a scene.

16 eine schematische Ansicht einer beispielhaften Anordnung an Handlungen für den Betrieb einer 3D-Laufzeitkamera. 16 a schematic view of an exemplary arrangement of actions for the operation of a 3D runtime camera.

17A eine schematische Ansicht einer beispielhaften Belegungskarte. 17A a schematic view of an exemplary occupancy card.

17B eine schematische Ansicht eines mobilen Roboters mit einem Sichtfeld einer Szene in einem Arbeitsbereich. 17B a schematic view of a mobile robot with a field of view of a scene in a workspace.

18 eine schematische Ansicht einer Totzone eines Bildgebungssensors. 18 a schematic view of a dead zone of an imaging sensor.

19 eine perspektivische Ansicht eines beispielhaften mobilen Roboters mit einem ersten Bildgebungssensor, der angeordnet ist, um entlang einer Vorwärtsfahrtrichtung nach unten gerichtet zu sein, und einem zweiten Bildgebungssensor, der angeordnet ist, um über dem Boden nach außen ausgerichtet zu sein. 19 a perspective view of an exemplary mobile robot with a first imaging sensor, which is arranged to be directed downwards in a forward direction of travel, and a second imaging sensor, which is arranged to be aligned over the ground to the outside.

20 eine Draufsicht eines beispielhaften mobilen Roboters mit einem Körper, der im Verhältnis zu seiner Basis rotiert. 20 a plan view of an exemplary mobile robot with a body that rotates in relation to its base.

21 eine schematische Ansicht eines beispielhaften Bildgebungssensors mit einer Totzone und einem Totzonensensor mit einem Sichtfeld, das die Totzone umgibt. 21 a schematic view of an exemplary imaging sensor with a dead zone and a dead zone sensor with a field of view that surrounds the dead zone.

22 eine Draufsicht eines beispielhaften mobilen Roboters mit einem Totzonensensor, der angeordnet ist, um Objekte in einer Totzone eines Bildgebungssensors zu erfassen. 22 a plan view of an exemplary mobile robot with a dead zone sensor, which is arranged to detect objects in a dead zone of an imaging sensor.

23 eine Draufsicht eines beispielhaften mobilen Roboters mit einem Array an Totzonensensoren. 23 a plan view of an exemplary mobile robot with an array of dead zone sensors.

24 eine Draufsicht eines beispielhaften mobilen Roboters mit Langstreckensensoren, die um eine vertikale Achse des Roboters angeordnet sind. 24 a plan view of an exemplary mobile robot with long-distance sensors, which are arranged about a vertical axis of the robot.

25 eine schematische Ansicht eines beispielhaften Steuerungssystems, das von einer Steuerung eines mobilen Mensch-Schnittstellen-Roboters ausgeführt wird. 25 a schematic view of an exemplary control system that is executed by a controller of a mobile human interface robot.

26A eine beispielhafte schematische Ansicht des lokal wahrgenommenen Raums eines mobilen Mensch-Schnittstellen-Roboters, während dieser stationär ist. 26A an exemplary schematic view of the locally perceived space of a mobile human interface robot while this is stationary.

26B eine beispielhafte schematische Ansicht des lokal wahrgenommenen Raums eines mobilen Mensch-Schnittstellen-Roboters, während sich dieser bewegt. 26B an exemplary schematic view of the locally perceived space of a mobile human interface robot while it moves.

26C eine beispielhafte schematische Ansicht des lokal wahrgenommenen Raums eines mobilen Mensch-Schnittstellen-Roboters, während dieser stationär ist. 26C an exemplary schematic view of the locally perceived space of a mobile human interface robot while this is stationary.

26D eine beispielhafte schematische Ansicht des lokal wahrgenommenen Raums eines mobilen Mensch-Schnittstellen-Roboters, während sich dieser bewegt. 26D an exemplary schematic view of the locally perceived space of a mobile human interface robot while it moves.

Gleiche Referenzsymbole kennzeichnen in den verschiedenen Zeichnungen gleiche Elemente.Like reference symbols indicate like elements throughout the several drawings.

AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION

Mobile Roboter können mit Menschen interagieren oder als Schnittstellen fungieren, um eine Mehrzahl an Leistungen von Unterstützung im Haushalt bis hin zu Leistungen im kommerziellen Bereich und mehr bereitzustellen. Im Beispiel von Haushaltsaufgaben kann ein mobiler Roboter älteren Menschen bei alltäglichen Aufgaben helfen, wie der Einhaltung eines Medikationsplans, Mobilitätshilfe, Unterstützung bei der Kommunikation (z. B. Videokonferenzen, Telekommunikation, Internetzugang usw.), Überwachung von Haus oder anderen Standorten (innen und/oder außen), Personenüberwachung und/oder Bereitstellen eines persönlichen Notfallsystems, wobei diese Auflistung nicht abschließend ist. Im kommerziellen Bereich kann der mobile Roboter Videokonferenzfunktionen (z. B. in einer Krankenhausumgebung), einen Kontaktpunkt am Verkaufsort, ein interaktives Informations-/Marketing-Terminal usw. bereitstellen.Mobile robots can interact with people or act as interfaces to provide a variety of services ranging from home-help to commercial and more. In the example of household tasks, a mobile robot can help elderly people in everyday tasks, such as adherence to a medication plan, mobility assistance, communication support (eg videoconferencing, telecommunications, internet access, etc.), monitoring of home or other locations (inside and outside) / or outside), person monitoring and / or providing a personal emergency system, but this listing is not exhaustive. In the commercial field, the mobile robot may provide videoconferencing functions (eg, in a hospital environment), point-of-sale point of contact, interactive information / marketing terminal, etc.

Mit Bezugnahme auf 12 beinhaltet ein mobiler Roboter 100 in einigen Ausführungen einen Roboterkörper 110 (oder ein Gehäuse), der/das eine Vorwärtsfahrtrichtung F definiert. Der Roboter 100 beinhaltet außerdem ein Antriebssystem 200, ein Schnittstellenmodul 300 und ein Sensorsystem 400, die jeweils vom Roboterkörper 110 getragen werden und mit einer Steuerung 500 in Kommunikation stehen, die den Betrieb und die Bewegung des Roboters 100 koordiniert. Eine Stromquelle 105 (z. B. eine Batterie oder Batterien) kann vom Roboterkörper 110 getragen werden und je nach Bedarf mit jeder dieser Komponenten in elektrischer Kommunikation stehen und diese mit Strom versorgen. Zum Beispiel kann die Steuerung 500 einen Computer beinhalten, der > 1000 MAPS (Millionen Anweisungen pro Sekunde) bereitstellen kann, und die Stromquelle 1058 stellt eine Batterie bereit, die ausreichend ist, um den Computer für mehr als drei Stunden zu betreiben.With reference to 1 - 2 includes a mobile robot 100 in some embodiments, a robot body 110 (or a housing) which defines a forward direction of travel F. The robot 100 also includes a drive system 200 , an interface module 300 and a sensor system 400 , each from the robot body 110 be worn and with a control 500 communicate the operation and movement of the robot 100 coordinated. A power source 105 (eg a battery or batteries) may be from the robot body 110 and be in electrical communication with each of these components as needed, and provide them with power. For example, the controller 500 include a computer that can provide> 1000 MAPS (millions of instructions per second) and the power source 1058 Provides a battery sufficient to power the computer for more than three hours.

Der Roboterkörper 110 beinhaltet in den dargestellten Beispielen eine Basis 120, wenigstens ein Bein 130, das von der Basis 120 nach oben verläuft, und einen Körper 140, der von dem wenigstens einen Bein 130 getragen wird. Die Basis 120 kann wenigstens Teile des Antriebssystems 200 tragen. Der Roboterkörper 110 beinhaltet außerdem einen Hals 150, der vom Körper 140 getragen wird. Der Hals 150 trägt einen Kopf 160, der wenigstens einen Abschnitt des Schnittstellenmoduls 300 trägt. Die Basis 120 hat ein ausreichendes Gewicht (z. B. durch Tragen der Stromquelle 105 (Batterien)), um einen tiefen Schwerpunkt CGB der Basis 120 und einen tiefen Gesamtschwerpunkt CGR des Roboters 100 aufrecht zu erhalten, um die mechanische Stabilität zu wahren.The robot body 110 includes a base in the illustrated examples 120 , at least one leg 130 that from the base 120 goes up, and a body 140 that of the at least one leg 130 will be carried. The base 120 can at least parts of the drive system 200 wear. The robot body 110 also includes a neck 150 , of the body 140 will be carried. The neck 150 carries a head 160 , the at least one section of the interface module 300 wearing. The base 120 has a sufficient weight (eg by carrying the power source 105 (Batteries)) to provide a low center of gravity CG of the base B 120 and a deep center of gravity CG R of the robot 100 to maintain mechanical stability.

Mit Bezugnahme auf 3 und 4A4C definiert die Basis 120 in einigen Ausführungen eine dreiseitig symmetrische Form (z. B. eine Dreiecksform aus der Draufsicht). Zum Beispiel kann die Basis 120 ein Basisgehäuse 122 beinhalten, das einen Basiskörper 124 mit einem ersten, einem zweiten und einem dritten Basiskörperabschnitt 124a, 124b, 124c, die jedem Bein der dreiseitig geformten Basis 120 entsprechen, trägt (siehe z. B. 4A). Jeder Basiskörperabschnitt 124a, 124b, 124c kann beweglich vom Basisgehäuse 122 getragen werden, um sich als Reaktion auf Kontakt mit einem Objekt unabhängig vom Basisgehäuse 122 bewegen zu können. Die dreiseitig symmetrische Form der Basis 120 ermöglicht eine Bodenwellenerfassung 360° um den Roboter 100. Jeder Basiskörperabschnitt 124a, 124b, 124c kann einen zugeordneten Kontaktsensor aufweisen (z. B. einen kapazitiven Sensor, Leseschalter usw.), der eine Bewegung des zugeordneten Basiskörperabschnitts 124a, 124b, 124c im Verhältnis zum Basisgehäuse 122 erfasst.With reference to 3 and 4A - 4C defines the basis 120 in some embodiments, a three-sided symmetrical shape (eg a triangular shape from the top view). For example, the base 120 a base housing 122 include a base body 124 with a first, a second and a third base body portion 124a . 124b . 124c , each leg of the three-sided shaped base 120 (see eg 4A ). Each base body section 124a . 124b . 124c can move from the base housing 122 be worn in order to respond to contact with an object regardless of the base housing 122 to be able to move. The three-sided symmetrical shape of the base 120 allows bump detection 360 ° around the robot 100 , Each base body section 124a . 124b . 124c may include an associated contact sensor (eg, a capacitive sensor, read switch, etc.) that controls movement of the associated base body portion 124a . 124b . 124c in relation to the base housing 122 detected.

In einigen Ausführungen stellt das Antriebssystem 200 omnidirektionale und/oder holonome Bewegungssteuerung des Roboters 100 bereit. Wie sie hierin verwendet wird, betrifft die Bezeichnung „omnidirektional” die Fähigkeit, sich im Wesentlichen in jede beliebige ebene Richtung, d. h. von Seite zu Seite (lateral), vor/zurück und drehend zu bewegen. Diese Richtungen werden hierin allgemein als x, y bzw. θz bezeichnet. Ferner wird die Bezeichnung „holonom” derart verwendet, dass sie im Wesentlichen der Verwendung der Bezeichnung in der Fachliteratur entspricht, und bezieht sich auf die Fähigkeit, sich in einer ebenen Richtung mit drei ebenen Graden der Bewegungsfreiheit zu bewegen, d. h. zwei Translationen und eine Rotation. Ein holonomer Roboter hat demnach die Fähigkeit, sich in einer ebenen Richtung mit einer Geschwindigkeit, die im Wesentlichen aus jeder beliebigen Proportion der drei ebenen Geschwindigkeiten (vor/zurück, lateral und rotierend) besteht, zu bewegen sowie die Fähigkeit, diese Proportionen auf im Wesentlichen kontinuierliche Art und Weise zu verändern.In some versions, the drive system provides 200 omnidirectional and / or holonomic motion control of the robot 100 ready. As used herein, the term "omnidirectional" refers to the ability to move substantially in any planar direction, ie, side-to-side, forward / backward, and rotational. These directions are referred to herein generally as x, y, and θz, respectively. Further, the term "holonom" is used to substantially correspond to the use of the term in the literature, and refers to the ability to move in a planar direction with three levels of freedom of movement, ie, two translations and one rotation , Thus, a holonomic robot has the ability to move in a planar direction at a speed consisting essentially of any proportion of the three plane velocities (forward / backward, lateral, and rotating), as well as the ability to substantially match those proportions continuous way to change.

Der Roboter 100 kann unter Verwendung von Rädern für Mobilitätszwecke in menschlichen Umgebungen (z. B. Umgebungen, die typischerweise für zweibeinige, gehende Bewohner entworfen wurden) betrieben werden. In einigen Ausführungen beinhaltet das Antriebssystem 200 ein erstes, zweites und drittes Antriebsrad 210a, 210b, 210c, die in gleichmäßigen Abständen (d. h. dreiseitig symmetrisch) um die vertikale Achse Z (z. B. in einem Abstand von 120 Grad) angeordnet sind; andere Anordnungen sind jedoch ebenso möglich, wie ein holonomes Antriebssystem mit vier Rädern. Mit Bezugnahme auf 5A und 5B können die Antriebsräder 210a, 210b, 210c eine diagonale, bogenförmige Rolloberfläche (d. h. ein gekrümmtes Profil in einer diagonal oder lotrecht zur Rollrichtung DR verlaufenden Richtung) definieren, was die Manövrierbarkeit des holonomen Antriebssystems 200 verbessern könnte. Jedes Antriebsrad 210a, 210b, 210c ist mit einem jeweiligen Antriebsmotor 220a, 220b, 220c gekoppelt, der das Antriebsrad 210a, 210b, 210c unabhängig von den anderen Antriebsmotoren 220a, 220b, 220c in Vorwärts- und/oder Rückwärtsrichtungen antreiben kann. Jeder Antriebsmotor 220a–c kann einen jeweiligen Geber 212 aufweisen (8C), der Radrotations-Feedback an die Steuerung 500 bereitstellt. In einigen Beispielen ist jedes der Antriebsräder 210a, 210b, 210c auf oder in der Nähe eines der drei Punkte eines gleichseitigen Dreiecks befestigt und weist eine Fahrtrichtung (Vorwärts- und Rückwärtsrichtungen) auf, die lotrecht zu einer Winkelhalbierenden des jeweiligen Dreieckendes liegt. Das Fahren der dreiseitig symmetrischen, holonomen Basis 120 in einer Vorwärtsfahrtrichtung F ermöglicht es dem Roboter 100, zu nicht vorwärts gerichteten Fahrtrichtungen zu wechseln, um sich selbstständig aus einer beengten Situation oder von herumstehenden Gegenständen zu befreien, und den Antrieb dann nach der Befreiung entlang der Vorwärtsfahrtrichtung F zu rotieren und/oder zu verschieben.The robot 100 can be operated using wheels for mobility purposes in human environments (e.g., environments typically designed for biped walking occupants). In some embodiments, the drive system includes 200 a first, second and third drive wheel 210a . 210b . 210c which are arranged at regular intervals (ie symmetrical on three sides) about the vertical axis Z (eg at a distance of 120 degrees); however, other arrangements are possible as well as a holonomic four-wheel drive system. With reference to 5A and 5B can drive the wheels 210a . 210b . 210c define a diagonal, arcuate rolling surface (ie, a curved profile in a direction diagonal or perpendicular to the rolling direction D R ), indicating the maneuverability of the holonomic drive system 200 could improve. Each drive wheel 210a . 210b . 210c is with a respective drive motor 220a . 220b . 220c coupled to the drive wheel 210a . 210b . 210c independent of the other drive motors 220a . 220b . 220c can drive in forward and / or reverse directions. Every drive motor 220a -C can be a respective donor 212 exhibit ( 8C ), the wheel rotation feedback to the controller 500 provides. In some examples, each of the drive wheels 210a . 210b . 210c attached to or near one of the three points of an equilateral triangle and has a direction of travel (forward and backward directions), which is perpendicular to an angle bisector of each triangle end. Driving the three-sided symmetrical, holonomic base 120 in a forward direction F allows the robot 100 to change to non-forward directions to free yourself from a crowded situation or objects standing around, and then to rotate and / or move the drive after release along the forward direction F.

In den Beispielen aus 35B ist das erste Antriebsrad 210a als ein führendes Antriebsrad entlang der Vorwärtsfahrtrichtung F angeordnet, wobei die verbleibenden zwei Antriebsräder 210b, 210c nachfolgen. Um vorwärts zu fahren, kann die Steuerung 500 in dieser Anordnung einen Antriebsbefehl ausgeben, der das zweite und dritte Antriebsrad 210b, 210c veranlasst, mit gleichmäßiger Geschwindigkeit in einer Vorwärtsrollrichtung zu fahren, während das erste Antriebsrad 210a in der Vorwärtsfahrtrichtungen F mitgleitet. Ferner ermöglicht es diese Antriebsradanordnung dem Roboter 100, plötzlich anzuhalten (z. B. durch eine schnelle negative Beschleunigung entgegen der Vorwärtsfahrtrichtung F). Dies ist bedingt durch die natürliche dynamische Instabilität der dreirädrigen Konstruktion. Würde die Vorwärtsfahrtrichtung F entlang einer Winkelhalbierenden zwischen zwei vorwärts gerichteten Antriebsrädern verlaufen, würde das plötzliche Anhalten ein Drehmoment erzeugen, das den Roboter 100 veranlassen würde, umzufallen, in dem er über seine zwei „vorderen” Räder kippt. Das Fahren mit einem Antriebsrad 210a vorne stützt den Roboter 100 hingegen und verhindert so, dass er vornüber kippt, wenn er schnell zum Halten kommen muss. Wenn er jedoch aus dem Stehen beschleunigt, kann die Steuerung 500 ein Trägheitsmoment I des Roboters 100 von seinem Gesamtschwerpunkt CGR in Betracht ziehen.In the examples 3 - 5B is the first drive wheel 210a is arranged as a leading drive wheel along the forward direction F, with the remaining two drive wheels 210b . 210c follow. To drive forward, the controller can 500 in this arrangement, issue a drive command that includes the second and third drive wheels 210b . 210c caused to travel at a uniform speed in a forward rolling direction, while the first drive wheel 210a slips in the forward directions F. Furthermore, this drive wheel arrangement allows the robot 100 to stop suddenly (eg by a rapid negative acceleration against the forward direction F). This is due to the natural dynamic instability of the three-wheeled design. If the forward travel direction F were along an angle bisector between two forward drive wheels, the sudden stop would generate a torque that would cause the robot 100 would cause it to fall over, tipping over its two "front" wheels. Driving with a drive wheel 210a Front supports the robot 100 on the other hand and Prevents him from tipping over when he has to come to a quick stop. However, if he accelerates from standing, the controller can 500 an inertia moment I of the robot 100 from its overall CG R focus.

In einigen Ausführungen des Antriebssystems 200 hat jedes Antriebsrad 210a, 210b, 210c eine Rollrichtung DR, die radial mit einer vertikalen Achse Z, die rechtwinklig zur X- und Y-Achse des Roboters 100 verläuft, ausgerichtet ist. Das erste Antriebsrad 210a kann als ein führendes Antriebsrad entlang der Vorwärtsfahrtrichtung F angeordnet sein, wobei die verbleibenden zwei Antriebsräder 210b, 210c nachfolgen. Um vorwärts zu fahren, kann die Steuerung 500 in dieser Anordnung einen Antriebsbefehl ausgeben, der das erste Antriebsrad 210a veranlasst, in eine Vorwärtsrollrichtung zu fahren und das zweite und dritte Antriebsrad 210b, 210c veranlasst, mit einer gleichen Geschwindigkeit wie das erste Antriebsrad 210a, jedoch in entgegengesetzter Richtung, zu fahren.In some versions of the drive system 200 has every drive wheel 210a . 210b . 210c a rolling direction D R that is radial with a vertical axis Z perpendicular to the X and Y axes of the robot 100 runs, is aligned. The first drive wheel 210a may be arranged as a leading drive wheel along the forward direction of travel F, with the remaining two drive wheels 210b . 210c follow. To drive forward, the controller can 500 in this arrangement, issue a drive command that the first drive wheel 210a caused to move in a forward rolling direction and the second and third drive wheel 210b . 210c causes, with a same speed as the first drive wheel 210a but in the opposite direction to drive.

In anderen Ausführungen kann das Antriebssystem 200 so angeordnet sein, dass das erste und zweite Antriebsrad 210a und 210b so positioniert sind, dass eine Winkelhalbierende eines Winkels zwischen den zwei Antriebsrädern 210a, 210b mit der Vorwärtsfahrtrichtung F des Roboters 100 ausgerichtet ist. Um vorwärts zu fahren, kann die Steuerung 500 in dieser Anordnung einen Antriebsbefehl ausgeben, der das erste und zweite Antriebsrad 210a, 210b veranlasst, in einer Vorwärtsrollrichtung und mit einer gleichen Geschwindigkeit zu fahren, während das dritte Antriebsrad 210c in einer Rückwärtsrichtung führt oder untätig bleibt und hinter dem ersten und zweiten Antriebsrad 210a, 210b hinterher gezogen wird. Um während des Vorwärtsfahrens nach links oder rechts zu drehen, kann die Steuerung 500 einen Befehl ausgeben, der das entsprechende erste oder zweite Antriebsrad 210a, 210b veranlasst, mit einer im Verhältnis schnelleren/langsameren Geschwindigkeit zu fahren. Auch andere Anordnungen des Antriebssystems 200 können verwendet werden. Die Antriebsräder 210a, 210b, 210c können ein zylindrisches, kreisförmiges, elliptisches oder polygonales Profil definieren.In other embodiments, the drive system 200 be arranged so that the first and second drive wheel 210a and 210b are positioned so that an angle bisector of an angle between the two drive wheels 210a . 210b with the forward direction F of the robot 100 is aligned. To drive forward, the controller can 500 in this arrangement, issue a drive command that includes the first and second drive wheels 210a . 210b caused to travel in a forward rolling direction and at a same speed, while the third drive wheel 210c in a reverse direction or remains idle and behind the first and second drive wheel 210a . 210b is dragged behind. To turn left or right while driving forward, the controller can 500 issue a command representing the corresponding first or second drive wheel 210a . 210b causes to drive at a faster / slower speed. Also other arrangements of the drive system 200 can be used. The drive wheels 210a . 210b . 210c can define a cylindrical, circular, elliptical or polygonal profile.

Mit erneuter Bezugnahme auf 13 trägt die Basis 120 wenigstens ein Bein 130, das in der Z-Richtung von der Basis 120 nach oben verläuft. Das Bein/die Beine 130 kann/können konfiguriert sein, um eine variable Höhe zum Anheben und Absenken des Körpers 140 im Verhältnis zur Basis 120 aufzuweisen. In einigen Ausführungen beinhaltet jedes Bein 130 einen ersten und zweiten Beinabschnitt 132, 134, die sich im Verhältnis zueinander bewegen (z. B. teleskopische, lineare und/oder winklige Bewegung). Statt Hohlkörpern mit immer kleineren Durchmessern, die sich teleskopisch in- und auseinander und aus einem im Verhältnis größeren Basishohlkörper bewegen, bewegt sich der zweite Beinabschnitt 134 in den dargestellten Beispielen teleskopisch über den ersten Beinabschnitt 132, wodurch andere Komponenten entlang des zweiten Beinabschnitts 134 platziert werden und sich potenziell mit dem zweiten Beinabschnitt 134 verhältnismäßig nah an die Basis 120 bewegen können. Das Bein 130 kann eine Stelleranordnung 136 (8C) zum Bewegen des zweiten Beinabschnitts 134 im Verhältnis zum ersten Beinabschnitt 132 beinhalten. Die Stelleranordnung 136 kann einen Motorantrieb 138a, der mit einem Hubmotor 138b in Kommunikation steht, und einen Geber 138c, der Position-Feedback an die Steuerung 500 bereitstellt, beinhalten.With renewed reference to 1 - 3 carries the base 120 at least one leg 130 that is in the Z direction from the base 120 goes up. The leg / legs 130 can be configured to have a variable height for raising and lowering the body 140 in relation to the base 120 exhibit. In some versions, each leg includes 130 a first and second leg portion 132 . 134 moving in relation to each other (eg telescopic, linear and / or angular motion). Instead of hollow bodies with smaller and smaller diameters, which move telescopically in and out of a relatively larger base hollow body, the second leg section moves 134 in the illustrated examples, telescopically over the first leg section 132 , causing other components along the second leg section 134 be placed and potentially with the second leg section 134 relatively close to the base 120 can move. The leg 130 can be a controller arrangement 136 ( 8C ) for moving the second leg section 134 in relation to the first leg section 132 include. The controller arrangement 136 can be a motor drive 138a that with a hoist motor 138b is in communication, and a giver 138c , the position feedback to the controller 500 provides include.

Allgemein beinhalten teleskopische Anordnungen Hohlkörper mit immer kleineren Durchmessern, die sich teleskopisch nach oben und aus im Verhältnis größeren Hohlkörpern an der Basis 120 heraus bewegen, um einen Schwerpunkt CGL des gesamten Beins 130 so tief wie möglich zu halten. Ferner können stärkere und/oder größere Komponenten am Boden platziert werden, um mit stärkeren Drehmomenten fertig zu werden, die an der Basis 120 auftreten, wenn das Bein 130 vollständig ausgefahren ist. Dieser Ansatz verursacht jedoch zwei Probleme. Erstens, wenn die verhältnismäßig kleineren Komponenten oben auf das Bein 130 platziert werden, können Regen, Staub oder andere Partikel herunterlaufen oder in die Hohlkörper fallen und so in einen Raum zwischen den Hohlkörpern eindringen und das Ineinanderschieben der Hohlkörper behindern. Dies stellt ein sehr großes Problem bei der Versiegelung bereit, wenn gleichzeitig die vollständige Mobilität/Beweglichkeit des Beins 130 beibehalten werden soll. Zweitens kann es wünschenswert sein, Traglasten oder Zubehörteile auf dem Roboter 100 zu befestigen. Eine typische Stelle zum Befestigen von Zubehörteilen befindet sich oben auf dem Körper 140. Wenn sich der zweite Beinabschnitt 134 teleskopisch in den ersten Beinabschnitt hinein und aus ihm hinaus bewegt, können Zubehörteile und Komponenten nur oberhalb des gesamten zweiten Beinabschnitts 134 befestigt werden, wenn sie sich mit dem Körper 140 bewegen müssen. Andernfalls würden jegliche Komponenten, die am zweiten Beinabschnitt 134 befestigt sind, die teleskopische Bewegung des Beins 130 einschränken.Generally, telescopic assemblies include hollow bodies of ever smaller diameters extending telescopically upwardly and out of relatively larger hollow bodies at the base 120 move out to a center of gravity CG of the entire leg L 130 to be as deep as possible. Furthermore, stronger and / or larger components can be placed on the ground to cope with stronger torques at the base 120 occur when the leg 130 fully extended. However, this approach causes two problems. First, if the relatively smaller components on top of the leg 130 can be placed, rain, dust or other particles run down or fall into the hollow body and thus penetrate into a space between the hollow bodies and hinder the telescoping of the hollow body. This provides a very big sealing problem, if at the same time the complete mobility / mobility of the leg 130 should be maintained. Second, it may be desirable to have payloads or accessories on the robot 100 to fix. A typical location for attaching accessories is on top of the body 140 , When the second leg section 134 telescoped into and out of the first leg section, accessories and components may only extend above the entire second leg section 134 be attached when they are with the body 140 have to move. Otherwise, any components would be on the second leg section 134 attached, the telescopic movement of the leg 130 limit.

Dadurch, dass sich der zweite Beinabschnitt 134 teleskopisch über den ersten Beinabschnitt 132 bewegt, stellt der zweite Beinabschnitt 134 zusätzliche Traglastenbefestigungspunkte bereit, die sich im Verhältnis zu der Basis 120 vertikal bewegen können. Diese Art der Anordnung sorgt dafür, dass Wasser oder luftgetragene Partikel auf der Außenseite jedes Beinabschnitts 132, 134 (z. B. Hohlkörper) den Körper 140 herablaufen, ohne in einen Raum zwischen den Beinabschnitten 132, 134 einzudringen. Dadurch wird das Versiegeln aller Gelenke des Beins 130 erheblich vereinfacht. Ferner sind Traglasten-/Zubehörbefestigungsmerkmale des Körpers 140 und/oder des zweiten Beinabschnitts 134 immer freiliegend und verfügbar, unabhängig davon, wie das Bein 130 ausgefahren ist.This causes the second leg section 134 telescopic over the first leg section 132 moves, puts the second leg section 134 additional payload attachment points that are in proportion to the base 120 can move vertically. This type of arrangement ensures that water or airborne particles on the outside of each leg section 132 . 134 (eg hollow body) the body 140 run down without getting into a space between the leg sections 132 . 134 penetrate. This will seal all the joints of the leg 130 considerably simplified. Further, payload / attachment attachment features of the body 140 and / or the second leg portion 134 always exposed and available, regardless of how the leg 130 is extended.

Mit Bezugnahme auf 3 und 6 trägt/tragen das Bein/die Beine 130 den Körper 140, der eine Flanke 142 aufweisen kann, die über und oberhalb der Basis 120 verläuft. Im dargestellten Beispiel weist der Körper 140 eine nach unten gerichtete oder untere Oberfläche 144 (z. B. zur Basis hin), die wenigstens einen Teil der Flanke 142 bildet, und eine gegenüberliegende, nach oben gerichtete oder obere Oberfläche 146 auf, wobei eine Seitenoberfläche 148 zwischen ihnen verläuft. Der Körper 140 kann verschiedene Formen oder Geometrien definieren, wie eine kreisförmige oder eine elliptische Form mit einem Mittelabschnitt 141, der vom Bein/von den Beinen 130 getragen wird, und einem freien Umfangsabschnitt 143, der lateral über ein laterales Ausmaß des Beins/der Beine 130 hinausreicht und demnach einen überstehenden Abschnitt bereitstellt, der die nach unten gerichtete Oberfläche 144 definiert. In einigen Beispielen definiert der Körper 140 eine polygonale oder andere komplexe Form, die eine Flanke definiert, welche einen überstehenden Abschnitt bereitstellt, der über der Basis 120 über das Bein/die Beine 130 hinausreicht.With reference to 3 and 6 carries / carry the leg / legs 130 the body 140 , the one flank 142 may be above and above the base 120 runs. In the example shown, the body 140 a downward or lower surface 144 (eg towards the base), which is at least part of the flank 142 forms, and an opposite, upward or upper surface 146 on, with a side surface 148 between them runs. The body 140 may define various shapes or geometries, such as a circular or elliptical shape with a central portion 141 , the leg / legs 130 is worn, and a free peripheral portion 143 which is lateral over a lateral extent of the leg (s) 130 extends and thus provides a projecting portion of the downwardly facing surface 144 Are defined. In some examples, the body defines 140 a polygonal or other complex shape that defines an edge that provides a protruding portion above the base 120 over the leg / legs 130 extends.

Der Roboter 100 kann einen Zubehöranschluss oder mehrere Zubehöranschlüsse 170 (z. B. mechanische und/oder elektrische Verbindungspunkte) zum Empfangen von Traglasten beinhalten. Die Zubehöranschlüsse 170 können so angeordnet sein, dass empfangene Traglasten die Sensoren des Sensorsystems 400 (z. B. auf der unteren Oberfläche 144 und/oder der oberen Oberfläche 146 des Körpers 140 usw.) nicht verdecken oder versperren. In einigen Ausführungen, wie in 6 gezeigt, beinhaltet der Körper 140 auf einem hinteren Abschnitt 149 des Körpers 140 einen Zubehöranschluss oder mehrere Zubehöranschlüsse 170, um zum Beispiel eine Traglast im Korb 360 aufzunehmen und somit die Sensoren auf einem vorderen Abschnitt 147 des Körpers 140 oder anderen Abschnitten des Roboterkörpers 110 nicht zu verdecken.The robot 100 can have one accessory port or multiple accessory ports 170 (eg, mechanical and / or electrical connection points) for receiving payloads. The accessory connections 170 can be arranged so that received loads the sensors of the sensor system 400 (eg on the lower surface 144 and / or the upper surface 146 of the body 140 etc.) do not obscure or obstruct. In some versions, as in 6 shown, the body includes 140 on a rear section 149 of the body 140 one accessory port or multiple accessory ports 170 for example, a load in the basket 360 absorb and thus the sensors on a front section 147 of the body 140 or other sections of the robot body 110 not to obscure.

Mit erneuter Bezugnahme auf 13 und 7 trägt der Körper 140 den Hals 150, der ein Schwenken und Neigen des Kopfes 160 im Verhältnis zum Körper 140 bereitstellt. In den dargestellten Beispielen beinhaltet der Hals 150 eine Drehvorrichtung 152 und eine Neigevorrichtung 154. Die Drehvorrichtung 152 kann einen Winkelbewegungsbereich θR (z. B. über die Z-Achse) zwischen etwa 90° und etwa 360° bereitstellen. Auch andere Bereiche sind möglich. Ferner beinhaltet die Drehvorrichtung 152 in einigen Beispielen elektrische Verbindungen oder Kontakte, die eine kontinuierliche Rotation des Kopfes 160 um 360° im Verhältnis zum Körper 140 in einer unbegrenzten Zahl an Rotationen ermöglichen und gleichzeitig die elektrische Kommunikation zwischen dem Kopf 160 und dem Rest des Roboters 100 beibehalten. Die Neigevorrichtung 154 kann die gleichen oder ähnliche elektrische(n) Verbindungen und Kontakte beinhalten, die eine Rotation des Kopfes 160 im Verhältnis zum Körper 140 ermöglichen und gleichzeitig die elektrische Kommunikation zwischen dem Kopf 160 und dem Rest des Roboters 100 beibehalten. Die Drehvorrichtung 152 kann einen Drehvorrichtungsmotor 152m beinhalten, der mit einem Ring 153 (z. B. einem ringförmigen Zahnkranz) gekoppelt ist oder diesen greift. Die Neigevorrichtung 154 kann den Kopf unabhängig von der Drehvorrichtung 152 im Verhältnis zum Körper 140 in einem Winkel θT (z. B. um die Y-Achse) bewegen. In einigen Beispielen beinhaltet die Neigevorrichtung 154 einen Neigevorrichtungsmotor 155, der den Kopf 160 in einem Winkel θT von ±90° im Verhältnis zur Z-Achse bewegt. Auch andere Bereiche sind möglich, wie ±45° usw. Der Roboter 100 kann so konfiguriert sein, dass das Bein/die Beine 130, der Körper 140, der Hals 150 und der Kopf 160 innerhalb eines Umfang der Basis 120 bleiben, um eine stabile Mobilität des Roboters 100 beizubehalten. Im in 8F dargestellten beispielhaften Schaltbild beinhaltet der Hals 150 eine Schwenk-/Neigeanordnung 151, die eine Drehvorrichtung 152 und eine Neigevorrichtung 154 nebst zugehörigen Motorantrieben 156a, 156b und Gebern 158a, 158b beinhaltet.With renewed reference to 1 - 3 and 7 the body carries 140 the throat 150 , which is a pan and tilt of the head 160 in relation to the body 140 provides. In the illustrated examples, the neck includes 150 a turning device 152 and a tilt device 154 , The turning device 152 may provide an angular range of motion θ R (eg, across the Z axis) between about 90 ° and about 360 °. Other areas are possible. Furthermore, the rotating device includes 152 in some examples electrical connections or contacts that require continuous rotation of the head 160 360 ° in relation to the body 140 allow in an unlimited number of rotations and at the same time the electrical communication between the head 160 and the rest of the robot 100 maintained. The tilting device 154 may include the same or similar electrical connections and contacts that cause rotation of the head 160 in relation to the body 140 allow and at the same time the electrical communication between the head 160 and the rest of the robot 100 maintained. The turning device 152 can a turntable motor 152m include that with a ring 153 (eg, an annular ring gear) is coupled or engages. The tilting device 154 can head independently of the turning device 152 in relation to the body 140 at an angle θ T (eg, around the Y axis). In some examples, the tilting device includes 154 a tilting motor 155 that the head 160 at an angle θ T of ± 90 ° relative to the Z axis moves. Other areas are possible, such as ± 45 °, etc. The robot 100 can be configured so that the leg / legs 130 , the body 140 , the neck 150 and the head 160 within a scope of the base 120 stay in place for a stable mobility of the robot 100 maintain. Im in 8F illustrated exemplary circuit diagram includes the neck 150 a pan / tilt arrangement 151 that is a turning device 152 and a tilt device 154 together with associated motor drives 156a . 156b and donors 158a . 158b includes.

8A8G stellen beispielhafte Diagramme der Schaltung für den Roboter 100 bereit. 8A8C stellen beispielhafte Diagramme der Schaltung für die Basis 120 bereit, welche die Näherungssensoren, wie die Sonarnäherungssensoren 410 und die Klippennäherungssensoren 420, die Kontaktsensoren 430, den Laserscanner 440, den Sonarscanner 460 und das Antriebssystem 200 enthalten kann. Die Basis 120 kann außerdem die Steuerung 500, die Stromquelle 105 und die Beinstelleranordnung 136 enthalten. Der Körper 140 kann einen Mikrocontroller 145, das/die Mikrophon(e) 330, den/die Lautsprecher 340, einen Bildgebungssensor 450 (wie einen scannenden 3D-Bildgebungssensor 450a) und ein Körperberührungssensorsystem 480, das es der Steuerung 500 ermöglicht, Benutzerkontakt oder Berührungen zu empfangen und darauf zu reagieren (z. B. durch Bewegen des Körpers 140 im Verhältnis zu der Basis 120, Schwenken und/oder Neigen des Halses 150 und/oder Ausgeben von Befehlen an das Antriebssystem 200 als Reaktion darauf), enthalten. Der Hals 150 kann eine Schwenk-/Neigeanordnung 151 enthalten, die einen Schwenkmotor 152 mit einem zugehörigen Motorantrieb 156a und Geber 158a und einen Neigemotor 154 mit einem zugehörigen Motorantrieb 156b und Geber 158b beinhalten kann. Der Kopf 160 kann ein der mehrere Webpad(s) 310 (bei denen es sich z. B. um ein entferntes Rechengerät handeln kann, das mit dem Roboter 100 in Kommunikation steht) und eine Kamera 320 enthalten. 8A - 8G represent exemplary diagrams of the circuit for the robot 100 ready. 8A - 8C Make example diagrams of the circuit for the base 120 which are the proximity sensors, such as the sonar proximity sensors 410 and the clip proximity sensors 420 , the contact sensors 430 , the laser scanner 440 , the sonar scanner 460 and the drive system 200 may contain. The base 120 can also control 500 , the power source 105 and the leg adjuster assembly 136 contain. The body 140 can be a microcontroller 145 the microphone (s) 330 , the speaker (s) 340 , an imaging sensor 450 (such as a 3D scanning imaging sensor 450a ) and a body touch sensor system 480 It's the controller 500 allows to receive and respond to user contact or touches (eg by moving the body 140 relative to the base 120 , Panning and / or tilting the neck 150 and / or issuing commands to the drive system 200 in response). The neck 150 can a pan / tilt arrangement 151 included a swivel motor 152 with an associated motor drive 156a and donors 158a and a tilt motor 154 with a associated motor drive 156b and donors 158b may include. The head 160 can one of several webpad (s) 310 (which may be, for example, a remote computing device that is with the robot 100 is in communication) and a camera 320 contain.

Das Webpad 310 kann eine Software-Anwendung (z. B. eine Tablet-basierte Benutzerschnittstellenkomponente/-anwendung) ausführen, die es einem entfernten Benutzer ermöglicht, eine Umgebung oder Szene 10 um den Roboter 100 darzustellen und den Roboter 100 aus der Ferne zu steuern. Diese Software-Anwendung kann Hardware, wie ein Apple iPad 2 und/oder ein Motorola Xoom, als Webpad 310 und eine PrimeSensor-Kamera (erhältlich von PrimeSense, 28 Habarzel St., 4th Floor, Tel-Aviv, 69710, Israel) als Bildgebungssensor 450 oder jede beliebige andere geeignete Hardware verwenden. Die Software-Anwendung kann Apple iOS 4.x, Android 3.0 (auch Honeycomb genannt), OpenGL ES 2.0 oder jedes beliebige andere geeignete Betriebssystem oder Programm verwenden.The webpad 310 may execute a software application (eg, a tablet-based user interface component / application) that allows a remote user to access an environment or scene 10 around the robot 100 represent and the robot 100 to remotely control. This software application can use hardware, such as an Apple iPad 2 and / or a Motorola Xoom, as a webpad 310 and a PrimeSensor camera (available from PrimeSense, 28 Habarzel St., 4th Floor, Tel-Aviv, 69710, Israel) as an imaging sensor 450 or use any other suitable hardware. The software application may use Apple iOS 4.x, Android 3.0 (also called Honeycomb), OpenGL ES 2.0, or any other suitable operating system or program.

Um zuverlässige und stabile autonome Bewegung zu erreichen, kann das Sensorsystem 400 mit Bezugnahme auf 14C und 9 verschiedene Arten von Sensoren beinhalten, die in Verbindung miteinander verwendet werden können, um eine Wahrnehmung der Umgebung des Roboters zu erreichen, die ausreichend ist, damit der Roboter 100 intelligente Entscheidungen über Handlungen in dieser Umgebung treffen kann. Das Sensorsystem 400 kann einen oder mehrere Sensortypen beinhalten, die vom Roboterkörper 110 getragen werden, wie Hinderniserfassungs- und Hindernisausweichsensoren (engl.: Obstacle Detection Obstacle Avoidance, ODOA-Sensoren), Kommunikationssensoren, Navigationssensoren usw. Zum Beispiel können diese Sensoren Folgendes beinhalten: Näherungssensoren, Kontaktsensoren, dreidimensionale (3D) Bildgebungs-/Tiefenkartensensoren, eine Kamera (z. B. eine Kamera für sichtbares Licht und/oder Infrarotlicht), Sonar, Radar, LIDAR (engl.: Light Detection And Ranging, Lichterfassung und -messung, was das optische Erkennen aus der Entfernung beinhalten kann, bei dem Eigenschaften von gestreutem Licht gemessen werden, um eine Reichweite und/oder andere Informationen über ein entferntes Ziel zu erhalten), LADAR (engl.: Laser Detection and Ranging, Lasererfassung und -messung) usw., wobei diese Aufzählung nicht abschließend ist. In einigen Ausführungen beinhaltet das Sensorsystem 400 Sonarsensoren 410 (z. B. neun um einen Umfang der Basis 120), Klippennäherungsdetektoren 420, Kontaktsensoren 430, einen Laserscanner 440, einen oder mehrere 3D-Bildgebungs-/Tiefensensor(en) 450 und ein Bildgebungssonar 450.To achieve reliable and stable autonomous motion, the sensor system can 400 with reference to 1 - 4C and 9 include various types of sensors that can be used in conjunction with one another to achieve a perception of the environment of the robot that is sufficient for the robot to do 100 make intelligent decisions about actions in this environment. The sensor system 400 may include one or more sensor types that are from the robot body 110 such as obstacle detection obstacle avoidance (ODOA) sensors, communication sensors, navigation sensors, etc. For example, these sensors may include proximity sensors, contact sensors, three-dimensional (3D) imaging / depth card sensors, a camera (eg, a camera for visible light and / or infrared light), sonar, radar, LIDAR (Light Detection And Ranging), light detection and measurement, which may involve remote optical detection, in which characteristics of scattered Light is measured to obtain range and / or other information about a distant target), LADAR (Laser Detection and Ranging), etc., but this enumeration is not exhaustive. In some embodiments, the sensor system includes 400 Sonar sensors 410 (For example, nine around a perimeter of the base 120 ), Clip proximity detectors 420 , Contact sensors 430 , a laser scanner 440 , one or more 3D imaging / depth sensor (s) 450 and an imaging sonar 450 ,

Die Platzierung von Sensoren auf einer Roboterplattform bringt mehrere Herausforderungen mit sich. Erstens müssen die Sensoren derart platziert werden, dass sie eine maximale Abdeckung von Bereichen von Interesse um den Roboter 100 bereitstellen. Zweitens müssen die Sensoren derart platziert werden, dass der Roboter 100 die Sensoren selbst nur minimal versperrt; kurz gesagt, die Sensoren können nicht so platziert werden, dass sie vom Roboter selbst verdeckt werden. Drittens sollte die Platzierung und Befestigung der Sensoren den Rest des industriellen Designs der Plattform nicht einschränken. Was die Ästhetik angeht, so kann davon ausgegangen werden, dass ein Roboter mit unauffällig angebrachten Sensoren „attraktiver” ist als andere Modelle. Was den Nutzen angeht, so sollten Sensoren derart befestigt sein, dass sie den normalen Betrieb des Roboters nicht stören (an Hindernissen hängen bleiben usw.).The placement of sensors on a robot platform poses several challenges. First, the sensors must be placed such that they provide maximum coverage of areas of interest around the robot 100 provide. Second, the sensors must be placed in such a way that the robot 100 the sensors themselves are only minimally blocked; In short, the sensors can not be placed so that they are hidden by the robot itself. Third, the placement and mounting of the sensors should not limit the rest of the industrial design of the platform. In terms of aesthetics, it can be assumed that a robot with inconspicuously attached sensors is "more attractive" than other models. As far as the use is concerned, sensors should be fixed in such a way that they do not disturb the normal operation of the robot (getting caught on obstacles, etc.).

In einigen Ausführungen beinhaltet das Sensorsystem 400 einen Satz oder ein Array an Näherungssensoren 410, 420, die mit der Steuerung 500 in Kommunikation stehen und in einer oder mehreren Zonen oder Abschnitten des Roboter 100 angeordnet sind (z. B. auf dem oder in der Nähe des Basiskörperabschnitt(s) 124a, 124b, 124c des Roboterkörpers 110 angebracht), um in der Nähe befindliche oder eindringenden Hindernisse zu erkennen. Die Näherungssensoren 410, 420 können konvergierende Infrarot-(IR)-Emittersensorelemente, Sonarsensoren, Ultraschallsensoren und/oder Bildgebungssensoren (z. B. 3D-Tiefenkartenbildgebungssensoren) sein, die ein Signal an die Steuerung 500 bereitstellen, wenn sich ein Objekt in einer vorgegebenen Reichweite des Roboters 100 befindet.In some embodiments, the sensor system includes 400 a set or array of proximity sensors 410 . 420 that with the controller 500 are in communication and in one or more zones or sections of the robot 100 are arranged (eg on or in the vicinity of the base body section (s)) 124a . 124b . 124c of the robot body 110 attached) to detect nearby or penetrating obstacles. The proximity sensors 410 . 420 For example, converging infrared (IR) emitter sensor elements, sonar sensors, ultrasonic sensors, and / or imaging sensors (eg, 3D depth map imaging sensors) that provide a signal to the controller 500 deploy when an object is within a given range of the robot 100 located.

In den Beispielen aus 4A4C beinhaltet der Roboter 100 ein Array an Sonarnäherungssensoren 410, die (z. B. mit im Wesentlichen gleichmäßigen Abständen) um den Basiskörper 120 und mit einem nach oben gerichteten Sichtfeld angeordnet sind. Der erste, der zweite und der dritte Sonarnäherungssensor 410a, 410b, 410c sind auf dem oder in der Nähe des ersten (nach vorne gerichteten) Basiskörperabschnitt(s) 124a angeordnet, wobei wenigstens einer der Sonarnäherungssensoren in der Nähe einer radial äußersten Kante 125a des ersten Basiskörpers 124a liegt. Der vierte, der fünfte und der sechste Sonarnäherungssensor 410d, 410e, 410f sind auf dem oder in der Nähe des zweiten (rechten) Basiskörperabschnitt(s) 124b angeordnet, wobei wenigstens einer der Sonarnäherungssensoren in der Nähe einer radial äußersten Kante 125b des zweiten Basiskörpers 124b liegt. Der siebte, der achte und der neunte Sonarnäherungssensor 410g, 410h, 410i sind auf dem oder in der Nähe des dritten (rechten) Basiskörperabschnitt(s) 124c angeordnet, wobei wenigstens einer der Sonarnäherungssensoren in der Nähe einer radial äußersten Kante 125c des dritten Basiskörpers 124c liegt. Diese Konfigurierung stellt wenigstens drei Erfassungsbereiche bereit.In the examples 4A - 4C includes the robot 100 an array of sonar proximity sensors 410 which are (eg, at substantially uniform intervals) around the base body 120 and are arranged with an upward field of view. The first, second and third sonar proximity sensors 410a . 410b . 410c are on or near the first (forward) base body section (s) 124a arranged, where at least one of the sonar proximity sensors near a radially outermost edge 125a of the first base body 124a lies. The fourth, the fifth and the sixth sonar proximity sensor 410d . 410e . 410f are on or near the second (right) base body section (s) 124b arranged, wherein at least one of the sonar proximity sensors in the vicinity of a radially outermost edge 125b of the second base body 124b lies. The seventh, eighth, and ninth sonar proximity sensors 410g . 410h . 410i are on or near the third (right) base body section (s) 124c arranged, wherein at least one of the sonar proximity sensors in the vicinity of a radially outermost edge 125c of the third base body 124c lies. This configuration provides at least three coverage areas.

In einigen Beispielen ist der Satz an Sonarnäherungssensoren 410 (z. B. 410a410i) um den Basiskörper 120 so angeordnet, dass er nach oben zeigt (z. B. im Wesentlichen in die Z-Richtung) und optional nach außen von der Z-Achse weg abgewinkelt ist, wodurch ein Erfassungsvorhang 412 um den Roboter 100 erzeugt wird. Jeder Sonarnäherungssensor 410a410i kann eine Zarge oder eine Ausstrahlungsführung 414 aufweisen, welche die Sonarausstrahlungen nach oben oder wenigstens nicht in Richtung der anderen Abschnitte des Roboterkörpers 110 leitet (z. B. um keine Bewegung des Roboterkörpers 110 im Verhältnis zu sich selbst zu erfassen). Die Ausstrahlungsführung 414 kann eine Schalen- oder Halbschalenform definieren. Im dargestellten Beispiel reicht der Basiskörper 120 lateral über das Bein 130 hinaus und die Sonarnäherungssensoren 410 (z. B. 410a410i) sind auf dem Basiskörper 120 (z. B. im Wesentlichen entlang des Umfangs des Basiskörpers 120) um das Bein 130 angeordnet. Ferner sind die nach oben gerichteten Sonarnäherungssensoren 410 in Abständen angeordnet, um einen durchgehenden oder im Wesentlichen durchgehenden Sonarerfassungsvorhang 412 um das Bern 130 zu erzeugen. Der Sonarerfassungsvorhang 412 kann verwendet werden, um Hindernisse mit erhöht lateral hervorstehenden Abschnitten zu erkennen, wie Tischoberflächen, Regale usw.In some examples, the set of sonar proximity sensors is 410 (eg 410a - 410i ) around the base body 120 arranged so that it faces upwards (eg substantially in the Z-direction) and is optionally angled outwardly away from the Z-axis, creating a detection curtain 412 around the robot 100 is produced. Each sonar proximity sensor 410a - 410i can be a frame or a broadcasting guide 414 have the sonar emissions upwards or at least not in the direction of the other sections of the robot body 110 conducts (eg, no movement of the robot body 110 in relation to itself). The broadcasting guide 414 can define a shell or half shell shape. In the example shown, the base body is sufficient 120 lateral over the leg 130 out and the sonar proximity sensors 410 (eg 410a - 410i ) are on the base body 120 (eg, substantially along the circumference of the base body 120 ) around the leg 130 arranged. Further, the upward sonar proximity sensors are 410 spaced at a continuous or substantially continuous sonar detection curtain 412 around the Bern 130 to create. The sonar detection curtain 412 can be used to detect obstacles with increased lateral protruding sections, such as table tops, shelves, etc.

Die nach oben gerichteten Sonarnäherungssensoren 410 stellen die Fähigkeit bereit, Objekte zu sehen, die sich vornehmlich in der horizontalen Ebene befinden, wie Tischoberflächen. Diese Objekte können aufgrund ihres Seitenverhältnisses von anderen Sensoren des Sensorsystems, wie dem Laserscanner 440 oder den Bildgebungssensoren 450 leicht übersehen werden und dadurch für den Roboter 100 ein Problem darstellen. Die um den Umfang der Basis 120 angeordneten, nach oben gerichteten Sonarnäherungssensoren 410 stellen eine Möglichkeit dar, diese Art von Objekten/Hindernissen zu sehen oder zu erfassen. Ferner können die Sonarnäherungssensoren 410 um die breitesten Punkte des Basisumfangs platziert und leicht nach außen abgewinkelt werden, um vom Körper 140 oder Kopf 160 des Roboters 100 nicht versperrt oder verdeckt zu werden, wodurch keine falschen Positivergebnisse durch Erfassen von Abschnitten des Roboters 100 selbst auftreten. In einigen Ausführungen sind die Sonarnäherungssensoren 410 angeordnet (nach oben und nach außen), um ein Volumen um den Körper 140 außerhalb eines Sichtfeldes der Sonarnäherungssensoren 410 zu lassen, das somit frei ist, um befestigte Traglasten oder Zubehörteile aufzunehmen, wie den Korb 460. Die Sonarnäherungssensoren 410 können im Basiskörper 124 zurückgesetzt sein, um eine optische Verdeckung zu erreichen und damit keine externen Merkmale an Hindernissen hängen bleiben oder diese berühren.The upward sonar proximity sensors 410 provide the ability to see objects that are primarily in the horizontal plane, such as table surfaces. Due to their aspect ratio, these objects can be used by other sensors of the sensor system, such as the laser scanner 440 or the imaging sensors 450 be easily overlooked and thereby for the robot 100 a problem. The around the scope of the base 120 arranged, upward sonar proximity sensors 410 represent a way to see or capture these types of objects / obstacles. Furthermore, the sonar proximity sensors 410 placed around the widest points of the base perimeter and angled slightly outwards to get away from the body 140 or head 160 of the robot 100 not obstructed or obscured, resulting in false positives by capturing portions of the robot 100 occur yourself. In some embodiments, the sonar proximity sensors are 410 arranged (upwards and outwards) to create a volume around the body 140 outside a field of view of the sonar proximity sensors 410 so that it is free to receive fixed loads or accessories such as the basket 460 , The sonar proximity sensors 410 can in the base body 124 reset in order to achieve optical masking so that no external features are caught on or touch obstacles.

Das Sensorsystem 400 kann einen oder mehrere nach hinten (z. B. entgegen der Vorwärtsfahrtrichtung F) gerichtete Sonarnäherungssensor(en) 410 (z. B. einen hinteren Näherungssensor 410j) zum Erfassen von Hindernissen beim Rückwärtsfahren beinhalten. Der hintere Sonarnäherungssensor 410j kann eine Ausstrahlungsführung 414 beinhalten, um seinen Sonarerfassungsbereich 12 auszurichten. Ferner kann der hintere Sonarnäherungssensor 410j zur Messung verwendet werden, um einen Abstand zwischen dem Roboter 100 und einem erkannten Objekt im Sichtfeld des hinteren Sonarnäherungssensors 410j zu bestimmen (z. B. als Rückfahralarm). In einigen Beispielen ist der hintere Sonarnäherungssensor 410j zurückgesetzt im Basiskörper 120 befestigt, damit er keine optische oder funktionelle Ungleichmäßigkeit in der Gehäuseform erzeugt.The sensor system 400 may be one or more sonar proximity sensor (s) directed to the rear (eg, opposite to the forward direction F) 410 (eg a rear proximity sensor 410j ) for detecting obstacles when reversing. The rear sonar proximity sensor 410j can be a broadcasting guide 414 involve his sonar detection area 12 align. Furthermore, the rear sonar proximity sensor 410j used for measurement, a distance between the robot 100 and a detected object in the field of view of the rear sonar proximity sensor 410j to be determined (eg as a reverse alarm). In some examples, the rear sonar proximity sensor is 410j reset in the base body 120 fixed so that it does not produce any optical or functional unevenness in the housing shape.

Mit Bezugnahme auf 3 und 4B beinhaltet der Roboter 100 in einigen Ausführungen Klippennäherungssensoren 420, die in der Nähe von den oder um die Antriebsräder(n) 210a, 210b, 210c angeordnet sind, um eine Klippe zu erfassen, bevor die Antriebsräder 210a, 210b, 210c auf eine Klippe (z. B. Treppenstufen) treffen. Zum Beispiel können Klippennäherungssensoren 420 an den oder in der Nähe der radial äußersten Kanten 125a–c der Basiskörper 124a–c und an Standorten dazwischen angeordnet sein. In einigen Fällen wird die Klippenerkennung unter Verwendung von Infrarot-(IR)-Näherungserkennung oder tatsächlicher Abstandserkennung anhand eines Infrarotemitters 422 und eines Infrarotdetektors 424 implementiert, die zueinander abgewinkelt sind, um an einem Standort, an dem ein Boden zu erwarten ist, überlappende Ausstrahlung- und Erfassungsbereiche und demnach eine Erfassungszone zu erzeugen. IR-Näherungserkennung kann ein relativ schmales Sichtfeld aufweisen, kann in seiner Zuverlässigkeit von Oberflächenrückstrahlungsvermögen abhängen und kann von Oberfläche zu Oberfläche eine variierende Reichweitengenauigkeit haben. Deshalb können mehrere diskrete Sensoren um den Umfang des Roboters 100 platziert werden, um Klippen von verschiedenen Punkten auf dem Roboter 100 aus angemessen erfassen zu können. Ferner können auf IR-Näherung basierende Sensoren typischerweise nicht zwischen einer Klippe und einem sicheren Ereignis, zum Beispiel nachdem der Roboter 100 eine Schwelle überquert hat, unterscheiden.With reference to 3 and 4B includes the robot 100 in some embodiments clip proximity sensors 420 that are near or around the drive wheels (s) 210a . 210b . 210c are arranged to capture a cliff before the drive wheels 210a . 210b . 210c hit a cliff (eg stairs). For example, clip proximity sensors 420 at or near the radially outermost edges 125a -C the base body 124a -C and be located at locations in between. In some cases, cliff detection is accomplished using infrared (IR) proximity detection or actual distance detection using an infrared emitter 422 and an infrared detector 424 implemented, which are angled to one another to produce at a location where a ground is to be expected overlapping radiation and detection areas and therefore a detection zone. IR proximity detection may have a relatively narrow field of view, may depend on surface retroreflectivity in its reliability, and may have varying ranging accuracy from surface to surface. Therefore, several discrete sensors can be around the circumference of the robot 100 be placed to cliffs from different points on the robot 100 from being able to adequately capture. Furthermore, sensors based on IR approximation typically can not exist between a cliff and a safe event, for example after the robot 100 has crossed a threshold.

Die Klippennäherungssensoren 420 können erkennen, wenn der Roboter 100 auf eine abfallende Kante des Bodens getroffen ist, wie wenn er an eine Treppe gelangt. Die Steuerung 500 (die ein Steuerungssystem ausführt) kann Verhalten ausführen, die den Roboter 100 veranlassen, eine Handlung, wie das Ändern seiner Fahrtrichtung, durchzuführen, wenn eine Kante erkannt wurde. In einigen Ausführungen beinhaltet das Sensorsystem 400 einen oder mehrere sekundäre Klippensensor(en) (z. B. andere Sensoren, die für die Klippenerkennung und optional für andere Formen der Erkennung konfiguriert sind). Die Klippenerfassungsnäherungssensoren 420 können angeordnet sein, um Früherkennung von Klippen bereitzustellen, Daten für die Unterscheidung zwischen tatsächlichen Klippen und sicheren Ereignissen (wie dem Überschreiten von Schwellen) bereitzustellen, und nach unten und außen gerichtet sein, sodass ihr Sichtfeld wenigstens einen Teil des Roboterkörpers 110 und einen Bereich weg vom Roboterkörper 110 beinhaltet. In einigen Ausführungen führt die Steuerung 500 eine Klippenerfassungsroutine aus, die eine Kante der tragenden Arbeitsoberfläche (z. B. des Bodens), eine Vergrößerung des Abstands über die Kante der Arbeitsoberfläche und/oder eine Vergrößerung des Abstands zwischen dem Roboterkörper 110 und der Arbeitsoberfläche identifiziert und erfasst. Diese Implementierung ermöglicht: 1.) Früherkennung von potenziellen Klippen (die schnellere Mobilitätsgeschwindigkeiten in unbekannten Umgebungen ermöglichen kann); 2.) erhöhte Zuverlässigkeit selbstständiger Mobilität, da die Steuerung 500 Klippenbildinformationen von den Klippenerfassungsnäherungssensoren 420 empfängt, um herauszufinden, ob ein Klippenereignis tatsächlich unsicher ist oder ob es sicher überschritten werden kann (z. B. durch Hochklettern und Überschreiten einer Schwelle); 3.) eine Verringerung falscher Positivmeldungen von Klippen (z. B. aufgrund der Verwendung von Kantenerfassung im Gegensatz zu mehreren diskreten IR-Näherungssensoren mit schmalen Sichtfeldern). Zusätzliche als „Radabsenkung” angeordnete Sensoren können zu Redundanzzwecken eingesetzt werden und um Situationen zu erkennen, in denen eine Abstandsmessungskamera eine bestimmte Klippenart nicht zuverlässig erkennen kann.The clip approach sensors 420 can recognize when the robot 100 is hit on a sloping edge of the floor, as if he gets to a staircase. The control 500 (which executes a control system) can perform behaviors affecting the robot 100 cause an action, such as changing its direction of travel, when an edge has been detected. In some embodiments, the sensor system includes 400 one or more secondary clip sensor (s) (eg other sensors configured for clip detection and optionally for other forms of detection). The cliff detection proximity sensors 420 may be arranged to provide early detection of cliffs, provide data for discrimination between actual cliffs and safe events (such as threshold crossing), and be directed down and out so that their field of view is at least part of the robot body 110 and an area away from the robot body 110 includes. In some versions, the controller performs 500 a cliff detection routine that includes an edge of the supporting work surface (eg, the floor), an increase in the distance over the edge of the work surface, and / or an increase in the distance between the robot body 110 and the work surface identified and recorded. This implementation allows: 1.) early detection of potential cliffs (which can enable faster mobility speeds in unknown environments); 2.) increased reliability of self-mobility, as the controller 500 Cliff image information from cliff detection proximity sensors 420 receives to find out whether a cliff event is actually insecure or can safely be exceeded (eg by climbing up and crossing a threshold); 3.) a reduction in false positives from cliffs (eg due to the use of edge detection as opposed to several discrete IR proximity sensors with narrow fields of view). Additional sensors arranged as "Radabsenkung" can be used for redundancy purposes and to recognize situations in which a distance measurement camera can not reliably detect a certain type of cliff.

Die Schwellen- und Stufenerfassung ermöglicht es dem Roboter 100, effektiv entweder das Überschreiten einer erkletterbaren Schwelle oder das Vermeiden einer Stufe, die zu hoch ist, zu planen. Das gleiche kann für zufällige Objekte auf der Arbeitsoberfläche gelten, die der Roboter 100 sicher überschreiten kann oder auch nicht. Für Hindernisse oder Schwellen, für die der Roboter 100 bestimmt, dass er sie erklettern kann, ermöglicht das Kennen der Höhe es dem Roboter 100, angemessen abzubremsen, falls dies als erforderlich erachtet wird, um einen reibungslosen Übergang zu ermöglichen, um die Ebenheit zu maximieren und jegliche Instabilität aufgrund von plötzlichen Beschleunigungen zu minimieren. In einigen Ausführungen basiert die Schwellen- und Stufenerfassung auf einer Objekthöhe über der Arbeitsoberfläche sowie geometrischer Erkennung (z. B. Unterscheiden zwischen einer Schwelle oder einem elektrischen Kabel im Gegensatz zu einem Klecks, wie einer Socke). Schwellen können durch Kantenerfassung erkannt werden. Die Steuerung 500 kann Bildgebungsdaten von den Klippenerfassungsnäherungssensoren 420 (oder einem anderen Bildgebungssensor auf dem Roboter 100) empfangen, eine Kantenerfassungsroutine ausführen und basierend auf Ergebnissen der Kantenerfassungsroutine einen Antriebsbefehl ausgeben. Die Steuerung 500 kann außerdem Mustererkennung verwenden, um Objekte zu identifizieren. Die Schwellenerfassung ermöglicht es dem Roboter 100, seine Ausrichtung im Verhältnis zu der Schwelle zu ändern, um ein gleichmäßiges Erklettern von Stufen zu ermöglichen.The threshold and step detection allows the robot 100 to effectively plan to either exceed an ascendable threshold or avoid a stage that is too high. The same can apply to random objects on the desktop that the robot 100 may or may not pass safely. For obstacles or thresholds for which the robot 100 Having determined that he can climb it, knowing the height enables the robot 100 brake adequately, if deemed necessary, to allow a smooth transition to maximize flatness and minimize any instability due to sudden acceleration. In some implementations, the threshold and step detection is based on an object height above the work surface as well as geometric detection (eg, distinguishing between a threshold or an electrical cable as opposed to a blob such as a sock). Thresholds can be detected by edge detection. The control 500 can capture imaging data from cliff detection proximity sensors 420 (or another imaging sensor on the robot 100 ), execute an edge detection routine, and output a drive command based on results of the edge detection routine. The control 500 can also use pattern recognition to identify objects. The threshold detection allows the robot 100 to change its orientation in relation to the threshold in order to enable a steady climbing of steps.

Die Näherungssensoren 410, 420 können allein funktionieren oder alternativ zu Redundanzzwecken in Kombination mit einem oder mehreren Kontaktsensor(en) 430 (z. B. Bodenwellenschaltern) arbeiten. Zum Beispiel kann/können ein oder mehrere Kontakt- oder Bodenwellensensor(en) 430 auf dem Roboterkörper 110 erfassen, ob der Roboter 100 physisch auf ein Hindernis trifft. Derartige Sensoren können eine physikalische Eigenschaft verwenden, wie Kapazität oder physische Verschiebung im Roboter 100, um zu bestimmen, wann er auf ein Hindernis getroffen ist. In einigen Ausführungen kann jeder Basiskörperabschnitt 124a, 124b, 124c der Basis 120 einen zugeordneten Kontaktsensor 430 aufweisen (z. B. einen kapazitiven Sensor, Leseschalter usw.), der eine Bewegung des zugeordneten Basiskörperabschnitts 124a, 124b, 124c im Verhältnis zum Basisgehäuse 122 erkennt (siehe z. B. 4A). Zum Beispiel kann sich jeder Basiskörper 124a–c radial im Verhältnis zu der Z-Achse des Basisgehäuses 122 bewegen, um 3-Wege-Wellenerfassung bereitzustellen.The proximity sensors 410 . 420 may work alone or alternatively for redundancy purposes in combination with one or more contact sensor (s) 430 (eg bump switches). For example, one or more contact or ground wave sensor (s) may 430 on the robot body 110 capture if the robot 100 physically encounters an obstacle. Such sensors can use a physical property, such as capacity or physical displacement in the robot 100 to determine when he hit an obstacle. In some embodiments, each base body section 124a . 124b . 124c the base 120 an associated contact sensor 430 include (eg, a capacitive sensor, read switch, etc.) that controls movement of the associated base body portion 124a . 124b . 124c in relation to the base housing 122 recognizes (see eg 4A ). For example, each base body may be 124a C radially relative to the Z axis of the base housing 122 move to provide 3-way wave detection.

Mit Bezugnahme auf 14C, 9 und 10A beinhaltet das Sensorsystem 400 in einigen Ausführungen einen Laserscanner 440, der auf einem vorderen Abschnitt des Roboterkörpers 110 befestigt ist und mit der Steuerung 500 in Kommunikation steht. In den dargestellten Beispielen ist der Laserscanner 440 auf dem Basiskörper 120 nach vorne gerichtet (z. B. mit einem Sichtfeld entlang der Vorwärtsfahrtrichtung F) auf dem oder oberhalb des ersten Basiskörper(s) 124a befestigt (z. B. um eine maximale Bildabdeckung entlang der Fahrtrichtung F des Roboters zu haben). Ferner bedeutet die Platzierung des Laserscanners auf oder in der Nähe der vorderen Spitze der dreieckigen Basis 120, dass der äußere Winkel der Roboterbasis (z. B. 300 Grad) größer ist als ein Sichtfeld 442 des Laserscanners 440 (z. B. –285 Grad), wodurch verhindert wird, dass die Basis 120 das Erfassungssichtfeld 442 des Laserscanners 440 versperrt oder verdeckt. Der Laserscanner 440 kann so weit wie möglich zurückgesetzt im Basiskörper 124 angeordnet sein, ohne seine Sichtfelder zu versperren, um jegliche Abschnitte des Laserscanners, die über den Basiskörper 124 hinausragen, zu minimieren (z. B. aus ästhetischen Gründen und um das Hängenbleiben an Hindernissen zu minimieren).With reference to 1 - 4C . 9 and 10A includes the sensor system 400 in some versions a laser scanner 440 standing on a front section of the robot body 110 is attached and with the controller 500 is in communication. In the examples shown, the laser scanner 440 on the base body 120 directed forwardly (eg with a field of view along the forward direction of travel F) on or above the first base body (s) 124a attached (eg to have a maximum image coverage along the direction of travel F of the robot). Further, the placement of the laser scanner on or near the front tip of the triangular base 120 in that the outer angle of the robot base (eg 300 degrees) is greater than a field of view 442 of the laser scanner 440 (eg, -285 degrees), which prevents the base 120 the detection field of view 442 of the laser scanner 440 locked or hidden. The laser scanner 440 can be reset as far as possible in the base body 124 be arranged without obstructing its field of view to any sections of the laser scanner that are above the base body 124 protrude, to minimize (eg for aesthetic reasons and to minimize sticking to obstacles).

Der Laserscanner 440 scannt einen Bereich um den Roboter 100 und die Steuerung 500 erstellt unter Verwendung von vom Laserscanner 440 empfangenen Signalen eine Umgebungskarte oder Objektkarte des gescannten Bereichs. Die Steuerung 500 kann die Objektkarte zur Navigation, Hinderniserfassung und Hindernisvermeidung verwenden. Ferner kann die Steuerung 500 Sensoreingaben von anderen Sensoren des Sensorsystems 400 für die Erstellung der Objektkarte und/oder zur Navigation verwenden. The laser scanner 440 scans an area around the robot 100 and the controller 500 created using the laser scanner 440 received signals an environment map or object map of the scanned area. The control 500 can use the object map for navigation, obstacle detection and obstacle avoidance. Furthermore, the controller 500 Sensor inputs from other sensors of the sensor system 400 for creating the object map and / or for navigation.

In einigen Beispielen handelt es sich bei dem Laserscanner 440 um ein scannendes LIDAR, das einen Laser verwenden kann, der einen Bereich schnell in einer Dimension als eine Haupt-Scanlinie scannt, und ein Laufzeitbildgebungselement, das eine Phasendifferenz oder eine ähnliche Technik verwendet, um jedem in der Linie erzeugten Pixel eine Tiefe zuzuweisen (was eine zweidimensionale Tiefenlinie in der Scan-Ebene ergibt). Um eine dreidimensionale Karte zu erzeugen, kann der LIDAR einen zusätzlichen Scan in einer zweiten Richtung durchführen (z. B. durch „nicken” des Scanners). Diese mechanische Scan-Technik kann von Technologien wie „Flash”-LIDAR/LADAR und „Swiss Ranger”-Fokusebenen-Bildgebungselementsensoren, Techniken, die Halbleiterstapel verwenden, um Laufzeitberechnungen für eine vollständige 2D-Matrix an Pixeln zu ermöglichen, um an jedem Pixel eine Tiefe oder sogar eine Reihe an Tiefen für jeden Pixel bereitzustellen (mit einem kodierten Illuminator oder Beleuchtungslaser) ergänzt oder sogar unterstützt werden.In some examples, the laser scanner is 440 a scanning LIDAR that can use a laser that scans an area quickly in one dimension as a main scan line, and a runtime imaging element that uses a phase difference or similar technique to assign a depth to each pixel created in the line (which gives a two-dimensional depth line in the scan plane). To create a three-dimensional map, the LIDAR can perform an additional scan in a second direction (eg, by "nodding" the scanner). This mechanical scanning technique may use technologies such as "Flash" lidar / LADAR and "Swiss Ranger" focal plane imaging element sensors, techniques that use semiconductor stacks to allow run-time calculations for a complete 2D array of pixels to produce one pixel at each pixel Provide depth or even a range of depths for each pixel (with a coded illuminator or illumination laser) to complement or even support.

Das Sensorsystem 400 kann einen oder mehrere dreidimensionale(n)(3D)-Bildsensor(en) 450 beinhalten, der/die mit der Steuerung 500 in Kommunikation steht/stehen. Wenn der 3D-Bildsensor 450 ein begrenztes Sichtfeld hat, kann die Steuerung 500 oder das Sensorsystem 400 den 3D-Bildsensor 450a von Seite zu Seite scannend betätigen, um ein im Verhältnis breiteres Sichtfeld bereitzustellen, um robuste ODOA bereitzustellen.The sensor system 400 can use one or more three-dimensional (3D) image sensor (s) 450 include, the one with the controller 500 in communication stands / stands. When the 3D image sensor 450 has a limited field of view, the controller can 500 or the sensor system 400 the 3D image sensor 450a scan from side to side to provide a relatively wider field of view to provide robust ODOA.

Mit erneuter Bezugnahme auf 2 und 4A4C kann das Sensorsystem 400 eine Trägheitsmesseinheit (engl.: Inertial Measurement Unit, IMU) 470 beinhalten, die mit der Steuerung 500 in Kommunikation steht, um ein Trägheitsmoment des Roboters 100 im Verhältnis zum Gesamtschwerpunkt CGR des Roboters 100 zu messen und zu überwachen.With renewed reference to 2 and 4A - 4C can the sensor system 400 an inertial measurement unit (English: Inertial Measurement Unit, IMU) 470 involve with the controller 500 communicates to a moment of inertia of the robot 100 in relation to the overall center of gravity CG R of the robot 100 to measure and monitor.

Die Steuerung 500 kann jede Abweichung des Feedbacks von der IMU 470 von einem Grenzwertsignal, das einem normalen, ungestörten Betrieb entspricht, überwachen. Wenn der Roboter zum Beispiel von einer aufrechten Position abkippt, kann er durch ein hohes Hindernis (wie eine Wäscheleine) aufgehalten oder anderweitig eingeschränkt sein oder jemand hat plötzlich eine schwere Traglast hinzugefügt. In diesen Fällen kann es erforderlich sein, schnell zu handeln (einschließlich, jedoch nicht beschränkt auf, Ausweichmanöver, Rekalibrierung und/oder Ausgeben eines hörbaren/sichtbaren Warnhinweises), um den sicheren Betrieb des Roboters 100 zu gewährleisten.The control 500 can any deviation of the feedback from the IMU 470 from a threshold signal corresponding to normal, undisturbed operation. For example, when the robot tilts from an upright position, it may be stopped or otherwise restricted by a high obstacle (such as a clothesline) or someone has suddenly added a heavy payload. In these cases, it may be necessary to act quickly (including, but not limited to, evasive maneuvers, recalibration, and / or issuing an audible / visual alert) to ensure safe operation of the robot 100 to ensure.

Da der Roboter 100 in einer menschlichen Umgebung arbeiten kann, kann er mit Menschen interagieren und in Räumen betrieben werden, die für Menschen (und ohne Rücksicht auf die Einschränkungen von Robotern) entwickelt wurden. Der Roboter 100 kann seine Fahrgeschwindigkeiten und Beschleunigungen anpassen, wenn er sich in einer verkehrsreichen, eingeschränkten oder sehr dynamischen Umgebung befindet, wie etwa einer Cocktail-Party oder in einem geschäftigen Krankenhaus. Der Roboter 100 kann jedoch in Situationen geraten, in denen es sicher ist, relativ schnell zu fahren, wie in einem langen, leeren Flur, er aber dennoch in der Lage ist, schnell zu bremsen, zum Beispiel wenn etwas den Bewegungspfad des Roboters kreuzt.Because the robot 100 working in a human environment, it can interact with people and operate in spaces designed for people (and regardless of the limitations of robots). The robot 100 can adjust its speeds and accelerations when in a busy, restricted, or highly dynamic environment, such as a cocktail party or a busy hospital. The robot 100 however, it can get into situations where it is safe to drive relatively fast, like in a long, empty hallway, but still able to brake quickly, for example when something crosses the robot's path of movement.

Wenn er aus dem Stehen beschleunigt, kann die Steuerung 500 ein Trägheitsmoment des Roboters 100 von seinem Gesamtschwerpunkt CGR in Betracht ziehen, um ein Umkippen des Roboters zu verhindern. Die Steuerung 500 kann ein Modell seiner Pose, einschließlich seines aktuellen Trägheitsmoments, verwenden. Wenn Traglasten getragen werden, kann die Steuerung 500 eine Lasteinwirkung auf den Gesamtschwerpunkt CGR messen und die Bewegung des Trägheitsmoments des Roboters überwachen. Zum Beispiel kann/können der Körper 140 und/oder der Hals 150 Belastungsmessgeräte beinhalten, um die Belastung zu messen. Falls das nicht möglich ist, kann die Steuerung 500 einen Test-Drehmomentbefehl an die Antriebsräder 210 ausgeben und anhand der IMU 470 tatsächliche lineare und winklige Beschleunigung des Roboters messen, um durch Experimente sichere Grenzen zu bestimmen.If he accelerates from standing, the controller can 500 an inertia moment of the robot 100 from its overall center of gravity, CG R , to prevent the robot from tipping over. The control 500 can use a model of his pose, including his current moment of inertia. When carrying loads, the controller can 500 measure a load acting on the center of gravity CG and R monitor the movement of the moment of inertia of the robot. For example, the body can / can 140 and / or the neck 150 Contain strain gauges to measure the load. If this is not possible, the controller can 500 a test torque command to the drive wheels 210 and IMU 470 measure actual linear and angular acceleration of the robot in order to determine safe limits through experiments.

Während einer plötzlichen Entschleunigung wird eine vorgegebene Last auf das zweite und dritte Antriebsrad 210b, 210c (die hinteren Räder) verringert, während das erste Antriebsrad 210a (das Vorderrad) in der Vorwärtsfahrtrichtung mitgleitet und den Roboter 100 stützt. Wenn die Belastung des zweiten und dritten Antriebsrads 210b, 210c (die hinteren Räder) asymmetrisch ist, kann der Roboter 100 vom Kurs abweichen, was die dynamische Stabilität verringert. Die IMU 470 (z. B. ein Gyroskop) kann verwendet werden, um diese Abweichung zu erfassen und das zweite und dritte Antriebsrad 210b, 210c anzuweisen, den Roboter 100 neu auszurichten.During a sudden deceleration becomes a predetermined load on the second and third drive wheel 210b . 210c (the rear wheels) decreases while the first drive wheel 210a (the front wheel) slides in the forward direction and the robot 100 supports. When the load of the second and third drive wheel 210b . 210c (the rear wheels) is asymmetrical, the robot can 100 deviate from the course, which reduces the dynamic stability. The IMU 470 (eg, a gyroscope) may be used to detect this deviation and the second and third drive wheels 210b . 210c to instruct the robot 100 to realign.

Mit Bezugnahme auf 13, 9 und 10A beinhaltet der Roboter 100 in einigen Ausführungen einen scannenden 3D-Bildsensor 450a, der auf einem vorderen Abschnitt des Roboterkörpers 110 mit einem Sichtfeld entlang der Vorwärtsfahrtrichtung F befestigt ist (z. B. um eine maximale Bildgebungsabdeckung entlang der Fahrtrichtung F des Roboters zu haben). Der scannende 3D-Bildsensor 450a kann primär zur Hinderniserfassung/Hindernisvermeidung (ODOA) verwendet werden. Im dargestellten Beispiel ist der scannende 3D-Bildsensor 450a auf dem Körper 140 unter der Flanke 142 oder auf der Bodenoberfläche 144 befestigt und in den Körper 140 eingelassen (z. B. bündig oder von der Bodenoberfläche 144) zurückgesetzt, wie in 3 dargestellt, zum Beispiel um Benutzerkontakt mit dem scannenden 3D-Bildsensor 450a zu verhindern. Der scannende 3D-Bildsensor 450 kann angeordnet sein, um im Wesentlichen nach unten und weg vom Roboterkörper 110 zu zeigen, damit er ein nach unten gerichtetes Sichtfeld 452 vor dem Roboter 100 zur Hinderniserfassung und Hindernisvermeidung (ODOA) hat (z. B. mit Versperrung durch die Basis 120 oder andere Abschnitte des Roboterkörpers 110). Die Platzierung des scannenden 3D-Bildsensors 450a auf oder in der Nähe der vorderen Kante des Körpers 140 ermöglicht es, dass das Sichtfeld des 3D-Bildsensors 450 (z. B. –285 Grad) weniger als ein Außenoberflächenwinkel des Körpers 140 (z. B. 300 Grad) im Verhältnis zum 3D-Bildsensor 450 beträgt, wodurch der Körper 140 daran gehindert wird, den Erfassungssichtbereich 452 des scannenden 3D-Bildsensors 450a zu versperren oder zu verdecken. Ferner kann der scannende 3D-Bildsensor 450a (und der zugehörige Steller) im Körper 140 so weit wie möglich zurückgesetzt angeordnet sein, ohne seine Sichtfelder zu versperren (z. B. auch aus ästhetischen Gründen und um das Hängenbleiben an Hindernissen zu minimieren). Die ablenkende Scan-Bewegung des scannenden 3D-Bildsensors 450a ist für einen Benutzer nicht sichtbar, wodurch ein weniger ablenkendes Interaktionserlebnis erzeugt wird. Im Gegensatz zu einem hervorstehenden Sensor oder Merkmal hat der zurückgesetzte scannende 3D-Bildsensor 450a keine unerwünschten Interaktionen mit der Umgebung (Hängenbleiben an Menschen, Hindernissen usw.), insbesondere beim Bewegen oder Scannen, da praktisch kein beweglicher Teil über die Außenhülle des Körpers 140 hinausreicht. With reference to 1 - 3 . 9 and 10A includes the robot 100 in some embodiments, a scanning 3D image sensor 450a standing on a front section of the robot body 110 is mounted with a field of view along the forward direction F (eg, to have a maximum imaging coverage along the direction of travel F of the robot). The scanning 3D image sensor 450a can primarily be used for obstacle detection / obstacle avoidance (ODOA). In the example shown, the scanning 3D image sensor is 450a on the body 140 under the flank 142 or on the soil surface 144 attached and in the body 140 embedded (eg flush or from the ground surface 144 ) reset, as in 3 For example, for user contact with the scanning 3D image sensor 450a to prevent. The scanning 3D image sensor 450 may be arranged to be substantially down and away from the robot body 110 to show it a downward field of view 452 in front of the robot 100 for obstruction detection and obstacle avoidance (ODOA) has (eg with obstruction by the base 120 or other sections of the robot body 110 ). The placement of the scanning 3D image sensor 450a on or near the front edge of the body 140 allows the field of view of the 3D image sensor 450 (eg, -285 degrees) to be less than an outside surface angle of the body 140 (eg 300 degrees) in relation to the 3D image sensor 450 is what causes the body 140 is prevented from viewing coverage area 452 of the scanning 3D image sensor 450a to obstruct or obscure. Furthermore, the scanning 3D image sensor 450a (and the associated actuator) in the body 140 be set back as far as possible without obstructing its field of view (eg also for aesthetic reasons and to minimize the risk of being caught by obstacles). The distracting scan motion of the scanning 3D image sensor 450a is not visible to a user, creating a less distracting interaction experience. Unlike a protruding sensor or feature, the recessed 3D scanning image sensor has 450a no unwanted interactions with the environment (getting stuck on people, obstacles, etc.), especially when moving or scanning, as there is virtually no moving part over the outer shell of the body 140 extends.

In einigen Ausführungen beinhaltet das Sensorsystem 400 zusätzliche 3D-Bildsensoren 450, die auf dem Basiskörper 120, dem Bein 130, dem Hals 150 und/oder dem Kopf 160 angeordnet sind. Im Beispiel aus 1 beinhaltet der Roboter 100 3D-Bildsensoren 450 auf dem Basiskörper 120, dem Körper 140 und dem Kopf 160. Im Beispiel aus 2 beinhaltet der Roboter 100 3D-Bildsensoren 450 auf dem Basiskörper 120, dem Körper 140 und dem Kopf 160. Im Beispiel aus 9 beinhaltet der Roboter 100 3D-Bildsensoren 450 auf dem Bein 130, dem Körper 140 und dem Hals 150. Auch andere Konfigurationen sind möglich. Ein 3D-Bildsensor 450 (z. B. auf dem Hals 150 und über dem Kopf 160) kann zur Personenerkennung, Gestenerkennung und/oder für Videokonferenzen verwendet werden, während ein anderer 3D-Bildsensor 450 (z. B. auf der Basis 120 und/oder dem Bern 130) zur Navigation und/oder Hinderniserfassung und Hindernisvermeidung verwendet werden kann.In some embodiments, the sensor system includes 400 additional 3D image sensors 450 on the base body 120 , the leg 130 , the neck 150 and / or the head 160 are arranged. In the example off 1 includes the robot 100 3D image sensors 450 on the base body 120 , the body 140 and the head 160 , In the example off 2 includes the robot 100 3D image sensors 450 on the base body 120 , the body 140 and the head 160 , In the example off 9 includes the robot 100 3D image sensors 450 on the leg 130 , the body 140 and the neck 150 , Other configurations are possible. A 3D image sensor 450 (eg on the neck 150 and above the head 160 ) can be used for person recognition, gesture recognition and / or videoconferencing while another 3D image sensor 450 (eg on the base 120 and / or the Bern 130 ) can be used for navigation and / or obstacle detection and obstacle avoidance.

Ein auf dem Hals 150 und/oder dem Kopf 160 angeordneter, nach vorne gerichteter 3D-Bildsensor 450 kann für Personen-, Gesichts- und/oder Gestenerkennung von Personen um den Roboter 100 verwendet werden. Unter Verwendung von Signaleingaben vom 3D-Bildsensor 450 auf dem Kopf 160 kann die Steuerung 500 einen Benutzer erkennen, indem eine dreidimensionale Karte des angesehenen/aufgenommen Benutzergesichts erzeugt wird und die erzeugte dreidimensionale Karte mit bekannten 3D-Bildern von Gesichtern von Personen verglichen wird und eine Übereinstimmung mit einem der bekannten 3D-Gesichtsbilder bestimmt wird. Gesichtserkennung kann zur Bestätigung von Benutzern als zugelassene Benutzer des Roboters 100 verwendet werden. Ferner kann/können einer oder mehrere der 3D-Bildsensoren 450 verwendet werden, um Gesten einer im Sichtfeld des Roboters 100 befindlichen Person zu bestimmen und optional basierend auf der/den bestimmten Geste(n) (z. B. Zeigen mit der Hand, Winken und/oder Handsignale) zu reagieren. Zum Beispiel kann die Steuerung 500 als Reaktion auf ein erkanntes Zeigen mit der Hand in eine bestimmte Richtung einen Antriebsbefehl ausgeben.One on the neck 150 and / or the head 160 arranged, forward looking 3D image sensor 450 Can be used for person, facial and / or gesture recognition of persons around the robot 100 be used. Using signal inputs from the 3D image sensor 450 on the head 160 can the controller 500 recognize a user by creating a three-dimensional map of the viewed user's face and comparing the generated three-dimensional map with known 3D images of faces of persons and determining a match with one of the known 3D face images. Face recognition can be used to confirm users as authorized users of the robot 100 be used. Further, one or more of the 3D image sensors may 450 used to gesture one in the field of view of the robot 100 and optionally respond based on the particular gesture (s) (eg, pointing by hand, waving, and / or hand signals). For example, the controller 500 output a drive command in response to a detected pointing by hand in a certain direction.

10B stellt eine schematische Ansicht eines Roboters 900 mit einer Kamera 910, Sonarsensoren 920 und einem Laserentfernungsmesser 930 bereit, die alle auf einem Roboterkörper 905 befestigt sind und ein Sichtfeld, das parallel oder im Wesentlichen Parallel zum Boden G liegt, aufweisen. In dem Beispiel erkennt ein Laserentfernungsmesser 930 Objekte in der Nähe des Bodens G, ein Ring an Ultraschallsensoren (Sonare) 920 erfasst Objekte, die weiter über dem Boden G liegen, und die Kamera 910 nimmt einen großen Abschnitt der Szene von einem hohen Sichtpunkt aus auf. Die Schlüsseleigenschaft dieses Aufbaus ist, dass die Sensoren 910, 920, 930 alle parallel zum Boden G ausgerichtet sind. Ein Vorteil dieser Anordnung besteht darin, dass die Berechnung vereinfacht werden kann, insofern dass ein unter Verwendung eines oder mehrerer der Sensoren 910, 920, 930 bestimmter Abstand zu einem Objekt auch der Abstand ist, den der Roboter 900 zurücklegen kann, bevor er in einer jeweiligen Richtung auf ein Objekt trifft. Ein Nachteil dieser Anordnung besteht darin, dass viele Messniveaus erforderlich sind, um eine gute Abdeckung der Umgebung des Roboters zu erreichen. Dies kann aus kostentechnischer und rechenleistungstechnischer Sicht ungünstig sein, was häufig große Lücken in einem Sensorsichtfeld all dieser Sensoren 910, 920, 930 des Roboters 900 zur Folge hat. 10B represents a schematic view of a robot 900 with a camera 910 , Sonar sensors 920 and a laser rangefinder 930 ready, all on a robot body 905 are fixed and a field of view, which is parallel or substantially parallel to the bottom G, have. In the example, a laser rangefinder detects 930 Objects near the bottom G, a ring of ultrasonic sensors (sonars) 920 detects objects that lie further above ground G and the camera 910 Captures a large portion of the scene from a high point of view. The key feature of this construction is that the sensors 910 . 920 . 930 all are aligned parallel to the ground G. An advantage of this arrangement is that the calculation can be simplified in that one using one or more of the sensors 910 . 920 . 930 the distance to an object is also the distance that the robot 900 can travel before he hits an object in a particular direction. A disadvantage of this arrangement is that many measurement levels are required to provide good coverage of the robot's environment to reach. This can be unfavorable from a cost-related and computational power point of view, which often causes large gaps in a sensor field of view of all these sensors 910 . 920 . 930 of the robot 900 entails.

In einigen Ausführungen beinhaltet der Roboter einen Sonarscanner 460 für die akustische Bildgebung eines Bereichs, der den Roboter 100 umgibt. In den Beispielen aus 1 und 3 ist der Sonarscanner 460 auf einem vorderen Abschnitt des Basiskörpers 120 angeordnet.In some embodiments, the robot includes a sonar scanner 460 for the acoustic imaging of an area containing the robot 100 surrounds. In the examples 1 and 3 is the sonar scanner 460 on a front section of the base body 120 arranged.

Mit Bezugnahme auf 1, 3B und 10A verwendet der Roboter 100 in einigen Ausführungen den Laserscanner oder den Laserentfernungsmesser 440 für redundante Messungen sowie einen rückwärts gerichteten Sonarnäherungssensor 410j zur Sicherheit, die beide parallel zum Boden G ausgerichtet sind. Der Roboter 100 kann erste und zweite 3D-Bildsensoren 450a, 450b (Tiefenkameras) beinhalten, um eine zuverlässige Erkennung der Umgebung um den Roboter 100 bereitzustellen. Der erste 3D-Bildsensor 450a ist auf dem Körper 140 befestigt und in einem festen Winkel nach unten auf den Boden G gerichtet. Durch Anwinkeln des ersten 3D-Bildsensors 450a nach unten empfangt der Roboter 100 eine dichte Sensorabdeckung in einem Bereich direkt vor dem oder angrenzend an den Roboter 100, was für Kurzstreckenfahrten des Roboters 100 in der Vorwärtsrichtung relevant ist. Das nach hinten gerichtete Sonar 410j stellt Objekterfassung bereit, wenn sich der Roboter rückwärts bewegt. Wenn das Rückwärtsfahren für den Roboter 100 typisch ist, kann der Roboter 100 einen dritten 3D-Bildsensor 450 beinhalten, der nach unten und nach hinten gerichtet ist, um eine dichte Sensorabdeckung in einem Bereich direkt hinter dem oder angrenzend an den Roboter 100 bereitzustellen.With reference to 1 . 3B and 10A the robot uses 100 in some versions the laser scanner or the laser rangefinder 440 for redundant measurements and a backward sonar proximity sensor 410j for safety, both aligned parallel to the ground G. The robot 100 Can first and second 3D image sensors 450a . 450b (Depth cameras) to reliably detect the environment around the robot 100 provide. The first 3D image sensor 450a is on the body 140 attached and directed at a fixed angle down to the ground G. By angling the first 3D image sensor 450a The robot is receiving down 100 a dense sensor cover in an area directly in front of or adjacent to the robot 100 , what a short-distance ride the robot 100 is relevant in the forward direction. The backward sonar 410j provides object detection when the robot is moving backwards. When reversing for the robot 100 typical, the robot can 100 a third 3D image sensor 450 which is directed downwards and backwards to provide a tight sensor coverage in an area directly behind or adjacent to the robot 100 provide.

Der zweite 3D-Bildsensor 450b ist auf dem Kopf 160 befestigt, der über den Hals 150 geschwenkt oder geneigt werden kann. Der zweite 3D-Bildsensor 450b kann für das Steuern aus der Entfernung hilfreich sein, da es einem menschlichen Bediener ermöglicht, zu sehen, wohin sich der Roboter 100 bewegt. Der Hals 150 ermöglicht es dem Bediener, den zweiten 3D-Bildsensor 450b zu neigen und/oder zu schwenken, um sowohl nahe gelegene als auch weit entfernte Objekte sehen zu können. Das Schwenken des zweiten 3D-Bildsensors 450b vergrößert ein zugehöriges horizontales Sichtfeld. Während schneller Fahrten kann der Roboter 100 den zweiten 3D-Bildsensor 450b leicht nach unten neigen, um ein gesamtes oder kombiniertes Sichtfeld beider 3D-Bildsensoren 450a, 450b zu vergrößern und dem Roboter 100 ausreichend Zeit zu geben, einem Hindernis auszuweichen (da höhere Geschwindigkeiten allgemein bedeuten, dass weniger Zeit ist, auf Hindernisse zu reagieren). Bei langsameren Geschwindigkeiten kann der Roboter 100 den zweiten 3D-Bildsensor 450b nach oben oder im Wesentlichen parallel zum Boden G neigen, um eine Person zu verfolgen, der der Roboter 100 folgen soll. Ferner kann der Roboter 100 beim Fahren mit relativ langsamen Geschwindigkeiten den zweiten 3D-Bildsensor 450b schwenken, um sein Sichtfeld um den Roboter 100 zu vergrößern. Der erste 3D-Bildsensor 450a kann fest bleiben (z. B. im Verhältnis zur Basis 120 nicht bewegt) wenn der Roboter fährt, um die Wahrnehmungsreichweite des Roboters zu erweitern.The second 3D image sensor 450b is upside down 160 attached, over the neck 150 can be tilted or tilted. The second 3D image sensor 450b can be helpful for remote control because it allows a human operator to see where the robot is going 100 emotional. The neck 150 allows the operator to use the second 3D image sensor 450b to tilt and / or pan to see both nearby and distant objects. Panning the second 3D image sensor 450b increases an associated horizontal field of view. During faster rides, the robot can 100 the second 3D image sensor 450b tilt down slightly to see an entire or combined field of view of both 3D image sensors 450a . 450b to enlarge and the robot 100 give enough time to avoid an obstacle (since higher speeds generally mean there is less time to react to obstacles). At slower speeds, the robot can 100 the second 3D image sensor 450b upward or substantially parallel to the ground G tend to pursue a person who is the robot 100 should follow. Furthermore, the robot can 100 when driving at relatively slow speeds, the second 3D image sensor 450b Pan to his field of vision around the robot 100 to enlarge. The first 3D image sensor 450a can remain fixed (eg in relation to the base 120 not moved) when the robot is moving to extend the sensing range of the robot.

Die 3D-Bildsensoren 450 können in der Lage sein, die folgenden Datentypen zu erzeugen: (i) eine Tiefenkarte, (ii) ein auf Reflexionsgraden basierendes Intensitätsbild und/oder (iii) ein reguläres Intensitätsbild. Die 3D-Bildsensoren 450 können derartige Daten durch Bildmusterzuordnung, Messen der Laufzeit und/oder Phasenverschiebung für von einer Quelle ausgestrahltes und von einem Ziel reflektiertes Licht erhalten.The 3D image sensors 450 may be capable of generating the following types of data: (i) a depth map, (ii) a reflectance-based intensity image, and / or (iii) a regular intensity image. The 3D image sensors 450 Such data may be obtained by pattern assignment, measuring the propagation time, and / or phase shifting for light emitted from a source and reflected by a target.

In einigen Ausführungen verwendet Argumentations- oder Steuerungssoftware, die auf einem Prozessor (z. B. der Robotersteuerung 500) ausgeführt werden kann, eine Kombination an Algorithmen, die unter Verwendung von verschiedenen durch das Sensorsystem 400 erzeugte Datentypen ausgeführt wird. Die Argumentations-Software verarbeitet die vom Sensorsystem 400 gesammelten Daten und gibt Daten aus, um Navigationsentscheidungen darüber zu treffen, wohin sich der Roboter 100 bewegen kann, ohne zum Beispiel mit einem Hindernis zu kollidieren. Durch das Sammeln von Bildgebungsdaten der Umgebung des Roboters im Laufe der Zeit kann die Argumentations-Software im Gegenzug effektive Verfahren auf ausgewählte Segmente des erkannten Bilds/der erkannten Bilder anwenden, um Tiefenmessungen der 3D-Bildsensoren 450 zu verbessern. Dies kann das Verwenden von geeigneten temporären und räumlichen Durchschnittstechniken beinhalten.In some embodiments, reasoning or control software used on a processor (eg, the robot controller 500 ), a combination of algorithms using different through the sensor system 400 generated data types is executed. The reasoning software processes those from the sensor system 400 collected data and outputs data to make navigation decisions about where the robot is going 100 can move without, for example, colliding with an obstacle. By gathering imaging data of the environment of the robot over time, the reasoning software in turn can apply effective methods to selected segments of the recognized image (s) to obtain depth measurements of the 3D image sensors 450 to improve. This can include using appropriate temporary and spatial averaging techniques.

Die Zuverlässigkeit des Ausführens von kollisionsfreien Bewegungen des Roboters kann auf Folgendem basieren: (i) einem Konfidenzniveau, das im Laufe der Zeit durch Argumentation auf hohem Niveau aufgebaut wurde und (ii) einem tiefenwahrnehmenden Sensor, der drei Hauptarten von Daten zur Analyse sammelt – (a) ein Tiefenbild, (b) ein aktives Beleuchtungsbild und (c) ein Umgebungsbeleuchtungsbild. Algorithmen mit drei verschiedenen Datentypen können auf jedem der durch den tiefenwahrnehmenden Bildgebungssensor 450 erhaltenen Bilder ausgeführt werden. Die Gesamtdaten können das Konfidenzniveau im Vergleich zu einem System, das nur einen Datentyp verwendet, verbessern.The reliability of performing collision-free movements of the robot may be based on: (i) a confidence level built up over time by high-level reasoning; and (ii) a depth-sensing sensor that collects three major types of data for analysis - ( a) a depth image, (b) an active illumination image and (c) an ambient illumination image. Algorithms with three different data types can be used on each of the deep-perception imaging sensor 450 obtained images are executed. The overall data can improve the confidence level compared to a system that uses only one data type.

Die 3D-Bildsensoren 450 können Bilder erfassen, die Tiefen- und Helligkeitsdaten von einer Szene um den Roboter 100 (z. B. einen Sensorsichtabschnitt eines Zimmers oder Arbeitsbereichs) enthalten, die ein oder mehrere Objekt(e) enthält. Die Steuerung 500 kann konfiguriert sein, um basierend auf dem aufgenommenen, reflektierten Licht von der Szene Belegungsdaten für das Objekt zu bestimmen. Ferner gibt die Steuerung 500 in einigen Beispielen einen wenigstens teilweise auf den Belegungsdaten basierenden Antriebsbefehl an das Antriebssystem 200 aus, um Hindernisse (d. h. das Objekt in der Szene) zu umfahren. Die 3D-Bildsensoren 450 können zur Echtzeit-Entscheidungsfindung durch die Steuerung 500 wiederholt Szenentiefenbilder aufnehmen, um den Roboter 100 durch die Szene zu navigieren, ohne dabei mit Objekten in der Szene zu kollidieren. Zum Beispiel kann die Geschwindigkeit oder Frequenz, mit der die Tiefenbilddaten von den 3D-Bildsensoren 450 erhalten werden, durch eine Verschlusszeit der 3D-Bildsensoren 450 gesteuert werden. Zudem kann die Steuerung 500 einen Ereignisauslöser (z. B. von einer anderen Sensorkomponente des Sensorsystems 400, wie den Näherungssensor 410, 420) empfangen, der die Steuerung 500 auf ein nahe gelegenes Objekt oder eine Gefahr hinweist. Die Steuerung 500 kann als Reaktion auf den Ereignisauslöser die 3D-Bildsensoren 450 veranlassen, eine Frequenz, mit der Tiefenbilder aufgenommen und Belegungsinformationen erhalten werden, zu erhöhen. The 3D image sensors 450 can capture images that capture depth and brightness data from a scene around the robot 100 (eg, a sensor view portion of a room or workspace) containing one or more objects. The control 500 may be configured to determine occupancy data for the object based on the captured reflected light from the scene. Further, the controller gives 500 in some examples, a drive command to the drive system based at least in part on the occupancy data 200 to avoid obstacles (ie the object in the scene). The 3D image sensors 450 can be used for real-time decision-making by the controller 500 repeatedly capture scene depth images to the robot 100 to navigate through the scene without colliding with objects in the scene. For example, the speed or frequency at which the depth image data from the 3D image sensors 450 be obtained by a shutter speed of the 3D image sensors 450 to be controlled. In addition, the controller 500 an event trigger (eg from another sensor component of the sensor system 400 like the proximity sensor 410 . 420 ) received the control 500 indicates a nearby object or danger. The control 500 can in response to the event trigger the 3D image sensors 450 to increase a frequency at which depth images are taken and occupancy information is obtained.

Mit Bezugnahme auf 11 beinhaltet der 3D-Bildgebungssensor 450 in einigen Ausführungen eine Lichtquelle 1172, die Licht auf eine Szene 10, wie den Bereich um den Roboter 100 (z. B. einen Raum), ausstrahlt. Der Bildgebungssensor 450 kann außerdem einen Bildgeber 1174 (z. B. ein Array an lichtempfindlichen Pixeln 1174p) beinhalten, der von der Szene 10 reflektiertes Licht aufnimmt, einschließlich reflektiertes Licht, das von der Lichtquelle 1172 ausgeht (z. B. als ein Szenentiefenbild). In einigen Beispielen beinhaltet der Bildgebungssensor 450 ein Lichtquellenobjektiv 1176 und/oder ein Detektorobjektiv 1178 zum Manipulieren (z. B. Speckling oder Fokussieren) des ausgestrahlten bzw. reflektierten Lichts. Die Robotersteuerung 500 oder eine Sensorsteuerung (nicht dargestellt), die mit der Robotersteuerung 500 in Kommunikation steht, empfängt Lichtsignale vom Bildgeber 1174 (z. B. die Pixel 1174p), um basierend auf Bildmusterzuordnung und/oder einer Laufzeiteigenschaft des reflektierten, durch den Bildgeber 1174 aufgenommenen Lichts Tiefeninformation für ein Objekt 12 in der Szene 10 zu bestimmen.With reference to 11 includes the 3D imaging sensor 450 in some embodiments, a light source 1172 , the light on a scene 10 like the area around the robot 100 (eg a room). The imaging sensor 450 can also have an imager 1174 (eg an array of photosensitive pixels 1174p ) include that of the scene 10 reflected light, including reflected light from the light source 1172 goes out (eg as a scene depth image). In some examples, the imaging sensor includes 450 a light source lens 1176 and / or a detector lens 1178 for manipulating (e.g., speckling or focussing) the emitted or reflected light. The robot controller 500 or a sensor controller (not shown) associated with the robot controller 500 in communication receives light signals from the imager 1174 (eg the pixels 1174p ) based on image pattern assignment and / or a runtime property of the reflected, by the imager 1174 recorded light depth information for an object 12 in the scene 10 to determine.

12 stellt eine beispielhafte Anordnung 1200 von Handlungen für den Betrieb des Bildgebungssensors 450 bereit. Mit zusätzlicher Bezugnahme auf 10A beinhalten die Handlungen das Ausstrahlen 1202 von Licht auf eine Szene 10 um den Roboter 100 und das Empfangen 1204 von Reflexionen des ausgestrahlten Lichts von der Szene 10 zu einem Bildgeber (z. B. einem Array an lichtempfindlichen Pixeln). Die Handlungen beinhalten ferner das Empfangen 1206 von Lichterfassungssignalen vom Bildgeber durch die Steuerung 500, das Erkennen 1208 eines oder mehrerer Merkmals/e eines Objekts 12 in der Szene 10 unter Verwendung von aus den Lichterfassungssignalen abgeleiteten Bilddaten und das Verfolgen 1210 einer Position des/der erkannten Merkmals/e des Objekts 12 in der Szene 10 unter Verwendung der von den Lichterfassungssignalen abgeleiteten Bildtiefendaten. Die Handlungen können das Wiederholen 1212 der Handlungen des Ausstrahlens 1202 von Licht, des Empfangens 1204 von Lichtreflexionen, des Empfangens 1206 von Lichterfassungssignalen, des Erfassen 1208 von Objektmerkmal(en) und des Verfolgen 1210 einer Position des/der Objektmerkmals/e beinhalten, um eine Auflösung der Bilddaten oder Bildtiefendaten zu erhöhen und/oder ein Konfidenzniveau bereitzustellen. 12 represents an exemplary arrangement 1200 of actions for the operation of the imaging sensor 450 ready. With additional reference to 10A The actions involve the broadcasting 1202 of light on a scene 10 around the robot 100 and receiving 1204 reflections of the light emitted from the scene 10 to an imager (eg, an array of photosensitive pixels). The actions also include receiving 1206 of light detection signals from the imager by the controller 500 , the recognition 1208 one or more features of an object 12 in the scene 10 using image data derived from the light detection signals and tracking 1210 a position of the recognized feature (s) of the object 12 in the scene 10 using the image depth data derived from the light detection signals. The actions can be repeating 1212 the acts of broadcasting 1202 of light, of receiving 1204 of light reflections, of receiving 1206 of light detection signals, detection 1208 object feature (s) and tracking 1210 a position of the object feature (s) to increase a resolution of the image data or image depth data and / or to provide a confidence level.

Die Wiederholungshandlung 1212 kann mit einer relativ langsamen Rate (z. B. einer langsameren Bildrate) für relativ hohe Auflösung, einer mittleren Rate oder einer hohen Rate mit einer relativ hohen Auflösung durchgeführt werden. Die Frequenz der Wiederholungshandlung 1212 kann von der Robotersteuerung 500 angepasst werden. In einigen Ausführungen kann die Steuerung 500 die Frequenz der Wiederholungshandlung 1212 nach Empfangen eines Ereignisauslösers anheben oder senken. Zum Beispiel kann ein erkannter Gegenstand in der Szene ein Ereignis auslösen, das eine erhöhte Frequenz der Wiederholungshandlung 1212 verursacht, um ein möglicherweise kurz bevorstehendes Objekt 12 (z. B. eine Tür, Schwelle oder Klippe) in der Szene 10 zu erkennen. In zusätzlichen Beispielen kann ein abgelaufenes Zeitereignis zwischen erfassten Objekten 12 veranlassen, dass die Frequenz der Wiederholungshandlung 1212 verlangsamt oder für eine Zeitspanne ausgesetzt wird (z. B. in den Ruhezustand schalten, bis sie von einem weiteren Ereignis aufgeweckt wird). In einigen Beispielen löst die Erfassungshandlung 1208 eines Merkmals oder mehrerer Merkmale eines Objekts 12 in der Szene 10 ein Merkmalserfassungsereignis aus, das eine im Verhältnis höhere Frequenz der Wiederholungshandlung 1212 zum Erhöhen der Rate, mit der Bildtiefendaten erhalten werden, auslöst. Eine im Verhältnis höhere Erfassungsrate von Bildtiefendaten kann eine verhältnismäßig zuverlässigere Merkmalsverfolgung in der Szene ermöglichen.The repeat act 1212 can be performed at a relatively slow rate (eg, a slower frame rate) for relatively high resolution, medium rate or high rate with a relatively high resolution. The frequency of the repeat action 1212 can from the robot controller 500 be adjusted. In some versions, the controller 500 the frequency of the repeat action 1212 raise or lower on receiving an event trigger. For example, a detected object in the scene may trigger an event that has an increased frequency of retry action 1212 causes a possibly imminent object 12 (eg a door, threshold or cliff) in the scene 10 to recognize. In additional examples, an elapsed time event may be between detected objects 12 cause the frequency of the repeat act 1212 slowed or suspended for a period of time (eg, go to sleep before being woken up by another event). In some examples, the capture action triggers 1208 a feature or multiple features of an object 12 in the scene 10 a feature detection event that has a relatively higher frequency of the retry action 1212 to raise the rate at which image depth data is obtained. A relatively higher acquisition rate of image depth data may allow relatively more reliable feature tracking in the scene.

Die Handlungen beinhalten außerdem die Ausgabe 1214 von Navigationsdaten zum Umfahren des Objekts 12 in der Szene 10. In einigen Ausführungen verwendet die Steuerung 500 die ausgegebenen Navigationsdaten, um Antriebsbefehle an das Antriebssystem 200 auszugeben, um den Roboter 100 auf eine Weise zu bewegen, die eine Kollision mit dem Objekt 12 verhindert.The actions also include the output 1214 of navigation data for avoiding the object 12 in the scene 10 , In some designs, the controller uses 500 the issued Navigation data to drive commands to the drive system 200 spend to the robot 100 to move in a way that is a collision with the object 12 prevented.

In einigen Ausführungen erfasst das Sensorsystem 400 mehrere Objekte 12 in der Szene 10 um den Roboter 100 und die Steuerung 500 verfolgt die Positionen jedes der erkannten Objekte 12. Die Steuerung 500 kann eine Belegungskarte der Objekte 12 in einem Bereich um den Roboter 100, wie dem begrenzten Bereich eines Raums, erstellen. Die Steuerung 500 kann die Bildtiefendaten des Sensorsystems 400 verwenden, um eine Szene 10 mit einem Abschnitt der Belegungskarte zu vergleichen und die Belegungskarte mit dem Standort verfolgter Objekte 12 zu aktualisieren.In some versions, the sensor system captures 400 several objects 12 in the scene 10 around the robot 100 and the controller 500 keeps track of the positions of each of the detected objects 12 , The control 500 can be an assignment card of the objects 12 in an area around the robot 100 as the limited area of a room. The control 500 can the image depth data of the sensor system 400 use a scene 10 to compare with a section of the occupancy map and the occupancy map with the location of tracked objects 12 to update.

Mit Bezugnahme auf 13 beinhaltet der 3D-Bildgebungssensor 450 in einigen Ausführungen eine dreidimensionale (3D) Specklekamera 1300, die eine Bildkartierung durch Speckledekorrelation ermöglicht. Die Specklekamera 1300 beinhaltet einen Speckleemitter 1310 (z. B. von infrarotem, ultraviolettem und/oder sichtbarem Licht), der ein Specklemuster in die Szene 10 (wie einen Zielbereich) ausstrahlt, und einen Bildgeber 1320, der Bilder vom Specklemuster auf den Oberflächen eines Objekts 12 in der Szene 10 aufnimmt.With reference to 13 includes the 3D imaging sensor 450 in some embodiments, a three-dimensional (3D) speckle camera 1300 which allows image mapping through speckle correlation. The speckle camera 1300 includes a speckle emitter 1310 (eg of infrared, ultraviolet and / or visible light), which adds a speckle pattern to the scene 10 (as a target area) and an imager 1320 taking pictures of the speckle pattern on the surfaces of an object 12 in the scene 10 receives.

Der Speckleemitter 1310 kann eine Lichtquelle 1312, wie einen Laser, beinhalten, die einen Lichtstrahl in einen Diffusor 1314 und auf einen Reflektor 1316 ausstrahlt, damit dieser als Specklemuster in die Szene 10 reflektiert und somit projiziert wird. Der Bildgeber 1320 kann objektive Optik 1322 beinhalten, die das Bild auf einen Bildsensor 1324 fokussiert, der ein Array an Lichtdetektoren 1326, wie einen CCD- oder CMOS-basierten Bildsensor aufweist. Wenngleich die optischen Achsen des Speckleemitters 1310 und des Bildgebers 1320 als kollinear dargestellt sind, wie zum Beispiel in einem Dekorrelationsmodus, können die optischen Achsen des Speckleemitters 1310 und des Bildgebers 1320 auch nicht kollinear sein, zum Beispiel wenn sie in einem Kreuzkorrelationsmodus sind, sodass eine Bildgebungsachse von einer Ausstrahlungsachse verschoben ist.The speckle emitter 1310 can be a light source 1312 , like a laser, involve a beam of light into a diffuser 1314 and on a reflector 1316 radiates so that this as a speckle pattern in the scene 10 reflected and thus projected. The imager 1320 can be objective optics 1322 Include the image on an image sensor 1324 focused, which is an array of light detectors 1326 , such as a CCD or CMOS based image sensor. Although the optical axes of the speckle emitter 1310 and the imager 1320 are shown as collinear, such as in a decorrelation mode, the optical axes of the speckle emitter 1310 and the imager 1320 also not collinear, for example when they are in a cross-correlation mode such that an imaging axis is shifted from an emission axis.

Der Speckleemitter 1310 strahlt ein Specklemuster in die Szene 10 aus und der Bildgeber 1320 nimmt Vergleichsbilder des Specklemusters in der Szene 10 in einem Bereich verschiedener Objektabstände Zn vom Speckleemitter 1310 auf (wobei z. B. die Z-Achse durch die optische Achse des Bildgebers 1320 definiert sein kann). Im dargestellten Beispiel werden die Vergleichsbilder des projizierten Specklemusters in einer Folge von Ebenen mit verschiedenen jeweiligen Abständen vom Ausgangspunkt aufgenommen, wie an den fiduziellen Standorten, die mit Z1, Z2, Z3 und so weiter gekennzeichnet sind. Der Abstand ΔZ zwischen den Vergleichsbildern kann in einem Grenzabstand (z. B. 5 mm) eingestellt oder durch die Steuerung 500 verstellbar (z. B. als Reaktion auf ausgelöste Ereignisse) sein. Die Specklekamera 1300 archiviert und katalogisiert die aufgenommenen Vergleichsbilder mit jeweiligen Ausstrahlungsabständen, um Dekorrelation des Specklemusters mit Abständen vom Speckleemitter 1310 zu ermöglichen, um Abstandmessungen für Objekte 12, die in aufeinanderfolgenden Bildern aufgenommen wurden, durchzuführen. Wenn angenommen wird, dass ΔZ grob dem Abstand zwischen angrenzenden fiduziellen Abständen Z1, Z2, Z3, ... entspricht, kann das Specklemuster auf dem Objekt 12 an Standort ZA zum Beispiel mit dem Vergleichsbild des an Z2 aufgenommenen Specklemusters korreliert werden. Andererseits kann das Specklemuster auf dem Objekt 12 an ZB zum Beispiel mit dem Vergleichsbild an Z3 korreliert werden. Diese Korrelationsmessungen liefern den ungefähren Abstand des Objekts 12 vom Ausgangspunkt. Um das Objekt 12 in drei Dimensionen zu kartieren, kann die Specklekamera 1300 oder die Steuerung 500, die Informationen von der Specklekamera 1300 empfängt, lokale Kreuzkorrelation mit dem Vergleichsbild, das die größte Übereinstimmung gezeigt hat, verwenden.The speckle emitter 1310 a speckle pattern shines into the scene 10 off and the imager 1320 takes comparison images of the bacon pattern in the scene 10 in a range of different object distances Z n from the speckle emitter 1310 (for example, where the z-axis passes through the optical axis of the imager 1320 can be defined). In the illustrated example, the comparison images of the projected speckle pattern are taken in a sequence of planes at different respective distances from the starting point, such as at the fiducial locations marked Z 1 , Z 2 , Z 3 and so on. The distance ΔZ between the comparative images may be set at a limit distance (eg, 5 mm) or by the controller 500 be adjustable (eg in response to triggered events). The speckle camera 1300 archives and catalogs the recorded comparison images with respective emission distances to decorrelate the speckle pattern with distances from the speckle emitter 1310 to allow for distance measurements for objects 12 performed in successive pictures. Assuming that ΔZ roughly corresponds to the distance between adjacent fiducial distances Z 1 , Z 2 , Z 3 , ..., the speckle pattern on the object 12 at location Z A, for example, with the comparison image of the recorded at Z 2 Specklemusters be correlated. On the other hand, the speckle pattern on the object 12 at Z B, for example, to the comparison image at Z 3 . These correlation measurements provide the approximate distance of the object 12 from the starting point. To the object 12 The Speckle camera can map in three dimensions 1300 or the controller 500 , the information from the speckle camera 1300 receives, using local cross-correlation with the comparison image that has shown the greatest match.

Andere Einzelheiten und Merkmale von 3D-Bildkartierung anhand von Speckle-Ranging, zum Beispiel durch Specklekreuzkorrelation unter Verwendung von Triangulation oder Dekorrelation, die mit den hierin beschriebenen kombinierbar sind, finden sich in PCT-Patentanmeldung PCT/IL2006/000335 ; deren Inhalt hiermit in ihrer Gesamtheit durch Verweis eingeschlossen ist.Other details and features of 3D image mapping based on speckle ranging, for example, by speckle cross correlation using triangulation or decorrelation, which are combinable with those described herein can be found in PCT patent application PCT / IL2006 / 000335 ; the contents of which are hereby incorporated by reference in their entirety.

14 stellt eine beispielhafte Anordnung 1400 von Handlungen für den Betrieb der Specklekamera 1300 bereit. Die Handlungen beinhalten das Ausstrahlen 1402 eines Specklemusters in die Szene 10 und das Aufnehmen 1404 von Vergleichsbildern (z. B. eines Vergleichsobjekts 12) in verschiedenen Abständen vom Speckleemitter 1310. Die Handlungen beinhalten ferner das Ausstrahlen 1406 eines Specklemusters auf ein Zielobjekt 12 in der Szene 10 und das Aufnehmen 1408 von Zielbildern des Specklemusters auf dem Objekt 12. Die Handlungen beinhalten ferner das Vergleichen 1410 der Zielbilder (des gespeckelten Objekts) mit verschiedenen Vergleichsbildern, um ein Vergleichsmuster zu identifizieren, das am meisten mit dem Specklemuster auf dem Zielobjekt 12 übereinstimmt, und das Bestimmen 1412 eines geschätzten Abstandbereichs des Zielobjekts 12 in der Szene 10. Das kann das Bestimmen eines primären Specklemusters auf dem Objekt 12 und das Finden eines Vergleichsbildes mit einem Specklemuster, das am meisten mit dem primären Specklemuster auf dem Objekt 12 übereinstimmt, beinhalten. Der Abstandsbereich kann vom entsprechenden Abstand des Vergleichsbildes bestimmt werden. 14 represents an exemplary arrangement 1400 of actions for the operation of the Specklekamera 1300 ready. The actions involve broadcasting 1402 a bacon pattern in the scene 10 and recording 1404 of comparison images (eg of a comparison object 12 ) at different distances from the speckle emitter 1310 , The actions also include broadcasting 1406 a speckle pattern on a target object 12 in the scene 10 and recording 1408 of target images of the speckle pattern on the object 12 , The actions also include comparing 1410 the target images (of the stored object) with different comparison images to identify a comparison pattern that most with the speckle pattern on the target object 12 matches, and determining 1412 an estimated distance range of the target object 12 in the scene 10 , This may be determining a primary speckle pattern on the object 12 and finding a comparison image with a speckle pattern most common with the primary Bacon pattern on the object 12 matches. The distance range can be determined by the corresponding distance of the comparison image.

Die Handlungen beinhalten optional das Erstellen 1414 einer 3D-Karte der Oberfläche des Objekts 12 durch lokale Kreuzkorrelation zwischen dem Specklemuster auf dem Objekt 12 und dem identifizierten Vergleichsmuster, um zum Beispiel einen Standort des Objekts 12 in der Szene zu bestimmen. Das kann das Bestimmen eines primären Specklemusters auf dem Objekt 12 und das Finden von jeweiligen Abweichungen zwischen dem primären Specklemuster auf verschiedenen Bereichen des Objekts 12 im Zielbild und dem primären Specklemuster im identifizierten Vergleichsbild beinhalten, um eine dreidimensionale (3D) Karte des Objekts abzuleiten. Die Verwendung von Festkörperkomponenten für die 3D-Kartierung einer Szene stellt eine relativ kostengünstige Lösung für Roboternavigationssysteme bereit.The actions optionally include the creation 1414 a 3D map of the surface of the object 12 by local cross-correlation between the speckle pattern on the object 12 and the identified comparison pattern, for example, a location of the object 12 to determine in the scene. This may be determining a primary speckle pattern on the object 12 and finding respective deviations between the primary speckle pattern on different regions of the object 12 in the target image and the primary speckle pattern in the identified comparison image to derive a three-dimensional (3D) map of the object. The use of solid state components for 3D mapping of a scene provides a relatively inexpensive solution for robotic navigation systems.

Typischerweise sind wenigstens einige der verschiedenen jeweiligen Abstände axial durch mehr als eine axiale Länge des primären Specklemusters in den jeweiligen Abständen getrennt. Das Vergleichen des Zielbildes mit den Vergleichsbildern kann das Errechnen einer jeweiligen Kreuzkorrelation zwischen dem Zielbild und jedem der wenigstens einigen Vergleichsbilder und das Auswählen des Vergleichsbildes mit der größten jeweiligen Kreuzkorrelation mit dem Zielbild beinhalten.Typically, at least some of the various respective distances are axially separated by more than one axial length of the primary speckle pattern at the respective intervals. Comparing the target image with the comparison images may include calculating a respective cross-correlation between the target image and each of the at least some comparison images, and selecting the comparison image having the largest respective cross-correlation with the target image.

Die Handlungen können das Wiederholen 1416 der Handlungen 14061412 oder der Handlungen 14061412 und optional der Handlung 1414 (z. B. kontinuierlich) beinhalten, um die Bewegung des Objekts 12 in der Szene 10 zu verfolgen. Zum Beispiel kann die Specklekamera 1300 zum Vergleich mit den Vergleichsbildern eine Folge von Zielbildern aufnehmen, während sich das Objekt 12 bewegt.The actions can be repeating 1416 of actions 1406 - 1412 or actions 1406 - 1412 and optional action 1414 (eg, continuously) involve the movement of the object 12 in the scene 10 to pursue. For example, the speckle camera 1300 For comparison with the comparison images, record a sequence of target images while the object 12 emotional.

Andere Einzelheiten und Merkmale von 3D-Bildkartierung anhand von Speckle-Ranging, die mit den hierin beschriebenen kombinierbar sind, finden sich in US-Patent 7,433,024 ; US-Patentanmeldung Nr. 2008/0106746, mit dem Titel „Depth-varying light fields for three dimensional sensing”; US-Patentanmeldung Nr. 2010/0118123, mit dem Titel „Depth Mapping Using Projected Patterns”; US-Patentanmeldung Nr. 2010/0034457, mit dem Titel „Modeling Of Humanoid Forms From Depth Maps”; US-Patentanmeldung Nr. 2010/0020078, mit dem Titel „Depth Mapping Using Multi-Beam Illumination”; US-Patentanmeldung Nr. 2009/0185274, mit dem Titel „Optical Designs For Zero Order Reduction”; US-Patentanmeldung Nr. 2009/0096783, mit dem Titel „Three-Dimensional Sensing Using Speckle Patterns”; US-Patentanmeldung 2008/0240502, mit dem Titel „Depth Mapping Using Projected Patterns”; und US-Patentanmeldung Nr. 2008/0106746, mit dem Titel „Depth-Varying Light Fields For Three Dimensional Sensing”; deren Inhalte hiermit in ihrer Gesamtheit durch Verweis hierin eingeschlossen sind.Other details and features of 3D image mapping based on speckle-ranging that can be combined with those described herein can be found in US Pat U.S. Patent 7,433,024 ; U.S. Patent Application No. 2008/0106746, entitled "Depth-varying light fields for three-dimensional sensing"; US Patent Application No. 2010/0118123, entitled "Depth Mapping Using Projected Patterns"; US Patent Application No. 2010/0034457 entitled "Modeling Of Humanoid Forms From Depth Maps"; US Patent Application No. 2010/0020078, entitled "Depth Mapping Using Multi-Beam Illumination"; U.S. Patent Application No. 2009/0185274, entitled "Optical Designs For Zero Order Reduction"; US Patent Application No. 2009/0096783, entitled "Three-Dimensional Sensing Using Speckle Patterns"; U.S. Patent Application 2008/0240502, entitled "Depth Mapping Using Projected Patterns"; and US Patent Application No. 2008/0106746, entitled "Depth-Varying Light Fields For Three Dimensional Sensing"; the contents of which are hereby incorporated by reference in their entirety.

Mit Bezugnahme auf 15 beinhaltet der 3D-Bildgebungssensor 450 in einigen Ausführungen eine 3D-Laufzeitkamera 1500 zum Aufnehmen von Tiefenbilddaten. Die 3D-Laufzeitkamera 1500 beinhaltet eine Lichtquelle 1510, einen komplementären Metalloxid-Halbleitersensor (engl.: Complementary Metal Oxide Semiconductor, CMOS) 1520 (oder ein ladungsgekoppeltes Gerät, engl.: Charge-Coupled Device (CCD)), ein Objektiv 1530 und eine Steuerungslogik oder eine Kamerasteuerung 1540 mit Verarbeitungsressourcen (und/oder der Robotersteuerung 500), die mit der Lichtquelle 1510 und dem CMOS-Sensor 1520 in Kommunikation stehen. Die Lichtquelle 1510 kann ein Laser oder eine lichtemittierende Diode (LED) mit einer Intensität, die durch ein periodisches Signal mit hoher Frequenz moduliert wird, sein. In einigen Beispielen beinhaltet die Lichtquelle 1510 ein fokussierendes Objektiv 1512. Der CMOS-Sensor 1520 kann ein Array an Pixeldetektoren 1522 oder andere Anordnungen an Pixeldetektoren 1522 beinhalten, wobei jeder Pixeldetektor 1522 die Intensität und Phase von auf ihn auftreffender photonischer Energie erfassen kann. In einigen Beispielen weist jeder Pixeldetektor 1522 eine zweckbestimmte Detektorschaltung 1524 zum Verarbeiten der Erfassungsladungsausgabe des zugehörigen Pixeldetektors 1522 auf. Das Objektiv 1530 fokussiert das von einer Szene 10, die ein oder mehrere Objekt(e) 12 von Interesse enthält, reflektierte Licht auf den CMOS-Sensor 1520. Die Kamerasteuerung 1540 stellt eine Handlungssequenz bereit, die vom CMOS-Sensor 1520 erhaltene Pixeldaten in eine Tiefenkarte und ein Helligkeitsbild formatiert. In einigen Beispielen beinhaltet die 3D-Laufzeitkamera 1500 außerdem Eingaben/Ausgaben (IO) 1550 (die z. B. mit der Robotersteuerung 500 in Kommunikation stehen), einen Speicher 1560 und/oder eine Uhr 1570, die mit der Kamerasteuerung 1540 und/oder den Pixeldetektoren 1522 (z. B. der Detektorschaltung 1524) in Kommunikation steht.With reference to 15 includes the 3D imaging sensor 450 in some versions, a 3D runtime camera 1500 for capturing depth image data. The 3D runtime camera 1500 includes a light source 1510 , Complementary Metal Oxide Semiconductor (CMOS) Complementary Metal Oxide Sensor 1520 (or Charge-Coupled Device (CCD)), a lens 1530 and a control logic or camera control 1540 with processing resources (and / or the robot controller 500 ), with the light source 1510 and the CMOS sensor 1520 communicate. The light source 1510 For example, a laser or a light emitting diode (LED) having an intensity modulated by a high frequency periodic signal may be used. In some examples, the light source includes 1510 a focusing lens 1512 , The CMOS sensor 1520 can be an array of pixel detectors 1522 or other arrangements of pixel detectors 1522 include, each pixel detector 1522 can capture the intensity and phase of photonic energy impinging upon it. In some examples, each pixel detector points 1522 a dedicated detector circuit 1524 for processing the sense charge output of the associated pixel detector 1522 on. The objective 1530 Focus on a scene 10 containing one or more object (s) 12 of interest, light reflected on the CMOS sensor 1520 , The camera control 1540 provides a sequence of action by the CMOS sensor 1520 obtained pixel data formatted into a depth map and a brightness image. In some examples, the 3D runtime camera includes 1500 also inputs / outputs (IO) 1550 (eg with the robot controller 500 in communication), a memory 1560 and / or a clock 1570 that with the camera control 1540 and / or the pixel detectors 1522 (eg the detector circuit 1524 ) is in communication.

16 stellt eine beispielhafte Anordnung 1600 von Handlung für den Betrieb der 3D-Laufzeitkamera 1500 bereit. Die Handlungen beinhalten das Ausstrahlen 1602 eines Lichtimpulses (z. B. von infrarotem, ultraviolettem und/oder sichtbarem Licht) in die Szene 10 und Messen 1604 einer Laufzeit des Lichtimpulses (z. B. durch Zählen der Uhrimpluse der Uhr 1570). Die Handlungen beinhalten das Empfangen 1606 von Reflexionen des ausgestrahlten Lichts von einer oder mehreren Oberfläche(n) eines Objekts 12 in der Szene 10. Die Reflexionen können von Oberflächen des Objekts 12 zurückgeworfen werden, die in verschiedenen Abständen Zn von der Lichtquelle 1510 liegen. Die Reflexionen werden durch das Objektiv 1530 und auf Pixeldetektoren 1522 des CMOS-Sensors 1520 empfangen. Die Handlungen beinhalten das Empfangen 1608 der Laufzeit für jede Lichtimpulsreflexion, die auf jedem zugehörigen Pixeldetektor 1522 des CMOS-Sensors 1520 empfangen wird. Während der Laufzeit der Hin- und Rückreise eines Lichtimpulses addiert ein Zähler der Detektorschaltung 1523 jedes jeweiligen Pixeldetektors 1522 Uhrenimpulse. Eine größere Anzahl an addierten Uhrenimpulsen steht für eine längere Laufzeit und demnach einen größeren Abstand zwischen einem Lichtreflexionspunkt auf dem dargestellten Objekt 12 und der Lichtquelle 1510. Die Handlungen beinhalten ferner das Bestimmen 1610 eines Abstands zwischen der reflektierenden Oberfläche des Objekts 12 für jede empfangene Lichtimpulsreflexion und optional das Konstruieren 1612 einer dreidimensionalen Objektoberfläche. In einigen Ausführungen beinhalten die Handlungen das Wiederholen 1614 der Handlungen 16021610 und optional 1612 zum Nachverfolgen der Bewegung des Objekts 12 in der Szene 10. 16 represents an exemplary arrangement 1600 of action for the operation of the 3D runtime camera 1500 ready. The actions involve broadcasting 1602 a light pulse (eg of infrared, ultraviolet and / or visible light) into the scene 10 and measuring 1604 a duration of the light pulse (eg by counting the Uhrimpluse the clock 1570 ). The actions involve receiving 1606 reflections of the emitted light from one or more surfaces of an object 12 in the scene 10 , The reflections can be from surfaces of the object 12 be thrown back at different distances Z n from the light source 1510 lie. The reflections are through the lens 1530 and on pixel detectors 1522 of the CMOS sensor 1520 receive. The actions involve receiving 1608 for each light pulse reflection on each associated pixel detector 1522 of the CMOS sensor 1520 Will be received. During the duration of the round trip of a light pulse, a counter adds the detector circuit 1523 each respective pixel detector 1522 Watches impulses. A larger number of added clock pulses represents a longer term and therefore a greater distance between a light reflection point on the object shown 12 and the light source 1510 , The actions further include determining 1610 a distance between the reflective surface of the object 12 for each received light pulse reflection and optionally constructing 1612 a three-dimensional object surface. In some embodiments, the actions involve repeating 1614 of actions 1602 - 1610 and optional 1612 to track the movement of the object 12 in the scene 10 ,

Andere Einzelheiten und Merkmale von 3D-Laufzeitbildgebung, die mit den hierin beschriebenen kombinierbar sind, finden sich in US-Patent Nr. 6,323,942 mit dem Titel „CMOS Compatible 3-D Image Sensor”; US-Patent Nr. 6,515,740 mit dem Titel „Methods for CMOS-Compatible Three-Dimensional Image Sensing Using Quantum Efficiency Modulation”; und PCT-Patentanmeldung PCT/US02/16621 mit dem Titel „Method and System to Enhance Dynamic Range Conversion Usable with CMOS Three-Dimensional Imaging”, deren Inhalte hiermit in ihrer Gesamtheit durch Verweis hierin eingeschlossen sind.Other details and features of 3D runtime imaging that can be combined with those described herein can be found in US Pat U.S. Patent No. 6,323,942 entitled "CMOS Compatible 3-D Image Sensor"; U.S. Patent No. 6,515,740 entitled "Methods for CMOS-Compatible Three-Dimensional Image Sensing Using Quantum Efficiency Modulation"; and PCT Patent Application PCT / US02 / 16621 entitled "Method and System to Enhance Dynamic Range Conversion Usable with CMOS Three-Dimensional Imaging", the contents of which are hereby incorporated by reference in their entireties.

In einigen Ausführungen stellt der 3D-Bildgebungssensor 450 drei Arten von Informationen bereit: (1) Tiefeninformationen (z. B. von jedem Pixeldetektor 1522 des CMOS-Sensors 1520 zu einem entsprechenden Standort auf der Szene 12); (2) Umgebungslichtintensität an jedem Pixeldetektorstandort; und (3) die aktive Beleuchtungsintensität an jedem Pixeldetektorstandort. Durch die Tiefeninformationen kann die Position des erkannten Objekts 12 im Laufe der Zeit verfolgt werden, insbesondere im Verhältnis zu der Nähe des Objekts zum Standort des Robotereinsatzes. Die aktive Beleuchtungsintensität und Umgebungslichtintensität sind verschiedene Arten von Helligkeitsbildern. Die aktive Beleuchtungsintensität wird durch Reflexionen eines aktiven Lichts (wie durch die Lichtquelle 1510 bereitgestellt), das vom Zielobjekt 12 reflektiert wird, aufgenommen. Das Umgebungslichtbild zeigt vom Zielobjekt 12 reflektiertes Umgebungslicht. Die zwei Bilder stellen zusammen zusätzliche Robustheit bereit, insbesondere wenn die Beleuchtungsbedingungen schlecht sind (z. B. zu dunkle oder übermäßige Umgebungsbeleuchtung).In some versions, the 3D imaging sensor provides 450 three types of information: (1) depth information (eg from each pixel detector 1522 of the CMOS sensor 1520 to a corresponding location on the scene 12 ); (2) ambient light intensity at each pixel detector location; and (3) the active illumination intensity at each pixel detector location. The depth information allows the position of the detected object 12 tracked over time, especially in relation to the proximity of the object to the location of the robotic insert. The active illumination intensity and ambient light intensity are different types of brightness images. The active illumination intensity is determined by reflections of an active light (as by the light source 1510 provided), that of the target object 12 is reflected, recorded. The ambient light image shows from the target object 12 reflected ambient light. The two images together provide additional robustness, especially when the lighting conditions are poor (eg, too dark or excessive ambient lighting).

Bildsegmentierungs- und Klassifizierungsalgorithmen können verwendet werden, um die Position von Objekten 12 in der Szene 10 zu klassifizieren und zu erfassen. Von diesen Algorithmen bereitgestellte Informationen sowie die durch den Bildgebungssensor 450 erhaltenen Abstandsmessungsinformationen können von der Robotersteuerung 500 oder anderen Verarbeitungsressourcen verwendet werden. Der Bildgebungssensor 450 kann mit dem Laufzeitprinzip arbeiten und insbesondere mit erkennbaren Phasenverschiebungen in einem modulierten Lichtmuster, das von der Szene 10 reflektiert wird, einschließlich Techniken zum Modulieren der Sensibilität von Photodioden für das Filtern von Umgebungslicht.Image segmentation and classification algorithms can be used to determine the position of objects 12 in the scene 10 to classify and record. Information provided by these algorithms and that provided by the imaging sensor 450 obtained distance measurement information can from the robot controller 500 or other processing resources. The imaging sensor 450 can work with the transit time principle, and in particular with discernible phase shifts in a modulated light pattern that is different from the scene 10 including techniques for modulating the sensitivity of photodiodes for filtering ambient light.

Der Roboter 100 kann den Bildgebungssensor 450 für 1) Kartierung, Lokalisierung und Navigation; 2) Objekterfassung und Objektvermeidung (ODOA); 3) Objektsuche (z. B. um eine Person zu finden); 4) Gestenerkennung (z. B. für Begleitroboter); 5) zur Menschen- und Gesichtserkennung; 6) Verfolgung von Menschen; 7) Überwachung und Manipulation von Objekten durch den Roboter 100; und andere geeignete Anwendungen für den autonomen Betrieb des Roboters 100 verwenden.The robot 100 can be the imaging sensor 450 for 1) mapping, localization and navigation; 2) object detection and object avoidance (ODOA); 3) Object search (eg to find a person); 4) gesture recognition (eg for accompanying robots); 5) for human and face recognition; 6) persecution of people; 7) Monitoring and manipulation of objects by the robot 100 ; and other suitable applications for autonomous operation of the robot 100 use.

In einigen Ausführungen kann wenigstens einer der 3D-Bildsensoren 450 ein Gerät zur Bildgebung volumetrischer Punktwolken (wie eine Speckle- oder Laufzeitkamera) sein, das in einer Höhe von mehr als etwa 30,5 cm bis 61 cm (1 oder 2 Fuß) über dem Boden auf dem Roboter 100 positioniert ist, um eine Punktwolke aus einem Raumvolumen einschließlich einer Bodenebene in einer Bewegungsrichtung des Roboters (über das omnidirektionale Antriebssystem 200) zu erhalten. In den Beispielen aus 1 und 3 kann der erste 3D-Bildsensor 450a auf der Basis 120 in einer Höhe von mehr als etwa 30,5 cm bis 61 cm (1 oder 2 Fuß) über dem Boden positioniert sein (oder in einer Höhe von etwa 30,5 cm bis 61 cm (etwa 1 oder 2 Fuß) über dem Boden) und entlang der Vorwärtsfahrtrichtung F ausgerichtet sein, um während der Fahrt Bilder (z. B. eine volumetrische Punktwolke) eines Volumen einschließlich des Bodens aufzunehmen (z. B. zur Hinderniserfassung und Hindernisvermeidung). Der zweite 3D-Bildsensor 450b ist als auf dem Kopf 160 (z. B. in einer Höhe von mehr als etwa 91,5 oder 122 cm (3 oder 4 Fuß) über dem Boden) befestigt dargestellt, um eine Skeletterkennung und Definitionspunktwolken von einem an den Roboter 100 angrenzenden Raumvolumen zu erhalten. Die Steuerung 500 kann Skelett-/Digitalerfassungs-Software ausführen, um Daten der aufgenommenen volumetrischen Punktwolken zu analysieren.In some embodiments, at least one of the 3D image sensors 450 be a device for imaging volumetric point clouds (such as a speckle or runtime camera) that is more than about 30.5 cm to 61 cm (1 or 2 feet) above the ground on the robot 100 is positioned to a point cloud from a volume of space including a ground plane in a direction of movement of the robot (via the omnidirectional drive system 200 ) to obtain. In the examples 1 and 3 can be the first 3D image sensor 450a on the base 120 be positioned above the ground at a height of more than about 30.5 cm to 61 cm (1 or 2 feet) (or at a height of about 30.5 cm to 61 cm (about 1 or 2 feet) above the ground) and aligned along the forward travel direction F to capture images (eg, a volumetric point cloud) of a volume including the ground (eg, for obstacle detection and obstacle avoidance) during travel. The second 3D image sensor 450b is as upside down 160 (For example, at a height greater than about 91.5 or 122 cm (3 or 4 feet) above the ground) shown attached to a skeleton identifier and definition point clouds from one to the robot 100 to get adjacent room volume. The control 500 can perform skeleton / digital acquisition software to analyze data from recorded volumetric point clouds.

Das ordnungsgemäße Erkennen von Objekten 12 unter Verwendung eines Bildgebungssensors 450 trotz Umgebungslichtbedingungen kann sehr wichtig sein. In vielen Umgebungen decken die Beleuchtungsbedingungen eine große Bandbreite von direktem Sonnenlicht bis zu grellem Neonlicht und gedämpften Schatten ab und können zu großen Variationen der Oberflächentextur und der grundlegenden Reflexionsgrade von Objekten 12 führen. Die Beleuchtung kann auch innerhalb eines jeweiligen Standorts und von Szene 10 zu Szene 10 variieren. In einigen Ausführungen kann der Bildgebungssensor 450 verwendet werden, um Menschen und Objekte 12 in allen Situationen mit relativ geringer Auswirkung der Umgebungslichtbedingungen (z. B. Umgebungslichtunterdrückung) zu identifizieren und zu bestimmen. Proper recognition of objects 12 using an imaging sensor 450 despite ambient light conditions can be very important. In many environments, lighting conditions cover a wide range from direct sunlight to glaring neon light and subdued shadows, and can lead to large variations in the surface texture and fundamental reflectance of objects 12 to lead. The lighting can also be within a particular location and by scene 10 to scene 10 vary. In some embodiments, the imaging sensor may 450 used to be people and objects 12 in all situations with relatively little effect of ambient light conditions (eg ambient light suppression) to identify and determine.

In einigen Ausführungen beträgt die VGA-Auflösung des Bildgebungssensors 450 640 horizontale mal 480 vertikale Pixel; es sind jedoch auch andere Auflösungen möglich, wie 320 × 240 (z. B. für Kurzstreckensensoren).In some embodiments, the VGA resolution of the imaging sensor is 450 640 horizontal by 480 vertical pixels; however, other resolutions are possible, such as 320 × 240 (eg for short-range sensors).

Der Bildgebungssensor 450 kann einen Impulslaser und eine Kamerairis beinhalten, die in dem Zeitbereich als Bandfilter fungieren, um nur Objekte 12 in einer bestimmten Reichweite zu betrachten. Eine variable Iris des Bildgebungssensors 450 kann verwendet werden, um Objekte 12 in verschiedenen Abständen zu erkennen. Ferner kann für Außenanwendungen ein Impulslaser mit höherer Leistung verwendet werden.The imaging sensor 450 may include a pulse laser and a camera air, which in the time domain act as band filters to only objects 12 within a certain range. A variable iris of the imaging sensor 450 Can be used to objects 12 to recognize at different intervals. Further, for outdoor applications, a higher power pulse laser can be used.

Tabelle 1 und Tabelle 2 (unten) stellen beispielhafte Merkmale, Parameter und/oder Spezifikationen von Bildgebungssensoren 450 für verschiedene Anwendungen bereit. Der Sensor 1 kann als Bildgebungssensor 450 für allgemeine Zwecke verwendet werden. Die Sensoren 2 und 3 könnten in einem Roboter für menschliche Interaktion verwendet werden und die Sensoren 4 und 5 könnten auf einem Abdeckungs- oder Reinigungsroboter verwendet werden.

Figure 00440001
Tabelle 1
Figure 00450001
Tabelle 2 Table 1 and Table 2 (below) provide exemplary features, parameters, and / or specifications of imaging sensors 450 ready for various applications. The sensor 1 can be used as an imaging sensor 450 be used for general purposes. The sensors 2 and 3 could be used in a human interaction robot, and the sensors 4 and 5 could be used on a cover or cleaning robot.
Figure 00440001
Table 1
Figure 00450001
Table 2

Minimale Sensorlatenz stellt sicher, dass Objekte 12 schnell genug gesehen werden können, um ihnen auszuweichen, wenn sich der Roboter 100 bewegt. Die Latenz des Bildgebungssensors 450 kann ein Faktor bei der Reaktion in Echtzeit auf erfasste und erkannte Benutzergesten sein. In einigen Beispielen hat der Bildgebungssensor 450 eine Latenz von ungefähr 44 ms. Vom Bildgebungssensor 450 aufgenommene Bilder können einen zugewiesenen Zeitstempel aufweisen, der verwendet werden kann, um zu bestimmen, in welcher Roboterpose ein Bild während der Translation oder Rotation im Raum aufgenommen wurde.Minimal sensor latency ensures that objects 12 can be seen quickly enough to avoid them when the robot 100 emotional. The latency of the imaging sensor 450 may be a factor in real-time response to detected and recognized user gestures. In some examples, the imaging sensor has 450 a latency of about 44 ms. From the imaging sensor 450 captured images may have an assigned time stamp that may be used to determine in which robot pose an image was taken during translation or rotation in space.

Ein SPI-Bus (engl.: Serial Peripheral Interface, SPI), der mit der Steuerung 500 in Kommunikation steht, kann für die Kommunikation mit dem Bildgebungssensor 450 verwendet werden. Die Verwendung einer SPI-Schnittstelle für den Bildgebungssensor 450 schränkt seine Verwendung nicht auf über mehrere Knoten verteilte Sensor-/Stellersysteme ein und ermöglicht eine Verbindung mit einem Ethernetfähigen Gerät, wie einem Mikroprozessor eines feldprogrammierbaren Gate-Arrays (FPGA), das Daten über das Ethernet und ein EtherIO-System verfügbar machen kann, wie beschrieben in US-Patentanmeldung Nr. 61/305,069, angemeldet am 16. Februar 2010 mit dem Titel „Mobile Robot Communication System”, die hiermit durch Verweis in ihrer Gesamtheit eingeschlossen ist.An SPI (Serial Peripheral Interface, SPI) bus connected to the controller 500 Being in communication may be for communication with the imaging sensor 450 be used. The use of an SPI interface for the imaging sensor 450 does not restrict its use to multi-node distributed sensor / controller systems and allows connection to an Ethernet-enabled device, such as a field programmable gate array (FPGA) microprocessor that can expose data over the Ethernet and an EtherIO system, such as described in U.S. Patent Application No. 61 / 305,069, filed February 16, 2010, entitled "Mobile Robot Communication System", which is hereby incorporated by reference in its entirety.

Da SPI ein eingeschränktes Protokoll ist, kann ein Interrupt-Pin auf der Schnittstelle zum Bildgebungssensor 450 verfügbar sein, der abtastet oder fortschreitet, wenn eine Bildaufnahme ausgeführt wurde. Der Interrupt-Pin ermöglicht die Kommunikation mit der Steuerung 500, wenn ein Bild aufgenommen wurde. Dadurch weiß die Steuerung 500, dass Daten lesebereit sind. Zudem kann der Interrupt-Pin von der Steuerung 500 verwendet werden, um einen Zeitstempel aufzunehmen, der anzeigt, wann das Bild aufgenommen wurde. Die Bildausgabe des Bildgebungssensors 450 kann mit einem Zeitstempel versehen sein (z. B. durch eine globale Uhr der Steuerung 500), der eine Latenz ausgleichen kann. Ferner kann die mit Zeitstempeln versehene Bildausgabe von mehreren Bildgebungssensoren 450 (z. B. von verschiedenen Abschnitten der Szene 10) synchronisiert und kombiniert (z. B. zusammengefügt) werden. Über ein EtherIO-System kann eine Interrupt-Zeit (oder der Interrupt-Pin) aufgenommen und für Geräte und Software auf höheren Ebenen des EtherIO-Systems verfügbar gemacht werden. Der Roboter 100 kann ein auf mehrere Knoten verteiltes Sensor-/Stellersystem beinhalten, das eine Uhrensynchronisierungsstrategie implementiert, wie IEEE1588 , die auf vom Bildgebungssensor 450 aufgenommene Daten angewendet werden kann. Because SPI is a restricted protocol, an interrupt pin may be on the interface to the imaging sensor 450 be available, which scans or progresses when an image capture has been performed. The interrupt pin enables communication with the controller 500 when a picture was taken. As a result, the controller knows 500 that data is read-ready. In addition, the interrupt pin from the controller 500 used to record a timestamp indicating when the image was taken. The image output of the imaging sensor 450 may be timestamped (eg by a global clock of the controller 500 ), which can compensate for a latency. Furthermore, the time-stamped image output may be from multiple imaging sensors 450 (eg from different sections of the scene 10 ) are synchronized and combined (eg merged). Via an EtherIO system, an interrupt time (or interrupt pin) can be picked up and made available to higher level devices and software in the EtherIO system. The robot 100 may include a multi-node sensor / controller system that implements a clock synchronization strategy, such as IEEE1588 pointing at from the imaging sensor 450 recorded data can be applied.

Sowohl die SPI-Schnittstelle als auch das EtherIO können Speicheradressenbetriebene Schnittstellen sein. Daten in Form von Bytes/Wörtern/Doppelwörtern können vom Bildgebungssensor 450 zum Beispiel über die SPI-Schnittstelle gelesen und in einem Speicherplatz des EtherIO-Systems verfügbar gemacht werden. Zum Beispiel können lokale Verzeichnisse und Speicher, wie ein Direktzugriffsspeicher (DMA) in einem FPGA verwendet werden, um einen EtherIO-Knoten eines EtherIO-Systems zu steuern.Both the SPI interface and the EtherIO may be memory address driven interfaces. Data in the form of bytes / words / double words may be from the imaging sensor 450 for example, read via the SPI interface and made available in a memory space of the EtherIO system. For example, local directories and memory, such as random access memory (DMA) in an FPGA, can be used to control an EtherIO node of an EtherIO system.

In einigen Fällen muss der Roboter 100 unter Umständen den Bildgebungssensor 450 von Seite zu Seite und/oder hoch und runter scannen (z. B. um ein Objekt 12 zu betrachten oder um eine Versperrung 16 zu sehen (17A)). Für einen anders gesteuerten Roboter 100 kann dies das Rotieren des Roboters 100 auf der Stelle mit dem Antriebssystem 200 beinhalten; oder das Rotieren eines dem Bildgebungssensor 450 zugeordneten Spiegels, Prismas, Mikrospiegels mit variablem Winkel oder MEMS-Spiegel-Arrays.In some cases, the robot needs 100 possibly the imaging sensor 450 scan from side to side and / or up and down (eg, around an object 12 to contemplate or to obstruct 16 to see ( 17A )). For a differently controlled robot 100 This may be the rotation of the robot 100 on the spot with the drive system 200 include; or rotating an imaging sensor 450 associated mirror, prism, variable angle micromirrors or MEMS mirror arrays.

Das Sichtfeld 452 des Bildgebungssensors 450 mit einem Sichtwinkel θv von weniger als 360 kann durch Optiken, wie omnidirektionale, Fischaugen-, Katadioptrik (z. B. Parabolspiegel, Telezentrieobjektiv), panamorphe Spiegel und Objektive, auf 360 Grad vergrößert werden. Da die Steuerung 500 den Bildgebungssensor 450 unter anderem für Abstandsmessungen verwenden kann, jedoch nicht unbedingt für für Menschen sichtbare Bilder oder Videos (z. B. für menschliche Kommunikation), ist die Verzerrung (z. B. das Verziehen) der Beleuchtung der Lichtquelle 1172 und/oder der Bildaufnahme durch den Bildgeber 1174 (11) durch die Optik für die Abstandsmessungen annehmbar (wie z. B. mit der 3D-Specklekamera 1300 und/oder der 3D-Laufzeitkamera 1500).The field of vision 452 of the imaging sensor 450 with an angle of view θv of less than 360 can be increased to 360 degrees by optics such as omnidirectional, fisheye, catadioptric (e.g., parabolic, telecentric), panamorphic mirrors, and objectives. Because the controller 500 the imaging sensor 450 inter alia for distance measurements, but not necessarily for human-visible images or videos (eg, for human communication), the distortion (eg warping) of the illumination of the light source is 1172 and / or image acquisition by the imager 1174 ( 11 ) are acceptable by the optics for the distance measurements (such as with the 3D speckle camera 1300 and / or the 3D runtime camera 1500 ).

In einigen Fällen kann der Bildgebungssensor 450 Schwierigkeiten beim Erkennen und Messen von schwarzen Objekten 12, Oberflächen mit variierendem Rückstrahlungsvermögen, stark reflektierenden Objekten 12, extremen 3D-Strukturen, sich selbst ähnelnden oder periodischen Strukturen oder Objekten in oder kurz außerhalb des Sichtfeldes 452 (z. B. auf oder außerhalb horizontaler und vertikaler Sichtfeldwinkel) haben. In derartigen Fällen können andere Sensoren des Sensorsystems 400 verwendet werden, um den Bildgebungssensor 450 zu ergänzen oder Redundanz bereitzustellen.In some cases, the imaging sensor can 450 Difficulty detecting and measuring black objects 12 , Surfaces with varying reflectivity, highly reflective objects 12 , extreme 3D structures, self-similar or periodic structures or objects in or just out of the field of view 452 (eg on or outside horizontal and vertical field of view angle). In such cases, other sensors of the sensor system 400 used to be the imaging sensor 450 to supplement or provide redundancy.

In einigen Ausführungen beinhaltet die Lichtquelle 1172 (z. B. die 3D-Specklekamera 1300 und/oder die 3D-Laufzeitkamera 1500) einen Infrarot-(IR)-Laser, IR-Musterilluminator oder einen anderen IR-Illuminator. Ein schwarzes Objekt, insbesondere schwarzer Stoff oder Teppich, kann IR absorbieren und eine Reflexion zurückwerfen, die nicht ausreicht, um durch den Bildgeber 1174 erkannt zu werden. In diesem Fall kann entweder ein Zweitmodus der Erkennung (wie ein Sonar) oder eine Technik zur Selbstkalibrierung für Unterschiede im Oberflächenrückstrahlungsvermögen erforderlich sein, um die Erkennung von schwarzen Objekten zu verbessern.In some versions, the light source includes 1172 (eg the 3D Speckle camera 1300 and / or the 3D runtime camera 1500 ) an infrared (IR) laser, IR pattern illuminator or other IR illuminator. A black object, especially black fabric or carpet, can absorb IR and throw back a reflection that is insufficient to pass through the imager 1174 to be recognized. In this case, either a second mode of detection (such as a sonar) or a self-calibration technique may be required for differences in surface retroreflectivity to enhance black object detection.

Ein stark reflektierendes Objekt 12 oder ein Objekt 12 mit stark spiegelnden Leuchtpunkten (z. B. zylindrisch oder kugelförmig) kann das Bestimmen von Abständen für den Bildgebungssensor 450 erheblich erschweren. Gleichermaßen können auch Objekte 12, die Lichtwellenlängen, nach denen der Bildsensor 450 sucht, in hohem Maß absorbieren, Probleme darstellen. Objekte 12, wie Türen oder Fenster, die aus Glas hergestellt sind, können stark reflektieren und, wenn ihr Abstand bestimmt werden soll, entweder als freier Raum (unendlicher Abstand) erscheinen oder als die Reflexion der ersten nicht spiegelnden reflektierenden Oberfläche gemessen werden. Die kann dazu führen, dass der Roboter 100 das Objekt 12 nicht als Hindernis sieht und aus diesem Grund mit dem Fenster oder der Tür kollidieren und möglicherweise Schäden am Roboter oder dem Objekt 12 verursachen kann. Um dies zu verhindern, kann die Steuerung 500 einen oder mehrere Algorithmen ausführen, die nach Diskontinuitäten in Oberflächen suchen, die der Größe und Form (vierkantig) einer typischen Fensterscheibe oder Tür entsprechen. Daraus kann geschlossen werden, dass diese Oberflächen Hindernisse oder nicht freie Räume sind. Eine andere Ausführung zum Erfassen reflektierender Objekte im Pfad des Roboters beinhaltet die Verwendung eines Reflexionssensors, der seine eigene Reflexion erfasst. Nach vorsichtiger Annäherung an das Hindernis oder Objekt 12 kann der Reflexionssensor verwendet werden, um zu bestimmen, ob voraus ein spiegelndes reflektierendes Objekt vorhanden ist oder ob der Roboter den Raum sicher einnehmen kann.A highly reflective object 12 or an object 12 with highly specular luminous dots (eg, cylindrical or spherical), determining distances for the imaging sensor 450 considerably more difficult. Likewise, objects can also 12 , the wavelengths of light after which the image sensor 450 seek, absorb to a high degree, pose problems. objects 12 Such as doors or windows made of glass can strongly reflect and, if their distance is to be determined, either appear as free space (infinite distance) or measured as the reflection of the first non-reflecting reflecting surface. That can lead to the robot 100 the object 12 does not see as an obstacle and for this reason collide with the window or the door and possibly damage the robot or the object 12 can cause. To prevent this, the controller can 500 run one or more algorithms that look for discontinuities in surfaces that are sized and shaped (square) correspond to a typical window or door. From this it can be concluded that these surfaces are obstacles or not free spaces. Another embodiment for detecting reflective objects in the path of the robot involves the use of a reflection sensor that detects its own reflection. After careful approach to the obstacle or object 12 For example, the reflection sensor may be used to determine whether there is a specular reflective object in advance or whether the robot can safely occupy the space.

Im Fall der 3D-Specklekamera 1300 kann es sein, dass die Lichtquelle 1310 nicht in der Lage ist, ein Muster zu bilden, das auf der Oberfläche eines stark reflektierenden Objekts 12 erkennbar ist oder dass der Bildgeber 1320 nicht in der Lage ist, eine Specklereflexion vom stark reflektierenden Objekt 12 zu erkennen. Im Fall der 3D-Laufzeitkamera 1500 kann das stark reflektierende Objekt 12 eine Mehrfachpfadsituation erzeugen, in der die 3D-Laufzeitkamera 1500 einen Abstand zu einem anderen Objekt 12 erfasst, das im Objekt 12 reflektiert wird (statt zum Objekt selbst). Um die IR-Ausfallmodi zu beheben, kann das Sensorsystem 400 akustische Laufzeit, Millimeterwellenradar, Stereo oder andere visuelle Techniken verwenden, die sogar kleine Reflexionen in der Szene 10 verwenden können.In the case of the 3D-Speckle camera 1300 It may be that the light source 1310 is unable to form a pattern on the surface of a highly reflective object 12 is recognizable or that the imager 1320 unable to make a speckle reflection from the highly reflective object 12 to recognize. In the case of the 3D runtime camera 1500 can be the highly reflective object 12 create a multipath situation in which the 3D runtime camera 1500 a distance to another object 12 captured in the object 12 is reflected (instead of the object itself). To fix the IR failure modes, the sensor system can 400 acoustic runtime, millimeter-wave radar, stereo or other visual techniques that use even small reflections in the scene 10 can use.

Netzobjekte 12 können die Abstandsmessung für den Bildgebungssensor 450 erschweren. Wenn sich direkt hinter Netzmaterial mit einer gewissen Porosität keine Objekte 12 befinden, erscheint das Netzmaterial als ein festes Hindernis 12. Falls sich jedoch ein Objekt 12 hinter dem Netzmaterial vorbei bewegt und, im Fall der 3D-Specklekamera 1300, die Speckle vom Objekt 12 hinter dem Netzmaterial reflektiert werden können, erscheint das Objekt in der Tiefenkarte statt des Netzmaterials, obwohl es sich dahinter befindet. Falls Informationen über die Punkte verfügbar sind, die vorab der Identifizierung des Netzmaterials zugeschrieben wurden (bevor sich ein Objekt 12 dahinter vorbei bewegt hat), könnten derartige Informationen verwendet werden, um die Position des Netzmaterials in zukünftigen Belegungskarten einzutragen. Durch das Empfangen von Informationen über die probabilistische Korrelation der empfangenen Specklekarte in verschiedenen Abständen kann die Steuerung 500 die Standorte mehrerer poröser der netzartiger Objekte 12 in einer Richtung mit dem Bildgebungssensor 450 bestimmen.network objects 12 can be the distance measurement for the imaging sensor 450 difficult. If there are no objects directly behind mesh with a certain porosity 12 The net material appears as a solid obstacle 12 , However, if there is an object 12 moved past the mesh material and, in the case of the 3D-Speckle camera 1300 , the speckle from the object 12 behind the mesh material, the object appears in the depth map instead of the mesh material, even though it is behind it. If information is available on the items previously attributed to the identification of the net material (before any object 12 moved past), such information could be used to register the location of the network material in future occupancy maps. By receiving information about the probabilistic correlation of the received speckle card at different distances, the controller can 500 the locations of several porous net-like objects 12 in one direction with the imaging sensor 450 determine.

Die Steuerung 500 kann Bildgebungsdaten vom Bildgebungssensor 450 für die Farb-/Größen-/Abmessungs-Blob-Analyse verwenden. Die Identifizierung von diskreten Objekten 12 in der Szene 10 ermöglicht es dem Roboter 100 nicht nur Kollisionen zu vermeiden, sondern auch nach Objekten 12 zu suchen. Der Mensch-Schnittstellen-Roboter 100 muss unter Umständen Menschen und Zielobjekte 12 vor dem Hintergrund einer Wohnbereich- oder Büroumgebung erkennen können. Die Steuerung 500 kann einen oder mehrere Farbkarten-Blob-Analyse-Algorithmen auf der/den von den Bildgebungsdaten des Bildgebungssensors 450 abgeleiteten Tiefenkarte(n) ausführen, als wären die Karten einfache Graustufenkarten, und nach der gleichen „Farbe” (d. h. Tiefenkontinuität) suchen, um beständige Objekte 12 in der Szene 10 zu finden. Die Verwendung von Farbkarten, um die Entscheidung, wie Objekte 12 segmentiert werden sollen, zu verbessern, würde ferner die Objektzuordnung verstärken, wodurch die Segmentierung im Farbraum sowie im Tiefenraum ermöglicht wird. Die Steuerung 500 kann Objekte 12 zunächst durch die Tiefe erkennen und die Objekte 12 dann weiter nach Farbe segmentieren. Dies ermöglicht es dem Roboter 100, zwischen zwei Objekten 12 zu unterscheiden, die nah beieinander liegen oder aneinander angrenzen und unterschiedliche optische Qualitäten aufweisen.The control 500 can capture data from the imaging sensor 450 for color / size / dimension blob analysis. The identification of discrete objects 12 in the scene 10 allows the robot 100 not only to avoid collisions, but also to objects 12 to search. The human interface robot 100 may need people and target objects 12 recognize against the backdrop of a home or office environment. The control 500 may include one or more color map blob analysis algorithms on the image data of the imaging sensor 450 Perform derived depth map (s) as if the maps were simple grayscale maps, and look for the same "color" (ie, depth continuity) to be persistent objects 12 in the scene 10 to find. The use of color charts to decide how objects 12 would also enhance object mapping, allowing for segmentation in color space as well as in depth space. The control 500 can objects 12 first through the depth and recognize the objects 12 then segment by color. This allows the robot 100 , between two objects 12 be distinguished, which are close to each other or adjacent to each other and have different optical qualities.

In Ausführungen, in denen das Sensorsystem 400 nur einen Bildgebungssensor 450 (z. B. eine Kamera) zur Objekterfassung beinhaltet, kann der Bildgebungssensor 450 in Ermangelung von Szenentextur Probleme bei der Bildgebung von Oberflächen haben und nicht in der Lage sein, das Größenverhältnis der Szene zu lösen. Ferner können Spiegel und/oder spiegelnde Leuchtpunkte eines Objekts 12 eine Sättigung in einer Gruppe an Pixeln 1174p des Bildgebers 1174 (z. B. Sättigung eines zugehörigen Abschnitts eines aufgenommenen Bilds) verursachen; und in Farbbildern können die spiegelnden Leuchtpunkte von unterschiedlichen Sichtpunkten aus verschieden aussehen, wodurch der Bildvergleich verfälscht wird, wie für die Specklekamera 1300.In versions in which the sensor system 400 just an imaging sensor 450 (eg a camera) for object detection, the imaging sensor 450 in the absence of scene texture, have problems in imaging surfaces and will not be able to resolve the size ratio of the scene. Furthermore, mirrors and / or specular luminous points of an object can 12 a saturation in a group of pixels 1174p of the imager 1174 (eg, saturation of an associated portion of a captured image); and in color images, the specular luminous dots may look different from different points of view, thereby falsifying the image comparison, as for the speckle camera 1300 ,

Das Verwenden oder Zusammenstellen von zwei oder mehr Sensoren für die Objekterfassung kann ein verhältnismäßig robusteres und redundanteres Sensorsystem 400 bereitstellen. Obwohl Blitz-LADARs zum Beispiel allgemein eine niedrige dynamische Reichweite und rotierende Scanner allgemein lange Inspektionszeiten haben, können diese Sensortypen für die Objekterfassung nützlich sein. In einigen Ausführungen beinhaltet das Sensorsystem 400 einen Blitz-LADAR und/oder einen rotierenden Scanner zusätzlich zum Bildgebungssensor 450 (z. B. der 3D-Specklekamera 1300 und/oder der 3D-Laufzeitkamera 1500), der mit der Steuerung 500 in Kommunikation steht. Die Steuerung 500 kann die Erfassungssignale vom Bildgebungssensor 450 und den Blitz-LADAR und/oder einen rotierenden Scanner verwenden, um Objekte 12 zu identifizieren, einen Abstand von Objekten 12 vom Roboter 100 zu bestimmen, eine 3D-Karte der Oberflächen der Objekte 12 zu konstruieren und/oder eine Belegungskarte zu konstruieren oder zu aktualisieren eine Belegungskarte 1700. Die 3D-Specklekamera 1300 und/oder die 3D-Laufzeitkamera 1500 können verwendet werden, um jegliche Farb- oder Stereokameraschwachpunkte durch Initialisieren einer Abstandsbestimmung, Auffüllen in Bereichen mit geringer Textur, Erfassen von Tiefendiskontinuitäten und/oder Verankern des Maßstabs zu lösen.Using or assembling two or more sensors for object detection can provide a relatively more robust and redundant sensor system 400 provide. For example, although flash LADARs generally have a low dynamic range and rotating scanners generally have long inspection times, these sensor types may be useful for object detection. In some embodiments, the sensor system includes 400 a flash LADAR and / or a rotating scanner in addition to the imaging sensor 450 (eg the 3D-Speckle camera 1300 and / or the 3D runtime camera 1500 ), with the controller 500 is in communication. The control 500 can capture the detection signals from the imaging sensor 450 and use the flash LADAR and / or a rotating scanner to scan objects 12 to identify a distance from objects 12 from the robot 100 to determine a 3D map of the surfaces of the objects 12 to construct and / or to design a patch card or to update a patch card 1700 , The 3D-Speckle camera 1300 and / or the 3D runtime camera 1500 can be used to resolve any color or stereo camera growth points by initializing a distance determination, filling in areas of low texture, detecting depth discontinuities, and / or anchoring the scale.

In Beispielen, welche die 3D-Specklekamera 1300 verwenden, kann das vom Speckleemitter 1310 ausgestrahlte Specklemuster im Verhältnis zum Bildgeber 1320 rotationsinvariant sein. Ferner kann eine zusätzliche Kamera 1300 (z. B. Farb- oder Stereokamera), die zusammen mit der 3D-Specklekamera 1300 und/oder der 3D-Laufzeitkamera 1500 registriert ist, einen Merkmalsdetektor einsetzen, bei dem es sich um eine teilweise oder gänzlich skalen-/rotationsaffine Invariante handelt, um Selbstrotation, Neigung, Perspektive und/oder Maßstab (Abstand) zu handhaben. Skaleninvariante Merkmalstransformation (engl.: Scale-invariant feature transform, oder SIFT) ist ein Algorithmus zum Erfassen und/oder Beschreiben lokaler Merkmale in Bildern. SIFT kann von der Steuerung 500 (mit Daten vom Sensorsystem 400) zur Objekterkennung, Roboterkartierung und -navigation, 3D-Modellierung, Gestenerkennung, Videoverfolgung und Übereinstimmungsbewegung verwendet werden. SIFT ermöglicht als skaleninvariante, rotationsinvariante Transformation eine Platzierung einer Signatur auf Merkmalen in der Szene 10 und kann dabei helfen, identifizierte Merkmale in der Szene 10 wieder zu erfassen, auch wenn sie weiter weg oder rotiert sind. Zum Beispiel ermöglicht die Anwendung von SIFT auf herkömmlichen Bildern die Erkennung eines bewegten Objekts 12 (z. B. eines Gesichts oder einer Schaltfläche oder eines Textes), um zu identifizieren, dass das Objekt 12 die gleiche Luminanz oder das gleiche Farbmuster aufweist, nur größer oder kleiner oder rotiert. Andere Transformationen können verwendet werden, die affininvariant sind und Verdrehung oder Verzerrung ausgleichen können, um Objekte 12 aus einem Winkel zu identifizieren. Das Sensorsystem 400 und/oder die Steuerung 500 können skaleninvariante Merkmalserkennung (z. B. durch eine Farb- oder Stereokamera) durch Einsatz von SIFT, RIFT, Affine SIFT, RIFT, G-RIF, SURF, PCA-SIFT, GLOH, PCA-SIFT, SIFT mit FAST-Eckenerfassung und/oder skalierbarem Vokabelbaum und/oder SIFT mit Histogramm-Klasseneinteilung nach irregulären Ausrichtungen bereitstellen.In examples, the 3D-Specklekamera 1300 can use that from the speckle emitter 1310 radiated speckle pattern in relation to the imager 1320 be rotationally invariant. Furthermore, an additional camera 1300 (such as color or stereo camera), which together with the 3D Speckle camera 1300 and / or the 3D runtime camera 1500 is registered, employ a feature detector which is a partial or full scale / rotational invariant to handle self-rotation, tilt, perspective, and / or scale (distance). Scale invariant feature transform (or SIFT) is an algorithm for capturing and / or describing local features in images. SIFT can be from the controller 500 (with data from the sensor system 400 ) can be used for object recognition, robotic mapping and navigation, 3D modeling, gesture recognition, video tracking, and matching motion. SIFT, as a scale-invariant, rotation-invariant transformation, allows placement of a signature on features in the scene 10 and can help identify identified features in the scene 10 even if they are further away or rotated. For example, using SIFT on conventional images allows you to detect a moving object 12 (for example, a face or a button or a text) to identify that object 12 has the same luminance or the same color pattern, only larger or smaller or rotated. Other transformations can be used that are affine-invariant and can compensate for twist or distortion to objects 12 to identify from an angle. The sensor system 400 and / or the controller 500 can use scale-invariant feature recognition (eg by a color or stereo camera) using SIFT, RIFT, Affine SIFT, RIFT, G-RIF, SURF, PCA-SIFT, GLOH, PCA-SIFT, SIFT with FAST corner detection and / or or scalable vocabulary tree and / or SIFT with histogram classifications according to irregular orientations.

In einigen Ausführungen führt die Steuerung 500 ein Programm oder eine Routine aus, die SIFT und/oder andere Transformationen zur Objekterfassung und/oder -identifikation verwendet. Die Steuerung 500 kann Bildgebungsdaten von einem Bildsensor 450, wie einer Farb-, Schwarzweiß- oder IR-Kamera, empfangen. In einigen Beispielen ist der Bildgebungssensor 450 eine 3D-Speckle-IR-Kamera, die Bilddaten ohne die Specklebeleuchtung bereitstellen kann, um Merkmale ohne die Vorteile der Speckle-Abstandsbestimmung zu identifizieren. Die Steuerung 500 kann Merkmale oder Objekte 12, die zuvor bei der Speckle-Abstandsbestimmung in der 3D-Kartenszene verzeichnet wurden, identifizieren oder kennzeichnen. Die Tiefenkarte kann verwendet werden, um die Erkennungsrate von SIFT für mit einer Kamera aufgenommene Merkmale zu verbessern und/oder die Skaleninvarianz zu vereinfachen (da sowohl Bewegung als auch Veränderung der Reichweite bekannt sind und auf den Maßstab übertragen werden können). SIFT-ähnliche Transformationen können bei Tiefenkartendaten, die normalisiert und/oder zur Positionsvariation von Bild zu Bild verschoben werden, nützlich sein, die durch Roboter mit. Trägheitsverfolgung, Odometrie, Propriozeption und/oder Signalreferenz verfolgt werden können. Zum Beispiel kann eine Transformation für Maßstabs- und Rotationsinvarianz immer noch effektiv sein, um ein lokalisiertes Merkmal in der Tiefenkarte zu erkennen, wenn die Tiefenkarte nach dem Ausmaß der Bewegung in der Richtung des Merkmals indiziert ist.In some versions, the controller performs 500 a program or routine that uses SIFT and / or other object detection and / or identification transformations. The control 500 can take imaging data from an image sensor 450 , such as a color, black-and-white or IR camera. In some examples, the imaging sensor is 450 a 3D speckle IR camera that can provide image data without the speckle illumination to identify features without the benefit of speckle spacing. The control 500 can be features or objects 12 Identify or tag previously recorded in the Speckle distance determination in the 3D map scene. The depth map can be used to improve the SIFT recognition rate for camera-picked features and / or to simplify scale invariance (since both motion and range change are known and can be scaled-up). SIFT-like transformations may be useful in depth map data that is normalized and / or postponed for positional variation from image to image. Inertia tracking, odometry, proprioception and / or signal reference can be tracked. For example, a scale and rotational invariance transformation may still be effective to detect a localized feature in the depth map if the depth map is indexed by the amount of movement in the direction of the feature.

Andere Einzelheiten und Merkmale von SIFT-ähnlichen oder anderen Merkmalsdeskriptoren für 3D-Daten, die mit den hierin beschriebenen kombinierbar sind, finden sich in Se, S.; Lowe, David G.; Little, J. (2001). „Vision-based mobile robot localization and mapping using scale-invariant features”. Proceedings of the IEEE International Conference an Robotics and Automation (ICRA). 2. S. 2051 ff. ; oder Rothganger, F; S. Lazebnik, C. Schmid und J. Ponce: 2004. 3D Object Modeling and Recognition Using Local Affine-Invariant Image Descriptors and Multi-View Spatial Constraints, ICCV ; oder Iryna Gordon und David G. Lowe, „What and where: 3D object recognition with accurate pose”, Toward Category-Level Object Recognition, (Springer-Verlag, 2006), S. 67–82 ; deren Inhalte hierin hiermit durch Verweis in ihrer Gesamtheit eingeschlossen sind.Other details and features of SIFT-like or other feature descriptors for 3D data that are combinable with those described herein can be found in FIG Se, S .; Lowe, David G .; Little, J. (2001). "Vision-based mobile robot localization and mapping using scale-invariant features". Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). 2. p. 2051 ff. ; or Rothganger, F; S. Lazebnik, C. Schmid and J. Ponce: 2004. 3D Object Modeling and Recognition Using Local Affine Invariant Image Descriptors and Multi-View Spatial Constraints, ICCV ; or Iryna Gordon and David G. Lowe, "What and where: 3D object recognition with accurate pose", Toward Category-Level Object Recognition, (Springer-Verlag, 2006), pp. 67-82 ; the contents of which are hereby incorporated by reference in their entirety.

Andere Einzelheiten und Merkmale von Techniken, die für 3D-SIFT in menschlicher Aktionserkennung geeignet sind, einschließlich Fallen, finden sich in Laptev, Ivan und Lindeberg, Tony (2004). „Local descriptors for spatio-temporal recognition”. ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis, Springer Lecture Notes in Computer Science, Ausgabe 3667. S. 91–103 ; Ivan Laptev, Barbara Caputo, Christian Schuldt und Tony Lindeberg (2007). „Local velocity-adapted motion events for spatio-temporal recognition”. Computer Vision and Image Understanding 108: 207–229 ; Scovanner, Paul; Ali, S; Shah, M (2007). „A 3-dimensional sift descriptor and its application to action recognition”. Proceedings of the 15th International Conference an Multimedia. S. 357–360 ; Niebles, J. C. Wang, H. und Li, Fei-Fei (2006). „Unsupervised Learning of Human Action Categories Using Spatial-Temporal Words”. Proceedings of the British Machine Vision Conference (BMVC). Edinburgh ; deren Inhalte hierin hiermit durch Verweis in ihrer Gesamtheit eingeschlossen sind.Other details and features of techniques that are suitable for 3D-SIFT in human action detection, including traps, can be found in Laptev, Ivan and Lindeberg, Tony (2004). "Local descriptors for spatio-temporal recognition". ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis, Springer Lecture Notes in Computer Science, Issue 3667. pp. 91-103 ; Ivan Laptev, Barbara Caputo, Christian Schuldt and Tony Lindeberg (2007). Local velocity-adapted motion events for spatio-temporal recognition. Computer Vision and Image Understanding 108: 207-229 ; Scovanner, Paul; Ali, S; Shah, M (2007). "A 3-dimensional sift descriptor and its application to action recognition". Proceedings of the 15th International Conference on Multimedia. Pp. 357-360 ; Niebles, JC Wang, H. and Li, Fei-Fei (2006). "Unsupervised Learning of Human Action Categories Using Spatial-Temporal Words ". Proceedings of the British Machine Vision Conference (BMVC). Edinburgh ; the contents of which are hereby incorporated by reference in their entirety.

Die Steuerung 500 kann den Bildgebungssensor 450 (z. B. einen Tiefenkartensensor) bei der Konstruktion einer 3D-Karte der Oberfläche eines Objekts 12 verwenden, um Löcher von Tiefendiskontinuitäten zu füllen und einen metrischen Maßstab eines 3D-Modells zu verankern. Struktur-aus-Bewegung, von Tiefenkartensensorvermessungdaten unterstützt, kann verwendet werden, um Sensorposen zu schätzen. Eine typische Struktur-aus-Bewegung-Leitung kann sichtpunktinvariante Merkmalsschätzung, kameraübergreifende Merkmalsvergleiche und eine Gruppierungsanpassung beinhalten.The control 500 can be the imaging sensor 450 (eg, a depth map sensor) in constructing a 3D map of the surface of an object 12 use to fill holes of depth discontinuities and anchor a metric scale of a 3D model. Structure-out-of-motion, supported by depth map sensor survey data, can be used to estimate sensor poses. A typical structure-out-of-motion conduit may include viewpoint-invariant feature estimation, cross-camera feature comparisons, and grouping customization.

Eine Software-Lösung, die Merkmale von Farb-/Stereokameras mit dem Bildgebungssensor 450 (z. B. der 3D-Specklekamera 1300 und/oder der Laufzeitkamera 1500) kombiniert, kann (1) Sensorposenschätzung, (2) Tiefenkartenschätzung und (3) 3D-Netzschätzung beinhalten. Bei der Sensorposenschätzung wird die Position und Ausrichtung des Sensorpakets jeder Bildaufnahme bestimmt. Bei der Tiefenkartenschätzung wird für jedes Bild eine hochauflösende Tiefenkarte erhalten. Bei der 3D-Netzschätzung können Sensorposenschätzungen und Tiefenkarten verwendet werden, um Objekte von Interesse zu identifizieren.A software solution that features color / stereo cameras with the imaging sensor 450 (eg the 3D-Speckle camera 1300 and / or the runtime camera 1500 ) can include (1) sensor pose estimation, (2) depth map estimation and (3) 3D network estimation. The sensor pose estimation determines the position and orientation of the sensor package of each image capture. In depth map estimation, a high-resolution depth map is obtained for each image. In 3D network estimation, sensor pose estimates and depth maps can be used to identify objects of interest.

In einigen Ausführungen können eine Farb- oder Stereokamera 320 (9) und die 3D-Specklekamera 1300 oder die 3D-Laufzeitkamera 1500 zusammen registriert sein. Ein Überstandabstand von 1 Meter und ein Sichtfeld 452 von 45 Grad können eine ausreichende Schaltungszeit und Überlappung zwischen den Ansichten bereitstellen. Wenn wenigstens zwei Pixel für eine 50%-ige Erfassung erforderlich sind, kann wenigstens eine Farbkamera mit 1-Megapixel-Auflösung mit einem Objektiv mit einem 45-Grad-Sichtfeld 452 mit proportional größerer Auflösung für ein Sichtfeld 452 von 60 Grad oder breiter verwendet werden.In some embodiments, a color or stereo camera 320 ( 9 ) and the 3D-Speckle camera 1300 or the 3D runtime camera 1500 be registered together. A projection distance of 1 meter and a field of view 452 of 45 degrees can provide sufficient switching time and overlap between the views. If at least two pixels are required for 50% detection, at least one 1 megapixel color camera with a 45 degree field of view lens can be used 452 with proportionally larger resolution for a field of view 452 of 60 degrees or wider.

Wenngleich ein Tiefenkartensensor eine relativ geringe Auflösung und Reichweitengenauigkeit haben kann, kann er zuverlässig Sammlungen an Pixeln vom Farb-/Stereobild einer richtigen Oberfläche zuweisen. Dies ermöglicht eine Verringerung von Stereosichtfehlern aufgrund mangelnder Textur und kann außerdem durch Eingrenzen der Reichweite, z. B. auf einen Abstand von 5 cm, den Disparitätensuchbereich und die Rechenkosten verringern.Although a depth card sensor may have relatively low resolution and range accuracy, it can reliably allocate collections of pixels from the color / stereo image to a proper surface. This allows for reduction of stereo vision errors due to lack of texture and can also be achieved by limiting the range, e.g. B. to a distance of 5 cm, the Disparitätsuchbereich and reduce the computational costs.

Mit erneuter Bezugnahme auf 10A können der erste und zweite 3D-Bildsensor 450a, 450b verwendet werden, um die Kartierung der Umgebung des Roboters zu verbessern, um eine Roboterkarte zu erstellen, da der erste 3D-Bildsensor 450a verwendet werden kann, um nahe gelegene Objekte aufzuzeichnen und der zweite 3D-Bildsensor 450b verwendet werden kann, um entfernte Objekte aufzuzeichnen.With renewed reference to 10A can be the first and second 3D image sensor 450a . 450b used to improve the mapping of the environment of the robot to create a robot map because the first 3D image sensor 450a can be used to record nearby objects and the second 3D image sensor 450b can be used to record distant objects.

Mit Bezugnahme auf 17A und 17B empfingt der Roboter 100 in einigen Umständen eine Belegungskarte 1700 der Objekte 12 in einer Szene 10 und/oder einem Arbeitsbereich 5 oder die Robotersteuerung 500 erzeugt die Belegungskarte 1700 basierend auf vom Bildgebungssensor 450 (z. B. dem zweiten 3D-Bildsensor 450b) im Laufe der Zeit empfangenen Bilddaten und/oder Bildtiefendaten (und kann diese aktualisieren). Zusätzlich zur Lokalisierung des Roboters 100 in der Szene 10 (z. B. der Umgebung um den Roboter 100) kann der Roboter 100 unter Verwendung des Sensorsystems 400 zu anderen Punkten in einem verbundenen Raum (z. B. dem Arbeitsbereich 5) fahren. Der Roboter 100 kann einen Bildgebungssensor 450a mit kurzer Reichweite (der z. B. auf der Unterseite des Körpers 140 befestigt ist, wie in 1 und 3 dargestellt) beinhalten, um einen nahe gelegenen Bereich um den Roboter 110 aufzuzeichnen und relativ nah gelegene Objekte 12 wahrzunehmen, und einen Bildgebungssensor 450b (der z. B. auf dem Kopf 160 befestigt ist, wie in 1 und 3 dargestellt) mit einer langen Reichweite beinhalten, um einen im Verhältnis größeren Bereich um den Roboter 100 aufzuzeichnen und relativ weit entfernte Objekte 12 wahrzunehmen. Der Roboter 100 kann die Belegungskarte 1700 verwenden, um bekannte Objekte 12 in der Szene 10 sowie Versperrungen 16 zu identifizieren (z. B. wo ein Objekt 12 sich befinden sollte oder nicht, was jedoch vom aktuellen Aussichtspunkt aus nicht bestätigt werden kann). Der Roboter 100 kann eine Versperrung 16 oder ein neues Objekt 12 in der Szene 10 registrieren und versuchen, die Versperrung 16 oder das neue Objekt 12 zu umfahren, um den Standort des neuen Objekts 12 oder jedes beliebigen Objekts 12 in der Versperrung 16 zu bestätigen. Ferner kann der Roboter 100 unter Verwendung der Belegungskarte 1700 die Bewegung eines Objekts 12 in der Szene 10 bestimmen und verfolgen. Zum Beispiel kann der Bildgebungssensor 450, 450a, 450b eine neue Position 12' des Objekts 12 in der Szene 10 erfassen, während er eine kartierte Position des Objekts 12 in der Szene 10 nicht erfasst. Der Roboter 100 kann die Position des alten Objekts 12 als eine Versperrung 16 registrieren und versuchen, die Versperrung 16 zu umfahren, um den Standort des Objekts 12 zu bestätigen. Der Roboter 100 kann neue Bildtiefendaten mit vorherigen Bildtiefendaten (z. B. der Karte 1700) vergleichen und ein Konfidenzniveau des Standorts des Objekts 12 in der Szene 10 zuweisen. Das Standortkonfidenzniveau eines Objekts 12 in der Szene 10 kann nach einem Grenzzeitraum ablaufen oder verfallen. Das Sensorsystem 400 kann Standortkonfidenzniveaus jedes Objekts 12 nach jedem Bildgebungszyklus des Sensorsystems 400 aktualisieren. In einigen Beispielen kann eine erfasste neue Versperrung 16 (z. B. ein fehlendes Objekt 12 in der Belegungskarte 1700) in einem Versperrungserfassungszeitraum (z. B. weniger als zehn Sekunden) ein „lebendes” Objekt 12 (z. B. ein sich bewegendes Objekt 12) in der Szene 10 anzeigen.With reference to 17A and 17B the robot receives 100 in some circumstances an occupancy card 1700 the objects 12 in a scene 10 and / or a workspace 5 or the robot controller 500 generates the occupancy card 1700 based on the imaging sensor 450 (eg, the second 3D image sensor 450b ) image data and / or image depth data received over time (and may update it). In addition to the localization of the robot 100 in the scene 10 (eg the environment around the robot 100 ) the robot can 100 using the sensor system 400 to other points in a connected room (eg the workspace 5 ) drive. The robot 100 can be an imaging sensor 450a short-range (for example, on the bottom of the body 140 attached as shown in Figs. 1 and 3) to a nearby area around the robot 110 record and relatively nearby objects 12 and an imaging sensor 450b (eg on his head 160 is attached, as in 1 and 3 shown) with a long range to a relatively larger area around the robot 100 record and relatively distant objects 12 perceive. The robot 100 can the occupancy card 1700 use to familiar objects 12 in the scene 10 as well as lockups 16 to identify (for example, where an object 12 should or may not be, but this can not be confirmed from the current vantage point). The robot 100 can be an obstruction 16 or a new object 12 in the scene 10 register and try the obstruction 16 or the new object 12 to drive around to the location of the new object 12 or any object 12 in the lock 16 to confirm. Furthermore, the robot can 100 using the occupancy card 1700 the movement of an object 12 in the scene 10 determine and track. For example, the imaging sensor 450 . 450a . 450b a new position 12 ' of the object 12 in the scene 10 capture while holding a mapped position of the object 12 in the scene 10 not recorded. The robot 100 can change the position of the old object 12 as an obstruction 16 register and try the obstruction 16 to avoid the location of the object 12 to confirm. The robot 100 can capture new image depth data with previous image depth data (such as the map 1700 ) and a confidence level of the location of the object 12 in the scene 10 to assign. The site confidence level of an object 12 in the scene 10 may expire or expire after a cut-off period. The sensor system 400 can be location confidence levels of each object 12 after each imaging cycle of the sensor system 400 To update. In some examples, a detected new lock may be detected 16 (eg a missing object 12 in the occupancy card 1700 ) in a lock detection period (eg, less than ten seconds) a "living" object 12 (eg a moving object 12 ) in the scene 10 Show.

In einigen Ausführungen kann ein zweites, sich hinter einem erfassten ersten Objekt 12a in der Szene 10 befindliches Objekt 12b von Interesse zuerst nicht als eine Versperrung 16 in der Szene 10 erfasst werden. Eine Versperrung 16 kann ein Bereich in der Szene 10 sein, der für den Bildgebungssensor 450, 450a, 450b nicht leicht zu erfassen oder zu sehen ist. Im dargestellten Beispiel hat das Sensorsystem 400 (oder z. B. ein Abschnitt davon, wie der Bildgebungssensor 450, 450a, 450b) des Roboters 100 ein Sichtfeld 452 mit einem Sichtwinkel θV (bei dem es sich um jeden beliebigen Winkel zwischen 0 Grad und 360 Grad handeln kann), um die Szene 10 zu sehen. In einigen Beispielen beinhaltet der Bildgebungssensor 450 omnidirektionale Optiken für einen Sichtwinkel θV von 360 Grad; während der Bildgebungssensor 450, 450a, 450b in anderen Beispielen einen Sichtwinkel θV von weniger als 360 Grad aufweist (z. B. zwischen ungefähr 45 Grad und 180 Grad). In Beispielen, in denen der Sichtwinkel θV weniger als 360 Grad beträgt, kann der Bildgebungssensor 450, 450a, 450b (oder Komponenten davon) im Verhältnis zum Roboterkörper 110 rotieren, um einen Sichtwinkel θV von 360 Grad zu erreichen. Der Bildgebungssensor 450, 450a, 450b kann einen vertikalen Sichtwinkel θV-V aufweisen, der dem horizontalen Sichtwinkel θV-H gleicht oder sich von ihm unterscheidet. Zum Beispiel kann der Bildgebungssensor 450, 450a, 450b ein horizontales Sichtfeld θv-H von wenigstens 45 Grad und ein vertikales Sichtfeld θV-V von wenigstens 40 Grad aufweisen. In einigen Ausführungen kann sich der Bildgebungssensor 450, 450a, 450b oder Abschnitte davon im Verhältnis zum Roboterkörper 110 und/oder dem Antriebssystem 200 bewegen. Um das zweite Objekt 12b zu erfassen, kann der Roboter 100 ferner den Bildgebungssensor 450, 450a, 450b durch Fahren in der Szene 10 in eine oder mehrere Richtung(en) (z. B. durch Translation und/oder Rotation auf der Arbeitsoberfläche 5) bewegen, um einen Aussichtspunkt zu erhalten, der eine Erfassung des zweiten Objekts 10b [sic] ermöglicht. Die Roboterbewegung oder unabhängige Bewegung des Bildgebungssensors 450, 450a, 450b oder von Abschnitten davon kann außerdem monokulare Schwierigkeiten lösen.In some embodiments, a second, behind a captured first object 12a in the scene 10 located object 12b of interest at first not as an obstruction 16 in the scene 10 be recorded. An obstruction 16 can be an area in the scene 10 be that for the imaging sensor 450 . 450a . 450b not easy to capture or see. In the example shown, the sensor system has 400 (or, for example, a section of it, such as the imaging sensor 450 . 450a . 450b ) of the robot 100 a field of vision 452 with a viewing angle θ V (which can be any angle between 0 degrees and 360 degrees) around the scene 10 to see. In some examples, the imaging sensor includes 450 omnidirectional optics for a viewing angle θ V of 360 degrees; while the imaging sensor 450 . 450a . 450b in other examples, has a viewing angle θ V of less than 360 degrees (eg, between about 45 degrees and 180 degrees). In examples where the viewing angle θ V is less than 360 degrees, the imaging sensor may 450 . 450a . 450b (or components thereof) relative to the robot body 110 rotate to achieve a viewing angle θ V of 360 degrees. The imaging sensor 450 . 450a . 450b may have a vertical angle of view θ VV, VH θ resembles the horizontal view angle or different from it. For example, the imaging sensor 450 . 450a . 450b have a horizontal field of view θ vH of at least 45 degrees and a vertical field of view θ VV of at least 40 degrees. In some embodiments, the imaging sensor may be 450 . 450a . 450b or sections thereof relative to the robot body 110 and / or the drive system 200 move. To the second object 12b to capture, the robot can 100 also the imaging sensor 450 . 450a . 450b by driving in the scene 10 in one or more directions (eg, by translation and / or rotation on the work surface 5 ) to obtain a vantage point that captures the second object 10b [sic] allows. The robot movement or independent movement of the imaging sensor 450 . 450a . 450b or portions thereof may also solve monocular difficulties.

Ein Konfidenzniveau kann erfassten Standorten oder verfolgten Bewegungen von Objekten 12 im Arbeitsbereich 5 zugewiesen werden. Zum Beispiel kann die Steuerung 500 bei der Erstellung oder Aktualisierung der Belegungskarte 1700 jedem Objekt 12 auf der Karte 1700 ein Konfidenzniveau zuweisen. Das Konfidenzniveau kann direkt proportional zu einer Wahrscheinlichkeit, dass sich das Objekt 12 tatsächlich im Arbeitsbereich 5 befindet, sein, wie auf der Karte 1700 angezeigt. Das Konfidenzniveau kann durch eine Mehrzahl von Faktoren bestimmt werden, wie die Anzahl und Art der Sensoren, die verwendet werden, um das Objekt 12 zu erfassen. Zum Beispiel kann der Kontaktsensor 430 das höchste Konfidenzniveau bereitstellen, da der Kontaktsensor 430 tatsächlichen Kontakt des Roboters 100 mit dem Objekt 12 erkennt. Der Bildgebungssensor 450 kann ein anderes Konfidenzniveau bereitstellen, das höher sein kann als das des Näherungssensors 430. Von mehr als einem Sensor des Sensorsystems 400 empfangene Daten können zusammengestellt oder gesammelt werden, um ein im Vergleich zu dem eines einzelnen Sensors höheres Konfidenzniveau bereitzustellen.A confidence level can be detected locations or tracked movements of objects 12 in the workspace 5 be assigned to. For example, the controller 500 when creating or updating the occupancy card 1700 every object 12 on the map 1700 assign a confidence level. The confidence level can be directly proportional to a probability that the object is 12 actually in the workspace 5 is, as on the map 1700 displayed. The confidence level can be determined by a number of factors, such as the number and type of sensors used to make the object 12 capture. For example, the contact sensor 430 provide the highest confidence level because the contact sensor 430 actual contact of the robot 100 with the object 12 recognizes. The imaging sensor 450 may provide a different level of confidence that may be higher than that of the proximity sensor 430 , Of more than one sensor of the sensor system 400 Received data may be collected or collected to provide a higher confidence level compared to that of a single sensor.

Odometrie ist die Verwendung von Daten aus der Bewegung von Stellern, um eine Positionsveränderung im Laufe der Zeit (zurückgelegte Entfernung) zu schätzen. In einigen Beispielen ist ein Geber auf dem Antriebssystem 200 angeordnet, um Radumdrehungen und demnach die vom Roboter 100 zurückgelegte Entfernung zu messen. Die Steuerung 500 kann Odometrie bei der Bewertung eines Konfidenzniveaus für einen Objektstandort einsetzen. In einigen Ausführungen beinhaltet das Sensorsystem 400 einen Wegstreckenzähler und/oder einen Drehratensensor (z. B. ein Gyroskop oder eine IMU 470) zum Messen einer vom Roboter 100 zurückgelegten Entfernung. Ein Gyroskop ist ein Gerät zum Messen oder Beibehalten der Ausrichtung basierend auf den Prinzipien der Erhaltung des Drehmoments. Die Steuerung 500 kann vom Wegstreckenzähler und/oder dem Drehratensensor empfangene Odometrie- und/oder Gyroskopsignale verwenden, um einen Standort des Roboters 100 in einem Arbeitsbereich 5 und/oder auf einer Belegungskarte 1700 zu bestimmen. In einigen Beispielen verwendet die Steuerung 500 Koppelnavigation. Koppelnavigation ist der Prozess des Schätzers einer aktuellen Position basierend auf einer vorab bestimmten Position und Vorrücken dieser Position basierend auf bekannten oder geschätzten Geschwindigkeiten im Laufe der Zeit und dem Kurs. Wenn ein Roboterstandort im Arbeitsbereich 5 (z. B. durch Odometrie, Gyroskop usw.) sowie ein erkannter Standort eines Objekts oder mehrerer Objekte 12 im Arbeitsbereich 5 (über das Sensorystem 400) bekannt sind, kann die Steuerung 500 ein im Verhältnis höheres Konfidenzniveau eines Standorts oder einer Bewegung eines Objekts 12 auf der Belegungskarte 1700 und im Arbeitsbereich 5 bewerten (gegenüber ohne die Verwendung von Odometrie oder einem Gyroskop).Odometry is the use of data from the motion of operators to estimate a change in position over time (distance traveled). In some examples, an encoder is on the drive system 200 arranged to Radumdrehungen and therefore the robot 100 measure the distance traveled. The control 500 can use odometry when evaluating a confidence level for an object location. In some embodiments, the sensor system includes 400 an odometer and / or a rotation rate sensor (eg a gyroscope or an IMU 470 ) for measuring one from the robot 100 traveled distance. A gyroscope is a device for measuring or maintaining alignment based on the principles of torque preservation. The control 500 may use odometry and / or gyroscope signals received from the odometer and / or yaw rate sensor to determine a location of the robot 100 in a workspace 5 and / or on an occupancy card 1700 to determine. In some examples, the controller uses 500 Dead reckoning. Dead reckoning is the process of estimating a current position based on a predetermined position and advancing that position based on known or estimated speeds over time and course. If a robot site in the workspace 5 (eg, by odometry, gyroscope, etc.) as well as a recognized location of one or more objects 12 in the workspace 5 (via the sensor system 400 ), the controller can 500 a relatively higher confidence level of a location or movement of an object 12 on the occupancy card 1700 and in the workspace 5 evaluate (versus without the use of odometry or a gyroscope).

Auf Radbewegung basierende Odometrie kann elektrische Störungen umfassen. Die Steuerung 500 kann Bilddaten der Umgebung oder Szene 10 um den Roboter 100 vom Bildgebungssensor 450 empfangen, um unabhängig von radbasierter Odometrie des Antriebssystems 200 durch visuelle Odometrie Roboterbewegung zu errechnen. Visuelle Odometrie kann die Verwendung von optischem Fluss beinhalten, um die Bewegung des Bildgebungssensors 450 zu bestimmen. Die Steuerung 500 kann die errechnete Bewegung basierend auf Bildgebungsdaten des Bildgebungssensors 450 verwenden, um jegliche Fehler in der radbasierten Odometrie zu korrigieren, was eine verbesserte Kartierung und Bewegungskontrolle ermöglicht. Visuelle Odometrie kann in Szenen 10 mit geringer Textur oder geringer Lichtintensität Einschränkungen unterliegen, wenn der Bildgebungssensor 450 Merkmale im/in den aufgenommenen Bild(ern) nicht nachverfolgen kann. Wheel motion based odometry may include electrical noise. The control 500 can image data of the environment or scene 10 around the robot 100 from the imaging sensor 450 receive, regardless of wheel-based odometry of the drive system 200 to calculate robot movement by visual odometry. Visual odometry may involve the use of optical flow to control the motion of the imaging sensor 450 to determine. The control 500 may calculate the calculated movement based on imaging data of the imaging sensor 450 to correct any errors in radar-based odometry, allowing for improved mapping and motion control. Visual Odometry can be used in scenes 10 with low texture or low light intensity limitations are imposed when using the imaging sensor 450 Features in / in the captured image (s) can not track.

Andere Einzelheiten und Merkmale von Odometrie- und Bildgebungssystemen, die mit den hierin beschriebenen kombinierbar sein können, finden sich in US-Patent 7,158,317 (das ein „Feldtiefen”-Bildgebungssystem beschreibt) und US-Patent 7,115,849 (das Wellenfront-kodierende Interferenzkontrast-Bildgebungssysteme beschreibt), deren Inhalte hierin hiermit durch Verweis in ihrer Gesamtheit eingeschlossen sind.Other details and features of odometry and imaging systems that may be combined with those described herein can be found in: U.S. Patent 7,158,317 (which describes a "field depth" imaging system) and U.S. Patent 7,115,849 (which describes wavefront-encoding interference contrast imaging systems), the contents of which are incorporated herein by reference in their entireties.

Mit Bezugnahme auf 18 weist der Bildgebungssensor 450 in einigen Ausführungsformen eine Bildgebungstotzone 453 auf, bei der es sich um ein Raumvolumen um den Bildgebungssensor 450 handelt, in dem Objekte nicht erfasst werden. In einigen Beispielen beinhaltet die Bildgebungstotzone 453 ein Raumvolumen, das durch einen ersten Winkel α, einen zweiten Winkel β und einen Radius RS von ungefähr 57° × 45° × 50 cm definiert ist, direkt an den Bildgebungssensor 450 angrenzt und um eine Bildgebungsachse 455 zentriert ist. Die Totzone 453 ist zwischen dem Bildgebungssensor 450 und einem Erfassungsbereich 457 des Bildgebungssensors 450 innerhalb des Sichtfeldes 452 positioniert.With reference to 18 has the imaging sensor 450 in some embodiments, an imaging deadband 453 on, which is a volume of space around the imaging sensor 450 where objects are not captured. In some examples, the imaging deadband includes 453 a volume of space defined by a first angle α, a second angle β and a radius R S of approximately 57 ° × 45 ° × 50 cm, directly to the imaging sensor 450 adjoins and around an imaging axis 455 is centered. The dead zone 453 is between the imaging sensor 450 and a detection area 457 of the imaging sensor 450 within the field of view 452 positioned.

Im Beispiel aus 19 beinhaltet der Roboter 100 einen ersten und einen zweiten Bildgebungssensor 450a, 450b (z. B. 3D-Tiefenbildgebungssensoren), die auf dem Körper 140 angeordnet sind. Beide Bildgebungssensoren 450a, 450b sind so angeordnet, dass ihr Sichtfeld 452 entlang der Vorwärtsfahrtrichtung F ausgerichtet ist. Der erste Bildgebungssensor 450a ist angeordnet, um seine Bildgebungsachse 455 im Wesentlichen nach unten und weg vom Roboter 100 zu zielen (z. B. um einen Bereich auf dem Boden und/oder um einen unteren Abschnitt des Roboters sehen zu können), um Objekte zu erfassen, bevor sie die Basis 120 oder das Bein 130 berühren. Durch Anwinkeln des ersten 3D-Bildgebungssensors 450a nach unten empfängt der Roboter 100 eine dichte Sensorabdeckung in einem Bereich direkt vor dem oder angrenzend an den Roboter 100, was für Kurzstreckenfahrten des Roboters 100 in der Vorwärtsrichtung relevant ist. Der zweite Bildgebungssensor 450b ist mit seiner Bildgebungsachse 455 im Wesentlichen parallel zum Boden entlang der Vorwärtsfahrtrichtung F zeigend angeordnet (z. B. um Objekte zu erfassen, die auf einen mittleren und/oder oberen Abschnitt des Roboters 100 zukommen). In anderen Beispielen ist der zweite Bildgebungssensor 450b mit seiner Bildgebungsachse 455 über dem Boden oder sogar nach oben weg vom Boden zeigend angeordnet.In the example off 19 includes the robot 100 a first and a second imaging sensor 450a . 450b (eg, 3D depth imaging sensors) on the body 140 are arranged. Both imaging sensors 450a . 450b are arranged so that their field of vision 452 along the forward direction F is aligned. The first imaging sensor 450a is arranged to its imaging axis 455 essentially down and away from the robot 100 to aim (eg to be able to see an area on the ground and / or to view a lower portion of the robot) to capture objects before they reach the base 120 or the leg 130 touch. By angling the first 3D imaging sensor 450a down the robot receives 100 a dense sensor cover in an area directly in front of or adjacent to the robot 100 , what a short-distance ride the robot 100 is relevant in the forward direction. The second imaging sensor 450b is with his imaging axis 455 arranged substantially parallel to the ground along the forward travel direction F (eg, to detect objects placed on a middle and / or upper portion of the robot 100 get). In other examples, the second imaging sensor is 450b with his imaging axis 455 arranged above the ground or even pointing up away from the ground.

Wenn die Bildgebungssensoren 450a, 450b Totzonen 453 aufweisen, kann es vorkommen, dass ein Objekt in der Nähe des oder angrenzend an den Roboter(s) 100 nicht erfasst werden kann. Im Beispiel aus 10A beinhaltet der Roboter 100 einen Bildgebungssensor 450, der auf dem Kopf 160 angeordnet ist und über den Hals 150 geschwenkt und geneigt werden kann. Dadurch kann der Roboter 100 den Bildgebungssensor 450 auf dem Kopf bewegen, um die Totzonen 453 der anderen Bildgebungssensoren 450a, 450b zu sehen, wodurch vollständige oder im Wesentlichen vollständige Sichtfelder 452 um den Roboter 100 zur Objekterfassung bereitgestellt werden. Wenn es nicht möglich ist, einen Bildgebungssensor 450 auf dem Kopf 160 zu platzieren oder wenn ein Bildgebungssensor 450 nicht so bewegt werden kann, dass er die Totzonen 453 sehen kann, können andere Techniken eingesetzt werden, um die Totzonen 453 zu sehen. Zusätzlich zu den Totzonen 453 können einige Objekte innerhalb des Sichtfeldes 452 des Bildgebungssensors 450 aufgrund ihrer Größe, Form, ihres Reflexionsgrads und/oder ihrer Farbe schwer zu erfassen sein. Zum Beispiel sind manchmal stark reflektierende oder spiegelnde Objekte schwer zu erfassen. In anderen Beispielen können sehr dunkle oder schwarze Objekte schwer zu erfassen sein. Ferner können schlanke Objekte (d. h. die ein sehr dünnes Profil aufweisen) schwer zu erfassen sein. Schwer zu erfassende Objekte können leichter erfassbar sein, wenn sie aus mehreren Winkeln betrachtet oder von mehreren Sensoren erkannt werden.If the imaging sensors 450a . 450b dead zones 453 it may happen that an object is near or adjacent to the robot (s) 100 can not be detected. In the example off 10A includes the robot 100 an imaging sensor 450 on his head 160 is arranged and over the neck 150 can be tilted and tilted. This allows the robot 100 the imaging sensor 450 move on the head to the dead zones 453 the other imaging sensors 450a . 450b to see what complete or essentially complete fields of view 452 around the robot 100 be provided for object detection. If it is not possible, an imaging sensor 450 on the head 160 to place or if an imaging sensor 450 can not be moved so that he has the dead zones 453 Other techniques can be used to remove the dead zones 453 to see. In addition to the dead zones 453 can do some objects within the field of view 452 of the imaging sensor 450 difficult to detect due to their size, shape, reflectance and / or color. For example, sometimes highly reflective or specular objects are difficult to detect. In other examples, very dark or black objects may be difficult to detect. Furthermore, slender objects (ie having a very thin profile) may be difficult to detect. Hard-to-detect objects can be more easily detected when viewed from multiple angles or detected by multiple sensors.

In den Beispielen aus 1, 4C und 10A beinhaltet der Roboter einen oder mehrere Sonarnäherungssensor(en) 410 (z. B. 410a410i) der/die so um den Basiskörper 120 angeordnet ist/sind, dass er/sie nach oben zeigt/zeigen (z. B. im Wesentlichen in die Z-Richtung) und optional nach außen von der Z-Achse weg abgewinkelt ist/sind, wodurch ein Erfassungsvorhang 412 um den Roboter 100 erzeugt wird. Die Sonarnäherungssensoren 410 können so angeordnet und ausgerichtet sein, dass sie Objekte innerhalb der Totzone 453 jedes Bildgebungssensors 450 erkennen.In the examples 1 . 4C and 10A the robot includes one or more sonar proximity sensor (s) 410 (eg 410a - 410i ) the / so around the base body 120 is / are arranged to face upwards (eg, substantially in the Z direction) and optionally angled outward away from the Z axis, thereby creating a detection curtain 412 around the robot 100 is produced. The sonar proximity sensors 410 can be arranged and aligned so that they are objects within the dead zone 453 every imaging sensor 450 detect.

In einigen Ausführungen bewegt der Roboter 100 (über die Steuerung 500 oder das Sensorsystem 400) die Bildgebungssensoren 450, 450a, 450b oder schwenkt sie, um die Sichtbarkeit der entsprechenden Totzonen 453 zu erhöhen. Ein Bildgebungssensor 450 kann durch Bewegen seiner zugehörigen Bildgebungsachse 455 in jede beliebige Richtung 360° (+/–180°) gerichtet werden. In some versions, the robot moves 100 (via the controller 500 or the sensor system 400 ) the imaging sensors 450 . 450a . 450b or panning them to the visibility of the corresponding dead zones 453 to increase. An imaging sensor 450 can by moving its associated imaging axis 455 be directed in any direction 360 ° (+/- 180 °).

In einigen Beispielen manövriert sich der Roboter 100 selbst auf dem Boden, um die Bildgebungsachse 455 und das zugehörige Sichtfeld 452 jedes Bildgebungssensors 450 zu bewegen, um eine Wahrnehmung des Raumvolumens zu erhalten, das sich zuvor in einer Totzone 453 befand. Zum Beispiel kann sich der Roboter 100 auf der Stelle schwenken, holonom lateral bewegen, vorwärts oder rückwärts bewegen oder eine Kombination davon durchführen. Wenn der Bildgebungssensor 450 ein eingeschränktes Sichtfeld 452 und/oder einen eingeschränkten Erfassungsbereich 457 aufweist, kann die Steuerung 500 oder das Sensorsystem 400 in zusätzlichen Beispielen den Bildgebungssensor 450 betätigen, um von Seite zu Seite und/oder hoch und runter zu scannen, um ein verhältnismäßig breiteres und/oder höheres Sichtfeld zu erzeugen, um robuste ODOA durchzuführen. Das Schwenken des Bildgebungssensors 450 (durch Bewegen der Bildgebungsachse 455) erhöht ein zugehöriges horizontales und/oder vertikales Sichtfeld, was es dem Bildgebungssensor 450 ermöglicht, nicht nur die gesamte oder einen Abschnitt seiner Totzone 453 zu sehen, sondern auch die Totzone 453 eines anderen Bildgebungssensors 450 auf dem Roboter 100.In some examples, the robot maneuvers 100 even on the ground, around the imaging axis 455 and the associated field of view 452 every imaging sensor 450 to move in order to get a perception of the volume that was previously in a dead zone 453 was. For example, the robot may 100 pivot in place, move holonom laterally, move forwards or backwards, or perform a combination of them. When the imaging sensor 450 a restricted field of view 452 and / or a limited detection area 457 can, the controller can 500 or the sensor system 400 in additional examples, the imaging sensor 450 Press to scan from side to side and / or up and down to create a relatively wider and / or higher field of view to perform robust ODOA. Panning the imaging sensor 450 (by moving the imaging axis 455 ) increases an associated horizontal and / or vertical field of view, which is the imaging sensor 450 allows not just the entire or a section of its deadband 453 to see, but also the dead zone 453 another imaging sensor 450 on the robot 100 ,

In einigen Beispielen kann jeder Bildgebungssensor 450 einen zugehörigen Steller (nicht dargestellt) aufweisen, der den Bildgebungssensor 450 in der Scan-Bewegung bewegt. In zusätzlichen Beispielen beinhaltet der Bildgebungssensor 450 einen zugehörigen rotierenden Spiegel, ein Prisma, einen Mikrospiegel mit variablem Winkel oder ein MEMS-Spiegel-Array, um das Sichtfeld 452 und/oder den Erfassungsbereich 457 des Bildgebungssensors 450 zu vergrößern.In some examples, any imaging sensor may 450 an associated actuator (not shown) containing the imaging sensor 450 moved in the scanning motion. In additional examples, the imaging sensor includes 450 an associated rotating mirror, a prism, a variable angle micromirror, or a MEMS mirror array around the field of view 452 and / or the coverage area 457 of the imaging sensor 450 to enlarge.

Im Beispiel aus 20 schwenkt der Körper 140 auf dem Bein 130 um die Z-Achse, um es dem Roboter 100 zu ermöglichen, einen auf dem Körper 140 angeordneten Bildgebungssensor 450 im Verhältnis zu der durch die Basis 120 definierten Vorwärtsfahrtrichtung F zu bewegen. In einigen Beispielen schwenkt das Bein 130 um die Z-Achse und bewegt so den Körper 140 um die Z-Achse. In beiden Beispielen rotiert ein Steller 138 (wie eine Schwenkeinheit), der mit der Steuerung 500 in Kommunikation steht, den Körper 140 im Verhältnis zur Basis 120 (z. B. durch Rotieren des Körpers 140 im Verhältnis zum Bein 130 und/oder Rotieren des Beins 130 im Verhältnis zu der Basis 120). Der rotierende Körper 140 bewegt den Bildgebungssensor 450 in einer Schwenkbewegung um die Z-Achse und stellt so ein Sichtfeld 452 von bis zu 360° um den Roboter 100 bereit. Der Roboter 100 kann den Körper 140 in einem kontinuierlichen 360° Grad oder +/– einen Winkel ≤ von 180° im Verhältnis zur Vorwärtsfahrtrichtung F schwenken.In the example off 20 the body pivots 140 on the leg 130 around the z-axis, to the robot 100 to allow one on the body 140 arranged imaging sensor 450 relative to that by the base 120 defined forward direction to move F. In some examples, the leg pivots 130 around the Z-axis, moving the body 140 around the Z axis. In both examples a steller rotates 138 (like a swivel unit) with the controller 500 is in communication, the body 140 in relation to the base 120 (eg by rotating the body 140 in relation to the leg 130 and / or rotating the leg 130 relative to the base 120 ). The rotating body 140 moves the imaging sensor 450 in a pivotal movement about the Z-axis and thus provides a field of view 452 up to 360 ° around the robot 100 ready. The robot 100 can the body 140 in a continuous 360 ° degree or +/- an angle ≤ of 180 ° in relation to the forward direction F pivot.

Mit Bezugnahme auf 21 beinhaltet der Roboter 100 in einigen Ausführungen einen Totzonensensor 490, der mit jedem Bildgebungssensor 450 verbunden und so angeordnet ist, dass er Objekte in der Totzone 453 des zugehörigen Bildgebungssensors 450 erkennt. Der Totzonensensor 490 kann ein Sonarsensor, eine Kamera, ein Ultraschallsensor, LIDAR, LADAR, ein optischer Sensor, ein Infrarotsensor usw. sein. Im dargestellten Beispiel ist der Totzonensensor 490 so angeordnet, dass sein Sichtfeld 492 die Totzone 453 umgibt oder im Wesentlichen umgibt. 22 stellt eine Draufsicht eines Roboters 100 mit einem Totzonensensor 490, der auf dem Körper 140 angrenzend an den Bildgebungssensor 450 und mit seinem Sichtfeld 492 in die Totzone 453 hineinreichend angeordnet ist, bereit. Im dargestellten Beispiel ist das Totzonensichtfeld 492 im Wesentlichen in der Totzone 453 zentriert; andere Anordnungen (z. B. nicht zentriert) sind jedoch ebenfalls möglich.With reference to 21 includes the robot 100 in some embodiments, a dead zone sensor 490 that with every imaging sensor 450 connected and arranged so that he objects in the dead zone 453 of the associated imaging sensor 450 recognizes. The dead zone sensor 490 may be a sonar sensor, a camera, an ultrasonic sensor, LIDAR, LADAR, an optical sensor, an infrared sensor, etc. In the example shown, the deadband sensor is 490 arranged so that his field of vision 492 the dead zone 453 surrounds or substantially surrounds. 22 represents a top view of a robot 100 with a dead zone sensor 490 on the body 140 adjacent to the imaging sensor 450 and with his field of vision 492 in the dead zone 453 is arranged in sufficient, ready. In the example shown, the deadzone field of view is 492 essentially in the dead zone 453 centered; however, other arrangements (eg, not centered) are also possible.

23 zeigt einen beispielhaften Roboter 100 mit einem Array an Totzonensensoren 490, das auf einem vorderen Abschnitt 147 des Körpers 140 angeordnet ist. Das Array an Totzonensensoren 490 stellt nicht nur eine Abdeckung der dargestellten Totzone 453 bereit sondern auch zusätzlicher Bereiche um den Roboter 100, die sich bisher nicht im Sichtfeld eines Sensors befanden (z. B. die Bereiche auf jeder Seite des Sichtfeldes 452 des Bildgebungssensors 450). Das ermöglicht es dem Roboter 100, in der Nähe befindliche Objekte zu erkennen, bevor er sich in sie bewegt oder dreht. 23 shows an exemplary robot 100 with an array of deadband sensors 490 on a front section 147 of the body 140 is arranged. The array of deadband sensors 490 not only provides coverage of the deadband shown 453 ready but also additional areas around the robot 100 that were not in the field of view of a sensor before (eg, the areas on each side of the field of view 452 of the imaging sensor 450 ). That allows the robot 100 to recognize nearby objects before moving or rotating in them.

Im Beispiel aus 24 beinhaltet der Roboter 100 wenigstens einen Langstreckensensor 2190, der angeordnet und konfiguriert ist, um ein Objekt 12, das sich relativ weit vom Roboter 100 entfernt befindet (z. B. > 3 Meter), zu erfassen. Der Langstreckensensor 2190 kann ein Bildgebungssensor 450 sein (z. B. mit Optiken oder einem Zoom-Objektiv, das für die Erfassung auf relativ weite Entfernungen konfiguriert ist). In zusätzlichen Beispielen ist der Langstreckensensor 2190 eine Kamera (z. B. mit einem Zoom-Objektiv), ein Laserentfernungsmesser, LIDAR, RADAR usw. Im dargestellten Beispiel beinhaltet der Roboter 100 vier Langstreckensensoren 2190, die mit zugehörigen Sichtfeldern 2192 entlang der Vorwärts-, Rückwärts-, Rechts- und Linksfahrtrichtungen angeordnet sind. Andere Anordnungen sind ebenfalls möglich.In the example off 24 includes the robot 100 at least one long distance sensor 2190 which is arranged and configured to an object 12 that is relatively far from the robot 100 away (eg> 3 meters). The long-distance sensor 2190 can be an imaging sensor 450 (eg, with optics or a zoom lens configured to capture at relatively long distances). In additional examples, the long-distance sensor is 2190 a camera (eg, with a zoom lens), a laser range finder, LIDAR, RADAR, etc. In the example shown, the robot includes 100 four Long-range sensors 2190 with associated fields of view 2192 along the forward, backward, right and left driving directions are arranged. Other arrangements are also possible.

Die Erfassung von weit entfernten Objekten ermöglicht es dem Roboter 100 (über die Steuerung 500) Navigationsroutinen auszuführen, um dem Objekt auszuweichen, wenn es als Hindernis angesehen wird, oder sich dem Objekt zu nähern, wenn es als Ziel angesehen wird (z. B. Annähern an eine Person, um eine Videokonferenzsitzung auszuführen). Die Wahrnehmung von Objekten außerhalb des Sichtfeldes des/der Bildgebungssensors/-en 450 auf dem Roboter 100 ermöglicht es der Steuerung 500, Bewegungen zu vermeiden, die das erfasste Objekt 12 in eine Totzone 453 platzieren könnten. Wenn sich eine Person bei Personenverfolgungsroutinen aus dem Sichtfeld eines Bildgebungssensors 450 hinaus bewegt, kann der Langstreckensensor 2190 ferner die Person erfassen und es dem Roboter 100 ermöglichen, sich so zu manövrieren, dass er die Person im Sichtfeld 452 des Bildgebungssensors 450 wieder erkennen kann.The detection of distant objects enables the robot 100 (via the controller 500 ) Execute navigation routines to avoid the object when viewed as an obstacle or to approach the object when it is viewed as a destination (eg, approaching a person to perform a videoconference session). The perception of objects outside the field of view of the imaging sensor (s) 450 on the robot 100 allows the controller 500 To avoid movements affecting the captured object 12 in a dead zone 453 could place. When a person is out of the field of view of an imaging sensor in person tracking routines 450 moved out, the long-haul sensor can 2190 furthermore, capture the person and give it to the robot 100 allow maneuvering so that he is the person in the field of vision 452 of the imaging sensor 450 can recognize again.

Mit Bezugnahme auf 25 führt die Steuerung 500 in einigen Ausführungen ein Steuerungssystem 510 aus, das ein Steuerungsarbitrationssystem 510a und ein Verhaltenssytem 510b beinhaltet, die miteinander in Kommunikation stehen. Das Steuerungsarbitrationssystem 510a ermöglicht das dynamische Hinzufügen und Entfernen von Anwendungen 520 zum/aus dem Steuerungssystem 510 und erleichtert es Anwendungen 520, den Roboter 100 zu steuern, ohne dabei von anderen Anwendungen 520 wissen zu müssen. Mit anderen Worten, das Steuerungsarbitrationssystem 510a stellt einen einfachen, priorisierten Steuerungsmechanismus zwischen Anwendungen 520 und Ressourcen 530 des Roboters 100 bereit. Die Ressourcen 530 können das Antriebssystem 200, das Sensorsystem 400 und/oder beliebige Traglasten oder steuerbare Geräte, die mit der Steuerung 500 in Kommunikation stehen, beinhalten.With reference to 25 leads the controller 500 in some versions a control system 510 This is a control arbitration system 510a and a behavioral system 510b involves communicating with each other. The control arbitration system 510a allows dynamic addition and removal of applications 520 to / from the control system 510 and makes it easier to use 520 , the robot 100 to steer, without losing other applications 520 to know. In other words, the control arbitration system 510a provides a simple, prioritized control mechanism between applications 520 and resources 530 of the robot 100 ready. The resources 530 can the drive system 200 , the sensor system 400 and / or any payloads or controllable devices associated with the controller 500 in communication.

Die Anwendungen 520 können im Speicher gespeichert oder an den Roboter 100 kommuniziert werden, um gleichzeitig ausgeführt zu werden (z. B. auf einem Prozessor) und den Roboter 100 zu steuern. Die Anwendungen 520 können auf Verhalten 600 des Verhaltenssystems 510b zugreifen. Die unabhängig eingesetzten Anwendungen 520 werden während des Betriebs dynamisch kombiniert, um Roboterressourcen 530 (z. B. Antriebssystem 200, Arm(e), Kopf/Köpfe usw.) des Roboters 100 zu teilen. Eine Niedrigniveaustrategie wird implementiert, um die Roboterressourcen 530 während des Betriebs dynamisch unter den Anwendungen 520 aufzuteilen. Die Strategie bestimmt, welche Anwendung 520 die Roboterressourcen 530 steuert, die für die Anwendung 520 erforderlich sind (z. B. eine Prioritätenhirarchie unter den Anwendungen 520). Die Anwendungen 520 können dynamisch beginnen und enden und vollkommen unabhängig voneinander ausgeführt werden. Das Steuerungssystem 510 ermöglicht außerdem komplexe Verhalten 600, die miteinander kombiniert werden können, um einander zu unterstützen.The applications 520 can be stored in memory or sent to the robot 100 be communicated to be executed simultaneously (eg on a processor) and the robot 100 to control. The applications 520 can on behavior 600 of the behavioral system 510b access. The independently used applications 520 are dynamically combined during operation to robot resources 530 (eg drive system 200 , Arm (s), head / heads, etc.) of the robot 100 to share. A low level strategy is implemented to control the robot resources 530 during operation dynamically among the applications 520 divide. The strategy determines which application 520 the robot resources 530 controls that for the application 520 required (for example, a hierarchy of priorities among the applications 520 ). The applications 520 can start and end dynamically and run completely independently of each other. The control system 510 also allows complex behavior 600 that can be combined with each other to support each other.

Das Steuerungsarbitrationssystem 510a beinhaltet eine oder mehrere Ressourcensteuerung(en) 540, einen Robotermanager 550 und einen oder mehrere Steuerungsarbiter 560. Diese Komponenten müssen nicht in einem herkömmlichen Prozess oder Computer sein und müssen nicht in einer bestimmten Reihenfolge gestartet werden. Die Ressourcensteuerungskomponente 540 stellt eine Schnittstelle mit dem Steuerungsarbitrationssystem 510a für Anwendungen 520 bereit. Für jede Anwendung 520 gibt es eine Instanz dieser Komponente. Die Ressourcensteuerung 540 abstrahiert und verbirgt die Komplexitäten der Authentifikation, verteilter Ressourcensteuerungsarbiter, Befehlspufferung und dergleichen. Der Robotermanager 550 koordiniert die Priorisierung von Anwendungen 520 indem er steuert, welche Anwendung 520 zu einem bestimmten jeweiligen Zeitpunkt exklusive Kontrolle über jede beliebige der Roboterressourcen 530 hat. Da es sich dabei um den zentralen Informationskoordinator handelt, gibt es pro Roboter nur eine Instanz des Robotermanagers 550. Der Robotermanager 550 implementiert eine Prioritätenstrategie, die eine linear priorisierte Reihenfolge der Ressourcensteuerungen 540 aufweist und die Ressourcensteuerungsarbiter 560, die Hardware-Steuerung bereitstellen, verfolgt. Der Steuerungsarbiter 560 empfängt die Befehle von jeder Anwendung 520 und erzeugt basierend auf den Prioritäten der Anwendungen einen einzigen Befehl und veröffentlicht diesen für die zugehörigen Ressourcen 530. Der Steuerungsarbiter 560 empfängt außerdem Zustands-Feedback von den zugehörigen Ressourcen 530 und sendet diese zurück an die Anwendungen 520. Die Roboterressourcen 530 können unter Umständen ein Netzwerk an Funktionsmodulen (z. B. Steller, Antriebssysteme und Gruppen davon) mit einer oder mehreren Hardware-Steuerung(en) bilden. Die Befehle des Steuerungsarbiters 560 sind spezifisch für die Ressource 530, um spezifische Handlungen auszuführen.The control arbitration system 510a includes one or more resource controls 540 , a robot manager 550 and one or more control arbiters 560 , These components do not have to be in a conventional process or computer and do not have to be started in a specific order. The resource control component 540 provides an interface with the control arbitration system 510a for applications 520 ready. For every application 520 is there an instance of this component. The resource control 540 abstract and hide the complexities of authentication, distributed resource control arbiter, command buffering, and the like. The robot manager 550 coordinates the prioritization of applications 520 by controlling which application 520 exclusive control over any of the robotic resources at any given time 530 Has. Since this is the central information coordinator, there is only one instance of the robot manager per robot 550 , The robot manager 550 implements a priority strategy, which is a linear prioritized order of resource controls 540 and the resource control arbiter 560 , which provide hardware control, tracked. The control arbiter 560 receives the commands from each application 520 and generates a single command based on the priorities of the applications and publishes them for the associated resources 530 , The control arbiter 560 also receives state feedback from the associated resources 530 and send them back to the applications 520 , The robot resources 530 may be a network of functional modules (eg, actuators, drive systems and groups thereof) with one or more hardware controllers. The commands of the control arbiter 560 are specific to the resource 530 to perform specific actions.

Ein Dynamikmodell 570, das auf der Steuerung 500 ausgeführt werden kann, kann konfiguriert sein, um den Schwerpunkt (CG), Trägheitsmomente und Kreuzprodukte von Trägheit verschiedener Abschnitte des Roboters 100 zu errechnen, um einen aktuellen Roboterzustand zu bewerten. Das Dynamikmodell 570 kann außerdem die Formen, das Gewicht und/oder die Trägheitsmomente dieser Komponenten nachempfinden. In einigen Beispielen kommuniziert das Dynamikmodell 570 mit einer Trägheitsmomenteinheit 470 (engl.: inertial moment unit, IMU) oder Abschnitten davon (z. B. Beschleunigungsmessern und/oder Gyroskopen), die auf dem Roboter 100 angeordnet ist und mit der Steuerung 500 in Kommunikation steht, um die verschiedenen Schwerpunkte des Roboters 100 zu errechnen. Das Dynamikmodell 570 kann von der Steuerung 500 neben anderen Programmen 520 oder Verhalten 600 verwendet werden, um Betriebsgrenzen des Roboters 100 und seiner Komponenten zu bestimmen.A dynamic model 570 that on the controller 500 can be configured to the center of gravity (CG), moments of inertia and cross products of inertia of different sections of the robot 100 to calculate to assess a current robot state. The dynamics model 570 In addition, it can simulate the shapes, the weight and / or the moments of inertia of these components. In some examples, the dynamics model communicates 570 with an inertia moment unit 470 (English: inertial moment unit, IMU) or sections thereof (eg, accelerometers and / or gyroscopes) placed on the robot 100 is arranged and with the controller 500 is in communication with the different focuses of the robot 100 to calculate. The dynamics model 570 can from the controller 500 in addition to other programs 520 or behavior 600 used to limit operating limits of the robot 100 and its components.

Jede Anwendung 520 verfügt über einen Aktionsauswahl-Engine 580 und eine Ressourcensteuerung 540, ein oder mehrere Verhalten 600, das/die mit dem Aktionsauswahl-Engine 580 verbunden ist/sind, und ein oder mehrere Aktionsmodell(e) 590, das/die mit dem Aktionsauswahl-Engine 580 verbunden ist/sind. Das Verhaltenssystem 510b stellt voraussagende Modellierung bereit und ermöglicht es den Verhalten 600, gemeinschaftlich über die Aktionen des Roboters zu entscheiden, indem mögliche Ergebnisse von Roboterhandlungen bewertet werden. In einigen Beispielen ist ein Verhalten 600 eine Plug-in-Komponente, die eine hierarchische, vollständige Bewertungsfunktion bereitstellt, die Sensoren-Feedback von mehreren Quellen mit a priori Grenzen und Informationen in Bewertungs-Feedback über die zulässigen Handlungen des Roboters zusammenfasst. Da die Verhalten 600 in die Anwendung 520 „eingesteckt” werden können (z. B. in oder außerhalb der Anwendung 520 residieren können), können sie entfernt oder hinzugefügt werden, ohne dass die Anwendung 520 oder ein beliebiger anderer Teil des Steuerungssystems 510 modifiziert werden muss/müssen. Jedes Verhalten 600 ist eine eigenständige Strategie. Um Verhalten 600 leistungsstärker zu machen, ist es möglich, die Ausgabe verschiedener Verhalten 600 zusammen in die Eingabe einer anderen zu verbinden, sodass komplexe Kombinationsfunktionen möglich sind. Die Verhalten 600 dienen dazu, kontrollierbare Abschnitte der Gesamtwahrnehmung des Roboters 100 zu implementieren.Every application 520 has an action selection engine 580 and a resource control 540 , one or more behavior 600 using the action selection engine 580 is / are connected, and one or more action model (s) 590 using the action selection engine 580 is connected / are. The behavior system 510b Provides predictive modeling and allows behavior 600 to jointly decide on the actions of the robot by evaluating possible results of robotic actions. In some examples is a behavior 600 a plug-in component that provides a hierarchical, full score function that combines sensor feedback from multiple sources with a priori limits and information into feedback feedback on the allowed actions of the robot. Because the behavior 600 in the application 520 "Plugged in" (eg inside or outside the application 520 They can be removed or added without the application 520 or any other part of the control system 510 must / must be modified. Every behavior 600 is an independent strategy. To behavior 600 To make it more powerful, it is possible to output different behavior 600 combine together to enter another, allowing for complex combination functions. The behavior 600 serve to controllable sections of the overall perception of the robot 100 to implement.

Der Aktionsauswahl-Engine 580 ist das koordinierende Element des Steuerungssystems 510 und führt einen schnellen, optimierten Aktionsauswahlzyklus (Vorhersage-/Korrektionszyklus) aus, der angesichts der Eingaben aller Verhalten 600 nach der besten Handlung sucht. Der Aktionsauswahl-Engine 580 hat drei Phasen: Nominierung, Aktionsauswahlsuche und Fertigstellung. In der Nominierungsphase wird jedes Verhalten 600 benachrichtigt, dass der Aktionsauswahlzyklus begonnen hat, und über die Zyklusstartzeit, den Zykluszustand und die Grenzen des Roboterstellerraums informiert. Basierend auf internen Richtlinien oder externer Eingabe entscheidet jedes Verhalten 600, ob es an diesem Aktionsauswahlzyklus teilnehmen will oder nicht. Während dieser Phase wird eine Liste aktiver Verhaltensprimitiven erzeugt, deren Eingabe die Auswahl von auf dem Roboter 100 auszuführenden Befehlen beeinflussen wird.The action selection engine 580 is the coordinating element of the control system 510 and performs a fast, optimized action selection cycle (prediction / correction cycle), given the input of all behavior 600 looking for the best act. The action selection engine 580 has three phases: nomination, action selection search and completion. In the nomination phase is every behavior 600 notifies that the action selection cycle has started, and informs about the cycle start time, the cycle state, and the limits of the robot controller space. Every behavior is decided on the basis of internal guidelines or external input 600 whether it wants to participate in this action selection cycle or not. During this phase, a list of active behavioral primitives is generated, the input of which selects on the robot 100 will affect commands to be executed.

In der Aktionsauswahlsuchphase erzeugt der Aktionsauswahl-Engine 580 mögliche Ergebnisse aus dem Bereich verfügbarer Aktionen, der auch als Aktionsbereich bezeichnet wird. Der Aktionsauswahl-Engine 580 verwendet die Aktionsmodelle 590, um als Ergebnis der Aktionssimulation jedes Befehls in verschiedenen Zeitschritten mit einem Zeithorizont in der Zukunft eine Auswahl an möglichen Befehlen (innerhalb der Einschränkungen) und entsprechenden Ergebnissen bereitzustellen. Der Aktionsauswahl-Engine 580 berechnet basierend auf den Ergebnisbewertungen der Verhalten 600 ein bevorzugtes Ergebnis und sendet den entsprechenden Befehl an das Steuerungsarbitrationssystem 510a und benachrichtigt das Aktionsmodell 590 als Feedback über den ausgewählten Befehl.In the action selection search phase, the action selection engine generates 580 possible results from the range of available actions, also known as action area. The action selection engine 580 uses the action models 590 to provide a set of possible commands (within constraints) and corresponding results as a result of action simulation of each command at different time intervals with a time horizon in the future. The action selection engine 580 calculated based on the result scores of the behavior 600 a preferred result and sends the appropriate command to the control arbitration system 510a and notifies the action model 590 as feedback about the selected command.

In der Fertigstellungsphase werden die Befehle, die einem kollaborativen bestbewerteten Ergebnis entsprechen, zu einem Gesamtbefehl kombiniert, der zur Ausführung auf den Roboterressourcen 530 an die Ressourcensteuerung 540 bereitgestellt wird. Das beste Ergebnis wird als Feedback an die aktiven Verhalten 600 bereitgestellt, um in zukünftigen Bewertungszyklen verwendet zu werden.In the completion phase, the commands that correspond to a collaborative best scoring result are combined into a total command that executes on the robot resources 530 to the resource control 540 provided. The best result is as feedback to the active behavior 600 provided to be used in future evaluation cycles.

Vom Sensorsystem 400 empfangene Sensorsignale können Interaktionen mit einem oder mehreren Verhalten 600 verursachen, um Aktionen auszuführen. Zum Beispiel wählt die Steuerung 500 unter Verwendung des Steuerungssystems 510 eine Aktion (oder einen Bewegungsbefehl) für jede Roboterkomponente (z. B. den Motor oder Steller) aus einem entsprechenden Aktionsbereich (z. B. einer Sammlung an möglichen Aktionen oder Bewegungen für diese jeweilige Komponente) aus, um auf eine effiziente Weise, die Kollisionen mit sich selbst oder beliebigen anderen Objekten um den Roboter 100, von denen der Roboter 100 Kenntnis hat, vermeidet, eine koordinierte Bewegung jeder Roboterkomponente auszulösen. Die Steuerung 500 kann über das Roboternetzwerk, wie das EtherIO-Netzwerk, einen koordinierten Befehl ausgeben.From the sensor system 400 received sensor signals may interact with one or more behaviors 600 cause to perform actions. For example, the controller selects 500 using the control system 510 For example, an action (or move command) for each robotic component (eg, the motor or actuator) from a corresponding action area (eg, a collection of possible actions or moves for that particular component) in an efficient manner Collisions with yourself or any other objects around the robot 100 of which the robot 100 Has knowledge, avoids to trigger a coordinated movement of each robot component. The control 500 can issue a coordinated command via the robotic network, such as the EtherIO network.

Das Steuerungssystem 510 kann adaptive Geschwindigkeit/Beschleunigung des Antriebssystems 200 bereitstellen (z. B. über ein oder mehrere Verhalten 600), um die Stabilität des Roboters 100 in verschiedenen Konfigurationen/Positionen zu maximieren, während der Roboter 100 durch einen Bereich manövriert.The control system 510 can adaptive speed / acceleration of the drive system 200 provide (for example, one or more behaviors 600 ) to the stability of the robot 100 in different configurations / maximize positions while the robot 100 maneuvered through an area.

In einigen Ausführungen gibt die Steuerung 500 Befehle an das Antriebssystem 200 aus, die den Roboter 100 gemäß einer Kurseinstellung und einer Geschwindigkeitseinstellung antreiben. Ein oder mehrere Verhalten 600 kann/können vom Sensorsystem 400 empfangene Signale verwenden, um vorhergesagte Ergebnisse von möglichen Befehlen zu bewerten, von denen einer zur Ausführung ausgewählt werden kann (einzeln oder in Kombination mit anderen Befehlen als Gesamtroboterbefehl), um auf Hindernisse zu reagieren. Zum Beispiel können Signale von den Näherungssensoren 410 das Steuerungssystem 510 veranlassen, die befohlene Geschwindigkeit oder den Kurs des Roboters 100 zu ändern. Zum Beispiel kann ein durch eine in der Nähe befindliche Wand ausgelöstes Signal vom Näherungssensor 410 dazu führen, dass das Steuerungssystem 510 einen Befehl zum Abbremsen ausgibt. In einem anderen Fall kann ein durch eine Begegnung mit einem Stuhl ausgelöstes Kollisionssignal vom/von den Kontaktsensor(en) das Steuerungssystem 510 veranlassen, einen Befehl zur Änderung des Kurses auszugeben. In anderen Fällen kann es vorkommen, dass die Geschwindigkeitseinstellung des Roboters 100 als Reaktion auf den Kontaktsensor nicht verringert wird; und/oder dass die Kurseinstellung des Roboters 100 als Reaktion auf den Näherungssensor 410 nicht geändert wird. In some versions, the controller gives 500 Commands to the drive system 200 out the robot 100 according to a course setting and speed setting. One or more behavior 600 can / can from the sensor system 400 use received signals to evaluate predicted results from possible commands, one of which may be selected for execution (singly or in combination with other commands as a total robotic command) to respond to obstacles. For example, signals from the proximity sensors 410 the control system 510 induce the commanded speed or the course of the robot 100 to change. For example, a signal triggered by a nearby wall may be from the proximity sensor 410 cause the control system 510 Issues a command to decelerate. In another case, a collision signal from / from the contact sensor (s) triggered by an encounter with a chair may affect the control system 510 cause to issue a command to change the course. In other cases, it may happen that the speed setting of the robot 100 is not reduced in response to the contact sensor; and / or that the course setting of the robot 100 in response to the proximity sensor 410 not changed.

Das Verhaltenssystem 510b kann ein Kartierungsverhalten 600a zum Erstellen einer Belegungskarte 1700, ein Objekterfassungs-/Hindernisausweich-(ODOA)-verhalten 600b, ein Geschwindigkeitsverhalten 600c (z. B. eine auf einem Prozessor ausführbare Verhaltensroutine), die konfiguriert ist, um die Geschwindigkeitseinstellung des Roboters 100 anzupassen, und ein Kursverhalten 600d, das konfiguriert ist, um die Kurseinstellung des Roboters 100 zu verändern, beinhalten. Die Geschwindigkeits- und Kursverhalten 600c, 600d können konfiguriert sein, um gleichzeitig und unabhängig voneinander ausgeführt zu werden. Zum Beispiel kann das Geschwindigkeitsverhalten 600c konfiguriert sein, um einen der Sensoren (z. B. den Satz/die Sätze an Näherungssensoren 410, 420) abzufragen, und das Kursverhalten 600d kann konfiguriert sein, um einen anderen Sensor (z. B. den kinetischen Bodenwellensensor) abzufragen.The behavior system 510b can be a mapping behavior 600a to create an occupancy card 1700 , an object detection / obstacle avoidance (ODOA) behavior 600b , a speed behavior 600c (eg, a processor executable behavior routine) configured to adjust the speed setting of the robot 100 adapt, and a price behavior 600d , which is configured to the course setting of the robot 100 to change. The speed and price behavior 600c . 600d can be configured to run concurrently and independently. For example, the speed behavior 600c be configured to detect one of the sensors (eg, the set / sets of proximity sensors 410 . 420 ) and price behavior 600d may be configured to interrogate another sensor (eg, the kinetic ground wave sensor).

Mit Bezugnahme auf 25 und 26A26D kann sich der Roboter 100 in einigen Ausführungen auf seine Fähigkeit, seinen lokal wahrgenommenen Raum 2100 (d. h. den Raum um den Roboter 100, wie er vom Sensorsystem 400 wahrgenommen wird) zu erkennen, verlassen und eine Objekterfassungs- und Objektvermeidungs-(ODOA)-strategie ausführen, um an einen Zielstandort zu navigieren. Das Sensorsystem 400 kann Sensordaten einschließlich dreidimensionalen Tiefenbilddaten, die von einem Gerät 450 zur Bildgebung volumetrischer Punktwolken, das auf dem Roboter 100 positioniert ist, um eine Punktwolke von einem an den Roboter 100 angrenzenden Raumvolumen zu erfassen, bereitstellen. Zum Beispiel kann das Gerät 450 zur Bildgebung volumetrischer Punktwolken in einer Höhe von mehr als 60,96 cm (2 Fuß) über dem Boden auf dem Roboter 100 positioniert und so ausgerichtet sein, dass es eine Punktwolke von einem Raumvolumen erfassen kann, das eine Bodenebene G in einer Bewegungsrichtung des Roboters 100 beinhaltet.With reference to 25 and 26A - 26D can the robot 100 in some embodiments, on his ability to perceive his locally perceived space 2100 (ie the space around the robot 100 as he is from the sensor system 400 is detected), and execute an object detection and object avoidance (ODOA) strategy to navigate to a destination location. The sensor system 400 can capture sensor data including three-dimensional depth image data from a device 450 for imaging volumetric point clouds on the robot 100 is positioned to make a point cloud from one to the robot 100 provide adjacent room volume. For example, the device may 450 for imaging volumetric point clouds at a height greater than 2 feet above the ground on the robot 100 be positioned and aligned so that it can detect a point cloud of a volume of space, which is a ground plane G in a direction of movement of the robot 100 includes.

Der Roboter 100 (z. B. das Steuerungssystem 510 aus 25) kann seinen lokal wahrgenommenen Raum 2100 in drei Kategorien klassifizieren: Hindernisse (schwarz) 2102, unbekannt (grau) 2104 und bekannt frei (weiß) 2106. Hindernisse 2102 sind beobachtete (z. B. erkannte) Punkte über dem Boden G, die unter einer Höhe des Roboters 100 liegen und beobachtete Punkte unter dem Boden G (z. B. Löcher, Stufen nach unten usw.). Bekannt frei 2106 entspricht Bereichen, in denen die 3D-Sensoren 450 den Boden G sehen können. Daten von einigen oder allen Sensoren im Sensorsystem 400 können zu einem diskretisierten 3D-Voxelgitter kombiniert werden. Das 3D-Gitter kann anschließend analysiert und in ein 2D-Gitter 2101 mit drei lokalen wahrnehmbaren Raumklassifizierungen konvertiert werden. 26A zeigt eine beispielhafte schematische Ansicht des lokal wahrgenommenen Raums 2100 des Roboters 100, während dieser stationär ist. Die Informationen im 3D-Voxelgitter sind beständig, verfallen jedoch im Laufe der Zeit, wenn sie nicht verstärkt werden (z. B. durch frische Sensordaten). Wenn sich der Roboter 100 bewegt, hat er durch die Beständigkeit einen größeren bekannten freien Bereich 2106, in dem er navigieren kann. Die volumetrischen Punktwolkendaten des 3D-Bildgebungssensors 450 können nach einem Grenzzeitraum, wie Millisekunden bis Sekunden, ablaufen, sodass flüchtige oder etwas ältere Objekte in der Umgebung (z. B. gehende Menschen, Sensorartifakte usw.) nicht für die lokale Pfadplanung verwendet werden.The robot 100 (eg the control system 510 out 25 ) can its locally perceived space 2100 classify into three categories: obstacles (black) 2102 , unknown (gray) 2104 and known free (white) 2106 , obstacles 2102 are observed (for example, detected) points above the ground G, which are below a height of the robot 100 lie and observed points below the ground G (eg holes, steps down, etc.). Free known 2106 corresponds to areas where the 3D sensors 450 can see the ground G. Data from some or all sensors in the sensor system 400 can be combined into a discretized 3D voxel mesh. The 3D grid can then be analyzed and converted into a 2D grid 2101 be converted with three local perceptible space classifications. 26A shows an exemplary schematic view of the locally perceived space 2100 of the robot 100 while this is stationary. The information in the 3D voxel grid is persistent but decays over time if not amplified (eg, by fresh sensor data). When the robot 100 moved, it has a larger known free area due to the resistance 2106 in which he can navigate. The volumetric point cloud data of the 3D imaging sensor 450 can expire after a threshold period, such as milliseconds to seconds, so that volatile or slightly older objects in the environment (eg, walking people, sensor artifacts, etc.) are not used for local path planning.

Wenn der 3D-Bildgebungssensor 450 eine Totzone 453 (2024) aufweist und sich der Roboter 100 direkt neben ein nicht flüchtiges Objekt 12 manövriert, das sich vollständig in der Totzone 453 befindet (26A), kann es das Steuerungssystem 510 erlauben, dass die diesem nicht flüchtigen Objekt 12 zugehörigen Sensordaten ablaufen und das Objekt 12 demnach zu Navigationszwecken nicht mehr als Hindernis 2102 erkannt wird. Wenngleich andere Sensoren des Sensorsystems 400, wie der/die Totzonensensor(en) 490, in der Lage sein können, das Objekt 12 zu erkennen, kann das Steuerungssystem 510 eine ODOA-Strategie ausführen, die den Datenablauf für mit diesem Objekt 12 in der Totzone 453 verbundenen Sensordaten aussetzt.If the 3D imaging sensor 450 a dead zone 453 ( 20 - 24 ) and the robot 100 next to a non-volatile object 12 maneuvered, which is completely in the dead zone 453 located ( 26A ), it can be the control system 510 allow that non-volatile object 12 associated sensor data expire and the object 12 therefore no longer as an obstacle for navigation purposes 2102 is recognized. Although other sensors of the sensor system 400 how the dead zone sensor (s) 490 to be able to make the object 12 To recognize, the control system can 510 Run an ODOA strategy that checks the data flow for this object 12 in the dead zone 453 suspended sensor data.

Zum Beispiel kann das Steuerungssystem 510 den Datenablauf für Sensordaten, die normalerweise nach einem Grenzzeitraum ablaufen und mit Hindernissen 2102 (z. B. Objekten 12) im lokal wahrnehmbaren Raum 2100 verbunden sind, aussetzen, wenn das Hindernis 2102 als sich in der Totzone 453 oder einem Bereich direkt neben dem Roboter 100 befindend erkannt wird. Das Steuerungssystem 510 kann das Vorhandensein eines Objekts 12, das dem Hindernis 2102 in der Totzone 453 entspricht, unter Verwendung eines oder mehrerer Totzonensensors/-en 490 oder eines anderen Sensors/anderer Sensoren des Sensorsystems 400 als nahe Sensoren bestimmen. Das Steuerungssystem 510 kann es erlauben, dass mit diesem Objekt 12 verbundene Sensordaten erst dann erneut verfallen oder ablaufen nachdem sich der Roboter 100 von diesem Standort wegbewegt hat und/oder der/die Totzonensensor(en) 490 erkennt/erkennen, dass sich das Objekt 12 aus der Totzone 453 bewegt hat. Dies ermöglicht es dem Steuerungssystem 510, Objekterfassungs-/Hindernisvermeidungs-(ODOA)-Navigationsstrategien auszuführen, die die Möglichkeit eines Hindernisses in der Totzone 453 des Roboters 100 in Betracht ziehen. For example, the control system 510 the data flow for sensor data, which normally takes place after a boundary period and with obstacles 2102 (eg objects 12 ) in the locally perceptible space 2100 are connected, suspend when the obstacle 2102 when in the dead zone 453 or an area next to the robot 100 is detected. The control system 510 can be the presence of an object 12 that the obstacle 2102 in the dead zone 453 using one or more dead band sensors 490 or another sensor (s) of the sensor system 400 as close sensors determine. The control system 510 can allow that with this object 12 Connected sensor data only expire again or expire after the robot 100 moved away from this location and / or the dead zone sensor (s) 490 recognize / recognize that the object 12 from the dead zone 453 has moved. This allows the control system 510 Perform object detection / obstacle avoidance (ODOA) navigation strategies that reduce the possibility of an obstruction in the dead zone 453 of the robot 100 consider.

Eine Objekterfassungs-/Hindernisvermeidungs-(ODOA)-Navigationsstrategie für das Steuerungssystem 510 kann entweder das Annehmen oder Ablehnen potenzieller Roboterpositionen, die sich aus Befehlen ergeben würden, beinhalten. Potenzielle Roboterpfade 2110 können viele Ebenen tief mit verschiedenen Befehlen und sich daraus ergebenden Roboterpositionen auf jeder Ebene erzeugt werden. 26B zeigt eine beispielhafte schematische Ansicht des lokal wahrgenommenen Raums 2100 des Roboters 100, während sich dieser bewegt. Ein ODOA-Verhalten 600b (25) kann jeden vorhergesagten Roboterpfad 2110 bewerten. Diese Bewertungen können vom Aktionsauswahl-Engine 580 verwendet werden, um ein bevorzugtes Ergebnis und einen zugehörigen Roboterbefehl zu bestimmen. Zum Beispiel kann das ODOA-Verhalten 600b für jede Roboterposition 2120 im Roboterpfad 2110 ein Verfahren zur Objekterfassung und Hindernisvermeidung ausführen, welches das Identifizieren jeder Zelle 2103 im Gitter 2101, das in einer Grenzform 2107 (z. B. Kollisionsbox, Dreieck oder Kreis) um eine entsprechende Position 2120 des Roboters 100 liegt, und das Empfangen einer Klassifizierung jeder Zelle 2103 beinhaltet. Für jede Zelle 2103, die als Hindernis 2102 oder unbekannt 2104 klassifiziert ist, wird ein Gitterpunkt 2105, der der Zelle 2103 entspricht, abgerufen und eine Kollisionsprüfung ausgeführt, indem bestimmt wird, ob sich der Gitterpunkt 2105 innerhalb einer Grenzform 2107 (z. B. einem Kollisionskreis) um einen Standort 2120 des Roboters 100 befindet. Wenn der Gitterpunkt 2105 innerhalb der Grenzform 2107 liegt, beinhaltet das Verfahren ferner das Ausführen eines Dreieckstests, bei dem bestimmt wird, ob der Gitterpunkt 2105 innerhalb einer als Dreieck geformten Grenzform 2107 liegt (z. B. kann der Roboter 100 als Dreieck ausgebildet sein). Wenn sich der Gitterpunkt 2105 im Kollisionsdreieck 2107 befindet, beinhaltet das Verfahren das Ablehnen des Gitterpunkts 2105. Wenn die Roboterposition 2120 in einem Sensorsystemsichtfeld 405 von übergeordneten Gitterpunkten 2105 auf dem Roboterpfad 2110 liegt, werden „unbekannte” Gitterpunkte 2105 ignoriert, da angenommen wird, dass diese Gitterpunkte 2105 bekannt sein werden, wenn der Roboter 100 sie erreicht.An object detection / obstacle avoidance (ODOA) navigation strategy for the control system 510 may include either accepting or rejecting potential robot positions that would result from commands. Potential robot paths 2110 Many levels can be created deep with different commands and resulting robot positions on each level. 26B shows an exemplary schematic view of the locally perceived space 2100 of the robot 100 while it is moving. An ODOA behavior 600b ( 25 ) can be any predicted robot path 2110 rate. These ratings can be from the action selection engine 580 used to determine a preferred result and an associated robot command. For example, the ODOA behavior 600b for every robot position 2120 in the robot path 2110 perform a method of object detection and obstacle avoidance, which involves identifying each cell 2103 in the grid 2101 in a borderline form 2107 (eg collision box, triangle or circle) around a corresponding position 2120 of the robot 100 and receiving a classification of each cell 2103 includes. For every cell 2103 that act as an obstacle 2102 or unknown 2104 is classified, becomes a grid point 2105 , the cell 2103 corresponds to, retrieved and executed a collision check by determining whether the grid point 2105 within a borderline form 2107 (eg a collision circle) around a location 2120 of the robot 100 located. When the grid point 2105 within the borderline 2107 In addition, the method further includes performing a triangle test to determine if the grid point 2105 within a triangular shaped border 2107 (for example, the robot can 100 be designed as a triangle). When the grid point 2105 in the collision triangle 2107 the method includes rejecting the grid point 2105 , When the robot position 2120 in a sensor system view field 405 of parent grid points 2105 on the robot path 2110 lies, become "unknown" grid points 2105 ignored because it is assumed that these grid points 2105 will be known when the robot 100 she reaches.

Das Verfahren kann das Bestimmen, ob jedwede Hinderniskollisionen in einem Roboterpfadbereich (der z. B. als Rechteck ausgebildet ist) zwischen aufeinanderfolgenden Roboterpositionen 2120 im Roboterpfad 2110 vorliegen, beinhalten, um Roboterkollisionen während des Übergangs von einer Roboterposition 2120 zur nächsten zu verhindern.The method may include determining whether any obstacle collisions in a robotic path area (formed, for example, as a rectangle) between successive robotic positions 2120 in the robot path 2110 involve robotic collisions during the transition from a robot position 2120 to prevent the next.

26C stellt eine schematische Ansicht des lokal wahrgenommenen Raums 2100 des Roboters 100 und eines Sensorsystemsichtfeldes 405 bereit (das Steuerungssystem 510 kann zur Roboterpfadbestimmung mir bestimmte Sensoren verwenden, wie den ersten und zweiten 3D-Bildsensor 450a, 450b). Unter Nutzung der Vorteile der holonomen Mobilität des Antriebssystems 200 kann der Roboter 100 die Beständigkeit des bekannten Bodens G nutzen, um es ihm zu ermöglichen, in Richtungen zu fahren, die das Sensorsystemsichtfeld 405 nicht aktiv abdeckt. Wenn der Roboter 100 zum Beispiel stillgestanden hat und der erste und zweite 3D-Sensor 450a, 450b nach vorne zeigen, lehnt das Steuerungssystem 510 die vorgeschlagene Bewegung ab, obwohl der Roboter 100 in der Lage ist, seitwärts zu fahren, da der Roboter 100 nicht weiß, was sich an seiner Seite befindet, wie im Beispiel in 26C, die einen als unbekannt klassifizierten Bereich auf der Seite des Roboters 100 zeigt, dargestellt. Wenn der Roboter 100 vorwärts fährt, während der erste und zweite 3D-Bildsensor 450a, 450b nach vorne zeigen, kann der Boden G neben dem Roboter 100 als bekannt frei 2106 klassifiziert werden, da sowohl der erste als auch der zweite 3D-Bildsensor 450a, 450b den Boden G als frei sehen, während sich der Roboter 100 vorwärts bewegt und die Beständigkeit der Klassifizierung noch nicht verfallen ist. (Siehe z. B. 26B). In derartigen Situationen kann der Roboter 100 seitwärts fahren. 26C provides a schematic view of the locally perceived space 2100 of the robot 100 and a sensor system view field 405 ready (the control system 510 For robot path determination, I can use certain sensors, such as the first and second 3D image sensors 450a . 450b ). Taking advantage of the holonomic mobility of the drive system 200 can the robot 100 use the durability of the known floor G to enable it to drive in directions that the sensor system visual field 405 not actively covering. If the robot 100 for example, has stood still and the first and second 3D sensor 450a . 450b pointing forward rejects the control system 510 the proposed movement, although the robot 100 is able to drive sideways, as the robot 100 does not know what is at his side, as in the example in 26C indicating an area classified as unknown on the side of the robot 100 shows shown. If the robot 100 moves forward while the first and second 3D image sensor 450a . 450b pointing to the front, the bottom G can be next to the robot 100 as known free 2106 classified as both the first and the second 3D image sensor 450a . 450b see the ground G as clear while the robot 100 moved forward and the consistency of the classification has not yet expired. (See, for example, 26B ). In such situations, the robot can 100 drive sideways.

Mit Bezugnahme auf 26D kann das ODOA-Verhalten 600b angesichts einer großen Anzahl an möglichen Verlaufsbahnen mit holonomer Mobilität den Roboter veranlassen, Verlaufsbahnen auszuwählen, in denen er (wenn auch nicht aktuell) sehen kann, wohin er sich bewegt. Zum Beispiel kann der Roboter 100 die Sensorsichtfeldausrichtungen vorhersagen, die es dem Steuerungssystem 510 ermöglichen, Objekte zu erfassen. Da der Roboter während der Translation rotieren kann, kann der Roboter das Sensorsichtfeld 405 während der Fahrt vergrößern.With reference to 26D can the ODOA behavior 600b Given a large number of potential lanes of holonomic mobility, it will cause the robot to select course paths where it can see (though not up to date) where it is going. For example, the robot 100 the sensor field of view orientations predict the control system 510 allow objects to to capture. Since the robot can rotate during translation, the robot can view the sensor field of view 405 zoom in while driving.

Verschiedene Implementierungen des Systems und der hierin beschriebenen Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell entworfenen ASICs (anwendungsspezifischen integrierten Schaltungen), Computer-Hardware, Firmware, Software und/oder Kombinationen davon umgesetzt werden. Die verschiedenen Ausführungen können die Implementierung in einem oder mehreren Computerprogramm(en) beinhalten, das/die auf einem programmierbaren System ausführbar und/oder interpretierbar ist/sind, einschließlich wenigstens einem programmierbaren Prozessor, der speziell oder allgemein sein kann und mit einem Speichersystem, wenigstens einem Eingabegerät und wenigstens einem Ausgabegerät verbunden ist, um Daten und Anweisungen von diesen zu empfangen und an diese zu übertragen.Various implementations of the system and the techniques described herein may be implemented in digital electronic circuits, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. The various embodiments may include implementation in one or more computer programs that are executable and / or interpretable on a programmable system, including at least one programmable processor, which may be special or generic, and at least one memory system an input device and at least one output device is connected to receive data and instructions from these and transmitted to them.

Diese Computerprogramme (auch bekannt als Programme, Software, Software-Anwendungen oder Code) beinhalten Maschinenanweisungen für einen programmierbaren Prozessor und können in einer verfahrensorientierten und/oder objektorientierten Programmierhochsprache und/oder in Assembly-/Maschinensprache implementiert sein. Wie sie hierin verwendet werden, beziehen sich die Bezeichnungen „maschinenlesbares Medium” und „computerlesbares Medium” auf jede(s) beliebige Computerprogrammprodukt, -vorrichtung und/oder -gerät (z. B. Magnetscheiben, optische Scheiben, Speicher, programmierbare Logikgeräte (PLDs)), das verwendet wird, um Maschinenanweisungen und/oder Daten an einen programmierbaren Prozessor bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das Maschinenanweisungen als maschinenlesbares Signal empfängt. Die Bezeichnung „maschinenlesbares Signal” bezieht sich auf jedes beliebige Signal, das verwendet wird, um Maschinenanweisungen und/oder Daten an einen programmierbaren Prozessor bereitzustellen.These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor and may be implemented in a procedural and / or object oriented programming language and / or assembly / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or device (eg, magnetic disks, optical disks, memory, programmable logic devices (PLDs) )), which is used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

Ausführungen des Gegenstands dieser Anmeldung und der in dieser Anmeldung beschriebenen funktionellen Handlungen können in digitalen elektronischen Schaltungen oder Computer-Software, Firmware oder Hardware implementiert werden, einschließlich der Strukturen, die in dieser Beschreibung offenbart sind, und ihrer strukturellen Äquivalente oder in Kombinationen einer oder mehrerer davon. Ausführungsformen des Gegenstands dieser Beschreibung können als ein oder mehrere Computerprogrammprodukt(e) implementiert sein, d. h. ein oder mehrere Modul(e) an Computerprogrammanweisungen, die zur Ausführung durch eine Datenverarbeitungsvorrichtung auf einem computerlesbaren Medium kodiert sind oder um deren Betrieb zu steuern. Das computerlesbare Medium kann ein maschinenlesbares Speichergerät, ein maschinenlesbarer Speicherträger, ein Speichergerät, eine Komposition an Masse, die ein maschinenlesbares, sich ausbreitendes Signal verursacht, oder eine Kombination eines oder mehrerer davon sein. Die Bezeichnung „Datenverarbeitungsvorrichtung” umfasst alle Vorrichtungen, Geräte und Maschinen zur Verarbeitung von Daten, einschließlich z. B. eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Zusätzlich zu Hardware kann die Vorrichtung Code beinhalten, der eine Ausführungsumgebung für das jeweilige Computerprogramm erstellt, z. B. Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination von einem oder mehreren von ihnen bereitstellt. Ein sich ausbreitendes Signal ist ein künstlich erzeugtes Signal, z. B. ein durch Maschinen erzeugtes elektrisches, optisches oder elektromagnetisches Signal, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu kodieren.Embodiments of the subject matter of this application and the functional acts described in this application may be implemented in digital electronic circuits or computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more from that. Embodiments of the subject matter of this description may be implemented as one or more computer program product (s), i. H. one or more modules of computer program instructions encoded for execution by a data processing device on a computer readable medium or to control its operation. The computer-readable medium may be a machine-readable storage device, a machine-readable storage medium, a storage device, a bulk composition that causes a machine-readable propagating signal, or a combination of one or more thereof. The term "data processing device" includes all devices, devices and machines for processing data, including e.g. A programmable processor, a computer or multiple processors or computers. In addition to hardware, the device may include code that creates an execution environment for the particular computer program, e.g. Code providing processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagating signal is an artificially generated signal, e.g. A machine generated electrical, optical or electromagnetic signal generated to encode information for transmission to a suitable receiver device.

Ein Computerprogramm (auch als Programm, Software, Software-Anwendung, Script oder Code bekannt) kann in jeder Form von Programmiersprache geschrieben sein, einschließlich kompilierten oder interpretierten Sprachen, und es kann in jeder beliebigen Form umgesetzt sein, einschließlich als alleinstehendes Programm oder als Modul, Komponente, Unterroutine oder andere Einheit, die für die Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm entspricht nicht unbedingt einer Datei in einem Dateisystem. Ein Programm kann in einem Abschnitt einer Datei, die andere Programme oder Daten (z. B. ein oder mehrere Script(e), die in einem Markup-Sprachdokument gespeichert ist/sind) enthält, in einer einzelnen Datei, die dem jeweiligen Programm zugeordnet ist, oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Code-Abschnitte speichern) gespeichert sein. Ein Computerprogramm kann eingesetzt werden, um auf einem Computer oder auf mehreren Computer, die sich an einem Standort befinden oder über mehrere Standorte verteilt und durch ein Kommunikationsnetzwerk verbunden sind, ausgeführt zu werden.A computer program (also known as a program, software, software application, script or code) may be written in any form of programming language, including compiled or interpreted languages, and may be implemented in any form, including as a standalone program or as a module , Component, subroutine or other entity suitable for use in a computer environment. A computer program does not necessarily correspond to a file in a file system. A program may be in a section of a file containing other programs or data (eg, one or more scripts stored in a markup language document) in a single file associated with the particular program is stored in several coordinated files (eg files that store one or more modules, subroutines or code sections). A computer program can be used to run on a computer or on multiple computers located in one location or distributed over multiple sites and connected through a communications network.

Die in dieser Anmeldung beschriebenen Prozesse und Logikabläufe können durch einen oder mehrere programmierbare(n) Prozessor(en), der/die ein oder mehrere Computerprogramm(e) ausführt/ausführen, um durch das Verarbeiten von Eingabedaten und das Erzeugen von Ausgaben Funktionen durchzuführen, ausgeführt werden. Die Prozesse und Logikabläufe können außerdem von Speziallogikschaltungen, z. B. einem FPGA (feldprogrammierbares Gate-Array) oder einer ASIC (anwendungsspezifische integrierte Schaltung, engl.: application specific integrated circuit) durchgeführt werden und die Vorrichtung kann als solche implementiert sein.The processes and logic operations described in this application may be performed by one or more programmable processor (s) executing one or more computer programs to perform functions by processing input data and generating outputs. be executed. The processes and logic operations may also be handled by specialized logic circuits, e.g. B. one FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) and the device can be implemented as such.

Für die Ausführung eines Computerprogramms geeignete Prozessoren beinhalten zum Beispiel sowohl allgemeine als auch spezielle Mikroprozessoren und einen beliebigen oder mehrere Prozessoren einer beliebigen Art digitaler Computer. Im Allgemeinen empfängt ein Prozessor Anweisungen und Daten von einem Festwertspeicher oder einem Arbeitsspeicher oder beiden. Die wesentlichen Elemente eines Computers sind ein Prozessor zur Durchführung von Anweisungen und ein oder mehrere Speichergerät(e) zum Speicher von Anweisungen und Daten. Allgemein beinhaltet ein Computer außerdem ein oder mehrere Massenspeichergerät(e) zum Speichern von Daten, z. B. magnetische, magneto-optische Platten oder optische Platten, oder ist mit diesem/n operativ gekoppelt, um Daten von diesem zu empfangen oder an dieses zu übertragen oder beides. Ein Computer muss derartige Geräte jedoch nicht zwangsläufig aufweisen. Ferner kann ein Computer in anderes Gerät eingebettet sein, z. B. ein Mobiltelefon, einen persönlichen digitalen Assistenten (PDA), einen mobilen Audio-Player, einen Empfänger eines globalen Positionsbestimmungssystems (GPS), um nur einige wenige zu nennen. Computerlesbare Medien, die für das Speichern von Computerprogrammanweisungen und -daten geeignet sind, beinhalten alle Formen nicht flüchtiger Speicher, Medien und Speichergeräte, einschließlich Halbleiter-Speichergeräte, z. B. EPROM, EEPROM und Flash-Speichergeräte; Magnetscheiben, z. B. interne Festplatten oder herausnehmbare Platten; magneto-optische Platten; und CD-ROMs und DVD-ROMs, wobei diese Aufzählung nicht abschließend ist. Der Prozessor und der Speicher können durch Speziallogikschaltungen ergänzt oder in diesen integriert sein.Processors suitable for executing a computer program include, for example, both general and special purpose microprocessors and any one or more processors of any type of digital computer. In general, a processor receives instructions and data from a read-only memory or a memory or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, e.g. Magnetic, magneto-optical, or optical disks, or is operably coupled thereto to receive or transmit data therefrom, or both. However, a computer does not necessarily have to have such devices. Furthermore, a computer may be embedded in another device, e.g. A mobile phone, a personal digital assistant (PDA), a mobile audio player, a global positioning system (GPS) receiver, to name but a few. Computer-readable media suitable for storing computer program instructions and data includes all forms of non-volatile memory, media and storage devices, including semiconductor memory devices, e.g. EPROM, EEPROM and flash memory devices; Magnetic disks, z. Internal hard disks or removable disks; magneto-optical discs; and CD-ROMs and DVD-ROMs, but this list is not exhaustive. The processor and memory may be supplemented or integrated with special logic circuits.

Ausführungen des Gegenstands dieser Beschreibung können in einem Rechensystem implementiert sein, das eine Backend-Komponente, z. B. einen Datenserver, oder eine Middleware-Komponente, z. B. einen Anwendungsserver, oder eine Frontend-Komponente, z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder einen Webbrowser, über den ein Benutzer mit einer Ausführung der in dieser Anmeldung beschriebenen Erfindung interagieren kann, oder jede beliebige Kombination einer oder mehrerer derartiger Backend-, Middleware- oder Frontend-Komponenten beinhaltet. Die Komponenten des Systems können durch jede beliebige Form oder jedes beliebige Medium digitaler Datenkommunikation miteinander verbunden sein, z. B. ein Kommunikationsnetzwerk. Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN”) und ein Großraumnetzwerk („WAN”), z. B. das Internet.Embodiments of the subject matter of this description may be implemented in a computing system that includes a backend component, e.g. A data server, or a middleware component, e.g. An application server, or a front-end component, e.g. A client computer having a graphical user interface or a web browser through which a user may interact with one embodiment of the invention described in this application, or any combination of one or more of such backend, middleware or frontend components. The components of the system may be interconnected by any form or medium of digital data communication, e.g. B. a communication network. Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN"), e.g. For example, the Internet.

Das Rechensystem kann Clients und Server beinhalten. Ein Client und ein Server sind allgemein entfernt voneinander angeordnet und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht durch Computerprogramme, die auf den jeweiligen Computer ausgeführt werden und eine Client-Server-Beziehung zueinander haben.The computing system may include clients and servers. A client and a server are generally remote and typically interact over a communications network. The relationship between client and server is created by computer programs that run on each computer and have a client-server relationship.

Wenngleich diese Anmeldung viele spezifische Einzelheiten enthält, sind diese nicht als Einschränkungen des Umfangs der Erfindung oder des beanspruchten Gegenstands anzusehen, sondern als Beschreibungen von Merkmalen, die für bestimmte Ausführungen der Erfindung spezifisch sind. Bestimmte Merkmale, die in dieser Beschreibung im Zusammenhang mit separaten Ausführungen beschrieben sind, können auch in Kombination in einer einzigen Ausführung implementiert sein. Umgekehrt können verschiedene Merkmale, die im Rahmen einer einzigen Ausführung beschrieben sind, auch separat in mehreren Ausführungen oder in jeder beliebigen geeigneten Unterkombination implementiert sein. Wenngleich oben beschriebene Merkmale als in bestimmten Kombinationen agierend beschrieben und sogar zunächst als solche beansprucht sind, kann/können ein oder mehrere Merkmal(e) von einer beanspruchten Kombination in einigen Fällen ferner aus der Kombination entfernt werden und die beanspruchte Kombination kann sich auf eine Unterkombination oder Variation einer Unterkombination beziehen.While this application contains many specific details, these are not to be considered as limitations on the scope of the invention or the claimed subject matter, but as descriptions of features specific to particular embodiments of the invention. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single implementation. Conversely, various features described in a single embodiment may also be implemented separately in multiple embodiments or in any suitable subcombination. Although features described above are described as acting in certain combinations and even initially claimed as such, in some instances one or more features of a claimed combination may be further removed from the combination and the claimed combination may be of a sub-combination or refer to variation of a subcombination.

Während Handlungen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, gilt gleichermaßen, dass dies nicht so auszulegen ist, dass derartige Handlungen in der spezifischen dargestellten Reihenfolge oder Abfolge ausgeführt werden müssen oder dass alle dargestellten Handlungen durchgeführt werden müssen, um gewünschte Ergebnisse zu erreichen. Unter bestimmten Umständen kann Multitaskbetrieb und Parallelverarbeitung vorteilhaft sein. Ferner ist die Trennung verschiedener Systemkomponenten in den oben beschriebenen Ausführungsformen nicht so zu verstehen, dass eine derartige Trennung in allen Ausführungsformen erforderlich ist, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme allgemein zusammen in einem einzigen Software-Produkt integriert oder in verschiedene Software-Produkte aufgeteilt sein können.Similarly, while acts in the drawings are presented in a particular order, it should not be construed that such acts must be performed in the specific order or sequence shown or that all acts shown must be performed to achieve desired results. In some circumstances, multitasking and parallel processing may be beneficial. Further, the separation of various system components in the above-described embodiments is not to be understood as requiring such disconnection in all embodiments, and it should be understood that the described program components and systems are generally integrated together into a single software product or into various software Products can be split.

Es wurden mehrere Ausführungen beschrieben. Es versteht sich jedoch, dass verschiedene Modifikationen vorgenommen werden können, ohne dabei vom Geist und Umfang der Offenbarung abzuweichen. Dementsprechend fallen auch andere Ausführungen in den Umfang der nachfolgenden Patentansprüche. Zum Beispiel können die in den Ansprüchen aufgeführten Handlungen in einer anderen Reihenfolge durchgeführt werden und dennoch die gewünschten Ergebnisse erzielen. Several versions have been described. It is understood, however, that various modifications can be made without departing from the spirit and scope of the disclosure. Accordingly, other embodiments fall within the scope of the following claims. For example, the acts listed in the claims may be performed in a different order and still achieve the desired results.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • IL 2006/000335 [0120] IL 2006/000335 [0120]
  • US 7433024 [0125] US 7433024 [0125]
  • US 6323942 [0128] US 6323942 [0128]
  • US 6515740 [0128] US 6515740 [0128]
  • US 7158317 [0165] US 7158317 [0165]
  • US 7115849 [0165] US 7115849 [0165]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • 35 U. S. C. §119(e) [0001] 35 USC §119 (e) [0001]
  • 35 U. S. C. §120 [0001] 35 USC §120 [0001]
  • IEEE1588 [0139] IEEE1588 [0139]
  • Se, S.; Lowe, David G.; Little, J. (2001). „Vision-based mobile robot localization and mapping using scale-invariant features”. Proceedings of the IEEE International Conference an Robotics and Automation (ICRA). 2. S. 2051 ff. [0153] Se, S .; Lowe, David G .; Little, J. (2001). "Vision-based mobile robot localization and mapping using scale-invariant features". Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). 2. pp. 2051 ff. [0153]
  • Rothganger, F; S. Lazebnik, C. Schmid und J. Ponce: 2004. 3D Object Modeling and Recognition Using Local Affine-Invariant Image Descriptors and Multi-View Spatial Constraints, ICCV [0153] Rothganger, F; S. Lazebnik, C. Schmid and J. Ponce: 2004. 3D Object Modeling and Recognition Using Local Affine Invariant Image Descriptors and Multi-View Spatial Constraints, ICCV [0153]
  • Iryna Gordon und David G. Lowe, „What and where: 3D object recognition with accurate pose”, Toward Category-Level Object Recognition, (Springer-Verlag, 2006), S. 67–82 [0153] Iryna Gordon and David G. Lowe, "What and where: 3D object recognition with accurate pose", Toward Category-Level Object Recognition, (Springer-Verlag, 2006), pp. 67-82 [0153]
  • Laptev, Ivan und Lindeberg, Tony (2004). „Local descriptors for spatio-temporal recognition”. ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis, Springer Lecture Notes in Computer Science, Ausgabe 3667. S. 91–103 [0154] Laptev, Ivan and Lindeberg, Tony (2004). "Local descriptors for spatio-temporal recognition". ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis, Springer Lecture Notes in Computer Science, Issue 3667. pp. 91-103 [0154]
  • Ivan Laptev, Barbara Caputo, Christian Schuldt und Tony Lindeberg (2007). „Local velocity-adapted motion events for spatio-temporal recognition”. Computer Vision and Image Understanding 108: 207–229 [0154] Ivan Laptev, Barbara Caputo, Christian Schuldt and Tony Lindeberg (2007). Local velocity-adapted motion events for spatio-temporal recognition. Computer Vision and Image Understanding 108: 207-229 [0154]
  • Scovanner, Paul; Ali, S; Shah, M (2007). „A 3-dimensional sift descriptor and its application to action recognition”. Proceedings of the 15th International Conference an Multimedia. S. 357–360 [0154] Scovanner, Paul; Ali, S; Shah, M (2007). "A 3-dimensional sift descriptor and its application to action recognition". Proceedings of the 15th International Conference on Multimedia. Pp. 357-360 [0154]
  • Niebles, J. C. Wang, H. und Li, Fei-Fei (2006). „Unsupervised Learning of Human Action Categories Using Spatial-Temporal Words”. Proceedings of the British Machine Vision Conference (BMVC). Edinburgh [0154] Niebles, JC Wang, H. and Li, Fei-Fei (2006). "Unsupervised Learning of Human Action Categories Using Spatial-Temporal Words". Proceedings of the British Machine Vision Conference (BMVC). Edinburgh [0154]

Claims (50)

Mobiler Roboter (100), der Folgendes umfasst: ein Antriebssystem (200) mit einer Vorwärtsfahrtrichtung (F); eine Steuerung (500), die mit dem Antriebssystem (200) in Kommunikation steht; ein Gerät (450) zur Bildgebung volumetrischer Punktwolken, das über dem Antriebssystem (200) befestigt ist und ausgelegt ist, um eine Punktwolke von einem Raumvolumen, das eine Bodenebene in einer Bewegungsrichtung des mobilen Roboters (100) beinhaltet, zu erhalten; und einen Totzonensensor (490, 2190) mit einem Erfassungsbereich (492, 2192), der angeordnet ist, um ein Objekt (12) in einem Raumvolumen (453), das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, zu erfassen; wobei die Steuerung (500) Punktwolkensignale vom Bildgebungsgerät (450) und Erfassungssignale vom Totzonensensor (490, 2190) empfängt und Antriebsbefehle an das Antriebssystem (200) ausgibt, die wenigstens teilweise auf den empfangenen Punktwolken- und Erfassungssignalen basieren.Mobile Robot ( 100 ), comprising: a drive system ( 200 ) with a forward direction (F); a controller ( 500 ) connected to the drive system ( 200 ) is in communication; a machine ( 450 ) for imaging volumetric point clouds located above the propulsion system ( 200 ) and is adapted to form a point cloud from a volume of space that is a ground plane in a moving direction of the mobile robot ( 100 ) to receive; and a dead zone sensor ( 490 . 2190 ) with a detection area ( 492 . 2192 ), which is arranged around an object ( 12 ) in a volume of space ( 453 ), that for the device ( 450 ) for imaging volumetric point clouds is not detectable; where the controller ( 500 ) Point cloud signals from the imaging device ( 450 ) and detection signals from the dead zone sensor ( 490 . 2190 ) and drive commands to the drive system ( 200 ) based at least in part on the received point cloud and detection signals. Mobiler Roboter (100) nach Anspruch 1, wobei der Totzonensensor (490, 2190) wenigstens eins von einem Gerät (450) zur Bildgebung volumetrischer Punktwolken, einem Sonarsensor, einer Kamera, einem Ultraschallsensor, LIDAR, LADAR, einem optischen Sensor und einem Infrarotsensor umfasst.Mobile Robot ( 100 ) according to claim 1, wherein the dead zone sensor ( 490 . 2190 ) at least one of a device ( 450 ) for imaging volumetric point clouds, a sonar sensor, a camera, an ultrasonic sensor, LIDAR, LADAR, an optical sensor and an infrared sensor. Mobiler Roboter (100) nach Anspruch 1 oder 2, wobei der Erfassungsbereich (492, 2192) des Totzonensensors (490, 2190) ein Raumvolumen (453) umgibt, das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist.Mobile Robot ( 100 ) according to claim 1 or 2, wherein the detection area ( 492 . 2192 ) of the dead band sensor ( 490 . 2190 ) a volume of space ( 453 ) surrounding the device ( 450 ) for imaging volumetric point clouds is not detectable. Mobiler Roboter (100) nach Anspruch 3, wobei das Raumvolumen (453), das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, durch einen ersten Winkel (α), einen zweiten Winkel (β) und einen Radius (RS) definiert ist, vorzugsweise 57° × 45° × 50 cm.Mobile Robot ( 100 ) according to claim 3, wherein the volume of space ( 453 ), that for the device ( 450 ) is not detectable for imaging volumetric point clouds, defined by a first angle (α), a second angle (β) and a radius (R S ), preferably 57 ° × 45 ° × 50 cm. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, wobei der Erfassungsbereich (492) des Totzonensensors (490) zwischen dem Gerät (450) zur Bildgebung volumetrischer Punktwolken und einem Erfassungsbereich (457) des Geräts (450) zur Bildgebung volumetrischer Punktwolken angeordnet ist.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the detection area ( 492 ) of the dead band sensor ( 490 ) between the device ( 450 ) for imaging volumetric point clouds and a detection area ( 457 ) of the device ( 450 ) is arranged for imaging volumetric point clouds. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, wobei der Totzonensensor (2190) ein Sichtfeld (2192) aufweist, das wenigstens 3 Meter vom Totzonensensor (2190) nach außen reicht.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the dead zone sensor ( 2190 ) a field of view ( 2192 ) which is at least 3 meters from the dead zone sensor ( 2190 ) extends to the outside. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, der ferner ein Array an Totzonensensoren (490, 2190) mit wenigstens einem Totzonensensor (490, 2190) umfasst, dessen Erfassungsbereich (492, 2192) angeordnet ist, um ein Objekt (12) im Raumvolumen (453), das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, zu erfassen, wobei das Array an Totzonensensoren (490) mit den Sichtfeldern (492, 2192) entlang der Vorwärtsfahrtrichtung (F) oder über eine vom Roboter (100) definierte vertikale Zentrumsachse (Z) verteilt angeordnet ist.Mobile Robot ( 100 ) according to any of the preceding claims, further comprising an array of deadband sensors ( 490 . 2190 ) with at least one dead zone sensor ( 490 . 2190 ), whose scope ( 492 . 2192 ) is arranged to an object ( 12 ) in the volume of space ( 453 ), that for the device ( 450 ) is not detectable for imaging volumetric point clouds, the array of dead zone sensors ( 490 ) with the fields of view ( 492 . 2192 ) along the forward direction (F) or over one from the robot ( 100 ) defined vertical center axis (Z) is arranged distributed. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, wobei das Bildgebungsgerät (450) Licht auf eine Szene (10) um den Roboter (100) ausstrahlt und Bilder von der Szene (10) entlang der Fahrtrichtung (F) des Roboters (100) aufnimmt, wobei die Bilder wenigstens eins von (a) einem dreidimensionalen Tiefenbild, (b) einem aktiven Beleuchtungsbild und (c) einem Umgebungsbeleuchtungsbild umfassen; wobei die Steuerung (500) basierend auf den Bildern einen Standort eines Objekts (12) in der Szene (10) bestimmt und Antriebsbefehle an das Antriebssystem (200) ausgibt, um den Roboter (100) basierend auf dem Objektstandort in der Szene (10) zu manövrieren.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the imaging device ( 450 ) Light on a scene ( 10 ) around the robot ( 100 ) and images of the scene ( 10 ) along the direction of travel (F) of the robot ( 100 wherein the images comprise at least one of (a) a three-dimensional depth image, (b) an active illumination image, and (c) an ambient illumination image; where the controller ( 500 ) based on the images, a location of an object ( 12 ) in the scene ( 10 ) and drive commands to the drive system ( 200 ) to the robot ( 100 ) based on the object location in the scene ( 10 ) to maneuver. Mobiler Roboter (100) nach Anspruch 8, wobei das Bildgebungsgerät (450) eine Laufzeit zwischen dem Ausstrahlen des Lichts und dem Empfangen des reflektierten Lichts von der Szene (10) bestimmt und die Steuerung (500) die Laufzeit verwendet, um einen Abstand zu den reflektierenden Oberflächen des Objekts (12) zu bestimmen.Mobile Robot ( 100 ) according to claim 8, wherein the imaging device ( 450 ) a transit time between the emission of the light and the reception of the reflected light from the scene ( 10 ) and the controller ( 500 ) uses the runtime to set a distance to the reflective surfaces of the object ( 12 ). Mobiler Roboter (100) nach Anspruch 8 oder 9, wobei das Bildgebungsgerät (450) Folgendes umfasst: eine Lichtquelle (1172, 1310, 1510) zum Ausstrahlen von Licht auf die Szene (10), vorzugsweise in intermittierenden Impulsen, und noch bevorzugter strahlt die Lichtquelle (1172, 1310, 1510) die Lichtimpulse in einer ersten, energiesparenden Frequenz aus und strahlt die Lichtimpulse nach dem Empfangen eines Sensorereignisses in einer zweiten, aktiven Frequenz aus, wobei das Sensorereignis optional ein Sensorsignal umfasst, das das Vorhandensein eines Objekts (12) in der Szene (10) anzeigt; und einen Bildgeber (1174, 1320, 1520) zum Empfangen von Reflexionen des ausgestrahlten Lichts von der Szene (10); wobei der Bildgeber (1174, 1320, 1520) ein Array an Lichterfassungspixeln (1174p, 1326, 1522) umfasst.Mobile Robot ( 100 ) according to claim 8 or 9, wherein the imaging device ( 450 ) Comprising: a light source ( 1172 . 1310 . 1510 ) for emitting light to the scene ( 10 ), preferably in intermittent pulses, and more preferably the light source ( 1172 . 1310 . 1510 ) emits the light pulses at a first, energy-efficient frequency and emits the light pulses upon receiving a sensor event at a second, active frequency, the sensor event optionally including a sensor signal indicating the presence of an object ( 12 ) in the scene ( 10 ) indicates; and an imager ( 1174 . 1320 . 1520 ) for receiving reflections of the emitted light from the scene ( 10 ); the imager ( 1174 . 1320 . 1520 ) an array of light detection pixels ( 1174p . 1326 . 1522 ). Mobiler Roboter (100) nach einem der vorangehenden, Ansprüche, wobei das Bildgebungsgerät (450) einen ersten und zweiten Abschnitt (450a, 450b) umfasst, wobei der erste Abschnitt (450a) angeordnet ist, um Licht im Wesentlichen auf den Boden auszustrahlen und Reflexionen des ausgestrahlten Lichts vom Boden zu empfangen, und der zweite Abschnitt (450b) angeordnet ist, um Licht im Wesentlichen über dem Boden in eine Szene (10) auszustrahlen und Reflexionen des ausgestrahlten Lichts von der Szene (10) um den Roboter (100) zu empfangen.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the imaging device ( 450 ) a first and a second section ( 450a . 450b ), the first section ( 450a ) is arranged to radiate light substantially to the ground and receive reflections of the radiated light from the ground, and the second section (FIG. 450b ) is arranged to light substantially above the ground in a scene ( 10 ) and reflect reflections of the emitted light from the scene ( 10 ) around the robot ( 100 ) to recieve. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, wobei das Bildgebungsgerät (450) Folgendes umfasst: einen Speckleemitter (1310), der entlang einer Fahrtrichtung des Roboters (100) ein Specklemuster an Licht auf eine Szene (10) ausstrahlt; und einen Bildgeber (1320), der Reflexionen des Specklemusters von einem Objekt (12) in der Szene (10) empfängt; wobei die Steuerung (500) Vergleichsbilder des Specklemusters, wie es von einem Vergleichsobjekt (12) in der Szene (10) reflektiert wird, speichert, wobei die Vergleichsbilder in unterschiedlichen Abständen (Zn) vom Vergleichsobjekt (12) aufgenommen sind; und wenigstens ein Zielbild des Specklemusters, wie es von einem Zielobjekt (12) in der Szene (10) reflektiert wird, mit den Vergleichsbildern vergleicht, um einen Abstand (ΔZ) der reflektierenden Oberflächen des Zielobjekts (12) zu bestimmen.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the imaging device ( 450 ) Comprising: a speckle emitter ( 1310 ), which along a direction of travel of the robot ( 100 ) a speckle pattern of light on a scene ( 10 ) emits; and an imager ( 1320 ), reflections of the speckle pattern from an object ( 12 ) in the scene ( 10 ) receives; where the controller ( 500 ) Comparison images of the speckle pattern, as shown by a comparison object ( 12 ) in the scene ( 10 ), wherein the comparison images at different distances (Z n ) from the comparison object ( 12 ) are included; and at least one target image of the speckle pattern as obtained from a target object ( 12 ) in the scene ( 10 ) is compared with the comparison images by a distance (ΔZ) of the reflecting surfaces of the target object ( 12 ). Mobiler Roboter (100) nach Anspruch 12, wobei die Steuerung (500) ein primäres Specklemuster auf dem Zielobjekt (12) bestimmt und wenigstens eins von einer Kreuzkorrelation bzw. einer Dekorrelation zwischen dem primären Specklemuster und den Specklemustern der Vergleichsbilder errechnet.Mobile Robot ( 100 ) according to claim 12, wherein the controller ( 500 ) a primary speckle pattern on the target object ( 12 ) and calculate at least one of a cross-correlation or a decorrelation between the primary speckle pattern and the speckle patterns of the comparison images. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, wobei der Bildgebungssensor (450) im Verhältnis zu der Vorwärtsfahrtrichtung (F) von Seite zu Seite scannt, um ein laterales Sichtfeld (452, θv-H) zu vergrößern und/oder hoch und runter scannt, um ein vertikales Sichtfeld (452, θv-v) des Bildgebungssensors (450) zu vergrößern.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the imaging sensor ( 450 ) scans from side to side relative to the forward direction (F) to form a lateral field of view (FIG. 452 , θ vH ) and / or scanning up and down to a vertical field of view ( 452 , θ vv ) of the imaging sensor ( 450 ) to enlarge. Mobiler Roboter (100) nach einem der vorangehenden Ansprüche, wobei die Steuerung (500) nach einem Grenzzeitraum nach dem Empfang die Verwendung der empfangenen Punktwolkensignale für die Ausgabe von Antriebsbefehlen an das Antriebssystem (200) einstellt.Mobile Robot ( 100 ) according to one of the preceding claims, wherein the controller ( 500 ) after a limit period after the reception, the use of the received point cloud signals for the output of drive commands to the drive system ( 200 ). Mobiler Roboter (100) nach Anspruch 15, wobei die Steuerung (500) die Einstellung der Verwendung der empfangenen Punktwolkensignale bei Bestimmen des Vorhandenseins eines Objekts (12) im Raumvolumen (453), das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, basierend auf den empfangenen Erfassungssignalen vom Totzonensensor (490, 2190) aufhebt.Mobile Robot ( 100 ) according to claim 15, wherein the controller ( 500 ) the setting of the use of the received point cloud signals in determining the presence of an object ( 12 ) in the volume of space ( 453 ), that for the device ( 450 ) is not detectable for imaging volumetric point clouds, based on the received detection signals from the dead zone sensor ( 490 . 2190 ) picks up. Mobiler Roboter (100) nach Anspruch 16, wobei die Steuerung (500) mit der Einstellung der Verwendung der empfangenen Punktwolkensignale nach dem Grenzzeitraum nach dem Empfang fortfährt, wenn vorzugsweise basierend auf den empfangenen Erfassungssignalen vom Totzonensensor (490, 2190) bestimmt wurde, dass das Raumvolumen (453), das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, frei von Objekten (12) ist.Mobile Robot ( 100 ) according to claim 16, wherein the controller ( 500 ) proceeds with the setting of the use of the received point cloud signals after the limit period after the reception, preferably based on the received dead zone signals from the dead zone sensor ( 490 . 2190 ) it was determined that the volume of space ( 453 ), that for the device ( 450 ) is not detectable for imaging volumetric point clouds, free of objects ( 12 ). Mobiler Roboter (100), der Folgendes umfasst: eine Basis (120); ein holonomes Antriebssystem (200), das von der Basis (120) getragen wird und eine vertikale Achse (Z) definiert, wobei das holonome Antriebssystem (200) den Roboter (100) über eine Arbeitsoberfläche (5) einer Szene (10) manövriert; eine Steuerung (500), die mit dem Antriebssystem (200) in Kommunikation steht; ein Bein (130), das von der Basis (120) nach oben verläuft; einen Körper (140), auf vom Bein (130) getragen wird, wobei der Körper (140) um die im Verhältnis zur Basis (120) vertikale Achse (Z) rotiert; und wenigstens einen Bildgebungssensor (450), der auf dem Körper (140) angeordnet ist und eine volumetrische Punktwolke der Szene (10) um den Roboter (100) aufnimmt; wobei der rotierende Körper (140) das Gerät (450) zur Bildgebung volumetrischer Punktwolken in einer Schwenkbewegung um die vertikale Achse (Z) bewegt und so ein Sichtfeld (452) von bis zu 360° um den Roboter (100) bereitstellt.Mobile Robot ( 100 ), comprising: a base ( 120 ); a holonomic drive system ( 200 ), that from the base ( 120 ) and defines a vertical axis (Z), the holonomic drive system ( 200 ) the robot ( 100 ) via a desktop ( 5 ) of a scene ( 10 ) maneuvered; a controller ( 500 ) connected to the drive system ( 200 ) is in communication; a leg ( 130 ), that from the base ( 120 ) goes up; a body ( 140 ), off the leg ( 130 ), whereby the body ( 140 ) in relation to the base ( 120 ) vertical axis (Z) rotates; and at least one imaging sensor ( 450 ), on the body ( 140 ) and a volumetric point cloud of the scene ( 10 ) around the robot ( 100 ) receives; wherein the rotating body ( 140 ) the device ( 450 ) for imaging volumetric point clouds in a pivoting movement about the vertical axis (Z) moves and so a field of view ( 452 ) of up to 360 ° around the robot ( 100 ). Mobiler Roboter (100) nach Anspruch 18, wobei der wenigstens eine Bildgebungssensor (450) eine Bildgebungsachse (455) aufweist, die angeordnet ist, um nach unten entlang einer Vorwärtsfahrtrichtung (F) des Antriebssystems (200) zu zielen.Mobile Robot ( 100 ) according to claim 18, wherein the at least one imaging sensor ( 450 ) an imaging axis ( 455 ) arranged to travel downwardly along a forward direction (F) of the drive system (FIG. 200 ) to aim. Mobiler Roboter (100) nach Anspruch 18, wobei der wenigstens eine Bildgebungssensor (450) einen ersten Bildgebungssensor (450, 450a) mit einer Bildgebungsachse (455), die angeordnet ist, um entlang einer Vorwärtsfahrtrichtung (F) des Antriebssystems (200) zu zielen, und einen zweiten Bildgebungssensor (450, 450b) mit einer Bildgebungsachse (455), die angeordnet ist, um parallel zu oder über der Arbeitsoberfläche (5) weg vom Körper (140) zu zielen, umfasst.Mobile Robot ( 100 ) according to claim 18, wherein the at least one imaging sensor ( 450 ) a first imaging sensor ( 450 . 450a ) with an imaging axis ( 455 ) arranged to travel along a forward direction (F) of the drive system (Fig. 200 ) and a second imaging sensor ( 450 . 450b ) with an imaging axis ( 455 ), which is arranged to be parallel to or above the working surface ( 5 ) away from the body ( 140 ) to aim. Mobiler Roboter (100) nach einem der Ansprüche 18–20, wobei der wenigstens eine Bildgebungssensor (450) im Verhältnis zur Vorwärtsfahrtrichtung (F) von Seite zu Seite scannt, um ein laterales Sichtfeld (452, θv-H) zu vergrößern und/oder hoch und runter scannt, um ein vertikales Sichtfeld (452, θv-v) des Bildgebungssensors (450) zu vergrößern.Mobile Robot ( 100 ) according to one of claims 18-20, wherein the at least one imaging sensor ( 450 ) is scanned side-to-side relative to the forward direction (F) to form a lateral field of view (FIG. 452 , θ vH ) and / or scanning up and down to a vertical field of view ( 452 , θ vv ) of the imaging sensor ( 450 ) to enlarge. Mobiler Roboter (100) nach einem der Ansprüche 18–21, wobei der wenigstens eine Bildgebungssensor (450) Folgendes umfasst: einen Speckleemitter (1310), der ein Specklemuster an Licht auf die Szene (10) ausstrahlt; und einen Bildgeber (1320), der Reflexionen des Specklemusters von einem Objekt (12) in der Szene (10) empfängt; wobei die Steuerung (500) Vergleichsbilder des Specklemusters, wie es von einem Vergleichsobjekt (12) in der Szene (10) reflektiert wird, speichert, wobei die Vergleichsbilder in unterschiedlichen Abständen (Zn) vom Vergleichsobjekt (12) aufgenommen wurden; und wenigstens ein Zielbild des Specklemusters, wie es von einem Zielobjekt (12) in der Szene (10) reflektiert wird, mit den Vergleichsbildern vergleicht, um einen Abstand (ΔZ) der reflektierenden Oberflächen des Zielobjekts (12) zu bestimmen.Mobile Robot ( 100 ) according to one of claims 18-21, wherein the at least one imaging sensor ( 450 ) Comprising: a speckle emitter ( 1310 ), which adds a speckle pattern to light on the scene ( 10 ) emits; and an imager ( 1320 ), reflections of the speckle pattern from an object ( 12 ) in the scene ( 10 ) receives; where the controller ( 500 ) Comparison images of the speckle pattern, as shown by a comparison object ( 12 ) in the scene ( 10 ), wherein the comparison images at different distances (Z n ) from the comparison object ( 12 ) were recorded; and at least one target image of the speckle pattern as obtained from a target object ( 12 ) in the scene ( 10 ) is compared with the comparison images by a distance (ΔZ) of the reflecting surfaces of the target object ( 12 ). Mobiler Roboter (100) nach Anspruch 22, wobei der wenigstens eine Bildgebungssensor (450) Bilder von der Szene (10) entlang einer Fahrtrichtung (F) des Roboters (100) aufnimmt, wobei die Bilder wenigstens eins von (a) einem dreidimensionalen Tiefenbild, (b) einem aktiven Beleuchtungsbild und (c) einem Umgebungsbeleuchtungsbild umfassen.Mobile Robot ( 100 ) according to claim 22, wherein the at least one imaging sensor ( 450 ) Pictures of the scene ( 10 ) along a direction of travel (F) of the robot (FIG. 100 ), the images comprising at least one of (a) a three-dimensional depth image, (b) an active illumination image, and (c) an ambient illumination image. Mobiler Roboter (100) nach Anspruch 22 oder 23, wobei die Steuerung (500) basierend auf dem Bildvergleich einen Standort eines Objekts (12) in der Szene (10) bestimmt und Antriebsbefehle an das Antriebssystem (200) ausgibt, um den Roboter (100) basierend auf dem Objektstandort in der Szene (10) zu manövrieren.Mobile Robot ( 100 ) according to claim 22 or 23, wherein the controller ( 500 ) based on the image comparison a location of an object ( 12 ) in the scene ( 10 ) and drive commands to the drive system ( 200 ) to the robot ( 100 ) based on the object location in the scene ( 10 ) to maneuver. Mobiler Roboter (100) nach einem der Ansprüche 22–24, wobei die Steuerung (500) ein primäres Specklemuster auf dem Zielobjekt (12) bestimmt und wenigstens eins von einer Kreuzkorrelation bzw. einer Dekorrelation zwischen dem primären Specklemuster und den Specklemustern der Vergleichsbilder errechnet.Mobile Robot ( 100 ) according to any one of claims 22-24, wherein the controller ( 500 ) a primary speckle pattern on the target object ( 12 ) and calculate at least one of a cross-correlation or a decorrelation between the primary speckle pattern and the speckle patterns of the comparison images. Mobiler Roboter (100) nach einem der Ansprüche 18–25, wobei der wenigstens eine Bildgebungssensor (450) ein Gerät (450) zur Bildgebung volumetrischer Punktwolken umfasst, das in einer Höhe von mehr als 60,96 cm (2 Fuß) über der Arbeitsoberfläche (5) positioniert ist und ausgelegt ist, um eine Punktwolke aus einem Raumvolumen, das eine Bodenebene (5) in einer Bewegungsrichtung (F) des Roboters (100) beinhaltet, zu erhalten.Mobile Robot ( 100 ) according to one of claims 18-25, wherein the at least one imaging sensor ( 450 ) a machine ( 450 ) for imaging volumetric point clouds located at a height greater than 60.96 cm (2 feet) above the working surface ( 5 ) and is designed to be a point cloud from a volume of space that is a ground plane ( 5 ) in a direction of movement (F) of the robot (F) 100 ) to receive. Mobiler Roboter (100) nach einem der Ansprüche 18–26, wobei der wenigstens eine Bildgebungssensor (450) ein horizontales Sichtfeld (θv-H) von wenigstens 45 Grad und ein vertikales Sichtfeld (θv-V) von wenigstens 40 Grad und/oder eine Reichweite von zwischen 1 Meter und etwa 5 Meter aufweist.Mobile Robot ( 100 ) according to one of claims 18-26, wherein the at least one imaging sensor ( 450 ) has a horizontal field of view (θ vH ) of at least 45 degrees and a vertical field of view (θ vV ) of at least 40 degrees and / or a range of between 1 meter and about 5 meters. Mobiler Roboter (100) nach einem der Ansprüche 18–27, wobei der Bildgebungssensor (450) eine Latenz von etwa 44 ms aufweist, wobei die Bildausgabe des Bildgebungssensors (450) vorzugsweise einen Zeitstempel empfangt, der die Latenz ausgleicht. Mobile Robot ( 100 ) according to one of claims 18-27, wherein the imaging sensor ( 450 ) has a latency of about 44 ms, wherein the image output of the imaging sensor ( 450 ) preferably receives a timestamp that balances the latency. Mobiler Roboter (100) nach einem der Ansprüche 18–28, der ferner einen Totzonensensor (490, 2190) mit einem Erfassungsbereich (492, 2192) umfasst, der angeordnet ist, um ein Objekt (12) in einem Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, zu erfassen.Mobile Robot ( 100 ) according to any one of claims 18-28, further comprising a deadband sensor ( 490 . 2190 ) with a detection area ( 492 . 2192 ) arranged to receive an object ( 12 ) in a volume of space ( 453 ) used for the imaging sensor ( 450 ) is not detectable. Mobiler Roboter (100) nach Anspruch 29, wobei der Totzonensensor (490, 2190) wenigstens eins von einem Gerät (450) zur Bildgebung volumetrischer Punktwolken, einem Sonarsensor, einer Kamera, einem Ultraschallsensor, LIDAR, LADAR, einem optischen Sensor und einem Infrarotsensor umfasst.Mobile Robot ( 100 ) according to claim 29, wherein the dead zone sensor ( 490 . 2190 ) at least one of a device ( 450 ) for imaging volumetric point clouds, a sonar sensor, a camera, an ultrasonic sensor, LIDAR, LADAR, an optical sensor and an infrared sensor. Mobiler Roboter (100) nach Anspruch 29 oder 30, wobei der Erfassungsbereich (492, 2192) des Totzonensensors (490, 2190) ein Raumvolumen (453) umgibt, das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist.Mobile Robot ( 100 ) according to claim 29 or 30, wherein the detection area ( 492 . 2192 ) of the dead band sensor ( 490 . 2190 ) a volume of space ( 453 ) surrounding the device ( 450 ) for imaging volumetric point clouds is not detectable. Mobiler Roboter (100) nach Anspruch 31, wobei das Raumvolumen (453), das für das Gerät (450) zur Bildgebung volumetrischer Punktwolken nicht erfassbar ist, durch einen ersten Winkel (α), einen zweiten Winkel (β) und einen Radius (RS) definiert ist, vorzugsweise 57° × 45° × 50 cm.Mobile Robot ( 100 ) according to claim 31, wherein the volume of space ( 453 ), that for the device ( 450 ) is not detectable for imaging volumetric point clouds, defined by a first angle (α), a second angle (β) and a radius (R S ), preferably 57 ° × 45 ° × 50 cm. Mobiler Roboter (100) nach einem der Ansprüche 29–32, wobei der Erfassungsbereich (492) des Totzonensensors (490) zwischen dem Bildgebungssensor (450) und einem Erfassungsbereich (457) des Bildgebungssensors (450) angeordnet ist.Mobile Robot ( 100 ) according to any one of claims 29-32, wherein the detection area ( 492 ) of the dead band sensor ( 490 ) between the imaging sensor ( 450 ) and a coverage area ( 457 ) of the imaging sensor ( 450 ) is arranged. Mobiler Roboter (100) nach einem der Ansprüche 29–33, wobei der Totzonensensor (2190) ein Sichtfeld (2192) aufweist, das sich wenigstens 3 Meter vom Totzonensensor (2190) nach außen erstreckt.Mobile Robot ( 100 ) according to any one of claims 29-33, wherein the dead zone sensor ( 2190 ) a field of view ( 2192 ) located at least 3 meters from the dead zone sensor ( 2190 ) extends to the outside. Mobiler Roboter (100) nach einem der Ansprüche 29–34, der ferner ein Array an Totzonensensoren (490, 2190) mit wenigstens einem Totzonensensor (490, 2190) umfasst, dessen Erfassungsbereich (492, 2192) angeordnet ist, um ein Objekt (12) im Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, zu erfassen, wobei das Array an Totzonensensoren (490) mit seinen Sichtfeldern (492, 2192) entlang der Vorwärtsfahrtrichtung F oder gleichmäßig über eine vertikale vom Roboter (100) definierte Zentrumsachse (Z) verteilt angeordnet ist.Mobile Robot ( 100 ) according to any one of claims 29-34, further comprising an array of dead-zone sensors ( 490 . 2190 ) with at least one dead zone sensor ( 490 . 2190 ), whose scope ( 492 . 2192 ) is arranged to an object ( 12 ) in the volume of space ( 453 ) used for the imaging sensor ( 450 ) is undetectable, with the array of deadband sensors ( 490 ) with its fields of view ( 492 . 2192 ) along the forward direction F or evenly across a vertical axis of the robot ( 100 ) defined center axis (Z) is arranged distributed. Mobiler Roboter (100) nach einem der Ansprüche 29–35, wobei die Steuerung (500) nach einem Grenzzeitraum die Verwendung der vom Bildgebungssensor (450) empfangenen Punktwolkensignale für die Ausgabe von Antriebsbefehlen an das Antriebssystem (200) einstellt.Mobile Robot ( 100 ) according to any one of claims 29-35, wherein the controller ( 500 ) after a limiting period, the use of the imaging sensor ( 450 ) received point cloud signals for the output of drive commands to the drive system ( 200 ). Mobiler Roboter (100) nach Anspruch 36, wobei die Steuerung (500) die Einstellung der Verwendung der empfangenen Punktwolkensignale bei Bestimmen des Vorhandenseins eines Objekts (12) im Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, basierend auf empfangenen Erfassungssignalen vom Totzonensensor (490, 2190) aufhebt.Mobile Robot ( 100 ) according to claim 36, wherein the controller ( 500 ) the setting of the use of the received point cloud signals in determining the presence of an object ( 12 ) in the volume of space ( 453 ) used for the imaging sensor ( 450 ) is not detectable based on received detection signals from the dead zone sensor ( 490 . 2190 ) picks up. Mobiler Roboter (100) nach Anspruch 37, wobei die Steuerung (500) mit der Einstellung der Verwendung der empfangenen Punktwolkensignale nach dem Grenzzeitraum fortfahrt, wenn vorzugsweise basierend auf den empfangenen Erfassungssignalen vom Totzonensensor (490, 2190) bestimmt wurde, dass das Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, frei von Objekten (12) ist.Mobile Robot ( 100 ) according to claim 37, wherein the controller ( 500 ) with the setting of the use of the received point cloud signals after the limit period, preferably based on the received detection signals from dead zone sensor ( 490 . 2190 ) it was determined that the volume of space ( 453 ) used for the imaging sensor ( 450 ) is not detectable, free of objects ( 12 ). Mobiler Roboter (100) nach einem der Ansprüche 18–38, wobei der Körper (140) im Verhältnis zum Bein (130) rotiert und/oder das Bein (130) im Verhältnis zur Basis (120) um eine vertikale Achse (Z) rotiert.Mobile Robot ( 100 ) according to any one of claims 18-38, wherein the body ( 140 ) in relation to the leg ( 130 ) and / or the leg ( 130 ) in relation to the base ( 120 ) is rotated about a vertical axis (Z). Mobiler Roboter (100) nach einem der Ansprüche 18–39, wobei das Bein (130) eine variable Höhe (HL) aufweist.Mobile Robot ( 100 ) according to any one of claims 18-39, wherein the leg ( 130 ) has a variable height (H L ). Verfahren zur Objekterfassung für einen mobilen Roboter (100), wobei das Verfahren Folgendes umfasst: Rotieren eines Bildsensors (450) um eine vertikale Achse (Z) des Roboters (100), wobei der Bildgebungssensor (450) Licht auf eine Szene (10) um den Roboter (100) ausstrahlt und Bilder der Szene (10) aufnimmt, wobei die Bilder wenigstens eins von (a) einem dreidimensionalen Tiefenbild, (b) einem aktiven Beleuchtungsbild und (c) einem Umgebungsbeleuchtungsbild umfassen; Bestimmen eines Standorts eines Objekts (12) in der Szene (10) basierend auf den Bildern; Zuweisen eines Konfidenzniveaus für den Objektstandort; und Manövrieren des Roboters (100) in der Szene (10) basierend auf dem Objektstandort und dem entsprechenden Konfidenzniveau.Method for object detection for a mobile robot ( 100 ), the method comprising: rotating an image sensor ( 450 ) about a vertical axis (Z) of the robot ( 100 ), wherein the imaging sensor ( 450 ) Light on a scene ( 10 ) around the robot ( 100 ) and images of the scene ( 10 wherein the images comprise at least one of (a) a three-dimensional depth image, (b) an active illumination image, and (c) an ambient illumination image; Determining a Location of an Object ( 12 ) in the scene ( 10 ) based on the pictures; Assigning a confidence level for the object location; and maneuvering the robot ( 100 ) in the scene ( 10 ) based on the object location and the corresponding confidence level. Verfahren nach Anspruch 41, das ferner das Konstruieren einer Objektbelegungskarte (1700) der Szene (10) umfasst. The method of claim 41, further comprising constructing an object map ( 1700 ) of the scene ( 10 ). Verfahren nach Anspruch 40 oder 41, das ferner das Herabstufen des Konfidenzniveaus jedes Objektstandorts im Laufe der Zeit umfasst, bis der entsprechende Objektstandort mit einem neu bestimmten Objektstandort aktualisiert wird.The method of claim 40 or 41, further comprising demoting the confidence level of each object location over time until the corresponding object location is updated with a newly determined object location. Verfahren nach Anspruch 43, das ferner Folgendes umfasst: Erfassen eines Objekts (12) in einem Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, vorzugsweise unter Verwendung eines Totzonensensors (490, 2190) mit einem Erfassungsbereich (492, 2192), der angeordnet ist, um ein Objekt (12) im Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, zu erfassen; und Einstellen des Herunterstufen des Konfidenzniveaus des erfassten Objekts (12).The method of claim 43, further comprising: detecting an object ( 12 ) in a volume of space ( 453 ) used for the imaging sensor ( 450 ) is not detectable, preferably using a deadband sensor ( 490 . 2190 ) with a detection area ( 492 . 2192 ), which is arranged around an object ( 12 ) in the volume of space ( 453 ) used for the imaging sensor ( 450 ) is not detectable; and adjusting the downgrading of the confidence level of the detected object ( 12 ). Verfahren nach Anspruch 44, das ferner das Fortfahren mit dem Herunterstufen des Konfidenzniveaus des erfassten Objekts (12) umfasst, wenn erkannt wird, dass das Raumvolumen (453), das für den Bildgebungssensor (450) nicht erfassbar ist, frei vom Objekt (12) ist.The method of claim 44, further comprising continuing to downgrade the confidence level of the detected object. 12 ) when it is detected that the volume of space ( 453 ) used for the imaging sensor ( 450 ) is not detectable, free from the object ( 12 ). Verfahren nach einem der Ansprüche 41–45, das ferner das Manövrieren des Roboters (100) umfasst, um wenigstens: a) das Objekt (12) zu berühren und entlang eines Umfangs des Objekts (12) zu folgen oder b) dem Objekt (12) auszuweichen.The method of any of claims 41-45, further comprising maneuvering the robot ( 100 ) to at least: a) the object ( 12 ) and along a perimeter of the object ( 12 ) or b) the object ( 12 ) to evade. Verfahren nach einem der Ansprüche 41–46, das ferner das Ausstrahlen von Licht auf die Szene (10) in intermittierenden Impulsen umfasst, optional das Alternieren einer Frequenz der ausgestrahlten Lichtimpulse, vorzugsweise das Ausstrahlen der Lichtimpulse in einer ersten, energiesparenden Frequenz und nach dem Empfangen eines Sensorereignisses das Ausstrahlen der Lichtimpulse in einer zweiten, aktiven Frequenz, wobei das Sensorereignis vorzugsweise ein Sensorsignal umfasst, das das Vorhandensein eines Objekts (12) in der Szene (10) anzeigt.The method of any of claims 41-46, further comprising emitting light to the scene ( 10 in intermittent pulses, optionally alternating a frequency of the emitted light pulses, preferably radiating the light pulses at a first energy efficient frequency, and after receiving a sensor event, emitting the light pulses at a second active frequency, the sensor event preferably including a sensor signal that the presence of an object ( 12 ) in the scene ( 10 ). Verfahren nach einem der Ansprüche 41–47, das ferner das Erstellen des dreidimensionalen Tiefenbilds der Szene (10) umfasst, durch: Ausstrahlen eines Specklemusters an Licht auf die Szene (10); Empfangen von Reflexionen des Specklemusters vom Objekt (12) in der Szene (10); Speichern von Vergleichsbildern des Specklemusters, wie es von einem Vergleichsobjekt (12) in der Szene (10) reflektiert wird, wobei die Vergleichsbilder in unterschiedlichen Abständen (Zn) vom Vergleichsobjekt (12) aufgenommen werden; Aufnehmen von wenigstens einem Zielbild des Specklemusters, wie es von einem Zielobjekt (12) in der Szene (10) reflektiert wird; und Vergleichen. des wenigstens einen Zielbilds mit den Vergleichsbildern, um einen Abstand (ΔZ) der reflektierenden Oberflächen des Zielobjekts (12) zu bestimmen.The method of any of claims 41-47, further comprising creating the three-dimensional depth image of the scene ( 10 ) by: emitting a speckle pattern of light to the scene ( 10 ); Receiving reflections of the speckle pattern from the object ( 12 ) in the scene ( 10 ); Storing comparison images of the speckle pattern, as shown by a comparison object ( 12 ) in the scene ( 10 ), wherein the comparison images at different distances (Z n ) from the object to be compared ( 12 ) are recorded; Picking up at least one target image of the speckle pattern as seen from a target object ( 12 ) in the scene ( 10 ) is reflected; and compare. of the at least one target image with the comparison images by a distance (ΔZ) of the reflective surfaces of the target object ( 12 ). Verfahren nach Anspruch 48, das ferner das Bestimmen eines primären Specklemusters auf dem Zielobjekt (12) und das Errechnen wenigstens einer von einer Kreuzkorrelation bzw. einer Dekorrelation zwischen dem primären Specklemuster und den Specklemustern der Vergleichsbilder umfasst.The method of claim 48, further comprising determining a primary speckle pattern on the target object (16). 12 ) and calculating at least one of a cross-correlation or a decorrelation between the primary speckle pattern and the speckle patterns of the comparison images. Verfahren nach einem der Ansprüche 48 oder 49, das ferner das Aufnehmen von Bildern von Reflexionen des ausgestrahlten Specklemusters von Oberflächen des Zielobjekts (12) mit einer Bildrate, vorzugsweise zwischen etwa 10 Hz und etwa 90 Hz, und optional das Beseitigen von Unterschieden zwischen Specklemustern, die in aufeinanderfolgenden Bildern aufgenommen wurden, umfasst, um das Zielobjekt (12) zu identifizieren.A method according to any one of claims 48 or 49, further comprising taking images of reflections of the emitted speckle pattern from surfaces of the target object ( 12 ) at a frame rate, preferably between about 10 Hz and about 90 Hz, and optionally eliminating differences between speckle patterns taken in successive images to obtain the target object (Fig. 12 ) to identify.
DE112011104645T 2010-12-30 2011-11-09 Mobile human interface robot Withdrawn DE112011104645T5 (en)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US201061428759P 2010-12-30 2010-12-30
US201061428717P 2010-12-30 2010-12-30
US201061428734P 2010-12-30 2010-12-30
USUS-61/428,734 2010-12-30
USUS-61/428,759 2010-12-30
USUS-61/428,717 2010-12-30
US201161429863P 2011-01-05 2011-01-05
USUS-61/429,863 2011-01-05
US201161445408P 2011-02-22 2011-02-22
USUS-13/032,228 2011-02-22
US13/032,312 US8918209B2 (en) 2010-05-20 2011-02-22 Mobile human interface robot
USUS-13/032,312 2011-02-22
USUS-61/445,408 2011-02-22
US13/032,228 US9400503B2 (en) 2010-05-20 2011-02-22 Mobile human interface robot
US201161478849P 2011-04-25 2011-04-25
USUS-61/478,849 2011-04-25
PCT/US2011/059980 WO2012091807A2 (en) 2010-12-30 2011-11-09 Mobile human interface robot

Publications (1)

Publication Number Publication Date
DE112011104645T5 true DE112011104645T5 (en) 2013-10-10

Family

ID=45375473

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011104645T Withdrawn DE112011104645T5 (en) 2010-12-30 2011-11-09 Mobile human interface robot

Country Status (7)

Country Link
EP (1) EP2659320A2 (en)
JP (2) JP2014509417A (en)
AU (1) AU2011352997B2 (en)
CA (1) CA2824606A1 (en)
DE (1) DE112011104645T5 (en)
GB (1) GB2502213A (en)
WO (1) WO2012091807A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014206086A1 (en) 2014-03-31 2015-10-01 Robert Bosch Gmbh Method for operating a self-propelled mobile platform
DE102017117545A1 (en) * 2017-08-02 2019-02-07 Jungheinrich Aktiengesellschaft Method for monitoring the travel path of a truck and an industrial truck
DE102017217844A1 (en) * 2017-10-06 2019-04-11 Robert Bosch Gmbh Method and a machine learning system for classifying objects
DE102019117254B4 (en) * 2018-07-30 2020-11-26 Toyota Jidosha Kabushiki Kaisha Image processing device, method for image processing
DE102021000600A1 (en) 2021-02-05 2022-08-11 Mercedes-Benz Group AG Method and device for detecting impairments in the optical path of a stereo camera

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8958911B2 (en) * 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
CN102880178B (en) * 2012-08-23 2015-06-10 群耀光电科技(苏州)有限公司 Virtual wall system
PT2898384T (en) * 2012-09-19 2020-01-21 Follow Inspiration Unipessoal Lda Self tracking system and its operation method
US9367065B2 (en) 2013-01-25 2016-06-14 Google Inc. Modifying behavior of autonomous vehicles based on sensor blind spots and limitations
US11172126B2 (en) 2013-03-15 2021-11-09 Occipital, Inc. Methods for reducing power consumption of a 3D image capture system
US9208566B2 (en) 2013-08-09 2015-12-08 Microsoft Technology Licensing, Llc Speckle sensing for motion tracking
EP3191264A4 (en) 2014-09-12 2018-04-25 University of Washington Integration of auxiliary sensors with point cloud-based haptic rendering and virtual fixtures
JP6377536B2 (en) * 2015-01-15 2018-08-22 株式会社東芝 Spatial information visualization device, program, and spatial information visualization method
US9630319B2 (en) * 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
US9625582B2 (en) * 2015-03-25 2017-04-18 Google Inc. Vehicle with multiple light detection and ranging devices (LIDARs)
EP3203412A1 (en) * 2016-02-05 2017-08-09 Delphi Technologies, Inc. System and method for detecting hand gestures in a 3d space
WO2017157421A1 (en) * 2016-03-15 2017-09-21 Aktiebolaget Electrolux Robotic cleaning device and a method at the robotic cleaning device of performing cliff detection
US10394244B2 (en) * 2016-05-26 2019-08-27 Korea University Research And Business Foundation Method for controlling mobile robot based on Bayesian network learning
JP6786912B2 (en) * 2016-07-05 2020-11-18 富士ゼロックス株式会社 Mobile robots and mobile control systems
JP6565853B2 (en) * 2016-09-29 2019-08-28 トヨタ自動車株式会社 Communication device
KR101865161B1 (en) * 2016-12-13 2018-06-07 주식회사 아프리카티비 Video recording method and apparatus for controlling the same
JP6974821B2 (en) * 2017-03-27 2021-12-01 地方独立行政法人東京都立産業技術研究センター Mobile robot and control circuit
KR102326077B1 (en) * 2017-06-15 2021-11-12 엘지전자 주식회사 Method of identifying movable obstacle in 3-dimensional space and robot implementing thereof
CN107289967B (en) * 2017-08-17 2023-06-09 珠海一微半导体股份有限公司 Separable optical odometer and mobile robot
FR3070294B1 (en) 2017-08-28 2021-01-22 Fogale Nanotech MULTI-DISTANCE DETECTION DEVICE FOR A ROBOT, AND ROBOT EQUIPPED WITH SUCH DEVICE (S)
CN111630460A (en) * 2018-01-24 2020-09-04 福特全球技术公司 Path planning for autonomous mobile devices
US11879958B2 (en) 2018-06-06 2024-01-23 Honeywell International Inc. System and method for using an industrial manipulator for atmospheric characterization lidar optics positioning
KR102165352B1 (en) * 2018-06-25 2020-10-13 엘지전자 주식회사 Robot
JP7299642B2 (en) * 2018-08-30 2023-06-28 ヴェオ ロボティクス, インコーポレイテッド System and method for automatic sensor alignment and configuration
CN110967703A (en) * 2018-09-27 2020-04-07 广东美的生活电器制造有限公司 Indoor navigation method and indoor navigation device using laser radar and camera
US11921218B2 (en) * 2018-11-30 2024-03-05 Garmin Switzerland Gmbh Marine vessel LIDAR system
CN109828564B (en) * 2019-01-28 2022-06-17 广州杰赛科技股份有限公司 Optimization method and device for unmanned vehicle path planning and terminal equipment
US11607804B2 (en) * 2019-05-28 2023-03-21 X Development Llc Robot configuration with three-dimensional lidar
CN112338908B (en) * 2019-08-09 2022-07-22 科沃斯机器人股份有限公司 Autonomous mobile device
EP4037447A4 (en) * 2019-09-23 2022-09-21 Fuji Corporation Periphery monitoring device
RU2769921C2 (en) * 2019-11-21 2022-04-08 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Methods and systems for automated detection of the presence of objects
US11618167B2 (en) * 2019-12-24 2023-04-04 X Development Llc Pixelwise filterable depth maps for robots
CN111157996B (en) * 2020-01-06 2022-06-14 珠海丽亭智能科技有限公司 Parking robot running safety detection method
WO2023137552A1 (en) * 2022-01-21 2023-07-27 Kinova Inc. System for teaching a robotic arm
KR20240016707A (en) * 2022-07-29 2024-02-06 삼성전자주식회사 ROBOT COMPRISING LiDAR SENSOR AND CONTROLLING THE ROBOT
KR102479774B1 (en) * 2022-09-15 2022-12-21 주식회사 라스테크 Humanoid robot having robot arm
KR102631521B1 (en) * 2023-12-01 2024-01-31 주식회사세오 Autonomous robots with floor detection device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6323942B1 (en) 1999-04-30 2001-11-27 Canesta, Inc. CMOS-compatible three-dimensional image sensor IC
US6515740B2 (en) 2000-11-09 2003-02-04 Canesta, Inc. Methods for CMOS-compatible three-dimensional image sensing using quantum efficiency modulation
US7115849B2 (en) 1995-02-03 2006-10-03 The Regents Of The University Of Colorado Wavefront coding interference contrast imaging systems
US7158317B2 (en) 2002-03-14 2007-01-02 Ramot At Tel Aviv University Ltd. All optical extended “depth-of field” imaging system
WO2007043036A1 (en) 2005-10-11 2007-04-19 Prime Sense Ltd. Method and system for object reconstruction
US7433024B2 (en) 2006-02-27 2008-10-07 Prime Sense Ltd. Range mapping using speckle decorrelation

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202732A (en) * 1993-01-06 1994-07-22 Amada Metrecs Co Ltd Moving body operating device and security robot using same
JPH0764631A (en) * 1993-08-27 1995-03-10 Nissan Motor Co Ltd Path searching method for mobile investigating machine
JP3531268B2 (en) * 1995-04-05 2004-05-24 松下電器産業株式会社 Self-propelled vacuum cleaner
JPH09249908A (en) * 1996-03-14 1997-09-22 Kawasaki Steel Corp Method for controlling stopping position of truck for loading vertical type cylindrical vessel and device therefor
JP3601737B2 (en) * 1996-03-30 2004-12-15 技術研究組合医療福祉機器研究所 Transfer robot system
JP2000292538A (en) * 1999-04-07 2000-10-20 Mitsubishi Electric Corp Obstacle detector for vehicle
JP2003316438A (en) * 2002-04-22 2003-11-07 Fuji Heavy Ind Ltd Autonomous travelling service vehicle
JP2004034272A (en) * 2002-07-08 2004-02-05 Mitsubishi Heavy Ind Ltd Self-position identification device for movable body
JP2005216022A (en) * 2004-01-30 2005-08-11 Funai Electric Co Ltd Autonomous run robot cleaner
EP1741044B1 (en) * 2004-03-27 2011-09-14 Harvey Koselka Autonomous personal service robot
KR20060059006A (en) * 2004-11-26 2006-06-01 삼성전자주식회사 Method and apparatus of self-propelled mobile unit with obstacle avoidance during wall-following
EP2281668B1 (en) * 2005-09-30 2013-04-17 iRobot Corporation Companion robot for personal interaction
WO2007105205A2 (en) 2006-03-14 2007-09-20 Prime Sense Ltd. Three-dimensional sensing using speckle patterns
KR101290367B1 (en) * 2005-12-02 2013-07-26 아이로보트 코퍼레이션 Autonomous coverage robot navigation system
JP4506685B2 (en) * 2006-02-17 2010-07-21 トヨタ自動車株式会社 Mobile robot
CN101957994B (en) 2006-03-14 2014-03-19 普莱姆传感有限公司 Depth-varying light fields for three dimensional sensing
JP5167248B2 (en) 2006-05-11 2013-03-21 プライムセンス リミテッド Modeling of humanoid shape by depth map
US8350847B2 (en) 2007-01-21 2013-01-08 Primesense Ltd Depth mapping using multi-beam illumination
US8150142B2 (en) 2007-04-02 2012-04-03 Prime Sense Ltd. Depth mapping using projected patterns
TWI433052B (en) 2007-04-02 2014-04-01 Primesense Ltd Depth mapping using projected patterns
US8116910B2 (en) * 2007-08-23 2012-02-14 Intouch Technologies, Inc. Telepresence robot with a printer
JP2009070343A (en) * 2007-09-18 2009-04-02 Univ Of Electro-Communications Mobile body control apparatus
EP2235584B1 (en) 2008-01-21 2020-09-16 Apple Inc. Optical designs for zero order reduction
JP5081661B2 (en) * 2008-02-19 2012-11-28 株式会社Ihi Puddle detection device, unmanned traveling vehicle, and puddle detection method
JP4788722B2 (en) * 2008-02-26 2011-10-05 トヨタ自動車株式会社 Autonomous mobile robot, self-position estimation method, environmental map generation method, environmental map generation device, and environmental map data structure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7115849B2 (en) 1995-02-03 2006-10-03 The Regents Of The University Of Colorado Wavefront coding interference contrast imaging systems
US6323942B1 (en) 1999-04-30 2001-11-27 Canesta, Inc. CMOS-compatible three-dimensional image sensor IC
US6515740B2 (en) 2000-11-09 2003-02-04 Canesta, Inc. Methods for CMOS-compatible three-dimensional image sensing using quantum efficiency modulation
US7158317B2 (en) 2002-03-14 2007-01-02 Ramot At Tel Aviv University Ltd. All optical extended “depth-of field” imaging system
WO2007043036A1 (en) 2005-10-11 2007-04-19 Prime Sense Ltd. Method and system for object reconstruction
US7433024B2 (en) 2006-02-27 2008-10-07 Prime Sense Ltd. Range mapping using speckle decorrelation

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
35 U. S. C. §119(e)
35 U. S. C. §120
IEEE1588
Iryna Gordon und David G. Lowe, "What and where: 3D object recognition with accurate pose", Toward Category-Level Object Recognition, (Springer-Verlag, 2006), S. 67-82
Ivan Laptev, Barbara Caputo, Christian Schuldt und Tony Lindeberg (2007). "Local velocity-adapted motion events for spatio-temporal recognition". Computer Vision and Image Understanding 108: 207-229
Laptev, Ivan und Lindeberg, Tony (2004). "Local descriptors for spatio-temporal recognition". ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis, Springer Lecture Notes in Computer Science, Ausgabe 3667. S. 91-103
Niebles, J. C. Wang, H. und Li, Fei-Fei (2006). "Unsupervised Learning of Human Action Categories Using Spatial-Temporal Words". Proceedings of the British Machine Vision Conference (BMVC). Edinburgh
Rothganger, F; S. Lazebnik, C. Schmid und J. Ponce: 2004. 3D Object Modeling and Recognition Using Local Affine-Invariant Image Descriptors and Multi-View Spatial Constraints, ICCV
Scovanner, Paul; Ali, S; Shah, M (2007). "A 3-dimensional sift descriptor and its application to action recognition". Proceedings of the 15th International Conference an Multimedia. S. 357-360
Se, S.; Lowe, David G.; Little, J. (2001). "Vision-based mobile robot localization and mapping using scale-invariant features". Proceedings of the IEEE International Conference an Robotics and Automation (ICRA). 2. S. 2051 ff.

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014206086A1 (en) 2014-03-31 2015-10-01 Robert Bosch Gmbh Method for operating a self-propelled mobile platform
EP2927768A2 (en) 2014-03-31 2015-10-07 Robert Bosch Gmbh Method for operating a self-propelled mobile platform
US9637123B2 (en) 2014-03-31 2017-05-02 Robert Bosch Gmbh Method for operating a self-propelled mobile platform
DE102017117545A1 (en) * 2017-08-02 2019-02-07 Jungheinrich Aktiengesellschaft Method for monitoring the travel path of a truck and an industrial truck
US11027953B2 (en) 2017-08-02 2021-06-08 Jungheinrich Aktiengesellschaft Method for monitoring the road path of a truck and a floor conveyor
DE102017217844A1 (en) * 2017-10-06 2019-04-11 Robert Bosch Gmbh Method and a machine learning system for classifying objects
US11410022B2 (en) 2017-10-06 2022-08-09 Robert Bosch Gmbh Method and a machine learning system for classifying objects
DE102019117254B4 (en) * 2018-07-30 2020-11-26 Toyota Jidosha Kabushiki Kaisha Image processing device, method for image processing
US11715047B2 (en) 2018-07-30 2023-08-01 Toyota Jidosha Kabushiki Kaisha Image processing apparatus, image processing method
DE102021000600A1 (en) 2021-02-05 2022-08-11 Mercedes-Benz Group AG Method and device for detecting impairments in the optical path of a stereo camera

Also Published As

Publication number Publication date
JP2015092348A (en) 2015-05-14
AU2011352997A8 (en) 2013-09-05
JP5946147B2 (en) 2016-07-05
JP2014509417A (en) 2014-04-17
WO2012091807A2 (en) 2012-07-05
AU2011352997A1 (en) 2013-07-11
EP2659320A2 (en) 2013-11-06
WO2012091807A3 (en) 2013-07-25
GB2502213A (en) 2013-11-20
CA2824606A1 (en) 2012-07-05
AU2011352997B2 (en) 2015-06-18
GB201313410D0 (en) 2013-09-11

Similar Documents

Publication Publication Date Title
DE112011104645T5 (en) Mobile human interface robot
JP5963372B2 (en) How to make a mobile robot follow people
US20190375102A1 (en) Interfacing With a Mobile Telepresence Robot
US9751210B2 (en) Systems and methods for performing occlusion detection
US8918209B2 (en) Mobile human interface robot
Bauer et al. The autonomous city explorer: Towards natural human-robot interaction in urban environments
US20180114064A1 (en) Systems and Methods for Capturing Images and Annotating the Captured Images with Information
US20160188977A1 (en) Mobile Security Robot
Schneider et al. Fusing vision and lidar-synchronization, correction and occlusion reasoning
DE112011104644T5 (en) Mobile robot system
WO2011146259A2 (en) Mobile human interface robot
WO2016085717A1 (en) Systems and methods for performing simultaneous localization and mapping using machine vision systems
Chatterjee et al. Vision based autonomous robot navigation: algorithms and implementations
Lewis et al. Autonomous mobile robots: sensing, control, decision making and applications
Häselich et al. Calibration of multiple cameras to a 3D laser range finder
WO2020038155A1 (en) Autonomous movement device, control method and storage medium
Shacklock et al. Visual guidance for autonomous vehicles: capability and challenges
Kim et al. LiDAR configuration comparison for urban mapping system
Ruppelt et al. Stereo-camera visual odometry for outdoor areas and in dark indoor environments
Holz et al. Chapter Fast 3D Perception for Collision Avoidance and SLAM in Domestic Environments
Bonin-Font et al. A visual navigation strategy based on inverse perspective transformation
Redhu Real-Time Sensor Fusion for Accurate Obstacle Detection and Efficient Free Space Perception
Stiene et al. Virtual range scan for avoiding 3D obstacles using 2D tools
Tóth et al. Landmark finding algorithms for indoor autonomous mobile robot localization
Mascarenhas Active light for a small planetary rover

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: PETERREINS SCHLEY PATENT- UND RECHTSANWAELTE P, DE

Representative=s name: PETERREINS SCHLEY PATENT- UND RECHTSANWAELTE, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee