WO2025233249A1 - Ermitteln eines roboterraumbereiches - Google Patents
Ermitteln eines roboterraumbereichesInfo
- Publication number
- WO2025233249A1 WO2025233249A1 PCT/EP2025/062108 EP2025062108W WO2025233249A1 WO 2025233249 A1 WO2025233249 A1 WO 2025233249A1 EP 2025062108 W EP2025062108 W EP 2025062108W WO 2025233249 A1 WO2025233249 A1 WO 2025233249A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- voxels
- voxel
- environment
- occupied
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1674—Program controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/881—Radar or analogous systems specially adapted for specific applications for robotics
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40442—Voxel map, 3-D grid map
Definitions
- the present invention relates to a method for determining a robot space area and a method for determining a distance between a robot and an obstacle or for planning and/or executing a robot application, which includes the method for determining a robot space area, and a system, computer program or computer program product for carrying out a method described herein.
- One object of an embodiment of the present invention is to improve the determination of a robot space area and/or a distance between a robot and an obstacle and/or the planning and/or execution of a robot application.
- Claims 11 and 13 protect a system, computer program, and computer program product for carrying out a method described herein.
- the dependent claims relate to advantageous embodiments.
- a method for determining a robot space area comprises the step:
- a room area that is blocked off for a robot may in particular consist of the following, in particular the robot room area
- - be a spatial area identified as blocked or inaccessible to a robot, or a spatial area identified or determined as permitted or accessible to a robot, and a spatial area distinct from this that is identified or determined as blocked to a robot, in particular consisting of this.
- the robot has at least three, preferably at least six, and in a further embodiment at least seven, (motion) axes or joints and, preferably, electromechanical drives for adjusting these (motion) axes or joints. Additionally or alternatively, in one embodiment, the robot has a mobile base, preferably a chassis. The present invention is particularly suitable for such robots due to their requirements and kinematics.
- Providing virtual environment points includes receiving (data, in particular coordinates, from) virtual environment points and/or loading (data, in particular coordinates, from) virtual environment points into memory.
- providing virtual environment points includes, in particular, Numerical determination of (data, in particular coordinates, of) virtual environmental points based on radar sensor data.
- the method or provision of virtual environmental points based on radar sensor data also includes determining the radar sensor data using one or more radar sensors.
- virtual environmental points are determined based on radar echoes from the robot's environment and/or represent, preferably radar-detected, (real) (environmental) points of the robot's environment.
- the method for determining the robot's space comprises the following steps:
- an environment model which has voxels to which occupancy probabilities, preferably numerical, are assigned based on the provided (virtual) environment points, preferably in a data or storage-related manner, wherein in one embodiment a higher occupancy probability denotes a higher probability that the corresponding voxel is occupied, in particular by an obstacle, or blocked or inaccessible to the robot; and
- a voxel is a two-dimensional surface or, particularly advantageously, a three-dimensional spatial element, which can be cuboid-shaped (bounded or defined).
- the robot's space can correspond to the environment model, for example, containing only its voxels that are determined to be occupied, blocked, or inaccessible to the robot according to their occupancy probability; only its voxels that are determined to be occupied, allowed, or accessible to the robot according to their occupancy probability; or both voxels, where these represent a allowed or...
- robot to define an accessible and a distinct, blocked or inaccessible (robot) subspace (area).
- a voxel identified as blocked or inaccessible for a robot is specifically referred to as an occupied voxel.
- the robot's workspace based on the environment model multiple times, preferably cyclically. This advantageously allows a current robot workspace to be determined at any given time, particularly for determining the distance between a robot and an obstacle or for planning and/or executing a robot application.
- environment point velocities of the virtual environment points are also provided based on radar sensor data.
- these ambient point velocities are previous or past, preferably preceding, ambient point velocities of the virtual ambient points, preferably ambient point velocities determined on the basis of radar sensor data on which previously, or in a previous, preferably the last, cycle provided virtual ambient points are based.
- this provisioning includes
- Environmental point velocities involve retrieving stored, previously determined data (especially magnitudes and/or directions) of velocities of virtual environmental points.
- providing environmental point velocities based on radar sensor data also includes determining the radar sensor data using the radar sensor(s).
- velocities of virtual environmental points are...
- the velocities of the surrounding points (“surrounding point velocities”) are determined based on radar echoes from the robot’s environment and/or represent radar-sensor-detected velocities of the (real) surrounding points represented by the virtual surrounding points.
- occupancy probabilities of voxels (of the environment model) are (also) updated based on these provided environment point velocities.
- radar sensors can determine not only environmental points but also their velocities, and that obstacles whose points previously exhibited radial velocities directed towards the robot, or negative radial velocities, particularly velocity components or fractions, increase the probability that spatial segments, or the voxels of the environmental model representing them, which lie in the direction of movement of these points or obstacles, are now or will be occupied by them. Therefore, by considering the environmental point velocities, especially previous ones, the determination of robot spatial regions, and in particular its reliability, can be improved.
- occupancy probabilities of voxels are updated based on virtual radar beams traversing them, preferably numerically, in particular geometrically, modeled or simulated.
- the occupancy probability of a voxel in the environment model is increased due to virtual environment points located within that voxel.
- a higher number of virtual environment points within a voxel can, in particular, increase the occupancy probability more significantly.
- previous virtual environment points, or those considered in at least one previous cycle or update can also be taken into account in a single execution.
- the occupancy probability of a voxel can be increased due to virtual environment points that were previously located within or determined within that voxel.
- unoccupied robot space voxels are determined based on voxels of the environment model whose occupancy probabilities meet a predefined non-occupancy condition; in a further development, they fall below a predefined threshold; preferably, voxels of the environment model are determined as unoccupied robot space voxels of the robot space if their occupancy probabilities meet a predefined threshold. To meet the non-enrollment condition, to fall below a specified threshold in a further education course.
- occupied robot room area voxels of the robot room area are determined based on voxels of the environment model whose occupancy probabilities meet a predefined occupancy condition, reach or exceed a predefined threshold in a further development, preferably voxels of the environment model are determined as occupied robot room area voxels of the robot room area, (if) their occupancy probabilities meet a predefined occupancy condition, reach or exceed a predefined threshold in a further development.
- voxels of the robot room area can be actively identified as unoccupied (robot room area voxel) if the unoccupancy condition is met, and otherwise, or by default, assumed to be occupied in further training, which can significantly increase security.
- the unoccupancy and occupancy conditions can be complementary, meaning that voxels of the robot room area that are not identified as unoccupied (robot room area voxel) can be identified as occupied (robot room area voxel), and vice versa.
- occupied voxels of the robot space correspond to voxels of the environment model whose occupancy probabilities satisfy a predefined occupancy condition
- unoccupied voxels of the robot space correspond to voxels of the environment model whose occupancy probabilities satisfy a predefined non-occupancy condition
- a voxel velocity is determined for one or more voxels of the environment model (each) based on the provided environmental point velocities, preferably the environmental point velocities of one or more virtual environmental points located within that voxel.
- the voxel velocity can be determined, in particular, based on a statistical value, especially a mean value, a maximum value, or another norm of the environmental point velocities.
- the ambient point velocities can be, in particular, previous or earlier ambient point velocities.
- the voxel velocity in one implementation can also be a previous or earlier voxel velocity, determined based on the (previous or earlier) ambient point velocities of those virtual ambient points that were located in the corresponding voxel when this ambient point velocity was determined by radar sensors. Therefore, in one implementation, virtual ambient points and the ambient point velocities of these virtual ambient points, representing (real) points in the robot's environment and their velocities, are determined in a (first) cycle based on the radar sensor data provided in this (first) cycle.
- a voxel velocity is determined for each voxel of the environment model based on the environmental point velocities of those virtual environmental points that lie or lay in the corresponding voxel in the (respective first) cycle for which the environmental point velocities were determined, for example, as a statistical value, in particular mean, maximum value, or the like.
- This voxel velocity is then used as the determined voxel velocity in a subsequent (second) cycle.
- the occupancy probability of one or more (to be examined) voxels of the environment model is increased because or if these (to be examined) voxels met or meet the following conditions:
- the (to be examined) voxel is adjacent to a voxel whose occupancy probability, particularly in the preceding or first cycle, has fulfilled a or the specified occupancy condition ("occupied neighboring voxel of the not yet updated environment model") and whose voxel velocity, determined particularly in the preceding cycle, is or was directed towards the robot or not away from the robot; and
- the (to be examined) voxel is arranged in the direction of a virtual connecting line from the robot to this occupied neighboring voxel between the robot and this occupied neighboring voxel.
- the virtual radar beams used to update voxel occupancy probabilities originate (virtually) from the (respective) radar sensor whose radar sensor data is used and end either (only) at an edge of the environment model or at the nearest occupied voxel of the environment model to this radar sensor, whose occupancy probabilities satisfy a predefined occupancy condition, so that in one implementation they cover all intermediate voxels.
- the virtual radar beam is modeled, defined, or determined such that it extends to the edge of the environment model or, if present in its direction or intersected by it, to the nearest occupied voxel whose occupancy probabilities satisfy a predefined occupancy condition.
- the occupancy probabilities of these (intermediate) voxels of the environment model are reduced as a result of a virtual radar beam traversing the respective voxel.
- the occupancy probability is reduced for each voxel, preferably only once, if at least one virtual radar beam traverses it, whereby multiple virtual radar beams traversing it preferably do not lead to a cumulative reduction of the occupancy probability.
- crossing refers to the virtual radar beam entering and exiting the voxel, such that the virtual radar beam does not cross the voxel (the one closest to the radar sensor) at which it terminates, as defined by the present invention.
- a virtual radar beam has the following characteristics: The form of a straight line or a (straight) path between the (respective) radar sensor and the edge of the environment model or, if present in its direction or encountered by it, the nearest occupied voxel to the radar sensor.
- the virtual radar beams used have different directions; in a further development, they cover an area scanned by the (respective) radar sensor and/or are modeled or simulated accordingly.
- the radar sensor data is acquired using at least one radar sensor arranged on, preferably on or above, the robot. This simplifies the investigations described here, since the virtual radar beams then originate from the robot, so to speak, or correspond to virtual connecting lines from the robot to occupied voxels.
- a method for determining a distance between a robot and an obstacle comprises the following steps:
- a distance can be determined in a manner known per se as the shortest Cartesian distance between a geometric representation of a, preferably obstacle-adjacent, member of the robot and the robot space (super)voxel representing this obstacle.
- the robot space area is discretized in one implementation as robot space area voxels. These can correspond to voxels of the environment model, or in a further development, be voxels of the environment model themselves, for example, by assigning the voxels of the environment model, in addition to the occupancy probability and, if applicable, the voxel velocity, a classification into two or more classes, for example, ⁇ "occupied/blocked/inaccessible";
- voxels of the environment model and/or robot space area voxels are stored, preferably indexed, in a tree structure, or, in a particularly advantageous further development, in an octree. This allows neighboring voxels to be identified very efficiently by means of a single increment of one of their indices and, if they are adjacent occupied voxels, merged.
- a method for planning and/or executing a robot application comprises the following steps:
- - Planning and/or executing a robot application based on the determined robot space area preferably planning and/or executing a robot movement in a space area defined according to identified or determined as being permitted or accessible to a robot using a method described herein, and/or by avoiding a spatial area that has been identified or determined as being blocked or inaccessible to a robot using a method described herein.
- the distance between the robot and an obstacle is determined according to a method described herein, and the robot application is planned or executed based on this determined distance.
- a robot movement is planned or executed in such a way that a predetermined minimum distance is not breached and/or, if a predetermined reaction distance is breached, a reaction is triggered by the robot, for example, a warning is issued, an evasive movement is performed, a speed is reduced, preferably a stop is executed, or the like.
- collision detection or avoidance is performed based on the determined robot space area or distance, preferably during the planning and/or execution of a robot application.
- a system in particular in terms of hardware and/or software, in particular in terms of programming, is set up and/or has the following features for carrying out a method described herein:
- system or its means exhibit:
- system or its means has the following features in one version:
- system or its means exhibit:
- a means according to the present invention can be configured as hardware and/or software, in particular comprising at least one processing unit, preferably a microprocessor unit (CPU), graphics processing unit (GPU), or the like, preferably connected to a storage and/or bus system via data or signals, and/or comprising one or more programs or program modules.
- the processing unit can be configured to execute instructions implemented as a program stored in a storage system, to acquire input signals from a data bus, and/or to output signals to a data bus.
- a storage system can comprise one or more, in particular different, storage media, in particular optical, magnetic, solid-state, and/or other non-volatile media.
- the program can be configured such that it embodies or is capable of executing the methods described herein, enabling the processing unit to perform the steps of such methods and thus, in particular, to determine a robot's workspace or the distance between a robot and an obstacle, or to plan and/or execute a robot application.
- a computer program product can, in one embodiment, comprise one, in particular The program or instructions must be a computer-readable and/or non-volatile storage medium for storing a program or instructions, or containing a program or instructions stored thereon.
- the execution of this program or these instructions by a system or controller causes the system or controller, in particular the computer(s), to execute a procedure described herein or one or more of its steps, or the program or instructions are configured for this purpose.
- one or more, in particular all, steps of the procedure are fully or partially computer-implemented, or one or more, in particular all, steps of the procedure are fully or partially automated, in particular by the system or its means.
- the system includes the robot and/or the radar sensor(s).
- Fig. 1 a system for carrying out a method according to an embodiment of the present invention
- Fig. 2 a method for planning and/or executing a robot application comprising a method for determining a distance between a robot and an obstacle comprising a method for determining a robot space area according to an embodiment of the present invention.
- Fig. 1 shows a system for carrying out a method according to an embodiment of the present invention with a robot 1, by way of example two radar sensors 21, 22, a computer 31 for determining a distance between the robot and obstacles based on a 31 determined robot space area, and a robot control 32, Fig. 2 the method according to an embodiment of the present invention.
- step S10 new radar sensor data are acquired using radar sensors 21 and 22 (in each initial cycle). Based on this radar sensor data, virtual environment points of the robot 1's environment are then determined in step S20. Based on these environment points, occupancy probabilities of an environment model are updated in a first stage, as explained in more detail in the aforementioned article (step S30).
- step S40 a first voxel of the environment model is selected, and in step S42, it is checked whether the selected voxel is the last voxel to be checked. Since this is not the case for the first voxel (S42: "N"), in step S44, it is checked for this voxel whether it was identified as an occupied voxel in the previous cycle and whether its voxel velocity, determined in the previous cycle, was directed towards Robot 1 (corresponding default values may be provided for the first cycle).
- step S48 the procedure or the computer executes step S42 again.
- the voxel is determined in step S46 as an occupied potential neighbor voxel, a virtual connecting line is drawn from robot 1 to this occupied potential neighbor voxel, and the occupancy probability determined above in step S30 or the first update stage is increased for the voxel that is located in the direction of this virtual connecting line between the robot and this occupied (then no longer just potential) neighbor voxel and is adjacent to it.
- the underlying idea is that it is more likely that the obstacle that caused the neighboring voxel to be occupied in the previous cycle will now also occupy the voxel currently being examined, due to the voxel velocity.
- step S50 a virtual radar beam is modeled with a first direction from the respective radar sensor to the voxel closest to the radar sensor in that direction, whose occupancy probability reaches or exceeds a threshold value, or which has already been determined to be occupied, or, if no such occupied voxel exists in that direction, to the edge of the environment model.
- the virtual radar beam is modeled such that it extends to the edge of the environment model or, if present in its direction or intersected by it, to the occupied voxel closest to the radar sensor.
- step S52 it is checked whether all directions to be investigated, covering the area scanned by radar sensors 21 and 22, have been processed. Since this is not the case for the first direction (S52: "N"), in step S54, for each voxel of the environment model touched by this virtual radar beam, it is checked whether its occupancy probability has already been updated in this cycle as a result of a virtual radar beam traversing it, or whether it is an occupied voxel (and therefore not traversed by the virtual radar beam, since the latter terminates at the voxel closest to the radar sensor in its direction).
- next direction is selected as the next direction to be examined (step S58) and the procedure or computer performs step S52 again.
- step S56 the occupancy probability of the corresponding voxel is reduced (step S56) and the procedure or computer continues with step S58.
- the procedure described above reduces the occupancy probability for each voxel (only once) if at least one virtual radar beam crosses it, whereby multiple virtual radar beams crossing it do not lead to a further or cumulative reduction of the occupancy probability.
- step S60 new voxel velocities are determined based on the radar sensor data, for example, as the average or maximum value of radar-determined velocities of surrounding points located within the corresponding voxel. These voxel velocities are then used in the next cycle in steps S44.
- step S70 the voxels of the environment model whose (multi-stage, see especially steps S30, S46 and S56) updated occupancy probabilities reach or exceed a predefined threshold are identified as occupied robot space area voxels. Then, in step S80, neighboring occupied robot space area voxels are identified and merged. Finally, in step S90, a distance between robot 1 and an obstacle is determined based on the shortest distance between a segment of robot 1 and the nearest occupied robot space area voxel.
- step S100 an application of the robot is then planned (or possibly replanned) in step S100 and carried out (or possibly continued) in step S110.
- a new cycle begins upon returning to step S10.
- one of the radar sensors 21, 22 can be omitted and/or at least one radar sensor can be arranged in a different location and/or additional radar sensors can be present.
- the robot controller 32 and the computer 31 can be integrated, or the determination of the distance between the robot and the obstacle or the robot's working area can be carried out by the robot controller 32.
- Voxel velocities can also be determined according to other rules, purely as an example by filtering or other algorithmic processing of the corresponding surrounding point velocities.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Ein Verfahren zum Ermitteln eines Roboterraumbereiches umfasst: Bereitstellen (S20) von virtuellen Umgebungspunkten einer Umgebung des Roboters auf Basis von Radarsensordaten; Aktualisieren eines Umgebungsmodells, welches Voxel aufweist, denen auf Basis der bereitgestellten Umgebungspunkte Belegungswahrscheinlichkeiten zugeordnet sind; und Ermitteln (S70) eines Roboterraumbereiches auf Basis der Voxel und der diesen zugeordneten Belegungswahrscheinlichkeiten des aktualisierten Umgebungsmodells; wobei Umgebungspunktgeschwindigkeiten der virtuellen Umgebungspunkte auf Basis von Radarsensordaten bereitgestellt und Belegungswahrscheinlichkeiten von Voxeln auf Basis dieser bereitgestellten Umgebungspunktgeschwindigkeiten aktualisiert werden (S46); und/oder Belegungswahrscheinlichkeiten von Voxeln auf Basis von sie durchquerenden virtuellen Radarstrahlen aktualisiert werden (S56). Die Erfindung betrifft außerdem ein Verfahren zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis, ein Verfahren zum Planen und/oder Durchführen einer Roboterapplikation sowie ein System bzw. Computerprogramm(produkt).
Description
Beschreibung
Ermitteln eines Roboterraumbereiches
Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln eines Roboterraumbereiches sowie ein Verfahren zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis bzw. zum Planen und/oder Durchführen einer Roboterapplikation, welches das Verfahren zum Ermitteln eines Roboterraumbereiches umfasst, sowie ein System, Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens.
Insbesondere zum Planen und/oder Durchführen von Roboterapplikationen ist es oft erforderlich, einen Raumbereich, der für einen Roboter (un)zugänglich ist, und/oder einen Abstand zwischen einem Roboter und einem Hindernis zu ermitteln.
Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Ermitteln eines Roboterraum bereiches und/oder eines Abstands zwischen einem Roboter und einem Hindernis und/oder das Planen und/oder Durchführen einer Roboterapplikation zu verbessern.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 7 bzw. 9 gelöst. Ansprüche 11 , 13 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Ermitteln eines Roboterraum bereiches den Schritt:
- Bereitstellen von virtuellen Umgebungspunkten einer Umgebung des Roboters auf Basis von Radarsensordaten.
Zur kompakteren Darstellung werden vorliegend insbesondere sowohl ein für einen Roboter erlaubter bzw. zugänglicher Raumbereich als auch ein für einen Roboter gesperrter bzw. unzugänglicher Raumbereich gemeinsam als „Roboterraumbereich“ bezeichnet. Entsprechend weist in einer Ausführung ein Roboterraumbereich im Sinne der vorliegenden Erfindung
- einen Raumbereich, der als für einen Roboter erlaubt bzw. zugänglich ist, und/oder
- einen Raumbereich, der als für einen bzw. den Roboter gesperrt ist, auf, kann insbesondere hieraus bestehen, insbesondere kann der Roboterraumbereich
- ein (als) für einen Roboter erlaubt( identifizierter bzw. zugänglich( identifizierter Raumbereich oder
- ein (als) für einen Roboter gesperrt identif iziert)er bzw. unzugänglich identifizierter Raumbereich sein oder einen Raumbereich, der als für einen Roboter erlaubt bzw. zugänglich identifiziert bzw. ermittelt ist, und einen hiervon unterschiedenen Raumbereich, der als für einen bzw. den Roboter gesperrt identifiziert bzw. ermittelt ist, aufweisen, insbesondere hieraus bestehen.
Der Roboter weist in einer Ausführung wenigstens drei, vorzugsweise wenigstens sechs, in einer Weiterbildung wenigstens sieben, (Bewegungs)Achsen bzw. Gelenke und, vorzugsweise elektromotorische, Antriebe zum Verstellen dieser (Bewegungs)Achsen bzw. Gelenke auf. Zusätzlich oder alternativ weist der Roboter in einer Ausführung eine mobile Basis, vorzugsweise ein Fahrwerk, auf. Für solche Roboter ist die vorliegende Erfindung aufgrund von deren Anforderungen und Kinematiken besonders geeignet.
Das Bereitstellen von virtuellen Umgebungspunkten umfasst in einer Ausführung das Empfangen von (Daten, insbesondere Koordinaten, von) virtuellen Umgebungspunkten und/oder das Laden von (Daten, insbesondere Koordinaten, von) virtuellen Umgebungspunkten in einen Speicher. In einer Weiterbildung umfasst das Bereitstellen von virtuellen Umgebungspunkten das, insbesondere
numerische, Ermitteln von (Daten, insbesondere Koordinaten, von) virtuellen Umgebungspunkten auf Basis von Radarsensordaten. In einer Ausführung umfasst das Verfahren bzw. Bereitstellen von virtuellen Umgebungspunkten auf Basis von Radarsensordaten auch das Ermitteln der Radarsensordaten mithilfe eines oder mehrerer Radarsensoren. In einer Ausführung sind bzw. werden virtuelle Umgebungspunkte auf Basis von Radarechos von der Umgebung des Roboters ermittelt und/oder repräsentieren, vorzugsweise radarsensorisch detektierte, (reale) (Umgebungs)Punkte der Umgebung des Roboters.
Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren zum Ermitteln des Roboterraum bereiches die Schritte:
- Aktualisieren eines Umgebungsmodells, welches Voxel aufweist, denen auf Basis der bereitgestellten (virtuellen) Umgebungspunkte, vorzugsweise numerische, Belegungswahrscheinlichkeiten, vorzugsweise daten- bzw. speichertechnisch, zugeordnet sind, wobei in einer Ausführung eine höhere Belegungswahrscheinlichkeit eine höhere Wahrscheinlichkeit kennzeichnet, dass das entsprechende Voxel, insbesondere durch ein Hindernis, belegt bzw. für den Roboter gesperrt bzw. unzugänglich ist; und
- Ermitteln eines Roboterraum bereiches auf Basis der Voxel und der diesen zugeordneten Belegungswahrscheinlichkeiten des aktualisierten Umgebungsmodells.
Durch die Verwendung bzw. Zuordnung von Belegungswahrscheinlichkeiten kann in einer Ausführung vorteilhaft eine Unsicherheit bei der radarsensorischen Erfassung der Umgebung berücksichtigt bzw. kompensiert werden. Ein Voxel ist in einer Ausführung eine zweidimensionale Fläche oder, besonders vorteilhaft, ein dreidimensionales Raumelement, welches insbesondere quaderartig (begrenzt bzw. definiert) sein kann. Der Roboterraumbereich kann dem Umgebungsmodell entsprechen, beispielsweise nur dessen Voxel enthalten, die gemäß ihrer Belegungswahrscheinlichkeit als belegt bzw. für den Roboter gesperrt bzw. unzugänglich ermittelt sind, nur dessen Voxel, die gemäß ihrer Belegungswahrscheinlichkeit als belegt bzw. für den Roboter erlaubt bzw. zugänglich ermittelt sind, oder auch beide Voxel, wobei diese einen erlaubten bzw.
zugänglichen und einen hiervon unterschiedenen gesperrten bzw. unzugänglichen (Roboter)Teilraum(bereich) definieren. Vorliegend wird ein (als) für einen Roboter gesperrt identifiziertes bzw. unzugänglich identifiziertes Voxel insbesondere als belegtes Voxel bezeichnet.
In einer besonders bevorzugten Ausführung werden die vorgenannten Schritte
- Bereitstellen von (jeweils neu( ermittelt)en) virtuellen Umgebungspunkten;
- Aktualisieren des Umgebungsmodells auf Basis dieser (neuen) Umgebungspunkte; und
- Ermitteln, insbesondere Aktualisieren, des Roboterraum bereiches auf Basis des Umgebungsmodells mehrfach, vorzugsweise zyklisch, wiederholt. Dadurch kann vorteilhafterweise jeweils ein aktueller(er) Roboterraumbereich ermittelt, insbesondere zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis bzw. zum Planen und/oder Durchführen einer Roboterapplikation, verwendet werden.
Nach einer Ausführung der vorliegenden Erfindung werden zusätzlich zu den virtuellen Umgebungspunkten auch Umgebungspunktgeschwindigkeiten der virtuellen Umgebungspunkte auf Basis von Radarsensordaten bereitgestellt.
In einer Weiterbildung sind diese Umgebungspunktgeschwindigkeiten frühere bzw. zurückliegende, vorzugsweise vorangegangene, Umgebungspunktgeschwindigkeiten der virtuellen Umgebungspunkte, vorzugsweise Umgebungspunktgeschwindigkeiten, die auf Basis von Radarsensordaten ermittelt worden sind, auf denen zuvor bzw. in einem früheren, vorzugsweise dem letzten, Zyklus bereitgestellte virtuelle Umgebungspunkte basieren. In einer Ausführung umfasst dieses Bereitstellen von
Umgebungspunktgeschwindigkeiten das Abrufen gespeicherter, früher( ermittelt)er (Daten, insbesondere Beträgen und/oder Richtungen, von) Geschwindigkeiten der virtuellen Umgebungspunkten. In einer Ausführung umfasst das Bereitstellen von Umgebungspunktgeschwindigkeiten auf Basis von Radarsensordaten auch das Ermitteln der Radarsensordaten mithilfe des bzw. der Radarsensoren. In einer Ausführung sind bzw. werden Geschwindigkeiten von virtuellen
Umgebungspunkten („Umgebungspunktgeschwindigkeiten“) auf Basis von Radarechos von der Umgebung des Roboters ermittelt und/oder repräsentieren radarsensorisch detektierte Geschwindigkeiten der durch die virtuellen Umgebungspunkte repräsentierten (realen) Umgebungspunkte.
Nach einer Ausführung der vorliegenden Erfindung werden, insbesondere beim bzw. zum Aktualisieren des Umgebungsmodells, Belegungswahrscheinlichkeiten von Voxeln (des Umgebungsmodells) (auch) auf Basis dieser bereitgestellten Umgebungspunktgeschwindigkeiten aktualisiert.
Dem liegen die Ideen zugrunde, dass mithilfe von Radarsensoren nicht nur Umgebungspunkte, sondern auch deren Geschwindigkeiten ermittelt werden können, und dass Hindernisse, deren Punkte zuvor zu dem Roboter hin gerichtete bzw. sozusagen negative radiale Geschwindigkeiten, insbesondere Geschwindigkeitskomponenten bzw. -anteile, aufgewiesen haben, die Wahrscheinlichkeit dafür erhöhen, dass Raumabschnitte bzw. diese repräsentierende Voxel des Umgebungsmodells, die in Bewegungsrichtung dieser Punkte bzw. Hindernisse liegen, nunmehr bzw. aktuell hierdurch belegt sind bzw. werden. Daher kann durch die Berücksichtigung der, insbesondere früheren bzw. vorangegangenen, Umgebungspunktgeschwindigkeiten das Ermitteln von Roboterraumbereichen, insbesondere die Zuverlässigkeit, verbessert werden.
Zusätzlich oder alternativ zu der Berücksichtigung der Umgebungspunktgeschwindigkeiten werden nach einer Ausführung der vorliegenden Erfindung, insbesondere beim bzw. zum Aktualisieren des Umgebungsmodells, Belegungswahrscheinlichkeiten von Voxeln auf Basis von sie durchquerenden, vorzugsweise numerisch, insbesondere geometrisch, modellierten bzw. simulierten, virtuellen Radarstrahlen aktualisiert.
Dem liegen die Ideen zugrunde, dass die Detektion von Umgebungspunkten in einem Raumabschnitt nicht nur die Wahrscheinlichkeit dafür erhöht, dass dieser Raumabschnitt belegt bzw. für den Roboter unzugänglich ist, sondern auch anzeigt, dass das Radarsichtfeld bzw. ein virtueller Radarstrahl (bis) zu dem
entsprechenden Umgebungspunkt (hindernis)frei ist und somit die Wahrscheinlichkeit dafür erhöht, dass solche - von virtuellen Radarstrahlen durchquerte - Raumabschnitte frei bzw. für den Roboter zugänglich sind. Daher kann durch die Berücksichtigung virtueller, Voxel des Umgebungsmodells durchquerender Radarstrahlen das Ermitteln von Roboterraumbereichen, insbesondere die Zuverlässigkeit, (weiter) verbessert werden.
In einer Ausführung wird, insbesondere beim bzw. zum Aktualisieren des Umgebungsmodells, eine Belegungswahrscheinlichkeit eines Voxels des Umgebungsmodells infolge von in diesem Voxel liegenden virtuellen Umgebungspunkten erhöht. Dabei kann insbesondere eine höhere Anzahl von in einem Voxel liegenden virtuellen Umgebungspunkten eine Belegungswahrscheinlichkeit stärker erhöhen. Zusätzlich zu den zum Aktualisieren des Umgebungsmodells (aktuell) bereitgestellten virtuellen Umgebungspunkten können in einer Ausführung auch frühere bzw. bei wenigstens einem vorherigen Zyklus bzw. Aktualisieren berücksichtigte virtuelle Umgebungspunkte berücksichtigt werden bzw. eine Belegungswahrscheinlichkeit eines Voxels infolge virtueller Umgebungspunkte erhöht werden, die zuvor in diesem Voxel gelegen haben bzw. darin ermittelt worden sind. Diesbezüglich sowie auch zu weiteren Details wird ergänzend Bezug auf A. Hornung, K. M. Wurm, M. Bennewitz, C. Stachniss und W. Burgard, "OctoMap: an efficient probabilistic 3D mapping framework based on octrees," Autonomous Robots, Vol. 34, Nr. 3, S. 189-206, (2013) genommen und der Inhalt dieses Artikels vollumfänglich in die vorliegende Offenbarung aufgenommen.
In einer Ausführung werden unbelegte Roboterraumbereichvoxel des Roboterraumbereiches auf Basis von Voxeln des Umgebungsmodells ermittelt, deren Belegungswahrscheinlichkeiten eine vorgegebene Nichtbelegungsbedingung erfüllen, in einer Weiterbildung einen vorgegebenen Schwellwert unterschreitet, vorzugsweise werden Voxel des Umgebungsmodells als unbelegte Roboterraumbereichvoxel des Roboterraum bereiches ermittelt, (wenn) deren Belegungswahrscheinlichkeiten eine vorgegebene
Nichtbelegungsbedingung erfüllen, in einer Weiterbildung einen vorgegebenen Schwellwert unterschreitet.
Zusätzlich oder alternativ werden in einer Ausführung belegte Roboterraumbereichvoxel des Roboterraum bereiches auf Basis von Voxeln des Umgebungsmodells ermittelt, deren Belegungswahrscheinlichkeiten eine vorgegebene Belegungsbedingung erfüllen, in einer Weiterbildung einen bzw. den vorgegebenen Schwellwert erreicht oder überschreitet, vorzugsweise werden Voxel des Umgebungsmodells als belegte Roboterraumbereichvoxel des Roboterraumbereiches ermittelt, (wenn) deren Belegungswahrscheinlichkeiten vorgegebene Belegungsbedingung erfüllen, in einer Weiterbildung einen bzw. den vorgegebenen Schwellwert erreicht oder überschreitet.
Insbesondere können Voxel des Roboterraum bereiches („Roboterraumbereichvoxel“) sozusagen aktiv bzw. bei Erfüllung der Nichtbelegungsbedingung als unbelegt(e Roboterraumbereichvoxel) ermittelt und in einer Weiterbildung andernfalls bzw. defaultmäßig als belegt angenommen werden, was insbesondere die Sicherheit erhöhen kann. Die Nichtbelegungsbedingung und Belegungsbedingung können insbesondere komplementär bzw. Voxel des Roboterraum bereiches, die nicht als unbelegt(e Roboterraumbereichvoxel) ermittelt sind, als belegt(e Roboterraumbereichvoxel) ermittelt bzw. umgekehrt Voxel des Roboterraumbereiches, die nicht als belegt(e Roboterraumbereichvoxel) ermittelt sind, als unbelegt(e Roboterraumbereichvoxel) ermittelt werden. Wie bereits erwähnt, entsprechen in einer bevorzugten Ausführung belegte Voxel des Roboterraum bereiches Voxeln des Umgebungsmodells, deren Belegungswahrscheinlichkeiten eine vorgegebene Belegungsbedingung erfüllen, bzw. unbelegte Voxel des Roboterraum bereiches Voxeln des Umgebungsmodells, deren Belegungswahrscheinlichkeiten eine vorgegebene Nichtbelegungsbedingung erfüllen.
Hierdurch kann in einer Ausführung vorteilhaft eine Unsicherheit bei der radarsensorischen Erfassung der Umgebung besonders vorteilhaft berücksichtigt
und dadurch das Ermitteln von Roboterraumbereichen, insbesondere die Zuverlässigkeit, (weiter) verbessert werden.
In einer Ausführung wird für ein oder mehrere Voxel des Umgebungsmodells (jeweils) auf Basis der bereitgestellten Umgebungspunktgeschwindigkeiten, vorzugsweise der Umgebungspunktgeschwindigkeiten eines oder mehrerer in diesem Voxel liegender virtueller Umgebungspunkte, eine Voxelgeschwindigkeit ermittelt. Dabei kann die Voxelgeschwindigkeit insbesondere basierend auf einem statistischen Wert, insbesondere Mittelwert, einem Maximalwert oder einer anderen Norm der Umgebungspunktgeschwindigkeiten ermittelt werden.
Wie bereits erläutert, können die Umgebungspunktgeschwindigkeiten insbesondere frühere bzw. vorangegangene Umgebungspunktgeschwindigkeiten sein. Entsprechend kann auch die Voxelgeschwindigkeit in einer Ausführung eine frühere bzw. vorangegangene Voxelgeschwindigkeit sein, die auf Basis der (früheren bzw. vorangegangenen) Umgebungspunktgeschwindigkeit derjenigen virtuellen Umgebungspunkte ermittelt wird bzw. worden ist, die bei(m radarsensorischen Ermitteln) dieser Umgebungspunktgeschwindigkeit in dem entsprechenden Voxel lagen. In einer Ausführung werden daher in einem (jeweils ersten) Zyklus auf Basis der in diesem (ersten) Zyklus bereitgestellten Radarsensordaten virtuelle Umgebungspunkte und Umgebungspunktgeschwindigkeiten dieser virtuellen Umgebungspunkte ermittelt, die (reale) Punkte einer Umgebung des Roboters bzw. deren Geschwindigkeiten repräsentieren. Dann wird in diesem (ersten) Zyklus oder einem nachfolgenden (zweiten) Zyklus für Voxel des Umgebungsmodells jeweils eine Voxelgeschwindigkeit auf Basis dieser Umgebungspunktgeschwindigkeiten derjenigen virtuellen Umgebungspunkte ermittelt, die in dem (jeweiligen ersten) Zyklus, für den die Umgebungspunktgeschwindigkeiten ermittelt worden sind, in dem entsprechenden bzw. jeweiligen Voxel liegen bzw. lagen, beispielsweise als statistischer Wert, insbesondere Mittelwert, Maximalwert oder dergleichen. Diese Voxelgeschwindigkeit wird dann in einem bzw. dem (jeweils) nachfolgenden (zweiten) Zyklus als ermittelte Voxelgeschwindigkeit verwendet.
In einer Ausführung wird, insbesondere in dem (jeweils) aktuellen bzw. zweiten Zyklus bzw. bei dem bzw. zum Aktualisieren des Umgebungsmodells, eine Belegungswahrscheinlichkeiten eines oder mehrerer (zu untersuchender) Voxel des Umgebungsmodells erhöht, weil bzw. wenn diese(s) (zu untersuchende) Voxel (jeweils) die folgenden Bedingungen erfüllten bzw. erfüllen:
- das (zu untersuchende) Voxel ist einem Voxel benachbart, dessen Belegungswahrscheinlichkeit, insbesondere in dem vorangegangenen bzw. ersten Zyklus, eine bzw. die vorgegebene Belegungsbedingung erfüllt hat („belegtes Nachbarvoxel des noch nicht aktualisierten Umgebungsmodells“) und dessen, insbesondere vorangegangen(e), ermittelte Voxelgeschwindigkeit auf den Roboter zu bzw. zu dem Roboter hin bzw. nicht von dem Roboter weg bzw. fort gerichtet ist bzw. war; und
- das (zu untersuchende) Voxel ist in Richtung einer virtuellen Verbindungsgeraden von dem Roboter zu diesem belegten Nachbarvoxel zwischen dem Roboter und diesem belegten Nachbarvoxel angeordnet.
Dadurch kann die vorliegend bereits erläuterte Idee besonders vorteilhaft, insbesondere effizient und/oder zuverlässig, umgesetzt werden: wenn für Voxel eine Voxelgeschwindigkeit in einem vorangegangenen Zyklus ermittelt wird bzw. worden ist, die auf den Roboter zu gerichtet ist, und dieses Voxel in dem vorangegangenen Zyklus belegt war bzw. seine Belegungswahrscheinlichkeit eine vorgegebene Belegungsbedingung erfüllt hat, erhöht dies die Wahrscheinlichkeit dafür, dass (in dem) aktuellen Zyklus) ein diesem (belegten Nachbar)Voxel benachbartes Voxel belegt bzw. für den Roboter gesperrt bzw. unzugänglich ist, so dass deshalb dessen Belegungswahrscheinlichkeit erhöht wird.
In einer Ausführung gehen die virtuellen Radarstrahlen, die zum Aktualisieren von Belegungswahrscheinlichkeiten von Voxeln verwendet werden, (virtuell) von dem (jeweiligen) Radarsensor, dessen Radarsensordaten verwendet werden, aus und enden entweder (erst) an einem Rand des Umgebungsmodells oder dem diesem Radarsensor nächsten belegten Voxel des Umgebungsmodells, dessen Belegungswahrscheinlichkeiten eine bzw. die vorgegebene Belegungsbedingung erfüllt, so dass sie in einer Ausführung alle dazwischenliegenden bzw. zwischen
dem (jeweiligen) Radarsensor, dessen Radarsensordaten verwendet werden, und dem diesem nächst(gelegen)en belegten Voxel, dessen Belegungswahrscheinlichkeiten eine bzw. die vorgegebene Belegungsbedingung erfüllt, liegende Voxel, deren Belegungswahrscheinlichkeiten entsprechend die Belegungsbedingung nicht erfüllen, durchqueren. Mit anderen Worten wird bzw. ist der virtuelle Radarstrahl (jeweils) derart modelliert bzw. definiert bzw. bestimmt, dass er bis zum Rand des Umgebungsmodells oder, sofern in seiner Richtung vorhanden bzw. von ihm getroffen, dem radarsensornächsten belegten Voxel reicht.
In einer Ausführung werden Belegungswahrscheinlichkeiten dieser (dazwischenliegenden) Voxel des Umgebungsmodells infolge eines das jeweilige Voxel durchquerenden virtuellen Radarstrahls reduziert. In einer Weiterbildung wird für jedes Voxel die Belegungswahrscheinlichkeit, vorzugsweise nur einmal, reduziert, sofern wenigstens ein virtueller Radarstrahl es durchquert, wobei mehrere es durchquerende virtuelle Radarstrahlen vorzugsweise nicht zu einer kumulativen Reduzierung der Belegungswahrscheinlichkeit führen.
Dadurch kann die vorliegend bereits erläuterte Idee besonders vorteilhaft, insbesondere effizient und/oder zuverlässig, umgesetzt werden: indem virtuelle Radarstrahlen angenommen, vorzugsweise, insbesondere numerisch bzw. geometrisch, modelliert, werden, die ausgehend von dem (jeweiligen) Radarsensor erst an dem Rand des Umgebungsmodells enden bzw. nicht reflektiert werden oder aber an einem dem Radarsensor nächstgelegenen (und daher (als) belegt( ermittelt)en Voxel enden bzw. durch einen Umgebungspunkt dieses Voxels reflektiert werden, können Voxel ermittelt werden, die sozusagen im freien Sichtfeld des Radarsensors liegen und deren Belegungswahrscheinlichkeiten daher reduziert werden können.
Unter einem Durchqueren wird vorliegend ein Ein- und wieder Austreten des virtuellen Radarstrahls verstanden, so dass der virtuelle Radarstrahl dasjenige (radarsensornächste belegte) Voxel, an dem er endet, im Sinne der vorliegenden Erfindung nicht durchquert. Ein virtueller Radarstrahl weist in einer Ausführung die
Form einer geraden Linie bzw. einer (geraden) Strecke zwischen dem (jeweiligen) Radarsensor und dem Rand des Umgebungsmodells bzw., sofern in seiner Richtung vorhanden bzw. von ihm getroffen, dem radarsensornächsten belegten Voxel auf.
In einer Ausführung weisen die verwendeten virtuellen Radarstrahlen unterschiedliche Richtungen auf, in einer Weiterbildung überdecken sie ein von dem (jeweiligen) Radarsensor abgetastetes Gebiet und/oder werden entsprechend modelliert bzw. simuliert.
In einer Ausführung sind bzw. werden die Radarsensordaten mithilfe wenigstens eines an, vorzugsweise auf oder über, dem Roboter angeordneten Radarsensors ermittelt. Dies vereinfacht die hier beschriebenen Ermittlungen, da dann die virtuellen Radarstrahlen sozusagen von dem Roboter ausgehen bzw. virtuellen Verbindungsgeraden von dem Roboter zu belegten Voxeln entsprechen.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Ermitteln eines Abstands zwischen einem bzw. dem Roboter und einem Hindernis; die Schritte:
- Ermitteln eines Roboterraum bereiches nach einem hier beschriebenen Verfahren;
- Ermitteln von benachbarten belegten Roboterraumbereichvoxeln des ermittelten Roboterraum bereiches;
- Verschmelzen von zwei oder mehr (der) ermittelten benachbarten belegten Roboterraumbereichvoxeln zu einem belegten Roboterraumbereich(super)voxel; und
- Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis auf Basis eines Abstands zwischen wenigstens einem Glied des Roboters und wenigstens einem belegten Roboterraumbereichvoxel, vorzugsweise einem solchen Roboterraumbereichsupervoxel.
Dem liegt insbesondere die Idee zugrunde, dass es bei benachbarten belegten Roboterraumbereichvoxeln ausreicht, den Abstand zu dem Verband aus diesen
benachbarten belegten Roboterraum bereichvoxeln zu ermitteln, wodurch insbesondere die Recheneffizienz signifikant verbessert werden kann. Dadurch kann wiederum das Ermitteln eines Abstands zwischen Roboter und Hindernis, insbesondere eine Ermittlungsgeschwindigkeit, verbessert werden.
Ein Abstand kann insbesondere in an sich bekannter Weise als kürzester kartesischer Abstand zwischen einer geometrischen Repräsentation eines, vorzugsweise hindernisnächsten, Glieds des Roboters und dem dieses Hindernis repräsentierenden Roboterraum bereich(super)voxel ermittelt werden.
Der Roboterraumbereich ist in einer Ausführung in Roboterraum bereichvoxel diskretisiert. Diese können Voxeln des Umgebungsmodells entsprechen, in einer Weiterbildung Voxel des Umgebungsmodells sein, beispielsweise, indem den Voxeln des Umgebungsmodells außer der Belegungswahrscheinlichkeit und gegebenenfalls der Voxelgeschwindigkeit auch eine Klassifizierung in zwei oder mehr Klassen, beispielsweise {„belegt/gesperrt/unzugänglich“;
„erlaubt/zugänglich/nicht belegt“} oder dergleichen zugeordnet ist bzw. wird.
Insbesondere für ein solches Verschmelzen bzw. Ermitteln eines Abstands zwischen Roboter und Hindernis ist es besonders vorteilhaft, wenn Voxel des Umgebungsmodells und/oder Roboterraum bereichvoxel in einer Baumstruktur, in einer besonders vorteilhaften Weiterbildung in einem Octree, abgespeichert, vorzugsweise indexiert, sind. Denn dadurch können benachbarte Voxel sehr effizient mittels einer einzigen Inkrementierung eines ihrer Indices identifiziert und, sofern es sich um benachbarte belegte Voxel handelt, verschmolzen werden.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Planen und/oder Durchführen einer Roboterapplikation; die Schritte:
- Ermitteln eines Roboterraum bereiches nach einem hier beschriebenen Verfahren; und
- Planen und/oder Durchführen einer Roboterapplikation auf Basis des ermittelten Roboterraumbereiches, vorzugsweise Planen und/oder Durchführen einer Bewegung eines Roboters in einem Raumbereich, der nach
einem hier beschriebenen Verfahren als für einen Roboter erlaubt bzw. zugänglich identifiziert bzw. ermittelt worden ist, und/oder unter (Ver)Meidung eines Raumbereichs, der nach einem hier beschriebenen Verfahren als für einen Roboter gesperrt bzw. unzugänglich identifiziert bzw. ermittelt worden ist.
In einer Ausführung wird hierbei ein Abstand zwischen dem Roboter und einem Hindernis nach einem hier beschriebenen Verfahren ermittelt und die Roboterapplikation auf Basis des ermittelten Abstands geplant bzw. durchgeführt, vorzugsweise eine Bewegung eines Roboters derart geplant bzw. durchgeführt, dass ein vorgegebener Mindestabstand nicht unterschritten und/oder bei Unterschreiten eines vorgegebenen Reaktionsabstands eine Reaktion des Roboters ausgelöst wird, beispielsweise eine Warnung ausgegeben, eine Ausweichbewegung durchgeführt, eine Geschwindigkeit reduziert, vorzugsweise ein Stop ausgeführt, oder dergleichen. Allgemein wird in einer Ausführung auf Basis des ermittelten Roboterraumbereichs bzw. Abstands eine Kollisionserkennung bzw. -Vermeidung durchgeführt, vorzugsweise bei einer Planung und/oder Durchführung einer Roboterapplikation.
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 Bereitstellen von virtuellen Umgebungspunkten einer Umgebung des Roboters auf Basis von Radarsensordaten;
- Mittel zum Aktualisieren eines Umgebungsmodells, welches Voxel aufweist, denen auf Basis der bereitgestellten Umgebungspunkte Belegungswahrscheinlichkeiten zugeordnet sind; und
- Mittel zum Ermitteln eines Roboterraum bereiches auf Basis der Voxel und der diesen zugeordneten Belegungswahrscheinlichkeiten des aktualisierten Umgebungsmodells; wobei (Mittel zum Aktualisieren eines Umgebungsmodells dazu bzw. derart eingerichtet sind, dass):
- Umgebungspunktgeschwindigkeiten der virtuellen Umgebungspunkte auf Basis von Radarsensordaten bereitgestellt und Belegungswahrscheinlichkeiten von
Voxeln auf Basis dieser bereitgestellten Umgebungspunktgeschwindigkeiten aktualisiert werden; und/oder
- Belegungswahrscheinlichkeiten von Voxeln auf Basis von sie durchquerenden virtuellen Radarstrahlen aktualisiert werden.
In einer Ausführung weist das System bzw. seine Mittel auf:
- Mittel zum Ermitteln von benachbarten belegten Roboterraum bereichvoxeln des ermittelten Roboterraum bereiches;
- Mittel zum Verschmelzen von wenigstens zwei ermittelten benachbarten belegten Roboterraum bereichvoxeln zu einem belegten Roboterraumbereich(super)voxel; und
- Mittel zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis auf Basis eines Abstands zwischen wenigstens einem Glied des Roboters und wenigstens einem belegten Roboterraumbereichvoxel, vorzugsweise wenigstens einem belegten Roboterraumbereichsupervoxel.
Zusätzlich oder alternativ weist das System bzw. seine Mittel in einer Ausführung auf:
- Mittel zum Planen und/oder Durchführen einer Roboterapplikation auf Basis des ermittelten Roboterraum bereiches.
In einer Ausführung weist das System bzw. seine Mittel auf:
- Mittel zum Erhöhen einer Belegungswahrscheinlichkeit eines Voxels infolge in diesem Voxel liegender virtueller Umgebungspunkte; und/oder
- Mittel zum Ermitteln unbelegter Roboterraumbereichvoxel des Roboterraumbereiches auf Basis von Voxeln des Umgebungsmodells, deren Belegungswahrscheinlichkeiten eine vorgegebene Nichtbelegungsbedingung erfüllen; und/oder
- Mittel zum Ermitteln belegter Roboterraumbereichvoxel des Roboterraumbereiches auf Basis von Voxeln des Umgebungsmodells, deren Belegungswahrscheinlichkeiten eine vorgegebene Belegungsbedingung erfüllen; und/oder
- Mittel zum Ermitteln einer Voxelgeschwindigkeit für wenigstens ein Voxel des Umgebungsmodells auf Basis der bereitgestellten Umgebungspunktgeschwindigkeiten; und/oder
- Mittel zum Erhöhen einer Belegungswahrscheinlichkeit wenigstens eines Voxels des Umgebungsmodells, welches einem belegten Nachbarvoxel des noch nicht aktualisierten Umgebungsmodells, dessen ermittelte Voxelgeschwindigkeit auf den Roboter zu gerichtet ist, benachbart und in Richtung einer virtuellen Verbindungsgeraden von dem Roboter zu diesem belegten Nachbarvoxel zwischen dem Roboter und diesem belegten Nachbarvoxel angeordnet ist, bei dem Aktualisieren des Umgebungsmodells; und/oder
- Mittel zum Reduzieren einer Belegungswahrscheinlichkeit wenigstens eines Voxels des Umgebungsmodells infolge eines dieses Element durchquerenden virtuellen Radarstrahls.
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens 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 einen Roboterraumbereich bzw. Abstand zwischen einem Roboter und einem Hindernis ermitteln bzw. eine Roboterapplikation planen und/oder durchführen kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere
computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
In einer Ausführung sind ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise computerimplementiert bzw. 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 und/oder den bzw. die Radarsensor(en) auf.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
Fig. 1 : ein System zum Durchführen eines Verfahrens nach einer Ausführung der vorliegenden Erfindung;
Fig. 2: ein Verfahren zum Planen und/oder Durchführen einer Roboterapplikation umfassend ein Verfahren zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis umfassend ein Verfahren zum Ermitteln eines Roboterraumbereiches nach einer Ausführung der vorliegenden Erfindung.
Fig. 1 zeigt ein System zum Durchführen eines Verfahrens nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1 , exemplarisch zwei Radarsensoren 21 , 22, einem Computer 31 zum Ermitteln eines Abstands zwischen dem Roboter und Hindernissen basierend auf einem von dem Computer
31 ermittelten Roboterraumbereich, und einer Robotersteuerung 32, Fig. 2 das Verfahren nach einer Ausführung der vorliegenden Erfindung.
In einem Schritt S10 (Fig. 2) werden (jeweils bzw. in einem (jeweils) ersten Zyklus) neue Radarsensordaten mithilfe der Radarsensoren 21 , 22 ermittelt. Auf Basis dieser Radarsensordaten werden dann in einem Schritt S20 virtuelle Umgebungspunkte einer Umgebung des Roboters 1 ermittelt. Auf Basis dieser Umgebungspunkte werden Belegungswahrscheinlichkeiten eines Umgebungsmodells in einer ersten Stufe aktualisiert, wie beispielsweise in dem vorstehend genannten Artikel näher erläutert (Schritt S30).
In einem Schritt S40 wird ein erstes Voxel des Umgebungsmodells ausgewählt und in einem Schritt S42 geprüft, ob das ausgewählte Voxel das letzte zu überprüfende Voxel ist. Da dies für das erste Voxel nicht der Fall ist (S42: „N“), wird in einem Schritt S44 für dieses Voxel geprüft, ob dieses Voxel im vorhergehenden Zyklus (als) belegtes Voxel ermittelt) war und seine im vorhergehenden Zyklus ermittelte Voxelgeschwindigkeit (als) zu dem Robote 1 hin gerichtet (ermittelt) war (für den ersten Zyklus können entsprechende Defaultwerte vorgesehen sein).
Ist wenigstens eines von beidem nicht der Fall (S44: „N“), wird das nächste Voxel der als Octree gespeicherten Baumstruktur als nächstes zu untersuchendes Voxel ausgewählt (Schritt S48) und das Verfahren bzw. der Computer führt wieder Schritt S42 aus.
Ist beides der Fall (S44: „Y“), wird das Voxel in einem Schritt S46 als ein belegtes potentielles Nachbarvoxel ermittelt, eine virtuelle Verbindungsgerade von dem Roboter 1 zu diesem belegten potentiellen Nachbarvoxel gezogen und die vorstehend in Schritt S30 bzw. der ersten Aktualisierungsstufe ermittelte Belegungswahrscheinlichkeit desjenigen Voxels erhöht, das in Richtung dieser virtuellen Verbindungsgeraden zwischen dem Roboter und diesem belegten (dann nicht mehr nur potentiellen) Nachbarvoxel angeordnet und diesem benachbart ist.
Dem liegt die Idee zugrunde, dass es wahrscheinlich(er) ist, dass das Hindernis, das im vorhergehenden Zyklus die Belegung des Nachbarvoxels verursacht hat, infolge der Voxelgeschwindigkeit nun auch das gerade untersuchte Voxel belegt.
Sind alle zu untersuchenden Voxel abgearbeitet (S42: „Y“), fährt das Verfahren bzw. der Computer mit Schritt S50 fort, in dem ein virtueller Radarstrahl mit einer ersten Richtung von dem jeweiligen Radarsensor bis zu dem in dieser Richtung radarsensornächsten Voxel modelliert wird, dessen Belegungswahrscheinlichkeit einen Grenzwert erreicht oder überschreitet bzw. das bisher (bereits) als belegt ermittelt worden ist, oder, falls in dieser Richtung kein solches belegtes Voxel liegt, bis zum Rand des Umgebungsmodells. Mit anderen Worten wird der virtuelle Radarstrahl derart modelliert, dass er bis zum Rand des Umgebungsmodells oder, sofern in seiner Richtung vorhanden bzw. von ihm getroffen, dem radarsensornächsten belegten Voxel reicht.
In einem Schritt S52 wird geprüft, ob alle zu untersuchenden, das von den Radarsensoren 21 , 22 abgetastete Gebiet abdeckenden, Richtungen abgearbeitet worden sind. Da dies für die erste Richtung nicht der Fall ist (S52: „N“), wird in einem Schritt S54 für jedes Voxel des Umgebungsmodells, das von diesem virtuellen Radarstrahl berührt wird, geprüft, ob seine Belegungswahrscheinlichkeit in diesem Zyklus schon infolge eines es durchquerenden virtuellen Radarstrahles aktualisiert worden ist oder ob es ein belegtes Voxel ist (und daher von dem virtuellen Radarstrahl nicht durchquert wird, da dieser an dem in seiner Richtung radarsensornächsten Voxel endet).
Ist wenigstens eines von beidem der Fall (S54: „Y“), wird die nächste Richtung als nächste zu untersuchende Richtung ausgewählt (Schritt S58) und das Verfahren bzw. der Computer führt wieder Schritt S52 aus.
Ist keines von beidem der Fall (S54: „N“), wird die Belegungswahrscheinlichkeit des entsprechenden Voxels reduziert (Schritt S56) und das Verfahren bzw. der Computer fährt mit Schritt S58 fort.
Durch die vorstehend beschriebene Vorgehensweise wird für jedes Voxel die Belegungswahrscheinlichkeit (nur einmal) reduziert, sofern wenigstens ein virtueller Radarstrahl es durchquert, wobei mehrere es durchquerende virtuelle Radarstrahlen nicht zu einer weiteren bzw. kumulativen Reduzierung der Belegungswahrscheinlichkeit führen.
Sind alle zu untersuchenden Richtungen abgearbeitet (S52: „Y“), fährt das Verfahren bzw. der Computer mit Schritt S60 fort, in dem auf Basis der Radarsensordaten auch neue Voxelgeschwindigkeiten ermittelt werden, beispielsweise als Mittel- oder Maximalwert von radarsensorisch ermittelten Geschwindigkeiten von Umgebungspunkten, die in dem entsprechenden Voxel liegen. Diese Voxelgeschwindigkeiten werden dann im nächsten Zyklus in den Schritten S44 verwendet.
In einem Schritt S70 werden die Voxel des Umgebungsmodells, deren (mehrstufig, vgl. insbesondere die Schritte S30, S46 und S56) aktualisierten Belegungswahrscheinlichkeiten einen vorgegebenen Grenzwert erreichen oder überschreiten, als belegte Roboterraum bereichvoxel ermittelt. Dann werden in einem Schritt S80 benachbarte belegte Roboterraum bereichvoxel ermittelt und miteinander verschmolzen und in einem Schritt S90 ein Abstand zwischen dem Roboter 1 und einem Hindernis auf Basis eines kürzesten Abstands zwischen einem Glied des Roboters 1 und dem diesem nächsten belegten Roboterraumbereichvoxel ermittelt.
Auf Basis dieses Abstands wird dann in einem Schritt S100 eine Applikation des Roboters (gegebenenfalls um)geplant und diese in einem Schritt S110 (gegebenfalls weiter) durchgeführt. Mit Rückkehr zu Schritt S10 beginnt ein neuer Zyklus.
In der vorliegenden Offenbarung impliziert „weist ein X auf“ allgemein keine abschließende Aufzählung, sondern ist eine Kurzform von „weist wenigstens ein X auf“ und umfasst auch „weist zwei oder mehr X auf“ sowie „weist außer X auch Y auf“. 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. So kann beispielsweise in Abwandlungen einer der Radarsensoren 21 , 22 entfallen und/oder wenigstens ein Radarsensor an einer anderen Stelle angeordnet sein und/oder zusätzliche Radarsensoren vorhanden sein. Robotersteuerung 32 und Computer 31 können integral ausgebildet bzw. das Ermitteln eines Abstands zwischen Roboter und Hindernis bzw. des Roboterraum bereiches durch die Robotersteuerung 32 durchgeführt werden. Die Voxelgeschwindigkeiten können auch nach anderen Vorschriften ermittelt werden, rein exemplarisch durch Filterung oder anderweitige algorithmische Verarbeitung der entsprechenden Umgebungspunktgeschwindigkeiten.
Bezuqszeichenliste
1 Roboter
21 , 22 Radarsensor 31 Computer
32 Robotersteuerung
Claims
1. Verfahren zum Ermitteln eines Roboterraumbereiches, umfassend die Schritte: Bereitstellen (S20) von virtuellen Umgebungspunkten einer Umgebung des Roboters auf Basis von Radarsensordaten;
Aktualisieren eines Umgebungsmodells, welches Voxel aufweist, denen auf Basis der bereitgestellten Umgebungspunkte Belegungswahrscheinlichkeiten zugeordnet sind; und
Ermitteln (S70) eines Roboterraum bereiches auf Basis der Voxel und der diesen zugeordneten Belegungswahrscheinlichkeiten des aktualisierten Umgebungsmodells; wobei
Umgebungspunktgeschwindigkeiten der virtuellen Umgebungspunkte auf Basis von Radarsensordaten bereitgestellt und Belegungswahrscheinlichkeiten von Voxeln auf Basis dieser bereitgestellten Umgebungspunktgeschwindigkeiten aktualisiert werden (S46); und/oder
Belegungswahrscheinlichkeiten von Voxeln auf Basis von sie durchquerenden virtuellen Radarstrahlen aktualisiert werden (S56).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass eine Belegungswahrscheinlichkeit eines Voxels infolge in diesem Voxel liegender virtueller Umgebungspunkte erhöht wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass unbelegte Roboterraum bereichvoxel des Roboterraum bereiches auf Basis von Voxeln des Umgebungsmodells ermittelt werden, deren
Belegungswahrscheinlichkeiten eine vorgegebene Nichtbelegungsbedingung erfüllen; und/oder belegte Roboterraum bereichvoxel des Roboterraum bereiches auf Basis von Voxeln des Umgebungsmodells ermittelt werden, deren
Belegungswahrscheinlichkeiten eine vorgegebene Belegungsbedingung erfüllen.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für wenigstens ein Voxel des Umgebungsmodells auf Basis der bereitgestellten Umgebungspunktgeschwindigkeiten eine Voxelgeschwindigkeit ermittelt wird; und bei dem Aktualisieren des Umgebungsmodells eine Belegungswahrscheinlichkeit wenigstens eines Voxels des Umgebungsmodells erhöht wird, welches einem belegten Nachbarvoxel des noch nicht aktualisierten Umgebungsmodells, dessen ermittelte Voxelgeschwindigkeit auf den Roboter zu gerichtet ist, benachbart und in Richtung einer virtuellen Verbindungsgeraden von dem Roboter zu diesem belegten Nachbarvoxel zwischen dem Roboter und diesem belegten Nachbarvoxel angeordnet ist.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die von einem Radarsensor ausgehenden virtuellen Radarstrahlen entweder an einem Rand des Umgebungsmodells oder dem diesem Radarsensor nächsten belegten Voxel des Umgebungsmodells enden, dessen Belegungswahrscheinlichkeiten eine vorgegebene Belegungsbedingung erfüllt; und eine Belegungswahrscheinlichkeit wenigstens eines Voxels des Umgebungsmodells infolge eines dieses Element durchquerenden virtuellen Radarstrahls reduziert wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Radarsensordaten mithilfe wenigstens eines an dem Roboter angeordneten Radarsensors ermittelt sind.
7. Verfahren zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis; umfassend die Schritte:
Ermitteln eines Roboterraum bereiches nach einem Verfahren nach einem der vorhergehenden Ansprüche;
Ermitteln (S80) von benachbarten belegten Roboterraum bereichvoxeln des ermittelten Roboterraum bereiches;
Verschmelzen (S80) von wenigstens zwei ermittelten benachbarten belegten Roboterraum bereichvoxeln zu einem belegten Roboterraumbereichvoxel; und Ermitteln (S90) eines Abstands zwischen einem Roboter und einem Hindernis auf Basis eines Abstands zwischen wenigstens einem Glied des Roboters und wenigstens einem belegten Roboterraumbereichvoxel.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Voxel des Umgebungsmodells und/oder Roboterraumbereichvoxel in einer Baumstruktur abgespeichert sind.
9. Verfahren zum Planen und/oder Durchführen einer Roboterapplikation; umfassend die Schritte:
Ermitteln eines Roboterraum bereiches nach einem Verfahren nach einem der vorhergehenden Ansprüche; und
Planen (S100) und/oder Durchführen (S110) einer Roboterapplikation auf Basis des ermittelten Roboterraum bereiches.
10. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass ein Abstand zwischen einem Roboter und einem Hindernis nach einem
Verfahren nach Anspruch 7 oder 8 ermittelt wird, wobei dieses Verfahren das Ermitteln eines Roboterraum bereiches nach einem Verfahren nach einem der Ansprüche 1 - 6 umfasst; und die Roboterapplikation auf Basis des ermittelten Abstands geplant und/oder durchgeführt wird.
11 . System, das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:
Mittel zum Bereitstellen von virtuellen Umgebungspunkten einer Umgebung des Roboters auf Basis von Radarsensordaten;
Mittel zum Aktualisieren eines Umgebungsmodells, welches Voxel aufweist, denen auf Basis der bereitgestellten Umgebungspunkte Belegungswahrscheinlichkeiten zugeordnet sind; und
Mittel zum Ermitteln eines Roboterraumbereiches auf Basis der Voxel und der diesen zugeordneten Belegungswahrscheinlichkeiten des aktualisierten Umgebungsmodells; wobei
Umgebungspunktgeschwindigkeiten der virtuellen Umgebungspunkte auf Basis von Radarsensordaten bereitgestellt und Belegungswahrscheinlichkeiten von Voxeln auf Basis dieser bereitgestellten Umgebungspunktgeschwindigkeiten aktualisiert werden; und/oder
Belegungswahrscheinlichkeiten von Voxeln auf Basis von sie durchquerenden virtuellen Radarstrahlen aktualisiert werden.
12. System nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass es
Mittel zum Ermitteln von benachbarten belegten Roboterraumbereichvoxeln des ermittelten Roboterraum bereiches;
Mittel zum Verschmelzen von wenigstens zwei ermittelten benachbarten belegten Roboterraumbereichvoxeln zu einem belegten Roboterraumbereichvoxel; und
Mittel zum Ermitteln eines Abstands zwischen einem Roboter und einem Hindernis auf Basis eines Abstands zwischen wenigstens einem Glied des Roboters und wenigstens einem belegten Roboterraumbereichvoxel; aufweist und/oder
Mittel zum Planen und/oder Durchführen einer Roboterapplikation auf Basis des ermittelten Roboterraum bereiches aufweist.
13. Computerprogramm oder Computerprogrammprodukt, wobei das Computerprogramm oder Computerprogrammprodukt, insbesondere auf einem computerlesbaren und/oder nicht-flüchtigen Speichermedium gespeicherte, Anweisungen enthält, die bei der Ausführung durch einen oder mehrere Computer oder ein System nach Anspruch 11 oder 12 den oder die Computer
oder das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102024112733.3A DE102024112733B3 (de) | 2024-05-07 | 2024-05-07 | Ermitteln eines Roboterraumbereiches |
| DE102024112733.3 | 2024-05-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025233249A1 true WO2025233249A1 (de) | 2025-11-13 |
Family
ID=95342758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2025/062108 Pending WO2025233249A1 (de) | 2024-05-07 | 2025-05-02 | Ermitteln eines roboterraumbereiches |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102024112733B3 (de) |
| WO (1) | WO2025233249A1 (de) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180222051A1 (en) * | 2017-02-07 | 2018-08-09 | Clara Vu | Dynamically determining and monitoring workspace safe zones using semantic representations of workpieces |
| US11016491B1 (en) * | 2018-01-26 | 2021-05-25 | X Development Llc | Trajectory planning for mobile robots |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102019103349B3 (de) * | 2019-02-11 | 2020-06-18 | Beckhoff Automation Gmbh | Industrierobotersystem und Verfahren zur Steuerung eines Industrieroboters |
| US11724387B2 (en) * | 2020-04-03 | 2023-08-15 | Fanuc Corporation | Fast robot motion optimization with distance field |
| CN117729988A (zh) * | 2021-08-06 | 2024-03-19 | 发那科株式会社 | 干扰检查装置 |
| DE102021127337A1 (de) * | 2021-10-21 | 2023-04-27 | Still Gesellschaft Mit Beschränkter Haftung | System und Verfahren zur dreidimensionalen Absicherung eines Lasthandhabungs-Umfeldes einer Lasthandhabungskinematik in einer wechselnden Arbeitsumgebung |
| DE102022131775A1 (de) * | 2022-11-30 | 2024-06-06 | Pilz Gmbh & Co. Kg | Sicherheitsvorrichtung zum Absichern eines Gefahrenbereichs einer automatisiert arbeitenden Maschine, insbesondere eines Roboters |
| DE102023102951B4 (de) * | 2023-02-07 | 2025-03-13 | Sick Ag | Verfahren und berührungsloser Distanzsensor zum Absichern einer Maschine |
-
2024
- 2024-05-07 DE DE102024112733.3A patent/DE102024112733B3/de active Active
-
2025
- 2025-05-02 WO PCT/EP2025/062108 patent/WO2025233249A1/de active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180222051A1 (en) * | 2017-02-07 | 2018-08-09 | Clara Vu | Dynamically determining and monitoring workspace safe zones using semantic representations of workpieces |
| US11016491B1 (en) * | 2018-01-26 | 2021-05-25 | X Development Llc | Trajectory planning for mobile robots |
Non-Patent Citations (1)
| Title |
|---|
| A. HORNUNGK. M. WURMM. BENNEWITZC. STACHNISSW. BURGARD: "OctoMap: an efficient probabilistic 3D mapping framework based on octrees", AUTONOMOUS ROBOTS, vol. 34, no. 3, 2013, pages 189 - 206, XP055147395, DOI: 10.1007/s10514-012-9321-0 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102024112733B3 (de) | 2025-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102012103830B4 (de) | Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen | |
| DE102016120763B4 (de) | Verfahren zur kollisionsfreien Bewegungsplanung | |
| DE112021001104T5 (de) | Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter | |
| EP3623116A1 (de) | Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators | |
| EP3511126A1 (de) | Verfahren zur rechnergestützten planung eines durch einen roboter ausführbaren arbeitsablaufs | |
| DE102022130341A1 (de) | Punktmengen-störungsprüfung | |
| DE102004027944A1 (de) | Verfahren und Vorrichtung zum Schützen eines Roboters gegen Kollisionen | |
| WO2020182541A1 (de) | Verfahren zum betreiben eines roboters in einem multiagentensystem, roboter und multiagentensystem | |
| DE102016000754A1 (de) | Verfahren und System zur Bahnplanung eines redundanten Roboters | |
| DE102018128890A1 (de) | Verfahren und Testvorrichtung zum Testen eines Fahrassistenzsystems für ein Kraftfahrzeug | |
| WO2020025103A1 (de) | Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems | |
| EP2363809B1 (de) | Verfahren zur Optimierung eines Steuerprogramms für Aktuatoren | |
| DE112020006647B4 (de) | Ursprungsrückführvorrichtung | |
| EP3518059B1 (de) | Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine | |
| DE102024112733B3 (de) | Ermitteln eines Roboterraumbereiches | |
| DE102020114964A1 (de) | Modellieren einer Oberfläche eines Objekts | |
| DE102022209845A1 (de) | Verfahren zum Trainieren eines Agenten | |
| EP3680738A1 (de) | Kollisionsprüfung auf basis höherwertiger geometrie | |
| DE102021204148B3 (de) | Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen | |
| DE102015005797A1 (de) | Verfahren zum Betreiben eines Roboters | |
| WO2020174052A1 (de) | Abfahren eines pfades mit einem mobilen roboter | |
| DE102015201868A1 (de) | Optimierte Speicherung einer Umfeldkarte im Speicher eines Fahrzeugs | |
| WO2025056282A2 (de) | Prognostizieren einer kollisionsmöglichkeit eines roboters auf einer bahn, planen einer bahn eines roboters, betreiben eines roboters und trainieren einer datenverarbeitung zum ermitteln eines abstandswertes | |
| EP3779619A1 (de) | Emergente risiken eines technischen systems | |
| DE102024138470A1 (de) | Verfahren zur prüfung auf störungen durch objekte |
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: 25723311 Country of ref document: EP Kind code of ref document: A1 |