Method and related device for processing training data of manipulator
By detecting the connection status of the robot and the computing device, and determining the target training instructions based on the pre-stored offline training instructions or type information, the problem of the robot being unable to independently perform training actions after the robot is disconnected, and the usability and reliability of the robot are improved.
Patent Information
- Application Number
- CN202411496582.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-25
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-10-25
AI Technical Summary
Existing robots cannot perform training actions independently after being disconnected from computing devices, resulting in limited use of the robot and waste of resources.
By checking whether the robot is connected to the computing device, if it is disconnected, check whether offline training instructions are pre-stored in the robot. If there is, directly execute offline training instructions; if there is no, obtain the type information of the robot, determine the target training instructions based on the type information, and execute the corresponding target training actions.
It realizes that the robot can still perform training actions when disconnected, improves the usability and reliability of the robot and avoids waste of resources.
Smart Images

Figure CN118990452B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a method for processing training data of a manipulator and a related device. Background Art
[0002] To assist users in their exercise, engineers have designed various auxiliary mechanical devices to assist users in their limb training. For example, when training hands, users can wear a manipulator. However, existing manipulators are controlled by computing devices before they can perform actions. One computing device controls one manipulator, which results in a shortage of storage space for computing devices, and a limited range of manipulator movement. When disconnected, the manipulator stops working, wasting resources. Summary of the invention
[0003] The present application provides a method and a related device for processing training data of a manipulator, which determines a target training instruction of a manipulator disconnected from a computing device, thereby controlling the manipulator to perform training actions, avoiding the manipulator from stopping when disconnected, and improving the availability and reliability of the manipulator.
[0004] In a first aspect, an embodiment of the present application provides a method for processing training data of a manipulator, which is applied to at least one manipulator of a manipulator system, wherein the manipulator system includes the at least one manipulator and a computing device connected to the at least one manipulator, and the method includes:
[0005] If it is detected that the manipulator is not connected to the computing device, query whether there is an offline training instruction pre-stored in the manipulator, the offline training instruction represents the training instruction received by the manipulator at the end of the previous training process for execution in the next training process, and the training instruction represents the instruction instructing the manipulator to perform the training action;
[0006] If the offline training instruction is not pre-stored in the manipulator, obtaining the type information of the manipulator;
[0007] Determine a target training instruction corresponding to the manipulator according to the type information;
[0008] Execute the target training action corresponding to the target training instruction.
[0009] In a second aspect, an embodiment of the present application provides a device for processing training data of a manipulator, which is applied to at least one manipulator of a manipulator system, wherein the manipulator system includes the at least one manipulator and a computing device connected to the at least one manipulator, and the device includes:
[0010] A query unit, configured to query whether an offline training instruction is pre-stored in the manipulator if it is detected that the manipulator is not connected to the computing device, wherein the offline training instruction represents a training instruction received by the manipulator at the end of the previous training process for execution in the next training process, and the training instruction represents an instruction instructing the manipulator to perform a training action;
[0011] an acquisition unit, configured to acquire type information of the manipulator if the offline training instruction is not pre-stored in the manipulator;
[0012] A determination unit, configured to determine a target training instruction corresponding to the manipulator according to the type information;
[0013] An execution unit is used to execute the target training action corresponding to the target training instruction.
[0014] In a third aspect, an embodiment of the present application provides a terminal device, comprising at least one processor and a memory, wherein the memory is used to store computer program code, and the computer program code comprises computer instructions, and when the at least one processor executes the computer instructions, the terminal device executes any method of the first aspect of the present application.
[0015] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising a processor, a communication module, a memory, a communication interface, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, and the program includes instructions for executing the steps of any method of the first aspect of the present application.
[0016] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. The computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes part or all of the steps described in the steps of any method in the first aspect of the embodiment of the present application.
[0017] In a sixth aspect, the present application provides a computer program, wherein the computer program is operable to cause a computer to execute some or all of the steps described in any method of the first aspect of the present application. The computer program may be a software installation package.
[0018] It can be seen that in the embodiment of the present application, the offline training instruction represents the training instruction received by the manipulator at the end of the previous training process for execution in the next training process, and the training instruction represents the instruction instructing the manipulator to perform the training action. If it is detected that the manipulator is not connected to the computing device, it is queried whether there are offline training instructions pre-stored in the manipulator to further detect whether the manipulator has offline training instructions, thereby improving the intelligence of the manipulator. If the offline training instructions are not pre-stored in the manipulator, the type information of the manipulator is obtained; the target training instruction corresponding to the manipulator is determined according to the type information, and the adaptability of the determined target training instruction is improved. After determining the target training instruction, the target training action corresponding to the target training instruction is executed, so that the manipulator executes the target training action corresponding to the target training instruction more in line with actual needs. After the manipulator of this scheme detects that it is disconnected from the computing device, it can determine the target training instruction corresponding to the manipulator, thereby executing the corresponding target training action, avoiding restrictions on the scope of use of the manipulator, and improving the reliability and availability of the manipulator. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0020] Figure 1 A schematic diagram of the structure of a manipulator system provided in an embodiment of the present application;
[0021] Figure 2 A schematic diagram of the structure of a manipulator provided in an embodiment of the present application;
[0022] Figure 3 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0023] Figure 4 A flowchart of a method for processing training data of a manipulator provided in an embodiment of the present application;
[0024] Figure 5 A schematic diagram of a display interface of a computing device provided in an embodiment of the present application;
[0025] Figure 6 A schematic diagram of another display interface of a computing device provided in an embodiment of the present application;
[0026] Figure 7 A block diagram of the functional units of a device for processing training data of a manipulator provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0028] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
[0029] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0030] See also Figure 1 , Figure 1 This is a schematic diagram of the structure of a manipulator system provided in an embodiment of the present application. Figure 1 As shown, the manipulator system includes a computing device and a manipulator, wherein the manipulator is connected to the computing device so that the manipulator and the computing device can exchange data. It is understandable that the number of manipulators connected to the computing device can be set according to actual needs, for example, two or more manipulators can be connected, and there is no specific limitation here.
[0031] The computing device in this application can be a terminal device such as a smart phone, tablet computer, laptop computer, desktop computer, wearable device, head-mounted device, vehicle-mounted terminal, etc., which is installed with a control application (i.e., application client). The type of terminal device is not specifically limited here. It should be understood that when the application client runs on the computing device, it can communicate with Figure 1 The robots shown here interact with each other.
[0032] See also Figure 2 , Figure 2A schematic diagram of the structure of a manipulator provided in an embodiment of the present application. Figure 2 As shown, the manipulator includes a manipulator palm 20, a finger joint drive module 21, a Bluetooth module, a finger fixing belt 22, a palm fixing belt 23, a power module 24 and a switch button 25. The power module 24 is partially arranged in the manipulator palm 20 for storing electrical energy and supplying energy to the manipulator. The switch button 25 is arranged on the manipulator palm 20 for controlling the start and stop of the manipulator. The finger fixing belt 22 and the palm fixing belt 23 are arranged on the manipulator palm 20, and the finger fixing belt 22 is located between the palm fixing belt 23 and the finger joint drive module 21. The manipulator palm 20 is connected to the finger joint drive module 21, and the degree of the joint of the finger joint drive module 21 can be adjusted according to demand. The Bluetooth module is arranged in the manipulator palm 20, and the manipulator can exchange data with the computing device through the Bluetooth module. Each finger of the manipulator corresponds to at least one joint driver, and the joint driver outputs drive information so that the corresponding finger on the manipulator moves, that is, each joint of each finger can be controlled separately so that the manipulator can make training movements. When the user uses the manipulator for training, the hand is bound to the manipulator through the palm fixing band 23 and the finger fixing band 22, and then the manipulator performs training actions based on the training instructions, such as grasping, holding, pinching, etc., and drives the user's hand to perform corresponding training actions, thereby realizing the user's passive training.
[0033] See also Figure 3 , Figure 3 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. Figure 3 As shown, the computing device includes a processor 301, a memory 303, a communication module 302, a program 304 and a Bluetooth module 305, and the processor 301 is connected to the memory 303, the communication module 302 and the Bluetooth module 305 through an internal communication bus. It can be understood that the number of processors 301 can be set according to actual needs, for example, one, two or more, and the number of processors 301 is not specifically limited here. The number of programs 304 can be set according to actual needs, for example, one, two or more, and the number of programs 304 is not specifically limited here.
[0034] The program 304 is stored in the memory 303 and executed by the processor 301. The program 304 includes instructions for executing any step in the following method embodiments.
[0035] The processor 301 may be, for example, a central processing unit (CPU), a general processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute various exemplary logic blocks, units and circuits described in conjunction with the disclosure of the present application. The processor 301 may also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like. The communication unit may be a communication module 302, a transceiver, a transceiver circuit, and the like, and the storage unit may be a memory 303.
[0036] The memory 303 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DR RAM).
[0037] The computing device may perform data interaction with the robot through the communication module 302 or the Bluetooth module 305, and the specific details are not limited here.
[0038] Please combine the following Figure 4 The method in the embodiment of the present application is described in detail:
[0039] See also Figure 4 , Figure 4 A flowchart of a method for processing training data of a manipulator provided in an embodiment of the present application. Figure 4 As shown, a method for processing training data of a manipulator is applied to at least one manipulator of a manipulator system, wherein the manipulator system includes the at least one manipulator and a computing device connected to the at least one manipulator, and the method includes:
[0040] Step S401: if it is detected that the robot is not connected to the computing device, query whether there is an offline training instruction pre-stored in the robot.
[0041] Wherein, the offline training instruction represents the training instruction received by the manipulator at the end of the last training process for execution in the next training process, and the training instruction represents the instruction instructing the manipulator to perform the training action. The manipulator detects whether it is connected to the computing device according to a preset cycle or in real time. If it is detected that the manipulator is not connected to the computing device, it is further queried whether there is an offline training instruction pre-stored in the manipulator. If it exists, the offline training instruction is directly executed to improve the execution efficiency of the manipulator. Specifically, when the computing device is connected to the manipulator, after the manipulator completes the training action in the training process, the training instruction corresponding to the training action will be uploaded to the computing device, and the computing device will generate the training instruction for the next training process according to the uploaded training instruction, and send it to the manipulator, so that the manipulator can directly execute it in the next training process, reduce the startup time, and improve the execution efficiency. Alternatively, while the manipulator performs the training action in the training process, the training data of the user is collected through the manipulator, and then the training instruction corresponding to the training action and the training data of the user are uploaded to the computing device, so that the computing device generates the training instruction for the next training process according to the training instruction and the training data. It is understandable that the training instructions may include instructions for executing one training action, or may include instructions for executing multiple different training actions, which is not specifically limited here.
[0042] Step S402: If the offline training instruction is not pre-stored in the robot, the type information of the robot is obtained.
[0043] If the offline training instruction is not pre-stored in the manipulator, the type information of the manipulator is obtained. The type information of the manipulator includes information whether the manipulator is of the first type or the second type. Specifically, the manipulator of the first type is a public type manipulator, such as a manipulator used by multiple people in a training center or a rehabilitation center. The manipulator of the second type is a private type manipulator, that is, the manipulator is a private product. The type information of the manipulator is obtained to provide data support for subsequent processing.
[0044] Step S403: determining a target training instruction corresponding to the manipulator according to the type information.
[0045] After obtaining the type information of the manipulator, the target training instruction corresponding to the manipulator is determined according to the type information, thereby improving the adaptability of the determined target training instruction.
[0046] Step S404: executing the target training action corresponding to the target training instruction.
[0047] Among them, after determining the manipulator target training instruction, the target training action corresponding to the target training instruction is executed.
[0048] It can be seen that in this example, if it is detected that the manipulator is not connected to the computing device and no offline training instructions are pre-stored, the corresponding target training instructions are determined according to the type information of the manipulator, so as to execute the target training action corresponding to the target training instruction, thereby improving the reliability and availability of the manipulator. This prevents the manipulator from stopping working after being disconnected from the computing device, so that the manipulator can be used in a wider range away from the computing device, thereby assisting user training and improving user experience.
[0049] In a possible example, when the manipulator executes the target training action corresponding to the target training instruction, the user's training data is collected through the manipulator, and the training data may include spasm data and the number of pauses received by the manipulator. After the manipulator executes the target training action corresponding to the target training instruction, the corresponding adjustment scheme is determined according to the user's training data. Specifically, the spasm level corresponding to the spasm data is obtained. If the spasm level exceeds the preset level, or the number of pauses exceeds the preset number, the time for the manipulator to execute the target training action is extended, and the time interval for executing the training action is extended, and the adjusted target training instruction is generated and stored in the manipulator. For example, the manipulator originally needs thirty seconds to complete the target training action, and executes the next time at an interval of thirty seconds. According to the adjusted target training instruction, the manipulator completes the target training action in one minute, and executes the next time at an interval of one minute. By collecting user training data to adjust the target training instruction of the disconnected manipulator, the intelligence and adaptability of the manipulator are improved, and the user experience is improved.
[0050] In a possible example, after executing the target training action corresponding to the target training instruction, the corresponding connection interval time of the current manipulator is obtained, and then it is detected whether the connection interval time is reached. If it is reached, a connection request is sent to the computing device to connect to the computing device, thereby interacting with the computing device to obtain adjusted training data. When the manipulator system includes multiple manipulators, for example, the manipulator system includes a computing device and three manipulators, namely, a first manipulator, a second manipulator and a third manipulator. When in use, the three manipulators can be connected to the computing device in turn. That is, the first manipulator is connected to the computing device for the first preset time length, the second manipulator is connected to the computing device for the second preset time length, and the third manipulator is connected to the computing device for the third preset time length. The first preset time length, the second preset time length and the third preset time length are preset time lengths that are consecutive in sequence. Correspondingly, after the first manipulator is connected to the computing device for a first preset time, it disconnects from the computing device and waits for the connection interval time of the sum of the second preset time and the third preset time; similarly, after the second manipulator is connected for the second preset time, it needs to wait for the connection interval time of the sum of the first preset time and the third preset time; after the third manipulator is connected for the third preset time, it needs to wait for the connection interval time of the sum of the first preset time and the second preset time. After the connection interval time of each manipulator is reached, the manipulator sends a connection request. Alternatively, when the first manipulator, the second manipulator and the third manipulator send connection requests to the computing device at the same time, the computing device determines the disconnection time corresponding to the first manipulator, the second manipulator and the third manipulator, respectively, and takes the manipulator with the longest disconnection time as the manipulator to be connected first. Alternatively, if there are multiple manipulators sending requests, the computing device can connect in sequence according to the manipulator numbers, and the specific connection order is not limited here. Thus, a computing device can control multiple manipulators, ensuring that the manipulators can perform training actions normally while saving resources.
[0051] In a possible example, determining the target training instructions corresponding to the manipulator according to the type information includes: if the manipulator is determined to be a first type of manipulator according to the type information, obtaining a first interval duration between the time point when the last training process ended and the current time point; if the first interval duration is less than a first preset interval duration, obtaining a first historical training instruction used in the last training process; setting the first historical training instruction as the target training instruction; if the first interval duration is greater than or equal to the first preset interval duration, obtaining the total historical training instructions of the manipulator, the total historical training instructions representing the training instructions used in the period from the time point when the manipulator starts to perform the training action to the current time point; counting the training instructions with the most repetitions in the total historical training instructions; and setting the training instructions with the most repetitions as the target training instructions.
[0052] In a specific example, as a common type of manipulator, the user who uses it is not fixed. It may be the first time to use it, or it may be a long-term use, or the physical conditions of different users are also different. Therefore, when the manipulator is disconnected, if the manipulator is determined to be a first type of manipulator according to the type information of the manipulator, the manipulator is a common type of manipulator. First, the first interval duration between the time point when the last training process ended and the current time point is obtained, and the first interval duration is compared with the first preset interval duration. If the first interval duration is less than the first preset interval duration, that is, it is determined that the user used last time and the user used currently are the same user, then the first historical training instruction used in the last training process is obtained, and the first historical training instruction is set as the target training instruction. Thereby improving the efficiency of determination, obtaining a better determination result, and improving the user experience. If the first interval duration is greater than or equal to the first preset interval duration, the total historical training instruction of the manipulator is obtained, and the total historical training instruction is the training instruction used in the period from the time point when the manipulator starts to perform the training action to the current time point, and then the training instruction with the most repetitions in the total historical training instruction is counted, that is, the training instruction with the most uses. Since the training instruction with the most repetitions has a higher universality, the training instruction with the most repetitions is set as the target training instruction.
[0053] It can be seen that in this example, if the manipulator is determined to be a manipulator of the first type according to the type information, and it is determined that the first interval duration is less than the first preset interval duration, the first historical training instruction is determined to be the target training instruction, thereby improving the determination efficiency and the intelligence of the manipulator. If the first interval duration is greater than or equal to the first preset interval duration, the training instruction with the most repetitions in the total historical training instructions is determined to be the target training instruction, so that the target training action corresponding to the determined target training instruction is suitable for more users, thereby improving the universality of the manipulator and meeting user needs.
[0054] In a possible example, if the manipulator is determined to be a manipulator of the first type according to the type information, and the first interval duration is greater than or equal to the first preset interval duration, the total historical training instructions of the manipulator are obtained, and the first N training instructions with the highest number of repetitions are selected from the total historical training instructions, where N is a positive integer. A training instruction is randomly selected from the N training instructions as the target training instruction. This prevents the manipulator from repeating the same target training action in an offline state, thereby improving the intelligence of the manipulator.
[0055] In a possible example, determining the target training instruction corresponding to the manipulator according to the type information includes: if the manipulator is determined to be a first type of manipulator according to the type information, obtaining a second interval duration between the time point when the last training process ended and the current time point; if the second interval duration is less than a second preset interval duration, obtaining a second historical training instruction used in the last training process; setting the second historical training instruction as the target training instruction; if the second interval duration is greater than or equal to the second preset interval duration, obtaining a basic training instruction in the manipulator; and setting the basic training instruction as the target training instruction.
[0056] In a specific example, first obtain the second interval duration between the time point when the last training process ended and the current time point, and determine the size of the second interval duration and the second preset interval duration. If the second interval duration is less than the second preset interval duration, that is, it is determined that the user used last time and the user used currently are the same user, then obtain the second historical training instruction used in the last training process, and set the second historical training instruction as the target training instruction, thereby improving the efficiency of determination and reducing the waiting time of the user. If the second interval duration is greater than or equal to the second preset interval duration, obtain the basic training instruction in the manipulator, and then set the basic training instruction as the target training instruction, thereby improving the safety of the manipulator. Among them, the training movements corresponding to the basic training instructions are suitable for users in different health conditions.
[0057] It can be seen that in this example, if the robot is a first type of robot, the corresponding target training instructions are determined according to the interval between two adjacent training processes of the robot to improve the intelligence of the robot.
[0058] In a possible example, determining the target training instruction corresponding to the manipulator according to the type information includes: if the manipulator is determined to be a second type of manipulator according to the type information, obtaining the third historical training instruction used by the manipulator in the last training process; and setting the third historical training instruction as the target training instruction.
[0059] In a specific example, if there is no pre-stored offline training instruction in the manipulator, the type information of the manipulator is obtained. According to the type information of the manipulator, it is determined that the manipulator is a second type of manipulator, that is, the manipulator is a private type of manipulator. Then the third historical training instruction used by the manipulator in the last training process is directly obtained, and then the third historical training instruction is set as the target training instruction. The training actions performed by a private type manipulator are more personalized. For example, if the user is a person in rehabilitation, when the manipulator is disconnected, the third historical training instruction in the last training process is used, so that the actions performed by the manipulator in the next training process are more in line with user needs.
[0060] It can be seen that in this example, if the robot is a second type of robot, the third historical training instruction in the previous training process is directly used as the target training instruction, which improves the efficiency of determination and makes the determined target training instruction more in line with user needs.
[0061] In one possible example, if it is detected that the manipulator is not connected to the computing device, before querying whether offline training instructions are pre-stored in the manipulator, the method also includes: obtaining instruction information from the computing device, the instruction information including the basic training instructions, the basic training instructions being instructions determined based on a preset training instruction set and the total number of manipulators in the manipulator system, the training instruction set including multiple reference training instructions for pre-set multiple basic training actions; storing the instruction information in the manipulator.
[0062] In a specific example, when the manipulator is connected to a computing device, the manipulator obtains instruction information from the computing device, which includes basic training instructions, and then stores the instruction information into the manipulator. The basic training instructions are instructions determined by the computing device based on a preset training instruction set and the total number of manipulators in the manipulator system. The training instruction set includes multiple reference training instructions for multiple pre-set basic training actions. Specifically, a total number of basic training actions can be randomly selected from the training instruction set. The reference training instructions corresponding to the selected basic training actions are sent to the manipulator as basic training instructions, and one manipulator corresponds to one basic training instruction. Please refer to Figure 5 , Figure 5 A schematic diagram of a display interface of a computing device provided in an embodiment of the present application. Figure 5 As shown, the display interface of the computing device includes a first display area 501 and a second display area 502, and the second display area 502 appears in the first display area 501. The second display area 502 includes a prompt message prompting "Send parameters to the robot". The second display area 502 also displays the parameters of the selected basic training action, for example, Figure 5 The training time shown is 30 minutes, the range of motion is small, the degree of spasm protection is high, and the interval time is 5 seconds. The second display area 502 may also include prompt information and function buttons, such as Figure 5 The first prompt sentence 5023 shown is "After the manipulator is out of the control of the computing device, this parameter can be used for training". The function button includes a first icon 5021 indicating refusal to send and a second icon 5022 indicating confirmation to send. The image of the first icon 5021 is a cross, indicating refusal to send the manipulator. The image of the second icon 5022 is a check, indicating confirmation to send the manipulator. This facilitates further selection by the user and improves the user experience.
[0063] It can be seen that in this example, basic training instructions can be obtained in advance, thereby avoiding the robot being unable to perform training actions when the robot is disconnected, thereby improving the reliability of the robot.
[0064] In one possible example, a computing device obtains the total number value of the manipulator, a training instruction set, and the execution training actions performed by the manipulator with the total number value in a historical period. The execution training actions are sorted according to the number of times they have been executed from most to least to obtain an execution training action set. Then, the first total number value of execution training actions are obtained in sequence. For example, if the total number value of the manipulator is 5, the first 5 execution training actions in the execution training action set are obtained. Then, the basic training actions with the highest similarity to the first total number value of execution training actions are searched from the training instruction set, and the reference training instructions corresponding to the found basic training actions are used as basic training instructions. This improves the adaptability of the basic training instructions.
[0065] In a possible example, if it is detected that the manipulator is not connected to the computing device, before querying whether there are offline training instructions pre-stored in the manipulator, the method also includes: obtaining a preset training instruction set and a total number of the manipulators in the manipulator system, the training instruction set including multiple reference training instructions for multiple pre-set basic training actions, and the reference training instructions in the training instruction set are sorted from most to least according to the number of times they are used by the at least one manipulator; counting the instruction quantity values of the multiple reference training instructions; if the instruction quantity value is greater than or equal to the total quantity value, obtaining the number corresponding to the manipulator; setting the reference training instruction corresponding to the number in the basic training instruction set as the basic training instruction; if the instruction quantity value is less than the total quantity value, setting any one of the reference training instructions in the training instruction set as the basic training instruction.
[0066] In a specific example, if the manipulator system includes multiple manipulators, the manipulators are numbered for ease of management, that is, each manipulator has a unique number. The manipulator obtains a preset training instruction set and the total number of manipulators in the manipulator system. The training instruction set includes multiple reference training instructions for multiple pre-set basic training actions. The instruction quantity values of multiple reference training instructions are counted. If the instruction quantity value is greater than or equal to the total quantity value, the number corresponding to the manipulator is obtained. Since the reference training instructions in the training instruction set are sorted from most to least according to the number of times used by at least one manipulator, the reference training instruction corresponding to the number is set as the basic training instruction. Thereby, the corresponding basic training instructions between different manipulators are different, making the actions performed by the manipulators in the manipulator system more diverse. For example, the manipulator numbered 1 corresponds to the reference training instruction with the sorting number 1, and the manipulator numbered 2 corresponds to the reference training instruction with the sorting number 2. The number of the manipulator corresponds to the sorting number of the training instruction set, that is, the number of the manipulator is sorted from small to large, and the sorting number of the training instruction set is also sorted from small to large. For example, there are 3 manipulators, numbered 1, 2 and 3. The sorting numbers of the reference training instructions in the training instruction set are also sorted from 1. If there are 4 reference training instructions, the sorting numbers are 1, 2, 3 and 4. In this way, the basic training instructions obtained according to the number of the manipulator are the reference training instructions that are used more times, thereby improving the universality of the training actions corresponding to the basic training instructions executed by the manipulator. If the instruction quantity value is less than the total quantity value, any reference training instruction in the training instruction set is set as the basic training instruction to improve the determination efficiency, thereby increasing the speed at which the manipulator starts to execute the training action.
[0067] It can be seen that in this example, the basic training instructions of the manipulator can be determined by the manipulator, so that the manipulator can determine the basic training instructions even when it is disconnected from the computing device, thereby improving the reliability of the manipulator.
[0068] In a possible example, after executing the target training action corresponding to the target training instruction, the method further includes: detecting whether the manipulator is connected to the computing device; if it is detected that the manipulator is not connected to the computing device, controlling the manipulator to give a voice prompt.
[0069] In a specific example, after the robot executes the training action corresponding to the target training instruction, it detects whether it is connected to the computing device. If it is detected that the robot is not connected to the computing device, the robot is controlled to give voice prompts to remind the user, thereby improving the user experience.
[0070] In one possible example, see Figure 6 , Figure 6 A schematic diagram of another display interface of a computing device provided in an embodiment of the present application. Figure 6 As shown, on the computing device side, if the time from the start time point of the robot disconnection to the current time point exceeds the preset time, the following is displayed Figure 6 The interface shown includes a third display area 601 and a fourth display area 602, and the fourth display area 602 appears in the third display area 601. The fourth display area 602 includes icons, function buttons and prompt statements that represent the disconnection of the computing device. The icon representing the disconnection of the computing device is used to intuitively prompt the user that the computing device is disconnected from the manipulator. The specific icon content can be set according to actual needs and is not limited here. The function button icon includes a fourth icon 6021 indicating a return to the previous level menu and a fifth icon 6022 indicating a rejection. The prompt statements are sentences that prompt the user that the manipulator is not connected, such as "The manipulator is not connected". And check suggestion statements, such as "Please check whether the manipulator is turned on and whether the computing device Bluetooth is turned on", etc., so that the user can detect the cause of the disconnection, improve the connection efficiency, and thus improve the user experience. It can be understood that the prompt statement can be set according to actual needs and is not limited here.
[0071] In a possible example, before detecting that the manipulator is not connected to the computing device, at least one manipulator in the manipulator system can start Bluetooth ranging. Specifically, if Bluetooth ranging is used, the manipulator receives Bluetooth information sent from the computing device, obtains the Bluetooth signal transmission power value from the Bluetooth information, and detects the signal strength value of the received Bluetooth signal. The distance value between the manipulator and the computing device is determined according to the transmission power value and the received signal strength value, and the lower the signal strength value, the greater the distance value. Then the manipulator type information is obtained. If the manipulator is determined to be a manipulator of the first type according to the type information, it is determined whether the distance value is less than the preset distance value. If less than, the distance is continued to be detected based on the Bluetooth signal. If the distance value is greater than or equal to the preset distance value, the manipulator sends a prompt message of the upcoming disconnection to the computing device, and the manipulator sends a disconnection prompt voice, which is used to prompt the user to disconnect from the computing device if he continues to move away from the computing device, but the manipulator can continue to perform the training action prompt in the case of disconnection. Allow the user to choose whether to disconnect the manipulator from the computing device, improve the intelligence of the manipulator, and thus improve the user experience. Among them, the preset distance value is a distance set according to the disconnection distance between the manipulator and the computing device, and the preset distance is less than the disconnection distance. If the manipulator is determined to be the second type of manipulator according to the type information, it is detected whether there is a user's historical selection for disconnection in the manipulator. If so, it is confirmed whether to issue a prompt voice according to the historical selection. For example, the manipulator obtains the user's historical selection, and the user chooses to disconnect in the historical selection, then the manipulator does not need to issue a prompt voice; if the user chooses not to disconnect in the historical selection, the manipulator issues a prompt voice. If the manipulator does not detect the historical selection, it directly issues a prompt voice to improve the intelligence of the manipulator, thereby improving the user experience.
[0072] It is understandable that the distance between the manipulator and the computing device can also be measured through WiFi signals, or a combination of WiFi signals and Bluetooth signals. The specific distance measurement method is not limited here.
[0073] In a possible example, the user's physical report and the advice of professionals can also be combined to determine the basic training movements of the manipulator. For example, if the manipulator system is used in a rehabilitation center, the physical health of the personnel in the rehabilitation center can be obtained, and the main rehabilitation steps can be determined based on the physical health. Then, the proportion of the manipulators in each rehabilitation step is determined based on the total number of manipulators. Then, the training movements to be performed in the main rehabilitation steps corresponding to the manipulators of each proportion are determined, and the basic training movements with the highest similarity to the training movements to be performed are searched from the training instruction set. The basic training movement is sent to the manipulator of that proportion. After the manipulator is connected to the computing device, the current physical health of the personnel in the rehabilitation center is determined, and the training instructions of each manipulator are adjusted based on the current physical health to improve the rehabilitation efficiency.
[0074] The above mainly introduces the scheme of the embodiment of the present application from the perspective of the execution process on the method side. It is understandable that, in order to realize the above functions, the electronic device includes a hardware structure and / or software module corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in combination with the units and algorithm steps of each example described in the embodiments provided herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0075] The embodiment of the present application can divide the electronic device into functional units according to the above method example. For example, each functional unit can be divided according to each function, or two or more functions can be integrated into one processing unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional units. It should be noted that the division of units in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0076] In the case of dividing each functional module according to each function, the following is combined Figure 7 The processing device for training data of the manipulator in the embodiment of the present application is described in detail. Figure 7 This is a block diagram of the functional units of a device for processing training data of a manipulator provided in an embodiment of the present application. Figure 7 As shown, a device for processing training data of a manipulator is applied to at least one manipulator of a manipulator system, wherein the manipulator system includes the at least one manipulator and a computing device connected to the at least one manipulator, and the device includes:
[0077] A query unit 710 is used to query whether there is an offline training instruction pre-stored in the manipulator if it is detected that the manipulator is not connected to the computing device, wherein the offline training instruction represents a training instruction received by the manipulator at the end of the previous training process for execution in the next training process, and the training instruction represents an instruction instructing the manipulator to perform a training action;
[0078] An acquisition unit 720, configured to acquire type information of the manipulator if the offline training instruction is not pre-stored in the manipulator;
[0079] A determination unit 730 is used to determine a target training instruction corresponding to the manipulator according to the type information;
[0080] The execution unit 740 is used to execute the target training action corresponding to the target training instruction.
[0081] In a possible example, the determination unit 730 is also used to, if the manipulator is determined to be a first type of manipulator based on the type information, obtain a first interval duration between the time point when the last training process ended and the current time point; and if the first interval duration is less than a first preset interval duration, obtain a first historical training instruction used in the last training process; and set the first historical training instruction as the target training instruction; and if the first interval duration is greater than or equal to the first preset interval duration, obtain the total historical training instructions of the manipulator, the total historical training instructions representing the training instructions used in the period from the time point when the manipulator starts to perform the training action to the current time point; and count the training instructions with the most repetitions in the total historical training instructions; and set the training instructions with the most repetitions as the target training instructions.
[0082] In a possible example, the determination unit 730 is also used to, if the manipulator is determined to be a first type of manipulator based on the type information, obtain a second interval duration between the time point when the last training process ended and the current time point; and if the second interval duration is less than a second preset interval duration, obtain a second historical training instruction used in the last training process; and set the second historical training instruction as the target training instruction; and if the second interval duration is greater than or equal to the second preset interval duration, obtain a basic training instruction in the manipulator; and set the basic training instruction as the target training instruction.
[0083] In a possible example, the determination unit 730 is also used to obtain the third historical training instruction used by the manipulator in the last training process if the manipulator is determined to be a second type of manipulator based on the type information; and set the third historical training instruction as the target training instruction.
[0084] In one possible example, the first processing unit is used to obtain instruction information of the computing device, the instruction information including the basic training instructions, the basic training instructions being instructions determined based on a preset training instruction set and the total number of the manipulators in the manipulator system, the training instruction set including multiple reference training instructions for multiple pre-set basic training actions; and storing the instruction information into the manipulator.
[0085] In a possible example, the device also includes a second processing unit, which is used to obtain a preset training instruction set and a total number of the manipulators in the manipulator system, the training instruction set including multiple reference training instructions for multiple pre-set basic training actions, and the reference training instructions in the training instruction set are sorted from most to least according to the number of times they are used by the at least one manipulator; and the instruction quantity values of the multiple reference training instructions are counted; and if the instruction quantity value is greater than or equal to the total quantity value, the number corresponding to the manipulator is obtained; and the reference training instruction corresponding to the number in the basic training instruction set is set as the basic training instruction; and if the instruction quantity value is less than the total quantity value, any reference training instruction in the training instruction set is set as the basic training instruction.
[0086] In a possible example, the apparatus further includes a detection unit, which is used to detect whether the manipulator is connected to the computing device; and if it is detected that the manipulator is not connected to the computing device, controlling the manipulator to give a voice prompt.
[0087] The above embodiments may be implemented in whole or in part by software, hardware, firmware or any other combination thereof. When implemented using software, the above embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired or wireless means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media sets. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium may be a solid-state hard disk.
[0088] An embodiment of the present application also provides a computer storage medium, wherein the computer storage medium stores a computer program for electronic data exchange, wherein the computer program enables a computer to execute part or all of the steps of any method described in the above method embodiments, and the above computer includes an electronic device.
[0089] An embodiment of the present application further provides a computer program product, which includes a computer program. The computer program can be operated to enable a computer to execute part or all of the steps of any method recorded in the above method embodiments.
[0090] The computer program product may be a software installation package, and the computer includes an electronic device.
[0091] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0092] In the several embodiments provided in the present application, it should be understood that the disclosed methods, devices and systems can be implemented in other ways. For example, the device embodiments described above are merely schematic; for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation; for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0093] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0094] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0095] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform some steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store program codes.
[0096] Although the present invention is disclosed as above, the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions without departing from the spirit and scope of the present invention, and can make various changes and modifications, including the combination of the above-mentioned different functions and implementation steps, including software and hardware implementation methods, all of which are within the scope of protection of the present invention.
Claims
1. A method for processing training data of a robot, characterized in that: At least one manipulator applied to a manipulator system, the manipulator system comprising the at least one manipulator and a computing device connected to the at least one manipulator, the method comprising: If it is detected that the manipulator is not connected to the computing device, query whether there is an offline training instruction pre-stored in the manipulator, the offline training instruction represents the training instruction received by the manipulator at the end of the previous training process for execution in the next training process, and the training instruction represents the instruction instructing the manipulator to perform the training action; If the offline training instruction is not pre-stored in the manipulator, obtaining the type information of the manipulator; Determine a target training instruction corresponding to the manipulator according to the type information; Execute the target training action corresponding to the target training instruction.
2. The method according to claim 1, characterized in that The step of determining the target training instruction corresponding to the manipulator according to the type information includes: If it is determined according to the type information that the manipulator is a manipulator of the first type, then obtaining a first interval duration between a time point at which the last training process ended and a current time point; If the first interval duration is less than the first preset interval duration, obtaining the first historical training instruction used in the previous training process; Setting the first historical training instruction as the target training instruction; If the first interval duration is greater than or equal to the first preset interval duration, the total historical training instructions of the manipulator are obtained, where the total historical training instructions represent the training instructions used by the manipulator during the period from the time point when the training action is started to the current time point; Counting the training instructions with the most repetition times among the total historical training instructions; The training instruction with the largest number of repetitions is set as the target training instruction.
3. The method according to claim 1, characterized in that The step of determining the target training instruction corresponding to the manipulator according to the type information includes: If it is determined according to the type information that the manipulator is a manipulator of the first type, then obtaining a second interval length between the time point at which the last training process ended and the current time point; If the second interval duration is less than the second preset interval duration, obtaining a second historical training instruction used in the previous training process; Setting the second historical training instruction as the target training instruction; If the second interval duration is greater than or equal to the second preset interval duration, obtaining a basic training instruction in the manipulator; The basic training instruction is set as the target training instruction.
4. The method according to claim 1, characterized in that The step of determining the target training instruction corresponding to the manipulator according to the type information includes: If it is determined according to the type information that the manipulator is a manipulator of the second type, obtaining a third historical training instruction used by the manipulator in the previous training process; The third historical training instruction is set as the target training instruction.
5. The method according to claim 3, characterized in that: If it is detected that the manipulator is not connected to the computing device, before querying whether there is an offline training instruction pre-stored in the manipulator, the method further includes: Acquire instruction information of the computing device, the instruction information including the basic training instruction, the basic training instruction being an instruction determined according to a preset training instruction set and a total number of the manipulators in the manipulator system, the training instruction set including a plurality of reference training instructions of a plurality of preset basic training actions; The instruction information is stored in the robot.
6. The method according to claim 3, characterized in that If it is detected that the manipulator is not connected to the computing device, before querying whether there is an offline training instruction pre-stored in the manipulator, the method further includes: Obtaining a preset training instruction set and a total number of the manipulators in the manipulator system, wherein the training instruction set includes a plurality of reference training instructions of a plurality of preset basic training actions, and the reference training instructions in the training instruction set are sorted from most to least according to the number of times they are used by the at least one manipulator; Counting instruction quantity values of the plurality of reference training instructions; If the instruction quantity value is greater than or equal to the total quantity value, then obtain the number corresponding to the robot; Setting the reference training instruction corresponding to the number in the training instruction set as the basic training instruction; If the instruction quantity value is less than the total quantity value, any reference training instruction in the training instruction set is set as the basic training instruction.
7. The method according to any one of claims 1 to 6, characterized in that: After executing the target training action corresponding to the target training instruction, the method further includes: detecting whether the manipulator is connected to the computing device; If it is detected that the manipulator is not connected to the computing device, the manipulator is controlled to give a voice prompt.
8. A processing device for training data of a robot, characterized in that: At least one manipulator applied to a manipulator system, the manipulator system comprising the at least one manipulator and a computing device connected to the at least one manipulator, the apparatus comprising: A query unit, configured to query whether an offline training instruction is pre-stored in the manipulator if it is detected that the manipulator is not connected to the computing device, wherein the offline training instruction represents a training instruction received by the manipulator at the end of the previous training process for execution in the next training process, and the training instruction represents an instruction instructing the manipulator to perform a training action; an acquisition unit, configured to acquire type information of the manipulator if the offline training instruction is not pre-stored in the manipulator; A determination unit, configured to determine a target training instruction corresponding to the manipulator according to the type information; An execution unit is used to execute the target training action corresponding to the target training instruction.
9. A terminal device, characterized in that: include: At least one processor and a memory, the memory is used to store computer program code, the computer program code includes computer instructions, and when the at least one processor executes the computer instructions, the terminal device executes the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions. When the program instructions are executed by a processor, the processor is caused to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Account number merging method
CN110912893A
Cleaning robot control method and device, storage medium and cleaning robot
CN111449572A