Mechanical arm control method and device, computer equipment and storage medium
By acquiring real-time environmental images and determining dynamic motion points, the robotic arm optimizes its grasping strategy in complex environments, solving the problem of low grasping success rate and achieving efficient grasping control.
Patent Information
- Application Number
- CN202511707255.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-20
- Publication Date
- 2026-01-23
AI Technical Summary
Existing robotic arm grasping methods have low success rates in complex, obstacle-filled environments, lack dynamic quality assessment and adaptive motion type judgment mechanisms, and are difficult to cope with environmental changes.
By acquiring environmental images in real time, identifying the positional relationship between candidate action points and obstacles, dynamically determining the type of action point, prioritizing the execution of pushing actions to optimize the grasping conditions, and combining this with an iterative update strategy, a closed-loop control is formed.
It significantly improves the success rate of robotic arms in grasping complex scenarios and overcomes the problems of interference from dynamic obstacles and inaccurate selection of grasping points.
Smart Images

Figure CN121374593A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, in particular to a robot arm control method and device, computer equipment and a storage medium. BACKGROUND
[0002] With the rapid development of robots and automation technology, robot arms are increasingly widely used in industrial grasping, flexible object manipulation and other scenarios.
[0003] In traditional technology, robot arm grasping mainly relies on pre-programmed paths or grasping point judgment methods based on fixed thresholds, and has poor adaptability to environmental changes. In recent years, grasping strategies based on deep learning or physical simulation have improved grasping accuracy to some extent, but they have problems such as high computational resource consumption, insufficient real-time performance, and difficulty in adjusting grasping strategies flexibly in dynamic environments.
[0004] However, the current grasping control method still has problems such as insufficient use of environmental perception information, lack of dynamic quality evaluation and action type adaptive judgment mechanism when facing complex and multi-obstacle environments, resulting in low grasping success rate. SUMMARY
[0005] Therefore, it is necessary to provide a robot arm control method, device, computer equipment and storage medium capable of improving the grasping success rate to solve the above technical problems.
[0006] In a first aspect, the present application provides a robot arm control method, comprising:
[0007] For each iteration process, environmental data of an environment in which the object to be grasped is located is obtained; the environmental data includes an environmental image;
[0008] According to the environmental image, at least one candidate action point on the object to be grasped and the positional relationship between the object to be grasped and at least one obstacle in the current environment are determined;
[0009] According to the positional relationship, a target action point and an action point type of the target action point are determined from the at least one candidate action point;
[0010] In the case where the action point type of the target action point is a pushing point, the robot arm is controlled to perform a pushing action on the object to be grasped at the target action point, and the next iteration process is continued;
[0011] In the case where the action point type of the target action point is a grasping point, the robot arm is controlled to perform a grasping action on the object to be grasped at the target action point to grasp the object to be grasped.
[0012] In one of the embodiments, determining the target action point from the at least one candidate action point according to the positional relationship comprises:
[0013] select at least one valid action point from the at least one candidate action point according to the respective position relationship and a preset action range of the different candidate action points;
[0014] select the valid action point with the highest preset action score as the target action point.
[0015] In one of the embodiments, the selecting at least one valid action point from the at least one candidate action point according to the respective position relationship and a preset action range of the different candidate action points comprises:
[0016] determining a movable action range of the object to be grabbed according to the respective position relationship;
[0017] determining the validity of each candidate action point according to the overlapping relationship between the preset action range of the candidate action point and the movable action range; wherein the valid action point is the valid candidate action point.
[0018] In one of the embodiments, the action point type comprises a grabbing point and a pushing point; and the determining the action point type of the target action point according to the respective position relationship comprises:
[0019] when the respective position relationship indicates that the distance between the object to be grabbed and the corresponding obstacle is greater than the preset distance threshold, determining the action point type of the target action point as the grabbing point;
[0020] when any of the respective position relationship indicates that the distance between the object to be grabbed and the corresponding obstacle is not greater than the preset distance threshold, determining the action point type of the target action point as the pushing point.
[0021] In one of the embodiments, before the determining the target action point and the action point type of the target action point from the at least one candidate action point according to the respective position relationship, the method further comprises:
[0022] selecting a reference action point from the at least one candidate action point according to the size relationship between the preset action score of the different candidate action points and an action score threshold;
[0023] deleting the reference action point to update the candidate action point.
[0024] In one of the embodiments, the environment data further comprises environment perception data; and the action score threshold is determined by:
[0025] determining, based on the environment influence function, the action influence data of the environment perception data on the object to be grabbed in the current iteration process according to the environment perception data; wherein the action influence data is used to represent the influence degree of the environment perception data on the preset action score of the object to be grabbed;
[0026] According to the action influence data and the preset action influence weight, a motion score threshold in the current iteration process is determined.
[0027] In one of the embodiments, the method further comprises:
[0028] After the mechanical arm performs the grabbing action for a preset time length, a clamping degree of the gripper on the mechanical arm is determined.
[0029] In a case where the clamping degree is not clamped, it is determined that the object to be grabbed is successfully grabbed.
[0030] In a case where the clamping degree is clamped, it is determined that the object to be grabbed is not successfully grabbed, and the mechanical arm is repeatedly controlled to perform the grabbing action.
[0031] In one of the embodiments, the method further comprises:
[0032] In a case where the object to be grabbed is not successfully grabbed after the grabbing action is repeatedly performed for a preset number of times, the target action point is deleted, and the next iteration process is continued.
[0033] In a second aspect, the application further provides a mechanical arm control device, comprising:
[0034] An acquisition module is configured to acquire, for each iteration process, environment data of an environment in which an object to be grabbed is located; the environment data comprises an environment image.
[0035] A determination module is configured to determine, according to the environment image, at least one candidate action point on the object to be grabbed and a positional relationship between the object to be grabbed and at least one obstacle in a current environment.
[0036] A selection module is configured to determine, according to the positional relationships, a target action point and an action point type of the target action point from the at least one candidate action point.
[0037] An execution module is configured to, in a case where the action point type of the target action point is a pushing point, control the mechanical arm to perform a pushing action on the object to be grabbed at the target action point and continue the next iteration process; and in a case where the action point type of the target action point is a grabbing point, control the mechanical arm to perform a grabbing action on the object to be grabbed at the target action point to grab the object to be grabbed.
[0038] In a third aspect, the application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0039] For each iteration process, environment data of an environment in which an object to be grabbed is located is acquired; the environment data comprises an environment image.
[0040] determine, according to the environment image, at least one candidate action point on the object to be grabbed and a position relationship between the object to be grabbed and at least one obstacle in the current environment;
[0041] determine, according to the position relationships, a target action point and an action point type of the target action point from the at least one candidate action point;
[0042] in a case where the action point type of the target action point is a pushing point, control the robot arm to perform a pushing action on the object to be grabbed at the target action point and continue the next iteration process;
[0043] in a case where the action point type of the target action point is a grabbing point, control the robot arm to perform a grabbing action on the object to be grabbed at the target action point to grab the object to be grabbed.
[0044] In a fourth aspect, the present application further provides a computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the following steps:
[0045] for each iteration process, obtain environment data of an environment in which the object to be grabbed is located; the environment data comprises an environment image;
[0046] determine, according to the environment image, at least one candidate action point on the object to be grabbed and a position relationship between the object to be grabbed and at least one obstacle in the current environment;
[0047] determine, according to the position relationships, a target action point and an action point type of the target action point from the at least one candidate action point;
[0048] in a case where the action point type of the target action point is a pushing point, control the robot arm to perform a pushing action on the object to be grabbed at the target action point and continue the next iteration process;
[0049] in a case where the action point type of the target action point is a grabbing point, control the robot arm to perform a grabbing action on the object to be grabbed at the target action point to grab the object to be grabbed.
[0050] In a fifth aspect, the present application further provides a computer program product comprising a computer program, the computer program being executed by a processor to implement the following steps:
[0051] for each iteration process, obtain environment data of an environment in which the object to be grabbed is located; the environment data comprises an environment image;
[0052] determine, according to the environment image, at least one candidate action point on the object to be grabbed and a position relationship between the object to be grabbed and at least one obstacle in the current environment;
[0053] determine a target action point and an action point type of the target action point from the at least one candidate action point according to the positional relationship;
[0054] in a case where the action point type of the target action point is a pushing point, control the robot arm to perform a pushing action on the to-be-grabbed object at the target action point, and continue to perform the next iteration process;
[0055] in a case where the action point type of the target action point is a grabbing point, control the robot arm to perform a grabbing action on the to-be-grabbed object at the target action point to grab the to-be-grabbed object.
[0056] The robot arm control method, device, computer device and storage medium described above collect and analyze environment images in real time in each iteration process, accurately identify candidate action points and obstacle positional relationships, and thus establish an environment dynamic model; the action point type is dynamically determined based on the positional relationship, a pushing action is preferentially performed to optimize the grabbing condition when there is an obstacle interference, and grabbing is directly performed when there is no occlusion, forming a closed-loop control of "perception-decision-execution-feedback". The traditional method of blind grabbing in a complex scene is avoided, the grabbing environment is actively improved through the pushing action, and the action selection is continuously corrected in combination with the iteration update strategy. Through adaptive matching of environment perception and action type, the system effectively overcomes the difficulties of dynamic obstacle interference and inaccurate grabbing point selection, and finally significantly improves the grabbing success rate of the robot arm in a complex scene. BRIEF DESCRIPTION OF DRAWINGS
[0057] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the embodiments or related art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0058] Figure 1 An application environment diagram of a robot arm control method provided by the present embodiment;
[0059] Figure 2 A flowchart of a first robot arm control method provided by the present embodiment;
[0060] Figure 3 A flowchart of a target action point selection step provided by the present embodiment;
[0061] Figure 4 A flowchart of a candidate action point updating step provided by the present embodiment;
[0062] Figure 5 A flowchart of a clamping determination step provided by the present embodiment;
[0063] Figure 6 A structural block diagram of a mechanical arm control device is provided for the embodiment;
[0064] Figure 7 An internal structure diagram of a computer device is provided for the embodiment. DETAILED DESCRIPTION
[0065] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not to limit the present application.
[0066] The mechanical arm control method provided by the embodiment of the present application can be applied in the application environment as shown in Figure 1 . The computer device 101 is connected with the mechanical arm 102, and the connection mode can be wired connection or wireless connection, which is not limited in the embodiment. The computer device acquires environment data of an environment where a to-be-grabbed object is located for each iteration process. The environment data includes an environment image. According to the environment image, at least one candidate action point on the to-be-grabbed object and a positional relationship between the to-be-grabbed object and at least one obstacle in the current environment are determined. According to the positional relationships, a target action point and an action point type of the target action point are determined from the at least one candidate action point. In the case that the action point type of the target action point is a pushing point, the mechanical arm is controlled to perform a pushing action on the to-be-grabbed object at the target action point, and the next iteration process is continued. In the case that the action point type of the target action point is a grabbing point, the mechanical arm is controlled to perform a grabbing action on the to-be-grabbed object at the target action point to grab the to-be-grabbed object. The computer device 101 can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things device can be a smart speaker, a smart television, a smart air conditioner, a smart vehicle device, etc.
[0067] In an exemplary embodiment, as shown in Figure 2 , a mechanical arm control method is provided. The method is described by taking the computer device in Figure 1 as an example, which includes the following steps S201 to S205. Wherein:
[0068] S201 acquires environment data of an environment where a to-be-grabbed object is located for each iteration process.
[0069] The to-be-grabbed object represents a specific target object that needs to be grabbed, moved or operated by a mechanical arm or a robot in an automated grabbing task. The object can have different shapes, sizes, materials and surface characteristics, and can be in a complex or dynamically changing environment.
[0070] wherein the environment data represents a collection of information collected by various sensors (such as cameras, lidar, infrared sensors, etc.) during the robot's execution of the grasping task, which is used to describe the state of the object to be grasped and its surrounding environment. These data can include environmental images, depth information, obstacle positions, lighting conditions, temperature, humidity, etc., to support the robot's environment perception, decision-making, and action execution. The environment data includes environment images.
[0071] wherein the environment image, as part of the environment data, is a two-dimensional or three-dimensional image captured by visual sensors (such as RGB cameras, depth cameras, etc.), reflecting the visual features of the object to be grasped and its surrounding environment. These images are used in the robot's visual perception system to identify key information such as the object to be grasped, obstacles, grasping points, etc., to guide the planning and execution of the robot's grasping actions.
[0072] In some embodiments, for each iteration process, the environment data of the environment where the object to be grasped is located is obtained by a perception device. For example, the perception device can be a camera and a sensor, etc., which can be installed on the robot arm or in a stationary position close to the robot arm. It should be noted that in the case of installing the perception device on the robot arm, it can be specifically installed at the center of the robot arm's grip.
[0073] S202 determines at least one candidate action point on the object to be grasped and the positional relationship between the object to be grasped and at least one obstacle in the current environment according to the environment image.
[0074] wherein the candidate action point represents a target position point that the robot arm may perform grasping or pushing actions according to the environment perception data (such as environment images) in the robot's grasping task. These points are usually located on the surface of the object to be grasped and are selected according to certain evaluation criteria (such as grasping stability, accessibility, etc.) as candidates for subsequent action selection. It should be noted that the embodiment can also set action point parameters for the candidate action point, which can include action angle θ, action width ω, action score m, and action type t, i.e., candidate action point G(p)=(θ,ω,m,t).
[0075] wherein the obstacle refers to any static or dynamic object that may hinder the robot arm from performing grasping or pushing actions. These obstacles may include other objects, equipment, walls, or personnel, etc., which may increase the complexity and risk of the grasping task.
[0076] The position relationship refers to the relative spatial position and directional relationship between the to-be-grabbed object, the end effector (such as a gripper) of the robot arm, and obstacles in the environment. This relationship is usually described by parameters such as coordinate systems, distances, and angles, and is used to guide the path planning and action execution of the robot to avoid collisions and successfully complete the grabbing task.
[0077] In some embodiments, based on a pre-trained image recognition model, the position relationship between the to-be-grabbed object and at least one obstacle in the current environment is determined according to the environment image; based on a pre-trained action point recognition model, at least one candidate action point on the to-be-grabbed object is determined according to the environment image.
[0078] For example, since the environment image can be a three-dimensional image, in the case of a three-dimensional image, the position relationship between the to-be-grabbed object and at least one obstacle in the current environment can also be obtained directly from the environment image. For example, the distance relationship between the to-be-grabbed object and the wall of the box in which the to-be-grabbed object is placed, i.e., close or far.
[0079] For example, based on the pre-trained action point recognition model, the object width of the to-be-grabbed object is recognized from the environment image, and the object width is used as the action width of each candidate action point; according to the object description data of the to-be-grabbed object, the action score of each candidate action point is determined.
[0080] S203 determines a target action point and the action point type of the target action point from the at least one candidate action point according to the position relationship.
[0081] The target action point refers to the position point selected finally according to the environment perception data and the decision algorithm, at which the robot arm will perform a specific action (such as grabbing or pushing). This point is the optimal or most suitable action execution position obtained by evaluation and screening from multiple candidate action points.
[0082] The action point type refers to the classification of the target action point according to the specific action nature to be performed by the robot arm at the target action point. Common action point types include “grabbing point” (the robot arm performs a grabbing action at this point) and “pushing point” (the robot arm performs a pushing action at this point to adjust the position or posture of the object), and may also include “invalid point” (the robot arm cannot perform an effective action at this point due to various reasons such as obstacle blocking and inaccessibility).
[0083] In an optional embodiment, based on a classification algorithm, a target action point and the action point type of the target action point are determined from at least one candidate action point according to the position relationship. For example, as shown in the following formula (1):
[0084] P grasp ,Ppush P invalid = Classifier (P valid ) (1)
[0085] where P grasp is the grasp point, P push is the push point, P invalid is the invalid point, and P valid is the candidate action point.
[0086] In some embodiments, if all the position relations indicate that the distance between the object to be grasped and the corresponding obstacle is greater than the preset distance threshold, the action point type of the target action point is determined to be the grasp point; if any position relation indicates that the distance between the object to be grasped and the corresponding obstacle is not greater than the preset distance threshold, the action point type of the target action point is determined to be the push point.
[0087] For example, the size relationship between the distance between the object to be grasped and the corresponding obstacle in each position relation and the preset distance threshold is determined; if all the position relations indicate that the distance between the object to be grasped and the corresponding obstacle is greater than the preset distance threshold, the action point type of the target action point is determined to be the grasp point; if any position relation indicates that the distance between the object to be grasped and the corresponding obstacle is not greater than the preset distance threshold, the action point type of the target action point is determined to be the push point.
[0088] S204, if the action point type of the target action point is the push point, the robot arm is controlled to perform a push action on the object to be grasped at the target action point, and the next iteration process is continued.
[0089] where the push point refers to a specific position point selected by the robot arm according to environmental perception and decision-making algorithm for performing a push action. This point is usually located on the surface of the object to be grasped or the object whose position needs to be adjusted, and the robot arm moves or adjusts the object's posture by applying force at this point to optimize the grasping conditions, avoid obstacles or meet other operation requirements.
[0090] where the push action refers to the end effector (such as a push claw or finger) of the robot arm exerting a force on the object to be grasped or other objects in the environment at the target action point, causing the object to change its position or posture, thereby optimizing the grasping conditions, avoiding obstacles or achieving other predetermined operation purposes. This action usually does not involve grasping or fixing the object, but achieves the movement or adjustment of the object through physical contact and force transmission.
[0091] In some embodiments, when the action point type of the target action point is a push point, it indicates that the robot arm cannot complete the grasping of the object at the target action point. Therefore, the robot arm can be controlled to perform a gripping action at the target action point as the contact point between the gripper and the object to be grasped, and the robot arm can be controlled to perform a pushing action at the contact point to continue the next iteration process until the robot arm grasps the object to be grasped.
[0092] S205 When the action point type of the target action point is a grasp point, the robot arm is controlled to perform a grasping action on the object to be grasped at the target action point.
[0093] The grasp point refers to a specific position point on the surface of the object to be grasped selected by the robot arm based on environmental perception data and decision algorithms. This point is determined to be a suitable position for the end effector (such as a gripper) of the robot arm to perform a grasping operation, usually based on a comprehensive evaluation of factors such as grasping stability, accessibility, object shape, and material.
[0094] The grasping action refers to the process of moving the end effector (such as a gripper) of the robot arm to the selected grasp point and fixing and grasping the object to be grasped by closing the gripper or applying appropriate force. This action aims to achieve the movement of the object from the original position to the robot arm or a designated position, and is a key step in automated grasping tasks.
[0095] In some embodiments, when the action point type of the target action point is a grasp point, it indicates that the robot arm can complete the grasping of the object at the target action point. Therefore, the gripper of the robot arm can be controlled to fall on the corresponding target action point to perform a grasping action on the object to be grasped, thereby grasping the object to be grasped.
[0096] The above robot control method collects and analyzes environmental images in real time in each iteration process, accurately identifies candidate action points and obstacle position relationships, and establishes an environmental dynamic model. Based on the position relationship, the action point type is dynamically determined. When there is obstacle interference, a pushing action is preferentially performed to optimize the grasping conditions, and when there is no obstruction, a grasping action is directly performed, forming a closed-loop control of "perception-decision-execution-feedback". This avoids the blind grasping of traditional methods in complex scenes, actively improves the grasping environment through the pushing action, and continuously corrects the action selection in combination with the iteration update strategy. Through adaptive matching of environmental perception and action type, the system effectively overcomes the difficulties of dynamic obstacle interference and inaccurate grasp point selection, and finally significantly improves the grasping success rate of the robot arm in complex scenes.
[0097] Figure 3A flowchart of the step of selecting a target action point in an embodiment. This embodiment refines the step of determining a target action point from at least one candidate action point based on the positional relationships in the above-mentioned embodiment, including the following steps:
[0098] S301 Select at least one valid action point from at least one candidate action point based on the positional relationships and the preset action range of different candidate action points.
[0099] The preset action range refers to the effective spatial region or angle range that the end effector of the robot arm (such as a gripper) can perform actions at each candidate action point of the robot arm. This range takes into account the kinematic characteristics of the robot arm, the size and shape of the gripper, and the characteristics of the object to be grasped, ensuring that the robot arm does not collide with obstacles in itself or the environment when performing actions, and can effectively complete the grasping or pushing task.
[0100] The valid action point refers to those candidate action points that are both on the surface of the object to be grasped or the surface of the object that needs to be adjusted in position, and are within the preset action range of the robot arm. These points have passed the evaluation of robot accessibility, grasping stability or pushing effectiveness, and are determined to be positions where the robot can actually perform grasping or pushing actions. Only when a candidate action point becomes a valid action point, will it be further considered for generating action configurations and performing specific grasping or pushing tasks.
[0101] In an optional embodiment, at least one valid action point is selected from at least one candidate action point based on a classification algorithm, according to the positional relationships and the preset action range of different candidate action points.
[0102] In an optional embodiment, the actionable range of the object to be grasped is determined based on the positional relationships; for each candidate action point, the effectiveness of the candidate action point is determined based on the overlapping relationship between the preset action range of the candidate action point and the actionable range; and the valid action point is the effective candidate action point.
[0103] Optionally, the actionable range of the object to be grasped is determined based on the positional relationships in the following ways: it can be directly identified from the positional relationships; or it can be determined based on a preset action range identification model according to the positional relationships.
[0104] For example, if there is an overlapping relationship between the preset action range of the candidate action point and the actionable range, the candidate action point is determined to be valid; if there is no overlapping relationship between the preset action range of the candidate action point and the actionable range, the candidate action point is determined to be invalid.
[0105] S302 selects an effective action point with the highest preset action score as a target action point.
[0106] The preset action score refers to a quantitative value calculated in advance for each candidate action point according to a series of preset standards and algorithms. This score is used to evaluate the potential effectiveness, stability or success rate of the action point in performing the grabbing or pushing action. The scoring standards may include but are not limited to the accessibility of the action point, the stability of grabbing or pushing, the suitability of the object material, and the relative position relationship with obstacles in the environment, etc. The preset action score helps the decision system of the robot arm to compare and select between different candidate action points, thereby optimizing action planning and improving the success rate and efficiency of task execution.
[0107] In some embodiments, an effective action point with the highest preset action score is selected as the target action point based on the following formula (2).
[0108] (2)
[0109] Where Gg is the target action point, G represents different effective action points, and m(G) represents the action score of the effective action point G.
[0110] In this embodiment, based on the real-time acquired position relationships, spatial matching degree analysis is performed in combination with the preset action ranges of each candidate action point, effectively excluding those action points that are in conflict with obstacles or exceed the working space of the robot arm, generating a set of effective action points, which avoids the risk of execution failure due to spatial interference from the source; by comparing and sorting the preset action scores of the set of effective action points, the highest scoring action point is selected as the target, ensuring that the finally selected action point is not only spatially feasible, but also optimal in terms of grabbing stability, success rate and other quality dimensions, thereby directly improving the success rate of a single grabbing action and providing a key guarantee for stable and reliable operation of the robot arm in a complex environment.
[0111] Figure 4 A flowchart of the candidate action point updating step in one embodiment. This embodiment refines the steps before selecting the target action point from at least one candidate action point according to the position relationships and the preset action ranges of different candidate action points in the above-mentioned embodiments, including the following steps:
[0112] S401 selects a reference action point from at least one candidate action point according to the size relationship between the preset action score of each candidate action point and the action score threshold.
[0113] The action score threshold is a preset quantitative standard for screening candidate action points. Only when the preset action score of a certain candidate action point is higher than or equal to the threshold, the action point is considered as a valid action point and is considered for subsequent action configuration generation and execution. The setting of the action score threshold aims to ensure that the robot only selects those action points with high enough quality and success rate, thereby improving the stability and efficiency of the overall task execution.
[0114] The reference action point refers to a candidate action point that is initially selected according to the size relationship between the preset action score and the action score threshold, but may be deleted or further evaluated due to not meeting other conditions (such as a new threshold after dynamic quality adjustment, position relationship with obstacles, etc.). Specifically, in the process of screening valid action points, the system may first exclude a part of candidate action points with lower scores according to the action score threshold. This part of excluded action points can be referred to as reference action points (because they were considered but ultimately not selected).
[0115] In some embodiments, for each candidate action point, the size relationship between the preset action score of the candidate action point and the action score threshold is determined; in the case that the preset action score of the candidate action point is greater than the action score threshold, the candidate action point can be used as a reference action point; in the case that the preset action score of the candidate action point is not greater than the action score threshold, the candidate action point is not allowed to be used as a reference action point.
[0116] In some embodiments, the action score threshold is determined in the following manner: based on the environment influence function, the environment perception data is used to determine the action influence data of the environment perception data on the to-be-grabbed object in this iteration process; and based on the action influence data and the preset action influence weight, the action score threshold in this iteration process is determined.
[0117] The action influence data is used to represent the influence degree of the environment perception data on the preset action score corresponding to the to-be-grabbed object. The environment perception data is a set of information collected in real time by various sensors (such as cameras, lidar, infrared sensors, force sensors, etc.) for describing the state of the surrounding environment. These data reflect the positions, shapes, postures, material properties of objects in the environment, as well as the distribution of obstacles, spatial layout, and other key information, which are the basis for robots to understand the environment, make decisions, and perform actions. The environment perception data can include light intensity data and temperature data.
[0118] Exemplarily, based on the illumination intensity data influence function, the illumination intensity data is determined according to the illumination intensity data to determine the first action influence data of the illumination intensity data on the to-be-grabbed object in the current iteration process; based on the temperature data influence function, the temperature data is determined according to the temperature data to determine the second action influence data of the temperature data on the to-be-grabbed object in the current iteration process; a first product between the first action influence data and the first preset action influence weight is determined, and a second product between the second action influence data and the second preset action influence weight is determined; a sum value between the first product, the second product and a preset adjustment coefficient is determined as the action score threshold in the current iteration process.
[0119] Exemplarily, the action score threshold is determined by the following formula (3).
[0120] (3)
[0121] Wherein, quality_threshold(E) is the action score threshold, f1(E) is the first action influence data of the illumination intensity data, a is the first preset action influence weight of the illumination intensity data, f2(E) is the second action influence data of the temperature data, β is the second preset action influence weight of the temperature data, and γ is the preset adjustment coefficient. The preset adjustment coefficient is used to avoid the action score threshold being negative.
[0122] S402 deletes the reference action point to update the candidate action point.
[0123] In the embodiment, the preset action score of each candidate action point is compared with the dynamically adjusted action score threshold, the reference action point with a score lower than the threshold is screened out and deleted, the low-quality candidate points caused by environmental interference, poor position or low estimated success rate are effectively eliminated, and the preliminary optimization of the candidate point set is realized. By removing the low-quality action points, the consumption of invalid computing resources is reduced, the processing speed of subsequent effective action point selection and target decision is improved, thereby indirectly and crucially promoting the improvement of the final grasping success rate of the robot arm by improving the quality of the decision data.
[0124] Figure 5 A flowchart of the clamping determination step in one embodiment. The embodiment refines the above-mentioned embodiment, including the following steps:
[0125] S501 determines the clamping degree of the gripper on the robot arm after the robot arm performs the grasping action for a preset time length.
[0126] In some embodiments, the action time length for controlling the robot arm to perform the grasping action is determined; and the clamping degree of the gripper on the robot arm is detected after the robot arm performs the grasping action for a preset time length.
[0127] S502, in a case where the clamping degree is unclamped, determining that the object to be grasped is successfully grasped.
[0128] In some embodiments, in a case where the clamping degree is unclamped, it is proved that there is an object in the gripper of the robot arm that hinders the gripper from being completely closed, and thus it is determined that there is the object to be grasped in the robot arm, so as to determine that the object to be grasped is successfully grasped.
[0129] S503, in a case where the clamping degree is clamped, determining that the object to be grasped is not successfully grasped, and repeating the control of the robot arm to perform the grasping action.
[0130] In some embodiments, in a case where the clamping degree is clamped, it is proved that there is no object in the gripper of the robot arm that hinders the gripper from being closed, and thus it is determined that there is no object to be grasped in the robot arm, so as to determine that the object to be grasped is not successfully grasped.
[0131] For example, after determining that the object to be grasped is not successfully grasped, the robot arm can be repeatedly controlled to perform the grasping action. For example, the robot arm can be repeatedly controlled to perform the grasping action for a preset number of times, such as 3 times.
[0132] S504, in a case where the grasping action is repeatedly performed for a preset number of times and the object to be grasped is still not successfully grasped, deleting the target action point and continuing to perform the next iteration process.
[0133] In some embodiments, in a case where the grasping action is repeatedly performed for a preset number of times and the object to be grasped is still not successfully grasped, the target action point is deleted, and the process of determining the target action point in the next iteration process is adjusted based on the following formula (4).
[0134] (4)
[0135] wherein, is a candidate action point set in the next iteration process, Feedback( ) represents a feedback function, P valid is a candidate action point in the current iteration process, and result is a grasping success result in the current iteration process.
[0136] In this embodiment, after the grasping action is performed, whether the grasping is successful is intelligently judged by detecting the clamping degree of the clamping, and this determination mode based on physical feedback is more direct and reliable than simply relying on timing or position prediction; for the case of grasping failure, a retry mechanism is automatically triggered, temporary environmental interference or pose error is dealt with through multiple attempts, the success opportunity of single decision is increased; when the retry fails more than a preset number of times, the current problem action point can be actively abandoned and the next iteration cycle is entered, so as to avoid falling into an invalid loop, and a new feasible scheme is found by updating the environment data, effectively converting a single point failure into a system learning opportunity, continuously optimizing the action selection in a dynamic environment, and finally significantly improving the overall grasping success rate and task completion reliability of the robot arm.
[0137] It should be understood that, although each step in the flowchart involved in each embodiment as described above is displayed in sequence according to the arrow, these steps are not necessarily executed in sequence according to the arrow. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other sequences. Moreover, at least part of the steps in the flowchart involved in each embodiment as described above can include multiple steps or stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence of these steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least part of other steps or steps or stages in other steps.
[0138] Based on the same inventive concept, the embodiments of the present application also provide a robot arm control device for implementing the above-mentioned robot arm control method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more robot arm control device embodiments provided below can refer to the limitations of the robot arm control method in the above text, which will not be repeated here.
[0139] In one exemplary embodiment, as shown in Figure 6 A robot arm control device is provided, comprising: an acquisition module 601, a determination module 602, a selection module 603 and an execution module 604, wherein:
[0140] The acquisition module 601 is configured to acquire environment data of an environment in which a to-be-grasped object is located for each iteration process; the environment data comprises an environment image;
[0141] The determination module 602 is configured to determine at least one candidate action point on the to-be-grasped object and a positional relationship between the to-be-grasped object and at least one obstacle in the current environment according to the environment image;
[0142] The selecting module 603 is configured to determine a target action point and an action point type of the target action point from the at least one candidate action point according to the position relationships.
[0143] The executing module 604 is configured to, in a case where the action point type of the target action point is a pushing point, control the robot arm to perform a pushing action on the object to be grabbed at the target action point and continue the next iteration process; and in a case where the action point type of the target action point is a grabbing point, control the robot arm to perform a grabbing action on the object to be grabbed at the target action point to grab the object to be grabbed.
[0144] In some embodiments, the selecting module 603 is further configured to select at least one valid action point from the at least one candidate action point according to the position relationships and preset action ranges of different candidate action points; and select a valid action point with a highest preset action score as the target action point.
[0145] In some embodiments, the selecting module 603 is further configured to determine a movable action range of the object to be grabbed according to the position relationships; and determine the validity of each candidate action point according to an overlapping relationship between a preset action range of the candidate action point and the movable action range; and the valid action point is a valid candidate action point.
[0146] In some embodiments, the selecting module 603 is further configured to determine the action point type of the target action point as the grabbing point in a case where the position relationships all represent distances between the object to be grabbed and corresponding obstacles being greater than a preset distance threshold; and determine the action point type of the target action point as the pushing point in a case where any position relationship represents a distance between the object to be grabbed and a corresponding obstacle being not greater than the preset distance threshold.
[0147] In some embodiments, the robot arm control apparatus further includes an updating module configured to select a reference action point from the at least one candidate action point according to a size relationship between a preset action score of different candidate action points and an action score threshold; and delete the reference action point to update the candidate action points.
[0148] In some embodiments, the updating module is further configured to determine, based on the environment influence function, action influence data of the environment perception data on the object to be grabbed in the current iteration process according to the environment perception data; the action influence data is used to represent an influence degree of the environment perception data on a preset action score corresponding to the object to be grabbed; and determine the action score threshold in the current iteration process according to the action influence data and a preset action influence weight.
[0149] In some embodiments, the robot arm control device further comprises a clamping module configured to determine a clamping degree of the object to be gripped by the robot arm after the robot arm performs the grasping action for a preset time length; determine that the object to be gripped is successfully gripped when the clamping degree is not clamped; and determine that the object to be gripped is not successfully gripped when the clamping degree is clamped, and repeat the control of the robot arm to perform the grasping action.
[0150] In some embodiments, the clamping module is further configured to, in a case where the object to be gripped is not successfully gripped after the grasping action is repeated for a preset number of times, delete the target action point and continue to perform the next iteration process.
[0151] The above-mentioned modules of the robot arm control device can be implemented wholly or partially by software, hardware, and combinations thereof. The above-mentioned modules can be embedded in or independent of a processor in a computer device in hardware form, or can be stored in a memory in the computer device in software form, so as to be called and executed by a processor to perform the operations corresponding to the above-mentioned modules.
[0152] In an exemplary embodiment, a computer device, which can be a server, is provided, and an internal structure diagram of the computer device can be as shown in Figure 7 The computer device includes a processor, a memory, an input / output interface (I / O), and a communication interface. The processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The database of the computer device is configured to store data. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to communicate with external terminals through a network connection. The computer program is executed by the processor to implement a robot arm control method.
[0153] Those skilled in the art can understand that Figure 7 The structure shown in the above-mentioned
[0154] In an embodiment, a computer device is also provided, comprising a memory and a processor, the memory storing a computer program, and the processor implementing the steps in the above method embodiments when executing the computer program.
[0155] In an embodiment, a computer readable storage medium is provided, storing a computer program, and the computer program implementing the steps in the above method embodiments when executed by a processor.
[0156] In an embodiment, a computer program product is provided, comprising a computer program, and the computer program implementing the steps in the above method embodiments when executed by a processor.
[0157] It should be noted that the data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data need to comply with relevant regulations.
[0158] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.
[0159] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present application.
[0160] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of protection of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A robot arm control method characterized by, The method comprises: For each iteration process, environment data of an environment in which the object to be grabbed is located is acquired; the environment data comprises an environment image; According to the environment image, at least one candidate action point on the object to be grabbed and a positional relationship between the object to be grabbed and at least one obstacle in the current environment are determined; According to the positional relationships, a target action point and an action point type of the target action point are determined from the at least one candidate action point; In a case where the action point type of the target action point is a pushing point, a robot arm is controlled to perform a pushing action on the object to be grabbed at the target action point, and a next iteration process is continued; In a case where the action point type of the target action point is a grabbing point, the robot arm is controlled to perform a grabbing action on the object to be grabbed at the target action point to grab the object to be grabbed.
2. The method of claim 1, wherein, According to the positional relationships, the target action point is determined from the at least one candidate action point, comprising: According to the positional relationships and preset action ranges of different candidate action points, at least one valid action point is selected from the at least one candidate action point; A valid action point with a highest preset action score is selected as the target action point.
3. The method of claim 2, wherein, According to the positional relationships, the target action point and the action point type of the target action point are determined from the at least one candidate action point, comprising: According to the positional relationships, a movable action range of the object to be grabbed is determined; For each candidate action point, according to an overlapping relationship between a preset action range of the candidate action point and the movable action range, validity of the candidate action point is determined; wherein the valid action point is a valid candidate action point.
4. The method of claim 1, wherein, The action point type comprises a grabbing point and a pushing point; according to the positional relationships, the action point type of the target action point is determined, comprising: In a case where distances between the object to be grabbed and corresponding obstacles represented by all the positional relationships are greater than a preset distance threshold, the action point type of the target action point is determined as a grabbing point; In a case where a distance between the object to be grabbed and a corresponding obstacle represented by any one of the positional relationships is not greater than the preset distance threshold, the action point type of the target action point is determined as a pushing point.
5. The method of claim 1, wherein, Before the target action point and the action point type of the target action point are determined from the at least one candidate action point according to the positional relationships, the method further comprises: According to a size relationship between a preset action score of each candidate action point and an action score threshold, a reference action point is selected from the at least one candidate action point; The reference action point is deleted to update the candidate action points.
6. The method of claim 5, wherein, The environment data further comprises environment perception data; the action score threshold is determined by the following manner: According to the environment perception data, action influence data of the environment perception data on the object to be grabbed in the current iteration process is determined based on an environment influence function; the action influence data is used to represent an influence degree of the environment perception data on a preset action score of the object to be grabbed; According to the action influence data and a preset action influence weight, a motion score threshold in the current iteration process is determined.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: After the mechanical arm performs the grabbing action for a preset time length, a clamping degree of the mechanical arm is determined. In a case where the clamping degree is not clamped, it is determined that the object to be grabbed is successfully grabbed. In a case where the clamping degree is clamped, it is determined that the object to be grabbed is not successfully grabbed, and the mechanical arm is repeatedly controlled to perform the grabbing action.
8. The method of claim 7, wherein, The method further includes: In a case where the object to be grabbed is not successfully grabbed after the grabbing action is repeatedly performed for a preset number of times, the target action point is deleted, and a next iteration process is continued.
9. A robot control device characterized by comprising: The device includes: An acquisition module is configured to acquire, for each iteration process, environment data of an environment in which an object to be grabbed is located, wherein the environment data includes an environment image. A determination module is configured to determine, according to the environment image, at least one candidate action point on the object to be grabbed and a positional relationship between the object to be grabbed and at least one obstacle in a current environment. A selection module is configured to determine, according to each positional relationship, a target action point and a type of the target action point from the at least one candidate action point. An execution module is configured to, in a case where the type of the target action point is a pushing point, control a mechanical arm to perform a pushing action on the object to be grabbed at the target action point and continue a next iteration process; and in a case where the type of the target action point is a grabbing point, control the mechanical arm to perform a grabbing action on the object to be grabbed at the target action point to grab the object to be grabbed. 10.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-9. The processor executes the computer program to implement the steps of the method in any one of claims 1 to 8.