WO2020207910A1 - Verfahren zum steuern eines mobilen roboters - Google Patents
Verfahren zum steuern eines mobilen roboters Download PDFInfo
- Publication number
- WO2020207910A1 WO2020207910A1 PCT/EP2020/059517 EP2020059517W WO2020207910A1 WO 2020207910 A1 WO2020207910 A1 WO 2020207910A1 EP 2020059517 W EP2020059517 W EP 2020059517W WO 2020207910 A1 WO2020207910 A1 WO 2020207910A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pose
- approached
- correction
- predetermined
- robot
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012937 correction Methods 0.000 claims abstract description 65
- 238000013459 approach Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 description 15
- 230000018109 developmental process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0248—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
Definitions
- the present invention relates to a method and system for controlling a mobile robot and a computer program product for carrying out the method.
- a mobile robot can advantageously be controlled, for example in order to approach different work stations or the like.
- predetermined poses have so far often not been approached with sufficient precision.
- the dynamics and / or the wear and tear of the robot can lead to a deviation, for example an overrun of a predetermined pose or the like.
- changes in the environment can also lead to an undesirable deviation between the specified and actually approached pose, for example a different coefficient of friction and / or an, in particular temporary, obstacle that necessitates an, possibly temporary, change in a specified route for approaching specified poses .
- a method for navigating a robot along a route is known from WO 2017/066870 A1, in which an image sensor mounted on the robot records an image of a target with a target code, a distance between the robot and the target is determined, and an image sensor instruction based on the target code is used to control the robot if the distance is below a
- the object of the present invention is to improve the control of mobile robots.
- Claims 9, 10 provide a system or computer program product Carrying out a procedure described here under protection.
- the subclaims relate to advantageous developments.
- a method for controlling a mobile robot has the steps, which are repeated cyclically in one embodiment:
- the chassis is an omnidirectional chassis and / or has wheels, in particular driven and / or non-driven wheels and / or steered and / or unguided wheels, in one development all-round and / or
- Mecanum wheels, chains or the like Mecanum wheels, chains or the like.
- a pose comprises a one- or two-dimensional position of the chassis on the surface, in particular the floor surface, and / or an orientation or angular position of the chassis around a surface normal of the surface or
- the robot has a, in particular at least three-axis, in one embodiment at least six-axis, in a development at least seven-axis, robot arm.
- the robot can advantageously execute applications on predetermined poses of its chassis.
- a correction referred to as the first correction in the present case without loss of generality is based
- step a1) is carried out again in time after this step an), in particular in a subsequent cycle, and the first pose is approached on the basis of or taking into account this previously determined, in particular stored, first correction.
- the precision can be improved in one embodiment.
- a process time can be improved in this way in one embodiment, in particular in comparison to a (pure) readjustment after approaching the pose or (still) within a cycle.
- the control can advantageously be improved iteratively and / or self-learning or adaptively in one embodiment.
- this allows continuous and / or temporary changes to the robot and / or its Environment are advantageously at least partially compensated. If, for example, increasing wear and tear of the robot and / or decreasing friction with the surface leads to an increasingly stronger crossing of predetermined poses, this can be at least partially compensated for in a self-learning manner by means of corrections determined a route of the robot for approaching predetermined poses, which are poorly approached due to this route change, this can also be at least partially compensated for in a self-learning manner by corresponding (determined) corrections.
- the method or the respective cycle has the (additional) step:
- a correction is (then), in particular in or in time after this current step bn) - in the present case referred to as a second correction without restricting generality
- step an) is also carried out again in time after step a1) has been carried out again, in particular in the following cycle, and the second pose is approached based on or taking into account this previously determined, in particular stored, second correction.
- the method or the respective cycle has the (additional) step:
- step ai) is also carried out again in time between the repeated execution of step a1) and the repeated execution of step an), in one execution in the subsequent cycle, and the third pose is determined on the basis of or taking into account this previously , in particular stored, third correction approached.
- At least one second predetermined pose in addition to the first predetermined pose, at least one second predetermined pose, in a further development also one or more intermediate or predetermined third poses, are performed in an analogous manner corrected.
- the control can be (further) improved in one embodiment.
- first, second and optionally third pose (s) parts are connected to a predetermined route and / or by edges or “edges”.
- the determined first correction has a correction parameter, in a development a shift and / or rotation, of the first
- the determined second correction has a correction parameter, in a development a shift and / or rotation, of the second predetermined pose.
- the determined third correction in each case has a correction parameter, in a further development a displacement and / or rotation, of the (respective) third predetermined pose.
- this correction parameter is taken into account when approaching the respective predetermined pose, in particular added to it.
- step a1), an) or ai) is carried out again, an attempt is therefore made to move to the previously specified pose, and in addition to the
- Correction parameters are taken into account, in particular added to them, or the previously specified pose (also) approached or attempted to approach based on this correction parameter.
- a (first, second or third) predetermined pose can advantageously be used multiple times and / or an advantageous filtering or averaging can be implemented.
- the determined first correction has a new one in a
- the ascertained second correction has a new, shifted and / or rotated second correction in a further development
- the determined third correction (in each case) has a new, shifted and / or rotated, third predetermined pose in a further development.
- this new predetermined pose is used instead of the previous predetermined pose when performing steps a1), an) or ai) again, in one embodiment it is stored in its place, and the correction is thereby additionally taken into account or the pose for assuming the (New) specified pose approached based on the correction.
- memory requirements and / or the process time can be reduced in an embodiment.
- the robot executes an application on the first, second and / or third pose approached (each); in one embodiment, it picks up one or more transport goods there and / or releases one or more transport goods there.
- the present invention can be used with particular advantage in such robot (applications) n.
- poses given in this way can be used with particular advantage in such robot (applications) n.
- the correction of the poses can advantageously be integrated into the (normal or working) operation of the robot and, as a result, in particular, a process time can be reduced and / or the operation robust ( he) are executed.
- predetermined pose in each case manually, in particular by (previous) approach, predetermined, in one embodiment by saving this previously approached pose.
- poses can advantageously be specified in one embodiment, in particular quickly and / or flexibly.
- the robot moves to the first, second and / or third pose (each) autonomously, in particular in steps a1), an) and / or ai).
- autonomous robots can work (more) robustly and / or adapt themselves in a self-learning manner.
- the robot moves to the first, second and / or third pose (each) remotely, in particular to specify the pose (s) through (previous) Starting up and / or, in particular in a (normal or working) operation of the
- the first, second and / or third pose approached is (in each case) contactless, in one development with the aid of one or more, in one
- the first, second and / or third predetermined pose is or is predetermined in or with respect to the map of the surroundings.
- the environment and / or environment map can have location-specific or different codes, which are recorded by the camera (s) and on the basis of which the pose (s) approached is / are determined.
- the environment map is in one embodiment in a controller of the mobile robot, in another
- the determination of the poses approached, in particular their reliability, speed and / or precision, can be improved.
- the first correction is used to compensate and / or in the opposite direction to the deviation between the approached and specified first pose of the current step a1) and / or at least one earlier step a1),
- the second correction is used in one embodiment
- the third correction is used in one embodiment
- a system in particular in terms of hardware and / or software, in particular in terms of programming, is set up to carry out a method described here and / or has:
- the system or its means has:
- step a1) Execution of step a1) and approaching the second pose on the basis of this previously determined second correction.
- system or its means has:
- system or its means has:
- a means within the meaning of the present invention can be designed in terms of hardware and / or software, in particular a processing, in particular microprocessor unit (CPU), graphics card (GPU), preferably a data or signal connected to a memory and / or bus system, in particular a digital processing unit ) or the like, and / or one or more programs or program modules.
- the processing unit can be designed to receive commands that are implemented as one in one
- a storage system can have one or more,
- a computer program product can have, in particular, a non-volatile storage medium for storing a program or with a program stored thereon, execution of this program causing a system or a controller, in particular a computer, to use a program here to carry out the described method or one or more of its steps.
- one or more, in particular all, steps of the method are carried out completely or partially automatically, in particular by the system or its means.
- the system has the robot.
- the mean value of the deviations between the first, second and third approached and specified poses is in one embodiment a sliding mean value and / or an average value over at least three deviations and / or at most 500 deviations, in particular at most 200 deviations, in one Execution of a maximum of 100 deviations, in particular a maximum of 50 deviations.
- the filter value of the deviations between the first, second or third approached and specified poses filters out all deviations in one version and only (too) large deviations in another version.
- FIG. 1 shows a system according to an embodiment of the present invention
- Fig. 2 a method according to an embodiment of the present invention.
- FIG. 1 shows, in a plan view of a surface 20, a mobile robot 10 with a controller 11, a chassis 12 and an arm 15 during the repeated
- a first predetermined pose is exemplified by a corresponding one
- a first approached pose is exemplified by a corresponding one
- a first pose for assuming the first predetermined pose P1 is approached in repeated cycles (FIG. 2: step a1)) and the pose in this step a1 ) first pose P1 'approached in a step b1) without contact with the aid of a robot-fixed camera 13 and / or two robot-fixed laser distance sensors 14 and one
- a second pose for assuming the second predetermined pose Pn is approached in an analogous manner (FIG. 2: step on)) and the second pose Pn 'approached in this step an) in a step bn) without contact the robot-fixed camera 13 and / or the two robot-fixed laser distance sensors 14 and the stored map of the surroundings.
- step a1) is carried out again, with which a new one of the cycles described above begins.
- a first correction is determined on the basis of a moving average of the deviation between the approached and predefined first pose of the current step a1) and the deviations between the approached and predefined first pose of several earlier steps a1) repeating step a1) in the following cycle and thus in particular after (the current) step an) of the current cycle, the first pose is approached on the basis of this previously determined first correction.
- a second correction is determined on the basis of a sliding mean value of the deviation between the approached and predefined second pose of the current step an) and the deviations between the approached and predefined second pose of several earlier steps an) and at performing the step an) again in the subsequent cycle and thus in particular after the new one
- step a1) in the subsequent cycle the second pose is approached on the basis of this previously determined second correction.
- Correction is determined on the basis of a moving average of the deviation between the approached and specified third pose of the current step a2), ai) or a3) and the deviations between the approached and specified third pose of several earlier steps a2), ai) or a3) and when performing step a2), ai) or a3) again in the subsequent cycle and thus in particular at the time between performing step a1) again and performing step an) again in the subsequent cycle, this third pose based on this previously third correction determined.
- the correction is indicated for the predefined second pose Pn and the currently approached second pose Pn ', which includes a shift D and a rotation a, which are opposite to the mean value of the last ten deviations for the second pose.
- This correction parameter [D, a] t is taken into account in the next cycle when approaching the predefined second pose Pn, for example the displacement D is added to the position of the predefined second pose Pn and the rotation a is added to the angular position of the
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Nach einem erfindungsgemäßen Verfahren zum Steuern eines mobilen Roboters (10), mit den, insbesondere zyklisch wiederholten, Schritten: a1) Anfahren einer ersten Pose eines Fahrwerks (12) des Roboters auf einer Oberfläche (20) zum Einnehmen einer ersten vorgegebenen Pose (P1) des Fahrwerks; b1) Ermitteln der in diesem Schritt a1) angefahrenen ersten Pose (P1'); und an) Anfahren einer zweiten Pose des Fahrwerks auf der Oberfläche zum Einnehmen einer zweiten vorgegebenen Pose (Pn) des Fahrwerks zeitlich nach diesem Schritt a1); wobei - eine erste Korrektur auf Basis einer Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1) und/oder wenigstens eines früheren Schrittes a1), insbesondere eines Filter- und/oder Mittelwerts dieser Abweichungen, ermittelt wird; und Schritt a1) zeitlich nach diesem Schritt an) erneut durchgeführt und dabei die erste Pose auf Basis dieser zuvor ermittelten ersten Korrektur angefahren wird.
Description
Beschreibung
Verfahren zum Steuern eines mobilen Roboters
Die vorliegende Erfindung betrifft ein Verfahren und System zum Steuern eines mobilen Roboters sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
Mittels Vorgabe, insbesondere Teachen, bestimmter Posen kann ein mobiler Roboter vorteilhaft gesteuert werden, beispielsweise, um verschiedene Arbeitsstationen anzufahren oder dergleichen.
Dabei werden vorgegebene Posen bislang häufig nicht ausreichend präzise angefahren. So kann beispielsweise die Dynamik und/oder der Verschleiß des Roboters zu einer Abweichung, zum Beispiel einem Überfahren einer vorgegebenen Pose oder dergleichen, führen. Zusätzlich oder alternativ können auch Änderungen der Umgebung zu einer unerwünschten Abweichung zwischen der vorgegebenen und tatsächlich angefahrenen Pose führen, beispielsweise ein anderer Reibbeiwert und/oder ein, insbesondere temporäres, Hindernis, das eine, gegebenenfalls temporäre, Änderung einer vorgegebenen Route zum Anfahren vorgegebener Posen bedingt.
Aus der WO 2017/066870 A1 ist ein Verfahren zum Navigieren eines Roboters längs einer Route bekannt, bei dem ein auf dem Roboter montierter Bildsensor ein Bild eines Ziels mit einem Zielcode aufnimmt, eine Distanz zwischen dem Roboter und dem Ziel ermittelt wird, und eine auf dem Zielcode basierende Anweisung zum Steuern des Roboters verwendet wird, falls die Distanz unterhalb eines
Distanzschwellwertes liegt.
Aufgabe der vorliegenden Erfindung ist es, das Steuern mobiler Roboter zu verbessern.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 9, 10 stellen ein System bzw. Computerprogrammprodukt zur
Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Steuern eines mobilen Roboters die, in einer Ausführung zyklisch wiederholten, Schritte auf:
(in einem Zyklus jeweils)
a1) Anfahren einer Pose eines Fahrwerks des Roboters auf einer Oberfläche, insbesondere Bodenfläche, zum Einnehmen einer vorgegebenen Pose des Fahrwerks, wobei diese Posen ohne Beschränkung der Allgemeinheit als (angefahrene) erste Pose bzw. erste vorgegebene Pose bezeichnet werden; b1) Ermitteln der in diesem (aktuellen) Schritt a1) angefahrenen ersten Pose (des Fahrwerks); und
an) Anfahren einer weiteren Pose des Fahrwerks auf der Oberfläche zum
Einnehmen einer weiteren vorgegebenen Pose des Fahrwerks zeitlich nach diesem (aktuellen) Schritt a1 ), wobei diese weiteren Posen ohne
Beschränkung der Allgemeinheit als (angefahrene) zweite Pose bzw. zweite vorgegebene Pose bezeichnet werden.
In einer Ausführung ist das Fahrwerk ein omnidirektionales Fahrwerk und/oder weist Räder, insbesondere angetriebene und/oder antriebslose Räder und/oder gelenkte und/oder ungelenkte Räder, in einer Weiterbildung Allseiten- und/oder
Mecanum-Räder, Ketten oder dergleichen auf.
Eine Pose umfasst in einer Ausführung eine ein- oder zweidimensionale Position des Fahrwerks auf der Oberfläche, insbesondere Bodenfläche, und/oder eine Orientierung bzw. Winkellage des Fahrwerks um eine Oberflächennormale der Ober- bzw.
Bodenfläche.
In einer Ausführung weist der Roboter einen, insbesondere wenigstens dreiachsigen, in einer Ausführung wenigstens sechsachsigen, in einer Weiterbildung wenigstens siebenachsigen, Roboterarm auf. Hierdurch kann der Roboter in einer Ausführung vorteilhaft Applikationen an vorgegebenen Posen seines Fahrwerks ausführen.
Nach einer Ausführung der vorliegenden Erfindung wird, in einer Weiterbildung im oder zeitlich nach dem aktuell( durchgeführt)en Schritt b1 ), eine vorliegend ohne Beschränkung der Allgemeinheit als erste Korrektur bezeichnete Korrektur auf Basis
- einer Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1 ) bzw. des Schrittes a1), an den sich der aktuelle Schritt b1) anschließt bzw. des Schrittes a1 ) des aktuellen Zyklus, und/oder
- einer Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose wenigstens eines früher( bzw. vor dem aktuellen Schritt a1) durchgeführt)en Schrittes a1) bzw. des Schrittes a1) wenigstens eines früheren Zyklus,
insbesondere
- den Abweichungen zwischen der angefahrenen und vorgegebenen ersten Pose mehrerer früher(bzw. vor dem aktuellen Schritt a1) durchgeführt)er Schritte a1 ) bzw. der Schritte a1 ) mehrerer früherer Zyklen,
ermittelt, in einer Ausführung auf Basis eines Filter- und/oder Mittelwerts dieser Abweichungen.
Nach einer Ausführung der vorliegenden Erfindung wird Schritt a1 ) zeitlich nach diesem Schritt an), insbesondere in einem nachfolgenden Zyklus, erneut durchgeführt und dabei die erste Pose auf Basis bzw. unter Berücksichtigung dieser zuvor ermittelten, insbesondere abgespeicherten, ersten Korrektur angefahren.
Hierdurch kann in einer Ausführung bei diesem erneuten Anfahren einer ersten Pose zum Einnehmen einer bzw. der ersten vorgegebenen Pose eine Abweichung zwischen dieser vorgegebenen und der dabei tatsächlich angefahrenen Pose, in einer Ausführung selbstlernend, reduziert werden.
Dadurch kann in einer Ausführung die Präzision verbessert werden. Zusätzlich oder alternativ kann hierdurch in einer Ausführung eine Prozesszeit verbessert werden, insbesondere im Vergleich zu einem (reinen) Nachkorrigieren jeweils nach Anfahren der Pose bzw. (noch) innerhalb eines Zyklus.
Durch die Berücksichtigung früherer Abweichungen und/oder eine Filterung und/oder Mittelwertbildung kann in einer Ausführung vorteilhaft die Steuerung iterativ und/oder selbstlernend bzw. adaptiv verbessert werden. Insbesondere können hierdurch kontinuierliche und/oder temporäre Veränderungen des Roboters und/oder seiner
Umwelt vorteilhaft wenigstens teilweise kompensiert werden. Führt beispielsweise zunehmender Verschleiß des Roboters und/oder abnehmende Reibung mit der Oberfläche zu einem zunehmend stärkeren Überfahren vorgegebener Posen, kann dies selbstlernend durch entsprechend( ermittelte Korrekturen wenigstens teilweise kompensiert werden. Führt zum Beispiel ein, insbesondere temporäres, Hindernis zu einer (temporären) Änderung einer Route des Roboters zum Anfahren vorgegebener Posen, wobei diese aufgrund dieser Routenänderung schlecht(er) angefahren werden, kann auch dies selbstlernend durch entsprechend( ermittelt)e Korrekturen wenigstens teilweise kompensiert werden.
In einer Ausführung weist das Verfahren bzw. der jeweilige Zyklus den (zusätzlichen) Schritt auf:
bn) Ermitteln der in dem (aktuellen) Schritt an) angefahrenen zweiten Pose.
In einer Weiterbildung wird (dann), insbesondere in oder zeitlich nach diesem aktuellen Schritt bn), eine - vorliegend ohne Beschränkung der Allgemeinheit als zweite Korrektur bezeichnete - Korrektur auf Basis
- einer Abweichung zwischen der angefahrenen und vorgegebenen zweiten Pose des aktuellen Schrittes an) bzw. des Schrittes an), an den sich der aktuelle Schritt bn) anschließt bzw. des Schrittes an) des aktuellen Zyklus, und/oder
- einer Abweichung zwischen der angefahrenen und vorgegebenen zweiten Pose wenigstens eines früher(bzw. vor dem aktuellen Schritt an) durchgeführt)en
Schrittes an) bzw. des Schrittes an) wenigstens eines früheren Zyklus,
insbesondere
- den Abweichungen zwischen der angefahrenen und vorgegebenen zweiten Pose mehrerer früher(bzw. vor dem aktuellen Schritt an) durchgeführt)er Schritte an) bzw. der Schritte an) mehrerer früherer Zyklen,
ermittelt, in einer Ausführung auf Basis eines Filter- und/oder Mittelwerts dieser Abweichungen.
In einer Ausführung wird Schritt an) zeitlich nach der erneuten Durchführung des Schrittes a1), insbesondere also in dem nachfolgenden Zyklus, ebenfalls erneut durchgeführt und dabei die zweite Pose auf Basis bzw. unter Berücksichtigung dieser zuvor ermittelten, insbesondere abgespeicherten, zweiten Korrektur angefahren.
In einer Ausführung weist das Verfahren bzw. der jeweilige Zyklus den (zusätzlichen) Schritt auf:
ai) Anfahren wenigstens einer weiteren Pose des Fahrwerks auf der Oberfläche zum Einnehmen einer weiteren vorgegebenen Pose des Fahrwerks zeitlich zwischen (dem aktuellen) Schritt a1 ) und (dem aktuellen) Schritt an), wobei diese weiteren Posen ohne Beschränkung der Allgemeinheit als (angefahrene) dritte Pose bzw. dritte vorgegebene Pose bezeichnet werden; und
bi) Ermitteln der in diesem (aktuellen) Schritt ai) angefahrenen dritten Pose.
In einer Weiterbildung wird (dann), in einer Ausführung in oder zeitlich nach diesem aktuellen Schritt bi), eine - vorliegend ohne Beschränkung der Allgemeinheit als dritte Korrektur bezeichnete - Korrektur auf Basis
- einer Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose des aktuellen Schrittes ai) bzw. des Schrittes ai), an den sich der aktuelle Schritt bi) anschließt bzw. des Schrittes ai) des aktuellen Zyklus, und/oder
- einer Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose wenigstens eines früher(bzw. vor dem aktuellen Schritt ai) durchgeführt)en
Schrittes ai) bzw. des Schrittes ai) wenigstens eines früheren Zyklus,
insbesondere
- den Abweichungen zwischen der angefahrenen und vorgegebenen dritten Pose mehrerer früher(bzw. vor dem aktuellen Schritt ai) durchgeführt)er Schritte ai) bzw. der Schritte ai) mehrerer früherer Zyklen,
ermittelt, in einer Ausführung auf Basis eines Filter- und/oder Mittelwerts dieser Abweichungen.
In einer Ausführung wird Schritt ai) zeitlich zwischen der erneuten Durchführung des Schrittes a1) und der erneuten Durchführung des Schrittes an), in einer Ausführung in dem nachfolgenden Zyklus, ebenfalls erneut durchgeführt und dabei die dritte Pose auf Basis bzw. unter Berücksichtigung dieser zuvor ermittelten, insbesondere abgespeicherten, dritten Korrektur angefahren.
Somit werden in einer Ausführung zusätzlich zu der ersten vorgegebenen Pose auch wenigstens eine zweite vorgegebene Pose, in einer Weiterbildung auch eine oder mehrere dazwischen angefahrene bzw. vorgegebene dritte Posen, in analoger Weise
korrigiert. Hierdurch kann in einer Ausführung die Steuerung (weiter) verbessert werden.
In einer Ausführung sind die erste, zweite und gegebenenfalls dritte(n) Pose(n) Teil, insbesondere Knoten bzw.„nodes“, einer vorgegebenen Route und/oder durch Kanten bzw.„edges“ verbunden.
In einer Ausführung weist die ermittelte erste Korrektur einen Korrekturparameter, in einer Weiterbildung eine Verschiebung und/oder Verdrehung, der ersten
vorgegebenen Pose auf. Zusätzlich oder alternativ weist in einer Ausführung die ermittelte zweite Korrektur einen Korrekturparameter, in einer Weiterbildung eine Verschiebung und/oder Verdrehung, der zweiten vorgegebenen Pose auf. Zusätzlich oder alternativ weist in einer Ausführung die ermittelte dritte Korrektur (jeweils) einen Korrekturparameter, in einer Weiterbildung eine Verschiebung und/oder Verdrehung, der (jeweiligen) dritten vorgegebenen Pose auf.
In einer Ausführung wird dieser Korrekturparameter beim Anfahren der jeweiligen vorgegebenen Pose berücksichtigt, insbesondere zu dieser hinzuaddiert. In einer Ausführung wird beim erneuten Durchführen des Schrittes a1 ), an) bzw. ai) somit versucht, die bisher vorgegebene Pose anzufahren, und dabei zusätzlich der
Korrekturparameter berücksichtigt, insbesondere zu dieser hinzuaddiert, bzw. die bisher vorgegebene Pose (auch) auf Basis dieses Korrekturparameters angefahren bzw. anzufahren versucht. Dadurch kann in einer Ausführung eine (erste, zweite bzw. dritte) vorgegebene Pose vorteilhaft mehrfach genutzt und/oder eine vorteilhafte Filterung bzw. Mittelwertbildung realisiert werden.
In einer Ausführung weist die ermittelte erste Korrektur eine neue, in einer
Weiterbildung verschobene und/oder verdrehte, erste vorgegebene Pose auf.
Zusätzlich oder alternativ weist in einer Ausführung die ermittelte zweite Korrektur eine neue, in einer Weiterbildung verschobene und/oder verdrehte, zweite
vorgegebene Pose auf. Zusätzlich oder alternativ weist in einer Ausführung die ermittelte dritte Korrektur (jeweils) eine neue, in einer Weiterbildung verschobene und/oder verdrehte, dritte vorgegebene Pose auf.
In einer Ausführung wird diese neue vorgegebene Pose beim erneuten Durchführen des Schrittes a1), an) bzw. ai) anstelle der bisherigen vorgegebenen Pose genutzt, in einer Ausführung an ihrer statt abgespeichert, und dadurch zusätzlich die Korrektur berücksichtigt bzw. die Pose zum Einnehmen der (neuen) vorgegebenen Pose auf Basis der Korrektur angefahren. Dadurch kann in einer Ausführung Speicherbedarf und/oder die Prozesszeit reduziert werden.
In einer Ausführung führt der Roboter an der angefahrenen ersten, zweiten und/oder dritten Pose (jeweils) eine Applikation aus, in einer Ausführung nimmt er dort ein oder mehrere T ransportgüter auf und/oder gibt dort ein oder mehrere Transportgüter ab.
Bei solchen Roboter(applikatione)n kann die vorliegende Erfindung mit besonderem Vorteil verwendet werden. Insbesondere können so vorgegebene Posen,
insbesondere Arbeitsstationen, bei Bedarf verändert und diese anschließend vorteilhaft, insbesondere schnell(er) und/oder präzise(r) angefahren werden.
Durch die Ermittlung der Korrektur auf Basis von angefahrenen Posen, an denen der Roboter Applikationen ausführt, kann die Korrektur der Posen vorteilhaft in den (Normal- bzw. Arbeits)Betrieb des Roboters integriert und hierdurch insbesondere eine Prozesszeit reduziert und/oder der Betrieb robust(er) ausgeführt werden.
In einer Ausführung ist, insbesondere wird, die erste, zweite und/oder dritte
vorgegebene Pose (jeweils) manuell, insbesondere durch (vorheriges) Anfahren, vorgegeben, in einer Ausführung durch Abspeichern dieser vorab angefahrenen Pose.
Hierdurch können Posen in einer Ausführung vorteilhaft, insbesondere schnell und/oder flexibel, vorgegeben werden.
In einer Ausführung fährt der Roboter die erste, zweite und/oder dritte Pose (jeweils) autonom an, insbesondere in den Schritten a1 ), an) und/oder ai). Hierdurch können in einer Ausführung autonome Roboter robust(er) arbeiten und/oder sich selbstlernend anpassen.
In einer Ausführung fährt der Roboter die erste, zweite und/oder dritte Pose (jeweils) ferngesteuert an, insbesondere zum Vorgeben der Pose(n) durch (vorheriges)
Anfahren und/oder, insbesondere in einem (Normal- bzw. Arbeits)Betrieb des
Roboters durch eine zentrale Steuerung ferngesteuert.
In einer Ausführung wird die angefahrene erste, zweite und/oder dritte Pose (jeweils) berührungslos, in einer Weiterbildung mithilfe einer oder mehrerer, in einer
Ausführung roboterfester, Kameras, wenigstes einem oder mehreren, in einer
Ausführung roboterfesten, Abstandssensoren und/oder einer Umgebungskarte ermittelt. In einer Weiterbildung wird bzw. ist die erste, zweite und/oder dritte vorgegebene Pose in bzw. bezüglich der Umgebungskarte vorgegeben. Zusätzlich oder alternativ kann die Umgebung und/oder Umgebungskarte ortsspezifische bzw. unterschiedliche Codes aufweisen, die durch die Kamera(s) erfasst und auf deren Basis die angefahrene(n) Pose(n) ermittelt wird/werden. Die Umgebungskarte ist in einer Ausführung in einer Steuerung des mobilen Roboters, in einer anderen
Ausführung außerhalb des mobilen Roboters bzw. seiner Steuerung, in einer
Weiterbildung auf einem Server oder dergleichen abgespeichert.
Hierdurch kann in einer Ausführung die Ermittlung der angefahrenen Posen, insbesondere deren Zuverlässigkeit, Geschwindigkeit und/oder Präzision, verbessert werden.
In einer Ausführung wird die erste Korrektur zur Kompensation und/oder gegensinnig zu der Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1 ) und/oder wenigstens eines früheren Schrittes a1 ),
insbesondere des Filter- und/oder Mittelwerts dieser Abweichungen, bzw. derart bzw. mit der Maßgabe ermittelt, dass durch diese erste Korrektur bzw. das Anfahren der ersten Pose bei erneuter Durchführung des Schrittes a1 ) auf Basis dieser ersten Korrektur die Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose bei erneuter Durchführung des Schrittes a1) (voraussichtlich) reduziert wird bzw. ist.
Zusätzlich oder alternativ wird in einer Ausführung die zweite Korrektur zur
Kompensation und/oder gegensinnig zu der Abweichung zwischen der angefahrenen und vorgegebenen zweiten Pose des aktuellen Schrittes an) und/oder wenigstens eines früheren Schrittes an), insbesondere des Filter- und/oder Mittelwerts dieser Abweichungen, bzw. derart bzw. mit der Maßgabe ermittelt, dass durch diese zweite
Korrektur bzw. das Anfahren der zweiten Pose bei erneuter Durchführung des Schrittes an) auf Basis dieser zweiten Korrektur die Abweichung zwischen der angefahrenen und vorgegebenen zweiten Pose bei erneuter Durchführung des Schrittes an) (voraussichtlich) reduziert wird bzw. ist.
Zusätzlich oder alternativ wird in einer Ausführung die dritte Korrektur zur
Kompensation und/oder gegensinnig zu der Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose des aktuellen Schrittes ai) und/oder wenigstens eines früheren Schrittes ai), insbesondere des Filter- und/oder Mittelwerts dieser
Abweichungen, bzw. derart bzw. mit der Maßgabe ermittelt, dass durch diese dritte Korrektur bzw. das Anfahren der dritten Pose bei erneuter Durchführung des Schrittes ai) auf Basis dieser dritten Korrektur die Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose bei erneuter Durchführung des Schrittes ai)
(voraussichtlich) reduziert wird bzw. ist.
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder Software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum Anfahren einer ersten Pose eines Fahrwerks des Roboters auf einer Oberfläche zum Einnehmen einer ersten vorgegebenen Pose des Fahrwerks in einem Schritt a1);
- Mittel zum Ermitteln der in diesem Schritt a1 ) angefahrenen ersten Pose in einem Schritt b1 );
- Mittel zum Anfahren einer zweiten Pose des Fahrwerks auf der Oberfläche zum Einnehmen einer zweiten vorgegebenen Pose des Fahrwerks zeitlich nach diesem Schritt a1 ) in einem Schritt an);
- Mittel zum Ermitteln einer ersten Korrektur auf Basis einer Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1 ) und/oder wenigstens eines früheren Schrittes a1), insbesondere eines
Filter- und/oder Mittelwerts dieser Abweichungen; und
- Mittel zum erneuten Durchführen von Schritt a1) zeitlich nach diesem Schritt an) und Anfahren der ersten Pose auf Basis dieser zuvor ermittelten ersten Korrektur dabei.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Ermitteln der in dem Schritt an) angefahrenen zweiten Pose in einem Schritt bn);
- Mittel zum Ermitteln einer zweiten Korrektur auf Basis einer Abweichung zwischen der angefahrenen und vorgegebenen zweiten Pose des aktuellen Schrittes an) und/oder wenigstens eines früheren Schrittes an), insbesondere eines Filter- und/oder Mittelwerts dieser Abweichungen; und
- Mittel zum erneuten Durchführen von Schritt an) zeitlich nach der erneuten
Durchführung des Schrittes a1 ) und Anfahren der zweiten Pose auf Basis dieser zuvor ermittelten zweiten Korrektur dabei.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Anfahren einer dritten Pose des Fahrwerks auf der Oberfläche zum Einnehmen einer dritten vorgegebenen Pose des Fahrwerks zwischen Schritt a1) und Schritt an) in einem Schritt ai);
- Mittel zum Ermitteln der in diesem Schritt ai) angefahrenen dritten Pose in einem Schritt bi);
- Mittel zum Ermitteln einer dritten Korrektur auf Basis einer Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose des aktuellen Schrittes ai) und/oder wenigstens eines früheren Schrittes ai), insbesondere eines Filter- und/oder Mittelwerts dieser Abweichungen;
- Mittel zum erneuten Durchführen von Schritt ai) zeitlich zwischen den erneut durchgeführten Schritten a1 ) und an) und Anfahren der dritten Pose auf Basis dieser zuvor ermittelten dritten Korrektur dabei.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Ausführen einer Applikation mithilfe des, insbesondere durch den, Roboter(s) an wenigstens einer der angefahrenen Posen, insbesondere zum Aufnehmen und/oder Abgeben wenigstens eines Transportguts;
- Mittel zum autonomen oder ferngesteuerten Anfahren wenigstens einer der Posen mit dem Roboter; und/oder
- Mittel zum Ermitteln wenigstens einer der angefahrenen Posen berührungslos, insbesondere mithilfe wenigstes einer, insbesondere roboterfesten, Kamera,
wenigstes einem, insbesondere roboterfesten, Abstandssensor und/oder einer Umgebungskarte.
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem
Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten,
Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere,
insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Roboter steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
In einer Ausführung weist das System den Roboter auf.
Der Mittelwert der Abweichungen zwischen den ersten, zweiten bzw. dritten angefahrenen und vorgegebenen Posen ist in einer Ausführung ein gleitender Mittelwert und/oder ein Mittelwert über wenigstens drei Abweichungen und/oder höchstens 500 Abweichungen, insbesondere höchstens 200 Abweichungen, in einer
Ausführung höchstens 100 Abweichungen, insbesondere höchstens 50 Abweichungen.
Der Filterwert der Abweichungen zwischen den ersten, zweiten bzw. dritten angefahrenen und vorgegebenen Posen filtert in einer Ausführung alle, in einer anderen Ausführung nur (zu) große Abweichungen.
Hierdurch kann in einer Ausführung jeweils, insbesondere in Kombination, ein rasche(re)s und/oder robuste(re)s, Selbstlernen realisiert werden.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
Fig. 1 : ein System nach einer Ausführung der vorliegenden Erfindung; und
Fig. 2: ein Verfahren nach einer Ausführung der vorliegenden Erfindung.
Fig. 1 zeigt in einer Draufsicht auf eine Oberfläche 20 einen mobilen Roboter 10 mit einer Steuerung 11 , einem Fahrwerk 12 und einem Arm 15 beim wiederholten
Abfahren einer vorgegebenen Route (gestrichelt in Fig. 1 ), auf der mehrere Posen des Fahrwerks auf der Oberfläche 20 vorgegeben sind.
Exemplarisch ist eine erste vorgegebene Pose durch ein entsprechendes
Koordinatensystem P1 angedeutet, eine zweite vorgegebene Pose durch ein
Koordinatensystem Pn und drei dazwischen nacheinander anzufahrende bzw.
einzunehmende dritte Posen durch die Koordinatensysteme P2, Pi und P3.
Fährt der mobile Roboter 10 diese vorgegebenen Posen ab, um an entsprechenden Arbeitsstationen 101 - 105 beispielsweise Transportgüter 106 aufzunehmen oder abzugeben, können, zum Beispiel aufgrund seiner Dynamik, von Verschleiß in seinem Fahrwerk, einer geänderten Reibung mit der Oberfläche 20 oder einer Umplanung der Route zur Vermeidung einer Kollision mit neu hinzugekommenen Hindernissen, die tatsächlich angefahrenen von den entsprechenden vorgegebenen Posen abweichen.
Exemplarisch ist eine erste angefahrene Pose durch ein entsprechendes
Koordinatensystem P1‘ angedeutet, eine zweite angefahrene Pose durch ein
Koordinatensystem Pn‘ und die drei dazwischen nacheinander angefahrenen dritten Posen durch die Koordinatensysteme P2‘, Pi‘ und P3‘.
Nach einem mithilfe der bzw. durch die Steuerung 11 ausgeführten Verfahren nach einer Ausführung der vorliegenden Erfindung wird in wiederholten Zyklen jeweils zunächst eine erste Pose zum Einnehmen der ersten vorgegebenen Pose P1 angefahren (Fig. 2: Schritt a1)) und die in diesem Schritt a1 ) angefahrene erste Pose P1‘ in einem Schritt b1 ) berührungslos mithilfe einer roboterfesten Kamera 13 und/oder zwei roboterfesten Laser-Abstandssensoren 14 sowie einer
Umgebungskarte ermittelt, die in der Steuerung 11 oder außerhalb der Steuerung 1 1 , in einer Ausführung auf einem Server (nicht dargestellt), abgespeichert ist.
Anschließend werden im jeweiligen bzw. aktuellen Zyklus in analoger Weise jeweils drei dritten Posen zum Einnehmen der (jeweiligen) dritten vorgegebenen Pose P2, Pi bzw. P3 angefahren (Fig. 2: Schritt a2), ai) bzw. a3)) und die in diesen Schritten angefahrenen dritten Posen P2‘, Pi‘ bzw. P3‘ jeweils berührungslos mithilfe der roboterfesten Kamera 13 und/oder den zwei roboterfesten Laser-Abstandssensoren 14 sowie der abgespeicherten Umgebungskarte ermittelt (Fig. 2: Schritt b2), bi) bzw. b3)).
Anschließend wird im jeweiligen bzw. aktuellen Zyklus in analoger Weise eine zweite Pose zum Einnehmen der zweiten vorgegebenen Pose Pn angefahren (Fig. 2: Schritt an)) und die in diesem Schritt an) angefahrene zweite Pose Pn‘ in einem Schritt bn) berührungslos mithilfe der roboterfesten Kamera 13 und/oder der zwei roboterfesten Laser-Abstandssensoren 14 sowie der abgespeicherten Umgebungskarte ermittelt.
Anschließend wird Schritt a1) erneut durchgeführt, womit ein neuer der oben beschriebenen Zyklen beginnt.
Im aktuellen Schritt b1 ) wird jeweils eine erste Korrektur auf Basis eines gleitenden Mittelwerts der Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1 ) und den Abweichungen zwischen der angefahrenen und vorgegebenen ersten Pose mehrerer früherer Schritte a1 ) ermittelt und beim
erneuten Durchführen des Schrittes a1 ) in dem darauffolgenden Zyklus und somit insbesondere zeitlich nach (dem aktuellen) Schritt an) des aktuellen Zyklus die erste Pose auf Basis dieser zuvor ermittelten ersten Korrektur angefahren.
In analoger Weise wird im aktuellen Schritt bn) jeweils eine zweite Korrektur auf Basis eines gleitenden Mittelwerts der Abweichung zwischen der angefahrenen und vorgegebenen zweiten Pose des aktuellen Schrittes an) und den Abweichungen zwischen der angefahrenen und vorgegebenen zweiten Pose mehrerer früherer Schritte an) ermittelt und beim erneuten Durchführen des Schrittes an) in dem darauffolgenden Zyklus und somit insbesondere zeitlich nach der erneuten
Durchführung des Schrittes a1) in dem darauffolgenden Zyklus die zweite Pose auf Basis dieser zuvor ermittelten zweiten Korrektur angefahren.
In analoger Weise wird im aktuellen Schritt b2), bi) und b3) jeweils eine dritte
Korrektur auf Basis eines gleitenden Mittelwerts der Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose des aktuellen Schrittes a2), ai) bzw. a3) und den Abweichungen zwischen der angefahrenen und vorgegebenen dritten Pose mehrerer früherer Schritte a2), ai) bzw. a3) ermittelt und beim erneuten Durchführen des Schrittes a2), ai) bzw. a3) in dem darauffolgenden Zyklus und somit insbesondere zeitlich zwischen der erneuten Durchführung des Schrittes a1 ) und der erneuten Durchführung des Schrittes an) in dem darauffolgenden Zyklus diese dritte Pose auf Basis dieser zuvor ermittelten dritten Korrektur angefahren.
Zur Veranschaulichung ist für die vorgegebene zweite Pose Pn und die aktuell angefahrene zweite Pose Pn‘ die Korrektur angedeutet, die eine Verschiebung D und eine Verdrehung a umfasst, welche gegensinnig zum Mittelwert der letzten zehn Abweichungen für die zweite Pose sind. Dieser Korrekturparameter [D,a]t wird im nächsten Zyklus beim Anfahren der vorgegebenen zweiten Pose Pn entsprechend berücksichtigt, beispielsweise die Verschiebung D zur Position der vorgegebenen zweiten Pose Pn hinzuaddiert und die Verdrehung a zur Winkellage der
vorgegebenen zweiten Pose Pn hinzuaddiert.
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen
Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die
Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die
Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten
Merkmalskombinationen ergibt.
Bezuqszeichenliste
10 mobiler Roboter
1 1 Steuerung
12 Fahrwerk
13 Kamera
14 Laser-Abstandssensor
15 Arm
20 Oberfläche
101 - 105 Arbeitsstation
106 T ransportgut
P1 erste vorgegebene Pose
P1‘ angefahrene erste Pose
P2; Pi; P3 dritte vorgegebene Pose
P2‘; Pi‘; P3‘ angefahrene dritte Pose
Pn zweite vorgegebene Pose
Pn‘ angefahrene zweite Pose
D Verschiebung (Korrektur)
a Verdrehung (Korrektur)
a1 , ... bn Schritt
Claims
1. Verfahren zum Steuern eines mobilen Roboters (10), mit den, insbesondere
zyklisch wiederholten, Schritten:
a1 ) Anfahren einer ersten Pose eines Fahrwerks (12) des Roboters auf einer Oberfläche (20) zum Einnehmen einer ersten vorgegebenen Pose (P1) des Fahrwerks;
b1 ) Ermitteln der in diesem Schritt a1 ) angefahrenen ersten Pose (P1‘); und an) Anfahren einer zweiten Pose des Fahrwerks auf der Oberfläche zum
Einnehmen einer zweiten vorgegebenen Pose (Pn) des Fahrwerks zeitlich nach diesem Schritt a1 );
wobei
- eine erste Korrektur auf Basis einer Abweichung zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1) und/oder wenigstens eines früheren Schrittes a1 ), insbesondere eines Filter- und/oder Mittelwerts dieser Abweichungen, ermittelt wird; und
- Schritt a1) zeitlich nach diesem Schritt an) erneut durchgeführt und dabei die erste Pose auf Basis dieser zuvor ermittelten ersten Korrektur angefahren wird.
2. Verfahren nach Anspruch 1 , gekennzeichnet durch den Schritt:
bn) Ermitteln der in diesem Schritt an) angefahrenen zweiten Pose (Pn‘);
wobei
- eine zweite Korrektur (D,a) auf Basis einer Abweichung zwischen der
angefahrenen und vorgegebenen zweiten Pose des aktuellen Schrittes an) und/oder wenigstens eines früheren Schrittes an), insbesondere eines
Filter- und/oder Mittelwerts dieser Abweichungen, ermittelt wird; und
- Schritt an) zeitlich nach der erneuten Durchführung des Schrittes a1 ) ebenfalls erneut durchgeführt und dabei die zweite Pose auf Basis dieser zuvor ermittelten zweiten Korrektur angefahren wird.
3. Verfahren nach dem vorhergehenden Anspruch, gekennzeichnet durch die
Schritte:
ai) Anfahren einer dritten Pose des Fahrwerks auf der Oberfläche zum
Einnehmen einer dritten vorgegebenen Pose (Pi) des Fahrwerks zwischen Schritt a1 ) und Schritt an); und
bi) Ermitteln der in diesem Schritt ai) angefahrenen dritten Pose (Pi‘);
wobei
- eine dritte Korrektur auf Basis einer Abweichung zwischen der angefahrenen und vorgegebenen dritten Pose des aktuellen Schrittes ai) und/oder wenigstens eines früheren Schrittes ai), insbesondere eines Filter- und/oder Mittelwerts dieser Abweichungen, ermittelt und
- Schritt ai) zeitlich zwischen den erneut durchgeführten Schritten a1) und an) ebenfalls erneut durchgeführt und dabei die dritte Pose auf Basis dieser zuvor ermittelten dritten Korrektur angefahren wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eine ermittelte Korrektur einen Korrekturparameter, insbesondere eine Verschiebung (D) und/oder Verdrehung (a), oder eine neue, insbesondere verschobene und/oder verdrehte, vorgegebene Pose aufweist.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Roboter an wenigstens einer der angefahrenen Posen eine Applikation ausführt, insbesondere wenigstens ein T ransportgut (106) aufnimmt und/oder abgibt.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eine vorgegebene Pose manuell, insbesondere durch Anfahren dieser Pose, vorgegeben ist.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Roboter wenigstens eine der Posen autonom oder ferngesteuert anfährt.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eine der angefahrenen Posen berührungslos, insbesondere mithilfe wenigstes einer, insbesondere roboterfesten, Kamera (13), wenigstes einem, insbesondere roboterfesten, Abstandssensor (14) und/oder einer
Umgebungskarte ermittelt wird.
9. System zum Steuern eines mobilen Roboters (10), das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:
- Mittel zum Anfahren einer ersten Pose eines Fahrwerks (12) des Roboters auf einer Oberfläche (20) zum Einnehmen einer ersten vorgegebenen Pose (P1 ) des Fahrwerks in einem Schritt a1 );
- Mittel zum Ermitteln der in diesem Schritt a1) angefahrenen ersten Pose (P1‘) in einem Schritt b1 );
- Mittel zum Anfahren einer zweiten Pose des Fahrwerks auf der Oberfläche
zum Einnehmen einer zweiten vorgegebenen Pose (Pn) zeitlich nach diesem
Schritt a1) in einem Schritt an);
- Mittel zum Ermitteln einer ersten Korrektur auf Basis einer Abweichung
zwischen der angefahrenen und vorgegebenen ersten Pose des aktuellen Schrittes a1 ) und/oder wenigstens eines früheren Schrittes a1 ), insbesondere eines Filter- und/oder Mittelwerts dieser Abweichungen; und
- Mittel zum erneuten Durchführen von Schritt a1 ) zeitlich nach diesem Schritt an) und Anfahren der ersten Pose auf Basis dieser zuvor ermittelten ersten
Korrektur dabei.
10. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019205247.9A DE102019205247A1 (de) | 2019-04-11 | 2019-04-11 | Verfahren zum Steuern eines mobilen Roboters |
DE102019205247.9 | 2019-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020207910A1 true WO2020207910A1 (de) | 2020-10-15 |
Family
ID=70189953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2020/059517 WO2020207910A1 (de) | 2019-04-11 | 2020-04-03 | Verfahren zum steuern eines mobilen roboters |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102019205247A1 (de) |
WO (1) | WO2020207910A1 (de) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5957984A (en) * | 1994-09-06 | 1999-09-28 | Siemens Aktiengesellschaft | Method of determining the position of a landmark in the environment map of a self-propelled unit, the distance of the landmark from the unit being determined dynamically by the latter |
WO2017066870A1 (en) | 2015-10-19 | 2017-04-27 | Aseco Investment Corp. | Vision-based system for navigating a robot through an indoor space |
WO2017068417A2 (en) * | 2015-10-22 | 2017-04-27 | Greyorange Pte. Ltd. | Automated fault diagnosis and recovery of machines |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3614165A1 (de) * | 1986-04-26 | 1987-10-29 | Kloeckner Humboldt Deutz Ag | Transportsystem fuer serienfertigungen |
US5161467A (en) * | 1986-11-05 | 1992-11-10 | Mitsubishi Denki K.K. | Industrial robot system |
FR2648071B1 (fr) * | 1989-06-07 | 1995-05-19 | Onet | Procede et appareil autonomes de nettoyage automatique de sol par execution de missions programmees |
SE1050763A1 (sv) * | 2010-07-08 | 2010-07-12 | Abb Research Ltd | En metod för att kalibrera en mobil robot |
JP6879478B2 (ja) * | 2014-12-16 | 2021-06-02 | アクチエボラゲット エレクトロルックス | ロボット掃除機のための経験ベースロードマップ |
DE202016002864U1 (de) * | 2016-05-02 | 2016-09-21 | Kuka Roboter Gmbh | Mobiles Messsystem |
-
2019
- 2019-04-11 DE DE102019205247.9A patent/DE102019205247A1/de active Pending
-
2020
- 2020-04-03 WO PCT/EP2020/059517 patent/WO2020207910A1/de active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5957984A (en) * | 1994-09-06 | 1999-09-28 | Siemens Aktiengesellschaft | Method of determining the position of a landmark in the environment map of a self-propelled unit, the distance of the landmark from the unit being determined dynamically by the latter |
WO2017066870A1 (en) | 2015-10-19 | 2017-04-27 | Aseco Investment Corp. | Vision-based system for navigating a robot through an indoor space |
WO2017068417A2 (en) * | 2015-10-22 | 2017-04-27 | Greyorange Pte. Ltd. | Automated fault diagnosis and recovery of machines |
Non-Patent Citations (1)
Title |
---|
AGOSTINO MARTINELLI ET AL: "Simultaneous localization and odometry self calibration for mobile robot", AUTONOMOUS ROBOTS, KLUWER ACADEMIC PUBLISHERS, BO, vol. 22, no. 1, 16 September 2006 (2006-09-16), pages 75 - 85, XP019477650, ISSN: 1573-7527, DOI: 10.1007/S10514-006-9006-7 * |
Also Published As
Publication number | Publication date |
---|---|
DE102019205247A1 (de) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3365211B1 (de) | Verfahren und vorrichtung zum verringern eines kollisionsrisikos einer kollision eines kraftfahrzeugs mit einem objekt | |
DE102016216441B3 (de) | Verfahren und Vorrichtung zur Mensch-Roboter Kooperation | |
EP3623116A1 (de) | Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators | |
DE102014224193B4 (de) | Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters | |
DE102011005513A1 (de) | Roboter und Verfahren zum Betreiben eines Roboters | |
EP2502713B1 (de) | Roboter, Steuervorrichtung für einen Roboter und Verfahren zum Betreiben eines Roboters | |
DE102016003231A1 (de) | Verfahren zum Steuern eines zumindest teilautonom betriebenen Kraftfahrzeugs und Kraftfahrzeug | |
WO2005039836A2 (de) | Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung | |
EP2208584B1 (de) | Verfahren zur Steuerung von Industrierobotern | |
DE102017005194B3 (de) | Steuern einer Roboteranordnung | |
EP3623884A1 (de) | Produktions- oder werkzeugmaschine und verfahren zum betrieb einer produktions- oder werkzeugmaschine | |
WO2020207910A1 (de) | Verfahren zum steuern eines mobilen roboters | |
EP3710900B1 (de) | Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls | |
WO2019219790A1 (de) | Robotersteuerung | |
WO2021190947A1 (de) | Verfahren zum justieren eines roboterarms | |
EP4329992A1 (de) | Verfahren und system zum koordinierten abfahren vorgegebener roboterbahnen | |
DE102015225587A1 (de) | Interaktionssystem und Verfahren zur Interaktion zwischen einer Person und mindestens einer Robotereinheit | |
WO2018060060A1 (de) | Verfahren zum betreiben von sich autonom bewegenden plattformen und hindernisschutzsensor | |
WO2020174052A1 (de) | Abfahren eines pfades mit einem mobilen roboter | |
WO2021122173A1 (de) | Verfahren und system zum steuern eines roboters | |
EP3720663A1 (de) | Betreiben eines roboters | |
EP3810377A1 (de) | Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose | |
DE102017005350A1 (de) | Prozesssteuerung | |
EP3518059B1 (de) | Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine | |
EP3788450A1 (de) | Automatisierungsanlage und modellierungsverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20717159 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20717159 Country of ref document: EP Kind code of ref document: A1 |