Determining a robotic space

The method uses radar sensor data to update an environment model with occupancy probabilities and velocities, enhancing the accuracy and efficiency of robot space area determination and obstacle distance calculation, addressing inefficiencies in existing technologies.

WO2025233249A1PCT designated stage Publication Date: 2025-11-13KUKA DEUT GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/062108
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-07
Filing Date
2025-05-02
Publication Date
2025-11-13

AI Technical Summary

Technical Problem

Existing methods for determining a robot's accessible space and distance to obstacles are inefficient and do not adequately account for sensor uncertainty, leading to potential safety risks and suboptimal robot application planning.

Method used

A method using radar sensor data to provide virtual environment points, update an environment model with occupancy probabilities, and consider environmental point velocities and virtual radar beams to determine robot space areas, allowing for reliable identification of accessible and inaccessible regions, and calculate distances to obstacles.

Benefits of technology

Enhances the accuracy and efficiency of robot space area determination and obstacle distance calculation, improving safety and planning by accounting for sensor uncertainties and reducing computational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025062108_13112025_PF_FP_ABST
    Figure EP2025062108_13112025_PF_FP_ABST
Patent Text Reader

Abstract

A method for determining a robotic space has the steps of: providing (S20) virtual environment points of an environment of the robot on the basis of radar sensor data; updating an environment model having voxels to which occupancy probabilities are assigned on the basis of the provided environment points; and determining (S70) a robotic on the basis of the voxels and the occupancy probabilities assigned thereto for the updated environment model. Environment point speeds of the virtual environment points are provided on the basis of radar sensor data, and the occupancy probabilities of voxels are updated (S46) on the basis of the provided environment point speeds and / or the occupancy probabilities of voxels are updated (S56) on the basis of virtual radar beams passing through said voxels. The invention also relates to a method for determining the distance between a robot and an obstacle, to a method for planning and / or carrying out a robot application, and to a system or computer program (product).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description

[0002] Determining a robot room area

[0003] 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.

[0004] Especially when planning and / or implementing robot applications, it is often necessary to determine a spatial area that is (in)accessible to a robot, and / or a distance between a robot and an obstacle.

[0005] 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.

[0006] This problem is solved by a method with the features of claim 1, 7, and 9, respectively. 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.

[0007] According to one embodiment of the present invention, a method for determining a robot space area comprises the step:

[0008] - Providing virtual environmental points of a robot's environment based on radar sensor data. For the sake of clarity, both a spatial area permitted or accessible to a robot and a spatial area blocked or inaccessible to a robot are collectively referred to as the "robot space." Accordingly, in one embodiment, a robot space within the meaning of the present invention comprises

[0009] - a room area that is permitted or accessible for a robot, and / or

[0010] - a room area that is blocked off for a robot, may in particular consist of the following, in particular the robot room area

[0011] - a (as) allowed (identified or accessible (identified spatial area or) for a robot

[0012] - 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.

[0013] In one embodiment, 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.

[0014] In one embodiment, 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 a memory. In a further development, providing virtual environment points includes determining (data, in particular coordinates, from) virtual environment points, particularly numerically, based on radar sensor data. In another embodiment, the method or provision of virtual environment points based on radar sensor data also includes determining the radar sensor data using one or more radar sensors. In one embodiment, virtual environment 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.

[0015] According to one embodiment of the present invention, the method for determining the robot's space comprises the following steps:

[0016] - Updating 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

[0017] - Determining a robot space area based on the voxels and the occupancy probabilities assigned to them in the updated environment model.

[0018] By using or assigning occupancy probabilities, an uncertainty in the radar sensor's detection of the environment can be advantageously considered or compensated for in one embodiment. In one embodiment, a voxel is a two-dimensional surface or, particularly advantageously, a three-dimensional spatial element, which can be cuboidal (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 define a allowed or accessible and a distinct blocked or inaccessible (robot) subspace.In the present context, a voxel identified as blocked or inaccessible to a robot is specifically referred to as an occupied voxel.

[0019] In a particularly preferred embodiment, the aforementioned steps are

[0020] - Providing (newly determined) virtual environment points;

[0021] - Updating the environment model based on these (new) environment points; and

[0022] - Determining, and in particular updating, 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.

[0023] According to one embodiment of the present invention, in addition to the virtual environment points, environment point velocities of the virtual environment points are also provided based on radar sensor data.

[0024] In a further development, 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. In one embodiment, this provisioning includes

[0025] Environmental point velocities involve retrieving stored, previously determined data (especially magnitudes and / or directions) of velocities of virtual environmental points. In one implementation, providing environmental point velocities based on radar sensor data also includes determining the radar sensor data using the radar sensor(s). In another implementation, velocities of virtual environmental points ("environmental point velocities") are determined based on radar echoes from the robot's environment and / or represent radar-detected velocities of the (real) environmental points represented by the virtual environmental points.

[0026] According to one embodiment of the present invention, in particular when updating the environment model, occupancy probabilities of voxels (of the environment model) are (also) updated based on these provided environment point velocities.

[0027] The underlying idea is that 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.

[0028] In addition to or as an alternative to taking into account the velocities of the surrounding points, according to one embodiment of the present invention, in particular when updating the environment model, occupancy probabilities of voxels are updated based on virtual radar beams traversing them, preferably numerically, in particular geometrically, modeled or simulated.

[0029] The underlying idea is that detecting environmental points within a spatial segment not only increases the probability that this segment is occupied or inaccessible to the robot, but also indicates that the radar's field of view or a virtual radar beam is clear (up to) the corresponding environmental point (obstacle), thus increasing the probability that such spatial segments—traversed by virtual radar beams—are clear or accessible to the robot. Therefore, considering virtual radar beams traversing voxels of the environment model can (further) improve the determination of robot spatial areas, particularly its reliability.

[0030] In one execution, particularly during or for updating the environment model, 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. In addition to the virtual environment points currently provided for updating the environment model, 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. Furthermore, the occupancy probability of a voxel can be increased due to virtual environment points that were previously located within or determined within that voxel. For this and other details, reference is made to A. Hornung, KM Wurm, M. Bennewitz, C. Stachniss, and W.Burgard, "OctoMap: an efficient probabilistic 3D mapping framework based on octrees", Autonomous Robots, Vol. 34, No. 3, pp. 189-206, (2013) taken and the content of this article fully incorporated into the present disclosure.

[0031] In one embodiment, unoccupied robot space voxels of the robot space are determined based on voxels of the environment model whose occupancy probabilities meet a predefined non-occupancy condition, or in a further development, fall below a predefined threshold; preferably, voxels of the environment model are determined as unoccupied robot space voxels of the robot space area, (if) their occupancy probabilities meet a predefined non-occupancy condition, or in a further development, fall below a predefined threshold.

[0032] Additionally or alternatively, in one implementation, 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.

[0033] In particular, voxels of the robot room area ("robot room area voxel") can be actively determined as unoccupied (robot room area voxel) if the unoccupancy condition is met, and otherwise, or by default, assumed to be occupied, which can significantly increase safety. The unoccupancy and occupancy conditions can be complementary, meaning that voxels of the robot room area that are not determined as unoccupied (robot room area voxel) can be determined as occupied (robot room area voxel), and vice versa. As mentioned earlier, in a preferred implementation, occupied voxels of the robot room area correspond to voxels of the environment model whose occupancy probabilities satisfy a predefined occupancy condition.Unoccupied voxels of the robot space area; voxels of the environment model whose occupancy probabilities satisfy a predefined non-occupancy condition.

[0034] In one embodiment, this allows for the advantageous consideration of an uncertainty in the radar sensor detection of the environment, thereby (further) improving the determination of robot space areas, especially the reliability.

[0035] In one embodiment, 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.

[0036] As previously explained, the ambient point velocities can be, in particular, previous or earlier ambient point velocities. Accordingly, 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.Then, in this (first) cycle or a subsequent (second) 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. This voxel velocity is then used as the determined voxel velocity in the (respective) subsequent (second) cycle. In one iteration, particularly in the (respective) current or second cycle, or when updating the environment model, the occupancy probability of one or more (under investigation) voxels of the environment model is increased because or if these (under investigation) voxels fulfilled the following conditions:fulfill:.

[0037] - 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

[0038] - 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.

[0039] This allows the previously explained idea to be implemented particularly advantageously, especially efficiently and / or reliably: if a voxel velocity is determined for a voxel in a previous cycle, which is directed towards the robot, and this voxel was occupied in the previous cycle or its occupancy probability fulfilled a predefined occupancy condition, this increases the probability that (in the) current cycle a voxel adjacent to this (occupied neighbor) voxel is occupied or blocked or inaccessible to the robot, thus increasing its occupancy probability.

[0040] In one implementation, the virtual radar beams used to update voxel occupancy probabilities originate (virtually) from the respective radar sensor whose radar sensor data is used and terminate either at an edge of the environment model or at the nearest occupied voxel of the environment model whose occupancy probabilities satisfy a predefined occupancy condition. In this implementation, they traverse all voxels located between the respective radar sensor whose radar sensor data is used and the nearest occupied voxel whose occupancy probabilities satisfy a predefined occupancy condition, provided their occupancy probabilities do not satisfy the occupancy condition. In other words, the virtual radar beam is modeled or defined in such a way.determines that it extends to the edge of the environment model or, if present in its direction or encountered by it, to the nearest occupied voxel to the radar sensor.

[0041] In one embodiment, 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. In a further development, 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.

[0042] This allows the previously explained idea to be implemented particularly advantageously, especially efficiently and / or reliably: by assuming, preferably modeling numerically or geometrically, virtual radar beams that originate from the (respective) radar sensor and either end at the edge of the environment model or are not reflected, or end at a voxel closest to the radar sensor (and therefore identified as occupied) or are reflected by an environmental point of this voxel, voxels can be identified that are, so to speak, in the free field of view of the radar sensor and whose occupancy probabilities can therefore be reduced.

[0043] In this context, "crossing" refers to the virtual radar beam entering and exiting the environment model, 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. In one embodiment, a virtual radar beam has 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 intersected by it, the voxel closest to the radar sensor.

[0044] In one version, 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.

[0045] In one embodiment, 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.

[0046] According to one embodiment of the present invention, a method for determining a distance between a robot and an obstacle comprises the following steps:

[0047] - Determining a robot room area according to a method described here;

[0048] - Determining adjacent occupied robot space voxels of the determined robot space area;

[0049] - Merging two or more of the identified adjacent occupied robot space voxels into one occupied robot space (super)voxel; and

[0050] - Determining a distance between a robot and an obstacle based on a distance between at least one segment of the robot and at least one occupied robot space area voxel, preferably such a robot space area supervoxel.

[0051] The underlying idea is that, for adjacent occupied robot space voxels, it is sufficient to determine the distance to the cluster of these adjacent occupied robot space voxels, which significantly improves computational efficiency. This, in turn, improves the determination of the distance between the robot and an obstacle, particularly the determination speed.

[0052] 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.

[0053] 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";

[0054] "allowed / accessible / not occupied"} or similar is or will be assigned.

[0055] Particularly for such merging or determining the distance between a robot and an obstacle, it is especially advantageous if 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.

[0056] According to one embodiment of the present invention, a method for planning and / or executing a robot application comprises the following steps:

[0057] - Determining a robot room area according to a method described here; and

[0058] - Planning and / or executing a robot application based on the determined robot space area, preferably planning and / or executing a movement of a robot in a space area that has been identified or determined as permitted or accessible to a robot according to a method described herein, and / or avoiding a space area that has been identified or determined as blocked or inaccessible to a robot according to a method described herein.

[0059] In one embodiment, 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. Preferably, a robot movement is planned or executed such that a predetermined minimum distance is not breached and / or, if a predetermined reaction distance is breached, a robot reaction is triggered, for example, a warning is issued, an evasive maneuver is performed, the speed is reduced, preferably a stop is executed, or the like. In general, in one embodiment, 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.

[0060] According to one embodiment of the present invention, 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:

[0061] - Means of providing virtual environment points of a robot's environment based on radar sensor data;

[0062] - Means of updating an environment model that contains voxels to which occupancy probabilities are assigned based on the provided environment points; and

[0063] - Means for determining a robot space area based on the voxels and the occupancy probabilities assigned to them in the updated environment model; wherein (means for updating an environment model are set up such that):

[0064] - Environment point velocities of the virtual environment points are provided based on radar sensor data, and occupancy probabilities of voxels are updated based on these provided environment point velocities; and / or

[0065] - Occupancy probabilities of voxels are updated based on virtual radar beams traversing them.

[0066] In one version, the system or its means exhibit:

[0067] - Means to determine adjacent occupied robot space area voxels of the determined robot space area;

[0068] - Means of merging at least two identified adjacent occupied robot space area voxels into one occupied robot space area (super)voxel; and

[0069] - Means for determining a distance between a robot and an obstacle based on a distance between at least one segment of the robot and at least one occupied robot space area voxel, preferably at least one occupied robot space area supervoxel.

[0070] Additionally or alternatively, the system or its means has the following features in one version:

[0071] - Means for planning and / or executing a robot application based on the determined robot space area.

[0072] In one version, the system or its means exhibit:

[0073] - Means to increase the probability of a voxel being occupied by virtual environment points located within that voxel; and / or

[0074] - Means of determining unoccupied robot space area voxels of the robot space area based on voxels of the environment model whose occupancy probabilities satisfy a predefined unoccupancy condition; and / or

[0075] - Means to determine occupied robot space area voxels of the robot space area based on voxels of the environment model whose occupancy probabilities satisfy a predefined occupancy condition; and / or - Means to determine a voxel velocity for at least one voxel of the environment model based on the provided environment point velocities; and / or

[0076] - Means of increasing the occupancy probability of at least one voxel of the environment model, which is adjacent to an occupied neighbor voxel of the not yet updated environment model, whose determined voxel velocity is directed towards the robot, and is arranged in the direction of a virtual connecting line from the robot to this occupied neighbor voxel between the robot and this occupied neighbor voxel, when updating the environment model; and / or

[0077] - Means to reduce the probability of at least one voxel of the environment model being occupied as a result of a virtual radar beam traversing this element.

[0078] 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 to embody the methods described herein.is capable of executing such procedures, enabling the processing unit to perform the steps of such processes 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 may, in one embodiment, include a storage medium, in particular a computer-readable and / or non-volatile medium, for storing a program or instructions, or with a program or instructions stored thereon. In one embodiment, the execution of this program or these instructions by a system or a controller, in particular a computer or an arrangement of several computers, causes the system or the 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.

[0079] In one embodiment, 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.

[0080] In one version, the system includes the robot and / or the radar sensor(s).

[0081] Further advantages and features will become apparent from the dependent claims and the exemplary embodiments. These are shown, in part schematically:

[0082] Fig. 1: a system for carrying out a method according to an embodiment of the present invention;

[0083] 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.

[0084] 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 robot space area determined by the computer 31, and a robot controller 32, Fig. 2 the method according to an embodiment of the present invention.

[0085] In step S10 (Fig. 2), 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).

[0086] In 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).

[0087] If at least one of these is not the case (S44: “N”), the next voxel of the tree structure stored as an octree is selected as the next voxel to be examined (step S48) and the procedure or the computer executes step S42 again.

[0088] If both conditions are met (S44: "Y"), the voxel is identified as an occupied potential neighbor voxel in step S46. A virtual connecting line is drawn from robot 1 to this occupied potential neighbor voxel, and the occupancy probability determined in step S30, or the first update stage, is increased for the voxel that is located along this virtual connecting line between the robot and this occupied (now no longer merely potential) neighbor voxel and is adjacent to it. This is based on the idea that it is more likely that the obstacle that caused the occupancy of the neighbor voxel in the previous cycle will now also occupy the voxel currently being examined, due to the voxel's velocity.

[0089] Once all voxels to be examined have been processed (S42: "Y"), the procedure or the computer proceeds to step S50, in which 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. In other words, 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.

[0090] In 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).

[0091] If at least one of these is the case (S54: “Y”), the next direction is selected as the next direction to be examined (step S58) and the procedure or computer performs step S52 again.

[0092] If neither of these is the case (S54: "N"), 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 (only once) for each voxel, provided that 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.

[0093] Once all directions to be investigated have been processed (S52: "Y"), the procedure or the computer proceeds to step S60, in which 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.

[0094] In 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.

[0095] Based on this distance, 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.

[0096] In the present disclosure, "has an X" does not generally imply an exhaustive list, but is a shorthand for "has at least one X" and also includes "has two or more X" as well as "has Y in addition to X". Although exemplary embodiments were explained in the preceding description, it should be noted that a multitude of variations are possible. Furthermore, it should be noted that the exemplary embodiments are merely examples and are not intended to limit the scope of protection, applications, or structure in any way.Rather, the preceding description provides the person skilled in the art with a guideline for implementing at least one exemplary embodiment, whereby various modifications, particularly with regard to the function and arrangement of the described components, can be made without leaving the scope of protection as defined by the claims and these equivalent combinations of features. For example, in variations, 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 operating 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.

[0097] List of reference signs

[0098] 1 robot

[0099] 21, 22 radar sensor 31 computer

[0100] 32 Robot control

Claims

Patent claims 1. Method for determining a robot space area, comprising the steps of: providing (S20) virtual environment points of an environment of the robot based on radar sensor data; Updating an environment model that includes voxels to which occupancy probabilities are assigned based on the provided environment points; and Determine (S70) a robot space area based on the voxels and the occupancy probabilities assigned to them in the updated environment model; wherein Environment point velocities of the virtual environment points are provided based on radar sensor data, and occupancy probabilities of voxels are updated based on these provided environment point velocities (S46); and / or Occupancy probabilities of voxels are updated based on virtual radar beams traversing them (S56).

2. Method according to claim 1, characterized in that the occupancy probability of a voxel is increased as a result of virtual environment points located in this voxel.

3. Method according to one of the preceding claims, characterized in that unoccupied robot space area voxels of the robot space area are determined on the basis of voxels of the environment model, whose Occupancy probabilities fulfill a predefined non-occupancy condition; and / or occupied robot space area voxels of the robot space area are determined based on voxels of the environment model, whose Occupancy probabilities fulfill a given occupancy condition.

4. Method according to one of the preceding claims, characterized in that a voxel velocity is determined for at least one voxel of the environment model based on the provided environment point velocities; and when updating the environment model, the occupancy probability of at least one voxel of the environment model is increased, which is adjacent to an occupied neighboring voxel of the not yet updated environment model, whose determined voxel velocity is directed towards the robot, and 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.

5. A method according to one of the preceding claims, characterized in that the virtual radar beams emanating from a radar sensor terminate either at an edge of the environment model or at the occupied voxel of the environment model nearest to this radar sensor, the occupancy probabilities of which satisfy a predetermined occupancy condition; and an occupancy probability of at least one voxel of the environment model is reduced as a result of a virtual radar beam traversing this element.

6. Method according to one of the preceding claims, characterized in that the radar sensor data are determined using at least one radar sensor arranged on the robot.

7. Method for determining a distance between a robot and an obstacle; comprising the steps: Determining a robot space area according to a method according to one of the preceding claims; Determine (S80) adjacent occupied robot space area voxels of the determined robot space area; Merging (S80) at least two determined adjacent occupied robot space area voxels into one occupied robot space area voxel; and determining (S90) a distance between a robot and an obstacle based on a distance between at least one segment of the robot and at least one occupied robot space area voxel.

8. Method according to one of the preceding claims, characterized in that voxels of the environment model and / or robot space area voxels are stored in a tree structure.

9. Procedure for planning and / or executing a robot application; comprising the steps: Determining a robot space area according to a method according to one of the preceding claims; and Planning (S100) and / or executing (S110) a robot application based on the determined robot space area.

10. Method according to the preceding claim, characterized in that a distance between a robot and an obstacle is determined according to a a method according to claim 7 or 8, wherein this method comprises determining a robot space area according to a method according to one of claims 1-6; and the robot application is planned and / or carried out based on the determined distance.

11. System that is set up and / or comprises for carrying out a method according to any of the preceding claims: Means of providing virtual environment points of a robot's environment based on radar sensor data; Means for updating an environment model that contains voxels to which occupancy probabilities are assigned based on the provided environment points; and Means for determining a robot space area based on the voxels and the occupancy probabilities assigned to them in the updated environment model; wherein Environment point velocities of the virtual environment points are provided based on radar sensor data, and occupancy probabilities of voxels are updated based on these provided environment point velocities; and / or Occupancy probabilities of voxels are updated based on virtual radar beams traversing them.

12. System according to the preceding claim, characterized in that it Means for determining adjacent occupied robot space area voxels of the determined robot space area; Means for merging at least two identified adjacent occupied robot space voxels into one occupied robot space voxel; and Means for determining a distance between a robot and an obstacle based on a distance between at least one segment of the robot and at least one occupied robot space area voxel; includes and / or Provides the means to plan and / or execute a robot application based on the determined robot space area.

13. Computer program or computer program product, wherein the computer program or computer program product contains instructions, in particular those stored on a computer-readable and / or non-volatile storage medium, which, when executed by one or more computers or a system according to claim 11 or 12, or cause the system to perform a method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Trajectory planning for mobile robots

    US11016491B1

  • Dynamically determining and monitoring workspace safe zones using semantic representations of workpieces

    US20180222051A1