Intelligent robot with high computing power

The central processing module manages the data storage and scheduling of intelligent robots, which solves the memory usage problem caused by slow data processing speed, improves processing capacity and efficiency, and improves the fairness and efficiency of multi-program concurrent operations through priority scheduling algorithms.

CN119127780APending Publication Date: 2024-12-13DAO KRYPTON CLOUD (NANTONG) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411114950.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-14
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

During the data processing process, intelligent robots accumulate data in memory due to slow data processing speed, resulting in long-term memory consumption and low efficiency in single-thread data acquisition.

Method used

The central processing module is used to determine the real-time cache occupancy rate of the cache module. If it is less than the preset threshold, the data is stored in the cache module. If it is greater than the threshold, the data is stored in the buffer. The data queue of the cache module is adjusted to control the running status of the data sending thread. Use the priority scheduling algorithm to perform multi-program scheduling, and switch to run programs to avoid resource occupation.

Benefits of technology

It effectively solves the problem of data accumulation, improves the data processing capabilities and speed of intelligent robots, realizes efficient memory utilization, and improves the fairness and efficiency of multi-program concurrent operations through priority scheduling algorithms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127780A_ABST
    Figure CN119127780A_ABST
Patent Text Reader

Abstract

The invention discloses a high-computing-power intelligent robot which comprises a central processing module, a cache module and a plurality of function modules, and the cache module and the function modules are in signal connection with the central processing module. The central processing module controls whether the data acquisition thread is allowed to run by judging whether the real-time cache occupancy rate of the cache module reaches a preset condition or not, and if the real-time cache occupancy rate of the cache module reaches the preset condition, the data sent by the function module is stored in a buffer area; the problem that the memory is occupied for a long time due to the fact that the data processing speed is delayed in the data processing process and data is accumulated in the memory is solved, the effect of efficiently utilizing the memory is achieved, and the data processing capacity and speed of the intelligent robot are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of intelligent robots, and in particular to a high-computing-power intelligent robot. Background Art

[0002] An intelligent robot is a machine system that simulates humans in terms of perception, thinking, and effect. An intelligent robot is a high-tech complex that integrates multidisciplinary knowledge such as mechanics, mechanics, electronics, biology, cybernetics, computers, artificial intelligence, and system engineering. An intelligent robot must have at least three elements: one is the sensory element, which is used to understand the state of the surrounding environment; the second is the motion element, which reacts to the outside world; and the third is the thinking element, which thinks about what kind of action to take based on the information obtained from the sensory element. The above three elements are essentially equivalent to the five senses of human eyes, nose, ears, etc. The thinking element is the key element among the three elements. Intelligent robots can be divided into three types according to their different levels of intelligence, namely sensor robots, interactive robots, and autonomous robots.

[0003] During the working process, the intelligent robot needs to cache the data sent by a large number of functional modules to obtain the data stream, and the execution module then receives the data from the cache module. However, if the data processing program processes data slower than the data acquisition speed, the acquired data will accumulate in the memory, causing the memory to be occupied for a long time; using a single thread to acquire data and process data does not have this problem, but this method is very inefficient. Therefore, how to improve the ability of intelligent robots to process data has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] In view of the defects in the prior art, the present invention provides a high-computing-power intelligent robot to solve the technical problems raised in the background technology.

[0005] In order to achieve the above object, the present invention provides a high-computing-power intelligent robot, comprising a central processing module, a cache module and a plurality of functional modules, wherein the cache module and the plurality of functional modules are all connected to the central processing module by signal, and the central processing module is used to:

[0006] Receive data cache request sent by the functional module;

[0007] Query the real-time cache occupancy rate of the corresponding cache module according to the target request interface carried by the data cache request;

[0008] If the real-time cache occupancy rate is less than a preset first threshold, the data sent by the functional module is stored in the cache module.

[0009] Furthermore, the central processing module is also used for:

[0010] If the real-time cache occupancy rate is greater than or equal to a preset first threshold, the data sent by the functional module is stored in a buffer.

[0011] Furthermore, the central processing module is also used for:

[0012] If the real-time cache occupancy rate is greater than or equal to a preset first threshold, adjusting the cached data queue of the cache module so that the real-time cache occupancy rate of the cache module after adjustment is within the range of the preset first threshold;

[0013] The data stored in the buffer is sent to the cache module for storage.

[0014] Furthermore, the central processing module is also used for:

[0015] After the data stored in the buffer is sent to the cache module for storage, the data in the buffer is cleared.

[0016] Furthermore, the central processing module is also used for:

[0017] Before storing the data sent by the functional module in the buffer, determining whether the data cache occupancy of the buffer reaches a preset condition;

[0018] If the data cache occupancy of the buffer is greater than or equal to a preset second threshold, controlling the data sending thread of the functional module to be in a waiting state; and

[0019] If the data cache occupancy of the buffer is less than a preset second threshold, the data sending thread of the functional module is controlled to be in a running state.

[0020] Further, the step of adjusting the cached data queue of the cache module so that the real-time cache occupancy rate of the cache module after adjustment is within the preset first threshold range includes:

[0021] According to a preset adjustment step, the cached data queue is divided into at least one sub-data queue; the sub-data queue includes at least one data point;

[0022] For any of the sub-data queues, determining a target data point from at least one of the data points;

[0023] The target data point is adjusted so that the real-time cache occupancy rate of the cache module after adjustment is within the preset first threshold range.

[0024] Further, the adjusting the target data point includes:

[0025] Delete the target data point.

[0026] Furthermore, the central processing module is also used for:

[0027] Get the currently running program;

[0028] Use the priority scheduling algorithm to scan the priority program list and confirm the next program to be run;

[0029] If the currently running program cannot obtain resources within the preset time, close the currently running program and switch to the next program to be run;

[0030] The priority scheduling algorithm is used to scan the priority program list to confirm the next program to be run, including:

[0031] Scanning the priority program linked list starting from the highest priority;

[0032] If the program list of the current priority is not empty, take out the first program under the program list of the current priority.

[0033] Furthermore, if the program list of the current priority is empty, the default idle program is returned.

[0034] Further, closing the currently running program includes:

[0035] Put the currently running program into a sleep state; or,

[0036] The currently running program is put into a waiting state.

[0037] The beneficial effects of the present invention are embodied in:

[0038] The high-computing-power intelligent robot provided by the present application has a central processing module that controls whether to allow the data acquisition thread to run by determining whether the real-time cache occupancy rate of the cache module reaches a preset condition. If the real-time cache occupancy rate of the cache module reaches the preset condition, the data sent by the functional module is stored in the buffer, thereby solving the problem of data accumulation in the memory due to the lag in data processing speed during the data processing process, resulting in the memory being occupied for a long time, thereby achieving the effect of efficient use of memory and improving the ability and speed of the intelligent robot to process data.

[0039] At the same time, the central processing module realizes the concurrency, non-deadlock and fairness of multi-program scheduling. It uses the priority scheduling algorithm to scan the priority program list to confirm the next program to be run. When the currently running program cannot obtain resources within the preset time, the currently running program is closed and the next program to be run is switched to realize fair scheduling of concurrent operations of multiple programs, reduce the waiting time during concurrent operations of multiple programs, and improve the system processing speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for the specific embodiments or the description of the prior art. In all the drawings, similar elements or parts are generally identified by similar reference numerals. In the drawings, the elements or parts are not necessarily drawn according to the actual scale.

[0041] The accompanying drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification are used to explain the principles of the present application. For ordinary technicians in this field, other accompanying drawings can also be obtained based on these accompanying drawings without paying creative labor.

[0042] Figure 1 A system structure block diagram of a high-computing-power intelligent robot provided in an embodiment of the present invention.

[0043] The realization of the purpose, functional features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. The above-mentioned drawings have shown clear embodiments of this application, which will be described in more detail later. These drawings and textual descriptions are not intended to limit the scope of the concept of this application in any way, but to illustrate the concept of this application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0044] The following embodiments of the technical solution of the present invention are described in detail in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and are therefore only used as examples, and cannot be used to limit the protection scope of the present invention.

[0045] It should be noted that, unless otherwise specified, the technical terms or scientific terms used in this application should have the common meanings understood by those skilled in the art to which the invention belongs.

[0046] In the description of the present application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as limiting the present invention.

[0047] In addition, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. In the description of the present invention, the meaning of "plurality" is more than two, unless otherwise clearly and specifically defined.

[0048] In this application, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0049] like Figure 1 As shown, a system structure diagram of a high computing power intelligent robot provided by an embodiment of the present invention includes a central processing module, a cache module and multiple functional modules, and the cache module and the multiple functional modules are all connected to the central processing module by signal. Generally speaking, the functional modules on the intelligent robot include a perception module and a motion module.

[0050] The robot obtains external information through the perception module, which includes vision, hearing, touch, force, etc. The visual perception module usually uses sensors such as cameras or lidar, which can realize robot mapping, obstacle recognition, face detection and other functions; the auditory perception module can help the robot recognize sounds and conduct voice interaction; the tactile and force perception modules can allow the robot to perceive the mass, hardness and shape of objects.

[0051] The robot's motion module is usually composed of a motor, tires or legs, and the robot's motion is controlled by a controller and a driver. The motor is the core component of the robot, and can be divided into a DC motor and a stepper motor according to different drive methods; the tires or legs can be designed according to the robot's design.

[0052] In this embodiment, the central processing module is used to: receive a data cache request sent by a functional module; query the real-time cache occupancy of the corresponding cache module according to the target request interface carried by the data cache request; if the real-time cache occupancy is less than a preset first threshold, store the data sent by the functional module in the cache module; and send the data stored in the buffer to the cache module for storage.

[0053] A large amount of data will be generated during the operation of the functional module, and the functional module will send a cache data request signal to the central processing module. Since the central processing module can only process the request signal of one target functional module at a time, after the central processing module receives the request signal, it will mark the cache data request, for example, add a flag bit to the cache data request to indicate that the central processing module is processing the cache data request, so that other cache data requests applying for operation are in a waiting state.

[0054] For different functional modules, cache modules corresponding to the functional modules will be pre-determined. It should be noted that multiple different functional modules can be assigned to the same cache module for data storage. Alternatively, the same type of data can be stored in the corresponding cache module, that is, stored according to data category.

[0055] The data cache request sent by the functional module carries a target request interface, which includes the address of the corresponding cache module. The central processing module queries the corresponding cache module according to the address carried in the target request interface.

[0056] In this embodiment, the real-time cache occupancy rate is the percentage of the cached data queue in the cache module to the total storage space of the cache module. The size of the total storage space of the cache module can be expressed as n, that is, the total number of data that can be stored in the cache module. The size of the current cached data queue of the cache module can be expressed as q, and the ratio of the two d=q / n is the real-time cache occupancy rate.

[0057] Specifically, as an option of this embodiment, the cache module can detect in real time the percentage of the current cached data queue in the total storage space of the cache module, that is, the real-time cache occupancy rate. The central processing module can read the real-time cache occupancy rate of the cache module in real time. Alternatively, as another option of this embodiment, the central processing module can monitor in real time the percentage of the current cached data queue in the cache module in the total storage space of the cache module, thereby obtaining the real-time cache occupancy rate.

[0058] After the central processing module obtains the real-time cache occupancy rate of the cache module, it can compare the real-time cache occupancy rate with the preset first threshold value to determine whether the real-time cache occupancy rate is less than the first threshold value. If the real-time cache occupancy rate is less than the preset first threshold value, the real-time cache occupancy rate is within the preset threshold range. At this time, the central processing module can directly store the data sent by the functional module in the cache module.

[0059] Furthermore, the central processing module is also used to: if the real-time cache occupancy rate is greater than or equal to a preset first threshold, store the data sent by the functional module in a buffer.

[0060] If the real-time cache occupancy rate is greater than or equal to the preset first threshold, the real-time cache occupancy rate of the cache module exceeds the preset first threshold. At this time, it means that the storage space of the cache module is insufficient to store the data sent by the functional module. In order to ensure that the data sent by the functional module can be stored normally and the data can be output continuously, the central processing module will first store the data in the buffer for caching to ensure normal data flow.

[0061] Furthermore, the central processing module is also used to: if the real-time cache occupancy is greater than or equal to a preset first threshold, adjust the cached data queue of the cache module so that the real-time cache occupancy of the cache module after adjustment is within the preset first threshold range.

[0062] The central processing module can adjust the cached data queue of the cache module, such as deleting data to reduce the real-time cache occupancy rate, or performing data addition operations to increase the real-time cache occupancy rate, so that the real-time cache occupancy rate of the cache module after adjustment is within the preset threshold range, so that the amount of cached data of the cache module can be controlled within the set preset threshold range, and therefore the total storage space size of the cache module can be set smaller, thereby reducing latency.

[0063] In this embodiment, the step of adjusting the cached data queue of the cache module so that the real-time cache occupancy rate of the cache module after adjustment is within the preset first threshold range includes:

[0064] According to a preset adjustment step, the cached data queue is divided into at least one sub-data queue; the sub-data queue includes at least one data point; for any of the sub-data queues, a target data point is determined from at least one of the data points; the target data point is adjusted so that the real-time cache occupancy of the cache module after adjustment is within the preset first threshold range.

[0065] Specifically, the adjusting the target data point includes: deleting the target data point.

[0066] Specifically, after the central processing module divides the current cached data queue into multiple sub-data queues according to the preset adjustment step length m, it takes the absolute value of the modulus of all data points in each m data point, and sorts the absolute values ​​of the m moduli using the bubble sort method, thereby determining the target data point corresponding to the minimum value. Among them, the absolute value of the modulus of the data point represents the size of the data point, and the smaller the absolute value, the closer it is to 0.

[0067] In this embodiment, the central processing module selects the point closest to 0 among the m points as the target adjustment point for adjustment operation, so that after operations such as deletion or copying of the target data point, the impact on the original data stream will be minimized, so that the valid data stream in the action data stream input by the electronic device system is basically not affected.

[0068] In this embodiment, the central processing module is also used to: before storing the data sent by the functional module in the buffer, determine whether the data cache occupancy of the buffer reaches a preset condition; if the data cache occupancy of the buffer is greater than or equal to a preset second threshold, control the data sending thread of the functional module to be in a waiting state; and if the data cache occupancy of the buffer is less than the preset second threshold, control the data sending thread of the functional module to be in a running state.

[0069] This embodiment first detects the data cache occupancy of the buffer zone after receiving the request signal of the data acquisition thread, and determines whether to allow the data acquisition thread to run and acquire data by comparing the data cache occupancy with the preset conditions. If the cache occupancy reaches the preset conditions, the data acquisition thread is no longer allowed to run, thereby avoiding long-term memory occupation due to a large amount of data accumulated in the memory.

[0070] After the adjusted real-time cache occupancy rate of the cache module is within the preset first threshold range, the central processing module controls the data stored in the buffer to be sent to the cache module for storage. After the data stored in the buffer is sent to the cache module for storage, the data in the buffer is cleared, the storage space in the buffer is cleared, and the buffer is made to wait for the next data storage.

[0071] In this embodiment, the central processing module is also used to: obtain the currently running program; use the priority scheduling algorithm to scan the priority program list to confirm the next program to be run; if the currently running program cannot obtain resources within a preset time, close the currently running program and switch to run the next program to be run.

[0072] The purpose of getting the currently running program is to save the running context of the current program and ensure that it can be resumed when the currently running program is scheduled next time. Each time the next program is switched to run, a running program will be set as the currently running program.

[0073] The method for obtaining the currently running program is: obtaining the address of the currently running program; returning the address, and obtaining the currently running program.

[0074] The step of using a priority scheduling algorithm to scan a priority program list and confirming the next program to be run includes: scanning the priority program list starting from the highest priority; if the current priority program list is not empty, taking out the first program under the current priority program list.

[0075] First, scan the priority program list from high to low, then if the current priority program list is not empty, take out the first program on the list, put it into the identification field in the structure, and hang the previous program at the end of the list, and return. Finally, when the program is not found when scanning to the lowest priority, that is, if the current priority program list is empty, the default idle program is returned.

[0076] When scheduling a program, the switch from one program to the next must be completed. If there is no next program and the previous program cannot run, the scheduling work will have nowhere to go and the entire system will stop running. Therefore, when selecting the next program, if no suitable program is found, it will return to the default idling program.

[0077] In this embodiment, closing the currently running program includes: making the currently running program enter a sleep state; or making the currently running program enter a wait state.

[0078] The central processing module implements concurrency, non-deadlock and fairness in multi-program scheduling. It uses a priority scheduling algorithm to scan the priority program list to confirm the next program to be run. When the currently running program cannot obtain resources within a preset time, it closes the currently running program and switches to run the next program to be run, thereby achieving fair scheduling of concurrent operations of multiple programs.

[0079] Finally, it should be noted that the various technical features of the technical solution of the present application can be combined arbitrarily. In order to make the description concise, not all possible combinations of the various technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of the present application.

[0080] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that the technical solutions described in the above embodiments may still be modified, or some or all of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention, and should all be included in the scope of the claims and specification of the present invention.

Claims

1. A high-computing-power intelligent robot, comprising a central processing module, a cache module and a plurality of functional modules, wherein the cache module and the plurality of functional modules are all connected to the central processing module by signal, characterized in that: The central processing module is used for: Receive data cache request sent by the functional module; Query the real-time cache occupancy rate of the corresponding cache module according to the target request interface carried by the data cache request; If the real-time cache occupancy rate is less than a preset first threshold, the data sent by the functional module is stored in the cache module.

2. A high computing power intelligent robot as claimed in claim 1, characterized in that: The central processing module is also used for: If the real-time cache occupancy rate is greater than or equal to a preset first threshold, the data sent by the functional module is stored in a buffer.

3. A high computing power intelligent robot as claimed in claim 2, characterized in that: The central processing module is also used for: If the real-time cache occupancy rate is greater than or equal to a preset first threshold, adjusting the cached data queue of the cache module so that the real-time cache occupancy rate of the cache module after adjustment is within the range of the preset first threshold; The data stored in the buffer is sent to the cache module for storage.

4. A high computing power intelligent robot as claimed in claim 3, characterized in that: The central processing module is also used for: After the data stored in the buffer is sent to the cache module for storage, the data in the buffer is cleared.

5. A high computing power intelligent robot as claimed in claim 2, characterized in that: The central processing module is also used for: Before storing the data sent by the functional module in the buffer, determining whether the data cache occupancy of the buffer reaches a preset condition; If the data cache occupancy of the buffer is greater than or equal to a preset second threshold, controlling the data sending thread of the functional module to be in a waiting state; as well as If the data cache occupancy of the buffer is less than a preset second threshold, the data sending thread of the functional module is controlled to be in a running state.

6. A high computing power intelligent robot as claimed in claim 2, characterized in that: The step of adjusting the cached data queue of the cache module so that the real-time cache occupancy rate of the cache module after adjustment is within the preset first threshold range includes: According to a preset adjustment step, the cached data queue is divided into at least one sub-data queue; the sub-data queue includes at least one data point; For any of the sub-data queues, determining a target data point from at least one of the data points; The target data point is adjusted so that the real-time cache occupancy rate of the cache module after adjustment is within the preset first threshold range.

7. A high computing power intelligent robot as claimed in claim 6, characterized in that: The adjusting the target data point includes: Delete the target data point.

8. A high computing power intelligent robot as claimed in claim 1, characterized in that: The central processing module is also used for: Get the currently running program; Use the priority scheduling algorithm to scan the priority program list and confirm the next program to be run; If the currently running program cannot obtain resources within the preset time, close the currently running program and switch to the next program to be run; The priority scheduling algorithm is used to scan the priority program list to confirm the next program to be run, including: Scanning the priority program linked list starting from the highest priority; If the program list of the current priority is not empty, take out the first program under the program list of the current priority.

9. A high computing power intelligent robot as claimed in claim 8, characterized in that: If the program list of the current priority is empty, return to the default idle program.

10. A high computing power intelligent robot as claimed in claim 8, characterized in that: The closing of the currently running program includes: Put the currently running program into a sleep state; or, The currently running program is put into a waiting state.