Predicting the possibility of a robot colliding on a path, planning a robot's path, operating a robot, and training a data processing system to determine a distance value.
Patent Information
- Application Number
- DE102023208948
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2025-03-20
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to a method for predicting a collision possibility of a robot on a path, a method for planning a path of a robot and / or for operating a robot on the basis of a predicted collision possibility of the robot, a method for training a data processing system based at least partially on machine learning for determining a distance value which depends on a distance between an object and a boundary of a virtual spatial region filled by an image of the robot by traversing a path from the start to the end pose, and a system or computer program or computer program product for carrying out at least one of the methods.
[0002] By predicting the possibility of a robot colliding on a path, path planning and / or operation of the robot can be improved.
[0003] Accordingly, it may be an object of the present invention to improve a prediction of a collision possibility of a robot on a path, a path planning for a robot, an operation of a robot and / or a data processing for determining a distance value that depends on a distance between an object and a boundary of a virtual spatial area filled by an image of the robot by traversing a path from the start to the end pose.
[0004] This object is achieved by a method having the features of claims 1, 11, 12, and 13, respectively. Claims 14 and 15 protect a system, computer program, or computer program product for implementing a method described herein. The subclaims relate to advantageous developments.
[0005] According to one embodiment of the present invention, a method for predicting a collision possibility of a robot when traveling or on a path comprises the steps of: - Providing a starting pose for the robot; - Providing an end pose of the robot, which in a preferred embodiment may be identical to the start pose, in particular provided by its provision, or in a particularly preferred embodiment may be different from the start pose; - Providing at least one object to be checked for the possibility of collision with the robot, which is referred to here without restriction of generality as the first object; and - Determination of a distance value, which is accordingly referred to as the first distance value without loss of generality and is determined by a distance between - the first object and - a boundary of a virtual spatial area, which is determined by (virtually or simulated) driving a, preferably predetermined, path from the start to the end pose with an image, in particular a data model, of the robot is filled or traversed or swept over by this image (as a whole) or is defined by it, in particular a “swept volume”, by means of data processing based at least partly on machine learning on the basis of - the provided starting pose, - the provided final pose and - of the provided first object;wherein a collision possibility of the robot on the path is predicted on the basis of the first distance value, in particular whether a collision of the robot, in particular with the first object, is (expected) to occur or whether a collision of the robot, in particular with the first object, is (expected) to occur.
[0006] One embodiment of the present invention is based on the idea of implicitly or indirectly representing a virtual spatial area or a "swept volume" by means of data processing based at least partially on machine learning, which is filled, traversed, or occupied by an image, in particular a data model, of the robot by (virtually or simulated) traversing a path from the start to the end pose, or is defined thereby (as a whole, in particular successively), and using this data processing to predict a potential collision of the robot with an object on this path. Advantageously, different start and end poses and correspondingly different paths and virtual spatial areas are represented by the same, appropriately trained data processing and can be checked for the potential for collision with different objects.
[0007] Accordingly, the procedure in an advantageous further development comprises the following steps: - Providing one or more additional objects to be checked for the possibility of collision with the robot; and - (in each case) determining a further distance value, which, preferably in the same way as the first distance value, depends on the distance between the first object and the boundary, on a distance, preferably defined in the same way as the distance between the first object and the boundary, between the (respective) further object and the boundary of the virtual spatial area filled by the image of the robot by traveling along the path from the start pose to the end pose, by means of the data processing based at least partly on machine learning on the basis of the provided start pose, provided end pose and the provided further object; wherein a possibility of collision of the robot on the path is predicted on the basis of this / these further distance value(s), in particular whether a collision of the robot, in particular with this or that object, is possible.the respective further object, (is expected) to occur or (is expected) no collision of the robot, in particular with the (respective) further first object, occurs.
[0008] Preferably, the first and the further distance value(s) or one or more of the further distance values can be determined sequentially or, in particular on GPUs or the like, at least partially in parallel. The data processing, which is at least partially based on machine learning, can be distributed across multiple computing devices in one embodiment.
[0009] In one embodiment, a (first or further) object to be tested has a, preferably two- or three-dimensional, spatial point, preferably in a, in particular Cartesian or three-dimensional, working area of the robot, and can in particular be such a spatial point. In one embodiment, a distance between an object and a boundary is a shortest and / or Euclidean and / or one-dimensional or scalar distance. In one embodiment, predicting a collision possibility of the robot on the path comprises predicting whether a collision of the robot, in particular with the respective or one of the object(s), is (likely) going to occur or whether a collision of the robot, in particular with the object(s), is (likely) going to occur.
[0010] In one embodiment, in a further development, a determined distance value comprises a signed and / or continuous or quasi-continuous value; in particular, it can have the distance directed in one embodiment or its (numerical) value, in one embodiment the distance directed in a further development or its (numerical) value. In a further development, on the basis of such a distance value, it is predicted that a collision of the robot on the path is likely to occur if the distance falls below a predetermined limit value, preferably a predetermined minimum (safety) distance, in particular (at least) if the distance is negative.
[0011] This allows collision possibilities to be predicted particularly precisely and / or reliably in one version.
[0012] Additionally or alternatively, in a further development, a determined distance value in one embodiment comprises a discrete, in a particularly preferred development binary, value which in one embodiment indicates whether a collision is likely to occur or is present or not.
[0013] This allows data processing to be better trained in one execution.
[0014] In one embodiment, the determined distance value is a one-dimensional value, preferably the aforementioned discrete or (quasi-)continuous, in particular signed, value. This advantageously reduces the computational effort. In one embodiment, the determined distance value is a multi-dimensional value, preferably comprising the aforementioned discrete and the aforementioned (quasi-)continuous value, in particular signed. This allows training to be improved in one embodiment.
[0015] In one embodiment, the robot comprises a robot arm and / or a mobile base, and can in particular consist thereof. In one embodiment, the robot, in particular its robot arm and / or its mobile base, has three or more, preferably at least six, in one embodiment at least seven, (movement) degrees of freedom or (movement) axes, in particular translational and / or rotational degrees of freedom or axes, in particular joints. The present invention is particularly suitable for such robots, in particular due to the complex and / or variable movement (possibility) and / or application conditions, in particular environments. The coordinates q, which describe or specify the (movement) degrees of freedom or (movement) axes of the robot, in one embodiment span a configuration space of the robot. Surface points x of the robot or its image in a Cartesian or Euclidean workspace of the robot and the coordinates q orThe robot's configuration and workspace are converted to each other in a conventional manner through a (forward or backward) transformation (x = T(q)). In one embodiment, the robot's workspace is a Cartesian or Euclidean, preferably three-dimensional, space in which an outer contour of the robot or its image is located or can move. The robot's configuration space is a space whose dimension corresponds to the robot's (motion) degrees of freedom and in which each pose of the robot is uniquely determined by a point.
[0016] In one embodiment, the data processing based at least partially on machine learning comprises, and can in particular consist of, at least one artificial neural network, preferably at least one deep neural network. Such data processing allows distance values to be determined particularly precisely, easily, quickly, and / or reliably. Accordingly, in one embodiment, machine learning comprises training the data processing, preferably the artificial neural network(s); it can in particular comprise supervised or unsupervised machine learning.
[0017] In one embodiment, the path from the start to the end pose, through whose (virtual or simulated) travel the image of the robot fills the virtual space, is a straight path, preferably a straight path predefined in a workspace or, more preferably, a configuration space of the robot. If q s the starting pose, qg denotes the final pose and t ∈ [0, 1] a trajectory parameter, the virtual space region can be defined, for example, by SV(q s , q g ) = ∪ t ∈ [0, 1] V((1-t)·q s + t q g ). This makes it particularly easy to specify the paths and / or run them virtually or simulated, or to determine the virtual space accordingly.
[0018] In one embodiment, the path of the robot from the start to the end pose, through whose (virtual or simulated) travel the image of the robot fills the virtual spatial area, is a path that is curved once or multiple times, preferably in a configuration or particularly preferably workspace of the robot, or in a particularly advantageous development, a spline path. A curved path can also have straight path sections. This allows the paths to be specified particularly flexibly or the virtual space to be determined accordingly, adapted to the situation. A (specified) spline path or another defined curved path in the workspace is particularly advantageous in order to realize a smoother movement of a robot (end) flange.
[0019] In one embodiment, one or more, preferably a fixed (predetermined) number of, intermediate poses of the robot are provided to determine a distance value, in particular between the start and end poses and / or on the path, and the distance value is determined by means of data processing based on these provided intermediate pose(s). In one embodiment, this allows the data processing to be trained particularly advantageously, in particular to enable faster machine learning and / or deliver better results.
[0020] In one embodiment, one or more of the objects to be checked for the possibility of collision with the robot, in particular the first and / or the one or more of the further objects, are provided based on the robot's surroundings, preferably as a point cloud or the like, which is captured, in particular by sensors, in one embodiment using at least one camera, in particular at least one depth or 3D camera. This allows a particularly advantageous, in particular simple, reliable, and / or precise, prediction of the possibility of collision between the robot and the surroundings or obstacles.
[0021] In one embodiment, one or more of the objects to be checked for collision potential with the robot, in particular the first and / or the one or more of the further objects, are provided in a working space of the robot, in a further development as spatial points p i ∈ℜ 3This allows the possibility of a collision between the robot and the environment or obstacles to be predicted particularly advantageously, in particular simply, reliably and / or precisely.
[0022] In one execution the starting pose q s ∈ℜ f and / or the final pose q g ∈ℜ f in a configuration space ℜ f of the robot, which has f degrees of freedom or (motion) axes. This makes it particularly easy to specify the paths and / or execute them virtually or simulated, and to determine the virtual space accordingly.
[0023] In one embodiment, when determining a distance value by means of data processing, an additional one- or multi-dimensional output value, in an advantageous development, a kinematic variable transformed between a workspace and a configuration space of the robot, and in a particularly advantageous embodiment, a position of one or more reference points, in one embodiment, joint(s), of the robot in the workspace, is determined. As a result, in one embodiment, the data processing can be trained particularly advantageously, in particular, machine learning can be faster and / or it can deliver better results, in particular by (implicitly) (better) learning such a transformation between the configuration and workspace, which influences the determination of the distance value when the object(s) are provided in the workspace and the start and end pose in the configuration space.
[0024] According to one embodiment of the present invention, a method for planning a path of a robot comprises the steps of: - Providing a path of the robot, in one embodiment using a corresponding (initial) path planning, for example on the basis of predetermined target positions and / or orientations of robot-fixed references, in particular a TCP, robot-guided tool or the like and / or on the basis of predetermined quality criteria such as energy, time, path length or the like; and - Predicting a collision possibility of the robot on this path according to a method described here;wherein the start and end pose and, in a further development, the intermediate pose(s) for predicting a collision possibility are / are provided on the basis of the provided path, in one embodiment this provided path has this start and end pose (and optionally intermediate pose(s)) and, in a further development, the path by which the virtual spatial area is filled, in particular as a partial or path section, and the provided path is evaluated on the basis of this prediction, in one embodiment is modified or replaced by an alternative provided path if it is predicted that a collision of the robot, in particular with the object(s) provided for data processing, will occur, wherein modified oralternative path, preferably a collision possibility of the robot is again predicted according to a method described here and this is repeated until a termination criterion is met, for example a predetermined maximum number of attempts is reached, or it is predicted that on the modified or alternative path (presumably) no collision of the robot, in particular with the object(s) provided for data processing, will occur.
[0025] According to one embodiment of the present invention, a collision possibility of the robot on a path is predicted according to a method described here, in a further development a path of the robot is planned according to a method described here, and the robot is operated on the basis of this prediction, in particular planned path, in particular the robot travels the planned path or if it is predicted that a collision of the robot, in particular with the object(s) provided for data processing, will (probably) occur, a corresponding avoidance reaction is carried out, for example the robot is stopped, a collision avoidance movement is carried out, the path is replanned or the like.
[0026] According to one embodiment of the present invention, a method for training a data processing system or the data processing system based at least partially on machine learning for determining, preferably as described here, a distance value which depends, preferably in the manner described here, on a distance between an object and a boundary of a virtual spatial area filled by traveling along a preferably predetermined path from a or the start pose to a or the end pose of a or the image of the robot, on the basis of the provided start pose, the provided end pose and the provided object, comprises the steps: - Providing several (training) sets of starting and ending poses as well as intermediate pose(s) in a further training course; where for these sentences - a virtual spatial area filled by the image of the robot is determined by following a preferably predetermined path from the start pose to the end pose, in a further development via the intermediate pose(s), of the respective set; - several objects, in particular at least one object within the virtual spatial area and / or at least one object outside the virtual spatial area and / or at least one object whose distance from the image of the robot and / or the boundary of the virtual spatial area is less than half of a maximum extent of the image of the robot and / or virtual spatial area, in other words in the vicinity of the image of the robot or the boundary of the virtual spatial area, are provided; and for these objects - a distance value which, preferably in the manner described here or in the same way as when predicting a collision possibility, depends on a distance between the respective object and the boundary of the respective virtual spatial area; and - Training the data processing on the basis of the provided sentences, provided objects and distance values determined for them, preferably in such a way that the data processing maps the provided sentences and objects to the determined distance values or assigns the determined distance values to the provided sentences and objects.
[0027] According to one embodiment of the present invention, a system, in particular hardware and / or software, in particular program technology, is set up to carry out a method described here.
[0028] According to one embodiment of the present invention, a system comprises: - means for providing a starting pose of the robot; - means for providing a final pose of the robot; - in a further development, means for providing at least one intermediate pose; - means for providing a first object to be checked for the possibility of collision with the robot and, in a further development, at least one further object to be checked for the possibility of collision with the robot; and - data processing based at least partially on machine learning for determining a first distance value, which depends on a distance between the first object and a boundary of a virtual spatial area filled by an image of the robot by traversing a path from the start pose to the end pose, in a further development via the intermediate pose(s), on the basis of the provided start pose, the provided end pose (and optionally provided intermediate pose(s)) and the provided first object, and in a further development of a further corresponding distance value for the (respective) further object; and - means for predicting a collision possibility of the robot on the path based on the first distance value and, if applicable, the further distance value(s).
[0029] Additionally or alternatively, according to an embodiment of the present invention, a system comprises: - means for providing a plurality of sets of start and end poses and, in a further development, at least one intermediate pose; - means for, for these sentences respectively, - Determining a virtual spatial area filled by the image of the robot by following a path from the start to the end pose, in a further development via the intermediate pose(s), of the respective set and - Providing a plurality of objects, in particular at least one object within the virtual spatial area and / or at least one object outside the virtual spatial area and / or at least one object whose distance from the robot and / or a boundary of the virtual spatial area is less than half of a maximum extension of the robot and / or virtual spatial area, and - Determining - for these objects - a distance value which depends on a distance between the respective object and the boundary of the respective virtual spatial area; and - Means for training the data processing based on the provided sentences, provided objects and distance values determined for them.
[0030] Additionally or alternatively, according to an embodiment of the present invention, a system comprises: - means for providing a path of the robot; - means for predicting a collision possibility of the robot on this path according to a method described here; and - Means for evaluating the provided track based on this forecast.
[0031] Additionally or alternatively, according to an embodiment of the present invention, a system comprises: - means for predicting a collision possibility of a robot on a path according to a method described herein; and - Means of operating the robot based on this forecast.
[0032] A system and / or means within the meaning of the present invention can be designed in hardware and / or software, in particular at least one, in particular digital, processing unit, in particular a microprocessor unit (CPU), graphics card (GPU) or the like, preferably connected to a memory and / or bus system for data or signals, and / or one or more programs or program modules. The processing unit can be designed to execute instructions implemented as a program stored in a memory system, to detect input signals from a data bus, and / or to output signals to a data bus. A memory system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state, and / or other non-volatile media. The program can be designed in such a way that it embodies the methods described here oris capable of executing such a method, so that the processing unit can carry out the steps of such methods and thus, in particular, predict a collision possibility of a robot or plan a path of a robot or operate a robot or train data processing that is at least partially based on machine learning. In one embodiment, a computer program product can have, in particular be, a storage medium, in particular a computer-readable and / or non-volatile one, for storing a program or instructions or with a program or instructions stored thereon. In one embodiment, 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 method orto carry out one or more of its steps, or the program or instructions are set up to do so.
[0033] In one embodiment, one or more, in particular all, steps of the method are fully or partially computer-implemented or one or more, in particular all, steps of the method are fully or partially automated, in particular by the system or its means.
[0034] In one embodiment, the system comprises the robot.
[0035] In one embodiment, the data processing based at least partially on machine learning maps the provided start pose, provided end pose and the provided (corresponding) object as well as, if applicable, the provided intermediate pose(s) to the corresponding distance value as well as, if applicable, the additional output value. In particular, determining a distance value as well as, if applicable, an additional output value by means of data processing based at least partially on machine learning on the basis of a provided start pose, provided end pose and a provided object as well as, if applicable, one or more provided intermediate poses can comprise, in particular be, such mapping.
[0036] As already mentioned, the start and end poses can also coincide or be identical. In this case, following a path from such a start pose to such an end pose constitutes a zero movement of the robot (image) within the meaning of the present invention, and the virtual spatial area filled by an image of the robot by following a path from such a start pose to such an end pose is the virtual spatial area filled by the image of the robot in this start / end pose.
[0037] Providing in the sense of the present invention can in particular comprise generating and / or transmitting and / or receiving or obtaining and / or retrieving, in particular loading from a memory or buffer, and / or keeping ready, in one embodiment in a memory or buffer, in particular be, preferably for (further) use in a method described here.
[0038] Further advantages and features emerge from the subclaims and the exemplary embodiments. The following shows, partly schematically: Fig. 1: a system according to an embodiment of the present invention, and Fig. 2: a method according to an embodiment of the present invention.
[0039] Fig. Figure 1 shows a system according to an embodiment of the present invention comprising a robot and a controller 30. For clarity, the robot consists of a proximal member 10, which is rotatably mounted in a pivot joint 11, and a distal (end) member 12, which is rotatably mounted on the proximal member 10 in a pivot joint 13. An image of this robot is shown in Fig. 1 by two spheres enclosing the joints 11, 13 and two cylinders enclosing the links 10, 12. Accordingly, the configuration space of this robot is defined by its joint coordinates q = [q1, q2] Tspanned, its working space through the Cartesian space, in which - again exemplary for a clearer
[0040] Representation shows a first object or spatial point p1 and a further object or spatial point p2.
[0041] In order to plan a path on which the robot passes the two spatial points p1, p2 without collision, a data processing unit 31 comprising an artificial neural network is trained or a data processing unit trained in this way is used.
[0042] For training, a set of start and end poses {q s, i , q g, i} provided ( Fig. 2: Step S10) and for this set a virtual spatial area filled by the image of the robot is determined by traversing a path from the start to the end pose of the respective set ( Fig. 2: Step S20).
[0043] In Fig. 1, purely exemplary, such virtual spatial areas are indicated by hatching, for example - a virtual space for a Fig. 1 starting pose indicated in solid lines, in which both limbs 10, 12 are Fig. 1 are stretched out horizontally, an end pose in which the distal limb 12 is pivoted upwards by 90° while the proximal limb 10 is still stretched out horizontally, and a straight path [q1 = 0°, q2 = t·90°], t ∈ [0, 1], - a virtual spatial area for the end pose described above as a starting pose in which the distal limb 12 is pivoted upwards by 90° from the horizontal with the proximal limb 10 extended horizontally, an end pose in which the proximal limb 10 is pivoted upwards by 45° without relative movement of the distal limb 12 to the proximal limb, and a straight path [q1 = t 45°, q2 = 90°], t ∈ [0, 1], and - a virtual spatial area for the end pose described above as a starting pose in which the proximal limb 10 is pivoted upwards by 45° from the horizontal and the distal limb 12 is pivoted upwards by 90° relative to the distal limb 12 from the extended orientation or alignment, an end pose in which the proximal limb 10 is pivoted upwards by a further 45° and the distal limb 12 is pivoted backwards or backwards by -90° relative to the proximal limb 10, and a straight path [q1 = t·45°, q2 = (1-t)·90°], t ∈ [0, 1].
[0044] Several objects in the form of spatial points are provided and for each of these objects a distance value is determined, which comprises a distance between the respective object and the boundary of the respective virtual spatial area as a signed continuous value and / or a binary value that indicates whether the respective object lies within the virtual spatial area or not ( Fig. 2: Step S30).
[0045] In Fig. 1, two such spatial points p1, p2 are again indicated purely as examples for illustration.
[0046] While further sentences and objects are provided and distance values are determined for them, and / or after several sentences and objects have been provided and distance values have been determined for them, the data processing 31 is trained on the basis of these provided sentences and objects and the distance values determined for them in such a way ( Fig. 2: Step S40) that it maps start and end poses and spatial points to distance values: [q s , q g , p] → {dist, flag} with the signed distance dist and the binary value flag = {collision; no collision}. In a variation, one of these two distance value components can be omitted.
[0047] After the data processing 31 has been trained in this way ( Fig. 2: Step S50: "Y"), path planning is now performed. For this purpose, an initial path is provided in step S100 and divided into shorter partial paths in step S110. For each of these (partial) paths, a collision possibility of the robot on this (partial) path is predicted by the trained data processing system 31 ( Fig. 2: Step S120), whereby the beginning and end of the respective partial path are provided as start and end poses ( Fig. 2: Step S112) and as objects, for example, the spatial points p1, p2 explained above are provided as the first or further object ( Fig. 2: Step S114) and the corresponding first or further distance value is determined by means of the trained data processing ( Fig. 2: Step S116) and it is predicted that the robot is likely to collide with the corresponding spatial point if the signed distance dist is less than zero or a predetermined positive minimum distance between the boundary and the spatial point lying outside the spatial area or the flag = "collision".
[0048] If it is predicted for at least one of the partial paths that the robot is likely to collide with one of the spatial points ( Fig. 2: Step S130: “Y”), the initially provided path is assessed as unsuitable and modified or replaced by an alternative path ( Fig. 2: Step S140) and steps S110 - 130 or 140 are repeated until a path is found for whose partial paths it is predicted that the robot is not likely to collide with any of the spatial points ( Fig. 2: Step S130: “N”).
[0049] This path is then followed by the robot ( Fig. 2: Step S150). Again purely exemplary for illustration purposes, Fig. 1 such a collision-free path is indicated, on which the robot passes the two spatial points p1, p2. By following this path with the image of the robot, the image fills the Fig. 1. It can be seen that both spatial points p1, p2 each have a positive distance to the boundary G of the spatial region SV or lie outside the spatial region SV.
[0050] The exemplary embodiment illustrates that the data processing unit 31, trained on the basis of various sets of start and end poses and spatial points, can determine a distance value for different (partial) paths and for different potential obstacles in the form of spatial points. This allows different paths to be checked for collisions easily, quickly, and reliably.
[0051] It should be emphasized again that the embodiment is for illustrative purposes only and has therefore been greatly simplified. In practice, more complex robots will often be present and / or significantly more spatial points and sets of start and end poses will be used to train the data processing, preferably start and end poses distributed throughout the configuration space of the robot as well as spatial points near the robot (image) and / or the boundary of the (respective) virtual space area for the (respective) path between the (respective) start and end pose. The two spatial points p1, p2 in Fig.1 are used for clarity to explain both the training and the fully planned path. Furthermore, the previously explained subdivision of the path and collision checking of the partial paths can be omitted, and / or the start and end poses for one or more poses or path points to be checked can match, so that the virtual spatial area then corresponds to the virtual space filled by the image of the robot in this start / end pose.
[0052] In the present disclosure, "has an X" generally does not imply an exhaustive list, but is a shortened form of "has at least one X" and also includes "has two or more Xs" and "has Y in addition to X." Although exemplary embodiments have been explained in the foregoing description, it should be noted that numerous modifications are possible.
[0053] For example, path planning and / or training can be carried out (each) on separate computing devices, or the planned path can be made available to the controller and / or the trained data processing can be made available to a path planning system.
[0054] 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 skilled person with a guide for implementing at least one exemplary embodiment. Various modifications, particularly with regard to the function and arrangement of the described components, may be made without departing from the scope of protection as defined by the claims and equivalent combinations of features. List of reference symbols 10 proximal robotic limb 11 Swivel joint 12 distal robotic limb 13 Swivel joint 30 Control 31 Data processing p1 spatial point (first object) p2 spatial point (further object) SV virtual space area G Boundary of the virtual space area q1, q2 joint coordinates
Claims
[1] A method for predicting a collision possibility of a robot on a path, the method comprising the steps of: - Providing (S112) a starting pose of the robot; - Providing (S112) an end pose of the robot; - Providing (S114) a first object to be checked for collision potential with the robot; and - Determining (S116) a first distance value, which depends on a distance between the first object and a boundary of a virtual spatial region filled by an image of the robot by traversing a path from the start pose to the end pose, by means of data processing based at least partially on machine learning on the basis of the provided start pose, the provided end pose, and the provided first object; wherein a collision possibility of the robot on the path is predicted on the basis of the first distance value (S120). [2] Method according to claim 1, characterized by the steps: - Providing (S114) at least one further object to be checked for the possibility of collision with the robot; and - Determining (S116) a further distance value, which depends on a distance between this further object and the boundary of the virtual spatial area filled by the image of the robot by traversing the path from the start pose to the end pose, by means of the data processing based at least partially on machine learning on the basis of the provided start pose, provided end pose and the provided further object; wherein a collision possibility of the robot on the path is also predicted on the basis of this further distance value (S120). [3] Method according to one of the preceding claims, characterized by that a determined distance value has a discrete, in particular binary, value. [4] Method according to one of the preceding claims, characterized by that a determined distance value has a signed value. [5] Method according to one of the preceding claims, characterized by that the robot's path from the start to the end pose is a straight path. [6] Method according to one of the preceding claims, characterized by that the robot's path from the start to the end pose is a curved path. [7] Method according to one of the preceding claims, characterized by that at least one intermediate pose of the robot is provided to determine a distance value and the distance value is determined by means of data processing on the basis of this provided intermediate pose. [8] Method according to one of the preceding claims, characterized bythat at least one object to be checked for the possibility of collision with the robot is provided on the basis of an environment of the robot, in particular one detected by sensors, and / or in a workspace of the robot and / or that the start pose and / or end pose is provided in a configuration space of the robot. [9] Method according to one of the preceding claims, characterized by that when determining a distance value by means of data processing, an additional output value, in particular a kinematic variable transformed between a working space and a configuration space of the robot, is determined. [10] Method according to one of the preceding claims, characterized by that the data processing is trained according to a method according to claim 13, in particular. [11] A method for planning a path of a robot, the method comprising the steps of: - Providing (S100) a path of the robot; and - Predicting (S120) a collision possibility of the robot on this path according to a method according to one of the preceding claims; wherein the start and end pose are provided on the basis of the provided path and the provided path is evaluated (S140) on the basis of this prediction. [12] Method for operating a robot, wherein a collision possibility of the robot on a path is predicted according to a method according to one of the preceding claims and the robot is operated on the basis of this prediction (S150). [13] A method for training a data processing system based at least partially on machine learning for determining a distance value which depends on a distance between an object and a boundary of a virtual spatial area filled by an image of the robot by traveling along a path from a start pose to an end pose, on the basis of the provided start pose, the provided end pose and the provided object, in particular for predicting a collision possibility of the robot on the path according to a method according to one of the preceding claims, wherein the training comprises the steps: - Providing (S10) several sets of start and end poses; for each of these sets - a virtual spatial area filled by the image of the robot is determined by traversing a path from the start to the end pose of the respective set (S20); - several objects, in particular at least one object within the virtual spatial area and / or at least one object outside the virtual spatial area and / or at least one object whose distance from the robot and / or a boundary of the virtual spatial area is less than half of a maximum extension of the robot and / or virtual spatial area, are provided (S30); and for these objects in each case - a distance value which depends on a distance between the respective object and the boundary of the respective virtual spatial area is determined (S30); and - Training (S40) the data processing based on the provided sentences, provided objects and distance values determined for them. [14] System which is arranged to carry out a method according to one of the preceding claims and / or comprises: - means for providing a starting pose of the robot; - means for providing a final pose of the robot; - means for providing a first object to be checked for collision potential with the robot; and - data processing based at least partially on machine learning for determining a first distance value, which depends on a distance between the first object and a boundary of a virtual spatial area filled by an image of the robot by traversing a path from the start pose to the end pose, on the basis of the provided start pose, the provided end pose and the provided first object; and - means for predicting a collision possibility of the robot on the path based on the first distance value; and / or has: - means for providing multiple sets of start and end poses; - Means for determining, for each of these sets, a virtual spatial region filled by the image of the robot by traversing a path from the start to the end pose of the respective set and providing a plurality of objects, in particular at least one object within the virtual spatial region and / or at least one object outside the virtual spatial region and / or at least one object whose distance from the robot and / or a boundary of the virtual spatial region is less than half of a maximum extension of the robot and / or virtual spatial region, and determining for each of these objects a distance value which depends on a distance between the respective object and the boundary of the respective virtual spatial region; and - Means for training the data processing on the basis of the provided sentences, provided objects and distance values determined for them. [15] Computer program or computer program product, wherein the computer program or computer program product contains instructions, in particular 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 14, cause the computer(s) or the system to carry out a method according to one of claims 1 to 13.
Citation Information
Patent Citations
Robot system and method for avoiding contact between a gripper of the robot system and a dynamic obstacle in the environment
DE102014115774B3
Method and device for trajectory determination for serial manipulators
DE102019126465B4
Method and apparatus for evaluating a trajectory for a technical system
DE102019203751A1
Robot trajectory generation method, apparatus, computer program and computer readable storage medium
EP3195990B1
Method for determining a trajectory of a robot
EP3725472A1