Robot joint position determination method and device, electronic equipment and storage medium

By acquiring and analyzing encoder axis data of robot joints, the fluctuation area and vector angle are determined, solving the battery dependence and safety risks in robot joint position determination, realizing accurate position detection and safe operation, and meeting the requirements of small-volume encoders.

CN119328756APending Publication Date: 2025-01-21FAIR INNOVATION (SUZHOU) ROBOTIC SYSTEM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411560656.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

In existing technologies, when the range of motion of a robot joint exceeds 360°, a multi-turn absolute encoder is required, which leads to battery life and reliability issues. In addition, mechanical encoders are bulky, complex to operate, and pose safety risks during power outages.

Method used

By acquiring multi-turn and single-turn data from the encoder shaft at the robot joint, the fluctuation area of ​​the encoder shaft is determined, and the reliability of the multi-turn data is judged. If the data is unreliable, the vector angle and target command angle are determined based on the single-turn data. The encoder shaft is then controlled to rotate to the target angle, and multi-turn data is acquired again to calculate the accurate position, achieving ±360° detection without battery assistance.

Benefits of technology

It achieves accurate determination of robot joint positions without increasing encoder size, avoids problems caused by battery use, improves safety and user-friendliness, reduces production accuracy requirements, and has strong anti-interference capabilities and zero maintenance characteristics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119328756A_ABST
    Figure CN119328756A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a robot joint position determining method and device, electronic equipment and a storage medium, and relates to the field of robos.The method comprises the steps that in the robot electrifying process, first multi-circle data information and single-circle data information on an encoder rotating shaft at a robot joint are obtained, the fluctuation area of the encoder rotating shaft is determined, and the first multi-circle data information and the single-circle data information are obtained; when the first multi-circle data information is not credible, determining a vector angle based on the single-circle data information and the fluctuation area, determining a target instruction angle, controlling the encoder rotating shaft to rotate from the vector angle to the target instruction angle, and when the vector angle is consistent with the target instruction angle, obtaining second multi-circle data information on the encoder rotating shaft at the joint, and based on the second multi-circle data information and the single-circle data information, the accurate position of the robot joint is calculated to complete power-on. Under the condition that the size of the encoder is not increased, + / -360-degree detection of the encoder can be realized, and auxiliary power supply of a battery is not needed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robots, and in particular, to a method, device, electronic device and storage medium for determining the joint position of a robot. Background Art

[0002] The robot joint operation range exceeds 360°, which can greatly enhance the flexibility of the robot in certain situations. When the operation range exceeds 360°, a multi-turn absolute encoder is required. When the whole machine is powered off, batteries are needed to maintain the multi-turn count. The use of batteries will bring a series of problems such as maintenance and production and transportation safety due to life and reliability. If batteries are not used to maintain multi-turn counts, when the robot loses power, the operation of the robot joints cannot be recognized by the robot, which will cause damage to the robot or even personal injury.

[0003] Some manufacturers equip absolute encoders with batteries, which need to be replaced regularly. In air transportation and certain occasions, the use of batteries will also bring a lot of additional work.

[0004] Some manufacturers use mechanical absolute encoders. Due to the existence of the mechanical structure, the encoder is relatively large in size. The combination of multi-level mechanical structures requires high processing accuracy and it is difficult to meet the volume requirements of collaborative robots.

[0005] Some manufacturers do not provide batteries and do not allow the robot to be operated and rotated during power failure. Even if it is allowed to rotate, it is only allowed to rotate a small angle, which is only a temporary solution. This limits some user scenarios, and sometimes even if it is rotated accidentally, there may be risks. If it is rotated during power failure, it needs to be recalibrated, which requires users to have high professional knowledge or return to the factory.

[0006] There is an urgent need for a method to determine the accurate position of the robot joint without increasing the size of the encoder and without the need for battery assistance. Summary of the invention

[0007] The purpose of the present application is to provide a method, device, electronic device and storage medium for determining the position of a robot joint, which can determine the exact position of the robot joint without increasing the size of the encoder and without the need for battery assistance.

[0008] In order to achieve the above purpose, the technical solution adopted in the embodiment of the present application is as follows:

[0009] In a first aspect, an embodiment of the present application provides a method for determining a robot joint position, the method comprising:

[0010] During the power-on process of the robot, the first multi-turn data information and the single-turn data information on the encoder shaft at the joint of the robot are obtained;

[0011] Determining a fluctuation region of the encoder shaft;

[0012] Determining whether the multi-turn data information is credible;

[0013] When the first multi-turn data information is unreliable, determining a vector angle based on the single-turn data information and the fluctuation area, wherein the vector angle represents a predicted angle of the shutdown position of the robot;

[0014] Determine the command angle issued by the controller;

[0015] determining a target command angle based on the command angle and the vector angle when the command angle is not in the fluctuation range;

[0016] Controlling the encoder shaft to rotate from the vector angle to the target instruction angle;

[0017] When the vector angle is consistent with the target command angle, obtaining second multi-turn data information on the encoder shaft at the joint;

[0018] The accurate position of the robot joint is calculated based on the second multi-turn data information and the single-turn data information to complete power-on.

[0019] In an optional embodiment, the encoder shaft includes a first circle and a second circle, and the step of determining whether the first plurality of circles of data information is credible includes:

[0020] Detecting whether the single-lap data information is located in the fluctuation area;

[0021] When the single-turn data information is located in the fluctuation area, determining that the first multi-turn data information is unreliable;

[0022] When the single-turn data information is outside the fluctuation area, it is determined that the first multi-turn data information is credible.

[0023] In an optional implementation, when the first multi-turn data information is unreliable, the step of determining the vector angle based on the single-turn data information and the fluctuation area includes:

[0024] Obtaining the upper limit and lower limit of the fluctuation range;

[0025] Comparing the single-lap data information with the upper limit value;

[0026] When the single-turn data information is less than the upper limit value, using the single-turn data information as a vector angle;

[0027] Calculating a first sum of a preset angle and the lower limit value;

[0028] comparing the single-lap data information with the first sum;

[0029] When the single-turn data information is greater than the first sum, a difference between the preset angle and the single-turn data information is calculated;

[0030] determining the negative value of the difference;

[0031] The negative of the difference is taken as the vector angle.

[0032] In an optional embodiment, the step of determining the target instruction angle based on the instruction angle and the vector angle when the instruction angle is not in the fluctuation area includes:

[0033] Calculating the product of the instruction angle and the vector angle;

[0034] When the product is greater than or equal to zero, taking the command angle as a target command angle;

[0035] When the product is less than zero, calculating the difference between the preset angle and the command angle;

[0036] The difference between the preset angle and the command angle is used as the target command angle.

[0037] In an optional embodiment, the step of controlling the encoder shaft to rotate from the vector angle to the target instruction angle includes:

[0038] Obtaining the upper limit and lower limit of the fluctuation range;

[0039] Comparing the single-lap data information with the upper limit value;

[0040] When the single-turn data information is less than the upper limit value, controlling the encoder shaft to rotate from the vector angle to the target instruction angle in a positive direction;

[0041] Calculating a first sum of a preset angle and the lower limit value;

[0042] comparing the single-lap data information with the first sum;

[0043] When the single-turn data information is greater than the first sum, the encoder shaft is controlled to rotate in a reverse direction from the vector angle to the target instruction angle.

[0044] In an optional embodiment, the step of calculating the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information to complete the power-on step includes:

[0045] Calculating a first difference between the second multi-turn data information and a preset value;

[0046] Calculating a first product of the first difference and a preset angle;

[0047] The sum of the first product and the single-turn data information is calculated as the accurate position of the robot joint to complete power-on.

[0048] In an optional embodiment, the method further comprises:

[0049] When the first multi-turn data information is credible, the accurate position of the robot joint is calculated based on the first multi-turn data information and the single-turn data information to complete power-on.

[0050] In a second aspect, an embodiment of the present application provides a robot joint position device, the device comprising:

[0051] An acquisition module, used for acquiring first multi-turn data information and single-turn data information on the encoder shaft at the robot joint during the robot power-on process;

[0052] A determination module, used to determine the fluctuation area of ​​the encoder shaft;

[0053] A judging module, used for judging whether the first multi-circle data information is credible;

[0054] The determination module is further configured to determine a vector angle based on the single-turn data information and the fluctuation area when the first multi-turn data information is unreliable, wherein the vector angle represents a predicted angle of the shutdown position of the robot; determine a command angle issued by a controller; and determine a target command angle based on the command angle and the vector angle when the command angle is not in the fluctuation area;

[0055] A control module, used for controlling the encoder shaft to rotate from the vector angle to the target instruction angle;

[0056] The acquisition module is further used to acquire second multi-turn data information on the encoder shaft at the joint when the vector angle is consistent with the target instruction angle;

[0057] The calculation module is used to calculate the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information to complete power-on.

[0058] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the robot joint position determination method when executing the computer program.

[0059] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method for determining the joint position of the robot.

[0060] This application has the following beneficial effects:

[0061] The present application obtains the first multi-turn data information and single-turn data information on the encoder shaft at the robot joint during the robot power-on process, determines the fluctuation area of ​​the encoder shaft, and when the first multi-turn data information is unreliable, determines the vector angle based on the single-turn data information and the fluctuation area, determines the command angle issued by the controller, and when the command angle is not in the fluctuation area, determines the target command angle based on the command angle and the vector angle, controls the encoder shaft to rotate from the vector angle to the target command angle, obtains the second multi-turn data information on the encoder shaft at the joint when the vector angle is consistent with the target command angle, calculates the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information, and completes the power-on. Without increasing the size of the encoder, the robot joint position determination method provided by the present application can realize the detection of ±360° of the encoder, and does not require battery auxiliary power supply. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0063] Figure 1 A block diagram of an electronic device provided in an embodiment of the present application;

[0064] Figure 2 One of the flowchart diagrams of a method for determining a robot joint position provided in an embodiment of the present application;

[0065] Figure 3 A schematic diagram of an encoder shaft provided in an embodiment of the present application;

[0066] Figure 4 A schematic diagram of the fluctuation area of ​​the encoder shaft provided in an embodiment of the present application;

[0067] Figure 5 A second schematic diagram of a flow chart of a method for determining a robot joint position provided in an embodiment of the present application;

[0068] Figure 6 A third flowchart diagram of a method for determining a robot joint position provided in an embodiment of the present application;

[0069] Figure 7 A fourth flowchart diagram of a method for determining a robot joint position provided in an embodiment of the present application;

[0070] Figure 8 A fifth flowchart diagram of a method for determining a robot joint position provided in an embodiment of the present application;

[0071] Fig. 9 A sixth flowchart diagram of a method for determining a robot joint position provided in an embodiment of the present application;

[0072] Fig.10 This is a structural block diagram of a robot joint position determination device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0073] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.

[0074] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0075] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.

[0076] In the description of the present application, it should be noted that if the terms "upper", "lower", "inside", "outside", etc. appear to indicate an orientation or position relationship, it is based on the orientation or position relationship shown in the drawings, or is the orientation or position relationship in which the product of the invention is usually placed when used. It is only for the convenience of describing the present application and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present application.

[0077] In addition, the terms “first”, “second”, etc., if used, are merely used to distinguish between the descriptions and should not be understood as indicating or implying relative importance.

[0078] In the description of this application, it should also be noted that, unless otherwise clearly specified and limited, the terms "set", "install", "connect", and "connect" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.

[0079] After extensive research, the inventors found that the robot joint operation range exceeding 360° can greatly enhance the flexibility of the robot in certain situations. When the operation range exceeds 360°, a multi-turn absolute encoder is required. When the whole machine is powered off, batteries are needed to maintain the multi-turn count. The use of batteries will bring a series of problems such as maintenance and production, transportation and use safety due to life and reliability. If batteries are not used to maintain multi-turn counts, when the robot loses power, the operation of the robot joint cannot be recognized by the robot, which will cause damage to the robot or even personal injury.

[0080] In view of the discovery of the above-mentioned problems, the present embodiment provides a robot joint position determination method, device, electronic device and storage medium. Without increasing the volume of the encoder, the robot joint position determination method provided by this application can realize ±360° detection of the encoder and does not require battery auxiliary power supply. The solution provided in this embodiment is explained in detail below.

[0081] This embodiment provides an electronic device that can determine the joint position of a robot. In a possible implementation, the electronic device can be a user terminal, for example, the electronic device can be, but is not limited to, a server, a smart phone, a personal computer (PC), a tablet computer, a personal digital assistant (PDA), a mobile Internet device (MID), and a programmable logic controller, etc.

[0082] Please refer to Figure 1 , Figure 1 1 is a schematic diagram of the structure of the electronic device 100 provided in the embodiment of the present application. The electronic device 100 may also include Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown. Figure 1 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0083] The electronic device 100 includes a robot joint position determination device 110 , a memory 120 and a processor 130 .

[0084] The memory 120 and the processor 130 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these elements can be electrically connected to each other through one or more communication buses or signal lines. The robot joint position determination device 110 includes at least one software function module that can be stored in the memory 120 in the form of software or firmware or solidified in the operating system (OS) of the electronic device 100. The processor 130 is used to execute the executable modules stored in the memory 120, such as the software function modules and computer programs included in the robot joint position determination device 110.

[0085] The memory 120 may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), etc. The memory 120 is used to store a program, and the processor 130 executes the program after receiving an execution instruction.

[0086] Please refer to Figure 2 , Figure 2 For application Figure 1 A flowchart of a method for determining a robot joint position of an electronic device 100 is provided, and the method including each step is described in detail below.

[0087] S201: During the power-on process of the robot, first multi-turn data information and single-turn data information on the encoder shaft at the joint of the robot are obtained.

[0088] like Figure 3As shown in the figure, it is a schematic diagram of the encoder shaft. In the figure, a ramp device 1 is arranged on the encoder shaft. This ramp device 1 can be set to trigger a key switch or a magnetic induction switch at a specific height to produce a high-low jump. The first circle has one level in the range of 0-360°, and the second circle has another level in the range of 0-360°. If more circles need to be distinguished, more trigger switches can be designed, and different circles can be identified in a binary manner.

[0089] The inclined plane device can obtain the first multi-turn data information on the encoder shaft at the robot joint. The first multi-turn data information indicates how many turns the robot joint has rotated. The single-turn data information can be directly obtained by the sensor set at the robot joint. When the operating range of the encoder shaft is -360° to 360°, the range of the single-turn data information is (0, 360°). It should be noted that the single-turn data information is an absolute value.

[0090] S202: Determine the fluctuation area of ​​the encoder shaft.

[0091] like Figure 4 The figure shows the fluctuation area of ​​the encoder shaft. All encoder solutions may be affected by the accuracy of production links such as processing and assembly, mechanical wear caused by long-term operation, the accuracy of links such as calibration, and the consistency of electrical parameters of components, resulting in unstable data reading.

[0092] In order to facilitate the explanation of the implementation process of the robot joint position determination method provided in the present application, a multi-turn jump at 0° is used as an example for explanation. The operating range is -360° to +360°. Figure 4 In the figure, due to the jump point deviation near 0°, the deviation range is -m°~+n°, forming the fluctuation area in the figure.

[0093] S203: Determine whether the first multi-circle data information is credible.

[0094] Based on the fluctuation area, determine whether the multi-turn data is credible. When the multi-turn data is unreliable, it means that the current position of the robot joint is within the fluctuation area, and the robot joint position cannot be accurately determined. When the multi-turn data is reliable, it means that the robot joint position is not within the fluctuation area, and the robot joint position can be directly determined accurately.

[0095] S204: When the first multi-turn data information is unreliable, determine a vector angle based on the single-turn data information and the fluctuation area.

[0096] The vector angle represents the predicted angle of the robot's shutdown position.

[0097] When the first multi-turn data information is unreliable, a judgment and evaluation is performed based on the assumed feedback vector angle, the command angle issued by the controller, and the single-turn data information to find the exact position of the robot joint.

[0098] S205: Determine the instruction angle issued by the controller.

[0099] S206: When the command angle is not in the fluctuation region, determine the target command angle based on the command angle and the vector angle.

[0100] When the command angle is not in the fluctuation area, the command angle is corrected based on the command angle and the vector angle to obtain the target command angle, that is, to determine whether the command angle is consistent with the vector angle direction. When the command angle is consistent with the vector angle direction, the command angle is determined to be the target command angle. When the command angle is inconsistent with the vector angle direction, the opposite direction angle of the command angle is determined to be the target command angle.

[0101] S207: Control the encoder shaft to rotate from the vector angle to the target command angle.

[0102] The vector angle can be understood as the initial angle, and the target instruction angle is the destination angle, that is, the encoder shaft is controlled to execute from the vector angle to the target instruction angle so that the vector angle executes to the target instruction angle.

[0103] S208: When the vector angle is consistent with the target command angle, obtain the second multi-turn data information on the encoder shaft at the joint.

[0104] When the vector angle is consistent with the target instruction angle, it means that the vector angle is executed to the position corresponding to the target instruction angle. Since the first multi-turn data information is unreliable, when the vector angle is executed to the position corresponding to the target instruction angle, the position of the encoder shaft at the robot joint has left the fluctuation area. At this time, the second multi-turn data information on the encoder shaft is re-acquired.

[0105] S209: Calculate the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information to complete power-on.

[0106] The accurate positions of the robot joints can be calculated based on the re-read second multi-turn data information and the single-turn data information. After the accurate positions of the robot joints are obtained, power-on is completed.

[0107] The encoder shaft includes a first circle and a second circle. There are multiple ways to determine whether the multi-circle data information is credible. In one implementation, Figure 5 As shown, the following steps are included:

[0108] Due to the existence of multi-turn jump offset, the same single-turn data information exists. The same single-turn data information means that when the encoder shaft includes the first turn and the second turn, the same single-turn data information exists, but it is impossible to determine whether the single-turn data information belongs to the first turn or the second turn, thus forming a fluctuation area.

[0109] S301: Detect whether the single-lap data information is located in a fluctuation area.

[0110] S302: When the single-turn data information is in the fluctuation region, it is determined that the first multi-turn data information is unreliable.

[0111] S303: When the single-turn data information is outside the fluctuation area, it is determined that the first multi-turn data information is credible.

[0112] When the single-circle data information is in the fluctuation area, it means that the first-circle data information is unreliable, and vice versa.

[0113] There are many ways to determine the vector angle based on single-turn data information and fluctuation area. In one implementation, Figure 6 As shown, the following steps are included:

[0114] S401: Obtain the upper limit and lower limit of the fluctuation range.

[0115] S402: Compare the lap data information with the upper limit value.

[0116] S403: When the single-turn data information is less than the upper limit value, the single-turn data information is used as the vector angle.

[0117] S404: Calculate a first sum of the preset angle and the lower limit value.

[0118] S405: Compare the single lap data information with the first sum.

[0119] S406: When the single-turn data information is greater than the first sum, a difference between the preset angle and the single-turn data information is calculated.

[0120] S407: Determine the negative value of the difference.

[0121] S408: Taking the negative value of the difference as the vector angle.

[0122] Still refer to Figure 4 ,Sure Figure 4 The lower limit of the fluctuation area is -m°, and the upper limit of the fluctuation area is n°. When the single-circle data information is less than n°, the single-circle data information is used as the vector angle.

[0123] It should be noted that the preset angle can be set to 360°.

[0124] When the single-turn data is greater than (306°-m°), -(306°-single-turn data) is used as the vector angle.

[0125] When the command angle is not in the fluctuation region, there are multiple implementations for determining the target command angle based on the command angle and the vector angle. In one implementation, Figure 7 As shown, the following steps are included:

[0126] S501: Calculate the product of the command angle and the vector angle.

[0127] S502: When the product is greater than or equal to zero, the command angle is used as the target command angle.

[0128] S503: When the product is less than zero, the difference between the preset angle and the command angle is calculated.

[0129] S504: Taking the difference between the preset angle and the command angle as the target command angle.

[0130] Exemplarily, when the command angle is outside the fluctuation area and EC is greater than or equal to zero, it is determined that the command angle and the vector angle have the same sign, and the command angle is used as the target command angle.

[0131] When EC is less than zero, it is determined that the command angle has an opposite sign to the vector angle, and (360°-C) is used as the target command angle.

[0132] Among them, E is the vector angle and C is the command angle.

[0133] When the command angle is within the fluctuation area, the encoder shaft is controlled to move and execute, and the command angle issued by the controller is re-acquired until the command angle leaves the fluctuation area.

[0134] There are many ways to control the encoder shaft to rotate from the vector angle to the target instruction angle. In one implementation, Figure 8 As shown, the following steps are included:

[0135] S601: Obtain the upper limit and lower limit of the fluctuation range.

[0136] Reference Figure 4 ,Sure Figure 4 The lower limit of the medium fluctuation area is -m°, and the upper limit of the fluctuation area is n°.

[0138] S602: Compare the lap data information with the upper limit value.

[0139] S603: When the single-turn data information is less than the upper limit value, the encoder shaft is controlled to rotate from the vector angle to the target instruction angle in the positive direction.

[0140] In order to prevent the encoder shaft from rotating to the fluctuation area again, when the single-turn data information is less than the upper limit value, the encoder shaft is controlled to rotate from the vector angle to the target command angle in the positive direction.

[0141] S604: Calculate a first sum of the preset angle and the lower limit value.

[0142] S605: Compare the lap data information with the first sum.

[0143] S606: When the single-turn data information is greater than the first sum, the encoder shaft is controlled to rotate in the reverse direction from the vector angle to the target instruction angle.

[0144] In order to prevent the encoder shaft from rotating to the fluctuation area again, when the single-turn data information is greater than the first sum of the preset angle and the lower limit value, the encoder shaft is controlled to rotate in the reverse direction from the vector angle to the target command angle.

[0145] There are many ways to calculate the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information. In one implementation, Fig. 9 As shown, the following steps are included:

[0146] S701: Calculate a first difference between the second multi-turn data information and a preset value.

[0147] S702: Calculate a first product of a first difference and a preset angle.

[0148] S703: Calculate the sum of the first product and the single-circle data information as the accurate position of the robot joint to complete power-on.

[0149] The exact position of the robot joints can be calculated based on the following formula:

[0150] The exact position of the robot joint = (second multi-turn data information - 1) * 360° + single-turn data information.

[0151] Based on the robot joint position determination method provided by the present application, no battery is required, and the multi-turn position detection under any circumstances can be met, including the position detection of the robot being rotated during power failure. The method provided by the present application uses a simple structure, strong fault tolerance, stronger anti-interference ability, and low overall failure rate. It will not increase the volume of the encoder, and meet the robot's requirement for a small encoder volume. The robot joint position determination method makes synchronous judgments during startup and operation, does not require a separate judgment step, and will not bring a bad experience to the user. The encoder can greatly reduce the accuracy requirements of the production link and can compensate for the deviation of the electrical parameters of components. The encoder can accept long-term wear tolerance and achieve the purpose of zero maintenance throughout the life cycle. During operation, the data values ​​of multiple turns can be detected and inspected to ensure the normal operation of the multi-turn detection mechanism, and an alarm and shutdown will be issued in time when an abnormality occurs, so as to achieve a safer application.

[0152] Please refer to Fig.10 The present application embodiment also provides an application Figure 1 The robot joint position determining device 110 of the electronic device 100 includes:

[0153] An acquisition module 111 is used to acquire first multi-turn data information and single-turn data information on the encoder shaft at the robot joint during the robot power-on process;

[0154] A determination module 112, configured to determine a fluctuation region of the encoder shaft;

[0155] A judging module 113 is used to judge whether the multi-circle data information is credible;

[0156] The determination module 112 is further configured to determine a vector angle based on the single-turn data information and the fluctuation region when the first multi-turn data information is unreliable, wherein the vector angle represents a predicted angle of the shutdown position of the robot; determine a command angle issued by a controller; and determine a target command angle based on the command angle and the single-turn data information when the command angle is not in the fluctuation region;

[0157] A control module 114, used to control the encoder shaft to rotate from the vector angle to the target instruction angle;

[0158] The acquisition module 111 is further configured to acquire second multi-turn data information on the encoder shaft at the joint when the vector angle is consistent with the target instruction angle;

[0159] The calculation module 115 is used to calculate the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information to complete power-on.

[0160] The present application also provides an electronic device 100, which includes a processor 130 and a memory 120. The memory 120 stores computer executable instructions, and when the computer executable instructions are executed by the processor 130, the robot joint position determination method is implemented.

[0161] The embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by the processor 130, the robot joint position determination method is implemented.

[0162] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or the flowchart, and the combination of boxes in the block diagram and / or the flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0163] In addition, each functional module in each embodiment of the present application can be integrated together to form an independent part, or each module can exist separately, or two or more modules can be integrated to form an independent part. If the function is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk.

[0164] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0165] The above are only various implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for determining a robot joint position, characterized in that: The method comprises: During the power-on process of the robot, the first multi-turn data information and the single-turn data information on the encoder shaft at the joint of the robot are obtained; Determining a fluctuation region of the encoder shaft; Determining whether the first multi-circle data information is credible; When the first multi-turn data information is unreliable, determining a vector angle based on the single-turn data information and the fluctuation area, wherein the vector angle represents a predicted angle of the shutdown position of the robot; Determine the command angle issued by the controller; determining a target command angle based on the command angle and the vector angle when the command angle is not in the fluctuation range; Controlling the encoder shaft to rotate from the vector angle to the target instruction angle; When the vector angle is consistent with the target command angle, obtaining second multi-turn data information on the encoder shaft at the joint; The accurate position of the robot joint is calculated based on the second multi-turn data information and the single-turn data information to complete power-on.

2. The method according to claim 1, characterized in that: The encoder shaft comprises a first circle and a second circle, and the step of determining whether the data information of the first plurality of circles is credible comprises: Detecting whether the single-lap data information is located in the fluctuation area; When the single-turn data information is located in the fluctuation area, determining that the first multi-turn data information is unreliable; When the single-turn data information is outside the fluctuation area, it is determined that the first multi-turn data information is credible.

3. The method according to claim 1, characterized in that The step of determining the vector angle based on the single-turn data information and the fluctuation area when the first multi-turn data information is unreliable includes: Obtaining the upper limit and lower limit of the fluctuation range; Comparing the single-lap data information with the upper limit value; When the single-turn data information is less than the upper limit value, using the single-turn data information as a vector angle; Calculating a first sum of a preset angle and the lower limit value; comparing the single-lap data information with the first sum; When the single-turn data information is greater than the first sum, a difference between the preset angle and the single-turn data information is calculated; determining the negative value of the difference; The negative of the difference is taken as the vector angle.

4. The method according to claim 1, characterized in that: The step of determining a target instruction angle based on the instruction angle and the vector angle when the instruction angle is not in the fluctuation area comprises: Calculating the product of the instruction angle and the vector angle; When the product is greater than or equal to zero, taking the command angle as a target command angle; When the product is less than zero, calculating the difference between the preset angle and the command angle; The difference between the preset angle and the command angle is used as the target command angle.

5. The method according to claim 1, characterized in that The step of controlling the encoder shaft to rotate from the vector angle to the target instruction angle comprises: Obtaining the upper limit and lower limit of the fluctuation range; Comparing the single-lap data information with the upper limit value; When the single-turn data information is less than the upper limit value, controlling the encoder shaft to rotate from the vector angle to the target instruction angle in a positive direction; Calculating a first sum of a preset angle and the lower limit value; comparing the single-lap data information with the first sum; When the single-turn data information is greater than the first sum, the encoder shaft is controlled to rotate in a reverse direction from the vector angle to the target instruction angle.

6. The method according to claim 1, characterized in that The step of calculating the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information to complete the power-on step includes: Calculating a first difference between the second multi-turn data information and a preset value; Calculating a first product of the first difference and a preset angle; The sum of the first product and the single-turn data information is calculated as the accurate position of the robot joint to complete power-on.

7. The method according to claim 1, characterized in that The method further comprises: When the first multi-turn data information is credible, the accurate position of the robot joint is calculated based on the first multi-turn data information and the single-turn data information to complete power-on.

8. A robot joint position device, characterized in that: The device comprises: An acquisition module, used for acquiring first multi-turn data information and single-turn data information on the encoder shaft at the robot joint during the robot power-on process; A determination module, used to determine the fluctuation area of ​​the encoder shaft; A judgment module, used to judge whether the multi-circle data information is credible; The determination module is further configured to determine a vector angle based on the single-turn data information and the fluctuation region when the first multi-turn data information is unreliable, wherein the vector angle represents a predicted angle of the shutdown position of the robot; determine a command angle issued by a controller; and determine a target command angle based on the command angle and the single-turn data information when the command angle is not in the fluctuation region; A control module, used for controlling the encoder shaft to rotate from the vector angle to the target instruction angle; The acquisition module is further used to acquire second multi-turn data information on the encoder shaft at the joint when the vector angle is consistent with the target instruction angle; The calculation module is used to calculate the accurate position of the robot joint based on the second multi-turn data information and the single-turn data information to complete power-on.

9. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method according to any one of claims 1 to 7 when executing the computer program.

10. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.