Automatic collision recovery of machine

By recording machine configuration and generating sweep volume, and using motion planning algorithms to automatically restore the machine, the problem of complex recovery after machine collision is solved, achieving fast and reliable safe state recovery and reducing manual intervention and downtime.

CN120871835APending Publication Date: 2025-10-31SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510545213.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-30
Filing Date
2025-04-28
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

After a machine collides with its environment, the manual recovery process is complex and requires human intervention, especially for machines in complex motion or environments, resulting in long downtime and high costs.

Method used

Record multiple configurations of the machine, calculate its occupied volume and generate a sweep volume, generate a motion recovery sequence through a motion planning algorithm, and automatically guide the machine back to a safe position. The recording and recovery devices eliminate the need for human-machine interaction.

Benefits of technology

It enables automatic, rapid, and reliable recovery to a safe state after a machine collision, reducing downtime and manual intervention, and improving the overall safety and efficiency of the machine.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120871835A_ABST
    Figure CN120871835A_ABST
Patent Text Reader

Abstract

The invention relates to automatic collision recovery of a machine. Embodiments of the present disclosure provide a method and system for automatically recovering a machine after a collision event occurs within a workspace environment of the machine. The method may include recording a plurality of configurations of a machine during execution of a task; calculating a swept volume occupied by the machine during execution of the task based on the recorded plurality of configurations; in response to a collision event, determining a movement recovery sequence of the machine based on the swept volume; and upon occurrence of the collision event, directing the machine back to a predefined known safe location using the movement recovery sequence.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for automatically restoring a machine after a collision with an object in a machine environment. Additionally, this invention relates to a system for automatically restoring a machine after a collision with an object in a machine environment. Background Technology

[0002] For autonomously moving machines, and especially for machines that perform complex movements during task execution, the machine operator needs to define a designated workspace. This designated workspace is considered to be the volume around the machine's moving parts that is deemed safe to operate within. Several aspects can define what is considered a safe volume to operate within, but in most scenarios, this safe volume should not contain any unknown structures, objects, or people that the machine might collide with. All known aspects of the environment, particularly potential collisions, are considered in the machine program (i.e., the machine's configuration).

[0003] However, collisions between moving parts of the machine and the environment can occur even without moving them outside the designated safe workspace, and if all known components of the environment are considered in the machine program. This can happen when a new object or structure is introduced into the machine's workspace in a way that is incompatible with the machine's configuration. Collisions can also occur if existing objects in the workspace move within it and the machine is not reconfigured to address this. Another situation where collisions can occur is if an object is considered in the machine program, but its description is inaccurate, for example, due to manufacturing tolerances or when processing steps are not performed as expected (e.g., a milling tool removes less material than anticipated). Collisions also frequently occur during machine programming and debugging.

[0004] If a collision occurs between the machine and its environment, most machines will detect the collision and switch to a safe state. After switching to a safe state, the machine will not move automatically until the operator restores it to a known safe state and clears the safety event.

[0005] Manual recovery of a machine can be complex if its kinematics are complex (i.e., the machine is a robot with a large number of joints and axes and high degrees of freedom) or if the environment contains cluttered and often complex components, or both. For example, some factories or facilities are very large and may require considerable time for technicians to reach the necessary location to recover the machine. Operators must use basic motion commands on the machine's operator panel and must be careful not to cause further collisions during recovery. Another drawback of manual recovery is the length of time required to notify trained technicians and to travel to the problematic robot. In many cases, trained technicians are not always on-site, and downtime of several hours is required until the robot can be safely recovered. These issues underscore the need to design an automated recovery option to save time and costs.

[0006] In this context, it should be noted that individuals with male or female identities are included in the terminology, regardless of the use of grammatical terms.

[0007] As explained above, up to now, in the event of a collision within and / or around the machine's operating environment, the trained operator manually selects the actions to restore the machine on-site. Summary of the Invention

[0008] Therefore, the object of the present invention is to provide an automated method for recovering a machine after it has experienced a collision event in and / or around its environment.

[0009] Therefore, a collision recovery method is provided for automatically restoring a machine to a safe position. The method includes the following steps:

[0010] Record multiple configurations of the machine, each configuration representing the sequence of moves the machine executes during the task;

[0011] Based on multiple recorded configurations, calculate the volume occupied by the machine during task execution;

[0012] The multiple volumes are combined to generate the sweep volume occupied by the machine during task execution;

[0013] In response to a collision event, a machine movement recovery sequence is determined based on the swept volume; and

[0014] After a collision, a movement recovery sequence is used to guide the machine back to a predefined, known safe location.

[0015] Conventionally, operators use machine programming and manipulation devices (also known as “teach pendants” in the context of robotics) to address the problem of recovering a machine (e.g., a robot) after a collision. The machine moves to a known safe state via basic commands (e.g., “left,” “right,” “up,” “down,” etc.), from which the machine program can restart. Compared to this previous approach, the method described herein provides an automated way to initiate machine recovery actions without any human-machine interaction, addressing the risks associated with machine recovery, particularly when the machine has high degrees of freedom and performs rapid, complex movements, or when the machine's workspace environment is complex and cluttered by default.

[0016] Therefore, the method provided can enhance the overall security of the machine because it does not require human intervention or interaction, thus making conflict resolution and corresponding actions faster and more reliable, enabling the machine to reach a known safe state.

[0017] As mentioned above, there are issues associated with manual recovery processes. These issues relate to many machines, such as loading and unloading equipment, CNC machine tools, milling machines, robots, gantry cranes, mobile robots, and many others that may potentially collide with components or objects within and around the operating environment. For some machines, recovery routines can be created to assist operators in recovering the machine from common failure scenarios, but it is currently difficult to recover machines with complex motion chains or those placed in complex environments.

[0018] In the methods described above, multiple configurations of at least one machine can be recorded. For example, a motion recording device can be used to record configurations associated with the machine's movement during task execution, including start and target / finish positions. Such a recording device can be a hardware component coupled to the machine, a software module configured within the machine's programmable logic controller (PLC), or another software module communicating with the machine's PLC, where a machine program for task execution resides. The motion recording device can continuously record the movement of a machine or robot over a user-defined time span (e.g., the last 10 seconds of movement), much like a "flight recorder" used in aerospace to analyze impacts and other anomalies. Therefore, such a motion recording device can be implemented as a memory for machine configurations that change over time. For example, in the case of a 6-DOF robot, the robot configuration includes at least the joint angles and timestamps for each of the six joints. These configurations can be stored in a list or ring buffer with a user-defined length or storage capacity. For many applications, a reasonable capacity can accommodate several seconds of machine movement. Recording of machine configurations may be stopped by user-defined events, such as safety events that stop the machine.

[0019] As another example, a motion recording device might be a physical "black box" recorder, which can be configured by a PLC and receive data via an industrial fieldbus such as "Profinet". The recording device can also be a software application running on a robot controller, PLC, or any other computer capable of accessing the machine's motion state configuration. The recording device can be implemented to store data even in the event of a power or network outage.

[0020] According to one embodiment, each of the recorded configurations can include a timestamp associated with the recorded configuration, which can be used to directly calculate a recovery sequence. For example, in response to a collision event, a movement recovery sequence for the machine can be determined based on the timestamp associated with each configuration, task execution can be aborted, and the movement recovery sequence can be used to reverse the machine back to a predefined known safe location (i.e., in reverse chronological order of the timestamps) after the collision event. Thus, a collision-assisted recovery method is implemented.

[0021] The method mentioned above, which calculates the sequence of motion commands based on configuration timestamps to reverse the machine, assumes that the motion commands to be safely executed can always be calculated directly from two consecutive machine configurations. This may be possible if machine configurations are stored frequently enough, such as once every 4 ms, because the machine will move with near-linear motion during that time. However, if machine configurations are stored less frequently, such as only once per second, it is no longer possible to assume that the machine moves from one configuration to the next with linear motion, because the machine may follow a more complex trajectory between the two configurations. This is especially true for fast-moving machines and / or robots.

[0022] Additionally and / or alternatively, according to yet another embodiment, the multiple configurations recorded above can be used to calculate multiple volumes occupied by the machine during task execution, and these volumes can also be combined to generate a sweep volume occupied by the machine during task execution. For example, a sweep volume can represent a three-dimensional (3D) space in which the robot can operate safely and without collision. A sweep volume is the physical volume displaced by an object moving along a trajectory between two configurations (i.e., configuration pairs). A sweep volume can be determined by any conventional volume estimation algorithm based on a machine model, including but not limited to kinematic chains, the Denavit-Hartenberg (DH) convention, the motion model of the simulation description format SDFormat, and the geometric model of the machine. Accurate sweep volume calculation is often challenging due to the complex nonlinear relationships between configuration pairs, i.e., for the robot's start and end poses and the corresponding geometry. As an exemplary result, most algorithms focus on, but are not limited to, generating approximations, such as occupancy mesh-based, convex polyhedral-based, and boundary-based methods. Other methods include using variations of the Gilbert–Johnson–Keerthi (GJK) distance algorithm to calculate the sweep volume, or using deep neural networks (DNNs) to approximate the sweep volume. In the example, an occupancy-based grid approach decomposes the robot's workspace into voxels so that its occupancy in the workspace is recorded as the robot executes its trajectory.

[0023] According to another embodiment, the method may include calculating the swept volume as a voxel-based volume representation to obtain a free space representation. For example, the mapped region (i.e., the swept volume in this case) is discretized using a grid of equal-sized cube products (i.e., voxels). Thus, a voxel represents a value in a 3D spatial region constrained by a given size, which has its own node coordinates in a recognized coordinate system, its own form, and its own state parameters indicating that it belongs to a modeled object and has the characteristics of the modeled region. For example, the state parameters may indicate the voxel's occupancy in 3D space, and thus a 3D occupancy mesh mapping, such as the OctoMap method, can be used. OctoMap implementations are based on an octree hierarchical data structure for 3D spatial subdivision, where each node in the octree represents the space contained within a voxel. Octtrees are most commonly used to partition a 3D space by recursively subdividing it into eight octets. In its most basic form, an octree can be used to model Boolean properties. For example, in the context of robot mapping, this is typically volume occupancy. If a volume is measured to be occupied (e.g., one or more voxels in a swept volume), the corresponding node in the octree is initialized. In this Boolean setting, any uninitialized node can be either free or unknown. To resolve this ambiguity, free cells can be explicitly represented as free nodes in the octree, thus yielding a free-space representation. One advantage of using octree methods (such as OctoMap) is that the map can model arbitrary environments without prior assumptions about them, and therefore can be used to discretize swept volumes of arbitrary shapes for robots. Furthermore, the representation models both occupied areas and free-space representations, making the map attractive for safe robot navigation scenarios. Additionally, the map can be efficiently stored in memory and on disk, and even under bandwidth constraints, it may be possible to generate compressed files for later use or convenient exchange between robots.

[0024] Furthermore, the method may include generating a motion recovery sequence using a machine model and free-space representation via a motion planning algorithm. The motion planning algorithm used to generate the motion recovery sequence can be any suitable algorithm. For example, the motion planning algorithm can be used to perform collision checks based on a machine model, which can be the robot's complete kinematic chain and any attached objects. In another example, the motion planning algorithm can be any conventional algorithm, such as, but not limited to, graph search-based algorithms (e.g., A*, hybrid A*, Dijkstra's algorithm), sample-based algorithms (e.g., fast-exploring random trees (RRT), probabilistic route graph methods (PRM), etc.), interpolation curve algorithms, and / or machine learning (ML)-based algorithms. For example, in the case of an ML-based algorithm, motion planning can be achieved by attaching a destination with a large "reward" and a safe path, while obstacles are attached with a penalty (negative reward). The optimal path can then be found based on the total reward from the initial position (e.g., the collision location) to the destination (e.g., the safe location).

[0025] According to another embodiment, the motion planning algorithm can use collision events to determine the initial position where the collision event occurred within the free space representation. It then updates the corresponding voxel corresponding to the initial position to the occupied voxel in the free space representation and uses the updated free space representation to determine the movement recovery sequence as a collision-free path from the initial position to a predefined known safe position within the updated free space representation. For example, the motion planning algorithm can model the robot's environment using the aforementioned octree mapping, and a search tree can be constructed based on the octree leaves. The search tree can then be defined by the proximity of the leaves in the octree. The motion planning algorithm can then search a series of unobstructed leaves from the starting point (e.g., the point where the collision event occurred) to the target point (e.g., a predefined known safe position or the last safe position before the collision event).

[0026] According to another embodiment, recording multiple configurations includes recording the multiple configurations at a predefined frequency until a predefined event occurs. The recorded configurations can be retrospectively analyzed to identify patterns, trends, or correlations. This can help identify the causes of past problems, optimize system performance, or make informed decisions about the future configuration of the machine.

[0027] According to another embodiment, the method further includes storing multiple configurations in a list or circular buffer with a predefined length or storage capacity. By limiting the storage capacity to a predefined length, the system ensures that only the most recent configuration is retained. This helps optimize memory usage, especially in scenarios where configuration changes occur frequently.

[0028] According to another embodiment, the method further includes: in response to a collision event, suspending the execution of the task and ceasing the recording of other machine configurations. This has the advantage that it prevents potential damage to the machine, and that recording unnecessary additional configurations after a collision does not fill the memory with unnecessary data.

[0029] According to another embodiment, the method further includes detecting collision events based on data from at least one of the following: mechanical switches, pressure sensors, torque sensors, optical sensors, ultrasonic sensors, camera devices, and / or LiDAR (Light Detection and Ranging) devices. For example, a robot collision sensor detects when the robotic arm encounters an obstacle, absorbs any impact energy, and quickly stops the robot to prevent costly damage to the robotic arm and / or tools. In another example, a collision detection sensor can be integrated into the robotic arm and can measure abnormal torque levels on any robot axis. This can cause the robot to stop quickly and thus retreat to mitigate forces between the robot and the environment. In yet another example, a camera device or LiDAR device can measure the distance between the robot and objects around and / or within the robot's workspace, and can trigger a collision event in response to the object being less than any predefined protection distance threshold, based on a predefined protection distance threshold. The collision event detection mechanisms presented herein represent non-limiting examples, and those skilled in the art will recognize that any other feedback mechanisms can be implemented additionally or alternatively.

[0030] The method described in this paper allows for a significantly higher level of automation in machine recovery after an impact.

[0031] According to another aspect, a system for machine collision recovery is provided. The system includes:

[0032] At least one machine is configured to perform the task;

[0033] At least one recording device is communicatively connected to the machine, wherein the recording device is configured to:

[0034] Multiple configurations of the storage machine, each configuration representing a sequence of moves performed by the machine during task execution; and

[0035] The machine recovery device is configured as follows:

[0036] Receive multiple configurations of the machine stored from the recording device;

[0037] Based on multiple recorded configurations, calculate the volume occupied by the machine during task execution;

[0038] Combine multiple volumes to generate the sweep volume occupied by the machine during task execution;

[0039] In response to a collision event, a machine movement recovery sequence is determined based on the swept volume; and

[0040] After a collision, a movement recovery sequence is used to guide the machine back to a predefined, known safe location.

[0041] The corresponding entity, such as at least one recording device and machine recovery device, can be implemented in hardware and / or software. If the entity is implemented in hardware, it can be implemented as part of a device, such as a computer or processor or system (e.g., a computer system). If the entity is implemented in software, it can be implemented as a computer program product, function, routine, program code, or executable object.

[0042] The embodiments and features described with reference to the method of the present invention are adapted to the system of the present invention after necessary modifications.

[0043] According to another aspect, the present invention relates to a non-transient computer-readable medium having processor-executable instructions stored thereon, which, when executed by at least one processor, cause the at least one processor to perform any of the machine automatic recovery methods described herein.

[0044] Other embodiments include a computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to perform any of the methods described herein.

[0045] Computer program products, such as computer program components, can be implemented as memory cards, USB sticks, CD-ROMs, DVDs, or files that can be downloaded from a server on a network. For example, such files can be provided by transmitting a file containing the computer program product from a wireless communication network.

[0046] Other possible implementations or alternative solutions of the invention also encompass combinations of features described above or below with respect to the embodiments (not explicitly mentioned herein). Those skilled in the art can also add individual or isolated aspects and features to the most basic form of the invention. Attached Figure Description

[0047] Other embodiments, features, and advantages of the invention will become apparent from the following description in conjunction with the accompanying drawings and the dependent claims, wherein:

[0048] Figure 1 It is a schematic diagram illustrating a robot colliding with an object.

[0049] Figure 2 It is a schematic diagram illustrating a robot colliding with an object.

[0050] Figure 3 This is a schematic diagram illustrating an example system for automatic machine recovery according to one or more embodiments of the present disclosure.

[0051] Figure 4 This is a flowchart illustrating an example method for automatic machine recovery according to one or more embodiments of the present disclosure.

[0052] In the accompanying drawings, unless otherwise indicated, similar reference numerals designate similar or functionally equivalent elements. Detailed Implementation

[0053] Figure 1 An exemplary robot (101) is shown moving along a trajectory (104) that includes different points in time, such as a starting point (t0) and an ending point (t4) after a collision with an object (102) within the robot's (101) workspace. In the absence of a complex kinematic chain (which may include numerous rigid parts and joints) and if the robot (101) does not perform a complex sequence of movements between two consecutive configurations corresponding to two consecutive timestamps along the trajectory (104), the robot (101) (or its controller, not shown) can use one or more of the two stored configurations between the two consecutive timestamps to restore the robot (101) to a safe position after a collision with the object (102). A recovery path (106) can then be generated using a reversal algorithm as a motion planning algorithm, which can bring the robot (101) back to the starting point (t0) or any other previous point (t1 to t3) assumed to be collision-free.

[0054] Figure 2 An exemplary robot (201) operating within a workspace is shown, i.e., sweeping a volume (205), assuming no collisions occur at different time points (t0 to t4) prior to collision with an object (202). The robot (201) can... Figure 1 The illustrated robot (101) operates at a faster rate and can follow a more complex path (not shown) than the trajectory (104) of robot (101) – between the starting point (t0) and the ending point (t4). Robot (201) can proceed via the following... Figure 4 The method (400) recovers from the collision with the object (202) to generate a recovery path (206) that automatically brings the robot (201) back from the point of collision (i.e., the start (203)) to a safe location (i.e., the target (204)) without any interaction from a human operator.

[0055] Figure 3 The illustration depicts an automatic recovery machine (303) (such as...) according to one or more embodiments of the present disclosure. Figure 2An example system (300) of a robot (201) is provided. The system (300) may include a recording device (301) that can act as a “flight recorder” and may be configured to record multiple configurations (3031) of a machine (303), each configuration representing a sequence of movements performed by the machine (303) within a collision-free workspace corresponding to a volume swept by the machine (303) during the performance of a task. For example, the recording device (301) may be implemented as a hardware and / or software module external to the machine (303), or it may be a hardware and / or software module internal to the machine (303), or otherwise implemented, for example, within a PLC of the machine (303). The system (300) may also include a machine recovery device (302) communicatively coupled to the recording device (301) and configured to receive recorded machine configurations from the recording device (302). The machine recovery device (302) can be configured to use multiple machine configurations (3031) to automatically generate a movement recovery sequence (3035) in response to a collision event, so that the machine (303) returns to a safe position. For example, the machine recovery device (302) can be implemented as a hardware and / or software module external to the machine (303), or it can be a hardware and / or software module internal to the machine (303), or otherwise implemented, such as within the PLC of the machine (303). The recording device (301) and the machine recovery device (302) can be implemented together in hardware and / or software as a single module or implemented separately. If either of the devices (301, 302) is implemented in hardware, it can be implemented as part of a device, such as a computer or processor or system (e.g., a computer system). If the entity is implemented in software, it can be implemented as a computer program product, function, routine, program code, or executable object.

[0056] In one example configuration, the system (300) may include at least one processing unit (or processor) and memory. The processor may include one or more microprocessors, microcontrollers, hardware circuitry, discrete logic circuitry, hardware registers, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), programmable logic controllers (PLCs), or combinations thereof. For example, the processor and memory units may be incorporated into the system (300), or may be a computer or a computer communicatively linked thereto, such as a recording device (301) and / or a machine recovery device (302). The processor may be programmable hardware capable of executing stored software instructions (to perform the methods described herein), for example, as a machine-readable computer program in memory. The memory may include any non-transient machine-readable medium known in the art or that can be developed, whether volatile or non-volatile, including but not limited to solid-state media (e.g., SRAM, DRAM, DDRAM, ROM, PROM, EPROM, flash memory, solid-state drives, etc.). Furthermore, the system (300) may also include storage devices, including but not limited to all or any combination of removable storage devices (e.g., Secure Digital (SD) cards, mini SD cards, micro SD cards, memory sticks, thumb drives, USB flash drives, ROM drives, universal media disks), fixed drives (e.g., magnetic hard disk drives), etc. Similarly, the system (300) may also have multiple input devices such as a keyboard, mouse, pen, voice input, etc., and / or multiple output devices such as a display, speaker, printer, etc. The system (300) may also include one or more communication connections, such as LAN, WAN, peer-to-peer, etc. In embodiments, the connections may be operable to facilitate peer-to-peer communication, connection-oriented communication, connectionless communication, etc. The system (300) may also include an interface circuitry system configured to control the input and output (I / O) data paths of the system (300). For example, such I / O data paths may include data paths for receiving tasks or other instructions from a user (304) and / or for exchanging signals with machines (201, 303) via one or more communication connections.

[0057] This invention is not limited to fixed machines (201, 303) but can be extended to mobile machines. For example, the same principle can be applied if a robotic arm is mounted on a mobile base. In this case, the mobile base is considered an extension of the robot's kinematic chain, i.e., the state of the mobile base is also considered part of the recorded machine configuration (3031). For example, for a mobile base moving on a flat ground, this state is typically encoded as the position on the ground plane and the rotation of the base relative to some global reference frame, thus having three degrees of freedom (x, y, rotation). If the robot mounted to the base has six additional degrees of freedom, the entire system configuration can be described by the three degrees of freedom of the mobile base and the six degrees of freedom of the robotic arm. The recovery of this mobile machine is equivalent to the recovery of the fixed machine (201, 303), and the automatic recovery method after collision described herein can be applied.

[0058] In the following text, refer to Figure 4 An example method (400) for automatically recovering a machine (201, 303) from a collision with an object (202) will be described exemplarily. This example method can be described by... Figure 3 The system (300) executes the following steps: In a first step, multiple machine configurations (3031) of the machines (201, 303) during task execution are received. In a second step, multiple volumes occupied by the machines during task execution are calculated based on the multiple machine configurations (3031). In step 401, the multiple volumes are combined to generate a sweep volume (3033) occupied by the machines (201, 303) during task execution. In step 403, in response to a collision event, a movement recovery sequence (3035) for the machines (201, 303) is determined based on the sweep volume (3033). In a final step, after a collision event, the movement recovery sequence (3035) is used to guide the machines (201, 303) back to a predefined known safe location.

[0059] Embodiments of this disclosure provide a system (300) and a method (400) that can automatically restore machines (201, 303) to a known safe state after an environmental collision without any interaction from a human operator (304). In addition to automatic collision recovery, multiple recorded machine configurations (3031) including machine movement may also be useful during the commissioning of the machines (201, 303), where machine movement typically requires more detailed study by a human operator (304).

[0060] Although the invention has been described with reference to preferred embodiments, it will be apparent to those skilled in the art that modifications are possible in all embodiments.

Claims

1. A computer-implemented method (400) for collision recovery of machines (201, 303), comprising: One or more processors record multiple configurations (3031) of machines (201, 303), each configuration representing a sequence of movements executed by said machines (201, 303) during the execution of a task; The one or more processors calculate, based on a number of recorded configurations, the multiple volumes occupied by the machine during the execution of the task; The plurality of volumes are combined (401) by the one or more processors to generate the sweep volume (3033) occupied by the machine (201, 303) during the execution of the task; In response to a collision event, the one or more processors determine (403) a movement recovery sequence (3035) for the machine (201, 303) based on the swept volume (3033); and Following the collision event, the one or more processors use the movement recovery sequence (3035) to guide the machine (201, 303) back to a predefined known safe location (204).

2. The method according to claim 1, wherein, Combining (401) the plurality of volumes to generate the swept volume (3033) further includes using a machine model (3032); and / or Wherein, the sweep volume (3033) is the collision-free volume occupied by the machine (201, 303) during the execution of the task; and / or The determination (403) of the motion recovery sequence (3035) based on the swept volume (3033) further includes: The swept volume (3033) is calculated as a volume representation based on a voxel mesh to obtain a free space representation (3034) (402); and The motion recovery sequence (3035) is generated by the motion planning algorithm (403) using the machine model (3032) and the free space representation (3034).

3. The method according to claim 1 or 2, wherein, The machine model (3032) includes at least one of the following: a kinematic chain, a motion model of the Denavit-Hartenberg (DH) convention, a simulation description format (SDFormat), and a geometric model of the machine.

4. The method according to any one of the preceding claims, wherein, The motion planning algorithm (403) includes: The collision event is used to determine the initial position (203) where the collision event occurs within the free space representation (3034); Update the corresponding voxel corresponding to the initial position to the occupied voxel in the free space representation (3034); and Using the updated free space representation, the movement recovery sequence (3035) is determined as a collision-free path (206) from the initial position (203) to the predefined known safe position (204) within the updated free space representation.

5. The method according to any one of the preceding claims, wherein, Recording the plurality of configurations (3031) includes: recording the plurality of configurations at a predefined frequency until a predefined event occurs.

6. The method according to any one of the preceding claims further includes storing the plurality of configurations (3031) in a list or ring buffer having a predefined length or storage capacity.

7. The method according to any one of the preceding claims further comprises: In response to the collision event, the execution of the task is aborted and the recording of other configurations of the machine (201, 303) is stopped.

8. The method according to any one of the preceding claims, wherein, The collision event is detected based on data from at least one of the following: mechanical switch, pressure sensor, torque sensor, optical sensor, ultrasonic sensor, camera device and / or LiDAR device.

9. The method according to any one of the preceding claims, wherein, Each of the multiple recorded configurations (3031) includes a timestamp associated with the recorded configuration.

10. The method according to any one of the preceding claims further comprises: In response to the collision event, the one or more processors determine the movement recovery sequence (3035) of the machine (201, 303) based on the timestamp associated with each configuration; Abort the execution of the task; as well as Following the collision event, the one or more processors use the movement recovery sequence to reverse the machine (201, 303) back to the predefined known safe position (204).

11. The method according to any one of the preceding claims, wherein, The motion planning algorithm includes any one or a combination of the following: graph search algorithm, sample-based algorithm, interpolation curve algorithm and / or machine learning (ML) based algorithm.

12. A system (300), comprising: At least one machine (201, 303) is configured to perform the task; At least one recording device (301) is communicatively connected to the machines (201, 303), wherein the recording device (301) is configured to: The storage includes multiple configurations (3031) of the machines (201, 303), each configuration representing a movement sequence executed by the machines (201, 303) during the execution of the task; and The machine recovery device (302) is configured as follows: Receive the stored plurality of configurations (3031) of the machine (201, 303) from the recording device (301); Based on multiple recorded configurations (3031), the multiple volumes occupied by the machine (201, 303) during the execution of the task are calculated; The multiple volumes are combined to generate the sweep volume (3033) occupied by the machine (201, 303) during the execution of the task; In response to a collision event, a movement recovery sequence (3035) of the machine (201, 303) is determined (403) based on the swept volume (3033); and Following the collision event, the movement recovery sequence (3035) is used to guide the machines (210, 303) back to a predefined known safe location (204).

13. The system according to any one of the preceding claims, wherein, The instructions also cause one or more processors in the processor to perform the steps of the method according to any one of claims 1 to 11.

14. A non-transient computer-readable medium having stored thereon processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 11.

15. A computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method of any one of claims 1 to 11.