Automatic collision-free robot motion generation for applications with environment interaction
Patent Information
- Application Number
- PCT/EP2025/060547
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-16
- Publication Date
- 2026-10-22
Smart Images

Figure EP2025060547_22102026_PF_FP_ABST
Abstract
Description
[0001] P25063W001 - 1 - 16.04.2025
[0002] ABB Schweiz AG 16 April 2025
[0003] A19503WO
[0004] Automatic Collision-Free Robot Motion Generation for Applications with Environment Interaction
[0005] FIELD OF INVENTION
[0006] The present disclosure relates to industrial process automation. In particular, the present disclosure relates to a method for automatically generating a collision-free path and motion planner for a robot arm, a computer program and a data processing system.
[0007] BACKGROUND
[0008] Industrial robotic applications, such as pick-and-place tasks, increasingly involve interaction with complex and dynamic environments which may make automatic collision-free path planning limited and requires user effort in programming. Hence, ensuring that robot motions are both effective and collision-free presents a significant challenge. Traditional automatic path planning methods often fall short in these settings, as they lack the flexibility to accommodate variations in the environment and typically require extensive manual programming efforts to achieve safe and efficient motion.
[0009] A common requirement in pick-and-place operations is the execution of multiple grasping tasks, each of which demands a suitable grasping path and a corresponding approach pose that enables safe and precise engagement with the target object.
[0010] Defining these approach poses is critical to preventing collisions with surrounding objects or the environment. In current practices, users generally resort to one of two strategies when configuring approach poses.
[0011] For example, in a first scenario, users may manually define approach points for each grasping path to avoid collisions. While this method can produce safe robot trajectories,P25063W001 - 2 - 16.04.2025
[0012] it significantly increases programming complexity and time. Moreover, it leads to rigid systems with low adaptability and poor maintainability, as any changes in the production line require corresponding updates to the robot programs.
[0013] In a second scenario, users may assign large grasping offsets to all grasping paths in an attempt to reduce programming effort and avoid collisions. Although this approach simplifies initial setup, it introduces new challenges, such as increased spatial requirements for workstations and longer robot cycle times. Additionally, the offsets must be reevaluated and potentially recalibrated whenever production configurations change.
[0014] Furthermore, the very nature of pick-and-place operations often necessitates direct interaction with objects in the environment, making traditional collision-free path planning even more challenging. For instance, picking up an object resting on a surface typically may require that the robot makes intentional contact with the object. Just before the pick, the robot must "collide" with the object to grip it; just after the pick, the object may become part of the robot and may now be in collision with the surface it rested on. This physical interaction may introduce further complexity for automated motion planning.
[0015] SUMMARY
[0016] It may be seen as an objective of the invention to provide an improved route and motion planning system for a robotic system with more planning intelligence, flexibility and efficiency.
[0017] The objective is achieved by the subject matter of the independent claims. The dependent claims, the following description and the drawings show embodiments of the invention.
[0018] According to a first aspect of the present disclosure, there is provided a method for automatically generating a collision-free path and motion planner for a robot arm. The method comprises the following steps:P25063W001 - 3 - 16.04.2025
[0019] providing a general-purpose motion template for automatically parametrizing at least one touch query for driving the robot arm;
[0020] determining at least one task for the robot arm for interacting with at least one target object and with the at least one environment;
[0021] generating an array of touch queries out from the general-purpose motion template for driving the robot arm to perform the at least one task.
[0022] Further, the generating the array of touch queries comprises the substeps of:
[0023] determining an interacting target, at which the robot arm comes into contact with the at least one target object and / or the at least one environment; flexibly determining, based on the interacting target of the array of touch queries, a parameter group of an interacting segment comprising an approaching pose and an approaching target, at which the robot arm starts with the approaching pose towards the interacting target.
[0024] The method of the present disclosure may advantageously allow automatically parametrizing and generating collision-free motions, with minimal user input or user effort.
[0025] The term collision-free path may be broadly understood as a motion path in which the robot arm may avoid unintended contacts with the target objects, the environments or surroundings, obstacles. For example, pick motions of the robot arm may often be defined by approach and retract targets positioned above the target object, and a linear motion, such as a Linear Cartesian Motion, may be used to minimize the risk of unforeseen collisions or unintentional disturbance of the environment. Conventionally, this physical interaction may introduce further complexity for automated motion planning. Since a collision-free path, by definition, cannot start or end in a configuration where the robot arm is already in collision with the environment, generating such collision-free paths for applications involving contact with the target object and / or the environment may require significant user input, detailed scene modelling, and careful motion design.
[0026] In the present disclosure, the general-purpose motion template may be broadly understood as a predefined, parameterizable sequence of motion primitives or task requests that may guide the robot arm from a collision-free pre-approach pose to a task-specific interaction pose, enabling adaptable and safe motion generation acrossP25063W001 - 4 - 16.04.2025
[0027] varying environments in a more efficient manner, while reducing user effort and improving the scalability and maintainability of robot programming in dynamic application scenarios.
[0028] In particular, the method of the present disclosure may allow generating a path planer that may automatically parametrize the general-purpose motion template in form of the array of touch queries. In other words, the method may advantageously enable the automatic generation of collision-free motion paths for robotic arms in complex environments with reduced user input and programming effort. By leveraging a general-purpose motion template and flexibly determining the approaching pose and the approaching target or the approaching position based on the tasks and the array of touch queries with determined interacting target, the method may ensure the safety and the efficiency in one or more tasks in sequence involving intentional contacts or interactions with one or more objects and / or one or more environments.
[0029] According to an embodiment, the flexibly determining the parameter group of the interacting segment may be performed based on characteristics of the robot arm and / or the at least one target object and / or the at least one environment. The characteristics of the robot arm and / or the at least one target object and / or the at least one environment may comprise, but not limited to, a geometry or a dimension, an orientation and / or a shape of the robot arm and / or the at least one target object and / or the at least one environment.
[0030] Additionally, the characteristics of the environment may also be derived from a point cloud representation, which may provide a detailed spatial mapping of the environment and enable the motion planner to accurately account for obstacles and free space when generating collision-free paths.
[0031] Optionally, the characteristics may further comprise a relative distance and / or a relative orientation between the robot arm and / or the at least one target object and / or the at least one environment to each other, and / or any objects or obstacles in the vicinities of the robot arm and / or the at least one target object and / or the at least one environment or along the paths in between.
[0032] According to another embodiment, the step of generating the array of touch queries may further comprise the substep of generating a collision-free approaching path fromP25063W001 - 5 - 16.04.2025
[0033] a starting position to the approaching target. Moreover, the generating the collision-free approaching path from the starting position to the approaching target may further comprise the substep of determining, based on the determined approaching target of the parameter group of the interacting segment, a second parameter group of an approaching segment.
[0034] Optionally, the approaching segment may be provided to separate the interacting target or interacting position as point of interaction from the approaching path. Accordingly, the interaction path may be provided between the approaching target and the interaction target.
[0035] According to another embodiment, the second parameter group of the approaching segment may comprise one or more parameters such as, but not limited to, a direction from the starting position to the approaching target or the approaching position, and / or a length of the collision-free approaching path, and / or a coordinate frame, and / or an interpolation type for the collision-free approaching path, and / or an approaching motion.
[0036] In this way, the collision-free approach paths for the route and motion planning of the robot arm may be generated precisely with the defined parameters of the second parameter groups of the approaching segment.
[0037] According to another embodiment, the generating the array of touch queries may further comprise the substep of generating a retracting path from the interacting target towards the retracting target. Moreover, the generating the retracting path from the interacting target towards the retracting target may further comprise the substep of determining, based on the determined interacting target of the parameter group of the interacting segment, a third parameter group of a retracting segment, comprising a retracting target for the robot arm after interacting with the at least one target object and / or the at least one environment.
[0038] According to another embodiment, the third parameter group of the retracting segment further may comprise one or more parameters such as, but not limited to, a direction from the approaching target to the retracting target, and / or a length of the retracting path, and / or a coordinate frame and / or an interpolation type for the retracting target, and / or a retracting motion.P25063W001 - 6 - 16.04.2025
[0039] Optionally, the retracting segment may be provided to separate the interacting target or interacting position as point of interaction from the retracting path, after that the robot arm has performed the interacting segment.
[0040] Advantageously, the method step of parametrizing the retracting segment using the third parameter group of the retracting segment may improve the safety of the postinteraction motions of the robot arm by enabling the generation of the precise and customizable retracting path. By defining the parameters of the third parameter group of the retracting path, the method step may ensure smooth, collision-free withdrawal or removal from the interacting target, leading to the reduction of unintended collisions and the increase of the robot system’s adaptability to varying environments and object configurations.
[0041] According to another embodiment, the at least one robot arm may comprise an end effector. The end effector may be, but not limited to, a gripper, which may be a vacuum gripper comprising one or a plurality of suction cups, a magnetic gripper, a multiplefinger gripper or an adhesive gripper.
[0042] According to another embodiment, the at least one task for the robot arm may comprise, but not limited to, grasping or picking the at least one target object from the at least one environment, placing or dropping the at least one target object in the at least one environment, manipulating the at least one target object in relation to the at least one environment around the at least one target object, or touching a surface of the at least one target object or of the at least one environment.
[0043] According to another embodiment, the at least one target object may comprise a plurality of target objects, and the at least one environment may comprise a plurality of environments.
[0044] The at least one task may comprise picking the plurality of target objects from the plurality of environments and placing the plurality of target objects in one of the plurality of environments.
[0045] For example, by at least partially following the array of touch queries, a single planning request may allow the robot arm to perform a plurality of tasks in sequence to pick or grasp different target objects from different environments and to place or drop the multiple objects at a single location or target position in a common environment.P25063W001 - 7 - 16.04.2025
[0046] Alternatively, the at least one task may comprise picking the plurality of target objects from one of the plurality of environments and placing each of the plurality of target objects in different environments.
[0047] For example, by at least partially following the array of touch queries, a single planning request may allow the robot arm to perform a plurality of tasks in sequence to pick or grasp multiple objects at once in a single environment and to place or drop at multiple, for example two or three, locations or target positions in various environments.
[0048] According to another embodiment, the array of touch queries may comprise a first touch query for a first task, which the robot arm may be driven to perform from a first starting position via a first approaching target and a first interacting target to a first retracting target, and a second touch query following the first touch query for a second task, which the robot arm may be driven to perform from a second starting position via a second approaching target and a second interacting target to a second retracting target. The first retracting target of the first touch query may be the second starting position of the second touch query.
[0049] Most robotic applications may comprise several steps and programing these separately even with access to automatic path planning tools may demand high effort and skills from the user. To simplify this, the path and motion planner of the present disclosure may allow specifying the array of touch queries in a planning request to automatically generate the parameters and the motion for the overall application. For instance, a single planning request may specify picking multiple target objects at once and placing them in various locations and going to a final target and the path and motion planner may find the collision-free path between these steps.
[0050] For example, upon receiving a planning request via the general-purpose motion template, the path and motion planner may generate the array of touch queries aiming for valid approaching or interacting or retracting tasks or targets, plan a collision-free path from the starting position to the approaching target, and return the overall path from the starting position to the retracting target to the user for each of the touch queries in the planning request.
[0051] By unifying the first retracting target of the first touch query and the second starting position of the second touch query, a seamless chaining of multiple tasks for the robotP25063W001 - 8 - 16.04.2025
[0052] arm may be enabled by linking the retracting target of one task to the starting position of the next. This continuity may reduce unnecessary repositioning movements, optimizes the path and motion planning, and minimize overall cycle time. It also improves execution efficiency and simplifies coordination between successive operations, leading to smoother, more efficient robotic workflows in dynamic and multi-step automation processes.
[0053] Alternatively, the first retracting target of the first touch query may differ from the second starting position of the second touch query. Accordingly, the array of touch queries may comprise a transition touch query without any picking or placing task.
[0054] Moreover, the route and motion planner may automatically update the model of the robot arm and the environment and check for collision status of the objects that may be picked or attached to the robot arm or placed or detached from the robot arm by the robot arm at different touch queries.
[0055] The planning of multiple touch queries may be solved in a recursive manner. For instance, if a selected parametrization of a pick query as a touch query may result in a collision in a later touch query, for example the place query, the algorithm may return to the pick query and attempt to select the next optimal parametrization.
[0056] According to another embodiment, the method may further comprise the step of optimizing the parameter group of the interacting segment, the second parameter group of the approaching segment, and / or the third parameter group of the retracting segment of the array of touch queries, by means of the general-purpose motion template, for planning an overall collision-free path for the at least one task meeting a plurality of criteria comprising a reduced cycle duration and / or a reduced energy consumption.
[0057] Alternatively or additionally, the step of optimizing the parameter group of the interacting segment, the second parameter group of the approaching segment, and / or the third parameter group of the retracting segment of the array of touch queries may be performed by reducing path lengths, motion time, energy consumption or mechanical wear from the starting position of the first touch query to the retracting target or the end target or the goal target of the last touch query.P25063W001 - 9 - 16.04.2025
[0058] According to another embodiment, the optimizing the parameter group of the interacting segment, the second parameter group of the approaching segment, and / or the third parameter group of the retracting segment of the array of touch queries may comprise the substep of determining a goal region having a reference target and a plurality of types of available parameter groups. The plurality of types of available parameter groups may comprise a position region for defining or specifying a box region that is centered at a tool center point (TCP) position of the reference target, an orientation cone region for defining or specifying a spherical cone around the reference target, and robot target parameters of a goal for a linear-axes-mounted robot arm for flexibly defining linear axis positions for generating the shortest collision-free path for the robot arm starting from the starting position.
[0059] For example, the user may provide a desired pose for the tool centre point (TCP), and the system may determine the optimal configuration of the linear axes of the robot arm to reach that TCP pose, based on the orientation cone region and the starting position of the robot arm.
[0060] The user may set many of the parameters involved in such a planning request. It may also be possible to leave some parameters to be optimized by the proposed planner. For instance, each touch target may be specified as a single fixed robot target or a family of targets. The family of targets may comprise an array of targets, for example, for different grasping candidates or objects, or position or orientation target regions. The path planner may then find the target that may lead to the optimal path, for example, based on criteria such as a shorter cycle duration, or a lower energy consumption or an increased robot lifetime.
[0061] For the parameter group of the position region, the path planner may select a valid goal with the TCP position within the box region and with the same TCP orientation as that of the provided reference.
[0062] For the parameter group of the orientation region, the path planner may select a valid goal with the TCP position matching that of the reference and an orientation that falls within the cone region. The base angle parameter of the orientation region may be used to limit rotations around the cone axis, for instance to protect cables or hoses of flange attachments.P25063W001 - 10 - 16.04.2025
[0063] For example, the parameter group of robot target parameters of the goal may be designed using a TCP pose, optionally accompanied by a configuration parameter that may specify how the robot arm may be able to reach that pose. In the case of linear-axis-mounted robot arms, this parameter group may be used to plan the motions that may include both the articulated joints and the position of the linear axes. While the position of the linear axis may be explicitly specified by the user, the Automatic Path Planning Server may also support goal definitions where the TCP pose may be provided. In such cases, the planner autonomously may determine suitable linear-axis positions and configuration parameters that may allow the robot to reach the goal while optimizing a defined motion cost, taking into consideration of multiple factors such as path length, execution time, energy consumption, robot lifetime or mechanical wear. This may significantly reduce the burden on the user and improve the flexibility and efficiency of motion planning in complex robotic systems.
[0064] Furthermore, the approaching and retracting segments may be automatically parameterized. For instance, the length of the approaching and retracting segments may be found by the route and motion planner. The route and motion planner may search for the shortest length of the approaching and retracting segments that may result in a kinematically valid and collision-free retracting and approaching segments. The direction of the segments may also be automatically found by the user providing a reference Cartesian position, for instance the center of the container in an item picking application, and the route and motion planner searching for the shortest approaching and retracting segments in directions including those biased towards the reference point.
[0065] According to another embodiment, the generating the collision-free approaching path may further comprise the substeps of:
[0066] detecting, by means of a camera, the characteristics of the robot arm, the at least one target object and the at least one environment comprising a possible- to-collide object, wherein the characteristics may comprise the dimensions of the target object and the possible-to-collide object;
[0067] determining, based on the detected characteristics of the robot arm, the at least one target object and the at least one environment, a collision position being the highest point of the possible-to-collide object of the at least one environment;P25063W001 - 11 - 16.04.2025
[0068] determining, based on the dimensions of the target object and the possible-to-collide object, the approaching pose and the approaching target for driving the robot arm to grasp the at least one target object along the shortest approaching path.
[0069] According to another embodiment, the generating the collision-free approaching path may further comprise the substep of adjusting the approaching path for the robot arm by reducing a distance sum of a first path from the starting point or the intermediate starting point to the approaching target and a second path from the approaching target to the interacting target.
[0070] The method substeps may allow calculating the approaching pose and the approaching target with no collision and optimal cycle time. Before the robot arm executing the path, a preliminary route may be generated. The actual execution path of the robot arm may then be adjusted based on potential collision risks.
[0071] In order to simplify the calculation, a plurality of pre-requisites may be required, by which only one type having a current position as the starting position, the approaching position and the target grasping position as the interacting position may be taken into consideration. Further, all grasping tasks may be performed from a top position to a bottom position. Also, the optimal rhythm may be represented by the shortest distance sum of two paths: the distance from the current position to the approaching position, and the distance from the approaching position to the target grasping position.
[0072] For example, the camera held by the robot end or the end effector of the root arm may be arranged for providing the input information of the calculation. Based on the method step, the rough path may be generated based on the input information comprising one or more of the current position of the end effector of the robot arm, the position of the grasped object or the interacting target as the target position, the dimensions of the target object, the position of the possible-to-collide objects that may collide with the end effector within the path, and the dimensions of the possible-to-collide objects.
[0073] According to another embodiment, the adjusting the approaching path for the robot arm may be performed within a cycle time.
[0074] By using the method of the present disclosure, automatic generation of approaching points or approaching targets may be introduced, so that the users do not need toP25063W001 - 12 - 16.04.2025
[0075] manually configure them. Further, the input information from the handheld camera may be utilized to avoid collisions, eliminating the need for the users to perform multiple teaching sessions to avoid collisions. In addition, during path execution, the path, such as the approaching path and / or the interacting path, may be corrected or optimized in real-time, based on the input information from the handheld camera to avoid collisions.
[0076] According to a second aspect, a robotic system is provided for automatically generating a collision-free path and motion planner, which comprises a robot arm that is configured to interact with at least one target object and with the at least one environment and a path and motion planning module. The path and motion planning module is configured to receive a general-purpose motion template for automatically parametrizing at least one touch query for driving the robot arm, to determine at least one task for the robot arm for interacting with at least one target object and with the at least one environment, and to generate an array of touch queries out from the general-purpose motion template for driving the robot arm to perform the at least one task. Further, the path and motion planning module is configured, for determining the at least one task for the robot arm, to determine an interacting target, at which the robot arm comes into contact with the at least one target object and / or the at least one environment and to flexibly determine, based on the interacting target of the array of touch queries, a parameter group of an interacting segment comprising an approaching pose and an approaching target, at which the robot arm starts with the approaching pose towards the interacting target.
[0077] According to a third aspect, there is provided a computer program comprising machine-readable instructions which, when executed by one or more data processing apparatuses, cause the one or more data processing apparatuses to carry out the method of the first aspect of this disclosure.
[0078] The computer program product(s) may be a computer program or computer programs as such, meaning a computer program consisting of or comprising program code to be executed by the data processing apparatus, in particular computer.P25063W001 - 13 - 16.04.2025
[0079] Alternatively, the computer program product(s) may be a product or products such as a data storage(s), in particular computer-readable data storage medium(s), on which the computer program(s) may be temporarily or permanently stored.
[0080] According to a third aspect of this disclosure, there is provided a data processing system configured to carry out the method according to the first aspect of this disclosure.
[0081] It is noted that the above aspects, examples and features may be combined with each other irrespective of the aspect involved.
[0082] These and other aspects will be apparent from and elucidated with reference to the embodiments as per the drawings described hereinafter.
[0083] BRIEF DESCRIPTION OF THE FIGURES
[0084] Examples of the disclosure will be described in the following with reference to the following drawings.
[0085] Fig. 1 shows schematically a flow chart illustrating a method for automatically generating a collision-free path and motion planner according to the present disclosure;
[0086] Fig. 2 shows schematically a flow chart illustrating a substep of a method for generating a collision-free approaching path according to the present disclosure;
[0087] Fig. 3 shows schematically an example of a touch query for the method according to the present disclosure;
[0088] Fig. 4 shows schematically an example of a touch query for the method according to the present disclosure;
[0089] Fig. 5 shows schematically an example of an array of touch queries for the method according to the present disclosure;
[0090] Fig. 6 shows schematically a flow chart illustrating the recursive planning and parametrization of an array of queries for the method according to the present disclosure;P25063W001 - 14 - 16.04.2025
[0091] Fig. 7a shows schematically an example of parameters of an orientation cone region for the method according to the present disclosure;
[0092] Fig. 7b shows schematically an example of a pick and drop application using an orientation cone region as the drop target for the method according to the present disclosure;
[0093] Fig. 8a to 8c show, respectively, schematically examples of orientation goal region and the path lengths reduction by relaxing the goals orientation according to the present disclosure;
[0094] Fig. 9 shows schematically a flow chart illustrating a substep of adjusting an approaching path of the method according to the present disclosure; Fig. 10a shows schematically an example of a substep of generating a collision- free approaching path of the method according to the present disclosure; Fig. 10b shows schematically an example of a substep of generating a collision- free approaching path of the method according to the present disclosure.
[0095] The figures are merely schematic representations and serve only to illustrate examples of the disclosure. Identical or equivalent elements are in principle provided with the same reference signs.
[0096] DETAILED DESCRIPTION OF EMBODIMENTS
[0097] Fig. 1 shows schematically a flow chart illustrating a method 200 for automatically generating a collision-free path and motion planner for a robot arm 10, for example as shown in Fig. 3 to Fig. 5. The method 200 comprises a plurality of steps.
[0098] In a step 210, a general-purpose motion template is provided for automatically parametrizing at least one touch query for driving the robot arm 10. In a step 220, at least one task for the robot arm 10 is determined for interacting with at least one target object 20, 21 , 22, for example as shown in Fig. 4 and Fig. 5, and with the at least one environment 30, 31 , 32, 33, for example as shown in Fig. 3 to Fig. 5.
[0099] In a step 230, an array of touch queries 50, 50a, 50b, 50c, 50d, 50e, for example as shown in Fig. 3 to Fig. 5 and Fig. 6, is generated out from the general-purpose motion template for driving the robot arm 10 to perform the at least one task.P25063W001 - 15 - 16.04.2025
[0100] In Fig. 1 , the step 230 comprises a plurality of substeps. In a substep 235, an interacting target 111 is determined, at which the robot arm 10 comes into contact with the at least one target object 20, 21 , 22 and / or the at least one environment 30, 31 , 32, 33, as shown in Fig. 3 to Fig. 5.
[0101] In a subsequent substep 236, a parameter group of an interacting segment is flexibly determining, based on the interacting target 111 of the array of touch queries 50, 50a, 50b, 50c, 50d, 50e. The parameter group of the interacting segment comprises an approaching pose and an approaching target 112, at which the robot arm 10 starts with the approaching pose towards the interacting target 111. The substep 236 of flexibly determining the parameter group of the interacting segment may be performed based on characteristics of the robot arm 10 and / or of the at least one target object 20, 21 , 22 and / or of the at least one environment 30, 31 , 32, 33.
[0102] Optionally, the step 230 of generating the array of touch queries 50, 50a, 50b, 50c, 50d, 50e may further comprise a substep 231 , in which a collision-free approaching path 125 may be generated from a starting position 121, 1211, 121a, 121 b to the approaching target 112 as shown in Fig. 3 to Fig. 5. The substep 231 of generating the collision-free approaching path 125 may comprise a substep of determining, based on the determined approaching target 112 of the parameter group of the interacting segment, a second parameter group of an approaching segment. The second parameter group of the approaching segment may comprise one or more parameters of a direction from the starting position 121, 1211, 121a, 121 b to the approaching target or approaching position 112, and / or a length of the collision-free approaching path 125, and / or a coordinate frame, such as a robot tool or world coordinates, and / or an interpolation type, such as a linear Cartesian or a joint space, for the collision-free approaching path 125, and / or an approaching motion.
[0103] Optionally, the step 230 of generating the array of touch queries 50, 50a, 50b, 50c, 50d, 50e may further comprise a substep 238, in which a retracting path 135 may be generated from the interacting target 111 towards the retracting target 131, 131a, 131b, 131c. The substep 238 of generating the retracting path 135 may comprise a substep of determining, based on the determined interacting target 111 of the parameter group of the interacting segment, a third parameter group of a retracting segment, which may comprise a retracting target 131 , 131a, 131b, 131c for the robot arm 10 after interacting with the at least one target object 20, 21 , 22 and / or the at least one environment 30,P25063W001 - 16 - 16.04.2025
[0104] 31 , 32, 33. The third parameter group of the retracting segment may comprise one or more parameters of a direction from the approaching target 112 to the retracting target 131, 131a, 131b, 131c, and / or a length of the retracting path 135, and / or a coordinate frame and / or an interpolation type for the retracting path 135, and / or a retracting motion.
[0105] The robot arm 10 may comprise an end effector, which may be a single gripper as shown in Fig. 3, or a vacuum gripper, for example comprising an array of suction cups as shown in Fig. 4 and Fig. 5, or a two-finger gripper as shown in Fig. 10a and Fig. 10b.
[0106] In particular, Fig. 3 shows schematically an example of an array of touch queries 50 for the method 200 for generating a touch query path for a simple touch use case. In Fig.
[0107] 3, no target object 20 is provided, and the robot arm 10 may interact directly with the environment 30. The task for the robot arm 10 is set to touch a slop surface of the environment 30. The overall path is segmented into the interacting segment, the parameter group of which comprises the approaching pose and the approaching target 112 for defining the interacting path 115, the approaching segment having the second parameter group for defining the collision-free approaching path 125, and the retracting segment having the third parameter group for defining the retracting path 135 after the interaction between the robot arm 10 and the environment 30. In other words, the approaching segment and the retracting segments may optionally be provided to separate the point of interaction, in particular, the interacting target 111, from the rest of the overall path as shown in Fig. 3. The interacting target 111 is determined at the slope surface of the environment 30.
[0108] By contrast, Fig. 4 shows schematically a further example of an array of touch query 50 for the method 200 for generating a touch query path 115, 125, 135 for a pick use case. The task for the robot arm 10 is to pick the target object 20 on the environment 30. The interacting target 111 is determined at the surface of the environment 30. By following the interacting path 115, the gripper in form of the array of suction cups may interact with the target object 20 to grasp or pick the target object 20.
[0109] Fig. 5 shows schematically a further example of an array of touch queries 50 for the method 200. Upon receiving a route and motion planning request, the route and motionP25063W001 - 17 - 16.04.2025
[0110] planner may generate multiple valid approaching or retracting or interacting targets, plan a collision-free path from the starting position to the approach end position, and return the overall path from the starting point to the retracting target to the user for each of the touch queries in the planning request.
[0111] In Fig. 5, a planning query with multiple, in particular five, touch queries in sequence may be provided. The single planning request based on the array of touch queries may specify the multiple tasks in sequence comprising picking two target objects 21 , 22 at once by the robot arm 10 from a single environment 31 and placing or dropping the two target objects 21 , 22 in two different environments 32, 33.
[0112] In Fig. 5, the planning query with the five touch queries comprises a first touch query 50a for picking the two target objects 21 , 22 from the first environment 31 , starting from the starting position 121 to the first retracting target 131 , a second touch query 50b for moving the robot arm from the first retracting target 131 to a second starting position 121 a, and a third touch query 50c for placing the first target object 21 in the second environment 32, starting from the second starting position 121a to a second retracting target 131a. In addition, the planning query further comprises a fourth touch query 50d for placing the second target object 22 in the third environment 33, starting from a third starting position 121b to a third retracting target 131b. Further, the planning query comprises a fifth touch query 50e, which instructs the robot arm 10 to move from the third retracting target 131b to an end target 131c. The second and fifth touch queries 50b and 50e may thus specify via the target points that the robot arm 10 should visit, but that may have no pick or place task.
[0113] The second retracting target 131a is located at the same position as the third starting position 121b. By unifying the previous retracting target 131a of the previous touch query 50c and the following starting position 121b of the following touch query 50d, a seamless chaining of multiple tasks for the robot arm 10 may be enabled by linking the retracting target of one task to the starting position of the next. This continuity may reduce unnecessary repositioning movements, optimizes the path and motion planning, and minimize overall cycle time. It may also improve the execution efficiency and simplify the coordination between successive operations, leading to smoother, more efficient robotic workflows in dynamic and multi-step automation processes.P25063W001 - 18 - 16.04.2025
[0114] Corresponding to Fig. 5, Fig. 6 shows schematically an example of the recursive planning and parametrization of the array of five touch queries 50a, 50b, 50c, 50d, 50e, starting from the starting pose 51.
[0115] Further, Fig. 5 shows that, in case that a selected parametrization of a pick query 50a may result in a collision in a later touch query 50c, for example the placing query, the algorithm may return to the pick query and attempt to select the next optimal parametrization using the iteration 55 from the touch query with the failure.
[0116] Fig. 1 shows further, by following the step 230 of generating the array of touch queries 50, 50a, 50b, 50c, 50d, 50e, the method 200 may further comprise a step 240, in which the parameter group of the interacting segment, the second parameter group of the approaching segment, and / or the third parameter group of the retracting segment of the array of touch queries 50, 50a, 50b, 50c, 50d, 50e may be optimized, by means of the general-purpose motion template, for planning an overall collision-free path 115, 125, 135 for the at least one task meeting a plurality of criteria comprising a reduced cycle duration and / or a reduced energy consumption.
[0117] Alternatively or additionally, the step 240 of optimizing the parameter group of the interacting segment, the second parameter group of the approaching segment and / or the third parameter group of the retracting segment of the array of touch queries 50, 50a, 50b, 50c, 50d, 50e may further comprise the substep of determining a goal region having a reference target and a plurality of types of available parameter groups, in particular three available parameter groups:
[0118] a position region, which may specify a box region of the environment 30 centered at the TCP position 11 , as shown in Fig. 7a. The path and motion planner may select a valid goal with the TCP position 11 within the box region and with the same TCP orientation as that of the provided reference;
[0119] an orientation region, which may specify a spherical cone 13 around the provided reference as shown in Fig. 7a. The path and motion planner may select a valid goal with the TCP position 11 matching that of the reference and an orientation that may fall within the orientation cone region 12, which may comprise parameters of an axis, a base angle 14 and a cone angle 15:
[0120] robot target parameters of a goal for a linear-axes-mounted robot arm 10 for flexibly defining linear axis positions for generating the shortest collision-freeP25063W001 - 19 - 16.04.2025
[0121] path 115, 125, 135 for the robot arm 10 starting from the starting position 121 , 1211, 121a, 121b. For example, the parameter group of robot target parameters of the goal may be designed as a RobTarget Linear-axies-mounted robots. This parameter group may normally be used to plan for the linear axes-mounted robot arm 10 with a RobTarget as an Automatic Path Planning Server, which may allow for not specifying the positions and only specifying the RobTarget of the goal. The path planner may find linear axis positions that may lead to the shortest path from the starting position.
[0122] Fig. 7b shows schematically an example of a pick and drop application using the orientation cone region as the dropping target using the above-described goal region model comprising the reference target and the three types of available parameter groups. Moreover, Fig. 8a, Fig. 8b and Fig. 8c show further examples of the orientation goal region 12 and the path lengths reduction that may be achieved by relaxing the goal’s orientation. The touch query in Fig. 8a may be specified as a single fixed robot target, while the touch query in Fig. 8b and Fig. 8c may, respectively, be specified by the orientation region goal. From Fig. 8a via Fig. 8b to Fig. 8c, the rotation of the robot arm 10 from the starting position 121 to the retracting target 131 decreases from 3.98 rad to 2.11 rad to 1.40 rad.
[0123] Fig. 2 shows schematically a flow chart illustrating a substep 231 of a method 200 for generating a collision-free approaching path 125, which further comprises a plurality of substeps.
[0124] In a substep 2311 , the characteristics of the robot arm 10, the at least one target object 20, 21 , 22 and the at least one environment 30, 31 , 32, 33 may be detected, optionally by means of a camera. The characteristics may comprise the dimensions of the at least one target object 20, 21 , 22 and the possible-to-collide object 35, as shown in Fig. 10a and Fig. 10b.
[0125] In a substep 2312, a collision position that may be the highest point of the possible-to-collide object 35 of the at least one environment 30, 31 , 32, 33 may be determined, based on the detected characteristics of the robot arm 10, the at least one target object 20, 21 , 22 and the at least one environment 30, 31 , 32, 33.P25063W001 - 20 - 16.04.2025
[0126] In a substep 2314, the approaching pose and the approaching target 112 may be determined, based on the dimensions of the at least one target object 20, 21, 22 and the possible-to-collide object 35, for driving the robot arm 10 to grasp the at least one target object 20, 21, 22 along the shortest approaching path 125, as shown in Fig. 10a and Fig. 10b.
[0127] Optionally, the substep 231 of generating the collision-free approaching path 125 may further comprise a substep 2313, in which a height increase of the robot arm 10 from the starting position 121 may be calculated, based on the dimensions of the at least one target object 20, 21 , 22 and the possible-to-collide object 35, for generating an intermediate starting position 1211 and for generating a safety distance 150, as shown in Fig. 10b, between the possible-to-collide object 35 and the shortest approaching path 125 between the intermediate starting position 1211 and the approaching target 112.
[0128] Further, optionally, the substep 231 of generating the collision-free approaching path 125 may further comprise a substep 2315, in which the approaching path 125 for the robot arm 10 may be adjusted, by reducing a distance sum of the approaching path 125 from the starting position 121, 121a, 121b or the intermediate starting position 1211 to the approaching target 112 and an interacting path 115 from the approaching target 112 to the interacting target 111 , as shown in Fig. 10b.
[0129] Fig. 9 shows further schematically a flow chart illustrating the substep 2315 of the adjusting the approaching path 125 of the method 200, which comprises a plurality of substeps. In a substep 301 , an approaching pose and an approaching target 112 may be calculated with input parameters. In a substep 302, a rough path may be delivered to the approaching pose and the approaching target, followed by a substep 303, in which the rough path may be segmented.
[0130] In a further substep 2312, the position of the possible-to-collide object 35 may be detected and the position thereof may be determined. Subsequently, in a substep 304, it may be evaluated if a collision between the robot arm 10 and the environment 30 may happen within the nearest path segment. If this may be the case, a cycle time or a loop time may be set to evaluate or determine, whether the height value of the endpointP25063W001 - 21 - 16.04.2025
[0131] of the nearest segment may be increased in a substep 3042, or whether it may be concluded or confirmed with the mission failed in a substep 3043.
[0132] The substep 2315 of the adijusting the approaching path 125 for the robot arm 10 may be performed within a cycle time.
[0133] If it may be evaluated in the substep 304 that the collision between robot arm 10 and the environment 30 may not happen, there may be provided a substep 305, in which the nearest path segment may be executed. In a substep 306, it may be evaluated whether the robot arm 10 has arrived the approaching target 112. In case that the robot arm 10 has not arrived the approaching target 112, the substep 2315 of the adjusting the approaching path 125 may return to the substep 2312 of detecting another position of possible-to-collide object 35. In case that the robot arm 10 has arrived the approaching target 112 in the substep 306, it may be confirmed with “mission completed” in a substep 3061.
[0134] While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art and practising the claimed invention, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word “comprising” does not exclude other elements, and the indefinite article “a” or “an” does not exclude a plurality. A single processor or controller or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope.P25063W001 - 22 - 10.4.2025
[0135] LIST OF REFERENCE SIGNS
[0136] 10 robot arm
[0137] 11 TCP (tool center point) position
[0138] 12 orientation cone region
[0139] 13 axis
[0140] 14 base angle
[0141] 15 cone angle
[0142] 20, 21, 22 target object
[0143] 30, 31, 32, 33 environment
[0144] 35 possible-to-collide object
[0145] 50, 50a, 50b, 50c, 50d, 50e touch query
[0146] 51 start of touch query
[0147] 55 iteration of touch query by failure
[0148] 111 interacting target
[0149] 112 approaching target
[0150] 115 interacting path
[0151] 121, 121a, 121b starting position
[0152] 1211 intermediate starting position
[0153] 131, 131a, 131b, 131c retracting target
[0154] 125 approaching path
[0155] 135 retracting path
[0156] 200 method for automatically generating collision-free path and motion planner
[0157] 210 step of providing general-purpose motion template for automatically parametrizing touch query
[0158] 220 step of determining task for robot arm
[0159] 230 step of generating array of touch queries
[0160] 231 substep of generating collision-free approaching path 2311 substep of detecting characteristics of robot arm, target object and environment
[0161] 2312 substep of determining collision position
[0162] 2313 substep of calculating height increase of robot armP25063W001 - 23 - 16.04.2025 2314 substep of determining approaching pose and approaching target along shortest approaching path 2315 substep of adjusting approaching path for robot arm 235 substep of determining interacting target
[0163] 236 substep of flexibly determining parameter group of interacting segment
[0164] 238 substep of generating retracting path
[0165] 240 step of optimizing parameter groups of interacting segment, second parameter group of approaching segment, and / or third parameter group of retracting segment
[0166] 301 substep of calculating approaching pose
[0167] 302 substep of delivering rough path to approach pose 303 substep of segmenting rough path
[0168] 304 substep of evaluating collision within nearest path segment
[0169] 3041 substep of defining cycle time
[0170] 3042 substep of increasing height to intermediate starting position
[0171] 3043 substep of confirming mission failed
[0172] 305 substep of executing nearest path segment
[0173] 306 substep of evaluating arrival of approaching pose 3061 substep of confirming mission completed
Claims
P25063W001 - 24 - 16.04.2025Claims:
1. A method (200) for automatically generating a collision-free path and motion planner for a robot arm (10), comprising the steps of:providing (210) a general-purpose motion template for automatically parametrizing at least one touch query for driving the robot arm (10);determining (220) at least one task for the robot arm (10) for interacting with at least one target object (20, 21 , 22) and with the at least one environment (30, 31, 32, 33);generating (230) an array of touch queries (50, 50a, 50b, 50c, 50d, 50e) out from the general-purpose motion template for driving the robot arm (10) to perform the at least one task,wherein the generating (230) the array of touch queries (50, 50a, 50b, 50c, 50d, 50e) comprises the substeps of:determining (235) an interacting target (111), at which the robot arm (10) comes into contact with the at least one target object (20, 21 , 22) and / or the at least one environment (30, 31 , 32, 33);flexibly determining (236), based on the interacting target (111) of the array of touch queries (50, 50a, 50b, 50c, 50d, 50e), a parameter group of an interacting segment comprising an approaching pose and an approaching target (112), at which the robot arm (10) starts with the approaching pose towards the interacting target (111).
2. The method (200) according to claim 1 ,wherein the flexibly determining (236) the parameter group of the interacting segment is performed based on characteristics of the robot arm (10) and / or the at least one target object (20, 21 , 22) and / or the at least one environment (30, 31, 32, 33);wherein the characteristics comprise a geometry, an orientation and / or a shape of the robot arm (10) and / or the at least one target object (20, 21 , 22) and / or the at least one environment (30, 31 , 32, 33).
3. The method (200) according to claim 1 or 2, wherein the generating the array of touch queries (50, 50a, 50b, 50c, 50d, 50e) further comprises the substep of:P25063W001 - 25 - 16.04.2025generating (231) a collision-free approaching path (125) from a starting position (121 , 1211 , 121a, 121 b) to the approaching target (112), comprising the substep of:determining, based on the determined approaching target (112) of the parameter group of the interacting segment, a second parameter group of an approaching segment.
4. The method (200) according to claim 3,wherein the second parameter group of the approaching segment comprises a direction from the starting position (121, 1211, 121a, 121 b) to the approaching target (112), and / or a length of the collision-free approaching path (125), and / or a coordinate frame and / or an interpolation type for the collision-free approaching path (125), and / or an approaching motion.
5. The method (200) according to one of the preceding claims, wherein the generating the array of touch queries (50, 50a, 50b, 50c, 50d, 50e) further comprises the substep of:generating (238) a retracting path (135) from the interacting target (111) towards the retracting target (131 , 131a, 131b, 131c), comprising the substep of:determining, based on the determined interacting target (111 ) of the parameter group of the interacting segment, a third parameter group of a retracting segment, comprising a retracting target (131 , 131a, 131b, 131c) for the robot arm (10) after interacting with the at least one target object (20, 21 , 22) and / or the at least one environment (30, 31 , 32, 33).
6. The method (200) according claim 5,wherein the third parameter group of the retracting segment further comprises a direction from the approaching target (112) to the retracting target (131 , 131a, 131b, 131c), and / or a length of the retracting path (135), and / or a coordinate frame and / or an interpolation type for the retracting path (135), and / or a retracting motion.
7. The method (200) according to one of the preceding claims,wherein the robot arm (10) comprises an end effector;P25063W001 - 26 - 16.04.2025wherein the end effector is a gripper being a vacuum gripper comprising one or a plurality of suction cups, a magnetic gripper, a multiple-finger gripper or an adhesive gripper.
8. The method (200) according to one of the preceding claims,wherein the at least one task for the robot arm (10) comprises picking the at least one target object (20, 21 , 22) from the at least one environment (30, 31 , 32, 33), placing the at least one target object (20, 21 , 22) in or at the at least one environment (30, 31 , 32, 33), manipulating the at least one target object (20, 21 , 22) in relation to the at least one environment (30, 31 , 32, 33) around the at least one target object (20, 21 , 22), or touching a surface of the at least one target object (20, 21 , 22) or of the at least one environment (30, 31 , 32, 33).
9. The method (200) according to one of the preceding claims,wherein the at least one target object (20, 21 , 22) comprises a plurality of target objects and the at least one environment (30, 31 , 32, 33) comprises a plurality of environments (30, 31 , 32, 33);wherein the at least one task comprises picking the plurality of target objects (20, 21 , 22) from the plurality of environments (30, 31 , 32, 33) and placing the plurality of target objects (20, 21 , 22) in one of the plurality of environments (30, 31, 32, 33); orwherein the at least one task comprises picking the plurality of target objects (20, 21 , 22) from one of the plurality of environments (30, 31 , 32, 33) and placing each of the plurality of target objects (20, 21 , 22) in different environments.
10. The method (200) according to one of the preceding claims,wherein the array of touch queries (50, 50a, 50b, 50c, 50d, 50e) comprises a first touch query (50a, 50c) for a first task, which the robot arm (10) is driven to perform from a first starting position (121, 121a) via a first approaching target and a first interacting target to a first retracting target (131 , 131a), and a second touch query (50b, 50d) following the first touch query (50a, 50c) for a second task, which the robot arm (10) is driven to perform from a second starting position (121 b) via a second approaching target and a second interacting target to a second retracting target (131a, 131b);P25063W001 - 27 - 16.04.2025wherein the first retracting target (131 , 131a) of the first touch query (50a, 50c) is the second starting position (121b) of the second touch query (50b, 50d).
11. The method (200) according to one of the preceding claims, further comprising the step of:optimizing (240) the parameter group of the interacting segment, the second parameter group of the approaching segment, and / or the third parameter group of the retracting segment of the array of touch queries (50, 50a, 50b, 50c, 50d, 50e), by means of the general-purpose motion template, for planning an overall collision-free path (115, 125, 135) for the at least one task meeting a plurality of criteria comprising a reduced cycle duration and / or a reduced energy consumption.
12. The method (200) according to claim 11 ,wherein the optimizing (240) the parameter group of the interacting segment, the second parameter group of the approaching segment, and / or the third parameter group of the retracting segment of the array of touch queries (50, 50a, 50b, 50c, 50d, 50e) comprises the substep of:determining a goal region having a reference target and a plurality of types of available parameter groups, wherein the plurality of types of available parameter groups comprise:a position region for defining a box region that is centered at a tool center point position (11) of the reference target;an orientation cone region (12) for defining a spherical cone around the reference target;robot target parameters of a goal for a linear-axes-mounted robot arm (10) for flexibly defining linear axis positions, based on the orientation cone region (12), for generating the shortest collision-free path (115, 125, 135) for the robot arm (10) starting from the starting position (121, 1211, 121a, 121 b).
13. The method (200) according to one of the preceding claims,wherein the generating (231) the collision-free approaching path (125) further comprises the substeps of:detecting (2311 ), by means of a camera, the characteristics of the robot arm (10), the at least one target object (20, 21 , 22) and the at least one environment (30, 31 , 32, 33) comprising a possible-to-collide object (35), wherein theP25063W001 - 28 - 16.04.2025characteristics comprise the dimensions of the at least one target object (20, 21 , 22) and the possible-to-collide object (35);determining (2312), based on the detected characteristics of the robot arm (10), the at least one target object (20, 21 , 22) and the at least one environment (30, 31 , 32, 33), a collision position being the highest point of the possible-to-collide object (35) of the at least one environment (30, 31 , 32, 33);determining (2314), based on the dimensions of the at least one target object (20, 21 , 22) and the possible-to-collide object (35), the approaching pose and the approaching target (112) for driving the robot arm (10) to grasp the at least one target object (20, 21 , 22) along the shortest approaching path (125).
14. The method (200) according to claim 13,wherein the generating (231) the collision-free approaching path (125) further comprises the substep of:calculating (2313), based on the dimensions of the at least one target object (20, 21 , 22) and the possible-to-collide object (35), a height increase of the robot arm (10) from the starting position (121) for generating an intermediate starting position (1211) and for generating a safety distance between the possible-to-collide object (35) and the shortest approaching path (125) between the intermediate starting position (1211) and the approaching target (112).
15. The method (200) according to claim 14,wherein the generating (231) the collision-free approaching path (125) further comprises the substep of:adjusting (2315) the approaching path (125) for the robot arm (10) by reducing a distance sum of the approaching path (125) from the starting position (121, 121 a, 121 b) or the intermediate starting position (1211) to the approaching target (112) and an interacting path (115) from the approaching target (112) to the interacting target (111).
16. The method (200) according to claim 15,wherein the adjusting (2315) the approaching path (125) for the robot arm (10) is performed within a cycle time.P25063W001 - 29 - 16.04.202517. Robotic system for automatically generating a collision-free path and motion planner, comprising:a robot arm (10), configured to interact with at least one target object (20, 21 , 22) and with the at least one environment (30, 31 , 32, 33); anda path and motion planning module, configured toreceive a a general-purpose motion template for automatically parametrizing at least one touch query for driving the robot arm (10),determine at least one task for the robot arm (10) for interacting with at least one target object (20, 21 , 22) and with the at least one environment (30, 31, 32, 33),generate an array of touch queries (50, 50a, 50b, 50c, 50d, 50e) out from the general-purpose motion template for driving the robot arm (10) to perform the at least one task;wherein the path and motion planning module is configured, for determining the at least one task for the robot arm (10), to determine an interacting target (111 ), at which the robot arm (10) comes into contact with the at least one target object (20, 21 , 22) and / or the at least one environment (30, 31 , 32, 33) and to flexibly determine, based on the interacting target (111 ) of the array of touch queries (50, 50a, 50b, 50c, 50d, 50e), a parameter group of an interacting segment comprising an approaching pose and an approaching target (112), at which the robot arm (10) starts with the approaching pose towards the interacting target (111).
18. A computer program, comprising machine-readable instructions which, when executed by one or more data processing apparatuses, cause the one or more data processing apparatuses to perform a method (200) of any one of claims 1 to 16.
19. A data processing system configured to carry out the method (200) of any one of claims 1 to 16.