Drive joint control method and apparatus, robot, readable storage medium

CN117549286BActive Publication Date: 2026-09-29BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210934492.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-04
Publication Date
2026-09-29
Estimated Expiration
2042-08-04

AI Technical Summary

Technical Problem

然而,上述硬件保护方案需要进行专门的结构设计、成本高,限位时冲击大

Benefits of technology

本公开实施例提供的方案中可以获取机器人的当前执行模式;然后,根据所述当前执行模式对所述机器人的虚拟关节进行限位处理,得到所述虚拟关节的期望力数据;之后,根据所述期望力数据和预设的虚拟关节的期望力和驱动关节的驱动力之间的映射关系获取所述驱动关节的目标驱动力数据;最后,根据所述目标驱动力数据控制所述驱动关节运动。这样,本实施例中通过为机器人构建虚拟关节并对虚拟关节进行限位处理的软件限位方式,可以精确控制驱动关节,避免限位冲击;并且无需增加硬件限位结构,有利于降低成本。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117549286B_ABST
    Figure CN117549286B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a driving joint control method and device, a robot, and a readable storage medium. The method comprises: obtaining a current execution mode of a robot; performing limit processing on a virtual joint of the robot according to the current execution mode to obtain expected force data of the virtual joint; obtaining target driving force data of a driving joint of the robot according to a mapping relationship between the expected force data and preset expected force of the virtual joint and driving force of the driving joint; and controlling movement of the driving joint according to the target driving force data. In this embodiment, a virtual joint is constructed for the robot, and a software limiting mode is used to perform limit processing on the virtual joint, so that the driving joint can be accurately controlled and limit impact can be avoided, and no additional hardware limiting structure is needed, which is conducive to cost reduction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of control technology, and in particular to a method and apparatus for controlling a driven joint, a robot, and a readable storage medium. Background Technology

[0002] Robot control can be divided into two types: force control and position control. Taking position control as an example, the controller directly generates position commands and sends them to the actuators of each joint, so that each joint of the robot can follow the position command to reach the corresponding position. Taking force control as an example, the controller directly generates force commands and sends them to the actuators of each joint, so that each joint of the robot can follow the force command to generate the corresponding force.

[0003] Of the two control methods mentioned above, force control offers better dynamics compared to position control. For example, force control allows for better robot dynamics by leveraging dynamics, improving response speed and enhancing interaction performance. However, in practical applications, considering the risk of loss of control due to the robot only outputting force, potentially damaging the robot or its environment, limit protection is necessary during operation.

[0004] Currently, existing solutions provide limit protection for robots by adding hardware, such as brakes or limit blocks. However, these hardware protection solutions require specialized structural design, are costly, and result in significant impact during limit operation. Summary of the Invention

[0005] This disclosure provides a method and apparatus for controlling drive joints, a robot, and a readable storage medium to address the shortcomings of related technologies.

[0006] According to a first aspect of the present disclosure, a method for controlling a driven joint is provided, comprising: Obtain the robot's current execution mode; The robot's virtual joints are constrained according to the current execution mode to obtain the expected force data of the virtual joints; The target driving force data of the driving joint is obtained based on the expected force data and the mapping relationship between the expected force of the virtual joint and the driving force of the driving joint. The movement of the drive joint is controlled based on the target driving force data.

[0007] Optionally, when the current execution mode is the first execution mode, the virtual joints of the robot are subjected to limit processing according to the current execution mode to obtain the expected force data of the virtual joints, including: Limit the virtual joints of the robot to obtain control data for the virtual joints; The compensation force data of the robot's virtual joints is obtained based on the control data; The desired force data of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity.

[0008] Optionally, the virtual joints of the robot are subjected to limiting processing to obtain control data for the virtual joints, including: The desired position of the robot's virtual joints is constrained to obtain the target desired position; When the distance between the target desired position and the boundary value of the preset limit range is less than or equal to the preset distance threshold, the desired speed of the virtual joint is smoothed to obtain the target desired speed; when the distance between the target desired position and the boundary value of the preset limit range is greater than the preset distance threshold, the current desired speed of the virtual joint is taken as the target desired speed; the target desired position and the target desired speed are used as the control data of the virtual joint.

[0009] Optionally, the desired velocity of the virtual joint is smoothed to obtain the target desired velocity, including: Obtain a preset reference speed; the reference speed is related to the maximum speed of the virtual joint and the preset distance threshold. When the desired speed of the virtual joint is greater than the reference speed, the reference speed is determined as the target desired speed; when the desired speed of the virtual joint is less than or equal to the reference speed, the current desired speed is determined as the target desired speed.

[0010] Optionally, obtaining the compensation force data of the robot's virtual joints based on the control data includes: The candidate compensation force of the virtual joint is obtained based on the control data; When the candidate compensation force is within the range of the driving force, the candidate compensation force is determined as the compensation force data; when the candidate compensation force is outside the range of the driving force, the boundary value closest to the candidate compensation force in the range of the driving force is determined as the compensation force data.

[0011] Optionally, when the current execution mode is the second execution mode, the virtual joints of the robot are subjected to limiting processing according to the current execution mode to obtain the expected force data of the virtual joints, including: When the actual position is outside the preset limit range, the candidate compensation force of the virtual joint is obtained; When the candidate compensation force is within the preset compensation force range, the candidate compensation force is determined to be the compensation force data of the virtual joint; when the candidate compensation force is outside the preset compensation force range, the boundary value closest to the candidate compensation force in the preset compensation force range is determined to be the compensation force data of the virtual joint. The desired force data of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity.

[0012] Optionally, the desired force data of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity, including: The candidate desired force of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity. When the candidate expected force is within the preset driving force range, the candidate expected force is determined as the expected force data; when the candidate expected force is outside the preset driving force range, the boundary value closest to the candidate expected force in the preset driving force range is determined as the expected force data.

[0013] According to a second aspect of the present disclosure, a drive joint control device is provided, comprising: The execution mode acquisition module is used to acquire the robot's current execution mode; The expected force acquisition module is used to perform limit processing on the virtual joints of the robot according to the current execution mode, and obtain the expected force data of the virtual joints; The driving force acquisition module is used to acquire the target driving force data of the driving joint based on the expected force data and the mapping relationship between the expected force of the virtual joint and the driving force of the driving joint. A drive joint control module is used to control the movement of the drive joint based on the target drive force data.

[0014] Optionally, when the current execution mode is the first execution mode, the expectation force acquisition module includes: The control data acquisition submodule is used to perform limit processing on the virtual joints of the robot to obtain the control data of the virtual joints; The compensation force acquisition submodule is used to acquire compensation force data of the robot's virtual joints based on the control data; The expected force acquisition submodule is used to acquire the expected force data of the virtual joint based on the compensation force data, expected position, and expected velocity.

[0015] Optionally, the control data acquisition submodule includes: The target desired position acquisition unit is used to limit the desired position of the robot's virtual joints to obtain the target desired position; The target expected speed acquisition unit is used to smooth the expected speed of the virtual joint when the distance between the target expected position and the boundary value of the preset limit range is less than or equal to a preset distance threshold, so as to obtain the target expected speed; when the distance between the target expected position and the boundary value of the preset limit range is greater than the preset distance threshold, the current expected speed of the virtual joint is used as the target expected speed; the target expected position and the target expected speed are used as the control data of the virtual joint.

[0016] Optionally, the target desired speed acquisition unit includes: A reference speed acquisition subunit is used to acquire a preset reference speed; the reference speed is related to the maximum speed of the virtual joint and the preset distance threshold. The target expected speed acquisition subunit is used to determine the reference speed as the target expected speed when the expected speed of the virtual joint is greater than the reference speed; and to determine the current expected speed as the target expected speed when the expected speed of the virtual joint is less than or equal to the reference speed.

[0017] Optionally, the compensation force acquisition submodule includes: A candidate compensation force acquisition unit is used to acquire candidate compensation forces of the virtual joint based on the control data; The compensation force data acquisition unit is used to determine the candidate compensation force as the compensation force data when the candidate compensation force is within the range of the driving force; and to determine the boundary value closest to the candidate compensation force in the range of the driving force as the compensation force data when the candidate compensation force is outside the range of the driving force.

[0018] Optionally, when the current execution mode is the second execution mode, the expectation force acquisition module includes: The candidate compensation force acquisition submodule is used to acquire the candidate compensation force of the virtual joint when the actual position is outside the preset limit range; The compensation force data determination submodule is used to determine the candidate compensation force as the compensation force data of the virtual joint when the candidate compensation force is within a preset compensation force range; and to determine the boundary value closest to the candidate compensation force in the preset compensation force range as the compensation force data of the virtual joint when the candidate compensation force is outside the preset compensation force range. The expected force data determination submodule is used to obtain the expected force data of the virtual joint based on the compensation force data, expected position, and expected velocity.

[0019] Optionally, the expected force acquisition submodule includes: A candidate expected force acquisition unit is used to acquire candidate expected forces of the virtual joint based on the compensation force data, expected position, and expected velocity. The expected force data acquisition unit is used to determine the candidate expected force as the expected force data when the candidate expected force is within a preset driving force range; and to determine the boundary value closest to the candidate expected force in the preset driving force range as the expected force data when the candidate expected force is outside the preset driving force range.

[0020] According to a third aspect of the present disclosure, a robot is provided, comprising: At least one drive joint, wherein the drive joint is a differential wheel reverse drive joint; Memory and processor; The memory is used to store computer programs that can be executed by the processor; The processor is used to execute the computer program in the memory to implement the method as described above.

[0021] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, which, when an executable computer program in the storage medium is executed by a processor, can implement the method described above.

[0022] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects: The solution provided in this embodiment can obtain the robot's current execution mode; then, limit the virtual joints of the robot according to the current execution mode to obtain the expected force data of the virtual joints; subsequently, obtain the target driving force data of the driving joints according to the expected force data and the preset mapping relationship between the expected force of the virtual joints and the driving force of the driving joints; finally, control the movement of the driving joints according to the target driving force data. Thus, this embodiment, through a software-based limit method that constructs virtual joints for the robot and limits their movement, can precisely control the driving joints and avoid limit impacts; and it eliminates the need for additional hardware limit structures, which helps reduce costs.

[0023] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0024] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0025] Figure 1 This is a schematic diagram of a differential wheel reverse drive joint according to an exemplary embodiment.

[0026] Figure 2 This is a simplified transmission diagram of a differential wheel reverse drive joint according to an exemplary embodiment.

[0027] Figure 3 This is a schematic diagram of a robotic arm according to an exemplary embodiment.

[0028] Figure 4 This is a flowchart illustrating a method for controlling a driven joint according to an exemplary embodiment.

[0029] Figure 5 This is a schematic diagram illustrating an embodiment of acquiring expectation force data.

[0030] Figure 6 This is a flowchart illustrating the acquisition of control data according to an exemplary embodiment.

[0031] Figure 7 This is a flowchart illustrating a method for obtaining a target desired speed according to an exemplary embodiment.

[0032] Figure 8 This is a flowchart illustrating an example of acquiring expectation force data according to an exemplary embodiment.

[0033] Figure 9 This is a flowchart illustrating an exemplary embodiment for obtaining the torque vector of a supporting foot.

[0034] Figure 10 This is a block diagram illustrating another method for controlling a driven joint according to an exemplary embodiment.

[0035] Figure 11 This is a block diagram illustrating a drive joint control device according to an exemplary embodiment. Detailed Implementation

[0036] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described below by way of example do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatus consistent with some aspects of this disclosure as detailed in the appended claims. It should be noted that, without conflict, the following embodiments and features in the implementation methods can be combined with each other.

[0037] Considering that the existing solution involves adding hardware to limit the robot, such as adding brakes and limit blocks, it not only requires specialized structural design and is costly, but also results in a large impact during the limit operation.

[0038] To address the aforementioned technical problems, this disclosure provides a drive joint control method and apparatus, a robot, and a readable storage medium, applicable to robots including at least one drive joint, wherein the drive joint is a differential wheel reverse drive joint. Figure 1 A schematic diagram of the differential wheel reverse drive joint is shown. Figure 2 A simplified diagram of the transmission process of the differential wheel reverse drive joint is shown. Figure 3 A schematic diagram of a 6DOF robotic arm is shown.

[0039] See Figure 1 The differential wheel reverse drive joint includes two degrees of freedom: the pitch of drive motors 2 and 3 about their own axes, and the roll of drive motors 2 and 3 about the vertical axis containing gear 1. See also... Figure 2 The shafts of drive motors 2 and 3 are coincident, and can be referred to as coincident axes. Rotation of the coincident axes of drive motors 2 and 3 drives rotation about a vertical axis, as can be seen in [reference needed]. Figure 2 A simplified diagram of the transmission.

[0040] See Figure 2 , Figure 2 Drive motors 2 and 3 (which can be considered as two planetary gears) are mounted on the planet carrier H (the structure containing gear 1) and rotate around the sun gear (gear 1). Sun gear 1 is fixed, and drive motors 2 and 3 rotate around it at different speeds. When drive motor 2 (or planet 1) is input at a certain speed, it drives the planet carrier to rotate around the sun gear, simultaneously driving drive motor 3 (or planet 2) to rotate. By inputting different speeds to drive motor 3, connecting rod 4 can rotate around both the vertical and horizontal axes of the planet carrier.

[0041] In this embodiment, the input positions of the two planets are denoted as... and Let the two degrees of freedom of rotation, Roll and Pitch, of the differential wheel reverse drive joint be denoted as... and and establish and and and The mapping relationship between them (as shown in Equation (3) below) is stored in the robot.

[0042] See Figure 3 A differential wheel reverse drive joint is installed at positions 31, 32, and 33 of the robotic arm, each generating two degrees of freedom: Roll and Pitch. Figure 2 Link 4 in the middle is Figure 3The housing of the differential wheel reverse drive joint at position 31 and the connecting rod between it and position 32. This embodiment provides a drive joint control method for the aforementioned degrees of freedom. and Implement software limits.

[0043] Figure 4 This is an exemplary embodiment illustrating a method for controlling a driven joint, see [link to example]. Figure 4 A method for controlling a driven joint, comprising steps 41 to 44.

[0044] In step 41, the robot's current execution mode is obtained.

[0045] In this embodiment, the two degrees of freedom Roll and Pitch of the differential wheel reverse drive joint are defined as two virtual joints, namely virtual joint 1 and virtual joint 2, and the positions of the two virtual joints are denoted as follows: and The driving force (or input force) of the virtual joint is denoted as follows: and The actual positions of the two drive motors are respectively denoted as... and The driving force (or input force) of the drive motor is denoted as follows: and Considering that the mapping relationship between the drive motor and the virtual joint is fixed and can be pre-tuned (as shown in equation (3) below); or, in this embodiment, the driving force of the virtual joint can be obtained by changing the input data of the drive motor. In other words, in this embodiment, the input force of the drive motor can be changed according to the control requirements of different positions and different driving forces of the virtual joint.

[0046] In this embodiment, the processor uses KD control to calculate the driving force of the drive motor. Therefore, the processor can obtain the coefficients. , , and .in, and , where represents the virtual stiffness of the virtual joint, and is a constant obtained through pre-tuning; and , where represents the virtual damping of the virtual joint, and is a constant obtained through pre-tuning.

[0047] In this embodiment, the processor can be coefficient , , and To determine the robot's current execution mode. When the coefficient , , and When at least one coefficient is not zero, it can be determined that the robot is working in the first execution mode; when the coefficients are not all zero, it can be determined that the robot is working in the first execution mode. , , and When all values ​​are 0, it can be determined that the robot is working in the second execution mode.

[0048] In step 42, the virtual joints of the robot are subjected to limit processing according to the current execution mode to obtain the expected force data of the virtual joints.

[0049] In this embodiment, when the current execution mode is the first execution mode, the processor can perform limiting processing on the robot's virtual joints according to the current execution mode to obtain the expected force data of the virtual joints. See [link to relevant documentation]. Figure 5 This includes steps 51 to 53.

[0050] In step 51, the processor can perform limit processing on the virtual joints of the robot to obtain control data for the virtual joints.

[0051] In this step, the processor can acquire control data for the virtual joint; see [link / reference]. Figure 6 This includes steps 61 to 62.

[0052] In step 61, the processor can perform limit processing on the desired position of the robot's virtual joints to obtain the target desired position.

[0053] In this step, the processor can obtain a preset reference speed, which is related to the maximum speed of the virtual joint and a preset distance threshold.

[0054] For example, the desired position of the robot's virtual joints is and The robot stores a preset limit range, and the preset limit range of virtual joint 1 is set to... The preset limit range of virtual joint 2 is set to The robot can determine the desired location. (i=1 or 2) Whether it is within the above-mentioned preset limit range Within; if the desired position is within the aforementioned preset limit range. Within this range, the processor can determine that the desired position is the target desired position; if the desired position is within the aforementioned preset limit range... In addition, the processor can determine the aforementioned preset limit range. The boundary value closest to the desired location is taken as the target desired location. For example, when At this time, the desired position of virtual joint 1 Less than the preset limit range lower boundary value At this time, .

[0055] In this way, the target desired position obtained through the limit processing in this step is always within the preset limit range, which can prevent the virtual joint from exceeding the limit and ensure the safety of the robot and the interactive environment.

[0056] In step 62, when the distance between the target desired position and the boundary value of the preset limit range is less than or equal to a preset distance threshold, the processor can smooth the desired speed of the virtual joint to obtain the target desired speed; when the distance between the target desired position and the boundary value of the preset limit range is greater than the preset distance threshold, the current desired speed of the virtual joint is taken as the target desired speed; the target desired position and the target desired speed are used as the control data of the virtual joint.

[0057] In this step, considering that a sudden change in speed might occur if the desired position is too close to the boundary value of the preset limit range, the processor can obtain the distance between the target desired position and the boundary value of the preset limit range. When the distance between the target desired position and the boundary value of the preset limit range is less than or equal to a preset distance threshold, the processor can smooth the desired speed of the virtual joint to obtain the target desired speed.

[0058] See Figure 7 In step 71, the processor can obtain a preset reference speed; the reference speed is related to the maximum speed of the virtual joint and the preset distance threshold. For example, the target desired position is... The boundary value of the preset limit range is The preset distance threshold is Then the distance (i=1 or 2) is or .when Reference speed for: ; (1) In equation (1), ; This indicates the maximum speed of the virtual joint.

[0059] In step 72, when the desired speed of the virtual joint is greater than the reference speed, the processor can determine the reference speed as the target desired speed. For example... ,but (soon) The value is updated to When the desired speed of the virtual joint is less than or equal to the reference speed, the current desired speed is determined as the target desired speed. For example, when At this time, the processor can either maintain the desired speed or use the desired speed as the target desired speed.

[0060] In step 52, the processor can obtain the compensation force data of the robot's virtual joints based on the control data.

[0061] In this step, the processor can obtain the compensation force required by the virtual joint based on the target desired position and target desired velocity. and For ease of description, the compensation force calculated in the above process will be referred to later. and This is called candidate compensation force. Understandably, the aforementioned candidate compensatory forces It can be obtained using existing methods in robotics, such as inverse dynamics, and is not limited here.

[0062] The processor can compare the above candidate compensation forces and preset driving force range To determine the above candidate compensating power Is it within the preset driving force range? Within the preset driving force range, when the candidate compensation force is outside the preset driving force range, the processor can determine that the boundary value closest to the candidate compensation force within the preset driving force range is the compensation force data of the virtual joint; when the candidate compensation force is within the preset driving force range, the processor can determine that the candidate compensation force is the compensation force data of the virtual joint.

[0063] For example, the processor can determine the candidate compensation force. Is it within the preset driving force range of the virtual joint? ,when Within the preset driving force range Outside of these ranges, the preset driving force range will be used. boundary values or As compensation force data for virtual joints; when Within the preset driving force range Within this time, the candidate compensation force will be Compensation force data for virtual joints.

[0064] In step 53, the processor can obtain the desired force data of the virtual joint based on the compensation force data, desired position, and desired velocity.

[0065] In this step, the processor can obtain the candidate desired force of the virtual joint based on the compensation force data, desired position, and desired velocity, as shown in equation (2): ; (2) In equation (2), This represents the compensating force, where i = 1 or 2. Indicates the desired position of the virtual joint; Indicates the actual position of the virtual joint; Indicates the desired velocity of the virtual joint; This indicates the actual speed of the virtual joint. This represents the virtual stiffness of the virtual joint. This represents the virtual damping of the virtual joint.

[0066] In this step, the processor can determine whether the aforementioned candidate desired forces are within the preset driving force range. Within. If the aforementioned candidate desired force is within the preset driving force range. When the desired force is within the specified range, the processor can use the aforementioned candidate desired forces as desired force data for the virtual joint. If the aforementioned candidate desired forces are within the preset driving force range... Outside of this range, the processor can preset the driving force range. Boundary values ​​that are close to the expected power of the above candidates Desired force data as a virtual joint.

[0067] In this embodiment, when the current execution mode is the second execution mode, the processor can perform limiting processing on the robot's virtual joints according to the current execution mode to obtain the expected force data of the virtual joints. See [link to relevant documentation]. Figure 8 This includes steps 81 to 83.

[0068] In step 81, when the actual position is outside the preset limit range, the processor can obtain the candidate compensation force of the virtual joint. In this step, the processor can first determine whether the actual position of the virtual joint exceeds the preset limit range. When the actual position of the virtual joint is outside the preset limit range, the processor can obtain the candidate compensation force of the virtual joint, as shown in equation (3); (3) It should be noted that, when considering the second execution mode... and All are equal to 0, therefore, in this case, equation (3) uses and To calculate the candidate compensation force in the second execution mode.

[0069] If the actual position of the virtual joint does not exceed the preset limit range, the processor can obtain the current compensation force as a candidate compensation force based on the robot's existing scheme, for example, by obtaining the candidate compensation force based on inverse dynamics.

[0070] In step 82, when the candidate compensation force is within a preset compensation force range, the processor can determine that the candidate compensation force is the compensation force data of the virtual joint; when the candidate compensation force is outside the preset compensation force range, the processor can determine that the boundary value closest to the candidate compensation force within the preset compensation force range is the compensation force data of the virtual joint. It is understood that the process of obtaining the compensation force data can refer to the process of obtaining the compensation force data in step 52, and will not be repeated here.

[0071] In step 83, the processor can obtain the desired force data of the virtual joint based on the compensation force data, desired position, and desired velocity. The process of obtaining the desired force data in step 83 can be referenced from the process of obtaining the desired force data in step 53, taking into account the second execution mode. and All are equal to 0. As shown in equation (2), the expected force data is equal to the compensation force data, or in other words, the robot belongs to the force control mode. In step 13, the target driving force data of the driving joint is obtained according to the mapping relationship between the expected force data and the expected force of the preset virtual joint and the driving force of the driving joint.

[0072] In this embodiment, the robot stores a preset mapping relationship between the desired force of the virtual joint and the driving force of the driving joint, as shown in equation (3): ; (4) In equation (4), N represents the planetary belt reduction ratio. This indicates the driving force (or the output force that drives the joint).

[0073] In this embodiment, the processor can obtain the target driving force data of the driving joint according to equation (4), that is... Figure 1 Output force data for drive motor 2 and drive motor 3.

[0074] In step 14, the movement of the drive joint is controlled according to the target driving force data.

[0075] Thus, the solution provided in this embodiment can obtain the robot's current execution mode; then, limit the virtual joints of the robot according to the current execution mode to obtain the expected force data of the virtual joints; subsequently, obtain the target driving force data of the driving joints according to the expected force data and the preset mapping relationship between the expected force of the virtual joints and the driving force of the driving joints; finally, control the movement of the driving joints according to the target driving force data. In this way, by constructing virtual joints for the robot and performing limit processing on the virtual joints in this embodiment, the driving joints can be precisely controlled, avoiding limit impacts; and no additional hardware limit structure is required, which helps to reduce costs.

[0076] The following is combined with Figure 9 and Figure 10 A scheme describing a drive joint control method provided in an embodiment of this disclosure is described below. See also: Figure 9 and Figure 10 : In this embodiment, the processor can obtain the desired position and desired velocity of the virtual joint, as well as the actual position and actual velocity of the virtual joint, and obtain the desired force data of the virtual joint based on the desired position, desired velocity, actual position, and actual velocity. Then, the processor can perform limiting processing on the virtual joint based on the desired force data. The limiting processing process can... Figure 10 The implementation details the process: in the first execution mode, desired position limiting and desired velocity smoothing are performed; in the second execution mode, position limiting and compensation force calculations are performed on the current position. Afterwards, the processor can obtain the target driving force data of the drive joint (i.e., the drive motor) based on the updated desired force data. This target driving force data is then input to the robotic arm. After the robotic arm moves, the current position (or actual position) and current velocity (or actual velocity) of the drive motor can be obtained after the drive joint moves to a certain position. Based on the mapping relationship between the desired force of the virtual joint and the driving force of the drive joint, the actual position and actual velocity of the virtual joint can be derived. The robot can iteratively cycle to complete the movement. In this embodiment, a software limiting scheme is provided for the differential wheel reverse drive joint, which can be combined with the dynamic model and easily integrated into collaborative robots.

[0077] Based on the drive joint control method provided in the embodiments of this disclosure, the embodiments of this disclosure also provide a drive joint control device, see [link to relevant documentation]. Figure 11 The device includes: The execution mode acquisition module 111 is used to acquire the current execution mode of the robot; The expected force acquisition module 112 is used to perform limit processing on the virtual joints of the robot according to the current execution mode to obtain the expected force data of the virtual joints; The driving force acquisition module 113 is used to acquire the target driving force data of the driving joint based on the expected force data and the mapping relationship between the expected force of the virtual joint and the driving force of the driving joint. The drive joint control module 114 is used to control the movement of the drive joint according to the target drive force data.

[0078] In one embodiment, when the current execution mode is the first execution mode, the expectation force acquisition module includes: The control data acquisition submodule is used to perform limit processing on the virtual joints of the robot to obtain the control data of the virtual joints; The compensation force acquisition submodule is used to acquire compensation force data of the robot's virtual joints based on the control data; The expected force acquisition submodule is used to acquire the expected force data of the virtual joint based on the compensation force data, expected position, and expected velocity.

[0079] In one embodiment, the control data acquisition submodule includes: The target desired position acquisition unit is used to limit the desired position of the robot's virtual joints to obtain the target desired position; The target expected speed acquisition unit is used to smooth the expected speed of the virtual joint when the distance between the target expected position and the boundary value of the preset limit range is less than or equal to a preset distance threshold, so as to obtain the target expected speed; when the distance between the target expected position and the boundary value of the preset limit range is greater than the preset distance threshold, the current expected speed of the virtual joint is used as the target expected speed; the target expected position and the target expected speed are used as the control data of the virtual joint.

[0080] In one embodiment, the target desired speed acquisition unit includes: A reference speed acquisition subunit is used to acquire a preset reference speed; the reference speed is related to the maximum speed of the virtual joint and the preset distance threshold. The target expected speed acquisition subunit is used to determine the reference speed as the target expected speed when the expected speed of the virtual joint is greater than the reference speed; and to determine the current expected speed as the target expected speed when the expected speed of the virtual joint is less than or equal to the reference speed.

[0081] In one embodiment, the compensation force acquisition submodule includes: A candidate compensation force acquisition unit is used to acquire candidate compensation forces of the virtual joint based on the control data; The compensation force data acquisition unit is used to determine the candidate compensation force as the compensation force data when the candidate compensation force is within the range of the driving force; and to determine the boundary value closest to the candidate compensation force in the range of the driving force as the compensation force data when the candidate compensation force is outside the range of the driving force.

[0082] In one embodiment, when the current execution mode is the second execution mode, the expectation force acquisition module includes: The candidate compensation force acquisition submodule is used to acquire the candidate compensation force of the virtual joint when the actual position is outside the preset limit range; The compensation force data determination submodule is used to determine the candidate compensation force as the compensation force data of the virtual joint when the candidate compensation force is within a preset compensation force range; and to determine the boundary value closest to the candidate compensation force in the preset compensation force range as the compensation force data of the virtual joint when the candidate compensation force is outside the preset compensation force range. The expected force data determination submodule is used to obtain the expected force data of the virtual joint based on the compensation force data, expected position, and expected velocity.

[0083] In one embodiment, the expected force acquisition submodule includes: A candidate expected force acquisition unit is used to acquire candidate expected forces of the virtual joint based on the compensation force data, expected position, and expected velocity. The expected force data acquisition unit is used to determine the candidate expected force as the expected force data when the candidate expected force is within a preset driving force range; and to determine the boundary value closest to the candidate expected force in the preset driving force range as the expected force data when the candidate expected force is outside the preset driving force range.

[0084] It should be noted that the device embodiment shown in this embodiment matches the content of the above method embodiment, and the content of the above method embodiment can be referred to, and will not be repeated here.

[0085] In an exemplary embodiment, a robot is also provided, comprising: At least one drive joint, wherein the drive joint is a differential wheel reverse drive joint; Memory and processor; The memory is used to store computer programs that can be executed by the processor; The processor is used to execute the computer program in the memory to implement the method as described above.

[0086] In an exemplary embodiment, a non-transitory computer-readable storage medium is also provided, such as a memory including instructions, wherein the executable computer program described above can be executed by a processor. The readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, or optical data storage device, etc.

[0087] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This disclosure is intended to cover any variations, uses, or adaptations that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0088] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A method for controlling a driven joint, characterized in that, include: Obtain the robot's current execution mode; The robot's virtual joints are constrained according to the current execution mode to obtain the expected force data of the virtual joints; The virtual joint includes two virtual joints that define the two degrees of freedom of the driving joint, Roll and Pitch; the current execution mode is determined according to virtual stiffness and virtual damping, and includes a first execution mode and a second execution mode, wherein the first execution mode and the second execution mode adopt different limiting processing methods for the virtual joint; The target driving force data of the driving joint is obtained based on the expected force data and the mapping relationship between the expected force of the virtual joint and the driving force of the driving joint. The movement of the drive joint is controlled based on the target driving force data.

2. The method according to claim 1, characterized in that, When the current execution mode is the first execution mode, the virtual joints of the robot are subjected to limit processing according to the current execution mode to obtain the expected force data of the virtual joints, including: Limit the virtual joints of the robot to obtain control data for the virtual joints; The compensation force data of the robot's virtual joints is obtained based on the control data; The desired force data of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity.

3. The method according to claim 2, characterized in that, The virtual joints of the robot are subjected to limit processing to obtain control data for the virtual joints, including: The desired position of the robot's virtual joints is constrained to obtain the target desired position; When the distance between the target desired position and the boundary value of the preset limit range is less than or equal to the preset distance threshold, the desired speed of the virtual joint is smoothed to obtain the target desired speed; when the distance between the target desired position and the boundary value of the preset limit range is greater than the preset distance threshold, the current desired speed of the virtual joint is taken as the target desired speed; the target desired position and the target desired speed are used as the control data of the virtual joint.

4. The method according to claim 3, characterized in that, The desired velocity of the virtual joint is smoothed to obtain the target desired velocity, including: Obtain a preset reference speed; the reference speed is related to the maximum speed of the virtual joint and the preset distance threshold. When the desired speed of the virtual joint is greater than the reference speed, the reference speed is determined as the target desired speed; when the desired speed of the virtual joint is less than or equal to the reference speed, the current desired speed is determined as the target desired speed.

5. The method according to claim 2, characterized in that, The compensation force data of the robot's virtual joints is obtained based on the control data, including: The candidate compensation force of the virtual joint is obtained based on the control data; When the candidate compensation force is within the range of the driving force, the candidate compensation force is determined as the compensation force data; when the candidate compensation force is outside the range of the driving force, the boundary value closest to the candidate compensation force in the range of the driving force is determined as the compensation force data.

6. The method according to claim 1, characterized in that, When the current execution mode is the second execution mode, the virtual joints of the robot are subjected to limit processing according to the current execution mode to obtain the expected force data of the virtual joints, including: When the actual position is outside the preset limit range, the candidate compensation force of the virtual joint is obtained; When the candidate compensation force is within the preset compensation force range, the candidate compensation force is determined to be the compensation force data of the virtual joint; when the candidate compensation force is outside the preset compensation force range, the boundary value closest to the candidate compensation force in the preset compensation force range is determined to be the compensation force data of the virtual joint. The desired force data of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity.

7. The method according to claim 2 or 6, characterized in that, The desired force data of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity, including: The candidate desired force of the virtual joint is obtained based on the compensation force data, desired position, and desired velocity. When the candidate expected force is within the preset driving force range, the candidate expected force is determined as the expected force data; when the candidate expected force is outside the preset driving force range, the boundary value closest to the candidate expected force in the preset driving force range is determined as the expected force data.

8. A drive joint control device, characterized in that, include: The execution mode acquisition module is used to acquire the robot's current execution mode; The expected force acquisition module is used to perform limit processing on the virtual joints of the robot according to the current execution mode to obtain the expected force data of the virtual joints; the virtual joints include two virtual joints defined by the two degrees of freedom Roll and Pitch of the driving joint; the current execution mode is determined according to virtual stiffness and virtual damping, and includes a first execution mode and a second execution mode, wherein the first execution mode and the second execution mode adopt different limit processing methods for the virtual joints; The driving force acquisition module is used to acquire the target driving force data of the driving joint based on the expected force data and the mapping relationship between the expected force of the virtual joint and the driving force of the driving joint. A drive joint control module is used to control the movement of the drive joint based on the target drive force data.

9. The apparatus according to claim 8, characterized in that, When the current execution mode is the first execution mode, the expectation force acquisition module includes: The control data acquisition submodule is used to perform limit processing on the virtual joints of the robot to obtain the control data of the virtual joints; The compensation force acquisition submodule is used to acquire compensation force data of the robot's virtual joints based on the control data; The expected force acquisition submodule is used to acquire the expected force data of the virtual joint based on the compensation force data, expected position, and expected velocity.

10. The apparatus according to claim 9, characterized in that, The control data acquisition submodule includes: The target desired position acquisition unit is used to limit the desired position of the robot's virtual joints to obtain the target desired position; The target expected speed acquisition unit is used to smooth the expected speed of the virtual joint when the distance between the target expected position and the boundary value of the preset limit range is less than or equal to a preset distance threshold, so as to obtain the target expected speed; when the distance between the target expected position and the boundary value of the preset limit range is greater than the preset distance threshold, the current expected speed of the virtual joint is used as the target expected speed; the target expected position and the target expected speed are used as the control data of the virtual joint.

11. The apparatus according to claim 10, characterized in that, The target desired speed acquisition unit includes: A reference speed acquisition subunit is used to acquire a preset reference speed; the reference speed is related to the maximum speed of the virtual joint and the preset distance threshold. The target expected speed acquisition subunit is used to determine the reference speed as the target expected speed when the expected speed of the virtual joint is greater than the reference speed; and to determine the current expected speed as the target expected speed when the expected speed of the virtual joint is less than or equal to the reference speed.

12. The apparatus according to claim 9, characterized in that, The compensation force acquisition submodule includes: A candidate compensation force acquisition unit is used to acquire candidate compensation forces of the virtual joint based on the control data; The compensation force data acquisition unit is used to determine the candidate compensation force as the compensation force data when the candidate compensation force is within the range of the driving force; and to determine the boundary value closest to the candidate compensation force in the range of the driving force as the compensation force data when the candidate compensation force is outside the range of the driving force.

13. The apparatus according to claim 8, characterized in that, When the current execution mode is the second execution mode, the expectation force acquisition module includes: The candidate compensation force acquisition submodule is used to acquire the candidate compensation force of the virtual joint when the actual position is outside the preset limit range; The compensation force data determination submodule is used to determine the candidate compensation force as the compensation force data of the virtual joint when the candidate compensation force is within a preset compensation force range; and to determine the boundary value closest to the candidate compensation force in the preset compensation force range as the compensation force data of the virtual joint when the candidate compensation force is outside the preset compensation force range. The expected force acquisition submodule is used to acquire the expected force data of the virtual joint based on the compensation force data, expected position, and expected velocity.

14. The apparatus according to claim 9 or 13, characterized in that, The expectation force acquisition submodule includes: A candidate expected force acquisition unit is used to acquire candidate expected forces of the virtual joint based on the compensation force data, expected position, and expected velocity. The expected force data acquisition unit is used to determine the candidate expected force as the expected force data when the candidate expected force is within a preset driving force range; and to determine the boundary value closest to the candidate expected force in the preset driving force range as the expected force data when the candidate expected force is outside the preset driving force range.

15. A robot, characterized in that, include: At least one drive joint, wherein the drive joint is a differential wheel reverse drive joint; Memory and processor; The memory is used to store computer programs that can be executed by the processor; The processor is configured to execute a computer program in the memory to implement the method as described in any one of claims 1 to 7.

16. A non-transitory computer-readable storage medium, characterized in that, When the executable computer program in the storage medium is executed by a processor, it can implement the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for controlling virtual stopper of robot

    KR101383724B1