Method, device, equipment, system and readable storage medium for controlling a robot
By correcting the first force information detected by the first robot and controlling the second robot to transmit appropriate force information, the problem that it is difficult for users to accurately perceive the force information in the surrounding environment is solved, and the control accuracy and user experience are improved.
Patent Information
- Application Number
- CN202110272535.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-12
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2041-03-12
AI Technical Summary
In a bilateral force feedback remote operating system, it is difficult for users to accurately perceive the force information applied by the surrounding environment to the slave robot, resulting in low control accuracy and affecting the user experience.
By determining the agility and stiffness information of the target object, the first force information detected by the first robot is corrected, the corrected first force information is obtained, and the second robot is controlled based on the information to transmit appropriate force information to the user, At the same time, the first robot is controlled based on the user's feedback force information to the second robot.
It effectively avoids the impact of too large or too small force corresponding to the first force information on the user, improves the user's decision-making accuracy and user experience, and ensures the accuracy of subsequent control processes.
Smart Images

Figure CN115070749B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of control technology, and in particular to a method, device, equipment, system and readable storage medium for controlling a robot. Background Art
[0002] With the development of control technology, there are more and more ways to control robots. For example, in a bilateral force feedback teleoperation system, the user contacts the master robot and controls the slave robot by operating the master robot to facilitate remote operations.
[0003] During the control process, the user will sense the force information applied by the surrounding environment to the slave robot. When the force information is large, the master robot is likely to impact the user. When the force information is small, it is difficult for the user to perceive accurately. It can be seen that no matter which situation, it will interfere with the user's decision-making process, not only reducing the accuracy of the subsequent control process, but also affecting the user's experience. Summary of the invention
[0004] The embodiments of the present application provide a method, device, equipment, system and readable storage medium for controlling a robot to improve the problem that the control accuracy of related technologies is not high and affects the user experience. The technical solution is as follows:
[0005] In one aspect, a method for controlling a robot is provided, the method comprising:
[0006] Determine information of a target object, the information of the target object comprising at least one of first information and second information, the first information is used to indicate the dexterity of the target object, the dexterity is used to indicate the ability of the target object to move in any direction under a corresponding posture, and the second information is used to indicate the stiffness of the target object;
[0007] Acquire first force information detected by the first robot based on the surrounding environment;
[0008] Correcting the first force information according to the information of the target object to obtain corrected first force information, and controlling the second robot based on the corrected first force information to transmit the force corresponding to the corrected first force information to the target object through the second robot;
[0009] Acquire second force information transmitted by the target object to the second robot, and control the first robot based on the second force information.
[0010] In one aspect, a device for controlling a robot is provided, the device comprising:
[0011] a determination module, configured to determine information of a target object, wherein the information of the target object includes at least one of first information and second information, wherein the first information is used to indicate the dexterity of the target object, wherein the dexterity is used to indicate the ability of the target object to move in any direction under a corresponding posture, and the second information is used to indicate the stiffness of the target object;
[0012] An acquisition module, used to acquire first force information detected by the first robot based on the surrounding environment;
[0013] a correction module, configured to correct the first force information according to information of the target object to obtain corrected first force information, and control the second robot based on the corrected first force information so as to transmit the force corresponding to the corrected first force information to the target object through the second robot;
[0014] The control module is used to obtain second force information transmitted by the target object to the second robot, and control the first robot based on the second force information.
[0015] In an exemplary embodiment, the information of the target object includes second information, and the control module is used to determine third force information based on the second information and the second force information; and control the first robot according to the third force information.
[0016] In an exemplary embodiment, the control module is used to obtain a posture difference between the first robot and the second robot, wherein the posture difference is a posture change of the second robot relative to the first robot after the second force information is applied; determine fourth force information based on the second information and the posture difference; and determine the third force information based on the second force information and the fourth force information.
[0017] In an exemplary embodiment, the correction module is also used to determine a first threshold and a second threshold based on the information of the target object, wherein the first threshold is greater than the second threshold; determine a change in force information based on the first force information, and in response to the change in force information being greater than the first threshold or less than the second threshold, perform the correction of the first force information according to the information of the target object.
[0018] In an exemplary embodiment, the value of the first threshold and the value of the second threshold are negatively correlated with the value of the first information, and the value of the first threshold and the value of the second threshold are positively correlated with the value of the second information.
[0019] In an exemplary embodiment, the correction module is used to reduce the first force information to obtain the corrected first force information in response to the force information change amount being greater than the first threshold.
[0020] In an exemplary embodiment, the correction module is used to increase the first force information to obtain the corrected first force information in response to the change in the force information being smaller than the second threshold.
[0021] In an exemplary embodiment, the information of the target object includes the second information, and the determination module is used to obtain the electromyographic signal of the target object, input the electromyographic signal into a target model, and the target model is used to output a stiffness matrix based on the input electromyographic signal; and determine the stiffness matrix output by the target model as the second information.
[0022] In an exemplary embodiment, the electromyographic signal is discrete and the target model includes a classification model; or, the electromyographic signal is continuous and the target model includes a regression model.
[0023] In an exemplary embodiment, the information of the target object includes the first information, and the determination module is used to obtain the Jacobian matrix of the target object; determine the maximum singular value and the minimum singular value of the Jacobian matrix, and determine the condition number corresponding to the target object according to the maximum singular value and the minimum singular value; determine the operability corresponding to the target object based on the Jacobian matrix; and determine the first information based on the condition number and the operability.
[0024] On the one hand, a device for controlling a robot is provided, the device comprising a processor and a memory, the memory being used to store at least one instruction, and the processor being used to execute the at least one instruction so that the device for controlling the robot executes a method for controlling a robot provided by any exemplary embodiment of the present application.
[0025] On the one hand, a system for controlling a robot is provided, the system comprising: a processor, a first robot and a second robot, the first robot and the second robot being communicatively connected to the processor respectively, and the processor being used to execute a method for controlling a robot provided by any exemplary embodiment of the present application.
[0026] On the one hand, a computer-readable storage medium is provided, wherein at least one instruction is stored in the computer-readable storage medium, and the instruction is loaded and executed by a processor to implement a method for controlling a robot provided by any exemplary embodiment of the present application.
[0027] On the other hand, a computer program or a computer program product is provided, wherein the computer program or the computer program product comprises: computer instructions, wherein when the computer instructions are executed by a computer, the computer implements the method for controlling a robot provided by any exemplary embodiment of the present application.
[0028] The beneficial effects of the technical solution provided by the embodiment of the present application include at least:
[0029] The first force information fed back by the first robot is corrected based on the user's information. Afterwards, the force corresponding to the corrected first force information is fed back to the user so that the user can make a decision and complete the subsequent control process. By feeding back the force corresponding to the corrected first force information, the impact on the user caused by the excessive force corresponding to the first force information can be avoided, and the user's difficulty in accurately perceiving the force corresponding to the first force information is avoided. Therefore, even if the force corresponding to the first force information is too large or too small, it will not interfere with the user's decision-making process, thereby ensuring the accuracy of the subsequent control process and improving the user's experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments 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 creative work.
[0031] Figure 1 It is a schematic diagram of an implementation environment provided by an embodiment of the present application;
[0032] Figure 2 is a flow chart of a method for controlling a robot provided in an embodiment of the present application;
[0033] Figure 3 is a schematic diagram of a human skeleton system provided in an embodiment of the present application;
[0034] Figure 4 is a schematic diagram of a training and application target model provided in an embodiment of the present application;
[0035] Figure 5 is a schematic diagram of a classification model provided in an embodiment of the present application;
[0036] Figure 6 is a schematic diagram of a regression model provided in an embodiment of the present application;
[0037] Figure 7 It is a schematic diagram of a process of controlling a robot provided in an embodiment of the present application;
[0038] Figure 8 is a schematic diagram of the structure of a device for controlling a robot provided in an embodiment of the present application;
[0039] Fig. 9 is a schematic diagram of the structure of a system for controlling a robot provided in an embodiment of the present application;
[0040] Fig.10 It is a structural schematic diagram of a system for controlling a robot provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0042] AI (Artificial Intelligence) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0043] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. Basic artificial intelligence technologies generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operating / interactive systems, mechatronics, and other technologies. Artificial intelligence software technologies include but are not limited to computer vision technology, machine learning / deep learning, and other major directions.
[0044] CV (Computer Vision) technology is a science that studies how to make machines "see". To put it more specifically, it refers to using cameras and computers to replace human eyes to identify, track and measure targets, and further perform image processing to make computer processing into images that are more suitable for human eye observation or transmission to instruments for detection. As a scientific discipline, computer vision studies related theories and technologies, and attempts to establish an artificial intelligence system that can obtain information from images or multi-dimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content / behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, augmented reality, simultaneous positioning and map construction, and other technologies, as well as common biometric recognition technologies such as face recognition and fingerprint recognition.
[0045] ML (Machine Learning) is a multi-disciplinary subject involving probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning usually include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and self-learning.
[0046] With the research and progress of artificial intelligence technology, artificial intelligence technology has been studied and applied in the field of robot control. I believe that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.
[0047] In the bilateral force feedback teleoperation system, there are a master robot and a slave robot. The user touches the master robot and operates it, and the master robot feeds back the interactive force information applied by the user to the slave robot to control the movement of the slave robot. After the slave robot moves, it detects the contact force information applied by the surrounding environment and feeds it back to the master robot, which then feeds back the contact force information to the user. Among them, the master robot generates a movement trend or moves according to the contact force information fed back by the slave robot, and then feeds back the contact force information to the user.
[0048] In the above control process, the user perceives the contact force information, and the next operation performed by the user on the master robot is determined based on the currently perceived contact force information. However, when the contact force information is large, it may cause the master robot to move faster, making the user vulnerable to the impact of the master robot. When the contact force information is small, it may be difficult for the user to perceive accurately. In either case, it will interfere with the user's decision-making process, which not only reduces the accuracy of the subsequent control process, but also affects the user's experience.
[0049] The present application provides a method for controlling a robot. The method can be applied to Figure 1 In the implementation environment shown. Figure 1 The robot 10 includes a first robot 11, a second robot 12 and a processor 13. The first robot 11 and the second robot 12 are both provided with force sensors, and the force sensors are used to detect force information.
[0050] Among them, the first robot 11 is a robot in contact with the environment. The first robot 11 can also be called a slave robot, and the part of the first robot 11 in contact with the environment can be called an actuator. The force sensor provided on the first robot 11 is used to detect the force information (interaction force information) applied by the surrounding environment to the first robot 11. The first robot 11 is connected in communication with the processor 13, so as to send the force information applied by the surrounding environment to the first robot 11 to the processor 13. The second robot 12 is a robot that can be operated by the target object. The second robot 12 can be provided with a handle that facilitates the operation of the target object. The second robot 12 can also be called a master robot. The force sensor provided on the second robot 12 is used to detect the force information (contact force information) applied by the target object to the second robot 12. The second robot 12 is also connected in communication with the processor 13 to send the force information applied by the target object to the second robot 12 to the processor 13. Accordingly, the processor 13 controls the first robot 11 and the second robot 12 based on the force information sent by the second robot 12 and the first robot 11.
[0051] Exemplarily, both the first robot 11 and the second robot 12 are provided with a posture sensor 14. The posture sensor 14 provided on the first robot 11 is used to detect the posture information of the first robot 11, and the posture sensor 14 provided on the second robot 12 is used to detect the posture information of the second robot 12. After acquiring the posture information of the first robot 11 and the second robot 12, the processor 13 controls the second robot 12 and the first robot 11 by integrating the posture information and force information.
[0052] Exemplarily, the implementation environment further includes a SEMG (Surface Electromyography) sensor 15. The SEMG sensor 15 is used to detect the electromyographic signal of the target object, and the processor 13 can determine the stiffness of the target object according to the detected electromyographic signal, so as to control the second robot 12 and the first robot 11 in combination with the stiffness of the target object. For example, see Figure 1 When the target object operates the second robot 12 through the arm, the SEMG sensor 15 can detect the electromyographic signals of the upper arm, elbow and forearm to determine the stiffness of the target object.
[0053] It can be understood that the processor 13 may include a first processor and a second processor, the first processor is integrated in the first robot 11, and the second processor is integrated in the second robot 12. The first processor is connected to the second processor in communication to exchange the force information, posture information, and stiffness. Thus, the first processor controls the first robot 11, and the second processor controls the second robot 12.
[0054] In addition, the implementation environment may also include a visual sensor 16, which applies the above-mentioned CV technology and is used to obtain a view of the surrounding environment of the first robot 11. Through the view obtained by the visual sensor, the target object can understand the environment in which the first robot 11 is located, and the working state of the first robot 11 in the environment. The visual sensor 16 is, for example, a binocular camera.
[0055] Based on the above Figure 1 The implementation environment shown is shown in Figure 2 , the present application embodiment provides a method for controlling a robot, which can be applied to Figure 1 As shown in the processor. Figure 2 As shown, the method includes the following steps.
[0056] 201. Determine information of a target object, where the information of the target object includes at least one of first information and second information.
[0057] The target object is a user who is in contact with the second robot and is used to operate the second robot. The first information of the target object is used to indicate the dexterity of the target object, and the dexterity is used to indicate the ability of the target object to move in any direction under the corresponding posture (position and attitude). The higher the dexterity, the stronger the ability of the target object to move in any direction. When the target object is subjected to force, movement in the direction of the force can buffer the force, so that the target object can withstand a larger force. Therefore, the higher the dexterity of the target object, the greater the force that the target object can withstand.
[0058] In an exemplary embodiment, when the information of the target object includes the first information, determining the information of the target object includes: obtaining the Jacobian matrix of the target object. Determining the maximum singular value and the minimum singular value of the Jacobian matrix, determining the condition number corresponding to the target object according to the maximum singular value and the minimum singular value, determining the operability corresponding to the target object based on the Jacobian matrix, and determining the first information based on the condition number and the operability. It should be understood that the information of the target object including the first information means that the information of the target object only includes the first information but not the second information, or the information of the target object includes the first information and the second information. Among them, the second information is used to indicate the stiffness of the target object, and the second information will be further explained later.
[0059] To facilitate determination of the Jacobian matrix of the target object, the present embodiment first maps the target object equivalently to a human skeleton system including joints and bones. The length of each bone in the human skeleton system can be determined, so that the human skeleton system has a certain topological relationship. For example, see Figure 3 , Figure 3The figure shows a human skeleton system obtained by Kinect mapping. Of course, this embodiment does not limit the method of obtaining the human skeleton system, and this embodiment can also use other methods other than Kinect to obtain the human skeleton system.
[0060] After obtaining the human skeleton system, the motion angle q0 of the joints in the human skeleton system is detected, so as to obtain the Jacobian matrix in combination with the topological relationship of the human skeleton system, as shown in the following formula (1):
[0061]
[0062] Among them, J(q0) is the Jacobian matrix of the target object, J 1i is the transformation coefficient of the i-th (1≤i≤n) joint for the end linear velocity, J 2i is the transformation coefficient of the angular velocity of the terminal for the i-th joint. It should be noted that the operation of the target object on the second robot is completed through at least one body part included in the body. Therefore, the joint in the above formula (1) refers to the joint included in the body part used to operate the robot, and the above terminal refers to the terminal of the body part. Taking the body part including the arm as an example, the joint in the above formula (1) includes the shoulder, elbow and wrist, and the above terminal is the hand.
[0063] After obtaining the Jacobian matrix, determine the maximum singular value σ of the Jacobian matrix max With the minimum singular value σ min The ratio of is taken as the condition number k (1≤k≤∞). The smaller the value of the condition number k, the higher the dexterity of the target object. When k=1, the target object is homogeneous and has the highest dexterity.
[0064] In addition, the operability is determined based on the Jacobian matrix according to the following formula (2):
[0065]
[0066] Among them, W (W ≥ 0) is the manipulability, det means to obtain the determinant, and T means to transpose the matrix. When the manipulability W = 0, the target object is in a singular configuration and has the lowest dexterity. When the manipulability W > 0, the target object is in a non-singular configuration and has the highest dexterity. In other words, the larger the value of the manipulability W, the higher the dexterity of the target object.
[0067] After determining the condition number k and the operability W, the first information m indicating the dexterity is determined according to the following formula (3):
[0068] m=w1·k+w2 / W (3)
[0069] Wherein, w1 and w2 are weight coefficients, and the weight coefficients can be determined based on experience. In addition, the smaller the first information m is, the higher the dexterity of the target object is.
[0070] Above, the first information of the target object is described. Next, the second information of the target object is described. The second information is used to indicate the stiffness of the target object, and the stiffness refers to the ability of the target object to resist elastic deformation when subjected to force. The greater the stiffness, the stronger the ability of the target object to resist elastic deformation when subjected to force, so that the force that the target object can withstand is also greater. Exemplarily, in the case where the information of the target object includes the second information, this embodiment determines the second information based on the ML technology. Therefore, determining the information of the target object includes: obtaining the electromyographic signal of the target object, inputting the electromyographic signal into the target model, and the target model is used to output the stiffness matrix based on the input electromyographic signal. The stiffness matrix output by the target model is determined as the second information. It should be understood that the information of the target object includes the second information means that the information of the target object only includes the second information but not the first information, or the information of the target object includes the second information and the first information. Of course, the method of determining the second information based on the ML technology is only an example, and the second information can also be determined by other methods other than ML in this embodiment.
[0071] To obtain the second information, the present embodiment first trains a target model, which is used to output a stiffness matrix based on the input electromyographic signal. It should be noted that, due to the different muscle conditions of different target objects, different target objects may also correspond to different stiffnesses when generating the same electromyographic signal. Therefore, the present embodiment needs to train a target model corresponding to the target object.
[0072] See also Figure 4 In this embodiment, the target object's electromyographic signals at different stiffnesses are collected offline, and the electromyographic signals can be represented as groups. Afterwards, feature extraction is performed on the electromyographic signals, and the extracted features may be features for a single electromyographic signal or features for a group of electromyographic signals. Next, the extracted features are labeled with stiffness, and the features labeled with stiffness are used as training data. Alternatively, in this embodiment, the collected electromyographic signals may be filtered and denoised first, and then feature extraction and stiffness labeling are performed on the electromyographic signals after filtering and denoising, so as to obtain training data. Exemplarily, the method for filtering and denoising includes but is not limited to filtering through a notch filter and a bandpass filter.
[0073] After obtaining the training data, the target model corresponding to the target object can be obtained based on the training data. Figure 4In the process of applying the target model, the electromyographic signal of the target object when operating the second robot is collected in real time, the collected electromyographic signal is filtered, de-noised and feature extracted, and input into the target model, so as to obtain the stiffness matrix output by the target model, and then the stiffness matrix is used as the second information. In this embodiment, the second information is represented as K.
[0074] In an exemplary embodiment, see Figure 5 In the case of discrete electromyographic signals, the target model includes a classification model. For example, the classification model includes but is not limited to KNN (K-Nearest Neighbor), LDA (Linear Discriminant Analysis), and SVM (Support Vector Machine). Alternatively, see Figure 6 In the case where the electromyographic signal is continuous, the target model includes a regression model. Exemplarily, the regression model includes but is not limited to a Bayesian regression model, a model using a genetic algorithm, and the like.
[0075] It should be noted that when the target model includes a classification model, in addition to filtering and denoising the training data, feature extraction, etc., it is also necessary to divide the training data into multiple categories corresponding to different stiffnesses, and obtain the target model by training the training data labeled with categories. Accordingly, in the process of applying the target model, the collected electromyographic signal is input into the target model, and the target model determines the category to which the electromyographic signal belongs, thereby outputting the stiffness matrix corresponding to the category. For example, Figure 5 If the electromyographic signal is determined to belong to category 1, the stiffness matrix K1 is output, and if the electromyographic signal is determined to belong to category 2, the stiffness matrix K2 is output. Other categories are not described one by one. The stiffness matrix corresponding to the category can be set based on experience, which is not limited in this embodiment.
[0076] 202. Obtain first force information detected by a first machine based on the surrounding environment.
[0077] The first robot is a robot in contact with the environment, so the first robot can detect the first force information applied to itself by the surrounding environment. In this embodiment, the first force information is represented as F0(t), and t is used to distinguish different moments. The first force information includes force and torque. In the Cartesian coordinate system, the first force information F0(t)=[F x , F y , F z , τ x , τ y ,τz| T . Where x, y and z are the three coordinate axes defined in the Cartesian coordinate system. [F x , Fy , F z ] is used to represent force, [τ x , τ y , τ z ] is used to represent torque. It can be understood that other force information involved in this embodiment also includes force and torque, which will not be described one by one in the following text.
[0078] It should be noted that before the target object operates the second robot, the second robot will not control the first robot to move, so the first robot is in a stationary state. After the target object operates the second robot, the second robot will control the first robot to move, and the first robot will change from a stationary state to a moving state. Regardless of whether the first robot is in a stationary state or a moving state, it can detect the first force information applied to itself by the surrounding environment.
[0079] 203 , correct the first force information according to the information of the target object to obtain corrected first force information.
[0080] After the first robot detects the first force information, it sends the detected first force information to the second robot. In the related art, after receiving the first force information, the second robot directly transmits the first force information to the target object. In this embodiment, see Figure 7 First, the first force information is corrected according to the information of the target object, and the force corresponding to the corrected first force information is transmitted to the target object, so as to avoid the force corresponding to the first force information being too large or too small to affect the perception of the target object.
[0081] It should be noted that the correction process involves the calculation of force information. When the first robot and the second robot use the same processor, the calculation tasks included in the correction process are completed by the processor. When the first robot and the second robot use different processors, either processor can be used to complete the calculation tasks included in the correction process. Exemplarily, in this embodiment, the calculation tasks included in the correction process are completed by the processor used by the first robot. For example, after determining the information of the target object, the processor used by the second robot transmits the information of the target object to the processor used by the first robot, and the processor used by the first robot completes the calculation tasks of the correction process based on the information of the target object.
[0082] In an exemplary embodiment, before modifying the first force information according to the information of the target object, the method further includes: determining a first threshold and a second threshold based on the information of the target object, wherein the first threshold is greater than the second threshold. Determining a force information change amount based on the first force information, and in response to the force information change amount being greater than the first threshold or less than the second threshold, modifying the first force information according to the information of the target object.
[0083] In some embodiments, the numerical value of the first threshold value and the numerical value of the second threshold value are negatively correlated with the numerical value of the first information. Among them, the first information m is used to indicate the dexterity of the target object. The smaller the first information m is, the higher the dexterity of the target object is. It can be seen that the higher the dexterity of the target object is, the larger the numerical value of the first threshold value and the numerical value of the second threshold value are. In addition, the numerical value of the first threshold value and the numerical value of the second threshold value are positively correlated with the numerical value of the second information. The second information K is used to indicate the stiffness of the target object. The larger the second information K is, the larger the stiffness of the target object is. Therefore, the larger the stiffness of the target object is, the larger the numerical value of the first threshold value and the numerical value of the second threshold value are.
[0084] Exemplarily, when the information of the target object includes first information m indicating dexterity and second information K indicating stiffness, the present embodiment determines the first threshold β according to the following formula (4): max , determine the second threshold β according to the following formula (5): min :
[0085]
[0086]
[0087] Among them, in formula (4) And in formula (5) is a constant determined based on experience. as well as The value of is limited.
[0088] Exemplarily, when the information of the target object includes only the first information m but not the second information K, lgK in the above formulas (4) and (5) can be modified to other non-zero coefficients. When the information of the target object includes only the second information K but not the first information m, m in the above formulas (4) and (5) can be modified to other coefficients, and the other coefficients are not equal to negative one.
[0089] In addition, this embodiment also determines the force information change based on the first force information, thereby determining whether the first force information needs to be corrected by comparing the force information change with the first threshold and the second threshold. The force information change refers to the difference between the first force information and the historical force information, and the historical force information is the force information transmitted to the target object by the second robot at the last moment. In other words, the force information change is the difference between the force information transmitted to the target object by the second robot at adjacent moments. Exemplarily, the method for determining the force information change is as follows: Formula (6):
[0090]
[0091] Wherein, β(t) is the change in force information, F0(t) is the first force information described in 202, F1(t-1) is the historical force information, v is a coefficient determined based on experience, and v>0.
[0092] After determining the force information variation, in response to the force information variation being between the first threshold and the second threshold, it is indicated that the target object is suitable for directly bearing the first force information based on its current dexterity and stiffness, and thus the second robot can directly transmit the first force information to the target object. Conversely, in response to the force information variation not being between the first threshold and the second threshold, it is indicated that the target object is not suitable for directly bearing the first force information based on its current dexterity and stiffness. Therefore, the first force information is modified as follows.
[0093] In an exemplary embodiment, the first force information is corrected according to the information of the target object to obtain the corrected first force information, including: in response to the force information change being greater than the first threshold, the first force information is reduced to obtain the corrected first force information. In the case where the force information change is greater than the first threshold, it means that the first force information exceeds the tolerance range of the target object. If the first force information is directly transmitted to the target object, the second robot may cause an impact on the target object. Therefore, this embodiment reduces the first force information to obtain the corrected first force information, thereby avoiding an impact on the target object.
[0094] Alternatively, in an exemplary embodiment, the first force information is corrected according to the information of the target object to obtain the corrected first force information, including: in response to the force information change being less than the second threshold, the first force information is increased to obtain the corrected first force information. When the force information change is less than the second threshold, it means that the first force information does not exceed the tolerance range of the target object, but the first force information is small, and it is not easy for the target object to accurately perceive the first force information. Therefore, in this embodiment, the first force information is increased to obtain the corrected first force information, so that the target object can accurately perceive the first force information.
[0095] In some embodiments, the correction process of the force information can be expressed by the following formulas (7) and (8):
[0096] F1(t)=F1(t-1)+α(t)·v (7)
[0097]
[0098] Wherein, F1(t) is used to represent the corrected first force information. Based on formulas (7) and (8), the following three situations can be obtained.
[0099] Case 1: β(t)>β max, that is, the change in the force information is greater than the first threshold. In this case, the difference between the corrected first force information F1(t) and the first force information F0(t) is:
[0100] F1(t)-F0(t)=F1(t-1)+β max v-F0(t)
[0101] Based on the above formula (6), it can be determined that F1(t-1)-F0(t)=-β(t)·v, then:
[0102] F1(t)-F0(t)=(β max -β(t))·v
[0103] Since β(t)>β max , and v>0, so F1(t)-F0(t)<0. That is to say, the corrected first force information F1(t) is smaller than the first force information F0(t), and the correction process reduces the first force information.
[0104] The second case: β min <β(t)<β max , that is, the force information change is between the first threshold and the second threshold. In this case, the corrected first force information F1(t) is:
[0105]
[0106] It can be seen that the corrected first force information F1 (t) is the same as the first force information F0 (t), so there is no need to correct the first force information in practical applications.
[0107] The third case: β(t)<β min , that is, the change in the force information is less than the second threshold. In this case, the difference between the corrected first force information F1(t) and the first force information F0(t) is:
[0108] F1(t)-F0(t)=F1(t-1)+β min v-F0(t)
[0109] Based on the above formula (6), it can be determined that F1(t-1)-F0(t)=-β(t)·v, then:
[0110] F1(t)-F0(t)=(β min -β(t))·v
[0111] Since β(t)<β min, and v>0, so F1(t)-F0(t)>0. That is, the corrected first force information F1(t) is greater than the first force information F0(t), and the correction process increases the first force information.
[0112] 204 , controlling the second robot based on the corrected first force information, so as to transmit the force corresponding to the corrected first force information to the target object through the second robot.
[0113] After obtaining the corrected first force information, the second robot can be controlled based on the first force information, so that the second robot has a movement tendency or moves. Then, the second robot can transmit the force corresponding to the corrected first force information to the target object. For example, after the second robot moves, it contacts the target object, and transmits the force corresponding to the modified first force information to the target object through the contact process, so that the target object can sense the force corresponding to the modified first force information.
[0114] 205 , obtaining second force information transmitted by the target object to the second robot, and controlling the first robot based on the second force information.
[0115] For example, the second force information may be force information applied to the second robot by the target object based on its own perception after the target object perceives the force corresponding to the modified first force information. After the second robot detects the second force information, the first robot may be directly controlled based on the second force information. Alternatively, see Figure 7 , in the case where the information of the target object includes the second information, this embodiment can also control the first robot based on the second force information in combination with the second information indicating the stiffness. That is, in an exemplary embodiment, controlling the first robot based on the second force information includes: determining the third force information based on the second information and the second force information, and controlling the first robot according to the third force information. Among them, by combining the second information, the first robot can exhibit the same stiffness as the target object, so that the movement of the first robot is more flexible and anthropomorphic, avoiding the stiff movement process caused by directly controlling the first robot according to the second force information.
[0116] It should be noted that the determination process of the third force information involves a computing task. When the first robot and the second robot use the same processor, the computing task included in the determination process is completed by the processor. When the first robot and the second robot use different processors, either processor can be used to complete the computing task included in the determination process. Exemplarily, in this embodiment, the computing task included in the determination process is completed by the processor used by the second robot.
[0117] In an exemplary embodiment, determining the third force information based on the second information and the second force information includes the following steps 2051 and 2052 .
[0118] 2051, obtaining a posture difference between the first robot and the second robot, where the posture difference is a posture change of the second robot relative to the first robot after the second force information is applied thereto.
[0119] The second force information is the force information applied by the target object to the second robot. After the second force information is applied to the second robot, the posture of the end of the second robot will change. When the second robot has not yet controlled the first robot based on the second force information, the posture of the end of the first robot will not change. Thus, a posture difference is generated between the first robot and the second robot. Therefore, the posture difference is expressed by the following formula (9):
[0120] e=x-x0 (9)
[0121] Among them, e is the posture difference, x is the posture of the first robot end in the Cartesian coordinate system, and x0 is the posture of the second robot end in the Cartesian coordinate system after the second robot receives the second force information applied by the target object. It should be noted that the posture includes position and posture. The position is expressed as [x, y, z], and the posture is expressed as [α, β, γ]. Whether it is the above x or x0, it can be expressed as [x, y, z, α, β, γ] T way to express it.
[0122] 2052. Determine fourth force information based on the second information and the posture difference, and determine third force information based on the second force information and the fourth force information.
[0123] Based on the second information K indicating the stiffness and the posture difference e, this embodiment first determines the fourth force information according to the following formula (10):
[0124] F d1 =K·e (10)
[0125] Among them, F d1 is the fourth force information, F d1 is the expected force information corresponding to the posture difference between the first robot and the second robot. In other words, by applying F d1 , which can change the posture of the first robot, so that the posture of the first robot is the same as that of the second robot, and the first robot exhibits the same stiffness as the target object. In addition, the second force information is represented as F d2 , thus based on F d1 and F d2Determine the third force information Next, the process of determining the third force information is described.
[0126] In the Cartesian coordinate system, the forward kinematics equation of the first robot is expressed as the following formula (11):
[0127]
[0128] x is the position of the first robot end in the Cartesian coordinate system, represents the first-order derivative of x, is the velocity (including linear velocity and angular velocity) of the first robot end in the Cartesian coordinate system. J is the Jacobian matrix of the first robot, q is the motion angle of the joint of the first robot, represents the first-order derivative of q, is the angular velocity of the joint of the first robot.
[0129] Based on formula (11), the inverse dynamics equation of the first robot is obtained, see formula (12):
[0130]
[0131] The following formula (13) is obtained by deriving formula (12):
[0132]
[0133] in, represents the second-order derivative of q, is the angular acceleration of the joint of the first robot, represents the second-order derivative of x, is the acceleration of the first robot end in the Cartesian coordinate system, J -1 represents the inverse matrix of the Jacobian matrix of the first robot, represents the first derivative of the Jacobian matrix of the first robot.
[0134] In addition, the dynamic equation of the first robot is expressed as the following formula (14):
[0135]
[0136] M(q) is the inertia matrix of the first robot, is the centrifugal force matrix of the first robot, G(q) is the gravity matrix of the first robot, τ is the driving torque of the first robot, τ ext is the torque exerted by the surrounding environment on the first robot.
[0137] Combining the above formulas (12) and (13), and τ = J T F2, T ext=J T ·F ext The relationship between , formula (14) can be further expressed in the Cartesian coordinate system as the following formula (15):
[0138]
[0139] N(x) is the inertia matrix of the first robot in the Cartesian coordinate system, N(x) = J -T M(q)J -1 ;
[0140] is the centrifugal force matrix of the first robot in the Cartesian coordinate system,
[0141] P(x) is the gravity matrix of the first robot in the Cartesian coordinate system, P(x) = J -T G(q);
[0142] F2 is the driving force, F ext is the force exerted by the surrounding environment on the first robot.
[0143] It should be noted that F ext The force included in the first force information F0(t) in the above description is the force exerted on the first robot by the surrounding environment, but F ext The force included in F0(t) corresponds to a different time. The force included in F0(t) is the force first detected by the first robot, and the target object perceives the force corresponding to the first force information F1(t) obtained by correcting F0(t), thereby applying the second force information F1(t) to the second robot. d2 After that, the third force information for controlling the first robot is determined, F ext is the force detected by the first robot during the determination of the third force information, i.e., F ext is the force detected by the first robot.
[0144] Furthermore, considering the interaction between the first robot and the surrounding environment, the following formula (16) is obtained:
[0145]
[0146] M d is the inertia matrix of the first robot interacting with the surrounding environment, D d is the damping matrix of the first robot’s interaction with the surrounding environment, K d The first is the stiffness matrix of the robot's interaction with the surrounding environment. d and D d It can be determined based on the stability of formula (16). is the first-order derivative of e, represents the speed of posture change, is the second-order derivative of e, represents the acceleration of posture change. Fd is the expected force corresponding to the first robot, F d =F d1 +F d2 .
[0147] Based on formula (16), it can be deduced that According to the above formula (9), e = x-x0, so In some embodiments, the acceleration of the first robot end in the Cartesian coordinate system It is expressed by the following formula (17), formula (18) or formula (19):
[0148]
[0149]
[0150]
[0151] Compared with formula (17), formula (18) does not consider K d A related K d e. In formula (19), the value of γ is related to F d and K d For example, in response to K d e is greater than F d The product of K and the target coefficient indicates that d e will have a greater impact on the subsequent control process, so the value of γ is set to 0 to eliminate K d e possible impact. Response to K d e is not greater than F d The product of K and the target coefficient indicates that d e will not affect the subsequent control process and can be used to d e is retained, and thus the value of γ is set to 1. This embodiment does not limit the value of the target coefficient, and illustratively, the value of the target coefficient is 0.2.
[0152] According to the above explanation of formula (16), we know that F d =F d1 +F d2 According to formula (10), we know that F d1 =Ke, on this basis, substitute formula (17) into formula (15) to obtain the following formula (20):
[0153]
[0154] Alternatively, substituting formula (18) into formula (15) yields the following formula (21):
[0155]
[0156] Alternatively, substituting formula (19) into formula (15) yields the following formula (22):
[0157]
[0158] According to formula (20), formula (21) or formula (22), the driving force F2 of the first robot can be determined. T F2 can determine the driving torque τ of the first robot. Therefore, the driving force F2 and the driving torque τ constitute the third force information for controlling the first robot.
[0159] In summary, the embodiment of the present application corrects the first force information fed back by the first robot based on information such as the user's dexterity and stiffness. Afterwards, the force corresponding to the corrected first force information is fed back to the user so that the user can make a decision and complete the subsequent control process. By feeding back the force corresponding to the corrected first force information, the impact on the user caused by the excessive force corresponding to the first force information can be avoided, and the user's difficulty in accurately perceiving the force corresponding to the first force information that is too small can be avoided. Therefore, even if the force corresponding to the first force information is too large or too small, it will not interfere with the user's decision-making process, thereby ensuring the accuracy of the subsequent control process and improving the user's experience.
[0160] Based on the method described above, this embodiment is applicable to the following multiple application scenarios:
[0161] Application scenario 1: multi-task scenario. In the related art, the first robot uses a fixed stiffness to complete the task, and the fixed stiffness is obtained by debugging the first robot. If you switch from one of the executed tasks to another task to be executed, you need to re-debug the first robot so that the first robot can obtain the stiffness required for the task to be executed. This process is relatively cumbersome. However, if the first robot is not re-debugged, the execution effect of the task to be executed may be affected due to the difference between the stiffness required for the executed task and the stiffness required for the task to be executed. For example, the executed task is to move the table, which requires a larger stiffness, and the task to be executed is typing, which requires a smaller stiffness. If the typing task is performed using the stiffness of moving the table, the execution effect of the typing task will be affected due to the excessive stiffness, and even the typing task will fail. Of course, the above-mentioned tasks of moving the table and typing are only examples, and other tasks include but are not limited to grabbing a water cup, pouring water, carrying a plate, and inserting a USB flash drive, etc. This embodiment does not limit the tasks that the first robot can perform.
[0162] In this regard, the method provided by the embodiment of the present application can improve the negative situation in the related art. In the method provided by the embodiment of the present application, the stiffness adopted by the first robot changes with the change of the user's stiffness. Since the user will use the appropriate stiffness to control the second robot through decision-making in different tasks, the stiffness adopted by the first robot is also suitable for each task. This process not only does not require re-debugging when switching tasks, but also ensures the task execution effect.
[0163] Application scenario two: single task scenario. During the execution of certain tasks, the first robot needs to continuously change its stiffness, otherwise it will affect the stability and stress change capability of the system in which the first robot and the second robot are located. For example, in a calligraphy task, if the first robot adopts a single stiffness, the resulting calligraphy work will be relatively stiff. However, by applying the method provided in the embodiment of the present application, since the stiffness of the user will be different when writing different strokes, the first robot can also change in real time based on the change in the user's stiffness, thereby obtaining a more realistic calligraphy work.
[0164] Application scenario three: Task transition scenario. Taking the transition from the free space motion task to the contact motion task as an example, the free space motion task requires a smaller stiffness, while the contact motion task requires a larger stiffness. If a smaller stiffness is used during the transition process, the first robot can stably end the free space motion task and switch to the contact motion task, but when further performing the contact motion, it will not be able to apply a larger force and torque to the surrounding environment due to the smaller stiffness, which may cause the contact motion task to fail. If a larger stiffness is used during the transition process, the process of the first robot ending the free space motion task and switching to the contact motion task is not stable enough, and a head-on collision may occur.
[0165] In this regard, the user will use a smaller stiffness during free space movement, and in the process of transitioning to contact movement, the user's stiffness gradually increases to the stiffness required for contact movement. Through the method provided in the embodiment of the present application, the stiffness used by the first robot changes with the change of the user's stiffness, so that the first robot also uses a smaller stiffness in the free space movement task, and in the process from contact to the actual start of the contact movement of the object, the first robot uses a gradually increasing stiffness. Thereby, it is ensured that the first robot can stably complete the free space movement task, smoothly transition to the contact movement task, and use appropriate stiffness to complete the contact movement task.
[0166] Application scenario four: contact force information feedback scenario. As mentioned above, the contact force information is the force information applied by the surrounding environment to the first robot. The first robot feeds back the contact force information to the second robot, and the second robot feeds back the contact force information to the user. During the feedback process, the force information range that the user can accept is determined based on the user's dexterity, stiffness and other information. If it is larger than the force information range, the contact force information is reduced before being fed back to the user to avoid impact on the user. If it is smaller than the force information range, the contact force information is increased before being fed back to the user to avoid the user's inability to perceive accurately. As a result, the force information fed back to the user matches the user's information, ensuring the user experience and making the subsequent control performed by the user based on the perceived force information more precise.
[0167] The embodiment of the present application provides a device for controlling a robot, and the device for controlling a robot can implement the method for controlling a robot executed by the processor through the following multiple modules. Figure 8 , the device comprises:
[0168] A determination module 801 is used to determine information of a target object, where the information of the target object includes at least one of first information and second information, where the first information is used to indicate the dexterity of the target object, where the dexterity is used to indicate the ability of the target object to move in any direction under a corresponding posture, and the second information is used to indicate the stiffness of the target object;
[0169] An acquisition module 802 is used to acquire first force information detected by the first robot based on the surrounding environment;
[0170] A correction module 803 is used to correct the first force information according to the information of the target object to obtain the corrected first force information, and control the second robot based on the corrected first force information to transmit the force corresponding to the corrected first force information to the target object through the second robot;
[0171] The control module 804 is used to obtain second force information transmitted by the target object to the second robot, and control the first robot based on the second force information.
[0172] In an exemplary embodiment, the information of the target object includes second information, and the control module 804 is used to determine third force information based on the second information and the second force information; and control the first robot according to the third force information.
[0173] In an exemplary embodiment, the control module 804 is used to obtain the posture difference between the first robot and the second robot, where the posture difference is the posture change of the second robot relative to the first robot after the second force information is applied; determine the fourth force information based on the second information and the posture difference; and determine the third force information based on the second force information and the fourth force information.
[0174] In an exemplary embodiment, the correction module 803 is also used to determine a first threshold and a second threshold based on information of the target object, where the first threshold is greater than the second threshold; determine a change in force information based on the first force information, and in response to the change in force information being greater than the first threshold or less than the second threshold, correct the first force information according to the information of the target object.
[0175] In an exemplary embodiment, the value of the first threshold and the value of the second threshold are negatively correlated with the value of the first information, and the value of the first threshold and the value of the second threshold are positively correlated with the value of the second information.
[0176] In an exemplary embodiment, the correction module 803 is used to reduce the first force information to obtain the corrected first force information in response to the force information change amount being greater than the first threshold.
[0177] In an exemplary embodiment, the correction module 803 is used to increase the first force information to obtain the corrected first force information in response to the force information change amount being less than the second threshold.
[0178] In an exemplary embodiment, the information of the target object includes second information, and a determination module 801 is used to obtain the electromyographic signal of the target object, input the electromyographic signal into a target model, and the target model is used to output a stiffness matrix based on the input electromyographic signal; and the stiffness matrix output by the target model is determined as the second information.
[0179] In an exemplary embodiment, the electromyographic signal is discrete and the target model includes a classification model; or, the electromyographic signal is continuous and the target model includes a regression model.
[0180] In an exemplary embodiment, the information of the target object includes first information, and a determination module 801 is used to obtain the Jacobian matrix of the target object; determine the maximum singular value and the minimum singular value of the Jacobian matrix, and determine the condition number corresponding to the target object according to the maximum singular value and the minimum singular value; determine the operability corresponding to the target object based on the Jacobian matrix; and determine the first information based on the condition number and the operability.
[0181] In summary, the embodiment of the present application corrects the first force information fed back by the first robot based on the user's information. Afterwards, the force corresponding to the corrected first force information is fed back to the user, so that the user can make a decision and complete the subsequent control process. By feeding back the force corresponding to the corrected first force information, it is possible to avoid the impact on the user caused by the excessive force corresponding to the first force information, and it is also possible to avoid the force corresponding to the first force information being too small, which makes it difficult for the user to accurately perceive. Therefore, even if the force corresponding to the first force information is too large or too small, it will not interfere with the user's decision-making process, thereby ensuring the accuracy of the subsequent control process and improving the user's experience.
[0182] It should be noted that the device provided in the above embodiment only uses the division of the above functional modules as an example to implement its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and their specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0183] The embodiment of the present application provides a device for controlling a robot, the device comprising a processor and a memory, wherein the memory is used to store at least one instruction, and the processor is used to execute at least one instruction, so that the device for controlling the robot executes the method for controlling the robot provided by any exemplary embodiment of the present application.
[0184] The present application embodiment provides a system for controlling a robot, see Fig. 9 The system includes: a processor, a first robot and a second robot, the first robot and the second robot are respectively connected to the processor for communication, and the processor is used to execute the method for controlling the robot provided by any exemplary embodiment of the present application.
[0185] The present application embodiment provides another system for controlling a robot. Fig.10The system includes: a first processor, a second processor, a first robot, and a second robot. The first processor is integrated in the first robot, and the second processor is integrated in the second robot. The first processor is communicatively connected to the second processor, and at least one of the first processor and the second processor is used to execute the method for controlling the robot provided by any exemplary embodiment of the present application.
[0186] Exemplarily, the processor, the first processor and the second processor may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor, the first processor and the second processor may be implemented in at least one hardware form of the group consisting of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor, the first processor and the second processor may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state.
[0187] An embodiment of the present application provides a computer-readable storage medium, in which at least one instruction is stored. The instruction is loaded and executed by a processor to implement a method for controlling a robot provided by any exemplary embodiment of the present application.
[0188] An embodiment of the present application provides a computer program or a computer program product, and the computer program or the computer program product includes: computer instructions, when the computer instructions are executed by a computer, the computer implements the method of controlling a robot provided by any exemplary embodiment of the present application.
[0189] All the above optional technical solutions can be arbitrarily combined to form optional embodiments of the present application, which will not be described one by one here.
[0190] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0191] The above description is only an embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for controlling a robot, characterized in that: The method comprises: Determine information of a target object, the information of the target object comprising at least one of first information and second information, the first information is used to indicate the dexterity of the target object, the dexterity is used to indicate the ability of the target object to move in any direction under a corresponding posture, and the second information is used to indicate the stiffness of the target object; Acquire first force information detected by the first robot based on the surrounding environment; Based on the information of the target object, determining a first threshold and a second threshold, wherein the first threshold is greater than the second threshold; determining a force information change amount based on the first force information; In response to the force information change being greater than the first threshold or less than the second threshold, the first force information is corrected according to the information of the target object to obtain corrected first force information, and the second robot is controlled based on the corrected first force information to transmit the force corresponding to the corrected first force information to the target object through the second robot; Acquire second force information transmitted by the target object to the second robot, and control the first robot based on the second force information.
2. The method according to claim 1, characterized in that The information of the target object includes second information, and the controlling the first robot based on the second force information includes: determining third force information based on the second information and the second force information; The first robot is controlled according to the third force information.
3. The method according to claim 2, characterized in that The determining the third force information based on the second information and the second force information includes: Acquire a posture difference between the first robot and the second robot, where the posture difference is a posture change of the second robot relative to the first robot after the second force information is applied thereto; Determine fourth force information based on the second information and the posture difference; The third force information is determined based on the second force information and the fourth force information.
4. The method according to claim 1, characterized in that: The value of the first threshold and the value of the second threshold are negatively correlated with the value of the first information, and the value of the first threshold and the value of the second threshold are positively correlated with the value of the second information.
5. The method according to claim 1, characterized in that The step of correcting the first force information according to the information of the target object to obtain the corrected first force information includes: In response to the force information change being greater than the first threshold, the first force information is reduced to obtain the corrected first force information.
6. The method according to claim 1, characterized in that The step of correcting the first force information according to the information of the target object to obtain the corrected first force information includes: In response to the force information change being less than the second threshold, the first force information is increased to obtain the corrected first force information.
7. The method according to any one of claims 1 to 6, characterized in that: The information of the target object includes the second information, and the information for determining the target object includes: Acquire an electromyographic signal of the target object, and input the electromyographic signal into a target model, wherein the target model is used to output a stiffness matrix based on the input electromyographic signal; The stiffness matrix output by the target model is determined as the second information.
8. The method according to claim 7, characterized in that The electromyographic signal is discrete, and the target model includes a classification model; Alternatively, the electromyographic signal is continuous, and the target model comprises a regression model.
9. The method according to any one of claims 1 to 6, characterized in that: The information of the target object includes the first information, and the information for determining the target object includes: Obtaining the Jacobian matrix of the target object; Determine the maximum singular value and the minimum singular value of the Jacobian matrix, and determine the condition number corresponding to the target object according to the maximum singular value and the minimum singular value; Determine the operability corresponding to the target object based on the Jacobian matrix; The first information is determined based on the condition number and the operability.
10. A device for controlling a robot, characterized in that: The device comprises: a determination module, configured to determine information of a target object, wherein the information of the target object includes at least one of first information and second information, wherein the first information is used to indicate the dexterity of the target object, wherein the dexterity is used to indicate the ability of the target object to move in any direction under a corresponding posture, and the second information is used to indicate the stiffness of the target object; An acquisition module, used for acquiring first force information detected by the first robot based on the surrounding environment; a correction module, configured to determine a first threshold and a second threshold based on the information of the target object, the first threshold being greater than the second threshold; determine a force information change amount based on the first force information; in response to the force information change amount being greater than the first threshold or less than the second threshold, correct the first force information according to the information of the target object to obtain corrected first force information, and control the second robot based on the corrected first force information so as to transmit the force corresponding to the corrected first force information to the target object through the second robot; The control module is used to obtain second force information transmitted by the target object to the second robot, and control the first robot based on the second force information.
11. The device according to claim 10, characterized in that The information of the target object includes second information; The control module is used to determine third force information based on the second information and the second force information; and control the first robot according to the third force information.
12. The device according to claim 11, characterized in that The control module is used to obtain a posture difference between the first robot and the second robot, where the posture difference is a posture change of the second robot relative to the first robot after the second force information is applied thereto; Determine fourth force information based on the second information and the posture difference; The third force information is determined based on the second force information and the fourth force information.
13. The device according to claim 10, characterized in that The value of the first threshold and the value of the second threshold are negatively correlated with the value of the first information, and the value of the first threshold and the value of the second threshold are positively correlated with the value of the second information.
14. The device according to claim 10, characterized in that The correction module is used for reducing the first force information to obtain the corrected first force information in response to the change in the force information being greater than the first threshold.
15. The device according to claim 10, characterized in that The correction module is used to increase the first force information to obtain the corrected first force information in response to the change in the force information being less than the second threshold.
16. The device according to any one of claims 10 to 15, characterized in that: The information of the target object includes the second information; The determination module is used to obtain the electromyographic signal of the target object, input the electromyographic signal into a target model, and the target model is used to output a stiffness matrix based on the input electromyographic signal; The stiffness matrix output by the target model is determined as the second information.
17. The device according to claim 16, characterized in that The electromyographic signal is discrete, and the target model includes a classification model; or, the electromyographic signal is continuous, and the target model includes a regression model.
18. The device according to any one of claims 10 to 15, characterized in that: The information of the target object includes the first information; The determination module is used to obtain the Jacobian matrix of the target object; Determine the maximum singular value and the minimum singular value of the Jacobian matrix, and determine the condition number corresponding to the target object according to the maximum singular value and the minimum singular value; Determine the operability corresponding to the target object based on the Jacobian matrix; The first information is determined based on the condition number and the operability.
19. A device for controlling a robot, characterized in that: The device includes a processor and a memory, the memory is used to store at least one instruction, and the processor is used to execute the at least one instruction, so that the device for controlling the robot executes the method for controlling the robot described in any one of claims 1-9.
20. A system for controlling a robot, characterized in that: The system includes: a processor, a first robot and a second robot, wherein the first robot and the second robot are respectively connected to the processor for communication, and the processor is used to execute the method for controlling a robot according to any one of claims 1-9.
21. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one instruction, and the instruction is loaded and executed by the processor to implement the method for controlling a robot as described in any one of claims 1-9.
22. A computer program product, characterized in that The computer program product comprises: computer instructions, and when the computer instructions are executed by a computer, the computer implements the method for controlling a robot as claimed in any one of claims 1 to 9.
Citation Information
Patent Citations
Force feedback pressure cuff systems and methods
US10048703B1