Automatic calibration method and device for motion characteristics of mechanical arm and electronic equipment

By determining the joint executable domain in the robotic arm motion characteristics calibration and recording the motion state information in real time, the control dead zone range is automatically determined, and the problem of heavy and time-consuming calibration process in the prior art is solved, and an efficient and automatic calibration process is realized.

CN120139302APending Publication Date: 2025-06-13NETEASE LINGDONG (HANGZHOU) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510114464.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-23
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

In the prior art, the calibration process of the robotic arm motion characteristics is time-consuming, requires manual operation and is prone to errors, is inefficient and cannot be completed automatically.

Method used

By determining the executable domain of each joint of the robot arm, and performing semaphore increase control in the executable domain according to the preset control strategy, the first motion state information of the joint is obtained and recorded in real time, and then the control dead zone range is automatically determined.

Benefits of technology

The automation of calibration of the movement characteristics of the robotic arm is realized, which greatly improves the efficiency of data acquisition, reduces human operation errors, and improves calibration efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120139302A_ABST
    Figure CN120139302A_ABST
Patent Text Reader

Abstract

The invention discloses an automatic calibration method and device for motion characteristics of a mechanical arm and electronic equipment. The method comprises the steps that an executable domain of each joint on the mechanical arm is determined; in the executable domain of each joint, according to a preset control strategy, semaphore increase control is conducted on each joint, and first motion state information of each joint of the mechanical arm under different control semaphores is obtained and recorded; determining a control dead zone range of each joint according to the first motion state information of each joint under different control semaphores; the joints have action response under the control semaphore in a control semaphore area represented by the control dead zone range, and do not have action response under the minimum control semaphore lower than the control semaphore area; the joint angular velocity that can be achieved by controlling the maximum control semaphore within the dead zone range is equal to the maximum angular velocity that can be executed by the joint under the safety limit. The calibration efficiency of the motion characteristics of the mechanical arm is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of robotic arm control, and particularly to an automatic calibration method, device, electronic device, and computer-readable storage medium for the motion characteristics of a robotic arm. Background Art

[0002] Excavators are widely used in many industries such as construction, mining, exploration, and agriculture. They are not only used for digging holes or trenches in earthwork projects but also for heavy lifting, soil improvement, and transportation. The excavation working environment is recognized as one of the most extreme. To ensure the efficient operation of excavators under various terrains and operating conditions, it is particularly important to calibrate the motion characteristics (such as the control dead zone range, etc.) of the robotic arms in excavators.

[0003] In the related art, the calibration process for the control dead zone range of each joint on the robotic arm needs to start from scratch and gradually increase the amplitude of the control input signal. For example, in the input range from 0% to 100%, a small increment (such as 1% or 0.5% of the maximum input) is added each time. At the same time, for each input signal, the displacements or speeds of each joint on the robotic arm are recorded. According to the recorded data, the minimum input signal amplitude at which each joint starts to have an obvious response is found, which is the upper limit of the dead zone; the input signal is gradually decreased to find the maximum input signal amplitude at which each joint stops responding, which is the lower limit of the dead zone.

[0004] However, the above-mentioned related art has the problems of heavy calibration workload, time-consuming, and low efficiency. First of all, since the calibration process requires manual gradual increase of the control signal and recording of the response by humans, this is a time-consuming and laborious process, especially in the case of requiring high resolution and multiple data points. At the same time, this calibration process requires professional technicians to operate, and involves multiple steps and devices, with complex operations and easy to make mistakes. The obtained calibration data needs to be analyzed and corrected to obtain the final calibration model, with low efficiency and unable to be completed automatically. Summary of the Invention

[0005] This application provides an automatic calibration method, device, electronic device, and computer-readable storage medium for the motion characteristics of a robotic arm to improve the calibration efficiency of the motion characteristics of the robotic arm.

[0006] In a first aspect, an embodiment of this application provides an automatic calibration method for the motion characteristics of a robotic arm, and the method includes:

[0007] Determine the executable domains of each joint on the robotic arm, where the executable domain is used to represent the angular range and angular velocity range that the joint can execute;

[0008] Within the executable domains of the respective joints, according to a preset control strategy, perform control signal increment control on each joint, and in real time obtain and record the first motion state information of each joint of the robotic arm under different control signal amounts. The first motion state information includes joint angle information and joint angular velocity information;

[0009] According to the first motion state information of each joint under different control signal amounts, determine the control dead zone range of each joint; wherein, the joint has an action response under the control signal amount within the control signal amount region represented by the control dead zone range, the joint has no action response under the minimum control signal amount lower than the control signal amount region, and the joint angular velocity achievable by the maximum control signal amount within the control dead zone range is equal to the maximum angular velocity that the joint can execute under safety restrictions.

[0010] In a second aspect, an embodiment of the present application provides an automatic calibration device for the motion characteristics of a robotic arm. The device includes:

[0011] A determination module, configured to determine the executable domains of each joint on the robotic arm, and the executable domains are used to represent the angle range and angular velocity range that the joint can execute;

[0012] A control module, configured to perform control signal increment control on each joint within the executable domains of the respective joints according to a preset control strategy, and in real time obtain and record the first motion state information of each joint of the robotic arm under different control signal amounts. The first motion state information includes joint angle information and joint angular velocity information;

[0013] A processing module, configured to determine the control dead zone range of each joint according to the first motion state information of each joint under different control signal amounts; wherein, the joint has an action response under the control signal amount within the control signal amount region represented by the control dead zone range, the joint has no action response under the minimum control signal amount lower than the control signal amount region, and the joint angular velocity achievable by the maximum control signal amount within the control dead zone range is equal to the maximum angular velocity that the joint can execute under safety restrictions.

[0014] In a third aspect, an embodiment of the present application provides an electronic device. The electronic device includes:

[0015] A memory and a processor, and the memory and the processor are coupled;

[0016] The memory is used to store one or more computer instructions;

[0017] The processor is configured to execute the one or more computer instructions to implement the automatic calibration method for the motion characteristics of the robotic arm according to any one of the first aspects above.

[0018] Fourthly, an embodiment of the present application provides a computer-readable storage medium, on which one or more computer instructions are stored, characterized in that the instructions are executed by a processor to implement the automatic calibration method for the robotic arm motion characteristics described in any one of the above first aspects.

[0019] Fifthly, an embodiment of the present application provides a computer program product, including a computer program, which implements the automatic calibration method for the robotic arm motion characteristics described in any one of the above first aspects when the computer program is executed by a processor.

[0020] Compared with the prior art, the present application has the following advantages:

[0021] The automatic calibration method for the robotic arm motion characteristics provided by the present application first determines the executable domains of each joint on the robotic arm. The executable domains are used to characterize the angular range and angular velocity range that the joint can execute. These executable domains ensure that the robotic arm can operate safely and effectively during operation, and provide specific constraint conditions for control and planning tasks. Within the executable domains of each joint, according to a preset control strategy, the signal quantity of each joint is increased for control, and the first motion state information of each joint on the robotic arm under different control signal quantities is obtained and recorded in real time. The first motion state information includes joint angle information and joint angular velocity information. By using pulse width modulation to increase the signal quantity control of each joint, and by installing settings to implement the acquisition and recording of the first motion state information of each joint on the robotic arm under different control signal quantities, the automatic acquisition of the first motion state information of the robotic arm under different control signal quantities is realized, without manual acquisition, greatly improving the data acquisition efficiency. According to the first motion state information of each joint under different control signal quantities, the control dead zone range of each joint is determined. Among them, the joint has an action response under the control signal quantity within the control signal quantity region represented by the control dead zone range, the joint has no action response under the minimum control signal quantity lower than the control signal quantity region, and the maximum angular velocity that can be achieved by the maximum control signal quantity within the control dead zone range is equal to the maximum angular velocity that the joint can execute under safety limits. The present application improves the calibration efficiency of the robotic arm motion characteristics. Description of the Drawings

[0022] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:

[0023] Figure 1 It is a schematic flowchart of the automatic calibration method for the robotic arm motion characteristics provided by one embodiment of the present application;

[0024] Figure 2Schematic diagram of hardware transformation for an excavator provided in one embodiment of the present application;

[0025] Figure 3 Calibration flowchart of control dead zone range for each joint provided in one embodiment of the present application;

[0026] Figure 4 Schematic flowchart of collecting joint data provided in one embodiment of the present application;

[0027] Figure 5 Schematic flowchart of model training provided in one embodiment of the present application;

[0028] Figure 6 Schematic diagram of prediction result of joint angular velocity prediction model provided in one embodiment of the present application;

[0029] Figure 7 Schematic diagram of data after preprocessing provided in one embodiment of the present application;

[0030] Figure 8 Schematic diagram of the structure of an automatic calibration device for the motion characteristics of a robotic arm provided in one embodiment of the present application;

[0031] Figure 9 Schematic diagram of the hardware structure of an electronic device provided in one embodiment of the present application.

[0032] Through the above-mentioned drawings, specific embodiments of the present application have been shown, and more detailed descriptions will be given later. These drawings and textual descriptions are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. Detailed Description of the Embodiments

[0033] To make the objectives, advantages, and features of the present application clearer, the present application will be clearly and completely described below in conjunction with the accompanying drawings and specific embodiments. In the following description, many specific details are set forth to facilitate a full understanding of the present application. However, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application.

[0034] It should be noted that in the description of this application, terms such as "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance, as well as a specific order or sequence. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood according to specific circumstances. In addition, in the description of this application, unless otherwise specified, the term "plurality" means two or more. The term "and / or" describes the relationship between associated objects and indicates that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. The terms "include" and "have" and any of their variations are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not have to be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or are inherent to these processes, methods, products, or devices.

[0035] In order to improve the calibration efficiency of the motion characteristics of the robotic arm, this application provides an automatic calibration method for the motion characteristics of the robotic arm, an automatic calibration device for the motion characteristics of the robotic arm corresponding to this method, an electronic device capable of implementing the automatic calibration method for the motion characteristics of the robotic arm, and a computer-readable storage medium. The following provides embodiments to elaborate on the above methods, devices, electronic devices, and computer-readable storage mediums in detail.

[0036] In order to make the purpose and technical solutions of this application clearer and more intuitive, the methods provided in the embodiments of this application will be described in detail below in combination with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain this application and are not used to limit this application. It can be understood that the following several embodiments can exist independently, and the following embodiments and the features in the embodiments can be combined with each other without conflict in the embodiments provided in this application. For the same or similar content, it will not be repeated in different embodiments. In addition, the step timings in the following method embodiments are only examples and are not strictly limited. In some cases, the steps shown or described can be executed in a different order.

[0037] The present application provides an automatic calibration method, device, electronic device and computer-readable storage medium for the motion characteristics of a robotic arm. Specifically, the automatic calibration method for the motion characteristics of a robotic arm according to one embodiment of the present application can be executed by a computer device, where the computer device can be a terminal or a server, etc. The terminal can be a terminal device such as a smart phone, a tablet computer, a notebook computer, a touch screen, etc. The terminal can also include a client, and the client can be an application client, a browser client carrying an application program or an instant messaging client, etc. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, and big data and artificial intelligence platforms.

[0038] Next, in combination with Figure 1 , an automatic calibration method for the motion characteristics of a robotic arm provided by one embodiment of the present application will be described. Figure 1 FIG. is a schematic flowchart of an automatic calibration method for the motion characteristics of a robotic arm provided by one embodiment of the present application.

[0039] As Figure 1 shown, the automatic calibration method for the motion characteristics of the robotic arm includes steps S10 - S30:

[0040] S10. Determine the executable domain of each joint on the robotic arm, where the executable domain is used to represent the angular range and angular velocity range that the joint can execute.

[0041] As described above, the robotic arm is a mechanical device for performing corresponding mechanical actions, such as a robotic arm deployed on a robot, a mechanical device (excavator, loader, etc.). Taking the robotic arm deployed on an excavator as an example, the multiple joints on the robotic arm include the boom, the arm, the bucket, and the cab joint or slewing platform of the excavator.

[0042] As described above, the executable domain of a joint refers to the angular range and angular velocity range that the joint can reach during actual operation. These executable domains ensure that the robotic arm can operate safely and effectively during operation, and provide specific constraint conditions for control and planning tasks.

[0043] For example, the angular executable domain of a certain joint is [-180°, 180°], which indicates that the maximum angular range that this joint can rotate is from -180° to +180°, and within this range, the joint can freely move to any position. The angular velocity executable domain of this joint is [0° / s, 30° / s], which indicates that the maximum rotation rate range that this joint can rotate per second is from stationary (i.e., 0° / s) to a maximum of 30° / s.

[0044] An optional implementation manner, a feasible specific implementation manner of step S10 includes steps S101 - S102:

[0045] S101. Obtain the action state space preset at the factory for multiple joints on the robotic arm. Herein, the action state space refers to the set of action states that the joint can execute, and the action states include joint angle and joint angular velocity.

[0046] As mentioned above, the action state space preset at the factory for multiple joints of the robotic arm means that when the robotic arm leaves the factory, according to the mechanical structure, physical limitations, and safety requirements, an action state space has been set for each joint of the robotic arm. This action state space defines all possible positions and postures that each joint can reach. That is, the action state space refers to the set of action states that the joint can execute, and the action states include joint angle and joint angular velocity. The angle and angular velocity of each joint constitute a dimension of the action state space. These preset action state spaces ensure that each joint of the robotic arm can operate safely and effectively during the operation process, and can be used for various control and planning tasks.

[0047] In the embodiment of the present application, obtain the action state space preset at the factory for multiple joints on the preset robotic arm. Subsequently, controlling each joint within the action state space can ensure that the operation process of each joint will not exceed the limit of the mechanical structure, can operate safely and effectively, and thus avoid damage.

[0048] S102. Determine the executable domain of each joint according to the action state space of each joint. The executable domain is used to represent the angular range and angular velocity range that the joint can execute.

[0049] In the embodiment of the present application, through the action state space preset at the factory for each joint on the robotic arm, further determine the angular range and angular velocity range that each joint can reach during actual operation, that is, the executable domain of each joint. These executable domains ensure that the robotic arm can operate safely and effectively during the operation process, and provide specific constraint conditions for control and planning tasks.

[0050] Exemplarily, taking the joint angle as an example, the action state space of the bucket preset at the factory for the robotic arm is the joint angle range [-180°, 180°], and the joint angular velocity [0° / s, 30° / s]. Then the executable domain of the joint angle of the bucket is [-180°, 180°], and the executable domain of the joint angular velocity of the bucket is [0° / s, 30° / s].

[0051] S20. Within the executable range of each joint, according to the preset control strategy, perform control signal increment control on each joint, and obtain and record in real time the first motion state information of each joint of the robotic arm under different control signal amounts. The first motion state information includes joint angle information and joint angular velocity information.

[0052] As described above, the preset control strategy is a specific method for presetting the increment of the control signal amount for each joint. Exemplarily, a robotic arm has three rotating joints (J1, J2, and J3), and each joint has its own executable range in terms of angle and angular velocity. For example, the executable range of the angle of joint J1 is [-180°, 180°], and the executable range of the angular velocity is [0° / s, 30° / s]; the executable range of the angle of joint J2 is [-90°, 90°], and the executable range of the angular velocity is [0° / s, 25° / s]; the executable range of the angle of joint J3 is [-45°, 45°], and the executable range of the angular velocity is [0° / s, 20° / s]. Set a preset control strategy to define the angle increment value in each control cycle of each joint. For example, the angle of joint J1 increases by 5° each time, the angle of joint J2 increases by 3° each time, and the angle of joint J3 increases by 2° each time. In each control cycle, gradually adjust the angles of each joint according to the preset increment value until the maximum value of the executable range of the angle of each joint is reached.

[0053] In the embodiment of the present application, the control signal amount sent to each joint can be changed by changing the duty cycle through pulse width modulation. Each time the control signal amount is sent to each joint, the first motion state information of each joint on the robotic arm under this control signal amount is obtained and recorded in real time. The first motion state information includes joint angle information and joint angular velocity information. Thus, the first motion state information of each joint on the robotic arm under different control signal amounts is recorded. Furthermore, subsequently, the control dead zone range of each joint of the excavator is calibrated within the executable range of each joint.

[0054] As described above, pulse width modulation (PWM) is a commonly used signal modulation technology. By changing the pulse width, the average value of the signal is adjusted, thereby achieving precise control of parameters such as output power, brightness, and speed. The basic principle of PWM is to control the on and off time of the signal through a high-speed switch (such as a transistor, MOSFET, etc.), thereby changing the duty cycle of the output signal. The duty cycle refers to the proportion of the time when the signal is at a high level in a cycle to the total cycle.

[0055] Exemplarily, taking the robotic arm deployed on an excavator as an example, the motion state information of each joint of the robotic arm deployed on the excavator under different control signal amounts can be obtained by transforming the hardware of the excavator. For example Figure 2As shown in the figure, an inclination sensor, an embedded development platform, a PLC controller (Programmable Logic Controller), and a solenoid valve are installed on the excavator, so that the motion state information of each joint on the robotic arm under different control signal amounts can be obtained in real time. Figure 2 This is a schematic diagram of the hardware transformation of the excavator provided by one embodiment of the present application.

[0056] As mentioned above, the inclination sensor is used to detect the inclination angles of the boom, arm, bucket, and cab joints of the excavator in real time. The embedded development platform is a set of high-performance, low-power embedded system modules (SOMs) designed specifically for edge computing, aiming to support complex artificial intelligence (AI), machine learning (ML), computer vision (CV), and other high-performance computing applications. The PLC controller is a digital operation controller designed specifically for industrial environments and is used for automated control processes. The solenoid valve is a valve that uses the magnetic force generated by an electromagnet to open or close a fluid passage. In this application, this solenoid valve can be used to control the flow of liquid in the hydraulic excavator, thereby realizing the control of the hydraulic pressure of the excavator.

[0057] In the embodiment of the present application, within the executable domain of each joint, according to the preset control strategy, the signal amount of each joint is increased by pulse width modulation, and the first motion state information of each joint on the robotic arm under different control signal amounts is obtained and recorded in real time. The first motion state information includes joint angle information and joint angular velocity information. By increasing the signal amount control of each joint and implementing the acquisition and recording of the first motion state information of each joint on the robotic arm under different control signal amounts through the installed equipment, the automatic acquisition of the first motion state information of each joint on the robotic arm under different control signal amounts is realized, without manual acquisition, which greatly improves the data acquisition efficiency.

[0058] S30: Determine the control dead zone range of each joint according to the first motion state information of each joint under different control signal amounts. Among them, the joint has an action response under the control signal amount within the control signal amount region represented by the control dead zone range, and the joint has no action response under the minimum control signal amount lower than the control signal amount region. The maximum joint angular velocity that can be achieved by the maximum control signal amount within the control dead zone range is equal to the maximum angular velocity that the joint can execute under the safety limit.

[0059] In the embodiments of the present application, by deploying an automatic calibration script, the automatic calibration of the control dead zone range is completed using a specific calibration strategy. The main idea of the control strategy is as follows: The control signal quantity pulse width modulation is sent to each joint of the robotic arm through the control strategy. The control strategy gradually increases the control signal quantity within the executable domain of each joint. When the joint angular velocity changes from zero, record this control signal quantity as the lower limit of the dead zone. The upper limit of the speed is the PWM value corresponding to the set maximum joint angular velocity, that is, the control signal quantity, which is the upper limit of the dead zone of the control signal quantity. Through the above automatic dead zone calibration strategy, the control dead zone range values of each joint of the robotic arm can be obtained, which is convenient for the subsequent calibration of the motion characteristics.

[0060] An alternative implementation manner, a possible implementation manner of the above step S30 "determine the control dead zone range of each joint according to the first motion state information of each joint under different control signal quantities" includes steps S301 - S302:

[0061] S301. From the first motion state information of the joint under different control signal quantities, determine the first control signal quantity when the joint angular velocity changes from zero to non - zero, and determine the control signal quantity corresponding to the maximum angular velocity that the joint can execute under the safety limit as the second control signal quantity.

[0062] S302. Take the first control signal quantity as the lower limit value of the control dead zone range of the joint, and take the second control signal quantity as the upper limit value of the control dead zone range of the joint, and determine the control dead zone range of the joint.

[0063] The calibration process for the control dead zone range of each joint on the robotic arm can be referred to as Figure 3 shown in Figure 3 is the calibration flowchart of the control dead zone range for each joint provided in one embodiment of the present application. As shown in Figure 3 First, select a joint from each joint on the robotic arm as the joint to be calibrated. Next, gradually increase the control signal quantity by pulse width for this joint to be calibrated, and take the first control signal quantity when the joint angular velocity changes from zero to non - zero as the lower limit value of the control dead zone range of the joint. And, determine the control signal quantity corresponding to the maximum angular velocity that the joint to be calibrated can execute under the safety limit as the second control signal quantity, and take this second control signal quantity as the upper limit value of the control dead zone range of the joint. Furthermore, determine the control signal interval between the first control signal quantity and the second control signal quantity as the control dead zone range of the joint to be calibrated, that is, complete the calibration of the control dead zone range.

[0064] The automatic calibration method for the motion characteristics of the robotic arm provided by the embodiments of the present application first determines the executable domains of each joint on the robotic arm. The executable domains are used to characterize the angular range and angular velocity range that the joint can execute. These executable domains ensure that the robotic arm can operate safely and effectively during operation and provide specific constraint conditions for control and planning tasks. Within the executable domains of each joint, according to the preset control strategy, the control signal amount of each joint is increased, and the first motion state information of each joint on the robotic arm at different control signal amounts is obtained and recorded in real time. The first motion state information includes joint angle information and joint angular velocity information. By using pulse width modulation to increase the control signal amount of each joint and by installing settings to implement and record the first motion state information of each joint on the robotic arm at different control signal amounts, the automatic acquisition of the first motion state information of the robotic arm at different control signal amounts is realized, without manual acquisition, greatly improving the data acquisition efficiency. According to the first motion state information of each joint at different control signal amounts, the control dead zone range of each joint is determined. Among them, the joint has an action response at the control signal amount within the control signal amount region characterized by the control dead zone range, and the joint has no action response at the minimum control signal amount lower than the control signal amount region. The maximum control signal amount within the control dead zone range can achieve a joint angular velocity equal to the joint at...

[0065] Based on the above embodiments, the automatic calibration method for the motion characteristics of the robotic arm provided by the embodiments of the present application is further described below.

[0066] An optional implementation manner. Before step S30, the automatic calibration method for the motion characteristics of the robotic arm provided by the embodiments of the present application further includes step S40:

[0067] S40. When it is detected that the action state of the first joint exceeds the action state space of the joint, stop sending the control signal amount to each joint. Here, the first joint is any one of each joint.

[0068] In the embodiments of the present application, to prevent the strategy from exceeding the limit and causing the excavator to move to a dangerous position, an emergency stop module is set in the strategy. When any joint of the excavator exceeds its set state space, the excavator enters the emergency stop state and no longer sends the control signal amount.

[0069] An optional implementation manner. The automatic calibration method for the motion characteristics of the robotic arm provided by the embodiments of the present application further includes steps S501 - S503:

[0070] S501. Based on the control dead zone range of each joint, gradually increase the control signal amount of each joint, and obtain and record the second motion state information of each joint at different control signal amounts in real time. The second motion state information includes joint angle information and joint angular velocity information.

[0071] S502. Obtain a plurality of training sample data pairs under different control signal amounts according to the second motion state information of each joint under different control signal amounts. Among them, the training sample data pair includes the control signal amount received by each joint, the joint speed information of the joint under the control signal amount, and the joint angular speed information of the joint under the control signal amount.

[0072] S503. Train a preset neural network model according to the training sample data pairs. After the training is completed, a joint angular speed prediction model is obtained. The joint angular speed prediction model is used to predict the joint angular speed information of the joint under the control signal amount according to the input control signal amount received by each joint.

[0073] In the embodiment of the present application, based on the control dead zone range of each joint on the robotic arm obtained in the above step S40, the control amount is gradually increased within the dead zone range of each joint on the robotic arm to complete the movement within the corresponding control domain. Record the data generated in real time during the above movement process, and record data packets such as ROSBag packets for subsequent data cleaning and analysis. The collected data includes the real-time angle and angular speed information of the upper arm, forearm, bucket, and cockpit joints on the robotic arm, as well as the control signal amount currently received by the above joints. Among them, ROSBag is a file format used to store and replay messages in the ROS system, and is commonly used for offline data processing (such as data cleaning and analysis), dataset collection, and debugging.

[0074] Next, in combination with Figure 4 describe the collection of joint data, Figure 4 which is a schematic flowchart of the process of collecting joint data provided in one embodiment of the present application.

[0075] As Figure 4 shown, select a joint from each joint of the robotic arm as the joint to be calibrated, and gradually increase the control signal amount on the basis of the control dead zone range of the joint to be calibrated. Real-time collect and record the second motion state information of each joint under different control signal amounts. The second motion state information includes joint angle information and joint angular speed information. And judge whether the second motion state information exceeds the executable domain. If not, continue to collect joint data. If so, complete the collection of joint data and store the joint data.

[0076] After the data collection is completed, the automatic calibration script will automatically proceed to the data analysis stage. Automatic data screening is performed first. The main principle of automatic data screening is to eliminate the data in the time period when the joint speed changes more drastically, as it is believed that this part of the data cannot truly reflect the corresponding relationship between PWM and joint angular velocity. According to the second motion state information of each joint under different control signal amounts after preprocessing, multiple training sample data pairs under different control signal amounts are obtained. Among them, the training sample data pairs include the control signal amount received by each joint, the joint speed information of the joint under the control signal amount, and the joint angular velocity information of the joint under the control signal amount.

[0077] Subsequently, the obtained multiple training sample data pairs under different control signal quantities are used for joint motion characteristic calibration. The model adopts a preset neural network model of a neural network structure, and the network input is the above training sample data pair. The model is trained by fitting the kinematic characteristics of the control quantity-speed, until the loss function is less than or equal to the preset loss function threshold, then the model training is determined to be completed. After the training is completed, the joint angular velocity prediction model is obtained, and the joint angular velocity prediction model is saved for subsequent observation by engineers to improve the model characteristics.

[0078] Next, combine Figure 5 The training process of obtaining the joint angular velocity prediction model is further explained. Figure 5 A schematic diagram of the model training process provided for one of the embodiments of the present application.

[0079] like Figure 5 As shown, first collect the data of each joint, that is, obtain and record the second motion state information of each joint under different control signal quantities in real time, and the second motion state information includes joint angle information and joint angular velocity information. Eliminate the data segments with large angular velocity fluctuations. Afterwards, train the preset neural network model (such as a deep neural network model) according to the collected data to learn the corresponding relationship between the control signal quantity and the joint angular velocity. Until the loss function value of the learning model is less than the preset loss function threshold, the model training is completed, that is, the calibration of the joint control signal quantity-joint angular velocity motion characteristics, that is, the calibration of the joint motion characteristics.

[0080] In an optional implementation, a possible implementation of "training the preset neural network model according to the training sample data, and obtaining the joint angular velocity prediction model after the training" in the above step S503 is: repeatedly executing the following first step until the loss function value is less than the preset loss threshold, and obtaining the joint angular velocity prediction model. The first step includes steps S5031-S5032:

[0081] S5031. Input the control signal amounts received by each joint in the training sample data pair and the joint speed information of the joint under the control signal amount into a preset neural network model, and obtain the predicted joint angular velocity information of the joint under the control signal amount output by the preset neural network model.

[0082] S5032. Based on a preset loss function, calculate the loss function value according to the joint angular velocity information of the joint under the control signal amount in the training sample data pair and the predicted joint angular velocity information of the joint under the control signal amount, and update the parameters of the preset neural network model according to the loss function value.

[0083] In the embodiment of the present application, the control signal amounts received by each joint in the training sample data pair and the joint speed information of the joint under the control signal amount are input into a preset neural network model, and the predicted joint angular velocity information of the joint under the control signal amount output by the preset neural network model is obtained. Subsequently, based on a preset loss function, the loss function value is calculated according to the joint angular velocity information of the joint under the control signal amount in the training sample data pair and the predicted joint angular velocity information of the joint under the control signal amount, and the parameters of the preset neural network model are updated according to the loss function value. Until the loss function value is less than the preset loss threshold, it is determined that the model training is completed, and a joint angular velocity prediction model is obtained.

[0084] An optional implementation manner. After obtaining the joint angular velocity prediction model based on step S503, the automatic calibration method for the motion characteristics of the robotic arm provided by the embodiment of the present application further includes steps S601 - S602:

[0085] S601. Obtain the control signal amounts to be received by each joint.

[0086] S602. Input the control signal amounts to be received by each joint into the joint angular velocity prediction model, and obtain the joint angular velocity information of each joint predicted by the joint angular velocity prediction model.

[0087] After obtaining the joint angular velocity prediction model based on the above steps, deploy the joint angular velocity prediction model. Then, subsequent specific control commands can be issued through this model to enable each joint on the robotic arm to complete corresponding control tasks at a specific speed. At the same time, this model also provides a relatively reasonable speed feedforward information for the subsequent control system design, which is used for the deployment and rapid debugging of the overall control system. The model results can be referred to Figure 6 , Figure 6 is a schematic diagram of the prediction results of the joint angular velocity prediction model provided by one embodiment of the present application, that is, the joint angle information and joint angular velocity information under different control signal amounts.

[0088] In an optional implementation manner, before step S503 "obtaining a plurality of training sample data pairs under different control signal amounts according to the second motion state information of each joint under different control signal amounts", the automatic calibration method of the robot arm motion characteristics provided in the embodiment of the present application further includes step A1:

[0089] A1. Perform data preprocessing on the second motion state information of each joint under different control signal quantities.

[0090] In the embodiment of the present application, the main principle for data screening through data preprocessing is to eliminate the data in the time period when the joint velocity changes more drastically, because this part of the data cannot truly reflect the corresponding relationship between PWM and joint angular velocity.

[0091] An optional implementation manner, a possible implementation manner of step A1 "preprocessing the second motion state information of each joint under different control signal amounts" includes steps A11-A15:

[0092] A11. For each joint, determine the joint acceleration information of the joint at the Nth control signal amount according to the joint speed information of the joint when receiving the Nth control signal amount and the joint speed information of the joint at the N-1th control signal amount, where N is greater than or equal to 2.

[0093] A12. Determine the mode of joint accelerations based on multiple joint acceleration information.

[0094] A13. Determine a plurality of consecutive target control signal quantities whose difference between the joint acceleration information and the joint acceleration mode is less than a preset difference threshold.

[0095] A14. Determine the joint velocity variance of the joint according to the joint velocity information of the joint under multiple target control signal quantities.

[0096] A15. Delete the second motion state information containing the joint velocity information that is greater than a preset multiple of the joint velocity variance.

[0097] In the embodiment of the present application, the severity of the speed change can be reflected according to the slope of the joint angular velocity (i.e., joint acceleration). The relatively stable speed interval is screened according to the statistical characteristics of the overall joint acceleration. The overall principle is to find a relatively stable interval according to the mode of the joint acceleration, calculate the mean and variance within this interval, and the data with a variance exceeding a preset multiple (such as twice) is considered to be fluctuating data and is eliminated. The final available data can be found in Figure 7 , Figure 7 This is a schematic diagram of preprocessed data provided in one embodiment of the present application. Figure 7As shown, the three figures are successively the numerical change segments of the joint angle, joint angular velocity, and joint acceleration under the condition that the control signal amount is -640.0, and the reserved data segment after preprocessing is as shown in the figure.

[0098] Next, an automatic calibration device for the motion characteristics of a robotic arm provided in this application will be described. The automatic calibration device for the motion characteristics of a robotic arm described below can be correspondingly referred to the automatic calibration method for the motion characteristics of a robotic arm described above.

[0099] Figure 8 It is a schematic structural diagram of an automatic calibration device for the motion characteristics of a robotic arm provided in one embodiment of this application. As Figure 8 shown, the automatic calibration device 800 for the motion characteristics of a robotic arm includes: a determination module 801, a control module 802, and a processing module 803.

[0100] The determination module is configured to determine the executable domain of each joint on the robotic arm, and the executable domain is used to characterize the angle range and angular velocity range that the joint can execute;

[0101] The control module is configured to, within the executable domain of each joint, according to a preset control strategy, perform signal amount increase control on each joint, and acquire and record in real time the first motion state information of each joint of the robotic arm under different control signal amounts, where the first motion state information includes joint angle information and joint angular velocity information;

[0102] The processing module is configured to determine the control dead zone range of each joint according to the first motion state information of each joint under different control signal amounts; wherein, the joint has an action response under the control signal amount within the control signal amount region characterized by the control dead zone range, the joint has no action response under the minimum control signal amount lower than the control signal amount region, and the maximum angular velocity that can be achieved by the maximum control signal amount within the control dead zone range is equal to the maximum angular velocity that the joint can execute under safety limits.

[0103] An optional implementation manner, the determination module is specifically configured to:

[0104] Acquire the action state space preset by the factory for multiple joints of the robotic arm; wherein, the action state space refers to the set of action states that the joint can execute, and the action states include joint angle and joint angular velocity;

[0105] Determine the executable domain of each joint according to the action state space of each joint.

[0106] An optional implementation manner, the processing module is specifically configured to:

[0107] Determine, from the first motion state information of the joint under different control signal amounts, the first control signal amount when the joint angular velocity changes from zero to non-zero, and determine the control signal amount corresponding to the maximum angular velocity that the joint can execute under safety limits as the second control signal amount;

[0108] Use the first control signal amount as the lower limit value of the control dead zone range of the joint, and use the second control signal amount as the upper limit value of the control dead zone range of the joint to determine the control dead zone range of the joint.

[0109] An optional implementation manner, the control module is specifically configured to:

[0110] When it is detected that the motion state of the first joint exceeds the motion state space of the joint, stop sending control signal amounts to the respective joints; where the first joint is any one of the respective joints.

[0111] An optional implementation manner, the device further includes a training module, and the training module is specifically configured to:

[0112] Based on the control dead zone ranges of the respective joints, gradually increase the control signal amounts of the respective joints, and obtain and record in real time the second motion state information of the respective joints under different control signal amounts, where the second motion state information includes joint angle information and joint angular velocity information;

[0113] According to the second motion state information of the respective joints under different control signal amounts, obtain a plurality of training sample data pairs under different control signal amounts; where the training sample data pair includes the control signal amount received by each joint, the joint velocity information of the joint under the control signal amount, and the joint angular velocity information of the joint under the control signal amount;

[0114] Train a preset neural network model according to the training sample data pairs, and after the training is completed, obtain a joint angular velocity prediction model, where the joint angular velocity prediction model is used to predict the joint angular velocity information of the joint under the control signal amount input for each joint received.

[0115] An optional implementation manner, the training module is specifically configured to:

[0116] Repeat the first step until the loss function value is less than a preset loss threshold to obtain a joint angular velocity prediction model, and the first step includes:

[0117] Input the control signal amounts received by each joint in the training sample data pair and the joint speed information of the joint under the control signal amount into the preset neural network model to obtain the predicted joint angular velocity information of the joint under the control signal amount output by the preset neural network model;

[0118] Based on a preset loss function, calculate the loss function value according to the joint angular velocity information of the joint under the control signal amount in the training sample data pair and the predicted joint angular velocity information of the joint under the control signal amount, and update the parameters of the preset neural network model according to the loss function value.

[0119] An optional implementation manner, the training module is specifically configured to:

[0120] Obtain the control signal amounts to be received by each joint;

[0121] Input the control signal amounts to be received by each joint into the joint angular velocity prediction model to obtain the joint angular velocity information of each joint predicted by the joint angular velocity prediction model.

[0122] An optional implementation manner, the training module is further configured to:

[0123] Perform data preprocessing on the second motion state information of each joint under different control signal amounts.

[0124] An optional implementation manner, the training module is specifically configured to:

[0125] For each joint, determine the joint acceleration information of the joint at the Nth control signal amount according to the joint speed information of the joint when receiving the Nth control signal amount and the joint speed information of the joint when receiving the (N - 1)th control signal amount, where N is greater than or equal to 2;

[0126] Determine the joint acceleration mode according to multiple pieces of the joint acceleration information;

[0127] Determine a continuous plurality of target control signal amounts whose difference between the joint acceleration information and the joint acceleration mode is less than a preset difference threshold;

[0128] Determine the joint speed variance of the joint according to the joint speed information of the joint under the plurality of target control signal amounts;

[0129] Delete the second motion state information where the joint speed information is greater than a preset multiple of the joint speed variance.

[0130] The automatic calibration device for the motion characteristics of the robotic arm provided in this embodiment can be used to implement the technical solutions of the above embodiments of the automatic calibration method for the motion characteristics of the robotic arm. The implementation principle and technical effects are similar, and will not be elaborated here in this embodiment.

[0131] Figure 9 It is a schematic diagram of the hardware structure of an electronic device provided in one embodiment of the present application. As Figure 9 shown, the electronic device 900 in this embodiment includes: a processor 901 and a memory 902; among them

[0132] The memory 902 is used to store computer execution instructions;

[0133] The processor 901 is used to execute the computer execution instructions stored in the memory to implement each step executed by the automatic calibration method for the motion characteristics of the robotic arm in the above embodiments. For specific details, please refer to the relevant descriptions in the foregoing method embodiments.

[0134] Optionally, the memory 902 can be either independent or integrated with the processor 901.

[0135] When the memory 902 is independently set, the electronic device further includes a bus 903 for connecting the memory 902 and the processor 901.

[0136] One embodiment of the present application further provides a computer-readable storage medium, in which computer execution instructions are stored. When the processor executes the computer execution instructions, the technical solutions corresponding to the automatic calibration method for the motion characteristics of the robotic arm in any of the above embodiments executed by the above electronic device are implemented.

[0137] One embodiment of the present application further provides a computer program product. The program product includes: a computer program. The computer program is stored in a readable storage medium. At least one processor of the electronic device can read the computer program from the readable storage medium, and at least one processor executes the computer program to enable the electronic device to execute the technical solutions corresponding to the automatic calibration method for the motion characteristics of the robotic arm in any of the above embodiments.

[0138] Although the present application is disclosed above with preferred embodiments, it is not used to limit the present application. Any person skilled in the art can make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the protection scope of the present application should be defined by the scope defined in the claims of the present application.

[0139] In several embodiments provided by the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be other division methods. For example, multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be indirect couplings or communication connections through some interfaces, devices or modules, and can be in electrical, mechanical or other forms.

[0140] The integrated modules implemented in the form of software function modules as described above can be stored in a computer-readable storage medium. The above software function modules are stored in a storage medium and include several instructions for causing an electronic device (which can be a personal computer, a server, or a network device, etc.) or a processor (English: processor) to execute some steps of the methods described in various embodiments of the present application.

[0141] It should be understood that the above processor can be a central processing module (English: Central Processing Unit, abbreviated as: CPU), and can also be other general-purpose processors, digital signal processors (English: Digital Signal Processor, abbreviated as: DSP), application specific integrated circuits (English: Application Specific Integrated Circuit, abbreviated as: ASIC), etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in combination with the invention can be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.

[0142] The memory may include high-speed RAM memory, and may also include non-volatile storage NVM, such as at least one disk memory, and can also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk or an optical disc, etc.

[0143] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0144] The above storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk, or an optical disk. The storage medium can be any available medium accessible by a general-purpose or special-purpose computer.

[0145] Those of ordinary skill in the art can understand that all or part of the steps for implementing the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps including the above method embodiments; and the foregoing storage medium includes various media that can store program codes, such as ROM, RAM, a magnetic disk, or an optical disk.

[0146] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some or all of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for automatically calibrating the motion characteristics of a robotic arm, characterized in that: The method comprises: Determine an executable domain of each joint on the robotic arm, wherein the executable domain is used to characterize an executable angle range and an angular velocity range of the joint; Within the executable domain of each joint, according to a preset control strategy, a signal quantity increase control is performed on each joint, and first motion state information of each joint of the robotic arm under different control signal quantities is acquired and recorded in real time, wherein the first motion state information includes joint angle information and joint angular velocity information; The control dead zone range of each joint is determined according to the first motion state information of each joint under different control signal amounts; wherein the joint has an action response under the control signal amount within the control signal amount area represented by the control dead zone range, the joint has no action response under the minimum control signal amount lower than the control signal amount area, and the joint angular velocity achievable by the maximum control signal amount within the control dead zone range is equal to the maximum angular velocity that the joint can execute under safety limits.

2. The method according to claim 1, characterized in that Determining the executable domain of each joint on the robotic arm includes: Obtain factory preset motion state spaces of multiple joints of the robotic arm; wherein the motion state space refers to a set of motion states executable by the joints, and the motion states include joint angles and joint angular velocities; According to the action state space of each joint, the executable domain of each joint is determined.

3. The method according to claim 1, characterized in that Determining the control dead zone range of each joint according to the first motion state information of each joint under different control signal amounts includes: Determine, from the first motion state information of the joint under different control signal amounts, a first control signal amount when the joint angular velocity changes from zero to non-zero, and determine the control signal amount corresponding to the maximum angular velocity that the joint can execute under safety restrictions as the second control signal amount; The control dead zone range of the joint is determined by taking the first control signal amount as the lower limit value of the control dead zone range of the joint and taking the second control signal amount as the upper limit value of the control dead zone range of the joint.

4. The method according to claim 1, characterized in that: The method further comprises: When it is detected that the action state of the first joint exceeds the action state space of the joint, the control signal quantity is stopped from being sent to each of the joints; wherein the first joint is any one of the joints.

5. The method according to claim 1, characterized in that The method further comprises: On the basis of the control dead zone range of each joint, gradually increase the control signal amount of each joint, and acquire and record the second motion state information of each joint under different control signal amounts in real time, wherein the second motion state information includes joint angle information and joint angular velocity information; According to the second motion state information of each joint under different control signal amounts, a plurality of training sample data pairs under different control signal amounts are obtained; wherein the training sample data pairs include the control signal amount received by each joint, the joint velocity information of the joint under the control signal amount, and the joint angular velocity information of the joint under the control signal amount; The preset neural network model is trained according to the training sample data, and a joint angular velocity prediction model is obtained after the training. The joint angular velocity prediction model is used to predict the joint angular velocity information of the joint under the control signal amount according to the control signal amount received by each input joint.

6. The method according to claim 5, characterized in that The preset neural network model is trained according to the training sample data, and a joint angular velocity prediction model is obtained after the training, including: Repeat the first step until the loss function value is less than the preset loss threshold, and obtain the joint angular velocity prediction model. The first step includes: Input the control signal amount received by each joint in the training sample data pair and the joint velocity information of the joint under the control signal amount into the preset neural network model, and obtain the joint angular velocity information of the joint under the control signal amount predicted by the preset neural network model output; Based on a preset loss function, the loss function value is calculated according to the joint angular velocity information of the joint under the control signal quantity in the training sample data pair and the predicted joint angular velocity information of the joint under the control signal quantity, and the parameters of the preset neural network model are updated according to the loss function value.

7. The method according to claim 5, characterized in that The method further comprises: Get the amount of control signals to be received by each joint; The control signal quantity to be received by each joint is input into the joint angular velocity prediction model to obtain the joint angular velocity information of each joint predicted by the joint angular velocity prediction model.

8. The method according to claim 5, characterized in that Before obtaining a plurality of training sample data pairs under different control signal amounts according to the second motion state information of each joint under different control signal amounts, the method further includes: Data preprocessing is performed on the second motion state information of each joint under different control signal amounts.

9. The method according to claim 8, characterized in that The data preprocessing of the second motion state information of each joint under different control signal amounts includes: For each joint, determine the joint acceleration information of the joint at the Nth control signal amount according to the joint speed information of the joint when receiving the Nth control signal amount and the joint speed information of the joint when receiving the N-1th control signal amount, where N is greater than or equal to 2; Determining a joint acceleration mode according to the plurality of joint acceleration information; Determine a plurality of consecutive target control signal quantities for which the difference between the joint acceleration information and the joint acceleration mode is less than a preset difference threshold; determining a joint velocity variance of the joint according to the joint velocity information of the joint under the plurality of target control signal quantities; The second motion state information containing the joint velocity information that is greater than a preset multiple of the joint velocity variance is deleted.

10. An automatic calibration device for the motion characteristics of a robot arm, characterized in that: The device comprises: A determination module, used to determine the executable domain of each joint on the robotic arm, wherein the executable domain is used to characterize the executable angle range and angular velocity range of the joint; A control module, configured to perform signal increase control on each joint according to a preset control strategy within the executable domain of each joint, and to obtain and record in real time first motion state information of each joint of the robotic arm under different control signal amounts, wherein the first motion state information includes joint angle information and joint angular velocity information; A processing module is used to determine the control dead zone range of each joint according to the first motion state information of each joint under different control signal amounts; wherein the joint has an action response under the control signal amount within the control signal amount area represented by the control dead zone range, and the joint has no action response under the minimum control signal amount lower than the control signal amount area, and the joint angular velocity achievable by the maximum control signal amount within the control dead zone range is equal to the maximum angular velocity that the joint can execute under safety restrictions.

11. An electronic device, characterized in that: The electronic device comprises: Processor; and The memory is used to store a data processing program. After the electronic device is powered on and the program is run by the processor, the automatic calibration method of the motion characteristics of the robot arm as described in any one of claims 1 to 9 is executed.

12. A computer-readable storage medium, characterized in that: A data processing program is stored, and the program is run by a processor to execute the automatic calibration method of the motion characteristics of the robot arm as described in any one of claims 1-9.