Management system, method and computer readable medium for robot body parameters

By arranging a storage device on each axis of the robot and using remote communication between the auxiliary controller and the main controller, the management of the robot body parameters is realized, which solves the problem of repeated measurement and calibration of parameters in the existing technology and improves maintenance efficiency. .

CN114986506BActive Publication Date: 2025-01-21AGILEBOT ROBOTICS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210642215.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-08
Publication Date
2025-01-21
Estimated Expiration
2042-06-08

AI Technical Summary

Technical Problem

In the prior art, robot body parameters need to be frequently repeated measurement and calibration, resulting in inefficient maintenance.

Method used

Design a robot body parameter management system that realizes reading and writing management of robot body parameters by setting up a storage device on each axis and using remote communication between the auxiliary controller and the main controller.

Benefits of technology

By decoupling the main controller from the storage device, the need for repeated measurements and calibrations is reduced, maintenance efficiency is improved, and additional overhead of the main controller is saved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114986506B_ABST
    Figure CN114986506B_ABST
Patent Text Reader

Abstract

The present application relates to a management system, method and readable medium for robot body parameters. The robot has multiple axes. The system includes: multiple storage devices, each storage device is located on each axis of the robot, and is used to store robot body parameters; an auxiliary controller is used to manage the robot body parameters in the storage device according to a first data frame and send a second data frame; and a main controller is independent of the multiple storage devices and is used to send the first data frame to the auxiliary controller and receive the second data frame. By decoupling the main controller from the multiple storage devices, after replacing the main control board or electronic components, the corresponding robot body parameters can also be easily obtained in the storage device, which solves the problem of repeated measurement and calibration of robot body parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application mainly relates to the field of communications, and specifically to a method, system and computer-readable medium for managing robot body parameters. Background Art

[0002] With the rapid development of robot control technology, robots have penetrated into all walks of life. The robot body has many fixed parameters related to the robot's mechanical structure, which are called robot body parameters. The robot body parameters vary depending on the individual model of the robot. In the existing technical solutions, the robot body parameters are stored in the robot's main controller or recorded directly outside the robot. If the robot's main controller is damaged or the external data is lost, these parameters need to be remeasured and calibrated when debugging the robot. This will cause robot maintenance engineers and debugging engineers to add some additional repetitive work when debugging the robot, reducing maintenance efficiency.

[0003] Therefore, there is an urgent need for a simple and easy-to-maintain robot body parameter management method, system and computer-readable medium. Summary of the invention

[0004] The technical problem to be solved by the present application is to provide a management system, method and computer-readable medium for robot body parameters to solve the problem of repeated measurement and calibration of robot body parameters.

[0005] In order to solve the above technical problems, the present application provides a management system for robot body parameters, wherein the robot has multiple axes, including: multiple storage devices, each of which is located on each axis of the robot, for storing the robot body parameters; an auxiliary controller, for managing the robot body parameters in the storage device according to a first data frame and sending a second data frame; and a main controller, independent of the multiple storage devices, for sending a first data frame to the auxiliary controller and receiving the second data frame.

[0006] In one embodiment of the present application, the robot body parameters include but are not limited to DH parameters, zero point, reduction ratio and coupling ratio.

[0007] In one embodiment of the present application, the first data frame includes a first frame header, a flag bit, a first axis ID, a first parameter flag, a first data bit and a first check bit.

[0008] In one embodiment of the present application, the auxiliary controller manages the robot body parameters in the storage device in a manner including reading and writing.

[0009] In one embodiment of the present application, the auxiliary controller manages the robot body parameters in the storage device according to the first data frame, including: checking according to the first check bit; if the check is correct, determining whether the flag bit is a predefined value, and if so, determining the management method according to the value of the flag bit; determining whether the first axis ID is equal to the current auxiliary controller ID, and if so, managing the robot body parameters in the storage device according to the first parameter flag, the first data bit and the management method.

[0010] In one embodiment of the present application, the management method is determined according to the value of the flag bit, including: when the value of the flag bit is a read flag, the main controller reads the robot body parameters in the storage device; when the value of the flag bit is a write flag, the main controller writes the robot body parameters into the storage device.

[0011] In one embodiment of the present application, the second data frame includes a second frame header, a feedback flag, a second axis ID, a second parameter flag, a second data bit and a second check bit.

[0012] In one embodiment of the present application, the main controller is further used to parse the second data frame and feed back the parsed management result to the user.

[0013] In one embodiment of the present application, the main controller parses the second data frame including: determining whether the second data frame is received within a first threshold time, and if so, performing a check based on the second check bit; if the check is correct, determining whether the second axis ID is equal to the first axis ID, and if so, determining whether the second parameter flag is equal to the first parameter flag; if the second parameter flag is equal to the first parameter flag, the management result is successful management.

[0014] In an embodiment of the present application, the storage device is a power-off storage device.

[0015] In one embodiment of the present application, the storage device is a shaft encoder, and the auxiliary controller is a shaft encoder controller or a shaft controller.

[0016] In order to solve the above-mentioned technical problems, the present application also provides a method for managing robot body parameters, wherein the robot includes a main controller, an auxiliary controller and multiple storage devices located on multiple axes, and the multiple storage devices are separated from the main controller, including: establishing remote communication between the main controller and the auxiliary controller; sending a first data frame from the main controller to the auxiliary controller; the auxiliary controller managing the robot body parameters in the storage device according to the first data frame, and sending a second data frame to the main controller; and the main controller receiving the second data frame.

[0017] In one embodiment of the present application, the robot body parameters include but are not limited to DH parameters, zero point, reduction ratio and coupling ratio.

[0018] In an embodiment of the present application, the method further includes the main controller parsing the second data frame and feeding back the parsed management result to the user.

[0019] In order to solve the above technical problems, the present application also provides a computer-readable medium storing computer program codes, and the computer program codes implement the above method when executed by the auxiliary controller and the main controller.

[0020] Compared with the prior art, the technical solution of this application has the following beneficial effects:

[0021] The robot body parameter management system of the present application decouples the main controller from multiple storage devices. After replacing the main control board or electronic components, the corresponding robot body parameters can be easily found in the storage device, solving the problem of repeated measurement and calibration of the robot body parameters. Only when the robot body parameters need to be managed, the main controller communicates with the auxiliary controller to manage the robot body parameters in the storage devices of each axis, saving the additional overhead of the main controller. The frame format between the main controller and the auxiliary controller can be customized, and the system has strong versatility and wide application. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are described in detail below with reference to the accompanying drawings, wherein:

[0023] Figure 1 It is a structural schematic diagram of a management system for robot body parameters according to an embodiment of the present application;

[0024] Figure 2 It is a schematic diagram of a process of an auxiliary controller reading robot body parameters according to an embodiment of the present application;

[0025] Figure 3 It corresponds to Figure 2 Schematic diagram of the control flow of the main controller;

[0026] Figure 4 is a schematic diagram of the structure of a first data frame according to an embodiment of the present application;

[0027] Figure 5 is a schematic diagram of the structure of a second data frame according to an embodiment of the present application;

[0028] Figure 6 It is a schematic diagram of a process of an auxiliary controller writing robot body parameters according to an embodiment of the present application;

[0029] Figure 7 It corresponds to Figure 6 A schematic diagram of the control flow of the main controller;

[0030] Figure 8 is a schematic diagram of the structure of a first data frame according to another embodiment of the present application;

[0031] Fig. 9 is a schematic diagram of the structure of a second data frame according to another embodiment of the present application;

[0032] Fig.10 It is a flowchart of a method for managing robot body parameters according to an embodiment of the present application. DETAILED DESCRIPTION

[0033] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are described in detail below with reference to the accompanying drawings.

[0034] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein, and therefore the present application is not limited to the specific embodiments disclosed below.

[0035] Flowcharts are used in the present application to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, various steps may be processed in reverse order or simultaneously. At the same time, other operations may be added to these processes, or one or more operations may be removed from these processes.

[0036] As mentioned in the background technology, in the existing technical solutions, the robot body parameters are stored in the robot's main controller, or directly recorded outside the robot. If the robot main controller is damaged or the external data is lost, it is necessary to remeasure and calibrate these parameters when debugging the robot. The present application provides a management system for robot body parameters, which decouples the main controller from multiple storage devices. Except for the need to remeasure and calibrate the robot body parameters when replacing the robot body mechanical parts or storage devices, in other cases, only the main controller needs to manage the parameters in the storage device, and these calibrated parameters can be directly called, which can reduce the workload of robot maintenance engineers and debugging engineers to a certain extent.

[0037] Figure 1 Schematic diagram of the structure of a management system for robot body parameters according to an embodiment of the present application. Figure 1As shown, the robot body of the embodiment of the present application includes 6 axes, namely axis 1 to axis 6. The number of axes of the robot body can be set as needed, and the present application does not limit the number of axes. The robot body parameters are related to the characteristics of each axis, and there are differences with different models of the robot body. The management system 100 of the robot body parameters of the embodiment of the present application includes a main controller 10, an auxiliary controller (not shown) and multiple storage devices. The multiple storage devices include storage devices 31, storage devices 32, storage devices 33, storage devices 34, storage devices 35 and storage devices 36. The multiple storage devices are non-volatile storage devices. The number of multiple storage devices can be set as needed, and the present application does not limit this. The present application can use a distributed architecture to construct a management system 100 for robot body parameters, in which each storage device of the multiple storage devices is located on each axis of the robot. Exemplarily, the storage device 31 is located on axis 1, the storage device 32 is located on axis 2, the storage device 33 is located on axis 3, the storage device 34 is located on axis 4, the storage device 35 is located on axis 5, and the storage device 36 is located on axis 6. Each storage device is used to store the robot body parameters related to the axis where it is located. The main controller 10 is separated from the multiple storage devices, and the main controller 10 can communicate with the multiple storage devices through remote communication technology to manage the robot body parameters in the multiple storage devices. In this embodiment, the main controller 10 indirectly communicates with the multiple storage devices through the auxiliary controller, and then manages the robot body parameters in the multiple storage devices. The auxiliary controller can be a whole, located on the robot body. The auxiliary controller can also be a plurality of dispersed and independent sub-controllers, each independent sub-controller has a unique ID. Each sub-controller is located on each axis of the robot, and each sub-controller manages the robot body parameters of the storage device on the axis. In order to facilitate understanding of the working principle of the management system 100 of the robot body parameters, the following describes the process of the main controller 10 managing the robot body parameters in multiple storage devices. First, a program is written in the auxiliary controller so that the auxiliary controller can communicate with the main controller according to a certain communication mechanism. When the main controller 10 needs to manage the robot body parameters in multiple storage devices, the main controller 10 sends a first data frame to the auxiliary controller, and the auxiliary controller parses the first data frame and manages the robot body parameters in multiple storage devices according to the first data frame.

[0038] In some embodiments, the robot body parameters include but are not limited to DH parameters (Denavit-Hartenberg parameters), zero point, reduction ratio and other parameters. DH parameters are a mathematical model of a robot arm and a coordinate system determination system that uses four parameters to express the position angle relationship between two pairs of joint links. The characteristics of these parameters are that they are closely related to the individual robot axes, and some methods are required to specifically measure these parameters. Storing these parameters in multiple encoders has the following advantages: these parameters can be read and written in the corresponding axis through the main controller, which is convenient and intuitive; after replacing the main control board or electronic components, the corresponding parameters can also be easily found in the storage device, reducing the workload of the debugging engineer.

[0039] In some embodiments, the storage device is a shaft encoder, and the auxiliary controller is a shaft encoder controller or a shaft controller. Since each motion joint on the robot body must have a corresponding encoder, and a shaft encoder controller or a shaft controller corresponding to the encoder is managed, it is convenient to build a hardware environment. There is generally a microcontroller in the encoder controller and the shaft controller, which can be used to write programs. The encoder has its own non-volatile storage device, which can be used to store robot body parameters. Write a program in the shaft encoder controller or the shaft controller so that the main controller can communicate with each shaft controller or encoder controller according to a certain communication mechanism. Each shaft encoder controller or shaft controller is located on each axis of the robot body, and each shaft encoder controller or shaft controller has a unique ID. When the main controller needs to manage the robot body parameters in multiple storage devices, the main controller searches for the shaft encoder controller or shaft controller with the corresponding ID according to the parameter command. After the search is completed, the first data frame is sent to the shaft encoder controller or shaft controller. The shaft encoder controller or shaft controller parses the first data frame and manages the robot body parameters in the storage device on the axis where the shaft encoder controller or shaft controller is located according to the first data frame.

[0040] In some embodiments, the way in which the auxiliary controller manages the robot body parameters in the storage device includes reading and writing. The way in which the auxiliary controller manages the robot body parameters in the storage device can be determined by the first data frame. The format of the first data frame can be customized, and this application does not limit this. In some embodiments, the first data frame includes a first frame header, a flag bit, a first axis ID, a first parameter flag, a first data bit, and a first check bit. The management method of the robot body parameters can be determined by the flag bit of the first data frame. When the value of the flag bit is a read flag, the auxiliary controller reads the robot body parameters in the storage device; when the value of the flag bit is a write flag, the auxiliary controller writes the robot body parameters to the storage device.

[0041] Figure 2 It is a schematic diagram of a flow chart of an auxiliary controller reading robot body parameters according to an embodiment of the present application. Figure 3 It corresponds to Figure 2 Schematic diagram of the main controller control flow. Figure 4 It is a schematic diagram of the structure of the first data frame of an embodiment of the present application. Figure 5 This is a schematic diagram of the structure of the second data frame of an embodiment of the present application. Figure 2-Figure 5 The detailed process of the auxiliary controller reading the robot body parameters in the storage device according to the first data frame is described. First, the main controller monitors, and when the user needs to read the robot body parameters in a storage device, the user inputs the corresponding parameter reading command to the main controller. Figure 3 As shown, the control process 300 of the main controller includes:

[0042] Step S31: the main controller reads and parses the parameter reading command;

[0043] Step S32: compose the data after parsing the read parameter command into a first data frame;

[0044] Step S33: sending the first data frame to the target auxiliary controller;

[0045] Step S34: receiving the second data frame fed back by the auxiliary controller.

[0046] In step S32, the structure of the first data frame may be as follows: Figure 4 As shown, the first data frame 40 includes a frame header 41, a flag 42, a first axis ID 43, a first parameter flag 44, a data bit 45 and a check bit 46. The meaning of the value of the flag 42 can be predefined, for example, 0x01 is a read flag, and 0x02 is a write flag. The value of the first axis ID 43 represents the ID of the auxiliary controller of the axis where the storage device to be read is located. The first parameter flag 44 represents the label n of the parameter to be read, and each robot body parameter has a unique label, for example, n=1 represents a DH parameter; n=2 represents a body parameter, etc. The parameter represented by the parameter label can be set as required, and this application does not limit this. The data bit 45 represents the specific value of the robot body parameter. During the reading process, the value of the data bit 45 can be empty. The check bit 46 is used to check the first data frame 40, and is used to ensure the integrity of the first data frame 40 during the transmission process. The verification method includes a cyclic redundancy check (CRC) or a parity check, etc., and this application does not limit the verification method.

[0047] After the first data frame is sent to the auxiliary controller on the target axis in step S33, Figure 2 As shown, the process 200 of the auxiliary controller reading the robot body parameters includes:

[0048] Step S21: Power on the auxiliary controller;

[0049] Step S22: receiving and parsing the first data frame;

[0050] Step S23: Determine whether the verification is correct, if so, proceed to step S24, otherwise return to step S22;

[0051] Step S24: determine whether the value of the flag bit is a predefined value, if yes, go to step S25, otherwise go back to step S22;

[0052] Step S25: determine whether the first axis ID is equal to the current axis ID, if yes, go to step S26, otherwise go back to step S22;

[0053] Step S26: managing the corresponding robot body parameters according to the value n of the read parameter flag;

[0054] Step S27: Combining the managed information into a second data frame;

[0055] Step S28: Send the second data frame to the main controller;

[0056] Step S29: End.

[0057] Steps S23-S27 are described in detail below:

[0058] In step S23, the auxiliary controller performs a check according to the check bit 46. If the check is wrong, it means that there is an error in the first data frame. The auxiliary controller can request the main controller to resend the first data frame. After the main controller resends the first data frame, the auxiliary controller returns to step S22 to re-receive and parse the first data frame. If the check is correct, it goes to step S24.

[0059] In step S24, the auxiliary controller determines whether the value of the flag bit belongs to a predefined value. If the value of the flag bit is not a predefined value, the management method of the robot body parameters cannot be determined, and the auxiliary controller can request the main controller to resend the first data frame. After the main controller resends the first data frame, the auxiliary controller returns to step S22 to re-receive and parse the first data frame. If the value of the flag bit is a predefined value, the management method of the robot body parameters is determined according to the value of the flag bit. In this embodiment, the value of the flag bit 42 is 0x01, indicating a read flag, indicating that the auxiliary controller reads the robot body parameters in the storage device. At the same time, proceed to step S25.

[0060] In step S25, the auxiliary controller determines whether the first axis ID 43 in the first data frame is equal to the current axis ID. The current axis ID is the ID of the current auxiliary controller that receives the first data frame. If they are not equal, it means that the current auxiliary controller does not receive the first data frame related to itself, and the auxiliary controller can request the main controller to resend the first data frame. After the main controller resends the first data frame, the auxiliary controller returns to step S22 to re-receive and parse the first data frame. If they are equal, go to step S26.

[0061] In step S26, the auxiliary controller manages the corresponding robot body parameters according to the value n of the parameter flag and the management method determined by the flag bit. For example, if the value of the flag bit 42 is 0x01, indicating a read flag, and the value n of the first parameter flag 44 is 1, then the DH parameter is read; if the value n of the first parameter flag 44 is 2, then the body parameter is read. The case where the value n of the first parameter flag 44 is other values ​​is not described in detail. After the auxiliary controller manages all the values ​​of the first parameter flag 44, the process proceeds to step S27.

[0062] In step S27, the managed information is combined into a second data frame. Figure 5 As shown, the second data frame 50 includes a frame header 51, a feedback flag 52, a second axis ID 53, a second parameter flag 54, a data bit 55 and a check bit 56. The feedback flag 52 indicates the management mode of the second data frame 50, and the predefined meaning of the value of the feedback flag 52 can be the same as the flag 42. For example, 0x01 is a read flag, and 0x02 is a write flag. The second axis ID 53 indicates the ID of the auxiliary controller that sends the second data frame. The second parameter flag 54 indicates the label n of the managed parameter. The second parameter flag 54 can include multiple parameter labels. The data bit 55 indicates the specific value of the robot body parameter corresponding to the parameter label read. The check bit 56 is used to check the second data frame 50, and is used to ensure the integrity of the second data frame 50 during the transmission process. The verification method includes a cyclic redundancy check (CRC) or a parity check, etc. The verification method can be the same as the first data frame verification method, or it can be different, and this application does not limit this.

[0063] In some embodiments, the main controller is further used to parse the second data frame and feed back the parsed management result to the user. Figure 3 As shown, the control process 300 at the main controller end also includes:

[0064] Step S35: Determine whether the second data frame is received within the first threshold time. If so, go to step S36. Otherwise, feedback the management result as "timeout error" and go to step S32.

[0065] Step S36: Determine whether the verification is correct. If so, go to step S37. Otherwise, feedback the management result as "verification error occurred" and go to step S32.

[0066] Step S37: Determine whether the second axis ID is equal to the first axis ID. If so, go to step S38. Otherwise, feedback the management result as "non-target axis related parameters" and go to step S32.

[0067] Step S38: Determine whether the second parameter flag is equal to the first parameter flag. If so, go to step S39. Otherwise, the feedback management result is "obtain non-target parameters" and go to step S32.

[0068] Step S39: Feedback management result is "read successfully".

[0069] Step S40: End.

[0070] In step S35, the first threshold time may be a shorter time, such as 5 seconds, and the value of the first threshold time may be set as required, and this application does not impose any restrictions on this. Figure 3 As shown, if the second data frame is not received within 5 seconds, it means that there is a problem in the sending process or the management process of the auxiliary controller. In order to facilitate the user to locate the problem, the main controller feeds back the management result to the user as "timeout error". At the same time, in order to prevent the system management process from being stuck for a long time, the main controller reassembles the first data frame and sends it to the auxiliary controller to improve the management efficiency of the system.

[0071] In some embodiments, in step S39, not only is the management result "read successfully" fed back to the user, but the value of the read data bit 55 is also displayed on the human-machine interface to feed back to the user.

[0072] Figure 6 It is a schematic diagram of the process of an auxiliary controller writing robot body parameters according to an embodiment of the present application. Figure 7 It corresponds to Figure 6 Schematic diagram of the control flow of the main controller. Figure 8 It is a schematic diagram of the structure of the first data frame of another embodiment of the present application. Fig. 9 This is a schematic diagram of the structure of the second data frame of another embodiment of the present application. Figure 6-Figure 9 The detailed process of the auxiliary controller writing the robot body parameters into the storage device according to the first data frame is described. The main controller monitors, and when the user needs to write the robot body parameters into a storage device, the user inputs the corresponding write parameter command to the main controller. Figure 7 As shown, the control process 700 of the main controller includes:

[0073] Step S71: the main controller reads and parses the write parameter command;

[0074] Step S72: compose the data after parsing the write parameter command into a first data frame;

[0075] Step S73: sending the first data frame to the target auxiliary controller;

[0076] Step S74: receiving the second data frame fed back by the auxiliary controller.

[0077] In step S72, the structure of the first data frame may be as follows: Figure 8 As shown, the first data frame 80 includes a frame header 81, a flag bit 82, a first axis ID 83, a first parameter flag 84, a data bit 85 and a check bit 86. The value of the flag bit 82 is 0x02, indicating a write flag. The value of the first axis ID 83 indicates the target auxiliary controller ID, that is, the auxiliary controller of the axis where the storage device to be written is located. The first parameter flag 84 indicates the label n of the parameter to be written, and each robot body parameter has a unique label, for example, n=1, indicating a DH parameter; n=2, indicating a body parameter, etc. The parameter indicated by the parameter label can be set as required, and this application does not limit this. The data bit 85 indicates the specific value of the robot body parameter to be written into the storage device. The check bit 86 is used to check the first data frame 80 to ensure the integrity of the first data frame 80 during the transmission process. The verification method includes a cyclic redundancy check (CRC) or a parity check, etc., and this application does not limit the verification method.

[0078] After the first data frame is sent to the auxiliary controller on the target axis in step S73, Figure 6 As shown, the process 600 of the auxiliary controller writing robot body parameters includes:

[0079] Step S61: Power on the auxiliary controller;

[0080] Step S62: receiving and parsing the first data frame;

[0081] Step S63: Determine whether the verification is correct, if so, proceed to step S64, otherwise return to step S62;

[0082] Step S64: determine whether the value of the flag bit belongs to a predefined value, if yes, go to step S65, otherwise go back to step S62;

[0083] Step S65: determine whether the axis ID is equal to the current axis ID, if yes, go to step S66, otherwise go back to step S62;

[0084] Step S66: writing corresponding robot body parameters according to the value n of the parameter flag;

[0085] Step S67: Combining the managed information into a second data frame;

[0086] Step S68: Send the second data frame to the main controller;

[0087] Step S69: End.

[0088] The process of the auxiliary controller writing robot body parameters is similar to the process of the auxiliary controller reading robot body parameters. Figure 6 For detailed instructions on the process of auxiliary controller writing robot body parameters, please refer to Figure 2 The detailed description of the process of the auxiliary controller reading the robot body parameters will not be repeated here.

[0089] In some embodiments, the main controller is further used to parse the second data frame and feed back the parsed management result to the user. Fig. 9 As shown, the second data frame 90 includes a frame header 91, a feedback flag 92, a second axis ID 93, a second parameter flag 94, a data bit 95 and a check bit 96. The feedback flag 92 indicates the management method that the second data frame 90 has passed through, and the predefined meaning of the value of the feedback flag 92 can be the same as the flag 82. For example, 0x01 is a read flag, and 0x02 is a write flag. The second axis ID 93 indicates the ID of the auxiliary controller that sends the second data frame. The second parameter flag 94 indicates the label n of the managed parameter. Data bit 95 can be a null value. Check bit 96 is used to check the second data frame 90 to ensure the integrity of the second data frame 90 during the transmission process. The verification method includes a cyclic redundancy check (CRC) or a parity check, etc. The verification method can be the same as the verification method of the first data frame, or it can be different, and the present application does not impose any restrictions on this. As Figure 7 As shown, the control process of the main controller also includes:

[0090] Step S75: Determine whether the second data frame is received within the first threshold time. The first threshold time can be a shorter time, such as 5 seconds. The value of the first threshold time can be set as needed, and this application does not limit this. If yes, go to step S76. Otherwise, feedback the management result as "timeout error" and go to step S72.

[0091] Step S76: Determine whether the verification is correct. If so, go to step S77. Otherwise, feedback the management result as "verification error occurred" and go to step S72.

[0092] Step S77: Determine whether the second axis ID is equal to the first axis ID. If so, go to step S78. Otherwise, feedback the management result as "non-target axis related parameters" and go to step S72.

[0093] Step S78: Determine whether the second parameter flag is equal to the first parameter flag. If so, go to step S79. Otherwise, the feedback management result is "obtain non-target parameters" and go to step S72.

[0094] Step S79: Feedback management result is "write successful".

[0095] Step S80: End.

[0096] The robot body parameter management system of the present application decouples the main controller from multiple storage devices. After replacing the main control board or electronic components, the corresponding robot body parameters can be easily found in the storage device, solving the problem of repeated measurement and calibration of the robot body parameters. Only when the robot body parameters need to be managed, the main controller communicates with the auxiliary controller to manage the robot body parameters in the storage devices of each axis, saving the additional overhead of the main controller. The frame format between the main controller and the auxiliary controller can be customized, and the system has strong versatility and wide application.

[0097] Fig.10 1 is a flow chart of a method 1000 for managing robot body parameters according to an embodiment of the present application. The robot has a main controller, an auxiliary controller, and multiple storage devices located on multiple axes, and the storage devices are separated from the main controller. The method 1000 for managing robot body parameters includes the following steps:

[0098] Step S101: establishing communication between the main controller and the auxiliary controller;

[0099] Step S102: Sending a first data frame from the main controller to the auxiliary controller;

[0100] Step S103: the auxiliary controller manages the robot body parameters in the storage device according to the first data frame, and sends a second data frame from the auxiliary controller to the main controller; and

[0101] Step S104: the main controller receives the second data frame.

[0102] In some embodiments, the robot body parameter management method 1000 further includes:

[0103] Step S105: the main controller parses the second data frame and feeds back the parsed management result to the user.

[0104] In some embodiments, the robot body parameters include DH parameters, zero point, reduction ratio, coupling ratio, etc. The present application does not limit the categories of the robot body parameters.

[0105] The robot body parameter management method of the present application manages the robot body parameters in each axis storage device through communication between the main controller and the auxiliary controller, thereby solving the problem of repeated measurement and calibration of the robot body parameters; the robot body parameters can be read and written in the storage device in the corresponding axis through the main controller, which is convenient and intuitive; after replacing the main control board or electronic components, the corresponding robot body parameters can also be easily found in the storage device, reducing the workload of the debugging engineer.

[0106] The above-mentioned robot body parameter management method can be implemented as a computer program, including an auxiliary controller program and a main controller program. The auxiliary controller program completes the establishment of communication between the main controller and the auxiliary controller and the reading and writing of the robot body parameters in the storage device. The main controller program completes the analysis of the parameters input by the user, and forms a first data frame to be sent to the auxiliary controller and a second data frame to receive feedback from the auxiliary controller.

[0107] The present application also includes a computer-readable medium storing a computer program code, which, when executed by the auxiliary controller and the main controller, implements the method for managing the robot body parameters described above.

[0108] When the robot body parameter management method is implemented as a computer program, it can also be stored in a computer-readable storage medium as a product. For example, a computer-readable storage medium may include, but is not limited to, a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic strip), an optical disk (e.g., a compact disk (CD), a digital versatile disk (DVD)), a smart card, and a flash memory device (e.g., an electrically erasable programmable read-only memory (EPROM), a card, a stick, a key drive). In addition, the various storage media described herein can represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media (and / or storage media) that can store, contain and / or carry code and / or instructions and / or data.

[0109] It should be understood that the embodiments described above are only illustrative. The embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or any combination thereof. For hardware implementation, the processor may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and / or other electronic units designed to perform the functions described herein, or a combination thereof.

[0110] Some aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software may be referred to as "data blocks", "modules", "engines", "units", "components" or "systems". The processor may be one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DAPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, or combinations thereof. In addition, various aspects of the present application may be represented as computer products located in one or more computer-readable media, which include computer-readable program codes. For example, computer-readable media may include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, tapes ...), optical disks (e.g., compact disks CDs, digital versatile disks DVDs ...), smart cards, and flash memory devices (e.g., cards, sticks, key drives ...).

[0111] A computer-readable medium may include a propagated data signal containing computer program code, such as in baseband or as part of a carrier wave. The propagated signal may have a variety of manifestations, including electromagnetic, optical, etc., or a suitable combination. A computer-readable medium may be any computer-readable medium other than a computer-readable storage medium, which may be connected to an instruction execution system, device or apparatus to communicate, propagate or transmit a program for use. The program code on the computer-readable medium may be propagated via any suitable medium, including radio, cable, fiber optic cable, radio frequency signal, or similar medium, or any combination of the above mediums.

[0112] The basic concepts have been described above. Obviously, for those skilled in the art, the above application disclosure is only an example and does not constitute a limitation of the present application. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements and amendments to the present application. Such modifications, improvements and amendments are suggested in the present application, so such modifications, improvements and amendments still belong to the spirit and scope of the exemplary embodiments of the present application.

[0113] As shown in this application and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "include" and "comprise" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.

[0114] Unless otherwise specifically stated, the relative arrangement, numerical expressions and numerical values ​​of the parts and steps set forth in these embodiments do not limit the scope of the present application. At the same time, it should be understood that, for ease of description, the sizes of the various parts shown in the accompanying drawings are not drawn according to the actual proportional relationship. The technology, methods and equipment known to those of ordinary skill in the relevant art may not be discussed in detail, but in appropriate cases, the technology, methods and equipment should be considered as a part of the authorization specification. In all examples shown and discussed here, any specific value should be interpreted as being merely exemplary, rather than as a limitation. Therefore, other examples of exemplary embodiments may have different values. It should be noted that similar reference numerals and letters represent similar items in the following drawings, and therefore, once a certain item is defined in an accompanying drawing, it does not need to be further discussed in subsequent drawings.

[0115] In addition, although the terms used in this application are selected from well-known and commonly used terms, some of the terms mentioned in this application specification may be selected by the applicant at his or her discretion, and their detailed meanings are explained in the relevant parts of the description of this article. In addition, it is required to understand this application not only by the actual terms used, but also by the meaning implied by each term.

[0116] At the same time, the present application uses specific words to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, some features, structures or characteristics in one or more embodiments of the present application can be appropriately combined.

[0117] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used for the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which can be changed according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the method of general digit retention. Although the numerical domains and parameters used to confirm the breadth of the range in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values ​​is as accurate as possible within the feasible range.

Claims

1. A management system for robot body parameters, the robot having multiple axes, comprising: A plurality of storage devices, each of which is located on each axis of the robot and is used to store the robot body parameters; an auxiliary controller, configured to manage the robot body parameters in the storage device and send a second data frame according to a first data frame, wherein the first data frame includes a first frame header, a flag bit, a first axis ID, a first parameter flag, a first data bit, and a first check bit; as well as a main controller, separate from the plurality of storage devices, configured to send a first data frame to the auxiliary controller and receive the second data frame; Wherein, the auxiliary controller manages the robot body parameters in the storage device in a manner including reading and writing, and the auxiliary controller manages the robot body parameters in the storage device according to the first data frame including: performing verification according to the first check bit; if the verification is correct, determining whether the flag bit is a predefined value, and if so, determining the management manner according to the value of the flag bit; determining whether the first axis ID is equal to the current auxiliary controller ID, and if so, managing the robot body parameters in the storage device according to the first parameter flag, the first data bit and the management manner; Among them, the management method determined according to the value of the flag bit includes: when the value of the flag bit is a read flag, the auxiliary controller reads the robot body parameters in the storage device; when the value of the flag bit is a write flag, the auxiliary controller writes the robot body parameters into the storage device.

2. The management system according to claim 1, characterized in that: The robot body parameters include DH parameters, zero point, reduction ratio and coupling ratio.

3. The management system according to claim 1, characterized in that: The second data frame includes a second frame header, a feedback flag, a second axis ID, a second parameter flag, a second data bit and a second check bit.

4. The management system according to claim 3, characterized in that: The main controller is further used to parse the second data frame and feed back the parsed management result to the user.

5. The management system according to claim 4, characterized in that: The main controller parsing the second data frame includes: Determine whether a second data frame is received within a first threshold time, and if so, perform verification according to the second check bit; If the verification is correct, determining whether the second axis ID is equal to the first axis ID, and if so, determining whether the second parameter flag is equal to the first parameter flag; If the second parameter flag is equal to the first parameter flag, the management result is successful management.

6. The management system according to claim 1, characterized in that: The storage device is a non-volatile storage device.

7. The management system according to claim 1, characterized in that: The storage device is a shaft encoder, and the auxiliary controller is a shaft encoder controller or a shaft controller.

8. A method for managing parameters of a robot, the robot comprising a main controller, an auxiliary controller and a plurality of storage devices located on a plurality of axes, the plurality of storage devices being separated from the main controller, comprising: establishing remote communication between the primary controller and the secondary controller; Sending a first data frame from the main controller to the auxiliary controller, the first data frame including a first frame header, a flag bit, a first axis ID, a first parameter flag, a first data bit and a first check bit; The auxiliary controller manages the robot body parameters in the storage device according to the first data frame, and sends a second data frame to the main controller; as well as The main controller receives the second data frame; Wherein, the auxiliary controller manages the robot body parameters in the storage device in a manner including reading and writing, and the auxiliary controller manages the robot body parameters in the storage device according to the first data frame including: performing verification according to the first check bit; if the verification is correct, determining whether the flag bit is a predefined value, and if so, determining the management manner according to the value of the flag bit; determining whether the first axis ID is equal to the current auxiliary controller ID, and if so, managing the robot body parameters in the storage device according to the first parameter flag, the first data bit and the management manner; Among them, the management method determined according to the value of the flag bit includes: when the value of the flag bit is a read flag, the auxiliary controller reads the robot body parameters in the storage device; when the value of the flag bit is a write flag, the auxiliary controller writes the robot body parameters into the storage device.

9. The management method according to claim 8, characterized in that: The robot body parameters include DH parameters, zero point, reduction ratio and coupling ratio.

10. The management method according to claim 8, characterized in that: The main controller also parses the second data frame and feeds back the parsed management result to the user.

11. A computer readable medium storing computer program code, wherein the computer program code, when executed by an auxiliary controller and a main controller, implements the method according to any one of claims 8 to 10.

Citation Information

Patent Citations

  • Robot system

    CN109927054A