Program control system for ensuring conflict-free running of multiple operation dynamic objects
By constructing dynamic behavior labels and virtual projection bodies, and employing trajectory intersection probability calculation and behavior correction signals, the problems of motion oscillation and stagnation in multi-dynamic object systems were solved, achieving stable and conflict-free operation and improving system scalability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-02-10
- Publication Date
- 2026-03-20
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing potential field-based control methods are prone to generating local extreme value regions in multi-dynamic object systems when the system scale increases or the motion trajectory becomes more complex. This can lead to oscillations or stagnation of the dynamic objects, affecting the stable operation of the system.
By constructing dynamic behavior labels, an interactive scene is established based on a virtual projection body. Potential conflicts are identified by trajectory intersection probability calculation, and a smooth speed adjustment sequence is generated. Motion speed and direction control are separated, avoiding dependence on precise modeling of dynamic parameters.
It effectively solves the motion oscillation problem caused by velocity direction coupling in traditional potential field methods, realizes stable and conflict-free operation of multi-dynamic object systems in complex scenarios, and improves system scalability and computational efficiency.
Smart Images

Figure CN121704530A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of multi-objective control technology, and more specifically to a program control system for ensuring conflict-free operation of multiple dynamic objects. Background Technology
[0002] With the rapid development of automation technology, multi-dynamic object collaborative operation systems are widely used in logistics warehousing, intelligent transportation, and unmanned system platooning. These systems typically require coordinating multiple autonomous dynamic objects to work simultaneously within a shared space. The core control requirement is to ensure conflict-free operation between all moving units while maintaining overall system efficiency. This necessitates establishing a technical solution at the program control level capable of predicting potential conflicts in real time and generating corresponding coordination commands.
[0003] In related technical fields, control methods based on virtual potential fields are widely used to solve motion coordination problems of dynamic objects. These methods typically construct an artificial potential field by assigning different potential energy values to the moving object, obstacles, and target position. The moving object calculates the virtual force acting on it based on the potential field gradient at its location, thereby generating corresponding motion adjustment commands. This method transforms the complex spatial obstacle avoidance problem into a relatively intuitive potential field calculation problem, providing a fundamental theoretical framework for the coordinated control of multi-object systems.
[0004] Existing potential field-based control methods typically employ a coupled processing mechanism of motion velocity and direction control, with the generation of control commands strictly dependent on accurate modeling of the dynamic parameters of each dynamic object. In applications with small system scale and relatively simple motion trajectories, this control approach can provide a feasible solution. However, when the number of dynamic objects requiring coordination increases significantly, or when the motion trajectory exhibits highly nonlinear characteristics, multiple local extremum regions may emerge in the potential field. These regions can hinder the motion of dynamic objects towards the target position, manifesting as repeated oscillations or prolonged stagnation of the motion trajectory in specific areas. Furthermore, in real-world applications, dynamic objects often possess diverse motion characteristics, posing significant challenges to the real-time performance and adaptability of control commands, making it difficult to meet the reliability requirements of complex scenarios. Summary of the Invention
[0005] The purpose of this invention is to provide a program control system for ensuring conflict-free operation of multiple dynamic objects, and to solve the following technical problems: Existing control methods based on potential fields employ a control mechanism that couples motion velocity and direction, and the generation of control commands depends on accurate modeling of the dynamic parameters of the dynamic object. When the system scale increases or the motion trajectory becomes more complex, the local extreme regions generated in the potential field can cause the dynamic object to exhibit motion oscillations or stagnation, affecting the stable operation of the system.
[0006] The objective of this invention can be achieved through the following technical solutions: A program control system for ensuring conflict-free operation of multiple dynamic objects, comprising: The state acquisition module is used to input the initial state data set of multiple dynamic objects, including the position coordinates of each dynamic object in three-dimensional space, the coordinates of the target point, and the kinematic parameters. The behavior modeling module is used to normalize the kinematic parameters of dynamic objects, extract the feature vectors of the kinematic parameters, and generate dynamic behavior labels based on the feature vectors. The scene construction module is used to establish a virtual 3D coordinate system that is consistent with the scale of the real environment, map dynamic objects to the virtual 3D coordinate system, and assign a virtual projection body to each dynamic object. The collision detection module is used to calculate the trajectory intersection probability of any two virtual projections within the prediction time window in a virtual interaction scene. When the trajectory intersection probability exceeds a set threshold, it is marked as a potential collision pair. The behavior coordination module is used to evaluate the relative motion state of dynamic objects in potential conflict pairs, perform signal filtering on the evaluation results, generate behavior correction signals, and generate a smooth velocity vector adjustment sequence based on the behavior correction signals. The instruction output module is used to collect the adjusted motion parameters of all dynamic objects, perform data serialization processing on the motion parameters, synchronize the serialized data with the system time axis, and output the control instruction sequence of all dynamic objects.
[0007] As a further aspect of the present invention: the process of generating dynamic behavior tags in the behavior modeling module is as follows: Read the kinematic parameter set of the dynamic object, which includes the maximum acceleration value, minimum turning radius, communication delay time, and energy consumption coefficient; The motion direction preference factor is calculated based on the maximum acceleration value and the minimum turning radius, and the motion direction preference factor is represented by a unit direction vector in three-dimensional space; The communication delay time is multiplied by a first coefficient, the magnitude of the motion direction preference vector is multiplied by a second coefficient, and the square root of the energy consumption coefficient is multiplied by a third coefficient. The three products are added together to obtain the interaction sensitivity coefficient. The motion direction preference factor and the interaction sensitivity coefficient are combined to form a dynamic behavior label, which is stored in a distributed cache system.
[0008] As a further aspect of the present invention: the process of constructing a virtual interactive scene in the scene construction module is as follows: Create a virtual 3D coordinate system that maintains a proportional relationship with the real environment, and map the real-time position coordinates and motion state parameters of each dynamic object to the nodes of the virtual 3D coordinate system; A virtual projection body is constructed based on the instantaneous velocity vector, acceleration value, and motion direction preference factor of a dynamic object. The virtual projection body adopts an ellipsoidal structure, with the major axis of the ellipsoid aligned with the velocity vector direction, and the ratio of the major axis to the minor axis equal to the magnitude of the acceleration value multiplied by the rate of change of the motion direction preference factor. A connection graph between dynamic objects is constructed in a virtual three-dimensional coordinate system. The edge weight of the connection graph is: the relative velocity between two dynamic objects multiplied by the angle between their motion directions and then multiplied by the interaction sensitivity coefficient.
[0009] As a further aspect of the present invention: the process of constructing the virtual projection body is as follows: Acquire motion state data of dynamic objects, including instantaneous velocity vector, acceleration value, and rate of change of motion direction preference factor; Calculate the component magnitudes of the velocity vector in the three coordinate axes, and use the exponential function of the composite magnitude of the velocity vector as the principal axis length of the ellipsoid; The modulus of acceleration is multiplied by the rate of change of the motion direction preference factor to obtain the adjustment coefficient, and the logarithm of the adjustment coefficient is used as the length of the auxiliary axis of the ellipsoid. The major axis of the ellipsoid is aligned with the direction of the velocity vector, and the rate of change of the motion direction preference factor is multiplied by the angle conversion coefficient to obtain the deflection angle of the ellipsoid.
[0010] As a further aspect of the present invention: in the conflict detection module, the process of calculating the trajectory intersection probability is as follows: Extract the predicted trajectory segments of two dynamic objects in a potential conflict pair. The predicted trajectory segments include a set of position coordinates, a sequence of velocity vectors, and an acceleration change curve at consecutive time points. Calculate the spatial distance between the two predicted trajectory segments at each time point. The spatial distance includes Euclidean distance, velocity vector angle, and acceleration difference. The three distance values are weighted and summed to form a distance feature sequence. The distance feature sequence is integrated over time, and the integration weights are calculated using a Gaussian distribution function. The integration result is multiplied by the reciprocal of the sum of volumes to obtain a comparison value. The comparison value is input into an S-shaped function to calculate the first probability value, and the comparison value is input into a hyperbolic function to calculate the second probability value. The average of the two probability values is taken as the trajectory intersection probability value.
[0011] As a further aspect of the present invention: in the behavior coordination module, the process of generating the behavior correction signal is as follows: Obtain the dynamic behavior labels of two dynamic objects in a potential conflict pair, including the sequence of motion direction preference factors and the numerical value of interaction sensitivity coefficient; Calculate the correlation matrix of the two motion direction preference factors, and perform eigenvalue decomposition on the correlation matrix to obtain the eigenvalue sequence; When the maximum value of the feature value sequence exceeds the threshold, the interaction sensitivity coefficient of the two dynamic objects and the rate of change of the motion direction preference factor are convolved. The convolution result is multiplied by the weight coefficient to obtain the comprehensive adjustment amount. The comprehensive adjustment amount is input into the nonlinear transformation function to generate the angle offset sequence. The angle offset sequence is processed by amplitude modulation and frequency modulation to obtain the behavior correction signal.
[0012] As a further aspect of the present invention: the process by which the behavior correction signal acts on the dynamic object is as follows: Read the current state data of the motion direction preference factor, including the direction angle value, the rate of change of angular velocity, and the angular acceleration characteristics; The angle offset sequence is convolved with the orientation angle state data. The convolution operation includes time-domain smoothing and frequency-domain filtering. The convolution result generates an orientation angle adjustment sequence, which is then differentiated to obtain the first and second derivatives. The orientation angle adjustment sequence is input to the coordinate transformation function to calculate the unit orientation vector. The unit orientation vector updates the motion orientation preference factor in the dynamic behavior label. The updated motion orientation preference factor is then input to the distributed control system of the dynamic object.
[0013] As a further aspect of the present invention: in the instruction output module, the process of outputting the control instruction sequence is as follows: Collect all dynamic object adjusted motion parameters, including velocity vector sequences, acceleration adjustment values, and update records of motion direction preference factors; The velocity vector sequence is processed by a compression algorithm. An error check code is added to the compressed data, and a timestamp is appended to the error check code data. The timestamp data is sorted according to the priority of the dynamic object. The sorted data generates binary control instructions. The binary control instructions include an instruction type identifier, a data integrity check code, and an urgency level flag. The binary control instructions are sent to the execution mechanism of the dynamic object through a communication link. The communication link also records the instruction transmission delay time and the received confirmation signal.
[0014] The beneficial effects of this invention are: This invention quantifies motion characteristics by constructing dynamic behavior tags, establishes an interactive scene containing spatiotemporal relationships based on a virtual projection, and uses trajectory intersection probability calculation to accurately identify potential conflicts. A smooth velocity adjustment sequence is generated through behavior correction signals. This method separates motion velocity control from direction adjustment, avoiding reliance on precise modeling of dynamic parameters and effectively solving the motion oscillation problem caused by velocity-direction coupling in traditional potential field methods. Through the collaborative calculation of dynamic behavior tags and virtual projections, it achieves the identification and avoidance of local extreme regions in the potential field, eliminating the motion stagnation phenomenon of dynamic objects. The hierarchical processing architecture significantly improves the system's scalability while maintaining computational efficiency, enabling the system to maintain stable, conflict-free operation even with an increased number of dynamic objects and more complex motion trajectories. This scheme overcomes the limitations of traditional methods in complex scenarios through the synergistic effect of trajectory intersection probability calculation and behavior correction signals, providing an effective technical means for the coordinated control of multi-dynamic object systems. Attached Figure Description
[0015] The invention will now be further described with reference to the accompanying drawings.
[0016] Figure 1 This is a schematic diagram of the modules of the present invention. Detailed Implementation
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0018] Please see Figure 1 As shown, the present invention is a program control system for ensuring conflict-free operation of multiple dynamic objects, comprising: The state acquisition module is used to input the initial state data set of multiple dynamic objects, including the position coordinates of each dynamic object in three-dimensional space, the coordinates of the target point, and the kinematic parameters. The behavior modeling module is used to normalize the kinematic parameters of dynamic objects, extract the feature vectors of the kinematic parameters, and generate dynamic behavior labels based on the feature vectors. The scene construction module is used to establish a virtual 3D coordinate system that is consistent with the scale of the real environment, map dynamic objects to the virtual 3D coordinate system, and assign a virtual projection body to each dynamic object. The collision detection module is used to calculate the trajectory intersection probability of any two virtual projections within the prediction time window in a virtual interaction scene. When the trajectory intersection probability exceeds a set threshold, it is marked as a potential collision pair. The behavior coordination module is used to evaluate the relative motion state of dynamic objects in potential conflict pairs, perform signal filtering on the evaluation results, generate behavior correction signals, and generate a smooth velocity vector adjustment sequence based on the behavior correction signals. The instruction output module is used to collect the adjusted motion parameters of all dynamic objects, perform data serialization processing on the motion parameters, synchronize the serialized data with the system time axis, and output the control instruction sequence of all dynamic objects.
[0019] In a preferred embodiment of the present invention, the process of generating dynamic behavior tags in the behavior modeling module is as follows: The system reads the kinematic parameter set of dynamic objects from the global data bus. These parameters include the maximum acceleration, minimum turning radius, communication delay time, and energy consumption coefficient. These parameters are reported by each dynamic object during the system initialization phase via a registration protocol and stored in the central parameter library. For example, the parameter values for a typical dynamic object might be: maximum acceleration 3.5 m / s², minimum turning radius 5.2 m, communication delay time 80 ms, and energy consumption coefficient 2.1 joules per second.
[0020] During the parameter preprocessing stage, the system first performs dimensional unification and standardization on the kinematic parameters. The maximum acceleration value is converted to meters per second squared (m² / s), the minimum turning radius to meters, the communication delay to milliseconds, and the energy consumption coefficient to joules per second (J / s). Each parameter undergoes validity verification before entering the calculation process; the system checks whether the parameter value is within a preset reasonable range. For example, the valid range for the maximum acceleration value is set between 0 and 20 m² / s; any value outside this range is marked as abnormal and triggers the error handling procedure.
[0021] The motion direction preference factor is calculated using a vector synthesis method. The system takes the maximum acceleration and minimum turning radius as input parameters and generates a direction vector in three-dimensional space through a built-in conversion algorithm. Specifically, the maximum acceleration determines the magnitude component of the vector, and the minimum turning radius determines the angular component. In actual calculations, when the maximum acceleration is 3.5 m / s² and the minimum turning radius is 5.2 m, the system first establishes a temporary vector with a magnitude of 3.5 and an angular component of 5.2 radians. This temporary vector is then normalized and converted into a unit direction vector. This unit direction vector is the final motion direction preference factor, representing the inherent motion tendency of the dynamic object under unconstrained conditions.
[0022] The interaction sensitivity coefficient is calculated using a multi-parameter weighted fusion strategy. The system assigns different weight coefficients to three core influencing factors: communication latency multiplied by a first coefficient of 0.5, the magnitude of the motion direction preference vector multiplied by a second coefficient of 0.3, and the square root of the energy consumption coefficient multiplied by a third coefficient of 0.2. In actual calculations, when the communication latency is 80 milliseconds, the magnitude of the motion direction preference vector is 1, and the energy consumption coefficient is 2.1, the system calculates three component values: 40, 0.3, and 0.289. These components are accumulated using an adder to obtain the final interaction sensitivity coefficient of 40.589. This coefficient quantifies the sensitivity that dynamic objects should maintain during interaction.
[0023] The assembly of dynamic behavior tags is completed in a dedicated data encapsulation unit. The system encapsulates the motion direction preference factor and interaction sensitivity coefficient according to a predetermined data format. The motion direction preference factor is stored as a floating-point array, containing three elements representing the x, y, and z components of the unit direction vector in the three-dimensional coordinate system. The interaction sensitivity coefficient is stored as a single-precision floating-point number. These two core data components, along with timestamp information and a unique identifier for the dynamic object, form a complete data packet. Each data packet also includes a version number and a checksum to ensure data integrity and compatibility.
[0024] The data storage phase employs a distributed caching system for management. The system distributes generated dynamic behavior tags across multiple storage nodes using a hash algorithm. Specifically, the system maintains three primary storage nodes and two backup nodes, with each node storing a copy of the complete data. Storage nodes maintain data synchronization through a heartbeat mechanism, verifying data consistency with each other every 200 milliseconds. If a node fails or network latency exceeds 150 milliseconds, the system automatically redirects access requests to other available nodes, ensuring continuous data accessibility and high system availability.
[0025] Throughout the processing, the system maintains a real-time updated parameter mapping table. This table records the correspondence between different combinations of kinematic parameters and the generated dynamic behavior labels. For example, when the system detects that the maximum acceleration value is within the range of 3.0 to 4.0 m / s², and the minimum turning radius is within the range of 4.8 to 5.5 m, it will automatically adopt a preset optimized calculation path. This mechanism ensures that the system can adapt to different types of dynamic objects while maintaining stable computational performance.
[0026] The system also implements a dynamic resource allocation mechanism. Based on real-time load conditions, computing tasks can be distributed across multiple processing cores for parallel execution. When the number of dynamic objects being processed simultaneously exceeds 50, the system automatically initiates load balancing mode, evenly distributing computing tasks across all available computing units. Each computing unit independently processes the dynamic object data assigned to it, and finally aggregates the results to the central coordinator.
[0027] In another preferred embodiment of the present invention, the process of constructing a virtual interactive scene in the scene construction module is as follows: First, a virtual 3D coordinate system is created that maintains a strict proportional relationship with the real environment. This coordinate system is established based on the physical dimensions of the real environment; for example, a 100-meter by 80-meter real area is mapped to a 1000-unit by 800-unit coordinate grid in virtual space. The coordinate system uses the right-hand rule, with the X-axis pointing due east, the Y-axis pointing due north, and the Z-axis extending vertically upwards, forming a complete 3D spatial reference frame.
[0028] After the coordinate system is established, the system begins mapping the real-time data of each dynamic object to the virtual space. The real-time position coordinates of the dynamic object are converted into node positions in the virtual coordinate system through a coordinate transformation algorithm. For example, a dynamic object located at real-world coordinates (25.3 meters, 42.1 meters, 1.8 meters) corresponds to node coordinates (253 units, 421 units, 18 units) in the virtual coordinate system. Simultaneously, the motion state parameters of the dynamic object, including velocity vector, acceleration value, and motion direction preference factor obtained from the behavior modeling module, are all associated with this node. Each node also records timestamp information and a unique object identifier to ensure the accuracy of data tracking.
[0029] The construction process of the virtual projection body adopts a dynamic ellipsoid model. The system first acquires complete motion state data of the dynamic object, including instantaneous velocity vector, acceleration value, and rate of change of motion direction preference factor. This data is transmitted to the projection body generation engine via a real-time data bus. The engine first processes the velocity vector data, calculating the component magnitudes of the velocity vector in the three coordinate axes. For example, when the velocity vector of a dynamic object is (3.2 m / s, 1.5 m / s, 0.2 m / s), the system calculates the magnitude values of the X-axis component (3.2), Y-axis component (1.5), and Z-axis component (0.2), respectively.
[0030] The calculation of the principal axis length is based on the composite magnitude of the velocity vector. The system obtains the composite magnitude by squaring and taking the square root of the component magnitudes in the three coordinate axes. Taking the aforementioned velocity vector as an example, the composite magnitude is √3.2² + 1.5² + 0.2², approximately equal to 3.54 meters per second. Subsequently, this composite magnitude is input to the exponential function processor to calculate the principal axis length of the ellipsoid. Specifically, the system uses the natural exponential function, taking the composite magnitude of 3.54 as input, and outputs a principal axis length of approximately 34.5 units. This conversion process ensures that the size of the projected object maintains a reasonable proportional relationship with the actual motion state of the dynamic object.
[0031] Determining the auxiliary axis length involves complex calculations of multiple parameters. The system first obtains the magnitude of the acceleration values. For example, if the acceleration vector of a dynamic object is (1.2 m / s², 0.8 m / s², 0.1 m / s²), its magnitude is approximately 1.45 m / s². Simultaneously, the system reads the rate of change of the motion direction preference factor from the behavior modeling module. This rate of change reflects the stability of the dynamic object's motion tendency. Assuming a rate of change of 0.02 radians per second, the system multiplies the acceleration magnitude of 1.45 by the rate of change of 0.02 to obtain an adjustment coefficient of 0.029.
[0032] The adjustment coefficient is then fed into the logarithmic function calculation unit. The system uses the natural logarithm function to process the adjustment coefficient and calculate its logarithmic value. The natural logarithm of the adjustment coefficient 0.029 is approximately -3.54. The system takes the absolute value of this result and multiplies it by a scaling factor of 10 to obtain an auxiliary axis length of 35.4 units. This calculation method ensures that the auxiliary axis length accurately reflects the motion state changes of the dynamic object.
[0033] The spatial orientation of the ellipsoid is determined through two independent processes. The determination of the major axis is relatively straightforward; the system ensures that the major axis of the ellipsoid is perfectly aligned with the direction of the velocity vector. This means that the ellipsoid's primary extension direction in virtual space always points towards the direction of motion of the dynamic object. The calculation of the deflection angle is more complex. The system multiplies the rate of change of the motion direction preference factor by a fixed angle conversion coefficient. Assuming a rate of change of 0.02 radians per second and an angle conversion coefficient of 180 divided by π (approximately 57.3), the deflection angle is 1.146 degrees. This deflection angle allows for subtle directional adjustments to the ellipsoid in virtual space, more accurately reflecting the motion trend of the dynamic object.
[0034] After the virtual projection is constructed, the system begins to build a connection graph between dynamic objects. The connection graph uses a graph theory data structure, where each dynamic object corresponds to a vertex, and the potential interactions between objects correspond to edges. The calculation of edge weights involves three key parameters: relative velocity magnitude, angle between motion directions, and interaction sensitivity coefficient.
[0035] The relative velocity magnitude is calculated using vector difference operations. The system obtains the velocity vectors of two dynamic objects, calculates their vector difference, and then obtains the magnitude of this vector difference. For example, if the velocity vectors of two dynamic objects are (3.2, 1.5, 0.2) and (2.8, 1.2, 0.3), their relative velocity vector is (0.4, 0.3, -0.1), and the magnitude is approximately 0.51 meters per second.
[0036] The angle between the motion directions is calculated using the dot product formula. The system treats the motion direction preference factors of two dynamic objects as unit vectors and calculates their dot product. Assuming the dot product of the two unit vectors is 0.94, the system calculates that the angle between them is approximately 20 degrees using the inverse cosine function.
[0037] The interaction sensitivity coefficient is obtained directly from the dynamic behavior labels generated by the behavior modeling module. Assuming that the interaction sensitivity coefficients of two dynamic objects are 40.6 and 38.2 respectively, the system takes their arithmetic mean of 39.4 as the coefficient value used for calculation.
[0038] The final weight of an edge is determined by the product of three parameters. Taking the values above as an example, multiplying the relative velocity of 0.51 by the angle of motion of 20 degrees and then by the interaction sensitivity coefficient of 39.4 yields an edge weight of approximately 401.9. This weight value quantifies the potential interaction strength between two dynamic objects; a larger weight value indicates a greater need for close monitoring and coordination.
[0039] Throughout the construction process, the system maintains a real-time updated spatial index structure. This structure uses an octree algorithm to organize dynamic objects in the virtual space, with each leaf node storing a reference to an object located within that spatial region. When a dynamic object moves, the system updates its position in the octree promptly, ensuring efficient spatial queries. For example, in a scenario containing 50 dynamic objects, the system can complete the spatial index update for all objects within 5 milliseconds.
[0040] The rendering of virtual interactive scenes employs a layered display strategy. The system categorizes virtual projectors into different display levels based on their spatial location and motion state, with closer and faster projectors receiving higher rendering priority. Each projector's display attributes include color, transparency, and outline shape, which are dynamically adjusted according to the projector's motion. For example, a high-speed moving projector is displayed as bright red, while a low-speed moving projector is displayed as light blue. This visual encoding allows operators to quickly identify key dynamics within the scene.
[0041] The system also implements a persistent storage mechanism for scene data. Every 100 milliseconds, the system serializes the complete virtual scene state, including the projection data of all dynamic objects and the connection graph, into binary format and stores it in a cache. This historical data can be used for subsequent analysis and playback, while also supporting system fault recovery. If the system detects an anomaly, it can immediately resume operation from the most recent safe state, ensuring the continuity of the control process.
[0042] To ensure real-time performance, the scene construction module employs a multi-threaded parallel computing architecture. The main thread is responsible for maintaining the coordinate system and collecting data, while projection calculation and connection graph construction are distributed to multiple worker threads for parallel processing. These worker threads receive computation tasks through a task queue and return the results to the main thread for integration. For example, on an 8-core processor, the system can simultaneously handle projection calculations for 8 dynamic objects, significantly improving the efficiency of scene updates.
[0043] In another preferred embodiment of the present invention, the process of calculating the trajectory intersection probability in the collision detection module is as follows: First, the system extracts predicted trajectory segments of the two dynamic objects in a potential conflict pair from its prediction database. These trajectory segments contain a set of position coordinates, a sequence of velocity vectors, and acceleration change curves at 0.1-second intervals over the next 5 seconds. For example, for dynamic objects A and B, the system extracts complete motion state data for 50 consecutive time points, forming two complete trajectory sequences.
[0044] After acquiring the predicted trajectory segment, the system initiates a spatial distance calculation program. For each corresponding time point, the system simultaneously calculates three independent distance metrics. The Euclidean distance is calculated based on the position coordinates in three-dimensional space, using a standard spatial distance formula to determine the straight-line distance between two dynamic objects. For example, at time point t0, object A has position coordinates of (120.5, 80.3, 5.2), and object B has position coordinates of (115.2, 85.6, 4.8), resulting in a calculated Euclidean distance of approximately 7.2 meters.
[0045] The calculation of the velocity vector angle involves vector analysis. The system obtains the velocity vectors of two dynamic objects at the current time point, treats them as unit vectors, calculates their dot product, and then converts it into an angle value using an inverse cosine function. For example, if object A's velocity vector is (8.2, 3.5, 0.3) and object B's velocity vector is (7.8, -2.1, 0.1), the calculated velocity vector angle is 65 degrees. This angle reflects the degree of difference in the directions of motion of the two objects.
[0046] The acceleration difference is calculated using a relative comparison method. The system first calculates the magnitudes of the acceleration vectors of the two dynamic objects, and then takes the absolute difference between these two magnitudes. For example, if object A has an acceleration magnitude of 1.5 m / s², and object B has an acceleration magnitude of 2.3 m / s², then the acceleration difference is 0.8 m / s². This value reflects the difference in the rate of change of the two objects' motion states.
[0047] The system assigns different weighting coefficients to these three distance indicators. The weight for Euclidean distance is set to 0.6, the weight for the velocity vector angle is set to 0.3, and the weight for acceleration difference is set to 0.1. At each time point, the system multiplies the three indicator values by their respective weights and then sums them to obtain the comprehensive distance characteristic value for that time point. Taking time point t0 as an example, the Euclidean distance of 7.2 meters multiplied by 0.6 equals 4.32, the velocity vector angle of 65 degrees multiplied by 0.3 equals 19.5, and the acceleration difference of 0.8 multiplied by 0.1 equals 0.08. The sum of these three values yields a distance characteristic value of 23.9.
[0048] The system repeats the above calculation process for all 50 time points, forming a distance feature sequence containing 50 values. This sequence fully describes the changing trend of the relative motion relationship between the two dynamic objects within the prediction time window.
[0049] Next, the system performs time integration on the distance feature sequence. The integration process uses a weighted summation method, with the weight of each time point determined by a Gaussian distribution function. Specifically, the system uses the midpoint of the prediction time window as the mean of the Gaussian distribution and one-sixth of the window length as the standard deviation to calculate the Gaussian weight value corresponding to each time point. Time points closer to the current time receive higher weights, reflecting the greater influence of recent states on conflict determination. The system multiplies the distance feature value of each time point by its corresponding Gaussian weight, and then sums the weighted values for all time points to obtain the integral result.
[0050] After obtaining the integration result, the system retrieves the virtual projection volume data of the two dynamic objects from the scene construction module. Assuming object A has a projection volume of 125 cubic units and object B has a projection volume of 98 cubic units, the sum of their volumes is 223 cubic units. The system calculates the reciprocal of the sum of volumes as 0.00448, and then multiplies the integration result by this reciprocal to obtain the comparison value.
[0051] The system inputs the comparison value into two different functions simultaneously for calculation. First, a sigmoid function is input, whose output ranges from 0 to 1, mapping the comparison value to a base probability value. Simultaneously, the system inputs the comparison value into a hyperbolic function, which better handles probability distributions in extreme cases. Assuming the comparison value is 2.5, the sigmoid function calculates a first probability value of 0.85, and the hyperbolic function calculates a second probability value of 0.82.
[0052] Finally, the system takes the arithmetic mean of the two probability values as the final trajectory intersection probability value. In this example, the average of 0.85 and 0.82, 0.835, is taken as the trajectory intersection probability of the two dynamic objects within the prediction time window. This probability value will be passed to the subsequent behavior coordination module to decide whether to generate a behavior correction signal. The entire calculation process is executed on a specially configured mathematical coprocessor, ensuring that all calculations are completed within strict time constraints.
[0053] In another preferred embodiment of the present invention, the process of generating behavior correction signals in the behavior coordination module is as follows: First, the system retrieves complete dynamic behavior labels for the two dynamic objects in a potential conflict pair from the distributed caching system. These labels contain time-series data of motion direction preference factors and the current values of interaction sensitivity coefficients. For example, for dynamic object A, the system retrieves its motion direction preference factor sequence for the most recent 20 time points, where each preference factor consists of three floating-point numbers, representing the direction components in a three-dimensional coordinate system. Simultaneously, the system retrieves the interaction sensitivity coefficient of object A (42.5) and object B (38.7).
[0054] The system then initiates a correlation analysis program. The motion direction preference factor sequences of the two dynamic objects are input into the correlation calculation engine. This engine first standardizes the sequence data to eliminate dimensional differences. Then, it constructs a 3x3 correlation matrix through matrix operations. Each element of this matrix represents the degree of correlation between the motion trends of the two objects along their corresponding coordinate axes. For example, the calculated correlation matrix might contain the following values: first row 0.95, 0.12, 0.03; second row 0.08, 0.89, 0.11; third row 0.02, 0.09, 0.91.
[0055] Next, the system performs eigenvalue decomposition on the correlation matrix. This decomposition process is implemented using the Jacobi iterative algorithm, yielding three eigenvalues after 15 iterations: 2.78, 0.85, and 0.12. The system records these eigenvalues and arranges them in descending order to form an eigenvalue sequence. The maximum value of the eigenvalue sequence, 2.78, is compared with a preset threshold of 1.5. Since 2.78 is greater than 1.5, the system determines that the movement trends of the two dynamic objects are significantly correlated and require further processing.
[0056] After confirming the need for intervention, the system begins performing convolution operations. First, the interaction sensitivity coefficients of two dynamic objects (42.5 and 38.7) are obtained, and their arithmetic mean (40.6) is calculated. Simultaneously, the rate of change data for the most recent 10 time points is extracted from the motion direction preference factor sequence, forming a sequence of length 10. The system uses a 5-point convolution kernel to perform a convolution operation on this rate of change sequence, with kernel coefficients of 0.1, 0.2, 0.4, 0.2, and 0.1. The convolution operation produces a new sequence that reflects the weighted average trend of motion direction changes.
[0057] The result of the convolution operation is then multiplied by the weighting coefficient of 0.35 to obtain the overall adjustment. For example, when the convolution result is 2.15, multiplying it by the weighting coefficient yields an overall adjustment of 0.7525. This overall adjustment serves as the input parameter for subsequent nonlinear transformations.
[0058] The nonlinear transformation function adopts a piecewise polynomial function. When the overall adjustment is within the range of 0 to 1, a cubic polynomial is used for the transformation; when the overall adjustment is greater than 1, a square root function is used. Taking an overall adjustment of 0.7525 as an example, the system calculates an angular offset baseline value of 25.6 degrees using a cubic polynomial. This baseline value is then expanded into an angular offset sequence containing 50 time points. The values in the sequence are normally distributed around the baseline value, with a standard deviation of 2.5 degrees.
[0059] The angle offset sequence then enters the modulation stage. Amplitude modulation uses a sinusoidal carrier signal with a frequency of 0.5 Hz and an amplitude gain coefficient of 1.2. Each angle offset is multiplied by its corresponding modulation coefficient to produce the amplitude-modulated sequence. Frequency modulation is achieved by adjusting the time interval between data points in the sequence, with a base time interval of 0.1 seconds and fine-tuning based on a modulation index of 0.3. The sequence after this double modulation process is the final behavior correction signal.
[0060] During the application of the behavior correction signal to the dynamic object, the system first reads the complete state data of the motion direction preference factor at the current moment. This data includes the orientation angle value of 125.3 degrees, the angular velocity change rate of 2.5 degrees per second, and the angular acceleration characteristic of 0.8 degrees per square second. This state data is acquired in real time from the dynamic object's sensor system via a high-speed data bus.
[0061] Next, the system performs a convolution operation to fuse the angle offset sequence in the behavior correction signal with the orientation angle state data. Time-domain smoothing uses a moving average filter with a window width of 5 data points. Frequency-domain filtering uses a low-pass filter with a cutoff frequency of 5 Hz to eliminate the influence of high-frequency noise. The convolution operation produces a smooth orientation angle transition sequence containing angle values at 50 time points, smoothly transitioning from the current 125.3 degrees to the target angle of 142.6 degrees.
[0062] The system performs differential operations on the orientation angle adjustment sequence to obtain more complete motion characteristics. The first derivative, calculated using the central difference method, reflects the rate of angle change. The second derivative, obtained through further differentiation, reflects the acceleration of the angle change. For example, at time point t10, the orientation angle adjustment value is 132.5 degrees, the first derivative is 3.2 degrees per second, and the second derivative is 0.15 degrees per square second. These differential operation results ensure the smoothness and continuity of the motion process.
[0063] The orientation angle adjustment sequence is then fed into a coordinate transformation function. This function converts the angle sequence into a unit orientation vector in three-dimensional space. The transformation process uses a formula for converting from spherical coordinates to Cartesian coordinates, taking into account the position and attitude parameters of the current dynamic object. For example, an orientation angle of 142.6 degrees is converted into a unit orientation vector (-0.79, 0.61, 0.03). This newly calculated unit orientation vector will be used to update the motion direction preference factor in the dynamic behavior label.
[0064] The update process is implemented through a version control mechanism. The system retains the historical records of the original motion direction preference factors while writing the new unit direction vector into the current version of the dynamic behavior label. The updated label also includes timestamp information and a version number, ensuring the integrity of data tracking. The entire update process is completed in a distributed caching system, guaranteeing data consistency and reliability.
[0065] Finally, the system sends the updated motion direction preference factor and its related parameters to the distributed control system of the dynamic object via a dedicated communication protocol. Data transmission is asynchronous, with each data packet containing a sequence number, timestamp, and checksum to ensure reliable transmission. Upon receiving the new parameters, the control system immediately applies them to the motion control algorithm, enabling real-time adjustment of the dynamic object's motion state.
[0066] In another preferred embodiment of the present invention, the process of outputting the control instruction sequence in the instruction output module is as follows: Receive the adjusted motion parameters for all dynamic objects. These parameters include a velocity vector sequence for each dynamic object over the next 3 seconds, containing 3D velocity data at 30 time points; acceleration adjustment values, including adjustments to tangential and normal acceleration; and an update record of the motion direction preference factor, documenting the changes and final values of the preference factor.
[0067] The data collection process employs a parallel processing architecture. The system can process motion parameters for up to 50 dynamic objects simultaneously, with each object's parameter data packaged into an independent data packet. Each data packet includes a header identifier, a data body length field, and a sequence number. For example, when the system processes 25 dynamic objects, it generates 25 data packets, each approximately 1.2KB in size, containing complete motion control information.
[0068] The compression of velocity vector sequences employs a specialized compression algorithm. This algorithm first performs differential encoding on the vector sequence, converting absolute coordinates to relative coordinates. Then, the LZ4 compression algorithm is used to compress the differential data, achieving an average compression ratio of 60%. For example, a velocity vector sequence originally 1.2KB is reduced to approximately 480 bytes after compression. A 32-bit CRC error checksum is added to the compressed data; this checksum is generated through polynomial division to ensure the integrity of data transmission.
[0069] The timestamp addition process is strictly synchronized with the system's master clock. The system uses the Unix timestamp format with millisecond-level precision. Each data packet, when timestamped, records the number of milliseconds since January 1, 1970 (UTC). For example, a data packet might be timestamped as 1639781234567, representing December 18, 2021, at 10:20:34:567 milliseconds.
[0070] The data sorting process is based on the priority values of dynamic objects. The system maintains a priority mapping table, mapping each dynamic object to a priority value from 1 to 100. Data packets from higher-priority dynamic objects receive an earlier transmission order. For example, if an emergency transport object has a priority of 95 and a routine patrol object has a priority of 60, the system will prioritize processing data from the higher-priority object.
[0071] The generation of binary control commands employs a hierarchical structure. The command header contains a 4-byte command type identifier to distinguish different control command types. The data portion contains compressed motion parameters and corresponding checksum information. The command tail contains a 16-byte data integrity checksum, generated using the SHA-256 algorithm to ensure the command is not tampered with during transmission. An urgency level flag is represented by 2 bytes, ranging from 0 to 65535, with higher values indicating greater urgency.
[0072] The communication link is established using a two-way handshake protocol. The system first sends a connection request to the target actuator, and only begins data transmission after receiving an acknowledgment response. Data transmission uses the UDP protocol, with each data packet limited to 1500 bytes. The system simultaneously records the sending time and acknowledgment time of each data packet to calculate the transmission delay. For example, if a data packet is sent at timestamp 1639781234000 and received an acknowledgment at 1639781234050, the recorded transmission delay is 50 milliseconds.
[0073] The acknowledgment signal processing employs a timeout retransmission mechanism. The system sets a 500-millisecond timeout for each data packet. If no acknowledgment signal is received within the timeout period, the data packet will be automatically retransmitted. The maximum number of retransmissions is three. Data packets that fail to transmit successfully after three retransmissions will be marked as transmission failures, triggering an exception handling procedure.
[0074] The foregoing has provided a detailed description of one embodiment of the present invention, but this description is merely a preferred embodiment and should not be construed as limiting the scope of the invention. All equivalent variations and modifications made within the scope of the claims of this invention should still fall within the patent coverage of this invention.
Claims
1. A program control system for ensuring conflict-free operation of multiple dynamic objects, characterized in that, include: The state acquisition module is used to input the initial state data set of multiple dynamic objects, including the position coordinates of each dynamic object in three-dimensional space, the coordinates of the target point, and the kinematic parameters. The behavior modeling module is used to normalize the kinematic parameters of dynamic objects, extract the feature vectors of the kinematic parameters, and generate dynamic behavior labels based on the feature vectors. The scene construction module is used to establish a virtual 3D coordinate system that is consistent with the scale of the real environment, map dynamic objects to the virtual 3D coordinate system, and assign a virtual projection body to each dynamic object. The collision detection module is used to calculate the trajectory intersection probability of any two virtual projections within the prediction time window in a virtual interaction scene. When the trajectory intersection probability exceeds a set threshold, it is marked as a potential collision pair. The behavior coordination module is used to evaluate the relative motion state of dynamic objects in potential conflict pairs, perform signal filtering on the evaluation results, generate behavior correction signals, and generate a smooth velocity vector adjustment sequence based on the behavior correction signals. The instruction output module is used to collect the adjusted motion parameters of all dynamic objects, perform data serialization processing on the motion parameters, synchronize the serialized data with the system time axis, and output the control instruction sequence of all dynamic objects.
2. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 1, characterized in that, In the behavior modeling module, the process of generating dynamic behavior tags is as follows: Read the kinematic parameter set of the dynamic object, which includes the maximum acceleration value, minimum turning radius, communication delay time, and energy consumption coefficient; The motion direction preference factor is calculated based on the maximum acceleration value and the minimum turning radius, and the motion direction preference factor is represented by a unit direction vector in three-dimensional space; The communication delay time is multiplied by a first coefficient, the magnitude of the motion direction preference vector is multiplied by a second coefficient, and the square root of the energy consumption coefficient is multiplied by a third coefficient. The three products are added together to obtain the interaction sensitivity coefficient. The motion direction preference factor and the interaction sensitivity coefficient are combined to form a dynamic behavior label, which is stored in a distributed cache system.
3. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 1, characterized in that, In the scene construction module, the process of constructing a virtual interactive scene is as follows: Create a virtual 3D coordinate system that maintains a proportional relationship with the real environment, and map the real-time position coordinates and motion state parameters of each dynamic object to the nodes of the virtual 3D coordinate system; A virtual projection body is constructed based on the instantaneous velocity vector, acceleration value, and motion direction preference factor of a dynamic object. The virtual projection body adopts an ellipsoidal structure, with the major axis of the ellipsoid aligned with the velocity vector direction, and the ratio of the major axis to the minor axis equal to the magnitude of the acceleration value multiplied by the rate of change of the motion direction preference factor. A connection graph between dynamic objects is constructed in a virtual three-dimensional coordinate system. The edge weight of the connection graph is: the relative velocity between two dynamic objects multiplied by the angle between their motion directions and then multiplied by the interaction sensitivity coefficient.
4. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 3, characterized in that, The process of constructing the virtual projection body is as follows: Acquire motion state data of dynamic objects, including instantaneous velocity vector, acceleration value, and rate of change of motion direction preference factor; Calculate the component magnitudes of the velocity vector in the three coordinate axes, and use the exponential function of the composite magnitude of the velocity vector as the principal axis length of the ellipsoid; The modulus of acceleration is multiplied by the rate of change of the motion direction preference factor to obtain the adjustment coefficient, and the logarithm of the adjustment coefficient is used as the length of the auxiliary axis of the ellipsoid. The major axis of the ellipsoid is aligned with the direction of the velocity vector, and the rate of change of the motion direction preference factor is multiplied by the angle conversion coefficient to obtain the deflection angle of the ellipsoid.
5. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 1, characterized in that, In the conflict detection module, the process of calculating the trajectory intersection probability is as follows: Extract the predicted trajectory segments of two dynamic objects in a potential conflict pair. The predicted trajectory segments include a set of position coordinates, a sequence of velocity vectors, and an acceleration change curve at consecutive time points. Calculate the spatial distance between the two predicted trajectory segments at each time point. The spatial distance includes Euclidean distance, velocity vector angle, and acceleration difference. The three distance values are weighted and summed to form a distance feature sequence. The distance feature sequence is integrated over time, and the integration weights are calculated using a Gaussian distribution function. The integration result is multiplied by the reciprocal of the sum of volumes to obtain a comparison value. The comparison value is input into an S-shaped function to calculate the first probability value, and the comparison value is input into a hyperbolic function to calculate the second probability value. The average of the two probability values is taken as the trajectory intersection probability value.
6. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 1, characterized in that, In the behavior coordination module, the process of generating behavior correction signals is as follows: Obtain the dynamic behavior labels of two dynamic objects in a potential conflict pair, including the sequence of motion direction preference factors and the numerical value of interaction sensitivity coefficient; Calculate the correlation matrix of the two motion direction preference factors, and perform eigenvalue decomposition on the correlation matrix to obtain the eigenvalue sequence; When the maximum value of the feature value sequence exceeds the threshold, the interaction sensitivity coefficient of the two dynamic objects and the rate of change of the motion direction preference factor are convolved. The convolution result is multiplied by the weight coefficient to obtain the comprehensive adjustment amount. The comprehensive adjustment amount is input into the nonlinear transformation function to generate the angle offset sequence. The angle offset sequence is processed by amplitude modulation and frequency modulation to obtain the behavior correction signal.
7. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 6, characterized in that, The process by which the behavior correction signal acts on a dynamic object is as follows: Read the current state data of the motion direction preference factor, including the direction angle value, the rate of change of angular velocity, and the angular acceleration characteristics; The angle offset sequence is convolved with the orientation angle state data. The convolution operation includes time-domain smoothing and frequency-domain filtering. The convolution result generates an orientation angle adjustment sequence, which is then differentiated to obtain the first and second derivatives. The orientation angle adjustment sequence input coordinate transformation function calculates the unit orientation vector, and the unit orientation vector updates the motion orientation preference factor in the dynamic behavior label; The updated motion direction preference factor is input into the distributed control system of the dynamic object.
8. A program control system for ensuring conflict-free operation of multiple dynamic objects according to claim 1, characterized in that, In the instruction output module, the process of outputting the control instruction sequence is as follows: Collect all dynamic object adjusted motion parameters, including velocity vector sequences, acceleration adjustment values, and update records of motion direction preference factors; The velocity vector sequence is processed by a compression algorithm. An error check code is added to the compressed data, and a timestamp is appended to the error check code data. The timestamp data is sorted according to the priority of the dynamic object. The sorted data generates binary control instructions. The binary control instructions include an instruction type identifier, a data integrity check code, and an urgency level flag. The binary control instructions are sent to the execution mechanism of the dynamic object through a communication link. The communication link also records the instruction transmission delay time and the received confirmation signal.