Bionic robot cluster dance path planning and anti-collision control method and system
Patent Information
- Application Number
- CN202610943017.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-29
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2046-06-29
AI Technical Summary
然而现有机器人舞蹈规划方法大多依赖离线编程或预录制轨迹,难以适应现场音乐节拍的微小变化,集群动作易出现时间错位
[0055]1、本发明通过音乐节拍牵引与邻居耦合的二阶动力学模型,使集群动作时序既严格跟随音乐节拍又保持相互协调,避免了离线编程带来的时间错位问题。
Smart Images

Figure CN122463182B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot swarm control technology, specifically to a method and system for biomimetic robot swarm dance path planning and collision avoidance control. Background Technology
[0002] In large-scale stage performances and theme park parades, bionic robot swarm dances have become an emerging performing art form. However, most existing robot dance planning methods rely on offline programming or pre-recorded trajectories, making it difficult to adapt to subtle changes in the rhythm of live music, and causing timing misalignments in swarm movements. Regarding collision avoidance, conventional artificial potential field methods use symmetrical repulsive forces without considering relative velocity directions, resulting in insufficient repulsive force when robots approach each other and unnecessary movements when they move away, wasting energy and affecting artistic expression. Traditional collision avoidance strategies only intervene at the physical level, easily disrupting the continuity of choreography and dance movements.
[0003] Therefore, there is an urgent need for a method that can dynamically coordinate the timing of group dances, combine a biomimetic asymmetric collision avoidance mechanism, and actively avoid collisions without interrupting the performance. Summary of the Invention
[0004] The technical problem to be solved by the present invention is to address the shortcomings of the prior art by providing a method and system for path planning and collision avoidance control of biomimetic robot swarm dance.
[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0006] A method for path planning and collision avoidance control in biomimetic robot swarm dance includes the following steps:
[0007] Step S1: Obtain the music beat sequence and establish a dance movement primitive library associated with the normalized time parameters;
[0008] Step S2: Initialize the motion timing angle, motion timing angle change rate, and dance role of each robot in the cluster, and establish a neighbor set based on the communication range;
[0009] Step S3: Each robot updates its own motion timing angle in real time based on the music beat traction term, the neighbor's motion timing angle deviation term, and the damping effect;
[0010] Step S4: Based on the current action timing angle and dance character, index the desired relative displacement from the dance action primitive library, and generate the attraction trajectory point position by combining it with the preset arrangement.
[0011] Step S5: Calculate the asymmetric anti-collision potential energy of the robot relative to each neighbor, and synthesize the anti-collision control force based on the potential energy gradient of all neighbors; wherein, the asymmetric anti-collision potential energy takes effect when the distance between the robot and the neighbor is less than a preset action threshold, and the magnitude of the potential energy is modulated by the projection of the relative velocity of the two robots in the direction of the line connecting them.
[0012] Step S6: Combine the attractive force generated by the attraction trajectory point with the anti-collision control force, and introduce velocity damping to generate the robot's desired acceleration control command.
[0013] Step S7: Continuously evaluate the collision risk value. When the collision risk value exceeds the preset risk threshold, apply a jump to the current action timing angle and temporarily change the dance path to achieve predictive collision avoidance.
[0014] Furthermore, step S1 specifically includes the following steps:
[0015] Step S1.1: Detect the start point of the music signal to extract the beat time point, and use the time interval between adjacent beat times as the motion primitive generation interval;
[0016] Step S1.2: For each motion primitive, generate a pre-arranged dance spatial displacement within the interval, and fit it with a cubic B-spline curve to obtain a continuous curve of spatial displacement with respect to relative time within the interval.
[0017] Step S1.3: Linearly map the relative time within the interval to the normalized time parameter interval, so that each normalized time parameter value corresponds to a unique expected displacement vector, forming an online indexable dance movement primitive library.
[0018] Furthermore, in step S3, the real-time updating of its own action timing angle adopts a second-order dynamic model, specifically including:
[0019] The acceleration of the action timing angle is equal to the music traction gain coefficient multiplied by the difference between the music beat target timing angle and the current action timing angle, minus the timing damping coefficient multiplied by the action timing angle change rate, plus the weighted sum of the timing angle deviations between the action timing angle and each neighbor in the neighbor set;
[0020] The target timing angle of the music beat is obtained by adding the output value of the global beat timing function to the robot character offset.
[0021] Furthermore, in the second-order dynamic model, the weight values of the weighted sum are determined as follows: the weight value is equal to the sum of the maximum coupling strength divided by 1 and the natural exponential function value, where the exponent of the natural exponential function value is the Euclidean distance between robots minus the preset critical distance divided by the smoothing transition parameter, so that the weight value approaches zero when the Euclidean distance is greater than the preset critical distance.
[0022] Furthermore, step S5 specifically includes the following steps:
[0023] Step S5.1: Determine whether the Euclidean distance between the robot and its neighbor is less than a preset action threshold. If the Euclidean distance is not less than the preset action threshold, then the potential energy of the neighbor is zero.
[0024] Step S5.2: For neighbors whose Euclidean distance is less than the preset action threshold, calculate the basic repulsive potential energy. The basic repulsive potential energy is equal to the potential energy intensity coefficient divided by the difference between the Euclidean distance and the absolute safety radius.
[0025] Step S5.3: Calculate the asymmetric modulation factor, which is 1 plus the asymmetric influence coefficient multiplied by the ratio of the projection of the relative velocity line direction to the relative velocity magnitude plus a small constant to prevent zero. The projection of the relative velocity line direction is the dot product of the relative velocity vector of the two robots and the unit direction vector from the robot to the neighbor.
[0026] Step S5.4: Multiply the basic repulsive potential energy by the asymmetric modulation factor to obtain the asymmetric anti-collision potential energy corresponding to the neighbor.
[0027] Step S5.5: Calculate the spatial gradient of the asymmetric anti-collision potential energy of all neighbors and take the opposite direction, and superimpose them to obtain the current anti-collision control force of the robot.
[0028] Further, in step S7, the collision risk value is calculated according to the following process:
[0029] For each of the robot's current neighbors, calculate the relative approach rate, which is the negative value of the relative velocity projected in the direction of the line connecting them;
[0030] The prediction approximation risk factor is calculated by dividing the relative approach rate by the preset reference rate; if the result is negative, it is taken as zero.
[0031] The distance decay index is calculated by multiplying the distance decay coefficient by the negative value of the Euclidean distance using the natural exponential function.
[0032] The action timing difference factor is calculated as a positive constant plus the absolute value of the difference between the robot's action timing angle and the neighbor's action timing angle.
[0033] Divide the distance decay index value by the action timing difference factor, and then multiply it by the prediction approximation risk factor to obtain the risk component corresponding to the neighbor.
[0034] The maximum value among all neighbor risk components is taken as the collision risk value.
[0035] Furthermore, in step S7, the method of applying the jump to the current action timing angle is as follows:
[0036] A jump increment is added to the current action timing angle. The absolute value of the jump increment is a preset jump amplitude value, and the sign of the jump increment is the same as the sign of the action timing angle change rate. After the jump, the action timing angle, under the action of the second-order dynamic model in step S3, converges back to the target timing angle of the music beat within a preset number of music beat cycles.
[0037] A biomimetic robot swarm dance path planning and collision avoidance control system, used to implement any one of the biomimetic robot swarm dance path planning and collision avoidance control methods, including:
[0038] The beat awareness and primitive library module is used to acquire music beat sequences and build a dance movement primitive library indexed by normalized time parameters.
[0039] The timing coordination module is used to update the timing angle of each robot's motion in real time using a second-order dynamics model based on music beat traction, neighboring action timing angle deviation, and damping effect.
[0040] The trajectory generation module is used to calculate the position of the attraction trajectory point based on the action timing angle and the dance action primitive library, combined with the preset arrangement;
[0041] The asymmetric potential field collision avoidance module is used to calculate the asymmetric collision avoidance potential energy of each robot relative to its neighbors, and to calculate the spatial gradient of the potential energy to synthesize the collision avoidance control force.
[0042] The timing jump monitoring module is used to continuously evaluate the collision risk value. When the collision risk value exceeds the preset risk threshold, a jump increment is applied to the current action timing angle.
[0043] The motion control synthesis module is used to synthesize the attractive force generated by the attraction trajectory point position with the anti-collision control force, and introduce velocity damping to generate the robot's desired acceleration control command.
[0044] Furthermore, the asymmetric potential field collision avoidance module includes:
[0045] The proximity filtering unit is used to filter out neighbors whose Euclidean distance to the current robot is less than a preset threshold.
[0046] The basic potential energy calculation unit is used to calculate the basic repulsive potential energy based on the Euclidean distance and the preset absolute safety radius.
[0047] The modulation factor calculation unit is used to calculate the asymmetric modulation factor based on the projection of the relative velocity of the two robots in the direction of the line connecting them, the magnitude of the relative velocity, and the preset asymmetric influence coefficient.
[0048] Potential energy synthesis and gradient unit are used to calculate the spatial gradient of the current robot position, obtain the corresponding anti-collision force component, and superimpose the anti-collision force components of all neighbors to output the anti-collision control force.
[0049] Furthermore, the timing jump monitoring module includes:
[0050] The risk component calculation unit is used to calculate the risk component corresponding to each of the current robot's neighbors.
[0051] The maximum risk selection unit is used to select the maximum value from the risk components corresponding to all neighbors as the collision risk value of the current robot.
[0052] The threshold comparison and jump trigger unit is used to compare the collision risk value with a preset risk threshold. When the collision risk value exceeds the preset risk threshold, a jump trigger signal is output.
[0053] The timing jump execution unit is used to add a jump increment to the current action timing angle after receiving the jump trigger signal.
[0054] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0055] 1. This invention uses a second-order dynamic model that is driven by music beats and coupled with neighbors, so that the timing of cluster actions strictly follows the music beats and maintains mutual coordination, thus avoiding the time misalignment problem caused by offline programming.
[0056] 2. This invention introduces an asymmetric anti-collision potential field modulated by the relative velocity direction, which generates a stronger repulsive force on robots that are getting close to each other, and the repulsive force automatically weakens when they move away, thus balancing collision avoidance and smooth movement, and reducing unnecessary energy consumption.
[0057] 3. The action timing jump mechanism based on collision risk prediction in this invention can actively switch dance segments to avoid collisions when the physical repulsion force is insufficient, and restore synchronization within a few beats after the jump, ensuring that the overall dance art effect is not damaged.
[0058] 4. This invention comprehensively considers distance decay, timing differences, and relative approach rate to construct a risk assessment model, thereby achieving early collision warning and reducing the interference of frequent avoidance on formation. Attached Figure Description
[0059] Other features, objects, and advantages of the invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0060] Figure 1 This is a flowchart illustrating an embodiment of the present invention;
[0061] Figure 2This is a schematic diagram of the system modules according to an embodiment of the present invention;
[0062] Figure 3 This is a schematic diagram of timing dynamics and transition logic in an embodiment of the present invention. Detailed Implementation
[0063] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be described in detail below with reference to the accompanying drawings and specific embodiments.
[0064] like Figure 1 As shown, the method for path planning and collision avoidance control in biomimetic robot swarm dance includes the following steps:
[0065] Step S1: Obtain the music beat sequence and establish a dance movement primitive library associated with the normalized time parameters;
[0066] Step S2: Initialize the motion timing angle, motion timing angle change rate, and dance role of each robot in the cluster, and establish a neighbor set based on the communication range;
[0067] Step S3: Each robot updates its own motion timing angle in real time based on the music beat traction term, the neighbor's motion timing angle deviation term, and the damping effect;
[0068] Step S4: Based on the current action timing angle and dance character, index the desired relative displacement from the dance action primitive library, and generate the attraction trajectory point position by combining it with the preset arrangement.
[0069] Step S5: Calculate the asymmetric anti-collision potential energy of the robot relative to each neighbor, and synthesize the anti-collision control force based on the potential energy gradient of all neighbors; wherein, the asymmetric anti-collision potential energy takes effect when the distance between the robot and the neighbor is less than a preset action threshold, and the magnitude of the potential energy is modulated by the projection of the relative velocity of the two robots in the direction of the line connecting them.
[0070] Step S6: Combine the attractive force generated by the attraction trajectory point with the anti-collision control force, and introduce velocity damping to generate the robot's desired acceleration control command.
[0071] Step S7: Continuously evaluate the collision risk value. When the collision risk value exceeds the preset risk threshold, apply a jump to the current action timing angle and temporarily change the dance path to achieve predictive collision avoidance.
[0072] Step S1 specifically includes the following steps:
[0073] Step S1.1: Detect the start point of the music signal to extract the beat time point, and use the time interval between adjacent beat times as the motion primitive generation interval;
[0074] Step S1.2: For each motion primitive, generate a pre-arranged dance spatial displacement within the interval, and fit it with a cubic B-spline curve to obtain a continuous curve of spatial displacement with respect to relative time within the interval.
[0075] Step S1.3: Linearly map the relative time within the interval to the normalized time parameter interval, so that each normalized time parameter value corresponds to a unique expected displacement vector, forming an online indexable dance movement primitive library.
[0076] Perform short-time Fourier transform and start-point detection on the input digital music signal to extract the time sequence of beat occurrences. The specific formula for the global beat timing function is defined as follows:
[0077]
[0078] in, This represents the global beat timing function, outputting angles in radians, representing the accumulated beat phase of the music from the start. Indicates the current system time. This indicates the time when the k-th beat occurs. This indicates the time when the (k+1)th beat occurs. Indicates the beat number, which is an integer starting from 0;
[0079] The global beat timing function linearly expands music time into a continuous, monotonically increasing angle quantity, providing a unified index variable for each dance movement primitive.
[0080] Artificially choreographed dance spatial displacements are divided according to beat intervals, within each movement element generation interval. Within this range, the pre-designed spatial displacement trajectory is fitted using a cubic B-spline curve to obtain a continuous curve of spatial displacement with respect to relative time within the interval. This relative time within the interval is then linearly mapped to a normalized time parameter interval. This ensures that each normalized time parameter value corresponds to a unique expected displacement vector, and saves it as an online indexable dance movement primitive library.
[0081] The cluster consists of N bionic robots, each with a unique identifier. A distributed network is established through wireless communication and communication range. Each robot determines its neighbor set, where neighbors are defined as other robots whose Euclidean distance is less than the communication radius and which can directly exchange information. At least one robot is assigned the role of lead dancer, and the remaining robots are assigned the role of backup dancers. A role offset is assigned to each robot, with the role offset of the lead dancer being 0 and the backup dancers being a preset non-zero constant. The motion timing angle of each robot is initialized to 0, and the motion timing angle change rate is 0.
[0082] In step S3, the real-time update of its own action timing angle adopts a second-order dynamic model, specifically including:
[0083] The acceleration of the action timing angle is equal to the music traction gain coefficient multiplied by the difference between the music beat target timing angle and the current action timing angle, minus the timing damping coefficient multiplied by the action timing angle change rate, plus the weighted sum of the timing angle deviations between the action timing angle and each neighbor in the neighbor set;
[0084] The target timing angle of the music beat is obtained by adding the output value of the global beat timing function to the robot character offset.
[0085] In the second-order dynamic model, the weight values of the weighted sum are determined as follows: the weight value is equal to the sum of the maximum coupling strength divided by 1 and the natural exponential function value, where the exponent of the natural exponential function value is the Euclidean distance between robots minus the preset critical distance divided by the smoothing transition parameter, so that the weight value approaches zero when the Euclidean distance is greater than the preset critical distance.
[0086] The robot's motion timing angles are updated in real time according to a second-order dynamics model, with the specific formula as follows:
[0087]
[0088] in, Let represent the angular acceleration of robot i during its action, and the two points represent the second derivative with respect to time. This represents the music pull gain coefficient, with a value ranging from 0.5 to 5.0 s. -2 The phase needs to converge within 0.5 to 2 beats. This represents the role offset of robot i. This represents the current action timing angle of robot i. This represents the time-series damping coefficient, with a value ranging from 1.0 to 10.0 s. -1 It can quickly track the beat without overshoot while suppressing oscillation. The first derivative represents the rate of change of the timing angle of robot i's actions. Let i represent the set of neighbors of robot i. Indicates the neighbor robot index. Indicates the timing angle of the action of neighbor j. Represents the distance-related coupling weights. This represents the Euclidean distance between robot i and its neighbor j;
[0089] The coupling weights employ an S-shaped decay function that mimics the biological visual attention range, with the specific formula as follows:
[0090]
[0091] in, This represents the maximum coupling strength, ranging from 0.1 to 1.0. Neighbor coupling should be weaker than musical pull to avoid disrupting overall beat synchronization. This represents the critical distance, typically taken as 2 to 3 times the absolute safety radius. This represents the smooth transition parameter, which is taken as 0.1 to 0.3 times the critical distance to ensure that the weight decreases smoothly near the critical distance. The smaller the value, the steeper the weight decays with distance. When the Euclidean distance is greater than the critical distance, the weight value approaches zero, so that the robot only coordinates the action sequence with its nearest neighbors.
[0092] Based on the robot's real-time motion timing angles, the desired dance displacement vector is obtained from the dance motion primitive library through linear interpolation. Combined with the formation, the position of the attraction trajectory point is calculated. The specific formula is as follows:
[0093]
[0094] in, This represents the position vector of the attraction trajectory point of robot i. This represents the position vector of the stage space reference origin. Let represent the fixed offset vector of robot i in the formation. This represents the dance displacement vector extracted from the primitive library by the action timing angle.
[0095] Step S5 specifically includes the following steps:
[0096] Step S5.1: Determine whether the Euclidean distance between the robot and its neighbor is less than a preset action threshold. If the Euclidean distance is not less than the preset action threshold, then the potential energy of the neighbor is zero.
[0097] Step S5.2: For neighbors whose Euclidean distance is less than the preset action threshold, calculate the basic repulsive potential energy. The basic repulsive potential energy is equal to the potential energy intensity coefficient divided by the difference between the Euclidean distance and the absolute safety radius.
[0098] Step S5.3: Calculate the asymmetric modulation factor, which is 1 plus the asymmetric influence coefficient multiplied by the ratio of the projection of the relative velocity line direction to the relative velocity magnitude plus a small constant to prevent zero. The projection of the relative velocity line direction is the dot product of the relative velocity vector of the two robots and the unit direction vector from the robot to the neighbor.
[0099] Step S5.4: Multiply the basic repulsive potential energy by the asymmetric modulation factor to obtain the asymmetric anti-collision potential energy corresponding to the neighbor.
[0100] Step S5.5: Calculate the spatial gradient of the asymmetric anti-collision potential energy of all neighbors and take the opposite direction, and superimpose them to obtain the current anti-collision control force of the robot.
[0101] Define the asymmetric collision avoidance potential energy of robot i relative to its neighbor j, with the following formula:
[0102]
[0103] in, This represents the asymmetric collision avoidance potential energy between robot i and its neighbor j. This represents the potential energy intensity coefficient, typically taken as 0.5~5.0 J·m. This represents the Euclidean distance between robot i and its neighbor j. This represents the absolute safety radius, taken as the robot's physical radius + 0.1~0.3m. This represents the preset effective threshold, which is 3 to 5 times the absolute safety radius. This represents the asymmetric influence coefficient, with a value range of [0.5, 0.9]. Let i and j represent the velocity vectors of robots i and j, respectively. This represents the unit direction vector from robot i to neighbor j. This represents the magnitude of the relative velocity vector. Represents a small constant that prevents zero. This is the asymmetric modulation factor. When the robot approaches its neighbor, the projection is positive, the overall potential energy increases, and a stronger repulsion is generated; when the robot moves away from its neighbor, the projection is negative, the potential energy decreases, and unnecessary braking or retreating is avoided.
[0104] Based on asymmetric collision avoidance potential energy, the collision avoidance control force acting on the robot is calculated, which is the sum of the negative gradients of the potential energy generated by all neighbors relative to the robot's current position. The specific formula is as follows:
[0105]
[0106] in, This represents the three-dimensional vector of the collision avoidance control force of robot i. Represents potential energy The current position vector of robot i The spatial gradient is a three-dimensional vector. The direction of the gradient is the direction in which the potential energy increases the fastest. When the gradient is negative, the direction of the force points to the direction in which the potential energy decreases the fastest, even if the robot is far away from its neighbors.
[0107] By combining the attraction that draws the robot to the choreographed path, the collision avoidance control force to eliminate the risk of collisions, and the velocity damping to ensure smooth motion, the desired acceleration vector of robot i in Cartesian space is generated as the reference input of the underlying motion controller. The specific formula is as follows:
[0108]
[0109] in, Let i represent the desired acceleration vector of robot i. This represents the attraction gain, typically ranging from 2.0 to 8.0 seconds. -2 The larger the value, the stronger the restoring force when the robot is pulled towards the attraction trajectory point. This represents the position vector of the attraction trajectory point in step S4. Let represent the current position vector of robot i. Indicates the quality of the robot. This represents the velocity damping coefficient, typically taken as 4.0~15.0s. -1 , This represents the current actual velocity vector of robot i;
[0110] The underlying trajectory tracking controller receives in each control cycle This is converted into driving torque / speed commands for each joint or wheel, thereby controlling the robot to actually execute the desired acceleration.
[0111] In step S7, the collision risk value is calculated according to the following process:
[0112] For each of the robot's current neighbors, calculate the relative approach rate, which is the negative value of the relative velocity projected in the direction of the line connecting them;
[0113] The prediction approximation risk factor is calculated by dividing the relative approach rate by the preset reference rate; if the result is negative, it is taken as zero.
[0114] The distance decay index is calculated by multiplying the distance decay coefficient by the negative value of the Euclidean distance using the natural exponential function.
[0115] The action timing difference factor is calculated as a positive constant plus the absolute value of the difference between the robot's action timing angle and the neighbor's action timing angle.
[0116] Divide the distance decay index value by the action timing difference factor, and then multiply it by the prediction approximation risk factor to obtain the risk component corresponding to the neighbor.
[0117] The maximum value among all neighbor risk components is taken as the collision risk value.
[0118] In step S7, the method of applying the jump to the current action timing angle is as follows:
[0119] A jump increment is added to the current action timing angle. The absolute value of the jump increment is a preset jump amplitude value, and the sign of the jump increment is the same as the sign of the action timing angle change rate. After the jump, the action timing angle, under the action of the second-order dynamic model in step S3, converges back to the target timing angle of the music beat within a preset number of music beat cycles.
[0120] Even with real-time repulsion from asymmetric potential fields, there may still be issues of insufficient or delayed repulsion force when there are dense interweavings in complex dance choreography. To address this, a predictive temporal jump mechanism is introduced to continuously assess collision risks. When the risk exceeds a threshold, the timing angle of the movements is actively and briefly changed to switch dance segments to avoid collisions.
[0121] In each control cycle, a risk component is calculated for each of the robot's neighbors, and a relative proximity rate is defined using the following formula:
[0122]
[0123] in, Indicates the relative proximity rate;
[0124] Normalizing the relative approach rate by dividing it by a preset reference rate yields the predicted approximation risk factor, as shown in the following formula:
[0125]
[0126] in, This indicates that the forecast is approaching a risk factor; the higher the value, the more dangerous the current trend. This indicates a preset reference speed, typically on the order of the robot's normal dance movement speed.
[0127] Simultaneously calculate the distance decay index and the action timing difference factor, using the following formula:
[0128]
[0129] in, This represents the distance decay exponent value. This represents the distance attenuation coefficient, typically ranging from 0.5 to 2.0 meters. -1 This reduces the risk to approximately 0.6~0.14 for every 1 meter increase in distance. Indicates the action sequence difference factor. This represents a positive constant, ranging from 0.1 to 0.5, to prevent the denominator from being zero when the timing is fully synchronized and to control the amplification factor of synchronization risk;
[0130] The risk components corresponding to the neighbors are obtained, and the maximum value among all neighbor risk components is taken as the collision risk value. The specific formula is as follows:
[0131]
[0132] in, This represents the risk component posed by neighbor j to robot i. This represents the current collision risk value of robot i, which is dimensionless. The higher the value, the greater the urgency of colliding with at least one neighbor.
[0133] when When the preset risk threshold is exceeded, an action timing angle jump is triggered, and the specific formula is as follows:
[0134]
[0135] in, This indicates the preset jump amplitude value, typically ranging from π / 12 to π / 6. Indicates the sign function and extracts the rate of change of the action timing angle. The sign of the jump ensures that the direction of the jump is consistent with the current time sequence evolution direction, avoiding abrupt reversals of the action. The preset risk threshold is set to 0.5~1.5, which is calibrated through experiments to balance collision avoidance sensitivity and false trigger rate.
[0136] After the jump, In an instant, the robot's query of the dance displacement vector is transformed into another dance segment, and the spatial path temporarily deviates from the original formation, thereby actively avoiding the impending collision;
[0137] After the transition ends, the robot's motion timing angle, guided by the second-order dynamics model and influenced by the music beat traction term and the neighbor coupling term, will smoothly reconverge to the music beat target timing angle within a preset number of music beat cycles, restoring synchronization with the overall dance and ensuring that the brief avoidance does not affect the overall artistic expression.
[0138] like Figure 2 As shown, a biomimetic robot swarm dance path planning and collision avoidance control system is used to implement any of the biomimetic robot swarm dance path planning and collision avoidance control methods, including:
[0139] The beat awareness and primitive library module is used to acquire music beat sequences and build a dance movement primitive library indexed by normalized time parameters.
[0140] The timing coordination module is used to update the timing angle of each robot's motion in real time using a second-order dynamics model based on music beat traction, neighboring action timing angle deviation, and damping effect.
[0141] The trajectory generation module is used to calculate the position of the attraction trajectory point based on the action timing angle and the dance action primitive library, combined with the preset arrangement;
[0142] The asymmetric potential field collision avoidance module is used to calculate the asymmetric collision avoidance potential energy of each robot relative to its neighbors, and to calculate the spatial gradient of the potential energy to synthesize the collision avoidance control force.
[0143] The timing jump monitoring module is used to continuously evaluate the collision risk value. When the collision risk value exceeds the preset risk threshold, a jump increment is applied to the current action timing angle.
[0144] The motion control synthesis module is used to synthesize the attractive force generated by the attraction trajectory point position with the anti-collision control force, and introduce velocity damping to generate the robot's desired acceleration control command.
[0145] The asymmetric potential field collision avoidance module includes:
[0146] The proximity filtering unit is used to filter out neighbors whose Euclidean distance to the current robot is less than a preset threshold.
[0147] The basic potential energy calculation unit is used to calculate the basic repulsive potential energy based on the Euclidean distance and the preset absolute safety radius.
[0148] The modulation factor calculation unit is used to calculate the asymmetric modulation factor based on the projection of the relative velocity of the two robots in the direction of the line connecting them, the magnitude of the relative velocity, and the preset asymmetric influence coefficient.
[0149] Potential energy synthesis and gradient unit are used to calculate the spatial gradient of the current robot position, obtain the corresponding anti-collision force component, and superimpose the anti-collision force components of all neighbors to output the anti-collision control force.
[0150] The timing jump monitoring module includes:
[0151] The risk component calculation unit is used to calculate the risk component corresponding to each of the current robot's neighbors.
[0152] The maximum risk selection unit is used to select the maximum value from the risk components corresponding to all neighbors as the collision risk value of the current robot.
[0153] The threshold comparison and jump trigger unit is used to compare the collision risk value with a preset risk threshold. When the collision risk value exceeds the preset risk threshold, a jump trigger signal is output.
[0154] The timing jump execution unit is used to add a jump increment to the current action timing angle after receiving the jump trigger signal.
[0155] like Figure 3As shown, the robot's motion timing angle is continuously updated by a second-order dynamics model. The music traction term pulls the robot towards the beat target, the neighbor coupling term coordinates the movements of neighboring robots, and the damping term suppresses oscillations, ultimately outputting a stable real-time motion timing angle that follows the music. The timing angle is simultaneously sent to the trajectory generation module and the jump supervision module. The jump supervision module continuously calculates the collision risk value, triggering a jump when the risk value corresponding to any neighbor exceeds a preset threshold. Upon jump, due to the abrupt change in timing angle, the dance displacement vector indexed by the trajectory generation module changes accordingly, and the robot's spatial path temporarily deviates from the original choreography to avoid collisions. The timing angle after the jump is sent back to the dynamics model of the timing coordination module. The music traction and damping terms within the model then take effect, smoothly pulling the timing angle back to the music beat target, restoring normal dance synchronization.
[0156] The collision avoidance control is divided into two levels, ensuring that in most cases only minor adjustments are made to the robot's spatial movement without affecting the content of the dance movements it is performing;
[0157] The first level continuously fine-tunes the asymmetric anti-collision potential field. When the distance between the robot and its neighbor decreases and the robot enters the range of the potential field but the collision risk has not yet reached the jump threshold, the calculated asymmetric anti-collision control force will continue to act on the robot. In motion control synthesis, the repulsive force and the attractive force of the dance path are vector-superimposed, causing the robot's actual motion trajectory to deviate slightly from the original attraction trajectory point, thereby increasing the distance between the robot and its neighbor in space. At this time, the robot's action timing angle has not changed, and the dance displacement vector indexed from the primitive library remains unchanged. The robot is still performing the same dance action, only the motion amplitude or spatial position of the action is smoothly adjusted.
[0158] The second level switches action segments by changing the action timing. Only when the neighbor is very close and the relative approach rate is fast, causing the collision risk value to exceed the preset risk threshold, will the system determine that continuous fine-tuning is not enough to avoid the collision. At this time, the action timing angle will be changed, and different dance displacement vectors will be temporarily indexed from the primitive library to switch dance action segments to achieve avoidance.
[0159] This application achieves the design goal of prioritizing collision avoidance by adjusting the amplitude of movement, and only changing the dance movement itself when necessary, through the combination of continuous fine-tuning of the potential field and timing jump switching.
[0160] The examples described herein are merely preferred embodiments of the invention and are not intended to limit the concept and scope of the invention. Any modifications and improvements made by those skilled in the art to the technical solutions of the invention without departing from the design concept of the invention should fall within the protection scope of the invention.
Claims
1. A method for path planning and collision avoidance control in biomimetic robot swarm dance, characterized in that, Includes the following steps: Step S1: Obtain the music beat sequence and establish a dance movement primitive library associated with the normalized time parameters; Step S2: Initialize the motion timing angle, motion timing angle change rate, and dance role of each robot in the cluster, and establish a neighbor set based on the communication range; Step S3: Each robot updates its own motion timing angle in real time based on the music beat traction term, the neighbor's motion timing angle deviation term, and the damping effect; Step S4: Based on the current action timing angle and dance character, index the desired relative displacement from the dance action primitive library, and generate the attraction trajectory point position by combining it with the preset arrangement. Step S5: Calculate the asymmetric anti-collision potential energy of the robot relative to each neighbor, and synthesize the anti-collision control force based on the potential energy gradient of all neighbors; wherein, the asymmetric anti-collision potential energy takes effect when the distance between the robot and the neighbor is less than a preset action threshold, and the magnitude of the potential energy is modulated by the projection of the relative velocity of the two robots in the direction of the line connecting them. Step S6: Combine the attractive force generated by the attraction trajectory point with the anti-collision control force, and introduce velocity damping to generate the robot's desired acceleration control command. Step S7: Continuously evaluate the collision risk value. When the collision risk value exceeds the preset risk threshold, apply a jump to the current action timing angle and temporarily change the dance path to achieve predictive collision avoidance. Specifically, step S5 includes the following steps: Step S5.1: Determine whether the Euclidean distance between the robot and its neighbor is less than a preset action threshold. If the Euclidean distance is not less than the preset action threshold, then the potential energy of the neighbor is zero. Step S5.2: For neighbors whose Euclidean distance is less than the preset action threshold, calculate the basic repulsive potential energy. The basic repulsive potential energy is equal to the potential energy intensity coefficient divided by the difference between the Euclidean distance and the absolute safety radius. Step S5.3: Calculate the asymmetric modulation factor, which is 1 plus the asymmetric influence coefficient multiplied by the ratio of the projection of the relative velocity line direction to the relative velocity magnitude plus a small constant to prevent zero. The projection of the relative velocity line direction is the dot product of the relative velocity vector of the two robots and the unit direction vector from the robot to the neighbor. Step S5.4: Multiply the basic repulsive potential energy by the asymmetric modulation factor to obtain the asymmetric anti-collision potential energy corresponding to the neighbor. Step S5.5: Calculate the spatial gradient of the asymmetric anti-collision potential energy of all neighbors and take the opposite direction, and superimpose them to obtain the current anti-collision control force of the robot.
2. The method according to claim 1, characterized in that, Step S1 specifically includes the following steps: Step S1.1: Detect the start point of the music signal to extract the beat time point, and use the time interval between adjacent beat times as the motion primitive generation interval; Step S1.2: For each motion primitive, generate a pre-arranged dance spatial displacement within the interval, and fit it with a cubic B-spline curve to obtain a continuous curve of spatial displacement with respect to relative time within the interval. Step S1.3: Linearly map the relative time within the interval to the normalized time parameter interval, so that each normalized time parameter value corresponds to a unique expected displacement vector, forming an online indexable dance movement primitive library.
3. The method according to claim 2, characterized in that, In step S3, the real-time update of its own action timing angle adopts a second-order dynamic model, specifically including: The acceleration of the action timing angle is equal to the music traction gain coefficient multiplied by the difference between the music beat target timing angle and the current action timing angle, minus the timing damping coefficient multiplied by the action timing angle change rate, plus the weighted sum of the timing angle deviations between the action timing angle and each neighbor in the neighbor set; The target timing angle of the music beat is obtained by adding the output value of the global beat timing function to the robot character offset.
4. The method according to claim 3, characterized in that, In the second-order dynamic model, the weight values of the weighted sum are determined as follows: the weight value is equal to the sum of the maximum coupling strength divided by 1 and the natural exponential function value, where the exponent of the natural exponential function value is the Euclidean distance between robots minus the preset critical distance divided by the smoothing transition parameter, so that the weight value approaches zero when the Euclidean distance is greater than the preset critical distance.
5. The method according to claim 4, characterized in that, In step S7, the collision risk value is calculated according to the following process: For each of the robot's current neighbors, calculate the relative approach rate, which is the negative value of the relative velocity projected in the direction of the line connecting them; The prediction approximation risk factor is calculated by dividing the relative approach rate by the preset reference rate; if the result is negative, it is taken as zero. The distance decay index is calculated by multiplying the distance decay coefficient by the negative value of the Euclidean distance using the natural exponential function. The action timing difference factor is calculated as a positive constant plus the absolute value of the difference between the robot's action timing angle and the neighbor's action timing angle. Divide the distance decay index value by the action timing difference factor, and then multiply it by the prediction approximation risk factor to obtain the risk component corresponding to the neighbor. The maximum value among all neighbor risk components is taken as the collision risk value.
6. The method according to claim 5, characterized in that, In step S7, the method of applying the jump to the current action timing angle is as follows: A jump increment is added to the current action timing angle. The absolute value of the jump increment is a preset jump amplitude value, and the sign of the jump increment is the same as the sign of the action timing angle change rate. After the jump, the action timing angle, under the action of the second-order dynamic model in step S3, converges back to the target timing angle of the music beat within a preset number of music beat cycles.
7. A biomimetic robot swarm dance path planning and collision avoidance control system, used to implement the biomimetic robot swarm dance path planning and collision avoidance control method as described in any one of claims 1-6, characterized in that, include: The beat awareness and primitive library module is used to acquire music beat sequences and build a dance movement primitive library indexed by normalized time parameters. The timing coordination module is used to update the timing angle of each robot's motion in real time using a second-order dynamics model based on music beat traction, neighboring action timing angle deviation, and damping effect. The trajectory generation module is used to calculate the position of the attraction trajectory point based on the action timing angle and the dance action primitive library, combined with the preset arrangement; The asymmetric potential field collision avoidance module is used to calculate the asymmetric collision avoidance potential energy of each robot relative to its neighbors, and to calculate the spatial gradient of the potential energy to synthesize the collision avoidance control force. The timing jump monitoring module is used to continuously evaluate the collision risk value. When the collision risk value exceeds the preset risk threshold, a jump increment is applied to the current action timing angle. The motion control synthesis module is used to synthesize the attractive force generated by the attraction trajectory point position with the anti-collision control force, and introduce velocity damping to generate the robot's desired acceleration control command.
8. The system according to claim 7, characterized in that, The asymmetric potential field collision avoidance module includes: The nearest neighbor filtering unit is used to filter out neighbors whose Euclidean distance to the current robot is less than a preset threshold. The basic potential energy calculation unit is used to calculate the basic repulsive potential energy based on the Euclidean distance and the preset absolute safety radius. The modulation factor calculation unit is used to calculate the asymmetric modulation factor based on the projection of the relative velocity of the two robots in the direction of the line connecting them, the magnitude of the relative velocity, and the preset asymmetric influence coefficient. Potential energy synthesis and gradient unit are used to calculate the spatial gradient of the current robot position, obtain the corresponding anti-collision force component, and superimpose the anti-collision force components of all neighbors to output the anti-collision control force.
9. The system according to claim 8, characterized in that, The timing jump monitoring module includes: The risk component calculation unit is used to calculate the risk component corresponding to each of the current robot's neighbors. The maximum risk selection unit is used to select the maximum value from the risk components corresponding to all neighbors as the collision risk value of the current robot. The threshold comparison and jump trigger unit is used to compare the collision risk value with a preset risk threshold. When the collision risk value exceeds the preset risk threshold, a jump trigger signal is output. The timing jump execution unit is used to add a jump increment to the current action timing angle after receiving the jump trigger signal.
Citation Information
Patent Citations
Path navigation method for large-scale virtual crowd
CN101739509A
System and method for controlling dance of robot
CN105773612A