A training system and training method for a competition robot
Patent Information
- Application Number
- CN202610823634.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-06-26
- Filing Date
- 2026-06-09
- Publication Date
- 2026-10-16
AI Technical Summary
现有训练系统无法提供用户机器人的自身的精确模型,难以实现有效的仿真训练
Smart Images

Figure CN122927366A_ABST
Abstract
Description
[0001] Cross-references This application claims priority to U.S. Application No. 19 / 251,759, filed June 26, 2025, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of robotics, and in particular to a training system and method for a racing robot. Background Technology
[0003] Robotics competitions are competitive activities centered around robots. The technology of competitive robotics is challenging for beginners or teams, primarily due to its high dependence on individual operational skills. Therefore, a system is needed for training competitive robots. Existing training systems cannot provide accurate models of the user's robot, making effective simulation training difficult.
[0004] Therefore, this specification provides a training system and method for competitive robots. By constructing a competitive robot model and a competition scenario model, it accurately simulates the user's operation of the competitive robot, customizes a personalized robot, and allows users to conduct simulated training in a competition scenario. This precise simulation training accurately reflects the performance of the competitive robot and improves the user's ability to control the robot. Statistical analysis and other functional modules are also added to provide strategy analysis to guide the user. Summary of the Invention
[0005] This specification provides one or more embodiments of a training system for a racing robot. The system includes: a storage device storing a set of instructions; and a processing device configured to communicate with the storage device. When the set of instructions is executed, the processing device is configured to: acquire user-inputted training customization information, the training customization information including robot parameters; and generate a training model based on the training customization information, the training model including a robot simulation model. The robot simulation model is a simulation model obtained by simulating the racing robot based on the robot parameters and control mapping information. The control mapping information includes multiple mapping pairs consisting of user control data and motion feedback data of the racing robot. Furthermore, the control mapping information is determined in the following ways: based on the control device, the user operation data is acquired; based on the sampling device, the motion feedback data generated by the competition robot in response to the user operation data and the initial control mapping information is sampled and acquired; based on the motion feedback data and the user operation data, the control mapping information is determined by calibrating the initial control mapping information; based on the user operation data, the robot simulation model is controlled to conduct a simulated competition in the scene, and simulated competition data is acquired; based on the simulated competition data and the corresponding user operation data, first analysis data is generated; based on the first analysis data, feedback information is generated and sent.
[0006] This specification provides one or more embodiments of a training method for a racing robot. The method includes: acquiring user-inputted training customization information, the training customization information including robot parameters; generating a training model based on the training customization information, the training model including a robot simulation model, the robot simulation model being a simulation model obtained by simulating the racing robot based on the robot parameters and control mapping information, the control mapping information including multiple mapping pairs consisting of user control data and motion feedback data of the racing robot, and the control mapping information being determined by: acquiring the user control data based on a control device; sampling and acquiring motion feedback data generated by the racing robot in response to the motion of the user control data and initial control mapping information based on a sampling device; determining the control mapping information by calibrating the initial control mapping information based on the motion feedback data and the user control data; controlling the robot simulation model to simulate a race in a scene based on the user control data, and acquiring simulated race data; generating first analysis data based on the simulated race data and the corresponding user control data; generating feedback information based on the first analysis data and sending the feedback information.
[0007] This specification provides one or more embodiments of a computer program product, including a computer program that, when executed by a processor, implements a training method for the competition robot. Attached Figure Description
[0008] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting; in these embodiments, the same reference numerals denote the same structures, wherein: Figure 1 This is an exemplary schematic diagram of a training system for a competition robot according to some embodiments of this specification; Figure 2 This is a block diagram of a training system for a competition robot according to some embodiments of this specification; Figure 3 This is an exemplary flowchart of a training method for a competition robot according to some embodiments of this specification; Figure 4 This is an exemplary flowchart illustrating the determination of control mapping information according to some embodiments of this specification; Figure 5 This is an exemplary flowchart of generating a training model for human-computer adversarial competition based on some embodiments of the present specification. Figure 6 This is an exemplary flowchart illustrating the generation of a training model for an online adversarial competition, as shown in some embodiments of this specification. Figure 7 This is an exemplary flowchart illustrating the determination of win rate information and recommendation strategy information according to some embodiments of this specification. Detailed Implementation
[0009] The accompanying drawings used in the description of the embodiments will be briefly introduced below. The drawings do not represent all embodiments.
[0010] The terms “system,” “device,” “unit,” and / or “module” as used herein are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. If other terms can achieve the same purpose, they may be replaced with other expressions.
[0011] As indicated in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0012] In the embodiments described in this specification, the order of the steps is interchangeable unless otherwise specified, and steps may be omitted. Other steps may also be included in the operation process.
[0013] Figure 1 These are exemplary schematic diagrams of a training system for a racing robot according to some embodiments of this specification. Figure 1 As shown, the training system 100 for the competition robot may include a server 110, a network 120, a sampling device 130, a terminal device 140, a control device 150, a storage device 160, and a competition robot 170.
[0014] In some embodiments, the application scenarios of the training system for competitive robots may include training for competitive robots in robot competitions, as well as other types of robot training and aircraft test flight training. This specification only uses competitive robot training as an example. Major robot competitions include the FIRST Robotics Competition (FRC), VEX Robotics Competition (VRC / VEX U), Botball, Zero Robotics, etc.
[0015] This manual uses the VEX Shooting Contest as an example. In the VEX Shooting Contest, the competition format is a 2V2 battle between two leagues, each league consisting of two teams. The competition is divided into two phases: a 15-second autonomous robot operation phase and a 1 minute 45-second manual user operation phase. The rules are: shoot the ball into the opposing league's basket; a basket into the lower basket scores 1 point, and a basket into the higher basket scores 2 points. The league with the highest cumulative score wins.
[0016] It should be noted that in this manual, "competition robot 170" specifically refers to a real competition robot, while "simulated robot" and "robot simulation model" refer to a virtual simulation of a competition robot.
[0017] Taking the competition robot in the VEX basketball shooting contest as an example, the core components of the competition robot include mechanical structure, power system, sensors, and control system. The mechanical structure includes the chassis, shooting device (such as a catapult), and ball collection device (such as a conveyor belt); the power system includes motors, servo motors, and pneumatic systems; sensors include vision sensors, encoders, and distance sensors; and the control system includes processing units (such as a main controller) and communication equipment (such as Bluetooth).
[0018] In some embodiments, server 110 may be a single server or a group of servers. The server group may be centralized or distributed (e.g., server 110 may be a distributed system). Server 110 may be local or remote. In some embodiments, server 110 may be implemented on a cloud platform. In some embodiments, server 110 may be implemented on a computing device having one or more components, such as processors, storage, input / output (I / O), and communication ports.
[0019] In some embodiments, server 110 may include processing device 112. Processing device 112 can process data and / or information related to the training of the competition robot to perform one or more functions described in this disclosure. Specifically, processing device 112 may include multiple modules, and perform one or more functions described in this disclosure through these modules. For example, processing device 112 may include an interaction module, a training customization module, a training execution module, a training analysis module, and a training feedback module. More details about these modules can be found in [link to relevant documentation]. Figure 2 Related description. In some embodiments, the processing device 112 may include one or more processing engines (e.g., a single-core processing engine or a multi-core processor).
[0020] In some embodiments, server 110 may be unnecessary, and all or part of the functions of server 110 may be implemented by other components of application scenario 100. For example, processing device 112 may be integrated into terminal device 140, and the functions of processing device 112 may be implemented by terminal device 140.
[0021] Network 120 can facilitate the exchange of information and / or data used for training system 100. In some embodiments, one or more components of training system 100 (e.g., server 110, sampling device 130, terminal device 140, or storage device 160) can transmit information and / or data to one or more other components of application scenario 100 via network 120. In some embodiments, network 120 can be any type of wired or wireless network, or a combination thereof.
[0022] The sampling device 130 can be configured to sample and acquire motion feedback data from the competition robot 170. In some embodiments, the sampling device 130 may include a sensor 130-1, a camera device 130-2, etc. For example, the sensor 130-1 may include a motion sensor, a force sensor, an angle sensor, a distance sensor, etc., and may be mounted on the competition robot 170; the camera device 130-2 may include an image monitoring device, a smartphone, a computer, a tablet computer, a smart screen, etc., and may be installed in the surrounding environment of the competition robot 170 or on the competition robot.
[0023] Terminal device 140 can be configured to receive information and / or data from server 110, sampling device 130, and / or storage device 160 via network 120. For example, terminal device 140 can receive images and / or video from sampling device 130. As another example, terminal device 140 can send instructions to sampling device 130 and / or server 110.
[0024] In some embodiments, the terminal device 140 may be a mobile device 140-1, a computer 140-2, a wearable device 140-3, or any combination thereof. In some embodiments, the terminal device 140 includes a display device through which a user can view information and / or input data and / or instructions to the training system 100. For example, a user can view feedback information and input training customization information through the display device. In some embodiments, the terminal device 140 may be connected to one or more components of the training system 100 (e.g., server 110, sampling device 130, and / or storage device 160) via network 120.
[0025] The control device 150 can be configured to acquire user control data to control the competition robot and / or robot simulation model. For example, the control device 150 can be a handle 150-1, a remote control 150-2, etc. In some embodiments, the control device 150 may include multiple buttons, joysticks, or touch buttons. In some embodiments, the control device 150 may be integrated into the terminal device 140. When the user operates the control device 150, the control device 150 can send signals (signals representing user control data) to the processing device (such as the main controller) of the competition robot, the terminal device 140, and / or the processing device 112 via a network (such as VEXnet or Bluetooth). By running program code (code representing control mapping information), the signals are processed to generate instructions (instructions for controlling the movement of the competition robot). The instructions are sent to the mechanical structure, power system, sensors, etc. of the competition robot via the network to execute the instructions and complete the corresponding robot movement.
[0026] Storage device 160 can be configured to store data and / or instructions. The data and / or instructions can come from, for example, any other component of server 110, terminal device 140, and / or training system 100. In some embodiments, storage device 160 can store data and / or instructions for performing the exemplary methods described herein. In some embodiments, storage device 160 can include a mass storage device, a removable storage device, a volatile read-write memory, a read-only memory (ROM), or any combination thereof. In some embodiments, storage device 160 can be implemented on a cloud platform.
[0027] In some embodiments, the storage device 160 may be a separate device that communicates with other components of the training system 100 via the network 120, or it may be integrated into any one or more components.
[0028] In some embodiments, a training system for a racing robot includes: a storage device storing a set of instructions; and a processing device configured to communicate with the storage device, wherein when executing the set of instructions, the processing device is configured to: acquire user-inputted training customization information, the training customization information including robot parameters; generate a training model based on the training customization information, the training model including a robot simulation model, the robot simulation model being a simulation model obtained by simulating the racing robot based on the robot parameters and control mapping information, the control mapping information including multiple mapping pairs consisting of user control data and motion feedback data of the racing robot; control the robot simulation model to simulate a competition in a scene based on the user control data, and acquire simulated competition data; generate first analysis data based on the simulated competition data and the corresponding user control data; generate feedback information based on the first analysis data and send the feedback information. The control mapping information is determined by: acquiring user control data based on a control device; sampling and acquiring motion feedback data generated by the racing robot in response to the user control data and initial control mapping information based on a sampling device; and determining the control mapping information by calibrating the initial control mapping information based on the motion feedback data and user control data.
[0029] Figure 2 This is a block diagram of a training system for a racing robot according to some embodiments of this specification. For example... Figure 2 As shown, the training system 200 for the competition robot includes an interaction module 210, a training customization module 220, a training execution module 230, a training analysis module 240, a training feedback module 250, and a sampling module 260.
[0030] Interaction module 210 refers to the module by which the training system interacts with the user or external systems (i.e., multiple third-party platforms).
[0031] In some embodiments, a user can input data to the interaction module 210 via the terminal device 140.
[0032] In some embodiments, the interaction module is configured to acquire training customization information input by the user, and is further configured to acquire user opponent features, real-world match data, user demand instructions, and execute the demand instructions.
[0033] Training customization module 220 refers to the module that generates personalized training models.
[0034] In some embodiments, the training customization module is configured to generate a training model based on training customization information, the training model including a scene simulation model and a robot simulation model.
[0035] In some embodiments, the training customization module is further configured to: determine control mapping information based on user control data and motion feedback data.
[0036] In some embodiments, the training customization module is further configured to: evaluate the sufficiency of the sampling of control mapping information; determine supplementary sampling parameters in response to the sufficiency of sampling not meeting the sufficiency requirements; send the supplementary sampling parameters to the sampling module and receive the supplemented motion feedback data obtained and uploaded by the sampling module based on the supplementary sampling parameters; and update the control mapping information based on the user control data and the supplemented motion feedback data.
[0037] In some embodiments, the training customization module is further configured to: construct a robot simulation model based on control mapping information; the user controls the movement of the competition robot and the simulated movement of the robot simulation model according to the user control data in the control mapping information to perform a control verification process; based on the simulation feedback data of the robot simulation model, the motion feedback data of the competition robot, and the corresponding user control data during the control verification process, determine multiple target mapping pairs, which constitute the filtered control mapping information; and determine the sampling sufficiency based on the filtered control mapping information.
[0038] In some embodiments, the training customization module is further configured to: in response to a human-computer adversarial competition training mode, determine the user's skill level change data based on the user's historical analysis data, the skill level change data including accuracy change values of multiple skills; determine training weight data based on training objective information, the training weight data including training weights of multiple skills; determine training difficulty based on training weight data and skill level change data; and generate a training model based on the training mode and training difficulty.
[0039] In some embodiments, the training customization module is further configured to: in response to the training mode being an online adversarial match, determine the skill level change data of the online user and the skill level change data of the user based on the historical analysis data of the online user and the user's historical analysis data; determine one or more candidate opponents of the user based on the skill level change data of multiple online users and the user's skill level change data; and determine the target opponent and generate a training model based on the one or more candidate opponents.
[0040] Training execution module 230 refers to the module that performs robot simulation training.
[0041] In some embodiments, the training execution module is configured to: control the robot simulation model to conduct a simulated competition in a scene based on user control data, and acquire simulated competition data.
[0042] Training analysis module 240 refers to the module that analyzes relevant data during robot simulation training.
[0043] In some embodiments, the training analysis module is configured to generate first analysis data based on simulated match data and user control data.
[0044] In some embodiments, the training analysis module is configured to: determine multiple key nodes based on simulated match data; for each key node, determine the first analysis sub-data of the key node based on the simulated match data and user control data corresponding to the key node, and the first analysis sub-data of multiple key nodes constitutes the first analysis data.
[0045] In some embodiments, the training analysis module is configured to generate second analysis data based on real-world competition data. The second analysis data includes performance data of the competing robot and user skill usage data from the real-world competition.
[0046] The training feedback module 250 refers to the module that analyzes relevant data and generates feedback information during the robot simulation training process.
[0047] In some embodiments, the training feedback module is configured to generate feedback information based on the first analysis data and send the feedback information. In some embodiments, the training feedback module may send the feedback information to a display device, and the feedback information includes technical analysis information, win rate information, and recommendation strategy information.
[0048] In some embodiments, the training feedback module is configured to: acquire user opponent features; determine win rate information based on the user opponent features and first analysis data; and determine recommendation strategy information based on the user's skill level change data and the first analysis data. The skill level change data includes accuracy change values for multiple skills.
[0049] In some embodiments, the training feedback module is configured to: determine reference analysis data of the user's opponent based on the user's opponent characteristics; and determine win rate information through a win rate prediction model based on the reference analysis data and the first analysis data. The win rate prediction model is a machine learning model.
[0050] In some embodiments, the training feedback module is configured to: determine the user's target improvement dimension based on the user's level change data; and determine recommendation strategy information based on the target improvement dimension, the first analysis data, and the user's opponent's reference analysis data.
[0051] In some embodiments, the training feedback module is configured to generate feedback information based on the second analysis data.
[0052] Sampling module 260 refers to the module that collects and acquires relevant data.
[0053] In some embodiments, the sampling module is configured to: acquire user control data based on the control device; and sample and acquire motion feedback data of the competition robot based on the sampling device.
[0054] In some embodiments, the multiple modules described above can communicate with each other via network 120. The multiple modules can be configured with storage device 160 separately, or they can communicate with storage device 160. The multiple modules can be configured as multiple separate components, or they can be integrated into a single component. For example, the training system 200 can be a combination of... Figure 1 In the exemplary embodiment of the described processing device 112, one or more modules of the training system 200 may correspondingly be modules of the processing device 112. For example, the processing device 112 may include one or more processing engines, and each of the aforementioned modules may be a processing engine of the processing device 112. The interaction module 210 may be communicatively connected to the training customization module 220, the training analysis module 240, and the training feedback module 250. The training customization module 220 may be communicatively connected to the training execution module 230 and the sampling module 260. The training execution module 230 may be communicatively connected to the training analysis module 240. The training analysis module 240 may be communicatively connected to the training feedback module 250.
[0055] Figure 3 This is an exemplary flowchart of a training method for a racing robot according to some embodiments of this specification. In some embodiments, process 300 may be executed by a training system 200 for the racing robot. Figure 3 As shown, process 300 includes the following steps.
[0056] Step 310: Obtain training customization information input by the user. In some embodiments, step 310 may be performed by the interaction module 210.
[0057] The training customization information includes training mode, training scenario parameters, and robot parameters.
[0058] Training modes include human-computer competition, online competition, and single-player tasks.
[0059] Human-machine combat competition refers to a mode in which a user's simulated robot competes against one or more AI simulated robots. An AI simulated robot is a robot simulation model generated using AI technology. AI technology can include behavior trees (BT), finite state machines (FSM), deep learning algorithms, etc. In some embodiments, the AI simulated robots used in human-machine combat competitions can be obtained in various ways. For example, the interaction module 210 can crawl data from third-party platforms (such as robot forums) via network 120 to obtain robot parameters and control mapping information from other users, and upload this information to the training customization module 220 to generate corresponding AI simulated robots. Alternatively, the interaction module 210 can obtain existing AI simulated robots from third-party platforms via network 120 and upload them to the training customization module 220.
[0060] Online adversarial competition refers to a mode in which a user's simulated robot competes against simulated robots from one or more other users within one or more training systems 200. The simulated robots from other users are generated in the same way as the user's simulated robots, as detailed in step 320 below.
[0061] Single-person task refers to a training mode where the user's simulated robot completes a designated task alone. For example, high-speed basketball shooting. Designated tasks can be preset by the user and uploaded to the training system 200 according to requirements.
[0062] Training scenario parameters refer to parameters related to the training scenario of the simulated robot, including the training scenario type, training scenario environment information, and training scenario structure information. The training scenario of the simulated robot can be the competition scenario of a racing robot.
[0063] Training scenario types correspond to competition scenario types. For example, a basketball shooting competition. Training scenario environmental information corresponds to competition scenario environmental information. For example, the temperature and humidity of the competition venue. Training scenario structural information corresponds to competition scenario structural information. For example, the ground friction coefficient, the size and height of the basketball hoop, the size and material of the basketball, and the architectural structural diagram of the scenario. The structural diagram can be a CAD (computer-aided design) drawing, a UG (Unigraphics) drawing, or a SW (SolidWorks) drawing, etc.
[0064] In some embodiments, training scenario parameters can be obtained by the interaction module 210 from third-party platforms (such as the official website of the event and weather forecasts).
[0065] Robot parameters refer to the relevant parameters of a competition robot. These include, for example, the material composition, dimensions, connection types (e.g., welding, threaded connections, axle-wheel connections, etc.), and structural diagrams of each part of the competition robot.
[0066] In some embodiments, the user inputs the training customization information for the current training session to the interaction module 210 via the terminal device 140. Input methods include clicking to select, manual input, or importing via transfer. For example, clicking to select the current training mode, manually inputting, or importing the training scenario parameters and robot parameters for the current training session.
[0067] Step 320: Generate a training model based on the training customization information. In some embodiments, step 320 may be performed by the training customization module 220.
[0068] The training model includes a scenario simulation model and a robot simulation model. The scenario simulation model is a simulation model of the competition scenario of the competition robot, and the robot simulation model is a simulation model obtained by simulating the competition robot based on robot parameters and control mapping information.
[0069] In some embodiments, the training customization module 220 can generate a scene simulation model based on training scene parameters and a robot simulation model based on robot parameters and control mapping information. The methods for generating the model include, but are not limited to, modeling in simulation software. The simulation software can be GoppeliaSim, Gazebo, etc.
[0070] Training scenario parameters and robot parameters can be obtained from interaction module 210 by training customization module 220.
[0071] Control mapping information comprises multiple mapping pairs consisting of user control data and motion feedback data from the competition robot. This control mapping information reflects the correspondence between user actions and robot movements.
[0072] User control data refers to the data generated by the user's actions on the control device when controlling the movement of the racing robot. Motion feedback data refers to the motion data generated by the racing robot in response to the user control data.
[0073] For example, the control device is a handle with multiple buttons and multiple joysticks. Different joysticks (including left and right joysticks), the direction of joystick movement, the amplitude of joystick movement, the button mode of the launch button (including double-click and single-click), and the button duration of the acceleration button correspond to controlling the motion parts (including but not limited to various transmission, braking, and launch components), movement direction, movement distance, and / or acceleration duration of the racing robot.
[0074] User control data corresponds to motion feedback data from the competition robot. Each user control data point and its corresponding motion feedback data point form a mapping pair. For example, (moving the right joystick 10° to the left causes the competition robot to move 0.5 meters to the left), (moving the left joystick 10° upwards causes the competition robot's control arm to rise 0.5 meters), and (double-clicking the launch button launches the competition robot) are three mapping pairs respectively. A mapping pair can also consist of multiple consecutive user control data points and multiple consecutive motion feedback data points from the competition robot. For example, (moving the left joystick upwards 10° and then pressing the acceleration button while moving the right joystick 10° to the right causes the competition robot to first raise its control arm 0.5 meters and then accelerate to the right by 0.5 meters).
[0075] In some embodiments, users can independently design the relationship between the controller's control logic and the robot's response, that is, to realize the mapping relationship between user control data and the motion feedback data of the competition robot through programming code, that is, to pre-set multiple mapping pairs and input them into the interaction module 210 through the terminal device. The training customization module 220 can obtain the initial control mapping information composed of the pre-set multiple mapping pairs from the interaction module 210.
[0076] For example, the control device is a VEX V5 controller. The handle has multiple buttons and multiple joysticks. Users can design the following mapping relationship: the left joystick controls the movement of the competition robot. Pushing the left joystick up, down, left, and right corresponds to the competition robot moving forward, backward, left, and right respectively; the right joystick controls the operation parts of the competition robot. Pushing the right joystick up and down controls the angle of the shooting device (pushing up raises the launch angle to aim at the high basket; pulling down lowers the launch angle to aim at the low basket), and pushing the right joystick left and right controls the left and right rotation of the robotic arm; among the four function buttons, the L1 button is used for fast shooting with preset force, the L2 button is used for collecting the ball, the R1 button is used to extend the robotic arm, and the R2 button is used to launch the ball; among the four directional buttons, the N button is used to switch to high-speed mode for fast movement, the S button is used for forced emergency braking, the W button is used to start automatic aiming, and the E button is used to reset the position of the robotic arm. For example, (pushing the left joystick up by 10% causes the competition robot to move forward at 10% of its maximum speed), (pushing the right joystick up by 10% causes the competition robot to raise the launch angle of the shooting device by 10% of its maximum angle), and (pressing the left button activates the automatic aiming of the shooting device) are three mapping pairs.
[0077] In some embodiments, the training customization module can determine control mapping information based on user control data and motion feedback data. The user control data is acquired by the sampling module using a control device, and the motion feedback data of the racing robot is sampled by the sampling module using a sampling device. The sampling module then sends the user control data and motion feedback data to the training customization module. See also: [link to related content] Figure 4 Related descriptions.
[0078] In some embodiments, the control mapping information is determined by: the processing device acquiring user control data based on the control device; sampling and acquiring motion feedback data generated by the competition robot's motion in response to the user control data and the initial control mapping information based on the sampling device; and determining the control mapping information by calibrating the initial control mapping information based on the motion feedback data and the user control data. For more information on this section, please refer to [link to relevant documentation]. Figure 4 Related descriptions.
[0079] In some embodiments, the training model generated by the training customization module based on the training customization information further includes an AI-simulated robot for human-machine competition and / or simulated robots from other users within the training system for online competition. For information on the generation or selection of AI-simulated robots and simulated robots from other users within the training system, please refer to [link to relevant documentation]. Figure 5 and Figure 6 Related descriptions.
[0080] Step 330: Based on user control data, control the robot simulation model to conduct a simulated competition in the scene and acquire simulated competition data. In some embodiments, step 330 can be executed by the training execution module 230. The scene can be a scene simulation model.
[0081] Simulated competition data refers to the real-time data generated by the training execution module as it controls the robot simulation model to conduct simulated competitions within a scenario simulation model, based on user input data. For example, simulated competition data includes simulated competition image data and time data. Simulated competition image data can be a complete video of the simulated competition. The simulated competition data is synchronized with the corresponding user input data in the time dimension.
[0082] In some embodiments, the training execution module can acquire user control data and control the robot simulation model to move according to the control mapping information based on the user control data, so as to realize simulated competition in the scene and acquire and record simulated competition data in real time.
[0083] Step 340: Generate first analysis data based on simulated match data and corresponding user control data. In some embodiments, step 340 may be performed by the training analysis module 240.
[0084] The first set of analytical data includes performance data of the robot simulation model during the simulated competition and user skill usage data.
[0085] Performance data refers to data related to the performance of a simulated robot. For example, the performance of a simulated robot in a simulated competition, including wins and losses, as well as specific points scored and points not scored.
[0086] For example, in a simulated shooting contest, the player scores 6 points by making 3 shots into the high rim, and 6 points by making 6 out of 10 shots into the low rim and 8 points by making 8 out of 10 shots into the high rim, thus winning the game.
[0087] Skill usage data refers to data related to the skills used by users during simulated competitions. Skills can be pre-defined and named by the user. Skill usage data can include the skills used by the user and the time spent using those skills.
[0088] For example, in a shooting contest, the first skill is a sudden stop and turn (pull the left stick up to 100%, press the S button for a sudden stop, then push the left stick to the right to 70%, the robot accelerates forward, stops abruptly, and turns 90° to the right); the second skill is obstacle avoidance (pull the left stick up to 80% and then to the left by 30%, the robot draws an arc to the left and forward); the third skill is rapid-fire shooting (press the W button for auto-aiming, then press the L1 button three times, the robot performs three consecutive shots); the fourth skill is blocking the basket (hold down the R1 button while pushing the right stick left and right, the robot extends its mechanical arm to its maximum width and slightly shakes the mechanical arm), etc. The first, second, and fourth skills are combat skills, used to interfere with opponents, defend, or escape; the third skill is a scoring skill. The above skills are just examples and are not limitations.
[0089] In some embodiments, the training analysis module can determine the performance data of the robot simulation model at preset nodes based on simulated competition data; and determine the user's skill usage data at preset nodes based on user operation data in simulated competitions, thereby generating first analysis data.
[0090] Preset nodes can be manually set according to the type and rules of the game. For example, in a shooting competition, preset nodes can be stage nodes (including the 12s-15s scoring node of the autonomous stage, the 25s-35s early stage node of the manual stage, the 50s-60s mid stage node of the manual stage, the 80s-105s sprint node, etc.). Preset nodes can also be shooting nodes (including high basket ball nodes and low basket ball nodes).
[0091] In some embodiments, the training analysis module can use image recognition technology to identify multiple preset nodes from simulated competition data and determine the robot simulation model's score at the preset nodes. Similarly, it can obtain the opponent's score at the preset nodes, determine the winner through statistics and comparison, and obtain the corresponding time of the preset nodes through time series analysis to determine the robot simulation model's performance data. Furthermore, it can obtain user skill usage data at the same preset nodes from user operation data in the simulated competition. The first analysis data is obtained by summarizing these. The image recognition technology includes, but is not limited to, target detection and tracking (YOLO + DeepSORT).
[0092] In some embodiments, the training analysis module may also determine multiple key nodes based on simulated match data; for each key node, a first analysis sub-data of the key node is determined based on the simulated match data corresponding to the key node and the user control data corresponding to the key node, and the first analysis sub-data of multiple key nodes constitutes the first analysis data.
[0093] Key nodes refer to nodes that have significant analytical value during the simulated competition, including the aforementioned preset nodes and adversarial nodes. Adversarial nodes are nodes where the user's robot simulation model engages in adversarial combat with AI-simulated robots and / or other users' simulated robots.
[0094] In some embodiments, the training and analysis module can identify multiple key nodes based on simulated match data using image recognition technology. Image recognition technology can include, but is not limited to, a trained node identification model. The node identification model can be a machine learning model, such as a Convolutional Neural Network (CNN).
[0095] The simulated match data and user control data corresponding to key nodes refer to the simulated match data and user control data for the time periods corresponding to the key nodes.
[0096] In some embodiments, the training analysis module can determine the first analysis sub-data of a key node based on the simulated match data and corresponding user control data. For example, if key node 1 is a high basket ball node, the first analysis sub-data of key node 1 is (scoring 2 points, using the third skill). The method for determining the first analysis sub-data is the same as the method for determining the first analysis data described above. The first analysis sub-data of multiple key nodes constitutes the first analysis data.
[0097] In some embodiments of this specification, by identifying key nodes, simulated match data can be filtered, and high-value data can be retained for analysis to improve data processing efficiency.
[0098] Step 350: Generate feedback information based on the first analysis data and send the feedback information. In some embodiments, step 350 may be performed by the training feedback module 250. In some embodiments, the training feedback module 250 may send the feedback information to a display device.
[0099] Feedback information includes technical analysis, win rate information, and recommendation strategy information.
[0100] Technical analysis information refers to analytical data related to user operations. Examples include user skill error rates.
[0101] In some embodiments, the training feedback module can determine the skills used by users at each key node from the first analysis data, compare the skills used by users at each key node with the target skills, determine whether the user skills are used correctly at each key node, and statistically analyze the first analysis data from multiple simulated matches, determining the ratio of the number of incorrect skill usages to the total number of skill usages as the user skill usage error rate. The target skill refers to the correct skill required to be used. The target skills for each key node are preset and uploaded manually according to the specific match type and rules.
[0102] For example, in a shooting contest, the target skills for key points 1, 2, and 3 are the third skill, the second skill + the third skill, and the fourth skill, respectively. If the skill is used 15 times in 5 shooting contests, and 3 of them are used incorrectly, then the technical analysis information can be that the user's skill usage error rate is 20%.
[0103] Win rate information refers to the win percentage. In some embodiments, the training feedback module can statistically analyze the first set of data from multiple simulated matches and determine the win rate as the ratio of the number of wins to the total number of matches. For example, a best-of-five series has a win rate of 60%.
[0104] Recommended strategy information refers to operational suggestions and optimization strategies for users. For example, it could specify dimensions to focus on training and improvement. In some embodiments, the training feedback module can statistically analyze the first set of data from multiple simulated games to determine the score distribution at each key node, and then determine the recommended strategy information based on this distribution. For example, in 5 shooting competitions, key node 1 scored in all games, key node 2 had two losses (i.e., scored in 3 games and lost in 2), and key node 3 lost all games. The score distribution would be (1, 0.6, 0). The recommended strategy information could be that key node 2 is where users are most likely to lose points and requires focused training.
[0105] In some embodiments, the training feedback module can also determine win rate information based on user opponent characteristics and first analysis data; and determine recommendation strategy information based on user skill level change data and first analysis data. For more information on this topic, please refer to [link to relevant documentation]. Figure 7 Related explanations.
[0106] In some embodiments of this specification, a personalized training model is precisely generated based on user-input training modes, training scenario parameters, robot parameters, and other data. This includes a user-unique robot simulation model and a competition scenario simulation model, which allows the user to control the simulated robot to complete a simulated competition and obtain simulated competition data. The precise simulation of the training model enables the simulated competition data to accurately reflect the performance of the real robot. The combined analysis of simulated competition data and user control data can accurately provide feedback on the user's skills and provide the user with competition strategies or training strategies. Through continuous simulated competition training, the user's ability to operate the robot and their understanding of competitors can be improved, helping the user increase their chances of winning the competition.
[0107] Figure 4 This is an exemplary flowchart illustrating the determination of control mapping information according to some embodiments of this specification. In some embodiments, process 400 may be executed by a training system 200 for a racing robot. Figure 4 As shown, process 400 includes the following steps.
[0108] In some embodiments, the user pre-sets multiple mapping pairs through programming code to form initial control mapping information. However, due to various errors in actual operation, such as mechanical errors (e.g., gear backlash), control delays (e.g., motor response lagging behind controller input), sensor noise (e.g., encoder or IMU data fluctuations), and environmental interference (e.g., uneven ground friction), it is necessary to correct the pre-set initial control mapping information to achieve error compensation. Correspondingly, the user can transmit the code corresponding to the initial control mapping information to the main controller of the competition robot. The user performs various operations on the control device, and the main controller of the competition robot runs the code corresponding to the initial control mapping information, processes the signals corresponding to the user's control data, generates corresponding instructions, and controls the movement of the competition robot to generate corresponding actual motion feedback data. Based on the actual motion feedback data and the user's control data, the initial control mapping information is corrected to obtain the control mapping information. See steps 410-420 for details.
[0109] Step 410: Based on the control device, acquire user control data and based on the sampling device, sample and acquire motion feedback data of the competition robot. In some embodiments, step 410 may be performed by the sampling module 260.
[0110] In some embodiments, the user can perform various operations on the control device to control each movable part of the racing robot to move in various directions. The control device can acquire user control data during the process, and the sampling device can collect motion feedback data during the process and transmit them to the sampling module.
[0111] Step 420: Based on user control data and motion feedback data, determine control mapping information. In some embodiments, step 420 may be performed by the training customization module 220.
[0112] In some embodiments, a user control data point and a corresponding motion feedback data point at the same time constitute an initial actual mapping pair. For each user control data point, the training customization module can retrieve and determine all initial actual mapping pairs including that user control data, and identify the initial actual mapping pair with the highest frequency as the mapping pair corresponding to that user control data. By traversing all user control data points, each mapping pair corresponding to each user control data point is obtained, thereby constituting control mapping information.
[0113] For example, for user control data A1, the motion feedback data corresponding to user control data A1 at times T1, T2, T3, and T4 are B1, B1, B2, and B3, respectively. Then, all the initial mapping pairs of user control data A1 are (A1, B1), (A1, B1), (A1, B2), and (A1, B3), respectively. Among them, (A1, B1) appears most frequently, so (A1, B1) is the mapping pair corresponding to user control data A1. Traversing and determining all the mapping pairs corresponding to user control data is the control mapping information.
[0114] In some embodiments of this specification, control mapping information is constructed based on user control data and the corresponding real motion feedback data of the competition robot to customize the robot simulation model. This enables the robot simulation model to accurately simulate the real motion of the competition robot and make correct motion responses based on user operations, thereby reducing errors.
[0115] In some embodiments, such as Figure 4 As shown, process 400 also includes step 430. Step 430 can also be executed by training customization module 220.
[0116] Step 430: Evaluate the sufficiency of the control mapping information sampling; in response to the sampling sufficiency not meeting the sufficiency requirements, determine supplementary sampling parameters; send the supplementary sampling parameters to the sampling module, and receive the supplementary motion feedback data obtained and uploaded by the sampling module based on the supplementary sampling parameters; update the control mapping information based on the user control data and the supplementary motion feedback data.
[0117] In some embodiments, the processing device may assess the sufficiency of sampling of control mapping information; determine supplementary sampling parameters in response to the sufficiency of sampling not meeting the sufficiency requirements; perform supplementary sampling based on the supplementary sampling parameters to obtain supplementary motion feedback data; and update the control mapping information based on user control data and the supplementary motion feedback data.
[0118] Sampling adequacy is a parameter used to measure whether there is sufficient sampled data required to construct control mapping information. The higher the sampling adequacy value, the more fully the user control data and motion feedback data are sampled.
[0119] In some embodiments, the training customization module can evaluate the sufficiency of sampling of control mapping information in various ways. For example, for each user control data, the training customization module can retrieve and determine the number of all initial mapping pairs including the user control data. If the number is less than a preset threshold, the user control data is considered insufficiently sampled (i.e., the mapping pair corresponding to the user control data is an insufficiently sampled mapping pair). The module iterates through all user control data, counts and determines the number of insufficiently sampled user control data (the same as the number of insufficiently sampled mapping pairs), calculates the ratio of this number to the total number of user control data included in the control mapping information (the same as the total number of mapping pairs included in the control mapping information), and determines the sufficiency of sampling as the difference between 1 and this ratio.
[0120] For example, the control mapping information includes 5 mapping pairs, namely (A1,B1), (A2,B3), (A3,B5), (A4,B6), and (A5,B4). The initial number of mapping pairs corresponding to user control data A1, A2, A3, A4, and A5 are 2, 5, 8, 7, and 6, respectively. The preset number threshold is manually preset to 6. Then, A1 and A2 are insufficiently sampled user control data, that is, (A1,B1) and (A2,B3) are insufficiently sampled mapping pairs. Therefore, the sampling sufficiency is 1-2 / 5=0.6.
[0121] In some embodiments, the training customization module can also construct a robot simulation model based on control mapping information. The user controls the actual movement of the competition robot and the simulated movement of the robot simulation model in the scene simulation model according to the user control data in the control mapping information to perform a control verification process. Based on the simulation feedback data of the robot simulation model, the motion feedback data of the competition robot, and the corresponding user control data during the control verification process, multiple target mapping pairs are determined, and the multiple target mapping pairs constitute the filtered control mapping information. Based on the filtered control mapping information, the sampling sufficiency is determined.
[0122] In some embodiments, the training customization module constructs a robot simulation model based on the control mapping information. The user operates the control device according to the user control data in the control mapping information to control the actual movement of the competition robot and the simulated movement of the robot simulation model, thereby obtaining the simulated feedback data generated by the simulated movement of the robot and the motion feedback data generated by the actual movement of the competition robot. If the simulated feedback data and motion feedback data corresponding to the same user control data are the same, then the mapping pair formed by the user control data and the motion feedback data is determined as the target mapping pair. All user control data in the control mapping information are traversed to determine all target mapping pairs, thus forming the filtered control mapping information.
[0123] In some embodiments, the training customization module can calculate the ratio of the number of insufficiently sampled mapping pairs in the filtered control mapping information to the total number of target mapping pairs included in the filtered control mapping information, and determine the sampling sufficiency as the difference between 1 and this ratio. This process is described above and follows the same principle, so it will not be repeated here.
[0124] In some embodiments of this specification, the target mapping pairs included in the filtered control mapping information are mapping pairs where the simulated feedback data and motion feedback data corresponding to the same user operation data are the same. Therefore, the robot simulation model constructed based on the filtered control mapping information can accurately simulate the correspondence between user operation and robot motion. Moreover, the sufficiency of sampling is evaluated based on the filtered control mapping information, avoiding the influence of invalid data and making the determination of sufficiency of sampling more meaningful.
[0125] The sufficiency requirement refers to the requirement for sufficient sampling without the need for additional sampling. For example, the sampling sufficiency is greater than a preset sufficiency threshold.
[0126] Supplementary sampling parameters refer to the parameters related to supplementary sampling by the sampling device. For example, the sampling device that enables supplementary sampling and its corresponding sampling frequency.
[0127] In some embodiments, when the training customization module determines that the sampling sufficiency does not meet the sufficiency requirement, it can identify the sampling device corresponding to the insufficient sampling mapping pair as the sampling device to enable supplementary sampling, and increase its sampling frequency by a preset increment. The preset increment can be manually preset, such as 30%, 50%, etc.
[0128] In some embodiments, the training customization module can send supplementary sampling parameters to the sampling module. The sampling module controls the sampling device to perform supplementary sampling based on the supplementary sampling parameters, obtains the supplemented motion feedback data, and transmits it to the training customization module. The training customization module can then redetermine the control mapping information based on the user control data and the supplemented motion feedback data. The determination method is the same as in step 420 and will not be described in detail here.
[0129] In some embodiments of this specification, by evaluating the sufficiency of the sampling of control mapping information and performing supplementary sampling when the sampling is insufficient, the control mapping information is improved, which helps to make the construction of the robot simulation model more accurate.
[0130] Figure 5 This is an exemplary flowchart illustrating the training modes shown in some embodiments of this specification for generating training models during human-machine adversarial competitions. In some embodiments, process 500 may be executed by the training customization module 220 in the training system 200 of the competition robot.
[0131] like Figure 5 As shown, in response to the training mode of human-machine adversarial competition, process 500 includes the following steps.
[0132] Step 510: Based on the user's historical analysis data, determine the user's level change data.
[0133] Historical analysis data refers to relevant analytical data of a user's past matches, including data on the user's historical skill usage and historical win / loss records during past matches.
[0134] Level change data refers to data reflecting changes in a user's skill level. Level change data includes accuracy changes for multiple skills.
[0135] In some embodiments, the training customization module can determine the user's skill level changes based on the user's historical analysis data. For example, for each skill, the training customization module can arrange the most recent M historical matches in chronological order, obtain the win / loss records of these M matches, calculate the win rates of the previous N1, N2, and N3 matches, and the total win rate of the M matches, denoted as R1, R2, R3, and R, respectively. The value is defined as the change in accuracy for that skill. A positive change in accuracy indicates that the addition of the skill increases the win rate, while a negative change in accuracy indicates that the addition of the skill decreases the win rate. The smaller the negative value, the greater the decrease in the win rate. Where N1 < N2 < N3 < M. The sequence of accuracy change values for multiple skills constitutes the horizontal change data.
[0136] Step 520: Determine the training weight data based on the training target information.
[0137] Training objective information refers to information related to the goals of simulated training. For example, the type of training objective. Training objective types include daily improvement training, pre-competition preparation training, and the corresponding competition type. In some embodiments, training objective information can be input by the user through an interactive module.
[0138] The training weight data includes training weights for multiple skills. In some embodiments, different training objective information may correspond to different training weight data.
[0139] In some embodiments, the training customization module can determine training weight data according to preset rules based on training objective information. For example, when the training objective is daily improvement training, the training weight of skills with negative accuracy changes is increased. The smaller the negative value, the more the addition of the skill causes a decrease in the win rate in the competition, and the more the skill needs to be strengthened, thus the greater the training weight of that skill. When the training objective is pre-competition preparation training, the training weight corresponding to skills with higher importance in the competition is set higher, depending on the type of competition. Importance can be represented by score proportion.
[0140] For example, in a shooting contest, if the third skill has the highest scoring weight, then the third skill has the highest importance, and its corresponding training weight can be the highest.
[0141] Step 530: Determine the training difficulty based on the training weight data and level change data.
[0142] In some embodiments, for each skill, the training customization module can multiply the accuracy change value of the skill included in the level change data with the corresponding training weight included in the training weight data, and the product result is the change importance of the skill. The variance of the change importance of each skill is statistically calculated and determined as the training difficulty.
[0143] Step 540: Generate a training model based on the training mode and training difficulty.
[0144] The training model generated by the training customization module includes the user's robot simulation model and the AI simulation robot for human-machine combat competition. In some embodiments, in response to the training mode being a human-machine combat competition, the training customization module can generate a corresponding AI simulation robot based on the training difficulty. For example, the training customization module can select an AI simulation robot of the same training difficulty from existing AI simulation robots obtained and uploaded by the interaction module as the training model for training. The training difficulty of the AI simulation robot can be pre-calibrated manually. The process of generating the user's robot simulation model can be found in [link to documentation]. Figure 3 The relevant description of step 320.
[0145] In some examples in this manual, the changes in a user's skill level are assessed based on the user's own historical data, and different training weights are set for different skills in combination with the specific training objectives, thereby determining the training difficulty. This allows for the setting of appropriate AI simulation robots in human-machine competitions to achieve targeted training.
[0146] Figure 6 This is an exemplary flowchart illustrating the generation of a training model for online adversarial competitions according to some embodiments of this specification. In some embodiments, process 600 may be executed by the training customization module 220 in the training system 200 for the competition robot.
[0147] like Figure 6 As shown, in response to the training mode being an online competitive match, process 600 includes the following steps.
[0148] Step 610: Based on the historical analysis data of online users and the historical analysis data of users, determine the level change data of online users and the level change data of users.
[0149] Online users refer to other users who are connected online with the user. Historical analysis data and level change data for online users are obtained in the same way as historical analysis data and level change data for users; please refer to [link / reference]. Figure 5 The relevant description of step 510.
[0150] Step 620: Based on the level change data of multiple online users and the level change data of the user, determine one or more candidate opponents for the user.
[0151] Candidate opponents refer to other users who are potential candidates for online adversarial training with the user. In some embodiments, the training customization module can normalize the skill level change data of multiple online users and the user's skill level change data. After normalization, for each online user, the training customization module can determine the user's advantage and disadvantage weights relative to that online user based on their skill level change data and the user's skill level change data. Based on the user's advantage and disadvantage weights relative to each online user, one or more candidate opponents are determined for the user through the Pareto front; that is, candidate opponents are online users who are not necessarily stronger than the user in all aspects.
[0152] The advantage and disadvantage weights are determined as follows: For each skill, the training customization module calculates the difference between the user's error rate for that skill and the online user's error rate for that skill, and then calculates the product of this difference and the training weight for that skill, denoted as the first product. The sum of multiple first products for multiple skills is used as the disadvantage weight. For each skill, the training customization module calculates the difference between the user's accuracy change value for that skill and the online user's accuracy change value for that skill, and then calculates the product of this difference and the training weight for that skill, denoted as the second product. The sum of multiple second products for multiple skills is used as the advantage weight.
[0153] Step 630: Based on one or more candidate opponents, determine the target opponent and generate a training model.
[0154] The target opponent refers to other users who will ultimately engage in online competitive training with the user. In some embodiments, the training customization module can determine the target opponent from one or more candidate opponents, combined with other factors. For example, selecting a candidate opponent with a different playing style from the user, or selecting a candidate opponent with strong mental fortitude. Both playing style and mental fortitude can be pre-defined manually.
[0155] The training model generated by the training customization module includes the user's robot simulation model and the simulated robot of the target opponent in online adversarial competitions. The generation method of the target opponent's simulated robot is similar to that of the user's robot simulation model; see details below. Figure 3 Description of step 320.
[0156] In some examples in this manual, the changes in the user's own skill level and those of other online users are assessed by combining the user's own historical data and the historical data of online users. Candidate opponents who are not necessarily stronger than the user in all aspects are selected from the online users, and then target opponents that can motivate the user to improve are identified. The user can get the maximum reward and challenge in online battles against the target opponents, so as to maximize the training effect.
[0157] Figure 7 This is an exemplary flowchart illustrating the determination of win rate information and recommendation strategy information according to some embodiments of this specification. In some embodiments, process 700 may be executed by the training system 200 of the competition robot.
[0158] like Figure 7 As shown, process 700 includes the following steps.
[0159] Step 710: Obtain user opponent characteristics. In some embodiments, step 710 may be performed by the interaction module 210.
[0160] User opponent characteristics include the user opponent's historical participation records and historical match data (including historical operation data, historical match results, etc.). In some embodiments, users can query and obtain user opponent characteristics from third-party platforms (such as public event websites) through their terminal devices and upload them to the interactive module.
[0161] Step 720: Based on the user's opponent characteristics and the first analysis data, determine the win rate information. In some embodiments, step 720 may be performed by the training feedback module 250.
[0162] In some embodiments, the training feedback module can determine win rate information in various ways based on user opponent characteristics and first analysis data. For example, the training feedback module can determine the ratio of the number of wins of the user opponent to the total number of matches based on the user opponent characteristics, and record it as the user opponent's first win rate; according to... Figure 3 The method in step 350 determines the user's second win rate by statistically analyzing the first set of data from multiple simulated matches. If the second win rate is lower than the first win rate, it is appropriately lowered; if the second win rate is higher than the first win rate, it is appropriately increased. The adjusted second win rate is then determined as the user's overall win rate. The adjustment range of the second win rate does not exceed a preset threshold, and the adjustment range can be positively correlated with the difference between the second and first win rates.
[0163] More information about the first analysis data can be found at [link / reference]. Figure 3 Related descriptions.
[0164] In some embodiments, the training feedback module may also determine the user's opponent's reference analysis data based on the user's opponent characteristics; and determine the win rate information through the win rate prediction model based on the reference analysis data and the first analysis data.
[0165] The reference analysis data includes performance data of the user's opponent robot and skill usage data from historical real-world matches. The method for determining the user's opponent's reference analysis data based on opponent characteristics is the same as the method for generating the first analysis data based on simulated match data and user control data; see [link to relevant documentation] for details. Figure 3 The description of step 340 will not be repeated here.
[0166] In some embodiments, the win rate prediction model is a machine learning model, such as a neural network (NN).
[0167] In some embodiments, the inputs to the win rate prediction model include reference analysis data of the user's opponents and the user's first analysis data, and the output is the user's win rate information.
[0168] The training samples for the win rate prediction model can be obtained based on historical data, including historical reference analysis data of the user's opponents and the user's historical first analysis data. The training labels are the user's historical actual win rate information, and the training labels are manually labeled.
[0169] In some embodiments, the training feedback module can train a win rate prediction model based on multiple training samples with training labels. The training feedback module can input training samples into the initial win rate prediction model, construct a loss function based on the training labels and the output of the initial win rate prediction model, iteratively update the parameters of the initial win rate prediction model based on the loss function, and terminate the iteration when the iteration termination condition is met, thus obtaining the trained win rate prediction model. The iterative update method includes, but is not limited to, gradient descent, and the iteration termination condition can be the convergence of the loss function or the number of iterations reaching a preset threshold.
[0170] In some examples in this manual, machine learning models enable more accurate analysis of the potential relationships between users and their opponents, resulting in more reliable win rate information.
[0171] Step 730: Determine recommendation strategy information based on user level change data and first analysis data.
[0172] In some embodiments, the training feedback module may determine the score distribution based on the first analysis data; determine the skill with the smallest change in accuracy (i.e., the largest decrease in accuracy) based on the user's level change data; and determine recommendation strategy information based on the score distribution and the skill with the smallest change in accuracy, i.e., add the skill with the smallest change in accuracy that needs to be emphasized in training to the recommendation strategy information. For an explanation of determining the score distribution based on the first analysis data, please refer to [link to relevant documentation]. Figure 3 For a description of step 350, and an explanation of the user's level change data and accuracy change values, please refer to [link to relevant documentation]. Figure 5 The relevant description of step 510.
[0173] In some embodiments, the training feedback module can determine the user's target improvement dimension based on the user's level change data; and determine recommendation strategy information based on the target improvement dimension, the first analysis data, and the user's opponent's reference analysis data.
[0174] The target improvement dimension refers to the dimension that the user needs to improve during training. In some embodiments, the training feedback module can, based on the user's level change data, rank multiple skills according to their accuracy change values from low to high, determine the K skills with the smallest accuracy change values, and define these skills and their corresponding key nodes as the target improvement dimension. That is, the target improvement dimension includes the K skills that cause the largest decrease in the win rate and the key nodes corresponding to these K skills. The value of K can be preset manually according to actual needs. For an explanation of key nodes, please refer to [link to relevant documentation]. Figure 3 The description.
[0175] In some embodiments, the training feedback module can determine recommendation strategy information based on the target improvement dimension, first analysis data, and reference analysis data of the user's opponent, through vector matching. The training feedback module can select historical data from a large amount of historical data showing an improvement in win rate after the user adopted the recommended strategy information as sample data. Based on the historical target improvement dimension, historical first analysis data, historical reference analysis data, and historical recommendation strategy information in the sample data, multiple reference clustering vectors are constructed. Multiple cluster centers are formed through a clustering algorithm. Each cluster center corresponds to a standard clustering vector and a standard label. The standard clustering vector consists of the historical target improvement dimension, historical first analysis data, and historical reference analysis data. The standard label is the historical recommendation strategy information corresponding to the standard clustering vector. Based on the current target improvement dimension, first analysis data, and reference analysis data, a matching vector is constructed. The vector similarity between the matching vector and multiple standard clustering vectors is calculated. The standard label corresponding to the standard clustering vector with the highest vector similarity is determined as the current recommendation strategy information.
[0176] In some examples in this manual, the user's target improvement dimensions are accurately determined based on the user's level change data; combined with the user's target improvement dimensions, the first analysis data, and the competitor's reference analysis data, reasonable strategies that leverage strengths and avoid weaknesses are recommended.
[0177] In some examples in this manual, by combining the user's own initial analysis data with the characteristics of the user's opponents, the user's win rate can be assessed more accurately; and based on the level change data and the initial analysis data, the recommendation strategy information can be further expanded and improved, making the feedback information more practically meaningful.
[0178] In some embodiments, the training method for the competition robot may further include acquiring real-world competition data; generating second analysis data based on the real-world competition data; and generating feedback information based on the second analysis data.
[0179] Real-world competition data refers to the data generated in real time by the competing robot during a real-world competition. Examples include real-world competition image data, time data, and user control data.
[0180] In some embodiments, users can input their own real-world match data and the real-world match data of others via a terminal device, which is then retrieved by the interaction module. Others can be other players that the user is interested in.
[0181] The second set of analytical data includes performance data of the competing robot during real-world competitions and user skill usage data. In some embodiments, the training analysis module can generate the second set of analytical data based on real-world competition data, in the same way as generating the first set of analytical data based on simulated competition data and corresponding user control data. (See [link to documentation]). Figure 3The details of step 340 will not be elaborated here.
[0182] In some embodiments, the training feedback module can generate feedback information based on the second analysis data, in a manner similar to that used for generating feedback information based on the first analysis data. (See also...) Figure 3 The details of step 350 will not be elaborated here.
[0183] In some examples in this specification, real-world competition data is analyzed to generate second-level analysis data, which in turn generates feedback information. This process provides a method for analyzing real-world competition data and a corresponding strategy generation method, further improving the training methods and systems for competitive robots.
[0184] In some embodiments, the interaction module can also acquire and execute user requests, including replaying simulated match data and / or real match data.
[0185] In some examples in this manual, the interactive functions of the training system for the competition robot are improved by acquiring and executing the user's required instructions.
[0186] Certain features, structures, or characteristics in one or more embodiments of this specification may be appropriately combined.
[0187] In some embodiments, numbers describing the quantity of components and attributes are used. It should be understood that such numbers used in the description of embodiments are modified in some examples with the terms "approximately," "approximately," or "generally." Unless otherwise stated, "approximately," "approximately," or "generally" indicates that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may be changed depending on the characteristics required by individual embodiments. In some embodiments, numerical parameters should take into account specified significant digits and employ a general method of digit reservation. Although the numerical ranges and parameters used to confirm their breadth of range in some embodiments of this specification are approximate values, in specific embodiments, such values are set as precisely as feasible.
[0188] If there is any inconsistency or conflict between the descriptions, definitions, and / or terms used in the materials referenced in this specification and the content described in this specification, the descriptions, definitions, and / or terms used in this specification shall prevail.
Claims
1. A training system for a racing robot, characterized in that, The system includes: A storage device that stores a set of instructions; and A processing device configured to communicate with the storage device, wherein when executing the set of instructions, the processing device is configured to: Obtain training customization information input by the user, the training customization information including robot parameters; Based on the training customization information, a training model is generated. The training model includes a robot simulation model, which is a simulation model obtained by simulating the competition robot based on the robot parameters and control mapping information. The control mapping information includes multiple mapping pairs consisting of user control data and motion feedback data of the competition robot, and the control mapping information is determined in the following way: Based on the control device, the user operation data is acquired; Based on the sampling device, motion feedback data generated by the competition robot in response to the user control data and initial control mapping information is sampled and acquired; and Based on the motion feedback data and the user control data, the control mapping information is determined by calibrating the initial control mapping information; Based on the user control data, the robot simulation model is controlled to conduct a simulated competition in the scene and acquire simulated competition data; Based on the simulated match data and the corresponding user operation data, first analysis data is generated; Feedback information is generated based on the first analysis data and then sent.
2. The training system as described in claim 1, characterized in that, The processing device is further configured to: Assess the sufficiency of the sampling of the control mapping information; In response to the fact that the sampling sufficiency does not meet the sufficiency requirement, supplementary sampling parameters are determined; Supplementary sampling is performed based on the supplementary sampling parameters to obtain supplementary motion feedback data; The control mapping information is updated based on the user operation data and the supplemented motion feedback data.
3. The training system as described in claim 2, characterized in that, The training customization information also includes training scene parameters, and the training model also includes a scene simulation model generated by the processing device based on the training scene parameters; and the processing device is further configured to: Based on the control mapping information, the robot simulation model is constructed. The user controls the actual movement of the competition robot and the simulated movement of the robot simulation model in the scene simulation model according to the user control data in the control mapping information, so as to perform the control verification process. Based on the simulation feedback data of the robot simulation model, the motion feedback data of the competition robot, and the corresponding user control data during the control verification process, multiple target mapping pairs are determined, and the multiple target mapping pairs constitute the filtered control mapping information. Based on the filtered control mapping information, the sufficiency of sampling is determined.
4. The training system as described in claim 1, characterized in that, The training customization information also includes a training mode, and in response to the training mode being a human-machine adversarial competition, the processing device is further configured to: Based on the user's historical analysis data, the user's skill level change data is determined, which includes the accuracy change values of multiple skills; Based on the training objective information, training weight data is determined, and the training weight data includes the training weights of the multiple skills; The training difficulty is determined based on the training weight data and the level change data. The training model is generated based on the training mode and the training difficulty.
5. The training system as described in claim 1, characterized in that, The training customization information also includes a training mode, and in response to the training mode being an online competitive match, the processing device is further configured to: Based on the historical analysis data of online users and the historical analysis data of users, the level change data of the online users and the level change data of users are determined, and the level change data includes the accuracy change values of multiple skills; Based on the skill level change data of multiple online users and the skill level change data of the user, one or more candidate opponents of the user are determined; Based on the one or more candidate opponents, the target opponent is determined and the training model is generated.
6. The training system as described in claim 1, characterized in that, The first analysis data includes performance data of the robot simulation model during the simulated competition and skill usage data of the user, and the processing device is further configured to: Based on the simulated match data, several key nodes were identified; For each key node, based on the simulated match data and user control data corresponding to the key node, a first analysis sub-data of the key node is determined, and the first analysis sub-data of multiple key nodes constitutes the first analysis data.
7. The training system as described in claim 1, characterized in that, The feedback information includes technical analysis information, win rate information, and recommendation strategy information, and the processing device is further configured to: Obtain user opponent characteristics; The win rate information is determined based on the user's opponent characteristics and the first analysis data; Based on the user's skill level change data and the first analysis data, the recommendation strategy information is determined, wherein the skill level change data includes accuracy change values for multiple skills.
8. The training system as described in claim 7, characterized in that, The processing device is further configured to: Based on the user's level change data, determine the user's target improvement dimension; The recommendation strategy information is determined based on the target improvement dimension, the first analysis data, and the user's reference analysis data of the opponent.
9. A training method for a racing robot, characterized in that, The method includes: Obtain training customization information input by the user, the training customization information including robot parameters; Based on the training customization information, a training model is generated. The training model includes a robot simulation model, which is a simulation model obtained by simulating the competition robot based on the robot parameters and control mapping information. The control mapping information includes multiple mapping pairs consisting of user control data and motion feedback data of the competition robot, and the control mapping information is determined in the following way: Based on the control device, the user operation data is acquired; Based on the sampling device, motion feedback data generated by the competition robot in response to the user control data and initial control mapping information is sampled and acquired; and Based on the motion feedback data and the user control data, the control mapping information is determined by calibrating the initial control mapping information; Based on the user control data, the robot simulation model is controlled to conduct a simulated competition in the scene and acquire simulated competition data; Based on the simulated match data and the corresponding user operation data, first analysis data is generated; Feedback information is generated based on the first analysis data and then sent.
10. A computer program product comprising a computer program that, when executed by a processor, implements the training method for a racing robot as described in claim 9.