A humanoid robot model evaluation method and device, electronic equipment and storage medium
By using automated evaluation methods, the stability of humanoid robot models is determined, solving the problems of low efficiency and lack of scalability in traditional manual testing, and realizing an efficient and unified testing system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- LEJUTONGYAN (BEIJING) ROBOT TECHNOLOGY CO LTD
- Filing Date
- 2026-03-13
- Publication Date
- 2026-06-23
Smart Images

Figure CN122261101A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot simulation testing and automated evaluation technology, and in particular to a method, apparatus, electronic device and storage medium for evaluating humanoid robot models. Background Technology
[0002] Currently, the evaluation of humanoid robot strategy / control models typically relies on manual triggering: evaluators download the submissions from the platform, manually unzip and check the directory structure, start the simulation and inference environments, wait for the evaluation to complete, and then manually read the result files and report them. However, manual triggering often suffers from low efficiency, lack of scalability, and poor robustness. Summary of the Invention
[0003] This invention provides a method, apparatus, electronic device, and storage medium for evaluating humanoid robot models, in order to solve the problems of low detection efficiency, lack of scalability, and poor robustness in traditional manual inspection.
[0004] According to one aspect of the present invention, a method for evaluating a humanoid robot model is provided, the method comprising: The first model is determined, which is a model for humanoid robot control or computation; The first container is generated and opened based on a preset control program; the first container is used to test whether the first model can run in a humanoid robot. The stability of the first model is determined in the first container, and the stability evaluation results are obtained.
[0005] According to another aspect of the present invention, a humanoid robot model evaluation device is provided, the device comprising: The first model determination module is used to determine the first model, which is a model for humanoid robot control or operation. The first container opening module is used to generate and open the first container based on a preset control program; the first container is used to test whether the first model can run in the humanoid robot. The evaluation result generation module is used to determine the stability of the first model in the first container and obtain the stability evaluation result.
[0006] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: At least one processor; and A memory that is communicatively connected to at least one processor; wherein, The memory stores a computer program that can be executed by at least one processor, such that the at least one processor is able to execute the humanoid robot model evaluation method of any embodiment of the present invention.
[0007] According to another aspect of the present invention, a computer-readable storage medium is provided, which stores computer instructions for causing a processor to execute and implement the humanoid robot model evaluation method of any embodiment of the present invention.
[0008] The technical solution of this invention involves determining a first model, which is a model for humanoid robot control or computation; generating and opening a first container based on a preset control program; the first container being used to test whether the first model can run in the humanoid robot system; and performing a stability assessment on the first model in the first container to obtain a stability evaluation result. This achieves automated evaluation of the model running inside the humanoid robot, transforming the original manual inspection process, which was manually customized, into a logically clear and rationally ordered inspection system. This solves problems such as different inspection items and different inspection sequences for different inspectors, improves inspection efficiency, and enables large-scale inspection.
[0009] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a flowchart of a humanoid robot model evaluation method according to Embodiment 1 of the present invention; Figure 2 This is a flowchart of another humanoid robot model evaluation method provided in Embodiment 2 of the present invention; Figure 3 This is a schematic diagram of the structure of a humanoid robot model evaluation device according to Embodiment 3 of the present invention; Figure 4 This is a schematic diagram of the structure of an electronic device that implements the humanoid robot model evaluation method of this invention. Detailed Implementation
[0012] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0013] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0014] Example 1 Figure 1 This is a flowchart illustrating a humanoid robot model evaluation method provided in Embodiment 1 of the present invention. This embodiment is applicable to the automated evaluation of models operating within humanoid robots. The method can be executed by a humanoid robot model evaluation device, which can be implemented in hardware and / or software and can be configured in an electronic device with data processing capabilities. Figure 1 As shown, the method includes: S110. Determine the first model, which is a model for humanoid robot control or computation.
[0015] Humanoid robots are robots that integrate multiple disciplines, can operate and interact autonomously in human environments, and have a head, torso, two arms, and two legs (or upper body). They are intelligent robots that can complete tasks in human environments without modifying the environment.
[0016] The model can be an artificial intelligence model or algorithm that can run within the internal system of a humanoid robot. The first model is used to support functions such as humanoid robot movement or data processing. The first model is the model that needs to be evaluated.
[0017] The first model can be automatically obtained from interfaces provided by servers or other devices. To obtain the first model, a request can be sent to the device; alternatively, the first model can be automatically received from the device.
[0018] Optionally, determine the first model, including: If several second models are received from the first interface in the current period, each second model is cached as a third model in the local cache space, and the first model is determined in each third model. If no second models are received from the first interface in the current period, the first model is determined from the various third models in the local cache space.
[0019] The first interface can be the interface that publishes the first model detection task and the interface that provides the first model to the outside world.
[0020] When obtaining the first model, the first model can be obtained directly when publishing a detection task for the first model, thus ensuring that the published detection task for the first model can be processed with priority.
[0021] In addition, the first model can be obtained periodically.
[0022] For cases where the first model is periodically acquired, a fixed time window can be set within each period, or a pre-defined time window can be selected from the first interface to acquire several second models. Upon receiving the second models, each second model is cached as a third model to be detected in the local cache space, and the first model is determined from the third models.
[0023] If no second models sent by the first interface are obtained in the current period, the first model can be directly determined from the various third models in the local cache space.
[0024] If several second models are received from the first interface in the current period, each second model is cached as a third model in the local cache space, and the first model is determined from each third model; if several second models are not received from the first interface in the current period, the first model is determined from each third model in the local cache space, thereby ensuring that the published third model can be processed as the first model as quickly as possible.
[0025] Optionally, the first model is determined from various third models in the local cache space, including: Determine the evaluation schedule for each third model; If a third model has the same evaluation progress as the first model, then the third model will be used as the first model. If there is no third model whose evaluation progress is the first progress, then the first model is determined according to the preset evaluation order of each third model.
[0026] When determining the first model from multiple third models, it is necessary to determine whether any of the third models stored in the local cache have undergone partial evaluation processing. In other words, it is necessary to determine whether any third model has an evaluation progress of "first progress." If such a third model exists, it is adopted as the first model, allowing the evaluation of the third model with the first progress to continue. The evaluation progress includes processes such as calling the first model and setting up the environment; this application does not impose restrictions on this.
[0027] By determining whether there is a third model whose evaluation progress is the first progress, it can be determined whether there is a third model in the evaluation process, so that the third model can be evaluated again, and the progress of the evaluation process can be resumed after interruption.
[0028] Optionally, the evaluation progress of different third models can be recorded in separate texts or by modifying the name of the first model, and this application does not impose any restrictions on this.
[0029] Optionally, if several second models are received from the first interface in the current period, then each second model is cached as a third model in the local cache space, including: Receive several second models sent by the first interface; wherein each second model is in ZIP compression format; The common top-level directory of the second model is stripped, and the path of each entry is normalized using POSIX. The decompression target path is converted to the real path for decompression to obtain the third model. Store the third model in the local cache space.
[0030] ZIP is a lossless data compression and archiving file format used to package and compress one or more files / directories into a single file. It supports various compression algorithms, random access, directory structure, and encryption. It is a cross-platform, open standard format that can compress third-party libraries, thereby reducing the bandwidth required for transmission and improving transmission efficiency. POSIX normalization refers to POSIX path normalization, which is the process of converting any valid POSIX path string into a unique, simplest, and standard form. This ensures that different spellings of the same directory / file correspond to the same standardized path, thus enabling accurate identification of the content to be evaluated when decompressing from a second-party library in ZIP compression format.
[0031] To improve the transmission efficiency of the second model and reduce the time occupied by the first interface, the second model will be compressed before transmission. In this case, the format of the second model transmitted is ZIP compression.
[0032] After the transmission is complete, in order to ensure that the pre-compiled automated program can successfully and accurately decompress the second model in ZIP compression format, it is necessary to strip the common top-level directory of the second model to avoid the inconsistency of subsequent paths caused by an extra meaningless directory. POSIX normalization is performed on each entry path to filter out empty paths, parent directories, and other suspicious paths. The decompression target path is converted to a real path for decompression and its location in the directory tree is verified to obtain the third model. Finally, the third model is stored in the local cache space.
[0033] In addition, when caching the third model, it will be stored separately to avoid multiple third models becoming independent of each other.
[0034] For example, the decompressed third model, running logs, and status files can be stored in a subdirectory named 'taskid'.
[0035] S120. The first container is opened based on a preset control program; the first container is used to test whether the first model can run in the humanoid robot system.
[0036] The container (Docker / container orchestration) can be an environment identical to the actual operating system of the humanoid robot, built for testing the first model. The container can be pre-built and selected from multiple candidate containers after determining the first model, or it can be generated during the testing of the first model; this application does not impose any restrictions on this.
[0037] After determining the first model to be tested, the simulation software is started through a preset control program. Once the environment provided by the simulation software is stable, the inference script is started and the first container is ready.
[0038] By starting the first container based on a preset control program, the environment required for testing the first model can be automatically built after the first model is determined, thus ensuring the foundation for subsequent automated evaluation of the first model.
[0039] S130. The stability of the first model is determined in the first container, and the stability evaluation result is obtained.
[0040] After starting the first container, use docker exec to trigger automated testing, perform stability assessment on the first model within the first container, and thus determine the final stability evaluation result.
[0041] Optionally, the stability of the first model is determined in the first container to obtain stability evaluation results, including: The stability of the first model is determined in the first container; If the initial stability evaluation result is not obtained within the first preset time, the stability determination of the first model will be cancelled. If the initial stability evaluation result is obtained within the first preset time, the content hash calculation is performed on the initial stability evaluation result until the hash no longer changes within the stable time window, and the final initial stability evaluation result is taken as the stability evaluation result.
[0042] During the testing of the first model, the stability assessment results need to be continuously monitored to obtain initial stability evaluation results at different times. If no initial stability evaluation result is obtained within the first preset time, it indicates that there is a problem with the detection of the first model that cannot be carried out. In this case, the stability assessment of the first model will be directly cancelled, thereby reducing the waste of detection time.
[0043] If the initial stability evaluation result is obtained within the first preset time, the content hash calculation is performed on the initial stability evaluation result. If the hash does not change within the stable time window, the stability detection result can be considered to be stable enough. At this time, the detection process is considered to be completed, and the final initial stability evaluation result is taken as the stability evaluation result.
[0044] For example, after a successful detection, the `update_success_result` interface can be called to report the stability evaluation result. After a failed detection, the `update_fail_result` interface can also be called to report the reason for the failure, such as timeout or container exception. When reporting the reason for failure, you can report only the unique identifier corresponding to the reason for failure, or you can report the specific reason for failure; this application does not impose any restrictions on this.
[0045] Furthermore, regardless of whether the stability determination is successful, the simulation or inference process group is planted, the first container is stopped and deleted, the generated temporary image is cleaned up, and finally the first model is deleted locally. This avoids the data after the detection is completed occupying a large amount of local memory space.
[0046] By adopting the technical solution of this application, a first model is determined, which is a model for humanoid robot control or operation; a first container is generated and opened based on a preset control program; the first container is a container used to test whether the first model can run in the humanoid robot system; the stability of the first model is determined in the first container, and the stability evaluation result is obtained, thereby realizing the automated evaluation of the model running inside the humanoid robot and improving the evaluation efficiency and accuracy.
[0047] Example 2 Figure 2 This invention provides a flowchart of another humanoid robot model evaluation method. This embodiment further optimizes the process after obtaining the stability evaluation results in the aforementioned embodiments, based on the above embodiments. This embodiment can be combined with various optional solutions in one or more of the above embodiments. Figure 2 As shown, the humanoid robot model evaluation method of this embodiment may include the following steps: S210. Determine the first model, which is a model for humanoid robot control or computation.
[0048] S220. Generate and open the first container based on the preset control program; the first container is a container used to test whether the first model can run in the humanoid robot system.
[0049] S230. The stability of the first model is determined in the first container, and the stability evaluation result is obtained.
[0050] S240, Receive the requirement evaluation sub-result sent by the target object.
[0051] S250. Based on the requirements evaluation sub-results, the stability evaluation results are filtered to obtain the target evaluation sub-results corresponding to the requirements evaluation sub-results.
[0052] S260. Send the target evaluation sub-result to the target object.
[0053] After completing the stability assessment and obtaining the stability evaluation results, the target object may not need the complete stability evaluation results. In this case, the target object can be received as a requirement evaluation sub-result, and the target evaluation sub-result corresponding to the requirement evaluation sub-result can be selected from the complete stability evaluation results and sent to the target object.
[0054] The system receives the requirement evaluation sub-results sent by the target object; based on the requirement evaluation sub-results, it filters the stability evaluation results to obtain the target evaluation sub-results corresponding to the requirement evaluation sub-results; and sends the target evaluation sub-results to the target object, thereby reducing the bandwidth required when sending the stability evaluation results to the target object. Only the target evaluation sub-results needed by the target object are sent to the target object, improving the user experience of the target object while ensuring the transmission efficiency of the target evaluation sub-results.
[0055] To facilitate understanding of the technical solution of this application, examples are provided below: For example, the system first periodically retrieves the second model from the first interface. If no second model is available or a receiving error occurs, it attempts to find and restore the most recent incomplete detection task in the local memory space. After receiving the second model, it stores it as the third model in the local memory space. The metadata for each third model is stored in a separate folder. For each third model, a status file is set to record the evaluation progress, such as deployment completion or evaluation completion. The system then decompresses the third model and places the decompressed contents into the folder for that third model. It starts the simulation script (e.g., run_simulation.sh) and waits for the simulation to stabilize. It starts the inference script (e.g., run_with_gpu.sh) and waits for the first container to be ready. The system executes the automated test script within the first container to trigger the evaluation. It monitors whether score.json (stability evaluation results) appears and performs a stability check. If it times out or does not meet the validity conditions, it is considered a failure. The system parses score.json into the scoring structure required by the platform and calls the interface to report the success result. After success / failure, the system marks the task as completed, cleans up the task directory, and terminates the process and container.
[0056] By using the above steps, the original manual testing process, which was customized by the individual, can be transformed into a logically clear and orderly testing system. This solves the problems of different testing items and different testing sequences for different testing personnel, improves testing efficiency, and enables large-scale testing.
[0057] The technical solution of this embodiment receives the demand evaluation sub-result sent by the target object; based on the demand evaluation sub-result, the stability evaluation results are filtered to obtain the target evaluation sub-result corresponding to the demand evaluation sub-result; the target evaluation sub-result is sent to the target object, thereby reducing the bandwidth required when sending the stability evaluation results to the target object, and only sending the target evaluation sub-result needed by the target object to the target object, improving the user experience of the target object while ensuring the transmission efficiency of the target evaluation sub-result.
[0058] Example 3 Figure 3 This invention provides a structural block diagram of a humanoid robot model evaluation device, applicable to the automated evaluation of models operating within humanoid robots. This humanoid robot model evaluation device can be implemented in hardware and / or software and can be configured in an electronic device with data processing capabilities. Figure 3 As shown, the humanoid robot model evaluation device of this embodiment may include: a first model determination module 310, a first container opening module 320, and an evaluation result generation module 330. Wherein: The first model determination module 310 is used to determine the first model, which is a model for humanoid robot control or operation; The first container opening module 320 is used to open the first container based on a preset control program; the first container is a container used to test whether the first model can run in the humanoid robot system. The evaluation result generation module 330 is used to determine the stability of the first model in the first container and obtain the stability evaluation result.
[0059] Based on the above embodiments, optionally, determining the first model includes: If several second models are received from the first interface in the current period, each second model is cached as a third model in the local cache space, and the first model is determined in each third model. If no second models are received from the first interface in the current period, the first model is determined from the various third models in the local cache space.
[0060] Based on the above embodiments, optionally, the first model is determined from various third models in the local cache space, including: Determine the evaluation schedule for each third model; If a third model has the same evaluation progress as the first model, then the third model will be used as the first model. If there is no third model whose evaluation progress is the first progress, then the first model is determined according to the preset evaluation order of each third model.
[0061] Based on the above embodiments, optionally, if several second models are received from the first interface in the current period, then each second model is cached as a third model in the local cache space, including: Receive several second models sent by the first interface; wherein each second model is in ZIP compression format; The common top-level directory of the second model is stripped, and the path of each entry is normalized using POSIX. The decompression target path is converted to the real path for decompression to obtain the third model. Store the third model in the local cache space.
[0062] Based on the above embodiments, optionally, the stability of the first model is determined in the first container to obtain a stability evaluation result, including: The stability of the first model is determined in the first container; If the initial stability evaluation result is not obtained within the first preset time, the stability determination of the first model will be cancelled. If the initial stability evaluation result is obtained within the first preset time, the content hash calculation is performed on the initial stability evaluation result until the hash no longer changes within the stable time window, and the final initial stability evaluation result is taken as the stability evaluation result.
[0063] Based on the above embodiments, optionally, after obtaining the stability evaluation results, the method further includes: Receive the requirement evaluation sub-results sent by the target object; Based on the sub-results of the requirements evaluation, the stability evaluation results are filtered to obtain the target evaluation sub-results corresponding to the sub-results of the requirements evaluation; Send the target evaluation sub-results to the target object.
[0064] The humanoid robot model evaluation device provided in this embodiment of the invention can execute the humanoid robot model evaluation method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method.
[0065] Example 4 Figure 4 A schematic diagram of an electronic device 10, which can be used to implement embodiments of the present invention, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0066] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0067] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0068] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as humanoid robot model evaluation methods.
[0069] In some embodiments, the humanoid robot model evaluation method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the humanoid robot model evaluation method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the humanoid robot model evaluation method by any other suitable means (e.g., by means of firmware).
[0070] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0071] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0072] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0073] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0074] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0075] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0076] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0077] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A method for evaluating humanoid robot models, characterized in that, include: A first model is determined, which is a model for humanoid robot control or computation; The first container is activated based on a preset control program; The first container is used to test whether the first model can operate in a humanoid robot system; The stability of the first model is determined in the first container to obtain the stability evaluation results.
2. The method according to claim 1, characterized in that, The first model is determined, including: If several second models are received from the first interface in the current period, each second model is cached as a third model in the local cache space, and the first model is determined in each of the third models. If the first interface does not receive several second models in the current period, the first model is determined from each of the third models in the local cache space.
3. The method according to claim 2, characterized in that, Determining the first model from each of the third models in the local cache space includes: Determine the evaluation schedule for each of the aforementioned third models; If the evaluation progress of the third model is the first progress, then the third model shall be used as the first model. If there is no evaluation progress of the third model that is the first progress, then the first model is determined according to the preset evaluation order of each of the third models.
4. The method according to claim 2, characterized in that, If several second models are received from the first interface in the current cycle, then each second model is cached as a third model in the local cache space, including: Receive several second models sent by the first interface; wherein each second model is in ZIP compression format; The common top-level directory is stripped from the second model, and the path of each entry is normalized using POSIX. The decompression target path is converted to the real path for decompression to obtain the third model. The third model is stored in the local cache space.
5. The method according to claim 1, characterized in that, The stability of the first model is determined within the first container, and the stability evaluation results are obtained, including: The stability of the first model is determined within the first container; If the initial stability evaluation result is not obtained within the first preset time, the stability determination of the first model is cancelled. If the initial stability evaluation result is obtained within the first preset time, the content hash calculation is performed on the initial stability evaluation result until the hash no longer changes within the stable time window, and the final initial stability evaluation result is taken as the stability evaluation result.
6. The method according to claim 1, characterized in that, After obtaining the stability evaluation results, the following is also included: Receive the requirement evaluation sub-results sent by the target object; Based on the requirements evaluation sub-results, the stability evaluation results are filtered to obtain the target evaluation sub-results corresponding to the requirements evaluation sub-results; The target evaluation sub-result is sent to the target object.
7. A humanoid robot model evaluation device, characterized in that, include: The first model determination module is used to determine the first model, which is a model for humanoid robot control or operation; The first container opening module is used to open the first container based on a preset control program; The first container is used to test whether the first model can operate in a humanoid robot system; The evaluation result generation module is used to determine the stability of the first model in the first container and obtain the stability evaluation result.
8. The apparatus according to claim 7, characterized in that, The first model determination module includes: The first caching module is used to cache each second model as a third model in the local cache space if it receives several second models sent by the first interface in the current period, and to determine the first model in each of the third models. The second caching module is used to determine the first model from the various third models in the local cache space if it does not receive several second models sent by the first interface in the current period.
9. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the humanoid robot model evaluation method according to any one of claims 1-6.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the humanoid robot model evaluation method according to any one of claims 1-6.