Buffered CNC Setpoint Control for Real-Time Collision Avoidance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing collision avoidance systems for production machines fail to effectively account for real-time events, leading to potential collisions and reduced productivity due to unnecessary speed reductions or standstills, even when movements do not pose a collision risk.
Innovation Solution
A numerical control method that determines position setpoints for production machine axes, checks for collision risks, and stores safe setpoints in a buffer memory, allowing only previously checked setpoints to control axis movements, thereby accounting for real-time events without altering stored setpoints, ensuring reliable collision avoidance and optimized productivity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If real-time events are accounted for by requiring minimum distance between machine elements, then collision avoidance is improved, but productivity deteriorates due to unnecessary speed reductions
Solution Approach 1:
The system performs preliminary collision checks for a buffer of multiple future position setpoints before execution. By checking collisions in advance for several upcoming positions and only releasing setpoints confirmed to be collision-free, the system avoids reactive speed reductions while maintaining safety, thus resolving the contradiction between reliability and productivity
Solution Approach 2:
The system dynamically adjusts the buffer size and checking strategy based on the current operational context, machine state, and risk assessment. This allows the system to optimize between thorough collision checking and maintaining high movement speeds, adapting the level of precaution to the actual situation rather than applying fixed minimum distance constraints
2Productivity
If real-time events are disregarded to maintain productivity, then movement speed is improved, but collision risk increases
Solution Approach 1:
The system continuously monitors real-time events and machine state during buffer execution, providing feedback to the collision checking mechanism. This allows the system to maintain high productivity by executing pre-checked buffer setpoints at full speed while remaining alert to new real-time events that may require intervention, thus balancing speed and safety
3Reliability
If position setpoints are checked for collision risks before execution, then collision avoidance is improved, but processing time increases
Solution Approach 1:
The system performs collision checks for multiple position setpoints in advance and stores them in a buffer before execution. By preparing and validating a sequence of safe positions beforehand, the system minimizes real-time processing delays during execution while maintaining thorough collision checking, thus resolving the time-reliability contradiction
Solution Approach 2:
The collision checking process is segmented into distinct phases: buffer filling with preliminary checks, buffer execution with minimal checking, and real-time event monitoring. This segmentation allows thorough checking to occur during buffer preparation without blocking continuous execution, reducing overall processing time while maintaining reliability
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A numerical control (4) executes a system program (5). In doing so, it iteratively determines at least one group of position setpoints (xi*) for position-controlled axes (1) of a production machine controlled by the numerical control (4), using specifications (V1, V2). It then checks whether, when controlling the position-controlled axes (1) with the determined groups of position setpoints (xi*), there is a risk of collision between at least one element (2, 3) moved by the control of the position-controlled axes (1) and at least one other element (2, 3, 9, 10).If no such danger exists, the numerical controller (4) stores at least one group of position setpoints (xi*) in a buffer memory (11), reads at least one other group of position setpoints (xi*) already stored in the buffer memory (11) from the buffer memory (11), and controls the position-controlled axes (1) according to the at least one group of position setpoints (xi*) read from the buffer memory (11). It continues this procedure as long as there is no danger of collision. This moves the element 2, which is moved by the position-controlled axes (1), along a path (12) defined by the sequence of the groups of position setpoints (xi*). If there is a danger of collision, the numerical controller (4) brings the position-controlled axes (1) to a standstill.The numerical control (4) takes into account previously unknown external real-time events (V2) only when determining the groups of position setpoints (xi*) to be stored in the buffer memory (11). It does not, however, modify the groups of position setpoints (xi*) already stored in the buffer memory (11).