Mechanical arm control method, electronic device and robot

By acquiring the current position and direction of movement of the robotic arm joints, calculating the limit distance, and adjusting the movement speed, the problem of joint jitter at the limit position of the robotic arm is solved, improving control accuracy and safety.

CN118617410BActive Publication Date: 2025-12-05HARBIN SIZHERUI INTELLIGENT MEDICAL EQUIP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410729709.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-06
Publication Date
2025-12-05
Estimated Expiration
2044-06-06

AI Technical Summary

Technical Problem

The robotic arm joints vibrate near their extreme positions, making it impossible for operators to precisely control them to stop, posing a safety hazard.

Method used

By acquiring the current position and direction of movement of the robotic arm joints, the limit distance is calculated, and the movement speed is adjusted according to the change of the limit distance to avoid the joints from shaking near the limit position.

Benefits of technology

It improves the control precision of the robotic arm, prevents joints from vibrating at extreme positions, protects the joint motors, and ensures safe and stable operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118617410B_ABST
    Figure CN118617410B_ABST
Patent Text Reader

Abstract

The application provides a mechanical arm control method, electronic equipment and robot, and relates to the technical field of robots.The mechanical arm control method comprises the following steps: acquiring a current position and a current motion direction of a joint of a mechanical arm; determining a limit distance according to the current position and a preset limit position of the joint; and adjusting a motion speed of the joint of the mechanical arm according to a change of the limit distance when the current motion direction points to a direction in which the limit position of the joint is located.The application adjusts the speed of the joint of the mechanical arm according to the position and the motion direction of the joint, and can effectively improve the control precision of the mechanical arm.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, in particular to a robot arm control method, an electronic device and a robot. BACKGROUND

[0002] Robots, as products of modern technology, have shown great potential and application value in many fields, such as industrial manufacturing robots, surgical robots, agricultural production robots, etc. The role of robots in production and life is also becoming more and more important. Due to the different application scenarios of robots, it is usually necessary to reasonably limit the current position of the motion range of the robot arm joint to avoid damage to the device or danger caused by exceeding the set motion range.

[0003] In a conventional operation, when the robot arm joint moves to the limit current position, the operator needs to control the robot arm to stop moving. However, due to the inertia effect, the robot arm will shake near the limit position after the robot arm is controlled to stop moving, which makes it difficult for the operator to accurately control the robot arm to stop at the limit position. SUMMARY

[0004] The problem solved by the present application is how to improve the control accuracy of the robot arm.

[0005] To solve the above problems, the present application provides a robot arm control method, an electronic device and a robot.

[0006] In a first aspect, the present application provides a robot arm control method, comprising:

[0007] obtaining a current position and a current motion direction of a robot arm joint;

[0008] determining a limit distance according to the current position and a preset joint limit position;

[0009] when the current motion direction points to the direction of the joint limit position, adjusting the motion speed of the robot arm joint according to the change of the limit distance.

[0010] Optionally, the joint limit position includes a joint maximum limit position and a joint minimum limit position; the limit distance includes a maximum limit distance and a minimum limit distance; the limit distance is determined according to the current position and the preset joint limit position, comprising:

[0011] determining the minimum limit distance according to the current position and the corresponding joint minimum limit position;

[0012] determining the maximum limit distance according to the current position and the corresponding joint maximum limit position.

[0013] Optionally, limiting the movement speed of the robotic arm joint based on the change in the limit distance includes:

[0014] Based on the comparison between the extreme distance and the preset limit threshold, it is determined whether the robotic arm joint needs to be decelerated.

[0015] If so, the adjustment speed of the robotic arm joint is determined based on the preset maximum movement speed and speed relationship.

[0016] Optionally, determining whether the robotic arm joint needs to be decelerated based on the comparison result between the limit distance and the preset limit threshold includes:

[0017] When the limit distance is less than the limit threshold and the current movement direction points to the joint limit position direction, it is determined that the mechanical joint needs to perform the deceleration adjustment; otherwise, the deceleration adjustment is not required.

[0018] Optionally, the velocity relationship satisfies:

[0019] V act =α×V max , α∈(0,1);

[0020] Among them, V act For the adjustment of the motion speed, V max Let α be the maximum speed, and α be the speed parameter.

[0021] Optionally, it also includes:

[0022] When entering master-slave operation, the initial movement direction and initial position of the robotic arm joint are obtained;

[0023] Based on the initial direction of motion, the initial position, and the corresponding joint limit position, determine whether to execute a master-slave operation;

[0024] If yes, then the master-slave operation is executed; otherwise, the master-slave operation is not executed.

[0025] Optionally, the joint limit positions include the maximum limit position and the minimum limit position; the step of determining whether to perform a master-slave operation based on the initial movement direction, the initial position, and the corresponding joint limit positions includes:

[0026] When the initial position is between the minimum limit position and the maximum limit position of the joint, the master-slave operation is executed;

[0027] When the initial position is less than or equal to the joint minimum limit position and the initial motion direction points to the direction where the joint minimum limit position is located, the master-slave operation is performed.

[0028] When the initial position is greater than or equal to the joint maximum limit position and the initial motion direction points to the direction where the joint maximum limit position is located, the master-slave operation is performed.

[0029] Optionally, the method further comprises:

[0030] According to the obtained current position and motion direction of the slider of the mechanical arm sliding table;

[0031] According to the current position and preset limit position of the slider, a limit distance of the slider is determined;

[0032] When the motion direction of the slider points to the direction where the limit position of the slider is located, the motion speed of the slider of the mechanical arm is adjusted according to the change of the limit distance.

[0033] In a second aspect, the present application provides a mechanical arm control device, comprising:

[0034] An acquisition module is configured to acquire a current position and a current motion direction of a joint of a mechanical arm;

[0035] A processing module is configured to determine a limit distance according to the current position and a preset limit position of the joint;

[0036] A control module is configured to adjust the motion speed of the joint of the mechanical arm according to the change of the limit distance when the current motion direction points to the direction where the limit position of the joint is located.

[0037] In a third aspect, the present application provides an electronic device comprising a memory and a processor;

[0038] The memory is configured to store a computer program;

[0039] The processor is configured to implement the mechanical arm control method of the first aspect when executing the computer program.

[0040] Fourthly, the present invention provides a robot employing the robotic arm control method described in the first aspect, comprising a first robotic arm, a second robotic arm, a robotic arm slide, a lead screw, a third robotic arm, a fourth robotic arm, a fifth robotic arm, a base, a quadrilateral robotic arm mechanism, a robotic arm rotary joint, a robotic arm parallelogram joint, a robotic arm slider, a robotic arm rotation joint, a robotic arm pitch joint, a robotic arm left yaw joint, and a robotic arm right yaw joint. The base is connected to one end of the first robotic arm, and the other end of the first robotic arm is rotatably connected to one end of the second robotic arm via the robotic arm rotary joint. The other end of the second robotic arm is connected to... One end of the quadrilateral robotic arm mechanism is rotatably connected via the parallelogram joint of the robotic arm, and the other end of the quadrilateral robotic arm mechanism is rotatably connected to one end of the robotic arm slide. One end of the lead screw is slidably connected to the robotic arm slide via the slider, and the other end of the lead screw is rotatably connected to the third robotic arm via the robotic arm rotation joint. The other end of the third robotic arm is rotatably connected to the fourth and fifth robotic arms via the robotic arm pitch joint. The other end of the fourth robotic arm is rotatably connected to the left yaw joint of the robotic arm, and the fifth robotic arm is rotatably connected to the right yaw joint of the robotic arm.

[0041] The beneficial effects of the robotic arm control method, electronic device, and robot of the present invention are as follows: Based on the current position of the joint, the limit distance from the joint to a pre-set limit position is determined. The change in distance between the joint and the corresponding limit position can be accurately judged based on this limit distance, thereby controlling the robotic arm joint according to the distance change, effectively improving the control accuracy of the robotic arm. When the movement direction of the robotic arm joint points to the direction of the corresponding limit position, it indicates that the joint will reach the limit position if it continues to move in that direction. Therefore, to avoid the joint moving too fast when reaching the limit position, the movement speed of the robotic arm joint needs to be adjusted according to the change in the corresponding limit distance. This effectively reduces the movement speed of the robotic arm joint when reaching the limit position, preventing the robotic arm joint from vibrating at the limit position due to inertia caused by excessive movement speed during braking. This allows the robotic arm joint to be accurately stopped at the limit position, thereby improving the control accuracy of the robotic arm. Simultaneously, it avoids generating large braking forces in the joint motor during braking, which would increase the joint motor current, thus protecting the joint motor to a certain extent. Attached Figure Description

[0042] Figure 1 This is a flowchart illustrating a robotic arm control method according to an embodiment of the present invention;

[0043] Figure 2 This is a schematic diagram of a 3-arm robot according to an embodiment of the present invention;

[0044] Figure 3 This is a schematic diagram of the robotic arm joint according to an embodiment of the present invention;

[0045] Figure 4 This is a schematic diagram of the joint limiting of the robotic arm according to an embodiment of the present invention;

[0046] Figure 5 This is a schematic diagram of the joint movement position of the robotic arm according to an embodiment of the present invention;

[0047] Figure 6 This is a schematic diagram of the joint rotation of the robotic arm according to an embodiment of the present invention;

[0048] Figure 7 This is a schematic diagram of the main hand joint of the console in an embodiment of the present invention;

[0049] Figure 8 This is a schematic diagram of the structure of a robotic arm control device according to an embodiment of the present invention;

[0050] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention.

[0051] Explanation of reference numerals in the attached figures:

[0052] 1-First robotic arm; 2-Second robotic arm; 3-Robotic arm slide; 4-Lead screw; 5-Third robotic arm; 6-Fourth robotic arm; 7-Fifth robotic arm; 8-Base; 9-Quadrilateral robotic arm mechanism; 901-First quadrilateral robotic arm; 902-Second quadrilateral robotic arm; J1-Robotic arm rotary joint; J2-Robotic arm parallelogram joint; J3-Robotic arm slider; J4-Robotic arm slewing joint; J5-Robotic arm pitch joint; J6-Robotic arm left yaw; J7-Robotic arm right yaw. Detailed Implementation

[0053] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the accompanying drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.

[0054] It should be understood that the various steps described in the method embodiments of the present invention may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this respect.

[0055] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to"; the term "based on" means "at least partially based on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments"; and the term "optionally" means "optional embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first," "second," etc., mentioned in this invention are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0056] It should be noted that the terms "a" and "a plurality of" used in this invention are illustrative rather than restrictive. Those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0057] The names of the messages or information exchanged between the multiple devices in the embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of these messages or information.

[0058] In related technologies, such as Figure 2 The image shows a posterior view of a traditional 3-arm, 6-DOF laparoscopic surgical robot, where H1 is the first robotic arm, H2 is the second robotic arm, and H3 is the third robotic arm. Figure 3 As shown, each robotic arm has 7 joints. J1 is the robotic arm rotation joint, with right rotation as positive and left rotation as negative; J2 is the robotic arm parallelogram joint, with right rotation as positive and left rotation as negative; J3 is the robotic arm slide, with up rotation as positive and down rotation as negative; J4 is the instrument rotation joint, with clockwise rotation as positive and counterclockwise rotation as negative when viewed from above (when the instrument's end-effector is vertically downward); J5 is the instrument pitch joint, with clockwise rotation as positive and counterclockwise rotation as negative when the instrument's end-effector is vertically downward; J6 is the instrument right yaw joint, with clockwise rotation as positive and counterclockwise rotation as negative when the instrument pitch joint is vertically downward; and J7 is the instrument left yaw joint, with clockwise rotation as positive and counterclockwise rotation as negative when the instrument pitch joint is vertically downward. Each joint has limitations in its direction of movement. For example, joint J2's range of motion is limited during left and right movements along the Y-axis, as shown in the figure. min For the minimum position to move, Y max For the maximum movement position, when J2 is moving towards Y min Direction to Y minWhen J2 reaches its minimum movement position, a limit alarm is triggered. The control software then applies a counterforce to the corresponding joint on the control panel based on the alarm, alerting the operator that the soft limit has been reached and stopping the joint. Similarly, when joint J3 moves along the Z-axis, it is limited by the upper limit switch. min The position with the minimum movement in the Z-axis direction, Z max The Z-axis represents the maximum movement position. It should be noted that the Y-axis and Z-axis in this application are only Cartesian coordinate systems constructed based on the corresponding joints. Since the spatial range and direction of motion differ for each joint, the Cartesian coordinate systems constructed for each joint may not be the same. Because all seven joints of the robotic arm are active joints, the encoder output signal is a pulse signal, and its frequency is proportional to the rotation angle. Therefore, the actual rotation angle of each joint can be obtained by dividing the encoder output signal pulse count by the encoder resolution and then multiplying by 360°. Thus, the actual position P of each joint can be calculated based on its rotation angle and corresponding joint length. act This refers to the current position of the corresponding joint.

[0059] In actual operation and control, when the operator performs master-slave operation, a certain joint of the robotic arm will be triggered to approach a soft limit. At this time, the motion control of the motor of this joint at the limit is particularly critical. If the motion control trajectory planning at the joint limit is not ideal, the robotic arm or the carried equipment may shake, leading to certain safety hazards. For example, Figure 4 As shown, the joints of the robotic arm are subject to three progressive limiting measures: soft limit, hard limit, and mechanical limit. Soft limit refers to the limit that the target position command can satisfy the joint's reach. Hard limit refers to the limit that the motor encoder can satisfy the joint's reach. Mechanical limit refers to the limit that the mechanical structure can satisfy the joint's reach. In this scheme, the control of soft limit refers to the software-level limit, that is, the target command of kinematic trajectory planning, which enables the robotic arm joint to reach the actual position. The soft limit comparison is the process of comparing the actual position of the robotic arm joint with the limit position of the soft limit.

[0060] This embodiment provides a robotic arm control method, electronic device, and robot.

[0061] like Figure 1 As shown in the figure, an embodiment of the present invention provides a robotic arm control method, which includes the following steps:

[0062] S100: Obtain the current position and current direction of motion of the robotic arm joints.

[0063] Specifically, a spatial coordinate system is constructed for the robotic arm by setting an origin position. Based on the positional relationship of the various components of the robotic arm, the current position of the robotic arm joint in the spatial coordinate system is determined. This current position includes the coordinates of the robotic arm joint in the spatial position coordinate system. The motion state of the robotic arm joint in the spatial coordinate system is also determined. This motion state includes information such as the motion direction and speed of the robotic arm joint. Similarly, a corresponding spatial coordinate system can be set for each robotic arm joint, so that the motion direction of each robotic arm joint in its own independent spatial coordinate system can be obtained more accurately. Independent spatial coordinate systems can effectively improve the flexibility and accuracy of data processing.

[0064] S200, determine the limit distance based on the current position and the preset joint limit position.

[0065] Specifically, each joint of the robotic arm has a pre-defined limit position. These limit positions can be those corresponding to soft stops, hard stops, or mechanical stops. The distance from each joint to its corresponding limit position (i.e., the limit distance) is determined by comparing the current position of each joint with its corresponding limit position. Figure 5 As shown, P act The current position of the joint; the joint's extreme positions typically include the minimum extreme position P. min and the maximum limit position P of the joint max Depending on the actual situation, only one extreme position can be set, based on P. act P min and P max Positional relationship calculation P act to P respectively min The distance L1 and to P max The distance L2 is obtained, and the current limit distances corresponding to the joint are L1 and L2. By using the limit distances, the distance between the current position of each joint and the corresponding limit position can be accurately determined. Based on the limit distances corresponding to each joint and the current direction of movement, the movement speed of the joint can be adjusted, thereby avoiding excessive movement speed when the joint reaches the limit position, effectively reducing the shaking phenomenon after rapid movement braking and stopping, and improving the control precision of the robotic arm.

[0066] S300, when the current direction of movement points to the direction of the joint's extreme position, the movement speed of the robotic arm joint is adjusted according to the change in the extreme distance.

[0067] Specifically, due to varying actual operating environments, one or two limit positions may be set based on the joint's movement. This ensures the robotic arm joint operates safely and stably within its limit position range. If only one limit position is set, when the joint's movement direction points towards the limit position and the corresponding limit distance meets pre-set adjustment conditions, the joint's movement speed is limited. For example, when the limit distance is less than 5mm, the robotic arm joint's movement speed needs to be reduced. This ensures that the speed at which the joint reaches its limit position remains within a reasonable and controllable range, preventing vibration caused by inertia when the joint brakes to a stop at the limit position. Adjusting the joint's movement speed effectively improves the control precision of the robotic arm, allowing the joint to stop accurately at its limit position. When two relative limit positions are set—a maximum limit position and a minimum limit position—it is necessary to... The decision to limit the speed of a joint depends on its current direction of movement and its corresponding limit distance. For example, when a robotic arm joint moves towards its minimum limit position, the distance from the minimum limit position to the joint's shutdown is measured. If this distance is less than 5mm, the joint's speed needs to be reduced. However, when the joint moves towards its maximum limit position, the distance is much greater than 5mm, so the adjustment condition is not met, and no speed limit is needed, allowing normal movement. This solution can be used to control all joints of the robotic arm, including the slider in the robotic arm's slide. It can also be applied to any one or more joints depending on the application scenario. Since application scenarios vary, the limit positions need to be set appropriately. This robotic arm control method can be extended to various vertical fields, including surgical robots, industrial robots, agricultural robots, intelligent service robots, and logistics robots.

[0068] Furthermore, such as Figure 5 As shown, when the direction of joint movement points to the minimum extreme position P min At that time, the joint will continuously move closer to P. min At the same time, stay away from P max At this point, we only need to consider the joint reaching P. min The possibility of reaching P, but not the possibility of reaching P. max Therefore, in order to avoid the joint reaching P, the possibility of this is considered. minIf the speed is too high to brake accurately, the system determines whether to limit the speed of the corresponding robotic arm joint based on the change in the minimum limit distance L1 (i.e., the change in distance from the current position to the minimum limit position). If the minimum limit distance L1 meets the speed limiting condition, the speed of the joint is limited; otherwise, the normal speed of the joint is maintained. Similarly, when the direction of movement points to the maximum limit position P... max Then, based on the current position P act With the maximum limit position P max The change in distance determines whether to move the joint towards P. max The speed of directional movement is limited. It should be noted that this embodiment only uses the linear movement of the robotic arm joint as an example. In actual movement, the operator may operate the robotic arm joint to perform curved movement within the limit position. Regardless of the movement method, as long as the direction of movement is in the direction of the limit position and the limit distance of the robotic arm to the corresponding limit position meets the adjustment conditions, the movement speed of the limit arm joint needs to be adjusted.

[0069] Furthermore, if the current direction of motion points towards the joint's limit position, it indicates that the robotic arm joint may reach its limit position. Therefore, as long as the current direction of motion points towards the joint's limit position, it is necessary to continuously monitor the change in the corresponding limit distance and adjust the robotic arm joint's speed towards the corresponding limit position based on the change, until the current direction of motion changes. At this point, regardless of how the speed changes along the direction of motion, it will not reach the limit position, and therefore it is not necessary to adjust the robotic arm joint's speed based on changes in the corresponding limit distance. Figure 5 As shown, when P act To P max During directional movement, only the movement speed of the robotic arm joint needs to be adjusted according to the change of L2, without considering the change of L1.

[0070] In this embodiment, based on the current position of the joint, the limit distance from the joint to a pre-set limit position is determined. This limit distance allows for accurate assessment of the distance change between the joint and the corresponding limit position, enabling control of the robotic arm joint based on the distance change. This effectively improves the control precision of the robotic arm. When the movement direction of the robotic arm joint points towards the direction of the corresponding limit position, it indicates that the joint will reach that limit position if it continues to move in that direction. Therefore, to prevent the joint from moving too fast when reaching the limit position, the movement speed of the robotic arm joint needs to be adjusted according to the change in the corresponding limit distance. This effectively reduces the movement speed of the robotic arm joint when reaching the limit position, preventing the joint from vibrating due to inertia caused by excessive movement speed when braking at the limit position. This allows the robotic arm joint to be controlled to stop accurately at the limit position, thereby improving the control precision of the robotic arm. Simultaneously, it avoids generating excessive braking force in the joint motor during braking, which would increase the joint motor current and protect the joint motor to some extent.

[0071] Optionally, the joint limit positions include the maximum limit position and the minimum limit position; the limit difference includes the maximum limit difference and the minimum limit difference; the limit distance includes the maximum limit distance and the minimum limit distance; determining the limit distance based on the current position and the preset joint limit positions includes:

[0072] The minimum limit distance is determined based on the current position and the corresponding minimum limit position of the joint;

[0073] The maximum limit distance is determined based on the current position and the corresponding maximum limit position of the joint.

[0074] Specifically, based on the current position of the robotic arm joint, the spatial coordinates of the robotic arm joint can be obtained. Then, based on the coordinates of the corresponding preset minimum limit position of the joint, the distance from the robotic arm joint to the minimum limit position, i.e., the minimum limit distance, can be calculated. Similarly, based on the corresponding maximum limit position of the joint, the distance from the robotic arm joint to the preset maximum limit position of the joint, i.e., the maximum limit distance, can be calculated.

[0075] Furthermore, the minimum limiting distance satisfies:

[0076]

[0077] The maximum limit distance satisfies:

[0078]

[0079] Where (x, y, z) are the current position coordinates of the robotic arm joint, (x1, y1, z1) are the minimum limit position of the joint, and (x2, y2, z2) are the maximum limit position of the joint.

[0080] Furthermore, when the robotic arm joints move in a linear motion, the corresponding limit distance can be determined based on the coordinates of the linear position. For example, when moving in a linear motion in the opposite direction along the X-axis, the corresponding Y-axis and Z-axis coordinates are both 0. Therefore, the minimum limit distance for linear motion can be obtained as follows:

[0081]

[0082] The maximum limit distance of linear motion satisfies:

[0083]

[0084] In this optional embodiment, by calculating the minimum limit distance, and based on the change in the maximum limit distance, the distance of the robotic arm joint from the corresponding minimum joint limit position can be accurately determined. When approaching the minimum limit position, the speed of the robotic arm joint can be adjusted in a timely manner to effectively reduce the speed of the robotic arm joint when it reaches the minimum limit position, avoiding vibration during braking. This allows the robotic arm joint to stop accurately at the corresponding maximum limit position when it reaches the minimum limit position. Similarly, by adjusting the speed of the robotic arm joint based on the change in the maximum limit distance, it can also be ensured that the robotic arm joint can be accurately controlled to stop when it reaches the maximum limit position, thus allowing the robotic arm to stop accurately at the maximum limit position.

[0085] Optionally, limiting the movement speed of the robotic arm joint based on the change in the limit distance includes:

[0086] Based on the comparison between the extreme distance and the preset limit threshold, it is determined whether the robotic arm joint needs to be decelerated.

[0087] If so, the adjustment speed of the robotic arm joint is determined based on the preset maximum movement speed and speed relationship.

[0088] Optionally, the velocity relationship satisfies:

[0089] V act =α×V max , α∈(0,1);

[0090] Among them, V act For the adjustment of the motion speed, V max Let α be the maximum speed, and α be the speed parameter.

[0091] Specifically, based on the current direction of motion, the direction of the corresponding limit position of the robotic arm joint is determined, and the change in the distance from the robotic arm joint to the corresponding limit position is detected. That is, the limit distance is compared with a pre-set limit threshold. Based on the comparison result, it is determined whether the current speed of the robotic arm joint needs to be adjusted. As the robotic arm moves towards the joint limit position, the limit distance to the joint limit position becomes smaller and smaller. When the corresponding limit distance and the limit threshold meet the deceleration condition, the current motion speed of the robotic arm joint needs to be reduced. The speed after deceleration is calculated by using the pre-set maximum motion speed and speed relationship of the robotic arm joint, and the robotic arm joint is controlled to move along the corresponding limit position direction at the adjusted motion speed. As long as the deceleration adjustment condition is met, the robotic arm joint always maintains the adjusted speed and moves towards the corresponding limit position direction. If the comparison result does not meet the adjustment condition, it means that the robotic arm joint does not need to be decelerated, and the current motion state of the robotic arm joint is maintained. The change in the corresponding limit distance in the motion direction is monitored in real time. After the deceleration adjustment condition is met, the motion of the robotic arm joint is controlled by speed limit adjustment.

[0092] For example, when adjusting the movement speed of the robotic arm joint, the adjustment speed is determined based on the preset maximum movement speed of the robotic arm joint, such as the maximum movement speed V. max Given a velocity of 1 cm / s and a velocity parameter α set to 0.2 based on the specific application scenario, the adjusted motion velocity V can be calculated using the velocity relationship. act The velocity parameter α is 0.2 × 1 = 0.2 cm / s. The velocity parameter α is set according to the actual application scenario. When high control precision is required, the velocity parameter α can be set smaller to ensure the adjustment speed V reaches the limit position. act The inertia is also relatively small, which makes the inertia of the robotic arm joints relatively small when they reach the corresponding limit positions, ensuring that the robotic arm joints can be precisely controlled to stop at the limit positions.

[0093] Furthermore, such as Figure 3 As shown, each joint is an active joint. The encoder's output signal is a pulse signal, and its frequency is proportional to the rotation angle. Therefore, the actual angle of each joint of the robotic arm can be obtained from the number of encoder output signal pulses and the encoder's resolution, i.e., rotation angle = (number of encoder output signal pulses ÷ encoder resolution) × 360°. Thus, the movement speed of the corresponding robotic arm joint can be determined based on the time required for the corresponding robotic arm and rotation angle. Figure 6As shown, the rotation angle of the robotic arm's rotary joint J1 is calculated to be θ. The rotation angle θ is divided by the rotation time to obtain the rotational angular velocity. Finally, the current motion speed V of the robotic arm's parallelogram joint J2 can be calculated by multiplying the rotational angular velocity by the corresponding second robotic arm 2. d Where, the distance from point A to point B is the movement distance of the parallelogram joint J2 of the robotic arm, and when V d Greater than V act Then the speed of the joint is adjusted to V. act .

[0094] In this optional embodiment, by comparing the limit distance with the corresponding limit threshold, the degree of proximity of the current position of the robotic arm joint to the corresponding limit position can be accurately determined. Based on the comparison result, it can be accurately determined whether the robotic arm joint needs to be decelerated. If adjustment is needed, the robotic arm joint is controlled to continue moving towards the corresponding limit position according to the obtained adjustment speed. This ensures that the movement speed of the robotic arm joint when reaching the limit position is controlled within a reasonable range, thereby controlling the robotic arm joint to brake and stop at the limit position at a relatively low speed. This ensures that the robotic arm can stop accurately at the limit position, thereby improving the control accuracy of the robotic arm.

[0095] Optionally, determining whether the robotic arm joint needs to be decelerated based on the comparison result between the limit distance and the preset limit threshold includes:

[0096] When the limit distance is less than the limit threshold and the current movement direction points to the joint limit position direction, it is determined that the mechanical joint needs to perform the speed reduction adjustment; otherwise, the speed reduction adjustment is not required.

[0097] Specifically, when the current direction of movement points towards the joint's limit position and the limit distance is less than the preset limit threshold, it indicates that the robotic arm joint is close to the limit position. Continuing to move in the current state will reach the limit position. Therefore, it is determined that the robotic arm joint needs to be decelerated so that it can reach the corresponding limit position at a relatively low adjustment speed. If the above conditions are not met simultaneously, i.e., the limit distance is greater than or equal to the limit threshold, no deceleration adjustment is needed regardless of the direction of movement. It should be noted that as long as the direction of movement points towards the joint's limit position and the corresponding limit distance is less than the limit threshold, the robotic arm joint needs to be continuously decelerated so that it always moves towards the corresponding limit position at the adjusted adjustment speed, thereby ensuring that the speed at which the limit position is reached is within a controllable and reasonable range.

[0098] In this optional embodiment, when the limit distance is less than the limit threshold, the robotic arm joint reaches the limit position at a lower braking speed by speed reduction adjustment, avoiding the robotic arm joint vibration caused during braking, ensuring that the robotic arm joint stops accurately at the limit position, thereby improving the precision and accuracy of robotic arm control.

[0099] Optionally, the method further includes:

[0100] When entering master-slave operation, the initial movement direction and initial position of the robotic arm joint are obtained;

[0101] Based on the initial direction of motion, the initial position, and the corresponding joint limit position, determine whether to execute a master-slave operation;

[0102] If yes, then the master-slave operation is executed; otherwise, the master-slave operation is not executed.

[0103] Specifically, when entering master-slave operation, the initial movement direction and initial position of the robotic arm joints are first obtained. This includes the initial direction of the robotic arm's shutdown movement controlled by the operator and the initial actual position of the robotic arm joints, as well as the current joint limit position. The system then determines whether to execute the master-slave operation. Because the actual position of the robotic arm joints may exceed the pre-set limit position range due to the inertia of the previous movement, exceeding the limit position could pose safety hazards or damage to the equipment. Therefore, if the robotic arm joints continue to move away from the limit position range after re-entering master-slave operation, the safety hazards may be further aggravated. Therefore, it is necessary to determine whether to enter master-slave operation based on the initial movement direction and initial position of the robotic arm joints, as well as the pre-set corresponding joint limit position. If master-slave operation is possible, the operator's relevant control operations are executed through the master-slave operation. If master-slave operation is not possible, the initial movement direction is readjusted, and the system continues to determine whether master-slave operation is possible.

[0104] For example, this embodiment takes the robotic arm joint control method in a surgical robot system as an example. The surgical robot system mainly consists of a surgical robot and a control console. The surgical robot includes components such as a robotic arm, tool end, and camera. The control console is used by the operator to control and monitor the surgical robot. When a certain robotic arm joint J... x When the joint is at its limit position, the console control software will communicate with the corresponding robotic arm joint J via the Ethernet communication protocol. x A warning message indicating that the limit switch has been triggered is sent to the console software program. Upon receiving the message, the console software program... x After triggering the limit alarm message, the corresponding main hand joint K on the console will be affected.x This generates a counterforce, which is generated by the main hand joint K. x J, the joint of the robotic arm in a surgical robot x Correspondingly, the operator uses K on the console. x Implement J x The control, thereby prompting the operator to apply the corresponding primary hand joint K through a counterforce. x The decrease in speed can also simultaneously alert the operator that the main hand joint K is affected. x The soft limit has been reached.

[0105] Furthermore, in this embodiment, the console has 8 main hand joints per main hand, such as... Figure 7 As shown, the main control arm's first joint K1 controls the robotic arm's rotation joint J1; the main control arm's second joint K2 controls the robotic arm's parallelogram joint J2; the main control arm's third joint K3 controls the robotic arm's slide J3; the main control arm's seventh joint K7 controls the device's rotation joint J4; the main control arm's fifth joint K5 controls the device's pitch joint J5; and the main control arm's eighth joint is the right-side clamp K... 8R Used to control the right lateral swing joint J6 of the instrument, and the left clamp K of the eighth joint of the control console master hand. 8L It should be noted that the fourth joint K4 and the sixth joint K6 of the control console master hand are redundant joints, only to make the operation smoother, and will not affect the movement position or posture of the robotic arm of the patient's surgical platform due to the joint angle.

[0106] In this optional embodiment, when entering master-slave operation, the initial movement direction, initial position and corresponding joint limit position of the robotic arm joint are used to determine whether to perform master-slave operation. This ensures that after entering master-slave operation, the robotic arm joint will not move away from the range area defined by the pre-set joint limit position, so that the robotic arm joint works within a reasonable range area.

[0107] Optionally, the joint limit positions include the maximum limit position and the minimum limit position; the step of determining whether to perform a master-slave operation based on the initial movement direction, the initial position, and the corresponding joint limit positions includes:

[0108] When the initial position is between the minimum limit position and the maximum limit position of the joint, the master-slave operation is executed;

[0109] When the initial position is less than or equal to the minimum limit position of the joint, and the initial movement direction points in the direction of the minimum limit position of the joint, the master-slave operation is executed.

[0110] When the initial position is greater than or equal to the maximum limit position of the joint, and the initial movement direction points in the direction of the maximum limit position of the joint, the master-slave operation is executed.

[0111] For example, such as Figure 5 As shown, taking the linear motion of a robotic arm joint as an example, when moving from position P2 or P3 within the joint's limit position to position P1 or P4 outside the joint's limit position, the system defaults to determining that the target position can only reach the joint's minimum limit position P. min Or the maximum limit position P of the joint max It will not exceed the limit position range of the joint, that is, P. min and P max Within the included area, therefore, when the robotic arm joint is in its limit position range, i.e., the initial position P act Greater than P min And less than P max If the master-slave operation is executed, the robotic arm joints will move within their limit positions. However, due to the steady-state error of the motion inertial motor, the actual position may be within the joint limit positions (P2 and P3) or outside the joint limit positions (P1 and P4). In this case, if the master-slave operation is disconnected and re-entered, special consideration needs to be given to the situation where the actual position is outside the joint limit positions. For example, if the actual initial position is at P1, that is, the actual initial position is less than or equal to the minimum limit position P of the joint. min If the conditions for executing a master-slave operation are not met, but to maintain the continuity of the operation, it is necessary to determine the initial velocity direction of the robotic arm joint at this time. If the initial velocity direction is from outside the joint's limit position range inward, that is, the initial motion direction points to P. min If the initial velocity direction is within the soft limit range (i.e., from P2 to P1), then the master-slave operation can be performed. After performing the master-slave operation, ensure that the robotic arm joint moves within the range defined by the joint's limit position. If the initial velocity direction is from inside to outside the soft limit range, i.e., the initial movement direction is from P2 to P1, then the master-slave operation cannot be performed. Similarly, when the actual initial position is P4, i.e., the initial position is greater than or equal to the joint's maximum limit position P... max And the initial direction of motion points to P. max If the condition is met, the master-slave operation is determined to be feasible, thus ensuring that the robotic arm joints move within the range of their limit positions after the master-slave operation is executed; otherwise, the master-slave operation is not executed.

[0112] In this optional embodiment, by determining the initial movement direction and initial position of the robotic arm joint, whether to enter master-slave operation when the robotic arm joint deviates from the joint limit position, the robotic arm joint after entering master-slave operation will move towards the range limited by the joint limit position, so that the final movement range of the robotic arm knee joint is within a reasonable control range, effectively improving the safety and stability of the robotic arm operation.

[0113] Optionally, the method further includes:

[0114] Based on the current position and direction of movement of the slider of the robotic arm slide;

[0115] The slider limit distance is determined based on the current position of the slider and the preset slider limit position;

[0116] When the slider's movement direction points to the direction of the slider's extreme position, the movement speed of the robotic arm slider is adjusted according to the change in the slider's extreme distance.

[0117] Specifically, the slider's limit distance from its position on the robotic arm's slide is determined. When the slider's movement direction points towards the slider's limit position, the slider's movement speed is adjusted based on the change in this limit distance. That is, when the slider's limit distance is less than the set distance, the slider needs to be decelerated. This ensures that the slider's speed remains within a reasonable range when it reaches the corresponding limit position, preventing excessive motion inertia when the slider brakes at the limit position. This allows the slider to stop accurately at the corresponding limit position, effectively improving the precision and stability of the robotic arm's motion control.

[0118] like Figure 8 As shown, an embodiment of the present invention provides a robotic arm control device 400, comprising:

[0119] The acquisition module 410 is used to acquire the current position and current direction of movement of the robotic arm joints;

[0120] Processing module 420 is used to determine the limit distance based on the current position and the preset joint limit position;

[0121] The control module 430 is used to adjust the movement speed of the robotic arm joint according to the change of the limit distance when the current movement direction points to the direction where the joint limit position is located.

[0122] The robotic arm control device of this embodiment is used to implement the robotic arm control method described above. Its advantages over the prior art are the same as the advantages of the robotic arm control method described above compared with the prior art, and will not be repeated here.

[0123] Optionally, the processing module 420 is further configured to: determine the minimum limit distance based on the current position and the corresponding minimum limit position of the joint; and determine the maximum limit distance based on the current position and the corresponding maximum limit position of the joint.

[0124] Optionally, the control module 430 is further configured to: determine whether the robotic arm joint needs to be decelerated based on the comparison result between the limit distance and a preset limit threshold; if so, determine the adjustment speed of the robotic arm joint based on a preset maximum movement speed and speed relationship; the speed relationship satisfies: V act =α×V max , α∈(0,1); where, V act For the adjustment of the motion speed, V max Let α be the maximum speed, and α be the speed parameter.

[0125] Optionally, the control module 430 is further configured to: determine that the mechanical joint needs to perform the deceleration adjustment when the limit distance is less than the limit threshold and the current movement direction points to the joint limit position direction; otherwise, the deceleration adjustment is not required.

[0126] Optionally, the robotic arm control device 400 further includes an execution module 440, which is used to: when entering a master-slave operation, obtain the initial movement direction and initial position of the robotic arm joint; determine whether to execute the master-slave operation based on the initial movement direction, the initial position and the corresponding joint limit position; if yes, then execute the master-slave operation; if no, then do not execute the master-slave operation.

[0127] Optionally, the control module 430 is further configured to: determine the slider limit distance based on the current position and slider movement direction of the slider of the robotic arm slide table; determine the slider limit distance based on the current slider position and the preset slider limit position; and adjust the movement speed of the robotic arm slider according to the change of the slider limit distance when the slider movement direction points to the direction of the slider limit position.

[0128] Optionally, the robotic arm control device 400 further includes an execution module 440.

[0129] like Figure 9 As shown, an electronic device 500 provided in this embodiment of the invention includes a memory 510 and a processor 520; the memory 510 is used to store a computer program; the processor 520 is used to implement the robotic arm control method as described above when the computer program is executed.

[0130] Alternatively, an electronic device 500 includes a memory 510 and a processor 520 coupled to the memory 510; the memory 510 is configured to store a computer program; and the processor 520 is configured to perform the following operations when the computer program is executed:

[0131] Obtain the current position and current direction of movement of the robotic arm joints;

[0132] The limit distance is determined based on the current position and the preset joint limit position;

[0133] When the current direction of motion points to the direction of the joint's extreme position, the movement speed of the robotic arm joint is adjusted according to the change in the extreme distance.

[0134] This invention provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the robotic arm control method described above.

[0135] Alternatively, a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the following operations:

[0136] Get the request information;

[0137] The number of request messages is determined, and the batch size of the batch processing is adjusted according to the number of request messages to obtain the adjusted batch size, wherein the adjusted batch size is positively correlated with the number of request messages;

[0138] Based on the adjusted batch size, the corresponding number of request information entries are input into the model for parallel processing to obtain the inference results corresponding to the request information.

[0139] Electronic device 500, which can serve as a server or client of the present invention, is described below as an example of a hardware device applicable to various aspects of the present invention. Electronic device 500 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic device 500 can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0140] Electronic device 500 includes a computing unit that can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) or a computer program loaded from a storage unit into random access memory (RAM). The RAM may also store various programs and data required for device operation. The computing unit, ROM, and RAM are interconnected via a bus. Input / output (I / O) interfaces are also connected to the bus.

[0141] This invention provides a robot that employs the aforementioned robotic arm control method, comprising a first robotic arm 1, a second robotic arm 2, a robotic arm slide 3, a lead screw 4, a third robotic arm 5, a fourth robotic arm 6, a fifth robotic arm 7, a base 8, a quadrilateral robotic arm mechanism 9, a robotic arm rotary joint J1, a robotic arm parallelogram joint J2, a robotic arm slider J3, a robotic arm rotation joint J4, a robotic arm pitch joint J5, a robotic arm left yaw J6, and a robotic arm right yaw J7. The base 8 is connected to one end of the first robotic arm 1. The other end of the first robotic arm 1 is rotatably connected to one end of the second robotic arm 2 via the robotic arm rotary joint J1. The other end of the second robotic arm 2 is rotatably connected to one end of the quadrilateral robotic arm mechanism 9 via the robotic arm parallelogram joint J2. The other end of the quadrilateral robotic arm mechanism 9 is rotatably connected to one end of the robotic arm slide 3. The lead screw... One end of the lead screw 4 is slidably connected to the robotic arm slide 3 via the slider J3. The other end of the lead screw 4 is rotatably connected to the third robotic arm 5 via the robotic arm rotary joint J4. The other end of the third robotic arm 5 is rotatably connected to the fourth robotic arm 6 and the fifth robotic arm 7 via the robotic arm pitch joint J5. The other end of the fourth robotic arm 6 is rotatably connected to the robotic arm left swing joint J6. The fifth robotic arm 7 is rotatably connected to the robotic arm right swing joint J7. The quadrilateral robotic arm structure 9 also includes a first quadrilateral robotic arm 901 and a second quadrilateral robotic arm. One end of the first quadrilateral robotic arm 901 is rotatably connected to one end of the second quadrilateral robotic arm 902. The other end of the first quadrilateral robotic arm 901 is rotatably connected to the second robotic arm via the parallelogram joint J2. The other end of the second quadrilateral robotic arm 902 is connected to the robotic arm slide 3.

[0142] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc. In this application, the units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments of the present invention according to actual needs. Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units can be implemented in hardware or as software functional units.

[0143] While the present invention has been disclosed above, its scope of protection is not limited thereto. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention, and all such changes and modifications will fall within the scope of protection of the present invention.

Claims

1. A robot arm control method characterized by, The method comprises: acquiring a current position and a current motion direction of a joint of a robot arm; determining a limit distance according to the current position and a preset joint limit position; when the current motion direction points to a direction in which the joint limit position is located, adjusting a motion speed of the joint of the robot arm according to a change of the limit distance; the adjusting of the motion speed of the joint of the robot arm according to the change of the limit distance comprises: judging whether the joint of the robot arm needs to be adjusted in speed according to a comparison result of the limit distance and a preset limit threshold; if yes, determining an adjusted motion speed of the joint of the robot arm according to a preset maximum motion speed and a speed relationship; the judging of whether the joint of the robot arm needs to be adjusted in speed according to the comparison result of the limit distance and the preset limit threshold comprises: when the limit distance is smaller than the limit threshold and the current motion direction points to the direction of the joint limit position, it is determined that the joint of the robot arm needs to be adjusted in speed, otherwise, the joint of the robot arm does not need to be adjusted in speed.

2. The robot control method according to claim 1, wherein the joint limit position comprises a joint maximum limit position and a joint minimum limit position; the limit distance comprises a maximum limit distance and a minimum limit distance; the determining of the limit distance according to the current position and the preset joint limit position comprises: determining the minimum limit distance according to the current position and the corresponding joint minimum limit position; determining the maximum limit distance according to the current position and the corresponding joint maximum limit position.

3. The robot control method according to claim 1, wherein the speed relationship satisfies: V act = α x V max , a e (0, 1); where V act is the adjusted movement speed, V max is the maximum movement speed, and a is a speed parameter.

4. The robot control method according to claim 1, wherein the method further comprises: when entering a master-slave operation, acquiring an initial motion direction and an initial position of the joint of the robot arm; judging whether to execute the master-slave operation according to the initial motion direction, the initial position and the corresponding joint limit position; if yes, executing the master-slave operation, if not, not executing the master-slave operation.

5. The robot control method according to claim 4, wherein the joint limit position comprises a joint maximum limit position and a joint minimum limit position; the judging of whether to execute the master-slave operation according to the initial motion direction, the initial position and the corresponding joint limit position comprises: when the initial position is located between the joint minimum limit position and the joint maximum limit position, executing the master-slave operation; when the initial position is smaller than or equal to the joint minimum limit position and the initial motion direction points to a direction in which the joint minimum limit position is located, executing the master-slave operation; when the initial position is greater than or equal to the joint maximum limit position and the initial motion direction points to a direction in which the joint maximum limit position is located, executing the master-slave operation.

6. The robot control method according to claim 1, wherein the method further comprises: according to an acquired current position and a motion direction of a slider of a robot arm sliding table; determining a slider limit distance according to the current position of the slider and a preset slider limit position; when the motion direction of the slider points to a direction in which the slider limit position is located, adjusting a motion speed of the slider according to a change of the slider limit distance.

7. An electronic device, comprising: comprise a memory and a processor; the memory is used for storing a computer program; The processor is configured to implement the mechanical arm control method according to any one of claims 1 to 6 when executing the computer program.

8. A robot, characterized in that The mechanical arm control method according to any one of claims 1 to 6 is adopted, and a first mechanical arm (1), a second mechanical arm (2), a mechanical arm sliding table (3), a lead screw (4), a third mechanical arm (5), a fourth mechanical arm (6), a fifth mechanical arm (7), a base (8), a quadrilateral mechanical arm mechanism (9), a mechanical arm rotary joint (J1), a mechanical arm parallelogram joint (J2), a mechanical arm sliding block (J3), a mechanical arm swing joint (J4), a mechanical arm pitch joint (J5), a mechanical arm left yaw (J6), and a mechanical arm right yaw (J7) are adopted, one end of the base (8) is connected with the first mechanical arm (1), the other end of the first mechanical arm (1) is rotationally connected with one end of the second mechanical arm (2) through the mechanical arm rotary joint (J1), the other end of the second mechanical arm (2) is rotationally connected with one end of the quadrilateral mechanical arm mechanism (9) through the mechanical arm parallelogram joint (J2), the other end of the quadrilateral mechanical arm mechanism (9) is rotationally connected with one end of the mechanical arm sliding table (3), one end of the lead screw (4) is slidingly connected with the mechanical arm sliding table (3) through the sliding block (J3), the other end of the lead screw (4) is rotationally connected with the third mechanical arm (5) through the mechanical arm swing joint (J4), the other end of the third mechanical arm (5) is rotationally connected with the fourth mechanical arm (6) and the fifth mechanical arm (7) through the mechanical arm pitch joint (J5) respectively, the other end of the fourth mechanical arm (6) is rotationally connected with the mechanical arm left yaw (J6), and the fifth mechanical arm (7) is rotationally connected with the mechanical arm right yaw (J7).

Citation Information

Patent Citations

  • Motion and speed control method of bionic jellyfish like underwater robot

    CN109866904A

  • Method and device for controlling master-slave robot

    CN115847371A