Virtual group motion control method and device based on user motion perception
By combining the ORCA model and the improved social force model, the optimal collision avoidance speed of the agent is calculated and the interaction force of the user avatar is introduced, the limitations of the virtual group's collision avoidance strategy in the motion interaction between real users and virtual groups are solved, and more realistic and natural motion interaction is achieved and user experience is improved.
Patent Information
- Application Number
- CN202411560877.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-29
- Filing Date
- 2024-11-04
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-11-04
AI Technical Summary
In the prior art, when simulating the motion interaction between real users and virtual groups, collision avoidance strategies have limitations, and it is difficult to achieve real and natural motion interaction.
The virtual group motion control method of user motion perception is adopted, combined with the ORCA model and the improved social force model, the optimal collision avoidance speed of the agent is calculated, and the speed of the agent is updated through the interaction force of the user avatar on the agent to achieve more realistic motion interaction.
By introducing the interactive force of the user avatar, the authenticity and user experience of Agent-Avatar motion interaction are optimized, effectively reducing the frequency and severity of collision events.
Smart Images

Figure CN119511760A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of virtual group simulation, and in particular to a virtual group motion control method and device based on user avatar motion perception. Background Art
[0002] Virtual groups play a vital role in movies, games, digital twins and other fields. How virtual groups can respond reasonably to users' unpredictable actions in real time and effectively is a major challenge currently faced. Among the virtual simulation micro-model methods, speed-based methods and force-based methods are the most widely used and studied. Speed-based methods, such as RVO and ORCA, focus on the collision avoidance problem during the movement of virtual groups. They have low requirements for the "human-like" nature of virtual groups and cannot fully reflect the differences and connections between individuals. Force-based methods represented by social force models can better reflect individual characteristics and are suitable for simulating the dynamics of people with social relationships. The above methods can effectively simulate the dynamics of people in real scenes through the motion interaction between virtual groups, but there are still certain limitations in reflecting the motion interaction between real users and virtual groups.
[0003] In the motion interaction between real users and virtual groups, effective collision avoidance strategies are particularly important. Recent studies have shown that collision avoidance behavior is an important factor in improving the social presence of virtual characters and the quality of user experience. The collision avoidance behavior of virtual groups can enhance their realism and liveliness, while also attracting users' attention and causing their reactions. However, current research mainly focuses on the impact of different attribute settings of virtual groups on user experience, and there is little research on motion control methods for virtual groups that interact with real users. Summary of the invention
[0004] The present invention provides a user motion-aware virtual group motion control method and device, aiming to provide more realistic and natural motion interaction between user avatars and virtual agents, and between agents in a virtual scene, so as to solve the technical problems existing in the above-mentioned background technology.
[0005] In one aspect, the present invention provides a virtual group motion control method based on user avatar motion perception, comprising:
[0006] Step 1, obtaining the current motion data of the user avatar and the virtual group, wherein the virtual group is an intelligent body;
[0007] Step 2: Based on the ORCA model, calculate the optimal mutual collision avoidance speed set of the intelligent agents;
[0008] Step 3: Based on the improved social force model, calculate the interaction force of the user avatar on the intelligent agent, and update the optimal speed of the intelligent agent accordingly;
[0009] Step 4: Make a speed decision for the agent to obtain the optimal collision avoidance speed of the agent;
[0010] Step 5: Use the optimal collision avoidance speed of the agent to control the movement of the agent at the next moment.
[0011] Furthermore, the motion data obtained in step 1 includes the current position and speed information of the user avatar, the agent, and the neighboring agents.
[0012] Furthermore, the optimal mutual collision avoidance speed set of the agents in step 2 includes the optimal mutual collision avoidance speed set of the agents in the interactive motion between agents and the optimal mutual collision avoidance speed set of the agents in the interactive motion between agents and user avatars.
[0013] More specifically, based on the ORCA model, for the interactive motion between agents, the following formula is used to calculate the optimal mutual collision avoidance speed set of agents:
[0014]
[0015] Among them, i represents the agent i ; j represents the neighbor agent j ; Indicates the Agent within τ time i For Agent j The optimal mutual collision avoidance speed set; Represents Agent i The optimal speed; u represents Starting point, pointing to The vector of the point closest to the boundary; n represents On the border is the starting point and the normal pointing outside the boundary; Represents Agent j The optimal speed; Indicates that the Agent j Agent i speed barrier.
[0016] For the interactive motion between the agent and the user avatar, the user avatar is regarded as a neighbor agent. It is assumed that the user avatar maintains the current speed within the time τ, and the current speed is considered to be the optimal speed. The optimal mutual collision avoidance speed set of the agents is calculated using the following formula:
[0017]
[0018] Among them, i represents the agent i ; a represents the user avatar Avatar; Represents the agent within τ time i The optimal mutual collision avoidance speed set for user avatars; Represents Agent i The optimal speed; u represents Starting point, pointing to The vector of the point closest to the boundary; n represents On the border is the starting point and the normal pointing outside the boundary; v a Indicates the current speed and optimal speed of the Avatar; Represents the Agent caused by Avatar within τ time i speed barrier.
[0019] Furthermore, in step 3, based on the improved social force model, the specific formula for calculating the interaction force of the user avatar on the intelligent agent is:
[0020] f ia =f v ·t ia +f θ ·n ia
[0021] Among them, f ia represents the interaction force of the user avatar on the agent; f v represents f ia In t ia The change in speed in the direction is expressed as f θ represents f ia In n ia The change in speed in the direction is expressed as t ia It is the combination of the mutual motion direction of the agent and the user avatar and their relative positions, expressed as n ia Indicates t ia The normal direction of v i represents the speed of the agent; v a Indicates the speed of the user's avatar; e ia is the position P of the agent i Point to the position P of the user's avatar a The unit vector of d represents the distance between the agent and the user avatar; θ represents the vector t ia With e ia The angle between B=γ·||λ·(v i -v a )+e ia ||; A, n, n′, γ, λ are all interaction force parameters in the improved social force model.
[0022] More specifically, the specific method for updating the optimal speed of the agent according to the interaction force in step 3 is:
[0023]
[0024] in, Represents the agent i The optimal speed of i Represents the agent i The acceleration obtained by the interaction force of the user's avatar is numerically a i =f ia ; Δt represents the speed decision time interval.
[0025] Furthermore, in step 4, the speed decision is made to obtain the optimal collision avoidance speed of the agent:
[0026] Step a.1, solving the intersection of the optimal mutual collision avoidance speed set of the agent for the neighbor agent and the optimal mutual collision avoidance speed set of the agent for the user avatar;
[0027] Step a.2, through linear programming, select the speed closest to the optimal speed of the intelligent agent in the intersection of the optimal mutual collision avoidance speed sets of the intelligent agents as the optimal collision avoidance speed of the intelligent agent.
[0028] Furthermore, a multi-objective particle swarm optimization algorithm is used to tune and calibrate the interaction force parameters A, n, n′, γ, and λ. The tuned calibration values of A, n, n′, γ, and λ are used to calculate the interaction force of the user avatar on the intelligent agent, and the optimal speed of the intelligent agent is updated.
[0029] Furthermore, the specific method of using the multi-objective particle swarm optimization algorithm to tune and calibrate the interaction force parameters A, n, n′, γ, and λ is as follows:
[0030] Step b.1, set the target scenario and evaluation indicators for the user avatar interactive movement.
[0031] Specifically, the evaluation indicators include the average number of collisions between the agent and the user's avatar, and the average collision depth between the agent and the user's avatar.
[0032] Step b.2, using the interaction force parameters A, n, n′, γ, λ as decision variables and the evaluation index as the objective function, setting the experimental parameters of the multi-objective particle swarm optimization algorithm.
[0033] Specifically, the experimental parameters of the multi-objective particle swarm optimization algorithm include the decision space dimension, the decision variable search range, the target space dimension, the particle swarm size, the maximum warehouse size, and the maximum number of iterations.
[0034] Step b.3, set the virtual group simulation experiment parameters.
[0035] Specifically, the virtual group simulation experiment parameters include agent radius, perceived neighbor range, expected rate, movement speed and path of user avatars.
[0036] Step b.4, conduct a virtual swarm simulation experiment through the aforementioned method, complete the evaluation of the particles in the particle swarm algorithm, and obtain the calibration values of the optimized interaction force parameters A, n, n′, γ, λ.
[0037] In another aspect, the present invention provides a virtual group motion control device for user motion perception, comprising:
[0038] Motion data module: used to obtain the current motion data of the user's avatar and agent;
[0039] ORCA motion control module, used to calculate the optimal mutual collision avoidance speed set of intelligent agents based on the ORCA model;
[0040] The motion perception control module is used to calculate the interaction force of the user avatar on the intelligent body based on the improved social force model, and update the optimal speed of the intelligent body accordingly;
[0041] The speed decision module is used to make speed decisions for the intelligent agent, obtain the optimal collision avoidance speed of the intelligent agent, and use this speed to control the movement of the intelligent agent at the next moment.
[0042] By adopting the above technical solution, the present invention has the following beneficial effects:
[0043] The ORCA model can well simulate the collision avoidance behavior of crowd movement, and the social force model can simulate the group phenomenon and movement law in the crowd. Based on these two classic models, the present invention proposes a virtual group motion control method based on speed perception of real user behavior. On the basis of ORCA, with reference to the improved social force model, the interaction force of Avatar on Agent is introduced between Agent-Avatar where collision may occur. By introducing this force, not only can Avatar and Agent be distinguished in motion interaction, but also the relevant parameters of the interaction force can be optimized and adjusted, so that the virtual group can present different Agent-Avatar motion interaction characteristics, which is more in line with the Agent-Avatar motion interaction mode set by the interaction force. Through a series of comparative experiments, it is verified that in environments of different densities and facing different real user behaviors, compared with the traditional crowd simulation method, the virtual group controlled by the technical solution of the present invention can effectively reduce the frequency of collision events and reduce the severity of collisions, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0045] Figure 1 A schematic diagram of a UAMP virtual crowd simulation model framework using the motion control method provided by an embodiment of the present invention;
[0046] Figure 2 A flow chart of a user motion-aware virtual group motion control method provided by an embodiment of the present invention;
[0047] Figure 3 A schematic diagram of a scene of interlaced motion of Agent and Avatar provided by an embodiment of the present invention;
[0048] Figure 4 A schematic diagram of an ORCA half-plane for Agent-Agent interaction provided in an embodiment of the present invention;
[0049] Figure 5 A schematic diagram of an ORCA half-plane for interaction between an Agent and an Avatar provided in an embodiment of the present invention;
[0050] Figure 6 A schematic diagram of the interaction force between an Avatar and adjacent Agents provided in an embodiment of the present invention;
[0051] Figure 7 The three motion interaction directions of Agent-Avatar for optimizing interaction force parameters provided by the embodiment of the present invention;
[0052] Figure 8 The distribution of agents with different densities in the different density comparison experiment scenario provided by the embodiment of the present invention;
[0053] Fig. 9 The Agent-Avatar motion interaction trajectories generated by two user behaviors in the different user behavior comparison experiment scenario provided by the embodiment of the present invention. DETAILED DESCRIPTION
[0054] The technical solution of the present invention will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0055] The present invention is further explained below in conjunction with specific implementation modes.
[0056] In order to facilitate overall understanding, the technical solution of the present invention can correspond to a virtual group simulation model - UAMP (User Avatar Motion Perception) model, which includes two types of motion subjects and the virtual group motion control method provided by the present invention. The two types of motion subjects are multiple agents that constitute the virtual group and a single avatar of the user in the simulation scene. The UAMP model controls the virtual group to achieve good Agent-Agent and Agent-Avatar motion interaction during the simulation process through the virtual group motion control method of user avatar motion perception.
[0057] The UAMP model is suitable for virtual group simulation with user participation. At any time, the movement of the Avatar is controlled in real time by user input, which is highly random and unpredictable, and the movement of the Avatar is objectively not affected by the movement of the Agent. In this case, to achieve good Agent-Avatar movement interaction, it mainly depends on the virtual group movement control method to control the Agent in the group to produce a reasonable and real-time response to the movement of the Avatar. The virtual group movement control method calculates the speed of each Agent at the next moment based on the movement state (speed, position, etc.) of the Avatar and Agent in the current scene, so as to determine how the Agent in the simulation scene responds to environmental changes, how to interact with other Agents and Avatars, and how to move according to specific goals or rules.
[0058] Figure 1 The model framework of UAMP is shown. For time t in the simulation, the position of Avatar is defined as P a (t), whose speed v a (t) is determined by the user input at time t. In the virtual group, define Agent i The position is P i (t), with a velocity of v i (t), Agent i The location set of nearby neighbor agents is defined as {P j (t),P k (t),...}, the velocity set is defined as {v j (t),v k (t),...}. The states (speed, position, neighbors, etc.) of the Avatar and all Agents in the scene at time t are used as the input of the UAMP model; i , the model is based on the Agent at time t i The speed and position of the neighboring Agent and Avatar are calculated. i The corresponding collision avoidance speed set and Agent-Avatar interaction force finally obtain the optimal collision avoidance speed as the output of the UAMP model. Therefore, at time t+1, the Avatar moves at a speed v a (t) Move to P a (t+1), and continue to receive user input to obtain the speed v at time t+1 a (t+1); At the same time, Agent i At speed v i (t) Move to position P i (t+1), the optimal collision avoidance speed output by the UAMP model is taken as the speed v at time t+1 i(t+1).
[0059] The key problem in implementing the method of the present invention is to obtain the motion data of the intelligent body at the next moment from the input data at the current moment, including the motion data of the intelligent body and the user avatar, through the virtual group motion control method of the user avatar motion perception provided by the present invention. Figure 2 As shown, the specific process of the virtual group motion control method based on user avatar motion perception provided by the present invention includes the following steps:
[0060] Step 1, obtaining the current motion data of the user avatar and the virtual group, wherein the virtual group is an intelligent body.
[0061] In this embodiment, the motion data of the user avatar at the current moment includes the position and speed information of the user avatar. The user (User) issues motion instructions to the user avatar (Avatar) through input devices such as keyboard, mouse, VR handle, etc., controls its movement in the virtual simulation environment, and interacts with one or more agents (Agents) in the virtual group. The movement of the Avatar is limited by the input device and the interactive program in terms of action selection (such as only being able to move in four directions, up, down, left, and right, etc.), but the movement rules are not controlled by the algorithm program. The user's input at each moment determines the movement of the Avatar at that moment, so the movement of the Avatar is perceptible but unpredictable to the computer.
[0062] The motion data of the agent includes the position and speed information of the agent and the position and speed information of other agents in the virtual environment. In the virtual simulation environment, it is necessary to calculate the speed of each agent at the next moment according to the motion state (speed, position, etc.) of the Avatar and the Agent in the current scene, so as to determine how the Agent in the simulation scene responds to environmental changes, how to interact with other Agents and Avatars, and how to move according to specific goals or rules.
[0063] Step 2: Based on the ORCA model, calculate the optimal mutual collision avoidance speed set of the intelligent agents.
[0064] In this embodiment, the optimal mutual collision avoidance speed set of the intelligent agents includes the optimal mutual collision avoidance speed set of the intelligent agents in the interactive movement between intelligent agents and the optimal mutual collision avoidance speed set of the intelligent agents in the interactive movement between intelligent agents and user avatars.
[0065] Referring to ORCA's speed update strategy, we calculate the collision avoidance speed set of the Agent, and consider the Agent-Agent and Agent-Avatar motion interactions respectively. At time t, the scene of the interlaced motion of the Agent and the Avatar is as follows Figure 3As shown, where r is the radius, v is the velocity, and P is the position.
[0066] More specifically, based on the ORCA model, the optimal mutual collision avoidance speed set of agents in the interactive motion between agents is calculated. i For example, calculate the Agent at time t i The collision-free velocity set of Agent is calculated according to formula (1): i For neighbor agents j The optimal mutual collision avoidance speed set
[0067]
[0068] Among them, i represents the agent i ; j represents the neighbor agent j ; Indicates the Agent within τ time i For Agent j The optimal mutual collision avoidance speed set; Represents Agent i The optimal speed; u represents Starting point, pointing to The vector of the point closest to the boundary; n represents On the border is the starting point and the normal pointing outside the boundary; Represents Agent j The optimal speed; Indicates that the Agent j Agent i speed barrier.
[0069] Similarly, we can conclude that Agent j For Agent i The optimal collision avoidance speed set Figure 4 A schematic diagram of the ORCA half-plane showing the interaction between agent and agent motion. The resulting velocity set and To avoid collision and maximize each other, that is, to satisfy:
[0070]
[0071] Agent i With Agent j When making speed decisions, we select the optimal mutual collision avoidance speed set and From this, we can see that under the control of the ORCA model, the collision avoidance between Agents is bidirectional. i With Agent j Each party bears half of the responsibility for collision avoidance.
[0072] For the calculation of the collision-free velocity set between Agent and Avatar, we first consider Avatar as a special Agent. Assume that Avatar maintains the current velocity v within τ time. a , and consider v a is the optimal collision avoidance speed of the Avatar. i As an example, use formula (3) to calculate the agent Agent i Interacting with the user's avatar i The optimal mutual collision avoidance speed set Figure 5 Schematic diagram of the ORCA half-plane showing the interaction between the Agent and the Avatar motion.
[0073]
[0074] Among them, i represents the agent i ; a represents the user avatar Avatar; Represents the agent within τ time i The optimal mutual collision avoidance speed set for user avatars; Represents Agent i The optimal speed; u represents Starting point, pointing to The vector of the point closest to the boundary; n represents On the border is the starting point and the normal pointing outside the boundary; v a Indicates the current speed and optimal speed of the Avatar; Represents the Agent caused by Avatar within τ time i speed barrier.
[0075] Since the Avatar's movement speed is not controlled by the algorithm, the Avatar's response to the Agent i The collision avoidance speed set has no practical meaning. Therefore, the collision avoidance between Agent-Avatar is actually Agent i The unilateral collision avoidance of Avatar is shown in formula (4), where the velocity set V of Avatar is a = {va}.
[0076]
[0077] For Agent-Avatar motion interaction, Agent i The Avatar is considered as an agent and bears its half of the collision avoidance responsibility under the control of the ORCA model, while the Avatar objectively does not bear any collision avoidance responsibility during the movement. The resulting Agent-Avatar motion interaction is only half or even less effective than the collision avoidance motion between Agents controlled by ORCA, making it difficult to produce authentic and credible motion interaction behaviors.
[0078] Step 3: Based on the improved social force model, calculate the interaction force of the user avatar on the intelligent agent and update the optimal speed of the intelligent agent accordingly.
[0079] In order to overcome the shortcomings of the ORCA algorithm in controlling the motion interaction between Agent and Avatar and to allow the Agent to produce a more realistic motion trajectory when interacting with the Avatar, the ORCA algorithm is improved. Referring to the improved social force model, the interaction force of the Avatar on the Agent is introduced between the Agent and Avatar that may collide. By introducing this force, not only can the Avatar and the Agent be distinguished in the motion interaction, but also the social attributes of the Avatar under different conditions can be changed by adjusting the relevant parameters of the interaction force. After adding the interaction force, at time t, the force situation when the Agent and the Avatar interact with each other is as follows Figure 6 shown.
[0080] Specifically, the formula for calculating the interaction force of the user avatar on the agent is:
[0081] f ia =f v ·t ia +f θ ·n ia (5)
[0082] Among them, f ia represents the interaction force of the user avatar on the agent; f v represents f ia In t ia The change in speed in the direction is expressed as f θ represents f ia In n ia The change in speed in the direction is expressed as t iaIt is the combination of the mutual motion direction of the agent and the user avatar and their relative positions, expressed as n ia Indicates t ia The normal direction of v i represents the speed of the agent; v a Indicates the speed of the user's avatar; e ia is the position P of the agent i Point to the position P of the user's avatar a The unit vector of d represents the distance between the agent and the user avatar; θ represents the vector t ia With e ia The angle between B=γ·||λ·(v i -v a )+e ia ||; A, n, n′, γ, λ are all interaction force parameters in the improved social force model.
[0083] The interaction force parameters A, n, n′, γ, and λ do not have actual physical meanings and are calibrated through experimental data. By optimizing and adjusting the model parameters in the formula, the virtual group can present different Agent-Avatar motion interaction characteristics and improve the Agent-Agent motion interaction effect of the improved social force.
[0084] For Agent-Avatar motion interaction, add the interaction force of Avatar on Agent, and the Agent affected by the interaction force i In the embodiment of the invention, both Agents and Avatars are regarded as mass points, and their masses are negligible. Therefore, it can be considered that Agent i The acceleration a i =f ia . Acceleration a i Let Agent i Optimal speed The acceleration is offset, so the specific method to obtain the optimal speed after the agent is updated in step 3 is:
[0085]
[0086] in, Represents the agent i The optimal speed of i Represents the agent i The acceleration obtained by the interaction force of the user's avatar is numerically a i =f ia; Δt represents the speed decision time interval.
[0087] Step 4: Make speed decisions for the agent and obtain the optimal collision avoidance speed of the agent.
[0088] In this embodiment, the speed decision is further made for the agent to obtain the optimal collision avoidance speed of the agent as the speed of the agent at the next moment. The specific steps are as follows:
[0089] Step a.1, solve the agent i For neighbor agents j The optimal mutual collision avoidance speed set The optimal mutual collision avoidance speed set of the agent for the user avatar The intersection of
[0090] Step a.2, through linear programming, refer to formula (7), in the intersection of the optimal mutual collision avoidance speed sets of the intelligent agents Among them, choose the one closest to the optimal speed of the agent The speed is taken as the optimal collision avoidance speed of the agent.
[0091]
[0092] For step a.1, if Agent i If there are multiple neighboring agents, you need to calculate the agent separately. i For each agent and user avatar’s optimal mutual collision avoidance speed set, we obtain the intersection of these optimal mutual collision avoidance speed sets.
[0093] Table 1 shows the Agent in the method of the present invention when Agents and Avatars exist at the same time. i The process of making speed decisions at time t. First, traverse Agent i The neighbor set is used to determine whether the neighbor is an Avatar controlled by the user. If the neighbor is an Avatar, calculate the Avatar's i The interaction force of Agent i The acceleration a i , and update the Agent i Optimal speed Then judge the Agent i Whether there will be a collision with the neighbor, and create the corresponding ORCA half-plane, and store it in the ORCA half-plane set. Finally, through linear programming, select the closest to the optimal speed in the intersection of the ORCA half-plane set The speed is the optimal collision avoidance speed, as the Agent iThe speed of the next moment.
[0094] Table 1 Pseudo code for controlling Agent speed update
[0095]
[0096]
[0097] Step 5: Use the optimal collision avoidance speed of the agent to control the movement of the agent at the next moment.
[0098] In this embodiment, after obtaining Agent i The new speed v i Then, Agent is calculated and updated by using the following formula i Location information Provides motion data for the next moment.
[0099]
[0100] Corresponding to the UAMP virtual simulation model corresponding to the method of the present invention, the virtual group motion control method provided by the present invention calculates the motion data such as the speed and position of each Agent at the next moment according to the motion state (speed, position, etc.) of the Avatar and the Agent at the current moment, so as to determine how the Agent in the simulation scene responds to environmental changes, how to interact with other Agents and Avatars, and how to move according to specific goals or rules.
[0101] Using the method provided by the present invention to control the movement of virtual groups can not only retain the good movement interaction between Agents in ORCA, but also optimize the movement interaction between Agents and Avatars on this basis. By introducing the interaction force of Avatar on Agent, the optimal speed of Agent is adjusted, so that when Agent selects speed, it can conform to the Agent-Avatar movement interaction mode set by the interaction force as much as possible based on the original goal.
[0102] As mentioned in step 3, improving a series of interaction force parameters in the social force model does not have actual physical meaning and needs to be calibrated through experimental data. In actual application, the values of these parameters are mostly based on experience. When the simulation scenario changes, the original parameter group will no longer be applicable to the new scenario, and it is necessary to re-adjust the appropriate parameter configuration through multiple experiments. This manual parameter debugging method is very inefficient and it is difficult to ensure that the selected new parameters can maximize the performance of the algorithm.
[0103] In order to adapt to specific simulation scenarios more efficiently, make the virtual group present different Agent-Avatar motion interaction characteristics, and enhance the Agent-Agent motion interaction effect of improving social force, a multi-objective particle swarm optimization algorithm is used in this embodiment to tune and calibrate the interaction force parameters A, n, n′, γ, and λ. The optimized A, n, n′, γ, and λ calibration values are used to calculate the interaction force of the user avatar on the intelligent body and update the optimal speed of the intelligent body.
[0104] The specific method of using the multi-objective particle swarm optimization algorithm to tune and calibrate the interaction force parameters A, n, n′, γ, and λ is as follows:
[0105] Step b.1, set the target scenario and evaluation indicators for the user avatar interactive movement.
[0106] This embodiment is mainly applicable to the simulation of virtual groups in a two-dimensional scene with Avatar participation. For a two-dimensional scene, the user mainly controls the movement of the Avatar in the scene through keyboard input. Therefore, the Agent-Avatar motion interaction can be divided into three categories based on the relative motion direction of the two types of subjects: horizontal, vertical, and diagonal. Figure 7 shown.
[0107] The crosswalk and intersection scenes are selected as simulation scenes. In order to make the optimized model better adapt to the above three motion interaction directions, three Avatar motions are set for model interaction force parameter optimization, as shown below:
[0108] (1) Crossing: Start from the left midpoint of the crosswalk / intersection and move to the right at a uniform speed. For the crosswalk scene, the horizontal movement interaction is realized with the Agent; for the intersection scene, the horizontal movement interaction is realized with the Agents of the left and right half of the intersection, and the vertical movement interaction is realized with the Agents of the upper and lower half of the intersection.
[0109] (2) Vertical crossing: Starting from the midpoint of the lower half of the intersection (for the crosswalk scene, take the corresponding coordinate point), move upward in a uniform straight line. For the crosswalk scene, implement vertical movement interaction with the Agent; for the intersection scene, implement vertical movement interaction with the Agents of the left and right half of the intersection, and implement horizontal movement interaction with the Agents of the upper and lower half of the intersection.
[0110] (3) Diagonal crossing: Starting from the midpoint of the lower left half of the intersection (the corresponding coordinate point is taken for the crosswalk scene), uniform linear motion is performed from the lower left to the upper right, and the Agent in the scene is interacted with in the diagonal direction. It should be noted that since the research focus of this invention is the Agent-Avatar motion interaction, the interaction between the Avatar and obstacles such as walls is not concerned. Therefore, during the optimization, the Avatar is allowed to "pass through the wall" when crossing diagonally.
[0111] This embodiment evaluates the collision frequency and severity during the Agent-Avatar motion interaction process. The evaluation indicators set include the average number of collisions between the agent and the user avatar, and the average collision depth between the agent and the user avatar. Specifically, they are as follows:
[0112] Average Agent-Avatar Collision Count (AVCC): The average number of Agent-Avatar collisions per Agent, which can reflect the frequency of Agent-Avatar collisions. The unit is times. The specific definition of AVCC is shown in formula (9).
[0113]
[0114] Among them, the subscript a represents Avatar, Collisions ia Represents the Agent in the entire simulation process i The number of collisions with the Avatar.
[0115] Average Agent-Avatar Collision Depth (AVCD): The average maximum collision depth of each Agent-Avatar collision, which can reflect the severity of the Agent-Avatar collision in the spatial dimension. The unit is meter. The specific definition of AVCD is shown in formula (10).
[0116]
[0117] Among them, Collisions ia Represents Agent i The maximum collision depth for the k-th collision with the Avatar.
[0118] Step b.2, using the interaction force parameters A, n, n′, γ, λ as decision variables and the evaluation index as the objective function, setting the experimental parameters of the multi-objective particle swarm optimization algorithm.
[0119] In this embodiment, the experimental parameters of the multi-objective particle swarm optimization algorithm include decision space dimension, decision variable search range, target space dimension, particle swarm size, maximum warehouse size, and maximum number of iterations.
[0120] More specifically, the dimension of the decision space is set to 5, and the corresponding decision variables are the interaction force parameters {A, n, n′, γ, λ}. By optimizing the interaction force parameters, the interaction force parameters that can better adapt to the Agent-Avatar motion interaction are solved to achieve the optimization purpose of improving the Agent-Avatar motion interaction effect.
[0121] The target space dimension is set to 6, and the Agent-Avatar motion interaction is optimized for the three Avatar motions of horizontal, vertical, and diagonal. The Agent-Avatar average collision number and Agent-Avatar average collision depth are used as the objective function. The target value array is a 6-dimensional array that stores the AVCC and AVCD values obtained under the three Avatar motions.
[0122] The decision variable search range is set to [0,5], the particle swarm size is 500, the maximum warehouse size is 100, and the maximum number of iterations is 200.
[0123] Step b.3, set the virtual group simulation experiment parameters.
[0124] In this embodiment, the virtual group simulation experiment parameters include agent radius, perceived neighbor range, expected rate, movement speed and path of user avatars;
[0125] More specifically, the Agent radius is 0.35m, the perceived neighbor range is 1.5m, and the expected speed is 1m / s. The Avatar radius is 0.35m, and the Avatar moves in a uniform straight line at 1m / s in the corresponding Avatar movement direction.
[0126] Step b.4, conduct a virtual swarm simulation experiment through the method provided in claims 1-7, complete the evaluation of particles in the particle swarm algorithm, and obtain the calibration values of the optimized interaction force parameters A, n, n′, γ, λ.
[0127] Virtual simulation experiment process: To evaluate the particles in the particle swarm, three simulations need to be completed. The Avatar uses three Avatar movements: horizontal, vertical, and diagonal. The Agent-Avatar average collision number and Agent-Avatar average collision depth obtained in each simulation are stored in the target value array. After the three simulations are completed, a six-dimensional target value array is obtained to complete the particle evaluation.
[0128] The interaction force parameters obtained through the virtual simulation experiment process are shown in Table 2.
[0129] Table 2 Optimized Agent-Avatar interaction force parameters
[0130] Model parameters value A 0.9992 n 0.2297 n′ 2.7984 γ 3.9247 λ 0.1023
[0131] The Agent-Avatar interaction force parameters A, n, n′, γ, and λ in the method of the present invention are calibrated using the model parameters in Table 2, and the overall effect is evaluated through experiments.
[0132] Experimentation and Evaluation
[0133] Evaluation indicators and model parameter calibration
[0134] Based on the existing crowd simulation related research, the model evaluation indicators are summarized and derived to evaluate the control method (User Avatar Motion, UAM) proposed in this invention. Starting from the collision frequency and collision severity, the three levels of agent-agent motion interaction, agent-avatar motion interaction and global motion interaction are evaluated respectively. The specific evaluation indicators are as follows:
[0135] Average Agent-Agent Collision Count (AACC): The average number of Agent-Agent collisions per Agent, which can reflect the collision situation during the Agent-Agent motion interaction process. The unit is times.
[0136] Average Agent-Avatar Collision Count (AVCC): The average number of Agent-Avatar collisions per Agent, which can reflect the frequency of Agent-Avatar collisions. The unit is times.
[0137] Average Agent-Avatar Collision Depth (AVCD): The average maximum collision depth of each Agent-Avatar collision, which can reflect the severity of the Agent-Avatar collision in the spatial dimension. The unit is meter.
[0138] Collision Score (CS): The maximum collision depth of each time step and each collision in the entire simulation process is summed, and then the average is calculated for the number of time rounds and the number of groups; it can reflect the overall collision avoidance effect of the model in time and space dimensions. The lower the collision score, the better the overall collision avoidance effect of the method.
[0139] The main parameter settings of the model are shown in Table 3.
[0140] Table 3 Main parameter settings of the model
[0141]
[0142]
[0143] Different density comparison experiment
[0144] The experimental scene is set as an intersection with a road width of 10m, the range is x∈[-40,40], y∈[-40,40], and the scene area is 1500m2. A certain number of Agents are uniformly and randomly distributed in the scene and walk towards their respective destinations. The Avatar starts from the positions (-20,0) and (0,-20) respectively, and moves from left to right / from bottom to top at a uniform speed of 1m / s. When all Agents reach the destination, the experiment is marked as over. Four groups of experiments with different numbers of Agents are set up to represent four densities from low to high. The four groups of experimental settings are shown in Table 4, where N is the number of Agents. The distribution of Agents in the scene at the beginning is as follows Figure 8 shown.
[0145] Table 4 Experimental scene settings
[0146] N <![CDATA[Per capita area (m 2 )]]> Crowding 100 15 Loose 200 7.5 medium 400 3.75 Crowded 800 1.875 Very crowded
[0147] The experiment was repeated ten times, and the average of the ten experimental results was taken as the result of this group of density experiments. The ORCA model (Ignore) that does not identify the user, the ORCA model (ORCA) that treats the user as a special agent in the method of the present invention, and the improved UAM model (UAM) proposed by the method of the present invention were used to control the movement of agents, and model comparison experiments under different densities were carried out. The experimental data are shown in Table 5. For the convenience of display and comparison, the collision score CS was magnified 105 times.
[0148] Table 5 Experimental data under different density conditions
[0149]
[0150] Analysis of the experimental results shows that as the density increases, collisions become more frequent and the intensity of collisions increases. For Agent-Agent motion interaction, by comparing the results of the three groups of models, it can be seen that the addition of the user role Avatar that can be perceived by Agents will increase the frequency of Agent-Agent collisions. The UAM method proposed in the present invention can alleviate the impact of Avatar addition to a certain extent. For Agent-Avatar motion interaction, by comparing the results of the three groups of models, it can be seen that adding the perception of Avatar to ORCA (ORCA group) can greatly reduce the number and depth of collisions between Agent-Avatar, and on this basis, introducing the force of Avatar on Agents (UAM group) can further reduce the degree of collision between Agent-Avatar, thereby improving the authenticity of Agent-Avatar motion interaction.
[0151] As for the overall collision situation, it can be seen from the collision score that the ORCA group has a better overall collision performance when the density is low, but it cannot take the overall situation into consideration when the density is high. The UAM method can well balance and take into account Agent-Agent collisions and Agent-Avatar collisions, and can maintain Agent-Agent and Agent-Avatar motion interactions with a low collision rate and shallow collision depth even in very crowded conditions.
[0152] Comparative experiment of different user behaviors
[0153] Invite 20 volunteers to control the movement of Avatar through input devices to study the performance of the proposed method under different user behaviors. Avatar starts from (-20,0), and the user controls the Avatar to move up, down, left, and right at a speed of 1m / s through the keyboard. The goal is to reach and pass the rightmost intersection. In the experiment, the user controls the Avatar to perform different motion interactions with nearby Agents. When all Agents reach the destination, the experiment is marked as over. For Agent-Avatar motion interaction, the present invention studies the model performance under two user behaviors:
[0154] A. “Active avoidance”: The user tries to avoid collision with Agents while controlling the Avatar to move to the destination;
[0155] B. “Intentional collision”: The user tries to make the Avatar collide with Agents as much as possible when moving to the destination.
[0156] The Agent-Avatar motion interaction trajectories generated by the two user behaviors are shown in the figure below: Fig. 9The experimental scene settings are shown in Table 6.
[0157] Table 6 Experimental scenario settings for different user behaviors
[0158] N Active avoidance Deliberate collision 200 200-A 200-B 400 400-A 400-B
[0159] Ten volunteers were assigned to each of the N=200 and N=400 scenarios, and ten experiments were conducted respectively. Agents were controlled by the ORCA algorithm that did not sense the Avatar's movement (i.e., the Ignore group). Each volunteer conducted two experiments on the same scenario, controlling the Avatar to perform two interactive behaviors, "active avoidance" and "deliberate collision" on the Agents. That is, the four groups of experiments in Table 5 were repeated 10 times. The results of each group of experiments were averaged, and the final experimental results are shown in Table 7. For the convenience of display and comparison, the collision score CS was magnified by 10 5 times.
[0160] Table 7 Experimental data of different user behaviors
[0161]
[0162] For the four different scenarios, the Agent-Agent motion interactions of different models are very similar. The UAM method proposed in this paper performs best in Agent-Avatar motion interaction, with the lowest average number of collisions per person and average collision depth. The Ignore group performs the worst, and the ORCA group is between the two.
[0163] The collision score is used to comprehensively evaluate the overall collision situation of an experiment. In general, the virtual group density has a greater impact on the collision score. This is because the collision score comprehensively evaluates all Agent-Agent collisions and Agent-Avatar collisions in the experiment, while different user behaviors have a greater impact on Agent-Avatar collisions and have almost no impact on Agent-Agent collisions. When the virtual group density is small (N=200), the collision score is more affected by Agent-Avatar collisions, and the Agent-Avatar collisions caused by the user behavior of "deliberate collision" of Avatars are more frequent and more serious. Therefore, the collision score of the 200-B group is significantly higher than that of the 200-A group. When the virtual group is densely distributed (N=400), the collision score increases significantly. Under this density condition, the collision score is more affected by the Agent-Agent collision situation, and the user behavior has little effect on it. Therefore, even though the ORCA group has better Agent-Avatar motion interaction than the Ignore group, the collision score is still higher than the Ignore group. The UAM group has the lowest collision score of the three groups due to its relatively low number of Agent-Agent collisions and the absolute lowest number and depth of Agent-Avatar collisions.
[0164] Experimental Conclusion
[0165] Aiming at the scenario where real users and virtual groups coexist, the present invention improves the traditional ORCA method, proposes a virtual group motion control method that takes real user behavior into consideration, and conducts a series of model evaluation experiments. The experimental results show that the method proposed by the present invention can enable the Agent to maintain a low collision rate and collision depth under different virtual group density conditions and different real user behavior conditions, and has the best comprehensive performance in reducing the frequency and severity of collision events, which is significantly improved compared to the ORCA algorithm before the improvement.
[0166] The present invention also provides a virtual group motion control device for user motion perception, comprising:
[0167] Motion data module: used to obtain the current motion data of the user's avatar and agent;
[0168] ORCA motion control module, used to calculate the optimal mutual collision avoidance speed set of intelligent agents based on the ORCA model;
[0169] The motion perception control module is used to calculate the interaction force of the user avatar on the intelligent body based on the improved social force model, and update the optimal speed of the intelligent body accordingly;
[0170] The speed decision module is used to make speed decisions for the intelligent agent, obtain the optimal collision avoidance speed of the intelligent agent, and use this speed to control the movement of the intelligent agent at the next moment.
[0171] In the above embodiments, the description of each embodiment has its own emphasis. For the part not described in detail in a certain embodiment, please refer to the relevant description of other embodiments. The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0172] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A virtual group motion control method based on user motion perception, characterized in that: include: Step 1, obtaining the current motion data of the user avatar and the virtual group, wherein the virtual group is an intelligent body; Step 2: Based on the ORCA model, calculate the optimal mutual collision avoidance speed set of the intelligent agents; Step 3: Based on the improved social force model, calculate the interaction force of the user avatar on the intelligent agent, and update the optimal speed of the intelligent agent accordingly; Step 4: Make a speed decision for the agent to obtain the optimal collision avoidance speed of the agent; Step 5: Use the optimal collision avoidance speed of the agent to control the movement of the agent at the next moment.
2. The method according to claim 1, characterized in that The optimal mutual collision avoidance speed set of the intelligent agents includes the optimal mutual collision avoidance speed set of the intelligent agents in the interactive motion between the intelligent agents and the optimal mutual collision avoidance speed set of the intelligent agents in the interactive motion between the intelligent agents and the user avatars.
3. The method according to claim 2, characterized in that The following formula is used to calculate the optimal collision avoidance speed set of agents in the interactive motion between agents: Among them, i represents the agent i ; j represents the neighbor agent j ; Indicates the Agent within τ time i For Agent j The optimal mutual collision avoidance speed set; Represents Agent i The optimal speed; u represents Starting point, pointing to The vector of the point closest to the boundary; n represents On the border is the starting point and the normal pointing outside the boundary; Represents Agent j The optimal speed; Indicates that the Agent j Agent i speed barrier.
4. The method according to claim 2, characterized in that: The user avatar is regarded as a neighboring agent. It is assumed that the user avatar maintains the current speed within the time τ, and the current speed is considered to be the optimal speed. The following formula is used to calculate the optimal mutual collision avoidance speed set of the agent in the interactive motion between the agent and the user avatar: Among them, i represents the agent i ; a represents the user avatar Avatar; Represents the agent within τ time i The optimal mutual collision avoidance speed set for user avatars; Represents Agent i The optimal speed; u represents Starting point, pointing to The vector of the point closest to the boundary; n represents On the border is the starting point and the normal pointing outside the boundary; v a Indicates the current speed and optimal speed of the Avatar; Represents the Agent caused by Avatar within τ time i speed barrier.
5. The method according to claim 4, characterized in that In step 3, based on the improved social force model, the specific formula for calculating the interaction force of the user avatar on the agent is: f ia =f v ·t ia +f θ ·n ia Among them, f ia represents the interaction force of the user avatar on the agent; f v represents f ia In t ia The change in speed in the direction is expressed as f θ represents f ia In n ia The change in speed in the direction is expressed as t ia It is the combination of the mutual motion direction of the agent and the user avatar and their relative positions, expressed as n ia Indicates t ia The normal direction of v i represents the speed of the agent; v a Indicates the speed of the user's avatar; e ia is the unit vector from the agent's position Pi to the user's avatar's position Pa, expressed as d represents the distance between the agent and the user avatar; θ represents the vector t ia With e ia The angle between B=γ·||λ·(v i -v a )+e ia ||; A, n, n′, γ, λ are all interaction force parameters in the improved social force model.
6. The method according to claim 5, characterized in that The specific method for updating the optimal speed of the agent based on the interaction force in step 3 is: in, Represents the agent i The optimal speed of i Represents the agent i The acceleration obtained by the interaction force of the user's avatar is numerically a i =f ia ; Δt represents the speed decision time interval.
7. The method according to claim 6, characterized in that In step 4, the speed decision is made and the method to obtain the optimal collision avoidance speed of the agent is: Step a.1, solving the intersection of the optimal mutual collision avoidance speed set of the agent for the neighbor agent and the optimal mutual collision avoidance speed set of the agent for the user avatar; Step a.2, through linear programming, select the speed closest to the optimal speed of the intelligent agent in the intersection of the optimal mutual collision avoidance speed sets of the intelligent agents as the optimal collision avoidance speed of the intelligent agent.
8. The method according to claim 7, characterized in that The interaction force parameters A,n,n′,γ,λ are tuned and calibrated using a multi-objective particle swarm optimization algorithm. The optimized A,n,n′,γ,λ calibration values are used to calculate the interaction force of the user avatar on the intelligent agent and update the optimal speed of the intelligent agent.
9. The method according to claim 8, characterized in that The specific method of using the multi-objective particle swarm optimization algorithm to tune and calibrate the interaction force parameters A, n, n′, γ, and λ is as follows: Step b.1, setting the target scenario and evaluation index for the user avatar interactive movement; Step b.2, using the interaction force parameters A, n, n′, γ, λ as decision variables and the evaluation index as the objective function, setting the experimental parameters of the multi-objective particle swarm optimization algorithm; Step b.3, setting the virtual group simulation experiment parameters; Step b.4, performing a virtual swarm simulation experiment by the method provided in claims 1-7, completing the evaluation of particles in the particle swarm algorithm, and obtaining the calibration values of the optimized interaction force parameters A, n, n′, γ, λ; The evaluation indicators include the average number of collisions between the agent and the user's avatar, and the average collision depth between the agent and the user's avatar; The experimental parameters of the multi-objective particle swarm optimization algorithm include decision space dimension, decision variable search range, target space dimension, particle swarm size, maximum warehouse size, and maximum number of iterations; The virtual group simulation experiment parameters include agent radius, perceived neighbor range, expected rate, movement speed and path of user avatars.
10. A virtual group motion control device with user motion perception, characterized in that: include: Motion data module: used to obtain the current motion data of the user's avatar and agent; ORCA motion control module, used to calculate the optimal mutual collision avoidance speed set of intelligent agents based on the ORCA model; The motion perception control module is used to calculate the interaction force of the user avatar on the intelligent body based on the improved social force model, and update the optimal speed of the intelligent body accordingly; The speed decision module is used to make speed decisions for the intelligent agent, obtain the optimal collision avoidance speed of the intelligent agent, and use this speed to control the movement of the intelligent agent at the next moment.
Citation Information
Patent Citations
Panic crowd escape simulation method
CN104331917A
Crowd simulation method for social force model based on relative speed
CN110276123A
Multi-agent cooperative operation control method based on bounded space
CN111007848A
Immersive emergency drilling and automatic evaluation method and system for rail transit station
CN113095977A
Robot cluster motion control method based on crowd interaction behaviors
CN113485338A