A hydraulic robot control method and system
By acquiring motion command parsing, generating interpolation commands, and combining PID algorithm to compensate for the dead zone of the proportional valve, the problems of complexity and poor versatility in hydraulic robot control are solved, and automated and high-precision hydraulic robot control is realized.
Patent Information
- Application Number
- CN202211489100.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-25
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2042-11-25
AI Technical Summary
Hydraulic robots are complex to control, require human intervention, have poor versatility, and are applicable to a limited range of fields.
The method of acquiring motion command parsing, generating linear and joint interpolation commands, storing joint angle control commands and executing them sequentially, combined with a PID algorithm with feedforward to compensate for the dead zone of the proportional valve, improves control accuracy.
It achieves automation and high precision in hydraulic robot control, has wide adaptability, reduces manual intervention, and improves the responsiveness and accuracy of the control system.
Smart Images

Figure CN116125786B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of robot control, and particularly relates to a hydraulic robot control method and system. BACKGROUND
[0002] Traditional industrial robots generally use a joint form combining a servo motor and a harmonic reducer, while a hydraulic robot uses a hydraulic cylinder for transmission, and the joint structure is simple and compact, and can realize stepless speed regulation without other auxiliary components, and can realize direct drive with high mechanical efficiency.
[0003] However, the hydraulic robot control generally adopts handle control or uses wireless remote control, and the master-slave control and remote control need manual intervention all the time, and the control is complex, the universality is poor, and the applicable field is limited. SUMMARY
[0004] The purpose of the embodiment of the present application is to provide a hydraulic robot control method and system, aiming at solving the problems existing in the prior art determined in the background.
[0005] The embodiment of the present application is realized in this way, a hydraulic robot control method, the method comprises:
[0006] acquiring a motion instruction, analyzing the motion instruction to extract motion information containing a target position and a speed;
[0007] generating a straight line interpolation instruction and a joint interpolation instruction according to the motion information and a current pose of the robot;
[0008] storing joint angle control instructions obtained by the joint interpolation instruction and the straight line interpolation instruction after inverse calculation into a joint angle queue;
[0009] executing the joint angle control instructions in the joint angle queue in sequence until the joint angle queue is empty.
[0010] Another purpose of the embodiment of the present application is to provide a hydraulic robot control system, the system comprises:
[0011] a motion instruction analysis module, configured to acquire a motion instruction, analyze the motion instruction to extract motion information containing a target position and a speed;
[0012] an interpolation instruction generation module, configured to generate a straight line interpolation instruction and a joint interpolation instruction according to the motion information and a current pose of the robot;
[0013] a joint angle queue generation module, configured to store joint angle control instructions obtained by the joint interpolation instruction and the straight line interpolation instruction after inverse calculation into a joint angle queue;
[0014] The instruction execution module is configured to execute the joint angle control instructions in the joint angle queue in sequence until the joint angle queue is empty.
[0015] The number of axis control threads in the embodiment of the application is determined according to the number of axes in an actual robot system, and only the robot kinematics algorithm and the number of axes need to be changed, which is widely adaptable, and the PID algorithm with feedforward is used to compensate for the dead zone of the proportional valve, so that the control precision is higher. BRIEF DESCRIPTION OF DRAWINGS
[0016] Figure 1 A hydraulic robot control method is provided for the embodiment of the application.
[0017] Figure 2 A step diagram for sequentially executing joint angle control instructions in a joint angle queue is provided for the embodiment of the application.
[0018] Figure 3 A schematic diagram of the PID control algorithm with feedforward is provided for the embodiment of the application.
[0019] Figure 4 A flowchart for sequentially executing joint angle control instructions in a joint angle queue is provided for the embodiment of the application.
[0020] Figure 5 A flowchart of the PID control algorithm with feedforward is provided for the embodiment of the application.
[0021] Figure 6 A flowchart for generating straight line interpolation instructions and joint interpolation instructions is provided for the embodiment of the application.
[0022] Figure 7 A structural block diagram of a hydraulic robot control system is provided for the embodiment of the application.
[0023] Figure 8 A structural block diagram of the instruction execution module is provided for the embodiment of the application.
[0024] Figure 9 A structural block diagram of the interpolation instruction generation module is provided for the embodiment of the application.
[0025] Figure 10 An internal structural block diagram of a computer device in an embodiment. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solutions and advantages of the application clearer, the application will be further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the application and do not limit the application.
[0027] It is to be understood that the terms "first", "second", and the like used herein can be used to describe various elements, but unless otherwise specifically stated, the elements thus described are not limited by these terms. These terms are only used to distinguish one element from another. For example, a first xx script can be referred to as a second xx script, and similarly, a second xx script can be referred to as a first xx script, without departing from the scope of the present application.
[0028] As shown in Figure 1 In one embodiment, a hydraulic robot control method is proposed, which can specifically include the following steps:
[0029] In step S100, a motion instruction is obtained, and the motion instruction is parsed to extract motion information including a target position and a speed.
[0030] In the embodiment of the present application, after the teach pendant obtains the motion instruction, the motion instruction is parsed by the parser, and the motion information including the target position and the speed, i.e., the detailed execution action of the hydraulic robot, can be obtained.
[0031] In the embodiment of the present application, a motion planning thread and an axis control thread are established when the system is initialized, and the number of axis control threads is established according to the actual number of axes in the system. Each axis corresponds to an axis control thread. Therefore, the control method of the present application is suitable for various types of robots, and only the robot kinematics algorithm and the number of axes need to be changed, so the applicability is wide.
[0032] In step S200, a straight line interpolation instruction and a joint interpolation instruction are generated according to the motion information and the current posture of the robot.
[0033] In the embodiment of the present application, the generation of the straight line interpolation instruction and the joint interpolation instruction can be realized by a motion planner. The straight line interpolation instruction is to fit a curve with multiple straight line segments between two points of the curve. When the number of straight line segments is sufficient, the original curve can be very close. The joint interpolation instruction is to move the robot joint from one position to another position, and the path between the two positions is not necessarily a straight line, but the fastest track is selected. Generally, the fastest track is not the shortest track, that is, it is not a straight line. Because the robot axis performs a rotary motion, the curved track is faster than the straight track.
[0034] In step S300, the joint angle control instruction obtained by the joint interpolation instruction and the straight line interpolation instruction after inverse solution is stored in the joint angle queue.
[0035] In the embodiment of the present application, for the straight line interpolation instruction, the angle that each joint of the robot needs to rotate needs to be calculated through the inverse kinematics of the robot, and the joint angle control instruction obtained by the inverse solution and the joint angle control instruction obtained by the joint interpolation instruction will be stored in the joint angle queue for execution.
[0036] In step S400, the joint angle control instructions in the joint angle queue are executed in sequence until the joint angle queue is empty.
[0037] In the embodiment of the present application, when the joint angle control instruction is executed, the opening size of the proportional valve is controlled by the PID controller according to the current position of the robot joint, and then the control of the joint angle can be realized.
[0038] As shown in Figure 2 and 4 In one embodiment, step S400 can specifically include the following steps:
[0039] In step S401, the joint angle control instruction is obtained.
[0040] In step S402, the joint motion target value is obtained from the joint angle control instruction.
[0041] In step S403, the opening size of the proportional valve is controlled by the PID controller according to the joint motion target value and the current position of the joint, so as to realize the control of the joint angle.
[0042] In step S404, it is determined whether the joint angle queue is empty, and when the joint angle queue is not empty, the joint angle control instruction is continuously executed until the joint angle queue is empty.
[0043] In the embodiment of the present application, in each operation period of the PID, the joint angle control instruction is first obtained from the joint angle queue, the joint motion target value is obtained according to the joint angle control instruction, and then the opening size of the proportional valve is controlled by the PID controller according to the current position of the joint to realize the execution of the joint angle control instruction. Other joint angle control instructions are also executed in sequence until the joint angle queue is empty, waiting for the next motion command.
[0044] Preferably, in the embodiment of the present application, when the opening size of the proportional valve is controlled by the PID controller, the PID control algorithm with feedforward is used to compensate for the dead zone of the proportional valve.
[0045] During the manufacturing process of the hydraulic proportional valve, the valve core will have a certain overlapping coverage amount to the valve port when in the middle position. This overlapping amount causes the hydraulic proportional valve to be unable to respond to the movement of the valve core within a certain input signal range. Here, the PID control algorithm with feedforward can be used to compensate for the dead zone of the proportional valve and improve the responsiveness of the system.
[0046] As Figure 5 shown in the figure, in one embodiment, the step of compensating for the dead zone of the proportional valve by the PID control algorithm with feedforward specifically includes:
[0047] Step a, obtaining the minimum opening degree of the proportional valve, taking the minimum opening degree as the feedforward value, the minimum opening degree is used to represent the minimum opening angle that can drive the hydraulic cylinder to move.
[0048] In the embodiment of the application, the minimum opening degree is related to the overlap coverage mentioned above.
[0049] Step b, adding the feedforward value and the opening degree of the proportional valve output by the PID controller, and outputting the final result of the PID controller to the proportional valve.
[0050] In the embodiment of the application, when controlling the proportional valve, the minimum opening degree of the proportional valve is fully considered, so that the action execution of the robot is more accurate.
[0051] As Figure 3 shown in the figure, in actual application, the PID controller sends the opening degree command to the hydraulic proportional valve through the CAN bus, so that the hydraulic swing cylinder rotates, and the encoder installed at the end of the hydraulic swing cylinder feeds back the position information to the PID controller through the CAN bus, and the PID controller controls the rotation angle of the hydraulic cylinder by setting the opening degree of the hydraulic valve, to realize closed-loop control.
[0052] As Figure 6 shown in the figure, in one embodiment, step S200 specifically can include the following steps:
[0053] Step S201, obtaining the current posture of the robot and motion information containing at least target position, speed and acceleration.
[0054] Step S202, calculating the motion time of each axis of the robot according to the current posture of the robot and the motion information.
[0055] In the embodiment of the application, 7-segment S-type acceleration curve algorithm can be used to calculate the motion time of each axis, and here the 7-segment S-type acceleration curve algorithm belongs to the prior art, and will not be described redundantly.
[0056] Step S203, taking the longest motion time as the synchronous motion time, and recalculating the position planning curve of each axis.
[0057] Step S204, generating straight line interpolation instructions and joint interpolation instructions according to the position planning curve.
[0058] As Figure 7As shown in the figure, in one embodiment, a hydraulic robot control system is provided, which can specifically include a motion instruction analysis module 100, an interpolation instruction generation module 200, a joint angle queue generation module 300 and an instruction execution module 400.
[0059] The motion instruction analysis module 100 is configured to acquire a motion instruction, analyze the motion instruction to extract motion information including a target position and a speed.
[0060] The interpolation instruction generation module 200 is configured to generate a straight-line interpolation instruction and a joint interpolation instruction according to the motion information and a current pose of the robot.
[0061] The joint angle queue generation module 300 is configured to store a joint angle control instruction obtained by inversely calculating the joint interpolation instruction and the straight-line interpolation instruction into a joint angle queue.
[0062] The instruction execution module 400 is configured to sequentially execute the joint angle control instructions in the joint angle queue until the joint angle queue is empty.
[0063] As shown in the figure, in one embodiment, the instruction execution module 400 specifically includes an instruction acquisition unit 401, a joint motion target value acquisition unit 402, a joint angle control unit 403 and a queue determination unit 404. Figure 8 The instruction acquisition unit 401 is configured to acquire a joint angle control instruction.
[0064] The joint motion target value acquisition unit 402 is configured to acquire a joint motion target value from the joint angle control instruction.
[0065] The joint angle control unit 403 is configured to control an opening degree of a proportional valve by a PID controller according to the joint motion target value and a current position of the joint, so as to control the joint angle.
[0066] The queue determination unit 404 is configured to determine whether the joint angle queue is empty, and continue to execute the joint angle control instruction when the joint angle queue is not empty until the joint angle queue is empty.
[0067] Preferably, when the opening degree of the proportional valve is controlled by the PID controller, a PID control algorithm with feedforward is used to compensate for a dead zone of the proportional valve.
[0068] As shown in the figure, in one embodiment, the interpolation instruction generation module 200 includes:
[0069] Figure 9 As shown in the figure, in one embodiment, the interpolation instruction generation module 200 includes:
[0070] The information acquisition unit 201 is configured to acquire the current posture of the robot and motion information including at least a target position, a speed and an acceleration;
[0071] The motion time calculation unit 202 is configured to calculate the motion time of each axis of the robot according to the current posture of the robot and the motion information.
[0072] The re-planning unit 203 is configured to re-calculate the position planning curve of each axis by taking the longest motion time as the time of the synchronous motion.
[0073] The instruction generation unit 204 is configured to generate linear interpolation instructions and joint interpolation instructions according to the position planning curve.
[0074] Figure 10 An internal structure diagram of a computer device in an embodiment is shown. The computer device includes a processor, a memory, a network interface, an input device and a display screen connected through a system bus. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and can also store a computer program which, when executed by the processor, can enable the processor to implement the hydraulic robot control method. The internal memory can also store a computer program which, when executed by the processor, can enable the processor to execute the hydraulic robot control method. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer overlaid on the display screen, or can be a key, trackball or touchpad arranged on the shell of the computer device, or can be an external keyboard, touchpad or mouse, etc.
[0075] Those skilled in the art can understand that, Figure 10 The structure shown in the above embodiment is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0076] In one embodiment, the hydraulic robot control system provided by the present application can be implemented in the form of a computer program which can run on a computer device as shown in Figure 10 The memory of the computer device can store various program modules constituting the hydraulic robot control system, such as the motion instruction analysis module 100, the interpolation instruction generation module 200, the joint angle queue generation module 300 and the instruction execution module 400 shown in Figure 7 The computer program constituted by the various program modules enables the processor to execute the steps of the hydraulic robot control method of each embodiment of the present application described in the specification.
[0077] For example, Figure 10 The computer device shown can execute step S100 through a motion instruction analysis module 100 in the hydraulic robot control system shown. Figure 7 The computer device can execute step S200 through an interpolation instruction generation module 200. The computer device can execute step S300 through a joint angle queue generation module 300.
[0078] In one embodiment, a computer device is provided, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program:
[0079] Step S100, acquiring a motion instruction, and analyzing the motion instruction to extract motion information containing a target position and a speed.
[0080] Step S200, generating a linear interpolation instruction and a joint interpolation instruction according to the motion information and a current pose of the robot.
[0081] Step S300, storing joint angle control instructions obtained by the joint interpolation instruction and the linear interpolation instruction after inverse calculation into a joint angle queue.
[0082] Step S400, sequentially executing the joint angle control instructions in the joint angle queue until the joint angle queue is empty.
[0083] In one embodiment, a computer readable storage medium is provided, the computer readable storage medium storing a computer program, the computer program being executed by a processor to cause the processor to execute the following steps:
[0084] Step S100, acquiring a motion instruction, and analyzing the motion instruction to extract motion information containing a target position and a speed.
[0085] Step S200, generating a linear interpolation instruction and a joint interpolation instruction according to the motion information and a current pose of the robot.
[0086] Step S300, storing joint angle control instructions obtained by the joint interpolation instruction and the linear interpolation instruction after inverse calculation into a joint angle queue.
[0087] Step S400, sequentially executing the joint angle control instructions in the joint angle queue until the joint angle queue is empty.
[0088] It should be understood that, although the steps in the flowcharts of the embodiments of the present application are shown in a certain order according to the arrows, the steps are not necessarily executed in the order of the arrows. Unless otherwise specified herein, the execution of the steps is not strictly limited in order, and the steps can be executed in other orders. Moreover, at least some of the steps in the embodiments can include multiple sub-steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of the sub-steps or stages is not necessarily sequential, but can be round-robin or alternately executed with other steps or sub-steps or stages of other steps.
[0089] It can be understood by those skilled in the art that all or part of the processes in the above-mentioned embodiments can be completed by a computer program instructing related hardware, and the program can be stored in a non-volatile computer readable storage medium. When the program is executed, it can include the processes of the above-mentioned embodiments of the methods. Any reference to memory, storage, database or other medium used in the embodiments provided in the present application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0090] The technical features of the above-mentioned embodiments can be combined in any way. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described, but as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.
[0091] The above embodiments only express several implementation manners of the present application, which are described in a more specific and detailed manner, but should not be understood as a limitation on the patent scope of the present application. It should be noted that, for ordinary skilled persons in the art, several modifications and improvements can be made without departing from the concept of the present application, which are all within the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.
[0092] The above only describes the preferred embodiments of the present application and should not be used to limit the present application. Any modification, equivalent replacement and improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims
1. A hydraulic robot control method characterized by, The method includes: Obtain motion commands and parse the motion commands to extract motion information containing target position and velocity; Based on the motion information and the robot's current posture, linear interpolation commands and joint interpolation commands are generated; The joint interpolation command and the joint angle control command obtained by the inverse linear interpolation command are stored in the joint angle queue; Execute the joint angle control commands in the joint angle queue sequentially until the joint angle queue is empty. This includes: Obtain joint angle control commands; The joint motion target value is obtained from the joint angle control command; Based on the target joint motion value and the current joint position, the opening degree of the proportional valve is controlled by a PID controller to achieve joint angle control. When controlling the opening degree of the proportional valve by the PID controller, a PID control algorithm with feedforward is used to compensate for the dead zone of the proportional valve. Specifically, this includes: obtaining the minimum opening degree of the proportional valve, using the minimum opening degree as a feedforward value, whereby the minimum opening degree is used to characterize the minimum opening angle that can drive the hydraulic cylinder to move; and adding the feedforward value with the opening degree of the proportional valve output by the PID controller, and outputting the final result of the PID controller to the proportional valve. Determine if the joint angle queue is empty. If the joint angle queue is not empty, continue to execute the joint angle control command until the joint angle queue is empty.
2. The method of claim 1, wherein, The step of generating linear interpolation commands and joint interpolation commands based on the motion information and the robot's current posture specifically includes: Acquire the robot's current posture and motion information, including at least the target position, velocity, and acceleration; Based on the robot's current posture and motion information, calculate the motion time for each axis of the robot. Using the longest motion time as the synchronous motion time, recalculate the position planning curve for each axis; Generate linear interpolation and joint interpolation commands based on the position planning curve.
3. A hydraulic robot control system, characterized in that, The system includes: The motion command parsing module is used to acquire motion commands and parse the motion commands to extract motion information containing target position and velocity; The interpolation instruction generation module is used to generate linear interpolation instructions and joint interpolation instructions based on the motion information and the robot's current posture; The joint angle queue generation module is used to store the joint interpolation command and the joint angle control command obtained by the inverse calculation linear interpolation command into the joint angle queue; The instruction execution module is used to sequentially execute joint angle control instructions in the joint angle queue until the joint angle queue is empty. The instruction execution module includes: The instruction acquisition unit is used to acquire joint angle control instructions. A joint motion target value acquisition unit is used to acquire joint motion target values from the joint angle control command; The joint angle control unit is used to control the opening degree of a proportional valve through a PID controller based on the target value of joint movement and the current position of the joint, thereby controlling the joint angle. When controlling the opening degree of the proportional valve through the PID controller, a PID control algorithm with feedforward is used to compensate for the dead zone of the proportional valve. Specifically, this includes: obtaining the minimum opening degree of the proportional valve; using the minimum opening degree as a feedforward value, where the minimum opening degree characterizes the minimum opening angle that can drive the hydraulic cylinder; accumulating the feedforward value with the opening degree of the proportional valve output by the PID controller, and outputting the final result of the PID controller to the proportional valve; determining whether the joint angle queue is empty; if the joint angle queue is not empty, continuing to execute the joint angle control command until the joint angle queue is empty. The queue determination unit is used to determine whether the joint angle queue is empty. When the joint angle queue is not empty, the joint angle control command continues to be executed until the joint angle queue is empty.
4. The system according to claim 3, characterized in that, The interpolation instruction generation module includes: The information acquisition unit is used to acquire the robot's current posture and motion information, including at least the target position, velocity, and acceleration. The motion time calculation unit is used to calculate the motion time of each axis of the robot based on the robot's current posture and motion information. The replanning unit is used to recalculate the position planning curve for each axis, using the longest motion time as the synchronous motion time. The instruction generation unit is used to generate linear interpolation instructions and joint interpolation instructions based on the position planning curve.
Citation Information
Patent Citations
Method for planning smooth joint space trajectory of robot
CN106863306A
Planning method and system for determining robot track through using virtual reality handle
CN107214702A