Virtual group motion control method and device based on user motion perception

By combining the ORCA model and the improved social force model with the multi-objective particle swarm optimization algorithm, the problem of motion interaction between real users and virtual groups in virtual group motion control was solved, achieving more realistic and natural motion interaction, reducing the frequency and severity of collisions, and improving the user experience.

CN119511760BActive Publication Date: 2025-10-28BEIJING INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411560877.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2024-05-29
Filing Date
2024-11-04
Publication Date
2025-10-28
Estimated Expiration
2044-11-04

AI Technical Summary

Technical Problem

Existing virtual group motion control methods struggle to achieve realistic and natural motion interactions between real users and virtual groups, particularly in collision avoidance strategies, which are limited in their ability to effectively simulate motion interactions between real users and virtual groups.

Method used

A virtual group motion control method based on user avatar motion perception is adopted. Combining the ORCA model and an improved social force model, the optimal collision avoidance speed of the agent is calculated. The interaction force parameters are then optimized through a multi-objective particle swarm optimization algorithm to achieve realistic and natural motion interaction between the agent and the user avatar.

Benefits of technology

It effectively reduces the frequency and severity of collision events in virtual groups, improves user experience, and enhances the realism and vividness of virtual groups.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119511760B_ABST
    Figure CN119511760B_ABST
Patent Text Reader

Abstract

This invention provides a virtual crowd motion control method and device based on user motion perception, belonging to the field of virtual crowd simulation technology. The method includes: acquiring the current motion data of a user avatar and a virtual crowd, wherein the virtual crowd is an intelligent agent; calculating the optimal mutual collision avoidance speed set of the intelligent agents based on the ORCA model; calculating the interaction force of the user avatar on the intelligent agents based on an improved social force model, and updating the optimal speed of the intelligent agents accordingly; making a speed decision for the intelligent agents to obtain their optimal collision avoidance speed; and using the optimal collision avoidance speed of the intelligent agents to control their motion in the next moment. Compared with traditional crowd simulation methods, the virtual crowd controlled using the technical solution of this invention can effectively reduce the frequency and severity of collision events, improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of virtual crowd simulation technology, and in particular to a virtual crowd motion control method and device for user avatar motion perception. Background Technology

[0002] Virtual groups play a crucial role in fields such as film, games, and digital twins. A major challenge is how to enable virtual groups to react rationally and effectively in real time to unpredictable user actions. Among virtual simulation micro-modeling methods, velocity-based and force-based methods are the most widely used and researched. Velocity-based methods, such as RVO and ORCA, focus on collision avoidance during virtual group movement, but have lower requirements for the "human-likeness" of the virtual group 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 groups with social relationships. While these methods can effectively simulate the dynamics of crowds in real-world scenarios through the motion interactions between virtual groups, they still have certain limitations in representing the motion interactions between real users and virtual groups.

[0003] Effective collision avoidance strategies are crucial in the motion interaction between real users and virtual groups. Recent research indicates that collision avoidance behavior is a significant factor in enhancing the social presence of virtual characters and the quality of user experience. Collision avoidance behavior in virtual groups can improve their realism and liveliness, while also attracting user attention and eliciting responses. However, current research primarily focuses on the impact of different attribute settings on user experience, with limited research on motion control methods for virtual groups interacting with real users. Summary of the Invention

[0004] This invention provides a virtual group motion control method and device for user motion perception, aiming to provide more realistic and natural motion interaction between user avatars and virtual agents, and between agents in virtual scenes, so as to solve the technical problems existing in the background art.

[0005] On one hand, the present invention provides a virtual group motion control method based on user avatar motion perception, comprising:

[0006] Step 1: Obtain the current motion data of the user avatar and the virtual group, where the virtual group is an intelligent agent;

[0007] Step 2: Based on the ORCA model, calculate the optimal set of mutual collision avoidance velocities for the agents;

[0008] Step 3: Based on the improved social force model, calculate the interaction force between the user avatar and the agent, and update the agent's optimal speed accordingly.

[0009] Step 4: Make a speed decision for the agent to obtain the agent's optimal collision avoidance speed;

[0010] Step 5: Use the agent's optimal collision avoidance speed to control the agent's movement in the next moment.

[0011] Furthermore, the motion data obtained in step 1 includes the current position and velocity information of the user avatar, the agent, and neighboring agents.

[0012] Furthermore, the optimal collision avoidance speed set of the agents in step 2 includes the optimal collision avoidance speed set of the agents in the interaction motion between agents and the optimal collision avoidance speed set of the agents in the interaction motion between the agents and the user avatar.

[0013] More specifically, based on the ORCA model, for the interactive motion between agents, the optimal set of mutual collision avoidance velocities of the agents is calculated using the following formula:

[0014]

[0015] in, express Within a certain time for The optimal set of mutual collision avoidance velocities; express The optimal speed; Indicates - Starting from, pointing to The vector of the point closest to the boundary; express On the border Starting from the boundary line, the normal line points outwards from the boundary. express The optimal speed; express Within a certain time period Caused Speed ​​barrier.

[0016] Regarding the interaction between the intelligent agent and the user avatar, considering the user avatar as a neighboring intelligent agent, assuming the user avatar is in... Maintaining the current speed within a given time period, and assuming that the current speed is the optimal speed, calculate the agent's optimal set of mutual collision avoidance speeds using the following formula:

[0017]

[0018] in, express In-time intelligent agent For user avatars The optimal set of mutual collision avoidance velocities; express The optimal speed; Indicates Starting from, pointing to The vector of the point closest to the boundary; express On the border Starting from the boundary line, the normal line points outwards from the boundary. express The current speed and the optimal speed; express Within a certain time period Caused 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]

[0021] in, This represents the interactive force exerted by the user avatar on the intelligent agent; express exist The change in velocity in the direction is represented as ; express exist The change in velocity in the direction is represented as ; The combination of the mutual movement directions of the intelligent agent and the user avatar and their relative positions is represented as: ; express The direction of the normal; Indicates the speed of the intelligent agent; Indicates the speed of the user avatar; For the position of the agent Pointing to the user avatar The unit vector is denoted as ; This indicates the distance between the intelligent agent and the user avatar; Representing vectors and The angle between them; , , All of these are interaction force parameters in the improved social force model.

[0022] More specifically, the method for updating the agent's optimal speed based on the interaction forces in step 3 is as follows:

[0023]

[0024] in, Represents intelligent agents The optimal speed; Represents intelligent agents The acceleration obtained under the influence of the user's interactive force is numerically... = ; Indicates the time interval for speed decision.

[0025] Furthermore, the method for making a speed decision in step 4 to obtain the agent's optimal collision avoidance speed is as follows:

[0026] Step a.1: Find the intersection of the agent's optimal mutual collision avoidance speed set with respect to neighboring agents and the agent's optimal mutual collision avoidance speed set with respect to the user avatar;

[0027] Step a.2: Through linear programming, select the speed closest to the agent's optimal speed from the intersection of the agent's optimal collision avoidance speed sets.

[0028] Furthermore, a multi-objective particle swarm optimization algorithm was used to optimize the interaction force parameters. Perform optimization and calibration, and use the optimized version. The calibration value calculates the interaction force between the user avatar and the agent, and updates the agent's optimal speed.

[0029] Furthermore, a multi-objective particle swarm optimization algorithm was used to optimize the interaction force parameters. The specific method for optimization and calibration is as follows:

[0030] Step b.1: Set the target scenario and evaluation metrics for the user avatar interactive movement.

[0031] Specifically, the evaluation metrics 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.

[0032] Step b.2, using interaction force parameters The experimental parameters for the multi-objective particle swarm optimization algorithm are set with the evaluation index as the objective function and the decision variable as the objective variable.

[0033] Specifically, the experimental parameters for the multi-objective particle swarm optimization algorithm include the decision space dimension, the search range of decision variables, the target space dimension, the particle swarm size, the maximum size of the warehouse, and the maximum number of iterations.

[0034] Step b.3: Set the parameters for the virtual population simulation experiment.

[0035] Specifically, the parameters of the virtual swarm simulation experiment include the agent radius, the range of perceived neighbors, the desired rate, and the movement speed and path of the user avatar.

[0036] Step b.4: Conduct a virtual swarm simulation experiment using the aforementioned method to evaluate the particles in the particle swarm optimization algorithm and obtain the optimized interaction force parameters. The calibration value.

[0037] On the other hand, the present invention provides a virtual group motion control device for user motion perception, comprising:

[0038] Motion data module: Used to acquire the current motion data of the user avatar and the intelligent agent;

[0039] The ORCA motion control module is used to calculate the optimal set of mutual collision avoidance velocities for agents based on the ORCA model.

[0040] The motion perception and control module is used to calculate the interaction force between the user avatar and the intelligent agent based on the improved social force model, and update the optimal speed of the intelligent agent accordingly.

[0041] The speed decision module is used to make speed decisions for the agent, obtain the agent's optimal collision avoidance speed, and use this speed to control the agent's movement in the next moment.

[0042] By adopting the above technical solution, the present invention has the following beneficial effects:

[0043] The ORCA model effectively simulates collision avoidance behavior in crowds, while the social force model simulates group phenomena and movement patterns within crowds. This invention, based on these two classic models, proposes a virtual crowd motion control method based on speed and realistic user behavior perception. Building upon ORCA and referencing an improved social force model, an interaction force between the Avatar and the Agent is introduced between Agents and Avatars that may collide. By introducing this force, not only can the Avatar and Agent be distinguished during motion interaction, but the relevant parameters of the interaction force can also be optimized to allow the virtual crowd to exhibit different Agent-Avatar motion interaction characteristics, better aligning with the Agent-Avatar motion interaction mode set by the interaction force. Through a series of comparative experiments, it is verified that, compared with traditional crowd simulation methods, the virtual crowd controlled by the technical solution of this invention can effectively reduce the frequency and severity of collision events, thus improving the user experience, in environments of different densities and when facing different real user behaviors. Attached Figure Description

[0044] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0045] Figure 1 This is a schematic diagram of the UAMP virtual crowd simulation model framework using the motion control method provided in this embodiment of the invention;

[0046] Figure 2 A flowchart of a virtual group motion control method based on user motion perception provided in an embodiment of the present invention;

[0047] Figure 3 This is a schematic diagram of an alternating motion scene between Agent and Avatar provided in an embodiment of the present invention;

[0048] Figure 4 This is a schematic diagram of the ORCA half-plane for Agent-to-Agent interaction provided in an embodiment of the present invention;

[0049] Figure 5 This is a schematic diagram of the ORCA half-plane for Agent and Avatar interaction provided in an embodiment of the present invention;

[0050] Figure 6 This is a schematic diagram of the interaction force between the Avatar and adjacent Agents provided in an embodiment of the present invention;

[0051] Figure 7 The present invention provides three motion interaction directions for Agent-Avatar used for optimizing interaction force parameters in embodiments of the invention;

[0052] Figure 8 This describes the distribution of agents at different densities in a comparative experiment scenario provided by an embodiment of the present invention.

[0053] Figure 9 The Agent-Avatar motion interaction trajectory is generated by two user behaviors in a comparative experiment scenario of different user behaviors provided in the embodiments of the present invention. Detailed Implementation

[0054] The technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0055] The present invention will be further explained below with reference to specific embodiments.

[0056] For ease of understanding, the technical solution of this invention can be described as a virtual swarm simulation model—the UAMP (User Avatar Motion Perception) model. This model includes two types of motion subjects and the virtual swarm motion control method provided by this invention. The two types of motion subjects are the multiple intelligent agents constituting the virtual swarm and the user's single avatar in the simulation scene. The UAMP model controls the virtual swarm to achieve good Agent-Agent and Agent-Avatar motion interaction during the simulation process through the virtual swarm motion perception method of user avatar motion perception.

[0057] The UAMP model is suitable for user-participatory virtual swarm simulations. At any given moment, the avatar's movement is controlled in real-time by user input, exhibiting strong randomness and unpredictability, and is objectively unaffected by the agent's movement. To achieve effective agent-avatar motion interaction in this context, it primarily relies on virtual swarm motion control methods to ensure that agents within the swarm respond appropriately and in real-time to the avatar's movement. These methods calculate the velocity of each agent at the next moment based on the current motion state (velocity, position, etc.) of the avatar and agents in the scenario. This velocity determines how agents in the simulation should respond to environmental changes, interact with other agents and avatars, and move according to specific goals or rules.

[0058] Figure 1 The model framework of UAMP is demonstrated. For time t in the simulation, the position of the Avatar is defined as... Its speed Determined by user input at time t. In a virtual population, defined... The position is The speed is , The set of locations of nearby neighbor agents is defined as { , The set of velocities is defined as { , . . .}. , , . . .}. The states (velocity, location, neighbors, etc.) of the Avatar and all Agents in the scene at time t are used as inputs to the UAMP model; for The model is based on time t. Calculate the speed and location of the neighboring Agent and Avatar. The corresponding collision avoidance velocities and Agent-Avatar interaction forces are used to ultimately obtain the optimal collision avoidance velocity as the output of the UAMP model. Therefore, at time t + 1, the Avatar has a velocity of... Move to And continue to receive user input to obtain the velocity at time t + 1. ;at the same time, With speed Move to position The optimal collision avoidance velocity output by the UAMP model is taken as the velocity at time t + 1. .

[0059] The key issue in implementing the method of this invention is to obtain the motion data of the agent at the next moment from the input data at the current moment, including the motion data of the agent and the user avatar, through the virtual group motion control method of user avatar motion perception provided by this invention. For example... Figure 2 As shown, the specific process of the virtual group motion control method for user avatar motion perception provided by the present invention includes the following steps:

[0060] Step 1: Obtain the current motion data of the user avatar and the virtual group, where the virtual group is an intelligent agent.

[0061] In this embodiment, the motion data of the user avatar at the current moment includes the avatar's position and speed information. The user issues motion commands to the avatar via input devices such as a keyboard, mouse, and VR controller, controlling its movement in the virtual simulation environment and interacting with one or more agents within the virtual group. The avatar's movement is limited in action selection by the input device and interaction program (e.g., it can only move in four directions: up, down, left, and right), but its movement patterns are not controlled by the algorithm. The user's input at each moment determines the avatar's movement at that moment; therefore, the avatar's movement is perceptible to the computer but unpredictable.

[0062] The motion data of the intelligent agent includes the agent's position and velocity information, as well as the position and velocity information of other intelligent agents in the virtual environment. In the virtual simulation environment, based on the motion state (velocity, position, etc.) of the Avatar and Agent in the current scene, it is necessary to calculate the velocity of each Agent in the next moment. This determines how the Agent in the simulation scene responds to environmental changes, how it interacts with other Agents and Avatars, and how it moves according to specific goals or rules.

[0063] Step 2: Based on the ORCA model, calculate the optimal set of mutual collision avoidance velocities for the 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 motion between 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 avatar.

[0065] Referring to ORCA's speed update strategy, the collision avoidance speed set of the Agent is calculated, and the Agent collision avoidance speed calculation is considered in both Agent-Agent and Agent-Avatar motion interactions. t At any given moment, the scene where the Agent and Avatar move alternately is like... Figure 3 As shown, r Let v be the radius, v be the velocity, and P be the position.

[0066] More specifically, based on the ORCA model, the optimal set of collision avoidance velocities for agents during interactive motion is calculated. (The sentence is incomplete and requires further context.) For example, calculate t time The set of collision-free velocities is calculated according to formula (1). For neighboring intelligent agents The optimal set of mutual collision avoidance velocities .

[0067] (1)

[0068] in, express Within a certain time for The optimal set of mutual collision avoidance velocities; express The optimal speed; Indicates - Starting from, pointing to The vector of the point closest to the boundary; express On the border Starting from the boundary line, the normal line points outwards from the boundary. express The optimal speed; express Within a certain time period Caused Speed ​​barrier.

[0069] Similarly, we can conclude that for The optimal set of mutual collision avoidance velocities , Figure 4A schematic diagram of the ORCA half-plane for agent-to-agent motion interaction is shown. The resulting velocity set is also presented. and To avoid collisions and be mutually maximal, i.e., satisfying:

[0070] (2)

[0071] and When making speed decisions, each is selected from the set of optimal mutual collision avoidance speeds. and The next velocity is selected from the options to avoid collisions during motion. This demonstrates that under the ORCA model, collision avoidance between agents is bidirectional, occurring during the motion interaction process. and Each party shall bear half of the responsibility for avoiding the collision.

[0072] For calculating the collision-free velocity set between Agent and Avatar, we first consider the Avatar as a special Agent. Assume the Avatar... τ Maintain current speed for the duration of the time period and believe This is the optimal collision avoidance speed for the Avatar. (Based on the intelligent agent) For example, use formula (3) to calculate the agent. With user avatar Intelligent agents in interactive motion Optimal mutual collision avoidance speed set , Figure 5 A schematic diagram of the ORCA half-plane is shown, illustrating the motion interaction between the Agent and the Avatar.

[0073] (3)

[0074] in, express In-time intelligent agent For user avatars The optimal set of mutual collision avoidance velocities; express The optimal speed; Indicates Starting from, pointing to The vector of the point closest to the boundary; express On the border Starting from the boundary line, the normal line points outwards from the boundary. express The current speed and the optimal speed; express Within a certain time period Caused Speed ​​barrier.

[0075] because Movement speed is not controlled by the algorithm, calculation right The set of collision avoidance velocities is meaningless. Therefore, collision avoidance between Agents and Avatars is actually... right Unilateral collision avoidance, as shown in formula (4), where the velocity set of the Avatar... .

[0076] (4)

[0077] For Agent-Avatar motion interaction Will Treated as an Agent, and under the control of the ORCA model, it assumes its share of collision avoidance responsibility, while the Avatar objectively assumes no collision avoidance responsibility during movement. The resulting Agent-Avatar movement interaction, compared to Agent-Agent collision avoidance movement controlled by ORCA, has a collision avoidance effect of only half or even less, making it difficult to generate realistic and reliable movement interaction behavior.

[0078] Step 3: Based on the improved social force model, calculate the interaction force between the user avatar and the agent, and update the agent's optimal speed accordingly.

[0079] To overcome the shortcomings of the ORCA algorithm in controlling Agent-Avatar motion interactions and to enable agents to generate more realistic motion trajectories when interacting with avatars, the ORCA algorithm is improved. Referring to the improved social force model, an interaction force between the avatar and agent is introduced between Agents and avatars that may collide. By introducing this force, not only can the avatar and agent be distinguished during motion interactions, but the social attributes of the avatar can also be changed under different conditions by adjusting the relevant parameters of the interaction force. After adding the interaction force, the force situation of the agent and avatar during motion interaction at time t is as follows. Figure 6 As shown.

[0080] Specifically, the formula for calculating the interaction force of the user avatar on the intelligent agent is:

[0081] (5)

[0082] in, This represents the interactive force exerted by the user avatar on the intelligent agent; express exist The change in velocity in the direction is represented as ; express exist The change in velocity in the direction is represented as ; The combination of the mutual movement directions of the intelligent agent and the user avatar and their relative positions is represented as: ; express The direction of the normal; Indicates the speed of the intelligent agent; Indicates the speed of the user avatar; For the position of the agent Pointing to the user avatar The unit vector is denoted as ; This indicates the distance between the intelligent agent and the user avatar; Representing vectors and The angle between them; , , All of these are interaction force parameters in the improved social force model.

[0083] The interaction force parameters None of these have any actual physical meaning and are calibrated through experimental data. Optimizing and adjusting the model parameters in the formula can make the virtual group exhibit different Agent-Avatar motion interaction characteristics, thereby improving the Agent-Avatar motion interaction effect of social forces.

[0084] For Agent-Avatar motion interaction, an interaction force is added between the Avatar and the Agent, and the agent is affected by the interaction force. An acceleration is obtained. In the embodiments of the invention, both Agents and Avatar are considered as point masses with negligible mass, and therefore can be numerically considered as... acceleration Acceleration make optimal speed Since the offset is generated along the acceleration, the specific method for obtaining the agent's updated optimal velocity in step 3 is as follows:

[0085] (6)

[0086] in, Represents intelligent agents The optimal speed; Represents intelligent agents The acceleration obtained under the influence of the user's interactive force is numerically... ; Indicates the time interval for speed decision.

[0087] Step 4: Make a speed decision for the agent to obtain the agent's optimal collision avoidance speed.

[0088] In this embodiment, the agent's speed is further determined to obtain the agent's optimal collision avoidance speed as the agent's speed for the next moment. The specific steps are as follows:

[0089] Step a.1, Solve for the intelligent agent For neighboring intelligent agents Optimal mutual collision avoidance speed set The optimal collision avoidance speed set between the agent and the user avatar intersection ;

[0090] Step a.2, using linear programming and referring to formula (7), find the intersection of the agent's optimal mutual collision avoidance velocities. In the middle, select the speed closest to the agent's optimal speed. The speed is used as the optimal collision avoidance speed for the agent.

[0091] (7)

[0092] For step a.1, if If there are multiple neighboring agents, then each agent needs to be calculated separately. For each agent and user avatar, the optimal collision avoidance speed set is then used to obtain the intersection of these optimal collision avoidance speed sets. .

[0093] Table 1 shows the methods of this invention in scenarios where both Agents and Avatars exist. The process of making a speed decision at time t. First, iterate through... The set of neighbors is used to determine if a neighbor is a user-controlled avatar. If a neighbor is an avatar, the avatar pair is calculated. The interaction force, to obtain acceleration and update optimal speed Then determine We determine whether a collision will occur with a neighboring plane and create the corresponding ORCA half-plane, storing it in an ORCA half-plane set. Finally, using linear programming, we select the one closest to the optimal velocity from the intersection of the ORCA half-plane sets. The speed is the optimal collision avoidance speed, as... The speed at the next moment.

[0094] Table 1. Pseudocode for controlling Agent speed updates

[0095]

[0096] Step 5: Use the agent's optimal collision avoidance speed to control the agent's movement in the next moment.

[0097] In this embodiment, after obtaining New speed Then, it is calculated and updated using the following formula. Location information It provides motion data for the next moment.

[0098] (8)

[0099] Corresponding to the UAMP virtual simulation model of the method of this invention, the virtual group motion control method provided by this invention calculates the motion data such as speed and position of each agent in the next moment based on the motion state (speed, position, etc.) of the Avatar and Agent at the current moment, thereby determining how the Agent in the simulation scene responds to environmental changes, how it interacts with other Agents and Avatars, and how it moves according to specific goals or rules.

[0100] Controlling the movement of virtual groups using the method provided in this invention not only preserves the good motion interaction between Agents in ORCA, but also optimizes the motion interaction between Agents and Avatars. By introducing the interaction force between the Avatar and the Agent, the optimal speed of the Agent is adjusted, so that when the Agent selects its speed, it can conform as much as possible to the Agent-Avatar motion interaction pattern set by the interaction force, based on the original target.

[0101] Step 3 mentions that the parameters of a series of interaction forces in the social force model, which are improved, do not have actual physical meaning and need to be calibrated through experimental data. In practical applications, the values ​​of these parameters are mostly based on empirical settings. When the simulation scenario changes, the original parameter set will no longer be applicable to the new scenario, and it is necessary to readjust the appropriate parameter configuration through multiple experiments. This manual parameter tuning approach is very inefficient and makes it difficult to ensure that the selected new parameters can maximize the algorithm's performance.

[0102] To more efficiently adapt to specific simulation scenarios and enable virtual groups to exhibit different Agent-Avatar motion interaction characteristics, thereby improving the Agent-Avatar motion interaction effect of social forces, this embodiment uses a multi-objective particle swarm optimization algorithm to optimize the interaction force parameters. Perform optimization and calibration, and use the optimized version. The calibration value calculates the interaction force between the user avatar and the agent, and updates the agent's optimal speed.

[0103] The interaction force parameters were analyzed using a multi-objective particle swarm optimization algorithm. The specific method for optimization and calibration is as follows:

[0104] Step b.1: Set the target scenario and evaluation metrics for the user avatar interactive movement.

[0105] This embodiment is primarily applicable to the simulation of virtual groups in a two-dimensional scene involving avatars. In a two-dimensional scene, the user mainly controls the avatar's movement through keyboard input. Therefore, Agent-Avatar motion interaction can be categorized into three types based on the relative movement direction of the two entities: horizontal, vertical, and diagonal. Figure 7 As shown.

[0106] Pedestrian crossings and intersections were selected as simulation scenarios. To enable the optimized model to better adapt to the three motion interaction directions mentioned above, three Avatar motions were set for optimizing the model's interaction force parameters, as shown below:

[0107] (1) Crossing: Starting from the midpoint on the left side of the pedestrian crossing / intersection, move to the right at a constant speed in a straight line. For the pedestrian crossing scenario, the horizontal movement interaction with the Agent is realized; for the intersection scenario, the horizontal movement interaction with the Agents on the left and right sides of the intersection is realized, and the vertical movement interaction with the Agents on the upper and lower sides of the intersection is realized.

[0108] (2) Vertical crossing: Starting from the midpoint of the lower half of the intersection (take the corresponding coordinate point for the pedestrian crossing scenario), move upward in a uniform straight line. For the pedestrian crossing scenario, achieve vertical movement interaction with the Agent; for the intersection scenario, achieve vertical movement interaction with the Agents of the left and right half of the intersection, and achieve horizontal movement interaction with the Agents of the upper and lower half of the intersection.

[0109] (3) Diagonal crossing: Starting from the midpoint of the lower left side of the intersection (take the corresponding coordinate point for the pedestrian crossing scene), move in a uniform straight line from the lower left to the upper right, and interact with the Agent in the scene in an oblique direction. It should be noted that since the focus of this invention is on Agent-Avatar motion interaction, and does not focus on the interaction between Avatar and obstacles such as walls, the optimization allows the Avatar to "pass through the wall" when crossing diagonally.

[0110] This embodiment focuses on Agent-Avatar motion interaction, evaluating the collision frequency and severity during the interaction process. The evaluation metrics include the average number of collisions between the agent and the user avatar, and the average collision depth between them, as detailed below:

[0111] Average Agent-Avatar Collision Count (AVCC): The average number of Agent-Avatar collisions per Agent, reflecting the collision frequency. The unit is collisions. AVCC is defined in formula (9).

[0112] (9)

[0113] Where the subscript 'a' represents Avatar, Represents the entire simulation process The number of collisions that occur between the avatar and the avatar.

[0114] Average Agent-Avatar Collision Depth (AVCD): The average maximum collision depth per Agent-Avatar collision, reflecting the severity of Agent-Avatar collisions in spatial dimensions. The unit is meters. The specific definition of AVCD is shown in formula (10).

[0115] (10)

[0116] in, express With Avatar in the first k The maximum collision depth of the second collision.

[0117] Step b.2, using interaction force parameters The experimental parameters for the multi-objective particle swarm optimization algorithm are set with the evaluation index as the objective function and the decision variable as the objective variable.

[0118] In this embodiment, the experimental parameters of the multi-objective particle swarm optimization algorithm include the decision space dimension, the search range of decision variables, the target space dimension, the particle swarm size, the maximum size of the warehouse, and the maximum number of iterations.

[0119] More specifically, the decision space dimension is set to 5, and the corresponding decision variables are the interaction force parameters { By optimizing the interaction force parameters, we can solve for interaction force parameters that better adapt to Agent-Avatar motion interaction, thereby achieving the goal of improving the Agent-Avatar motion interaction effect.

[0120] The target space dimension is set to 6. The Agent-Avatar motion interaction is optimized for three types of Avatar motions: horizontal, vertical, and diagonal. The average number of collisions per Agent-Avatar and the average collision depth per Agent-Avatar are used as objective functions. The objective value array is a 6-dimensional array storing the AVCC and AVCD values ​​obtained under the three Avatar motions.

[0121] The search range for all decision variables is set to [0, 1, 2, 3]. , [5] The particle swarm size is 500, the maximum warehouse size is 100, and the maximum number of iterations is 200.

[0122] Step b.3: Set the parameters for the virtual population simulation experiment.

[0123] In this embodiment, the virtual swarm simulation experiment parameters include agent radius, perceived neighbor range, expected rate, user avatar's movement speed and path;

[0124] More specifically, the Agent has a radius of 0.35m, a neighbor perception range of 1.5m, and a desired speed of 1m / s. The Avatar has a radius of 0.35m and moves at a constant linear speed of 1m / s in the corresponding Avatar motion direction.

[0125] Step b.4: Conduct a virtual swarm simulation experiment to evaluate the particles in the particle swarm optimization algorithm and obtain the optimized interaction force parameters. The calibration value.

[0126] Virtual simulation experiment procedure: Evaluating a particle in a particle swarm requires three simulations, with the avatar employing three different avatar movements: horizontal, vertical, and diagonal. The average number of collisions per agent-avatar and the average collision depth obtained from each simulation are stored in a target value array. After all three simulations are completed, a six-dimensional target value array is obtained, completing one particle evaluation.

[0127] The interaction force parameters obtained through the virtual simulation experiment are shown in Table 2.

[0128] Table 2 Optimized Agent-Avatar Interaction Force Parameters

[0129]

[0130] Agent-Avatar interaction force parameters in the method of this invention The model parameters in Table 2 were used for calibration, and the overall effect was evaluated through experiments.

[0131] Experiments and Evaluation

[0132] Evaluation indicators and model parameter calibration

[0133] Based on existing research on crowd simulation, model evaluation metrics are summarized and derived to evaluate the control method (User Avatar Motion, UAM) proposed in this invention. Evaluation is conducted at three levels: Agent-Agent motion interaction, Agent-Avatar motion interaction, and global motion interaction, based on collision frequency and severity. Specific evaluation metrics are as follows:

[0134] Average Agent-Agent Collision Count (AACC): The average number of agent-agent collisions per agent, reflecting the collision situation during agent-agent interaction. The unit is collisions.

[0135] Average Agent-Avatar Collision Count (AVCC): The average number of Agent-Avatar collisions per Agent, reflecting the collision frequency. The unit is collisions.

[0136] Average Agent-Avatar Collision Depth (AVCD): The average maximum collision depth per agent-avatar collision, reflecting the severity of agent-avatar collisions in a spatial dimension. The unit is meters.

[0137] Collision Score (CS): This score is calculated by summing the maximum collision depths at each time step and for each collision throughout the simulation, and then averaging the results over the number of time steps and the number of groups. It reflects the overall collision avoidance performance of the model in both temporal and spatial dimensions. A lower collision score indicates a better overall collision avoidance performance.

[0138] The main parameters of the model are set as shown in Table 3.

[0139] Table 3. Main parameter settings for the model

[0140]

[0141] Comparison experiment of different densities

[0142] The experimental scenario was set at a crossroads with a road width of 10m, and the area was... The scene area is 1500 A certain number of Agents are uniformly and randomly distributed in the scene and walk towards their respective destinations. The Avatar starts from positions (-20, 0) and (0, -20), moving in a straight line at a constant speed of 1 m / s from left to right / from bottom to top. An experiment ends when all Agents reach their destinations. Four sets of experiments with different numbers of Agents were set up to represent four densities from low to high. The settings for the four sets of experiments are shown in Table 4, where N is the number of Agents. The initial distribution of Agents in the scene is as follows: Figure 8 As shown.

[0143] Table 4 Experimental Scenario Settings

[0144]

[0145] Ten repeated experiments were conducted, and the average of the ten results was used as the result of this set of density experiments. Agents were controlled using three models: ORCA (Ignore), ORCA (treating users as special agents), and the improved UAM (UAM) model proposed in this invention. Comparative experiments were conducted at different densities, and the experimental data are shown in Table 5. For ease of presentation and comparison, the collision score CS was magnified. times.

[0146] Table 5 Experimental data under different density conditions

[0147]

[0148] Analysis of the experimental results shows that collisions become more frequent and intense with increasing density. For Agent-Agent motion interaction, comparing the results of the three models reveals that the addition of a user avatar, which can be perceived by the agents, increases the frequency of Agent-Agent collisions. The UAM method proposed in this invention can mitigate the impact of avatar addition to some extent. For Agent-Avatar motion interaction, comparing the results of the three models shows that adding avatar perception to ORCA (ORCA group) can significantly reduce the number and depth of collisions between Agents-Avatars. Furthermore, introducing the force of the avatar on the agents (UAM group) can further reduce the degree of collisions between Agents-Avatars, thereby improving the realism of Agent-Avatar motion interaction.

[0149] Regarding the overall collision situation, the collision scores show that the ORCA group performs well in overall collision when the density is low, but it cannot take into account the global situation well when the density is high. The UAM method can balance and take into account Agent-Agent collisions and Agent-Avatar collisions well, and can maintain Agent-Agent and Agent-Avatar motion interactions with low collision rate and shallow collision depth even in very crowded situations.

[0150] Comparison Experiment of Different User Behaviors

[0151] Twenty volunteers were invited to control the movement of an Avatar via input devices to study the performance of the proposed method under different user behaviors. The Avatar started at (-20,0), and users controlled it to move at a speed of 1 m / s in four directions (up, down, left, right) using the keyboard, with the goal of reaching and passing through the rightmost intersection. During the experiment, users controlled the Avatar to perform different movement interactions with nearby Agents. An experiment was considered complete when all Agents reached their destination. Regarding Agent-Avatar movement interaction, this invention studies the model performance under two user behaviors:

[0152] A. "Active Avoidance": Users should try to avoid collisions with Agents while controlling the Avatar to move towards the destination;

[0153] B. "Intentional Collisions": The user controls the avatar to collide with the agents as much as possible while moving it towards the destination.

[0154] Agent-Avatar motion interaction trajectories generated by two types of user behavior, such as Figure 9 As shown in Table 6.

[0155] Table 6 Experimental Scenario Settings for Different User Behaviors

[0156]

[0157] Ten volunteers were assigned to each of the N=200 and N=400 scenarios, and ten sets of experiments were conducted for each scenario. Agents were controlled by the ORCA algorithm (i.e., the Ignore group), which is immune to Avatar movement. Each volunteer performed two experiments on the same scenario, controlling the Avatar to perform two interaction behaviors: "active avoidance" and "intentional collision." That is, each of the four experimental groups in Table 5 was repeated 10 times. The results of each group were averaged to obtain the final experimental results, as shown in Table 7. For ease of display and comparison, the collision score CS was magnified. times.

[0158] Table 7 Experimental data for different user behaviors

[0159]

[0160] For the four different scenarios, the Agent-Agent motion interaction of different models is very similar. The UAM method proposed in this invention performs best in Agent-Avatar motion interaction, with the lowest number of collisions per person and the lowest average collision depth. The Ignore group performs the worst, and the ORCA group is in between.

[0161] Collision scores are used to comprehensively evaluate the overall collision performance of an experiment. Overall, virtual population density has a greater impact on collision scores because it comprehensively evaluates all Agent-Agent and Agent-Avatar collisions in the experiment. Different user behaviors have a greater impact on Agent-Avatar collisions but almost no impact on Agent-Agent collisions. When the virtual population density is low (N=200), collision scores are more significantly affected by Agent-Avatar collisions. User behaviors involving "intentional collisions" by Avatars result in more frequent and severe Agent-Avatar collisions; therefore, the collision score of group 200-B is significantly higher than that of group 200-A. When the virtual population is densely distributed (N=400), collision scores increase significantly. Under this density condition, collision scores are more influenced by Agent-Agent collisions, with user behavior having a minimal impact. Therefore, even though the ORCA group has better Agent-Avatar motion interactions compared to the Ignore group, its collision score is still higher than that of the Ignore group. The UAM group has the lowest collision score among the three groups due to its relatively low number of Agent-Agent collisions and the absolute lowest number and depth of Agent-Avatar collisions.

[0162] Experimental conclusions

[0163] This invention addresses scenarios where real users and virtual groups coexist. It improves upon the traditional ORCA method by proposing a virtual group motion control method that considers real user behavior, and conducts a series of model evaluation experiments. Experimental results show that the proposed method maintains low collision rates and depths for the agent under different virtual group densities and real user behavior conditions. It achieves optimal overall performance in reducing the frequency and severity of collision events, representing a significant improvement over the previous ORCA algorithm.

[0164] The present invention also provides a virtual group motion control device for user motion perception, comprising:

[0165] Motion data module: Used to acquire the current motion data of the user avatar and the intelligent agent;

[0166] The ORCA motion control module is used to calculate the optimal set of mutual collision avoidance velocities for agents based on the ORCA model.

[0167] The motion perception and control module is used to calculate the interaction force between the user avatar and the intelligent agent based on the improved social force model, and update the optimal speed of the intelligent agent accordingly.

[0168] The speed decision module is used to make speed decisions for the agent, obtain the agent's optimal collision avoidance speed, and use this speed to control the agent's movement in the next moment.

[0169] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.

[0170] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions 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: Obtain the current motion data of the user avatar and the virtual group, where the virtual group is an intelligent agent; Step 2: Based on the ORCA model, calculate the optimal set of mutual collision avoidance velocities for the agents; Step 3: Based on the improved social force model, calculate the interaction force between the user avatar and the agent, and update the agent's optimal speed accordingly. Step 4: Make a speed decision for the agent to obtain the agent's optimal collision avoidance speed; Step 5: Use the agent's optimal collision avoidance speed to control the agent's movement in the next moment; The specific formula for calculating the interaction force between the user avatar and the intelligent agent in step 3 is: , in, This represents the interactive force exerted by the user avatar on the intelligent agent; express exist The change in velocity in the direction is represented as ; express exist The change in velocity in the direction is represented as ; The combination of the mutual movement directions of the intelligent agent and the user avatar and their relative positions is represented as: ; express The direction of the normal; Indicates the speed of the intelligent agent; Indicates the speed of the user avatar; For the position of the agent Pointing to the user avatar The unit vector is denoted as ; This indicates the distance between the intelligent agent and the user avatar; Representing vectors and The angle between them; , , All of these are interaction force parameters in the improved social force model; The specific method for updating the agent's optimal speed based on the interaction force in step 3 is as follows: , in, Represents intelligent agents The optimal speed; Represents intelligent agents The acceleration obtained under the influence of the user's interactive force is numerically... = ; Indicates the time interval for speed decision-making; The interaction force parameters were analyzed using a multi-objective particle swarm optimization algorithm. Perform optimization and calibration, and use the optimized version. The calibration value calculates the interaction force between the user avatar and the intelligent agent, and updates the optimal speed of the intelligent agent; The evaluation metrics used for optimization and calibration 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.

2. The method according to claim 1, characterized in that, The optimal collision avoidance speed set of the agents includes the optimal collision avoidance speed set of agents in interactive motion between agents and the optimal collision avoidance speed set of agents in interactive motion between agents and user avatars.

3. The method according to claim 2, characterized in that, The optimal set of mutual collision avoidance velocities for agents in interactive motion is calculated using the following formula: in, express Within a certain time for The optimal set of mutual collision avoidance velocities; express The optimal speed; Indicates - Starting from, pointing to The vector of the point closest to the boundary; express On the border Starting from the boundary line, the normal line points outwards from the boundary. express The optimal speed; express Within a certain time period Caused Speed ​​barrier.

4. The method according to claim 2, characterized in that, Treating the user avatar as a neighboring intelligent agent, assuming the user avatar is in... Maintaining the current speed within a given time period, and considering the current speed to be the optimal speed, the optimal set of mutual collision avoidance speeds for the agent during the interaction between the agent and the user avatar is calculated using the following formula: in, express In-time intelligent agent For user avatars The optimal set of mutual collision avoidance velocities; express The optimal speed; Indicates Starting from, pointing to The vector of the point closest to the boundary; express On the border Starting from the boundary line, the normal line points outwards from the boundary. express The current speed and the optimal speed; express Within a certain time period Caused Speed ​​barrier.

5. The method according to claim 1, characterized in that, The method for making a speed decision in step 4 to obtain the agent's optimal collision avoidance speed is as follows: Step a.1: Find the intersection of the agent's optimal mutual collision avoidance speed set with respect to neighboring agents and the agent's optimal mutual collision avoidance speed set with respect to the user avatar; Step a.2: Through linear programming, select the speed closest to the agent's optimal speed from the intersection of the agent's optimal collision avoidance speed sets.

6. The method according to claim 1, characterized in that, The multi-objective particle swarm optimization algorithm is used to optimize the interaction force parameters. The specific method for optimization and calibration is as follows: Step b.1: Set the target scenario and evaluation metrics for the user avatar interactive movement; Step b.2, using interaction force parameters Set the experimental parameters for the multi-objective particle swarm optimization algorithm, using the evaluation index as the objective function and the decision variable as the objective variable. Step b.3: Set the parameters for the virtual population simulation experiment; Step b.4: Conduct a virtual swarm simulation experiment to evaluate the particles in the particle swarm optimization algorithm and obtain the optimized interaction force parameters. The calibration value; The experimental parameters of the multi-objective particle swarm optimization algorithm include the decision space dimension, the search range of decision variables, the target space dimension, the particle swarm size, the maximum size of the warehouse, and the maximum number of iterations. The virtual swarm simulation experiment parameters include agent radius, perceived neighbor range, expected rate, user avatar's movement speed and path.

7. A virtual group motion control device for user motion perception, characterized in that, include: The motion data module is used to acquire the motion data of the user avatar and the intelligent agent at the current moment; The ORCA motion control module is used to calculate the optimal set of mutual collision avoidance velocities for agents based on the ORCA model. The motion perception and control module is used to calculate the interaction force between the user avatar and the intelligent agent based on the improved social force model, and update the optimal speed of the intelligent agent accordingly. The speed decision module is used to make speed decisions for the agent, obtain the agent's optimal collision avoidance speed, and use this speed to control the agent's movement in the next moment. The specific formula for calculating the interaction force between the user avatar and the intelligent agent in the motion perception and control module is: , in, This represents the interactive force exerted by the user avatar on the intelligent agent; express exist The change in velocity in the direction is represented as ; express exist The change in velocity in the direction is represented as ; The combination of the mutual movement directions of the intelligent agent and the user avatar and their relative positions is represented as: ; express The direction of the normal; Indicates the speed of the intelligent agent; Indicates the speed of the user avatar; For the position of the agent Pointing to the user avatar The unit vector is denoted as ; This indicates the distance between the intelligent agent and the user avatar; Representing vectors and The angle between them; , , All of these are interaction force parameters in the improved social force model; The specific method for updating the agent's optimal speed based on interaction forces in the motion perception and control module is as follows: , in, Represents intelligent agents The optimal speed; Represents intelligent agents The acceleration obtained under the influence of the user's interactive force is numerically... = ; Indicates the time interval for speed decision-making; The interaction force parameters were evaluated using a multi-objective particle swarm optimization algorithm. Perform optimization and calibration, and use the optimized version. The calibration value calculates the interaction force between the user avatar and the intelligent agent, and updates the optimal speed of the intelligent agent; The evaluation metrics used for optimization and calibration 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.

Citation Information

Patent Citations

  • Panic crowd escape simulation method

    CN104331917A

  • Robot cluster motion control method based on crowd interaction behaviors

    CN113485338A