Workpiece pose determination method and device based on self-motion manifold, and storage medium

By discretizing the processing area and performing self-motion manifold analysis, and combining the robot kinematics model to optimize the workpiece pose, the problems of low workpiece placement efficiency and complex path planning are solved, realizing automated and efficient workpiece processing.

CN121061894BActive Publication Date: 2026-02-24ZHEJIANG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511604868.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-05
Publication Date
2026-02-24
Estimated Expiration
2045-11-05

AI Technical Summary

Technical Problem

In existing technologies, workpiece placement efficiency is low, which affects subsequent processing path planning. Furthermore, human experience is insufficient to adapt to the rapid conversion between different workpieces, impacting processing efficiency and path planning.

Method used

By discretizing the area to be processed, the discrete point pose array is determined. Combined with the robot's kinematic model, the placement space and self-moving manifold information are calculated. The particle swarm optimization algorithm is then used to optimize and determine the target placement pose.

Benefits of technology

It automates workpiece placement, improves the flexibility and adaptability of robot operation, reduces the complexity of subsequent path planning, and enhances processing efficiency and the smoothness of path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121061894B_ABST
    Figure CN121061894B_ABST
Patent Text Reader

Abstract

The application provides a workpiece pose determination method and device based on self-motion manifold and a storage medium, and the method comprises the following steps: determining a discrete point pose array of a to-be-processed region; determining a placeable space of a to-be-placed workpiece in a working space of a robot according to a kinematics model of the robot; determining a plurality of optional placement poses of the to-be-placed workpiece and self-motion manifold information of each optional placement pose according to the placeable space and the discrete point pose array; and determining a target placement pose of the to-be-placed workpiece according to each optional placement pose and the self-motion manifold information of each optional placement pose. The application can realize the automation of workpiece placement, improve the efficiency of workpiece placement, and improve the operability and adaptability of the subsequent robot processing process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of industrial production technology, and more specifically, to a method, device, and storage medium for determining the pose of a workpiece based on a self-moving manifold. Background Technology

[0002] Currently, robots are increasingly being used in industrial processing, enabling automated processing of workpieces. In industrial production, to improve workpiece processing efficiency, it is generally necessary to first determine the workpiece's orientation and position, and then have an industrial robot perform the processing. The processing efficiency, accuracy, and quality of the workpiece are closely related to its placement within the robot system.

[0003] In existing technologies, the optimal workpiece pose is typically determined by repeatedly testing the placement of the workpiece based on human experience. However, this method is difficult to adapt to the rapid changes required when processing different workpieces, affecting production efficiency. Furthermore, relying on human experience for workpiece placement makes it difficult to consider the robot's processing path, which also affects subsequent processing path planning. Summary of the Invention

[0004] The purpose of this application is to address the shortcomings of the prior art by providing a workpiece pose determination method, device, and storage medium based on self-moving manifolds, so as to solve the problems of low workpiece placement efficiency and impact on subsequent processing path planning in the prior art.

[0005] To achieve the above objectives, the technical solution adopted in this application is as follows:

[0006] In a first aspect, this application provides a method for determining the pose of a workpiece, the method comprising:

[0007] A discrete point pose array is determined for the processing area. The discrete point pose array is used to characterize the pose of each discrete point in the processing area under the workpiece coordinate system. The processing area includes: the outer surface of the workpiece to be placed and the predetermined motion curve of the robot end effector.

[0008] The placeable space of the workpiece to be placed in the robot's workspace is determined based on the robot's kinematic model. The placeable space is the set of position points where the workpiece to be placed can be placed in the robot's workspace.

[0009] Based on the available space and the discrete point pose array, determine multiple optional placement poses of the workpiece to be placed and the self-motion manifold information of each optional placement pose;

[0010] The target placement pose of the workpiece to be placed is determined based on each optional placement pose and the self-motion manifold information of each optional placement pose.

[0011] Optionally, the discrete point pose array for determining the region to be processed includes:

[0012] The outer curved surface of the workpiece to be placed is discretized to obtain the first discrete point sequence of the workpiece to be placed.

[0013] Position constraints are applied to each discrete point in the first discrete point sequence to obtain a discrete point position array of the first discrete point sequence;

[0014] Discretize the predetermined motion curve of the robot end effector to obtain a second discrete point sequence of the predetermined motion curve of the robot end effector;

[0015] Based on the unit normal vector and unit tangent vector of each discrete point in the second discrete point sequence, pose constraints are performed to obtain the discrete point pose array of the second discrete point sequence;

[0016] The discrete point position array of the first discrete point sequence and the discrete point pose array of the second discrete point orientation are combined to form the discrete point pose array.

[0017] Optionally, determining the placeable space for the workpiece to be placed in the robot's workspace based on the robot's kinematic model includes:

[0018] The robot's workspace is determined based on the robot's kinematic model;

[0019] Determine the envelope boundary of the robot's workspace, and use the space within the envelope boundary as the placeable space.

[0020] Optionally, determining multiple selectable placement poses of the workpiece to be placed and the self-motion manifold information of each selectable placement pose based on the placeable space and the discrete point pose array includes:

[0021] The discrete point pose array is subjected to coordinate system transformation to obtain the intermediate discrete point pose array in the robot coordinate system;

[0022] Based on the available space and the intermediate discrete point pose array, at least one optional placement pose is determined, wherein the optional placement pose includes at least one discrete point;

[0023] Based on the kinematic model of the robot, the self-motion manifold information of each of the optional placement poses is determined.

[0024] Optionally, determining the self-motion manifold information of each of the optional placement poses based on the robot's kinematic model includes:

[0025] Based on the self-motion manifold dimension of the robot and the kinematic model of the robot, determine the geometric measures of multiple robot configurations corresponding to each of the optional placement poses;

[0026] The operability of the robot in multiple robot configurations corresponding to each of the optional placement poses is determined based on the robot's kinematic model.

[0027] Based on the geometric measure and the operability, the self-moving manifold information of the optional placement pose is determined.

[0028] Optionally, determining the geometric measures of multiple robot configurations corresponding to each of the optional placement poses based on the robot's self-motion manifold dimension and the robot's kinematic model includes:

[0029] Based on the self-motion manifold dimension, the reference joints and computational strategies of the robot are determined;

[0030] When the end effector pose of the robot is fixed, multiple robot configurations of the robot are determined according to the rotation angle range of the reference joint;

[0031] Based on the aforementioned computational strategy, the multiple robot configurations are projected to obtain their geometric measures.

[0032] Optionally, determining the self-kinematic manifold information of the optional placement pose based on the geometric measure and the operability includes:

[0033] Determine the first product of the geometric measure and the geometric measure coefficients;

[0034] Determine the second product of the operability and the operability coefficient;

[0035] The sum of the first product and the second product is used as the self-motion manifold information of the robot configuration corresponding to the optional placement pose;

[0036] The self-motion manifold information of the robot configuration corresponding to the optional placement pose is summed to obtain the self-motion manifold information of the optional placement pose.

[0037] Optionally, determining the target placement pose of the workpiece to be placed based on each optional placement pose and the self-motion manifold information of each optional placement pose includes:

[0038] The multiple optional placement poses are iteratively optimized using the particle swarm optimization algorithm to obtain multiple optimized placement poses.

[0039] The self-motion manifold information of each of the optimized placement poses is determined based on the kinematic model of the robot;

[0040] The target placement pose is determined from the plurality of optional placement poses and the plurality of optimized placement poses based on the self-motion manifold information of each of the optional placement poses and the self-motion manifold information of each of the optimized placement poses.

[0041] Secondly, embodiments of this application also provide an electronic device, including: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the workpiece pose determination method as described in any one of the first aspects.

[0042] Thirdly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the workpiece pose determination method as described in any one of the first aspects.

[0043] The beneficial effects of this application are as follows: By discretizing the area to be processed and determining the optional placement poses based on the discrete point pose array and the available space, it can be ensured that the optional placement poses are workpiece poses operable by the robot, thus obtaining more possibilities for placement poses while satisfying the robot's kinematic constraints. By combining the robot's kinematic model to determine the self-motion manifold information for each optional placement pose, and determining the target placement pose based on the self-motion manifold information, the flexibility and complexity of robot operation can be considered during workpiece placement, thereby achieving automation of workpiece placement and enabling the robot to have better operability and adaptability under the target placement pose, improving the smoothness and stability of the robot's subsequent path planning.

[0044] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0045] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 The diagram illustrates an architecture diagram of an application scenario provided by an embodiment of this application;

[0047] Figure 2A flowchart of a workpiece pose determination method provided in an embodiment of this application is shown;

[0048] Figure 3 An example diagram of a placement space and a robot's working space provided in an embodiment of this application is shown;

[0049] Figure 4 This document illustrates a flowchart of a method for determining a discrete point pose array according to an embodiment of this application.

[0050] Figure 5 An example diagram is shown, illustrating a discrete point sequence obtained after discrete processing according to an embodiment of this application.

[0051] Figure 6 This application provides a flowchart illustrating the determination of a suitable placement space according to an embodiment of the present application.

[0052] Figure 7 This document illustrates a flowchart of a method for determining self-moving manifold information according to an embodiment of this application.

[0053] Figure 8 This document illustrates a flowchart of another method for determining self-moving manifold information provided in an embodiment of this application.

[0054] Figure 9 A flowchart illustrating a method for determining geometric measures according to an embodiment of this application is shown;

[0055] Figure 10 This document illustrates a flowchart of another method for determining self-moving manifold information provided in an embodiment of this application.

[0056] Figure 11 This document illustrates a flowchart of a method for determining the placement pose of a target, as provided in an embodiment of this application.

[0057] Figure 12 This illustration shows a process for iteratively optimizing selectable placement poses based on a particle swarm optimization algorithm, as provided in an embodiment of this application.

[0058] Figure 13 An example diagram of a target placement pose provided in an embodiment of this application is shown;

[0059] Figure 14 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown. Detailed Implementation

[0060] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0061] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.

[0062] In industrial production, before an industrial robot can process a workpiece, the workpiece must first be placed in a preset position on the workpiece processing table. Then, the industrial robot plans the processing path based on the workpiece's position. The placement position is usually determined by the operator based on their experience, and for different types of workpieces, the workpiece's position needs to be changed frequently.

[0063] However, this method is difficult to adapt to the rapid changes that occur when processing different workpieces, which affects the efficiency of workpiece processing. Furthermore, since the position of the workpiece being processed also affects the processing path of the subsequent industrial robot, the manual placement method cannot fully take into account the impact of the placement posture on the robot's processing path, thus also affecting the planning of the subsequent processing path.

[0064] Based on this, this application proposes a workpiece pose determination method. By discretizing the workpiece and the processing area of ​​the machining robot, and determining multiple selectable workpiece placement poses based on the robot's kinematic model using the discretized pose array, the optimal workpiece placement pose for robot operation is obtained by evaluating each selectable workpiece placement pose using the geometric measure and maneuverability of the region's self-moving manifold. On the one hand, this application automates workpiece placement; on the other hand, it considers relevant information about robot operation, thus helping to reduce the complexity of subsequent robot path planning.

[0065] Figure 1 This is a schematic diagram illustrating a scenario where workpieces are placed. (Refer to...) Figure 1 When machining a workpiece, it needs to be fixed on the worktable using a fixture, and then the machining robot performs the machining. Based on the method of this application, the workpiece's position and orientation can be adjusted on the worktable to facilitate... Figure 1 The processing robot shown is used to process the workpiece.

[0066] Figure 2 This is a flowchart illustrating a method for determining the pose of a workpiece. The entity executing this method can be... Figure 1 The processing robot shown can also be a placement robot specifically designed for adjusting the workpiece's pose; this application does not impose any restrictions on this.

[0067] Taking a machining robot as an example, the machining robot can adjust the placement posture of the workpiece on the worktable to obtain the final target placement posture, and after the adjustment is completed, it can plan the subsequent machining path based on the target placement posture.

[0068] Taking a placement robot as an example, the placement robot can communicate with the processing robot, or the placement robot can obtain the pose information of the processing robot, so as to adjust the pose of the workpiece on the worktable based on the pose of the processing robot, thereby obtaining the target placement pose, and finally the processing robot performs subsequent processing based on the target placement pose.

[0069] Next, combine Figure 2 The method for determining the workpiece pose in this application is described below, with reference to... Figure 2 The method includes:

[0070] S201. Determine the discrete point pose array of the area to be processed. The discrete point pose array is used to characterize the pose of each discrete point in the area to be processed under the workpiece coordinate system. The area to be processed includes: the outer surface of the workpiece to be placed and the predetermined motion curve of the robot end effector.

[0071] The area to be processed includes Figure 1 The predetermined motion curve of the end effector of the machining robot, and Figure 1 The workpiece's outline surface is located on the worktable. This outline surface can be the surface that needs to be machined. The predetermined motion curve of the end effector can be the curve formed by the predetermined motion trajectory of the end effector.

[0072] Since achieving robot motion control requires not only specifying the position of the robot's end effector but also determining its posture in order to allocate the motion of each joint of the robot and ultimately realize the robot's machining motion, it is necessary to determine the posture of each discrete point according to the specific machining requirements. The posture of the discrete point can characterize the posture of the workpiece to be placed.

[0073] Optionally, the area to be processed can be discretized, and the outer surface of the workpiece to be placed and the predetermined motion curve of the robot end effector can be discretized into discrete points. The attitude constraints of each discrete point are then determined to obtain a discrete point pose array. The attitude constraints of the discrete points are used to indicate the position of the discrete points in the workpiece coordinate system.

[0074] As one possible implementation, the unit normal vector of each discrete point on the predetermined motion curve can be used as an attitude constraint, and the attitude of the discrete point can be represented by the angle between the unit normal vector of the discrete point and the positive direction of the workpiece coordinate system.

[0075] For example, suppose we want to grind the curved surface of a blade. The entire curved surface of the blade to be ground, along with the motion curve of the robot's end effector, constitutes the area to be processed. By selecting multiple points uniformly or according to certain rules on the curved surface, each point has its position coordinates and normal vector direction in the workpiece coordinate system. These points are combined to form a discrete point pose array. This allows the robot to know the position and orientation of each key point in the area of ​​the blade to be ground, enabling subsequent processing planning.

[0076] S202. Determine the placeable space of the workpiece to be placed in the robot's workspace based on the robot's kinematic model. The placeable space is the set of position points where the workpiece to be placed can be placed in the robot's workspace.

[0077] Optionally, the robot's kinematic model can be pre-built, and the robot's workspace can be determined based on the robot's kinematic model. Then, the placeable space for the workpiece to be placed in the robot's workspace can be determined by combining the robot's workspace.

[0078] It is worth noting that the shape of a robot's workspace is generally quite complex. By simplifying the robot's workspace, the available space for placing the workpiece can be obtained within the robot's workspace.

[0079] Taking a multi-axis robot as an example, its end effector can reach a certain spatial range. If the workpiece to be placed is a large mechanical part, it is necessary to determine the possible placement positions of this mechanical part within the robot's workspace. By using the robot's kinematic model and considering factors such as the minimum and maximum angle limits of its joints and the length of its links, it is possible to determine which positions in the workspace the robot can place the mechanical part in. The area formed by these positions is the placement space.

[0080] For example, Figure 3This is an example diagram of a robot's workspace. The area enclosed by the blue dashed line represents the robot's workspace. By simplifying the robot's workspace, it can be reduced to a common shape to facilitate subsequent calculations. (See reference...) Figure 3 The robot's workspace can be simplified to a rectangle, Figure 3 The area formed by the solid green rectangular lines shown represents the placement space for the workpiece in the robot's workspace.

[0081] Optionally, the available space can be used as a search space to constrain the workpiece pose, that is, the range of pose values ​​of the workpiece coordinate system relative to the robot machining system coordinate system. The robot's workspace can be the set of positions that the robot's end effector can reach on the worktable.

[0082] S203. Based on the available space and the discrete point pose array, determine multiple optional placement poses of the workpiece to be placed and the self-motion manifold information of each optional placement pose.

[0083] Optionally, the discrete point pose array can describe the range of possible positions for the workpiece in the worktable coordinate system, and the placeable space can describe the range of possible positions for the workpiece in the robot coordinate system. Therefore, based on the discrete point pose array and the placeable space, the area where the workpiece can be placed in the worktable can be determined in the robot coordinate system, thereby determining multiple possible placement poses for the workpiece within this area.

[0084] The selectable placement pose can be a set of discrete points within the placement space, used to characterize the position and orientation of the workpiece to be placed within the placement space.

[0085] Optionally, the self-moving manifold information consists of the geometric measure and manifold operability of the region's self-moving manifold. The region's self-moving manifold can be viewed as a high-dimensional spatial structure describing the region's motion state. The geometric measure quantifies the manifold's geometric properties, characterizing its shape features, scale information, and motion complexity. Manifold operability describes the robot's operational capabilities, including the extent to which the robot's end effector can effectively operate within the workspace, and characterizes the robot's workspace range, operational flexibility, and load adaptability.

[0086] For example, the self-motion manifold information can be an index value obtained by calculating the geometric measure and maneuverability of each optional placement pose. The higher the index value, the higher the operational flexibility and the lower the operational complexity of the robot when handling the workpiece to be placed in the optional placement pose.

[0087] S204. Determine the target placement pose of the workpiece to be placed based on each optional placement pose and the self-motion manifold information of each optional placement pose.

[0088] After obtaining multiple possible placement poses and their corresponding self-motion manifold information, the final target placement pose can be determined through certain optimization strategies. This target placement pose is the optimal workpiece placement position and orientation after comprehensively considering various factors, enabling the robot to complete the processing task efficiently and accurately.

[0089] One possible implementation is to iterate through each of the possible placement poses based on the particle swarm optimization algorithm, and finally take the possible placement pose with the highest index value of the self-moving manifold information as the target placement pose.

[0090] As another possible implementation, the top N possible placement poses can be selected first based on the self-motion manifold information. Then, taking into account factors such as processing accuracy, robot motion accessibility, motion smoothness, and processing time, the top N possible placement poses can be reordered, and the first-ranked possible placement pose can be used as the target placement pose.

[0091] In this embodiment, a discrete point pose array of the area to be processed is determined. The placeable space of the workpiece to be placed in the robot's workspace is determined according to the robot's kinematic model. Based on the placeable space and the discrete point pose array, multiple optional placement poses of the workpiece to be placed and the self-motion manifold information of each optional placement pose are determined. Based on each optional placement pose and the self-motion manifold information of each optional placement pose, the target placement pose of the workpiece to be placed is determined.

[0092] Among these, the self-kinematic manifold information can characterize the flexibility and complexity of the robot's processing of the workpiece. By discretizing the processing area and determining the optional placement poses based on the discrete point pose array and the available space, it can be ensured that the optional placement poses are workpiece poses that the robot can operate on, thus satisfying the robot's kinematic constraints while obtaining more possibilities for placement poses. By combining the robot's kinematic model to determine the self-kinematic manifold information for each optional placement pose, and then determining the target placement pose based on the self-kinematic manifold information, the flexibility and complexity of robot operation can be considered during workpiece placement, thereby achieving automation of workpiece placement and enabling the robot to have better operability and adaptability under the target placement pose, improving the smoothness and stability of the robot's subsequent path planning.

[0093] The following describes the steps for determining the discrete point pose array of the region to be processed, as follows: Figure 4 As shown, the above step S201 includes:

[0094] S401. Discretize the outer curved surface of the workpiece to be placed to obtain the first discrete point sequence of the workpiece.

[0095] The surface of the workpiece to be placed is often complex and continuous. In order for the robot to understand and process this surface information and facilitate subsequent processing or placement operation planning, it is necessary to discretize it, dispersing the continuous surface into a series of discrete points to form a point array, so that the robot can identify and analyze the shape features of the workpiece to be placed.

[0096] One possible implementation is to discretize the curved surface of the workpiece to be placed using a meshing method, converting the surface into a point array to obtain the first discrete point sequence. The meshing method can be a sampling method based on regular meshes (such as rectangular meshes, triangular meshes, etc.).

[0097] S402. Apply position constraints to each discrete point in the first discrete point sequence to obtain the discrete point position array of the first discrete point sequence.

[0098] Optionally, the position coordinates of each discrete point can be determined in the workpiece coordinate system to obtain the discrete points in the discrete point position array of the first discrete point sequence. The representation of ,in The index of the discrete point. . and It represents the discrete point position corresponding to the sequence number.

[0099] S403. Discretize the predetermined motion curve of the robot end effector to obtain the second discrete point sequence of the predetermined motion curve of the robot end effector.

[0100] As one possible implementation, the curve can be discretized into a sequence of points using a constant step size method. For example, suppose the predetermined motion curve can be represented as a sine curve in the following equation.

[0101] -

[0102] Where X and Y are the coordinate values ​​of the curve in the x and y directions in the workpiece coordinate system. For example, using 0.5 as the step size in the X direction to discretize the curve results in a graph like this: Figure 5 The discrete point sequence shown in the figure is represented by a thin blue solid line, which is the motion curve, and black dots, which are the path position points obtained by discretizing the curve. Since the end effector needs to coincide with the curve during the subsequent robot processing, this is equivalent to constraining the position of the robot end effector.

[0103] It is worth noting that this step is described by discretizing the predetermined motion curve. It should be understood that the curve in the outer surface of the workpiece to be placed can also be discretized by the equal step size method to obtain the above-mentioned first discrete point sequence. The specific method of discretization is not limited here.

[0104] S404. Based on the unit normal vector and unit tangent vector of each discrete point in the second discrete point sequence, pose constraints are performed to obtain the discrete point pose array of the second discrete point sequence.

[0105] By using the unit normal vector and unit tangent vector of each discrete point on the curve as attitude constraints, and determining the position coordinates of each discrete point and the angle between the unit normal vector of the discrete point and the positive x-direction of the workpiece coordinate system in the workpiece coordinate system, the discrete points can be obtained. The representation of ,in The index of the discrete point. . and These are the discrete point positions corresponding to the sequence numbers. It is the angle between the unit normal vector and the positive x-direction of the workpiece coordinate system, used to represent the orientation of a discrete point.

[0106] S405. Combine the discrete point position array of the first discrete point sequence and the discrete point pose array of the second discrete point orientation into a discrete point pose array.

[0107] In this context, the points on the surface of the workpiece to be placed can be constrained in position, and the motion trajectory executed by the robot end effector can simultaneously constrain position and orientation. Since the points on the surface coincide with the positions of the transport trajectory of the robot end effector, the discrete point position array of the first discrete point sequence and the discrete point pose array of the second discrete point orientation can be combined to obtain a discrete point pose array.

[0108] In another possible implementation, the motion trajectory executed by the robot end effector can be discretized and its posture constrained, and the resulting discrete point pose array can be directly used as the discrete point pose array of the area to be processed.

[0109] The following is a further explanation of the determination of the placeable space for the workpiece in the robot's workspace based on the robot's kinematic model, such as... Figure 6 As shown, the above step S202 includes:

[0110] S601. Determine the robot's workspace based on the robot's kinematic model.

[0111] By establishing a kinematic model of the robot, the relationship between the pose of the robot's end effector and the joint angles can be determined, thereby defining the robot's workspace, which is the set of all position points that the robot's end effector motion description reference point can reach.

[0112] For example, the Denavit-Hartenberg method can be used to build a kinematic model for a planar 4R robot, and the relevant DH model parameters are shown in Table 1. The forward kinematic mapping of this robot can be written as: .in, It is the pose matrix and configuration of the end effector. These are a set of joint values ​​for the robot. , , , These are the angle values ​​of the robot's first to fourth joints. Configuration refers to the geometric state of all the robot's joints at a given moment; that is, it completely describes the robot's overall spatial shape through the parameters of each joint (such as angles and displacements). In this example, the range of motion of each joint of the robot is limited to - arrive Between these points, the robot's workspace can be calculated using the forward kinematics formula, such as... Figure 3 The area shown is indicated by the blue dashed line.

[0113] Table 1 DH Model Parameters

[0114]

[0115] S602. Determine the envelope boundary of the robot's workspace, and use the space within the envelope boundary as the placement space.

[0116] It should be noted that when determining the placeable space, the principles of envelope and simplification need to be considered. The envelope principle states that the placeable space should, within the limits of the table size and robot structure, encompass as large a robot workspace as possible to ensure a sufficiently large optimization space for the workpiece pose, facilitating the search for the optimal solution. The simplification principle states that the boundary conditions of the placeable space should be described as simply as possible to ensure that the workpiece pose optimization space is easy to handle, reducing unnecessary exploration and computational overhead.

[0117] Continue to refer to Figure 3 After processing the robot space based on the envelope principle and the simplification principle, the placeable space can be described as a 3D vector. The space that is formed has an envelope boundary as follows: Figure 3 As shown by the solid green line. Vector. This can be called the workpiece pose vector, used to represent the pose of the workpiece coordinate system in the robot coordinate system. The value range of each element of the vector is: - , - , - .

[0118] Where x and y are the positions of the origin of the workpiece coordinate system in the robot coordinate system. c is the orientation of the workpiece coordinate system relative to the robot coordinate system. As an example, it can be the angle between the positive x-axis of the workpiece coordinate system and the positive x-axis of the robot coordinate system. Figure 3 The workpiece pose vector at the location of the curve takes the value γ=[0,0,0].

[0119] After determining the available placement space, initial pose selection can be performed within that space using a discrete point pose array. The following is a further explanation of how, based on the available placement space and the discrete point pose array, multiple possible placement poses for the workpiece to be placed, along with the self-motion manifold information for each of these poses, are determined. Figure 7 As shown, step S203 above includes:

[0120] S701. Perform coordinate system transformation on the discrete point pose array to obtain the intermediate discrete point pose array in the robot coordinate system.

[0121] Optionally, a transformation matrix between the workpiece coordinate system and the robot coordinate system can be pre-established. This transformation matrix allows for coordinate system transformation of each discrete point in the workpiece coordinate system, converting them into discrete points in the robot coordinate system. After completing the coordinate system transformation of all discrete points, an array of intermediate discrete point poses in the robot coordinate system is obtained.

[0122] After coordinate system transformation, the resulting intermediate discrete point pose array contains the position and orientation information of each discrete point on the workpiece in the robot coordinate system. These intermediate discrete point poses can serve as intermediate data for subsequent robot motion planning and placement pose determination, providing the robot with precise reference points for manipulating the workpiece within its workspace.

[0123] S702. Based on the available space and the intermediate discrete point pose array, determine at least one optional placement pose, wherein the optional placement pose includes at least one discrete point.

[0124] As one possible implementation, at least one optional placement pose can be generated randomly within the placement space. For example, using the boundary range of the placement space, the size and shape of the workpiece to be placed as constraints, possible positions and orientations of the workpiece to be placed can be randomly generated within the location range of the placement space. Collision and feasibility checks are then performed on the generated workpiece poses, and finally, workpiece poses that do not collide and are reachable by the robot are selected as optional placement poses.

[0125] As another possible implementation, the optional placement pose can also be based on human experience, for example, by using the final selected placement pose of workpieces of the same specifications in historical processing and on the worktable as the optional placement pose. This application does not limit the specific method used.

[0126] It is worth noting that the order of steps S701 and S702 above should not be limited to this. Alternatively, multiple optional placement poses in the worktable coordinate system can be randomly generated in the placement space first, and then coordinate system transformation can be performed on these optional placement poses to obtain the optional placement poses in the robot coordinate system.

[0127] For example, multiple initial poses can be selected in the worktable coordinate system first, and the selected pose vectors can be... It needs to be converted into the corresponding pose transformation matrix, which is denoted as . ,in This is the sequence number of the initial pose selection. Then, the discrete points originally established in the workpiece coordinate system are transformed to the robot coordinate system for representation, forming a new queue of discrete points. The queue is grouped according to the placement pose, with each group representing a placement pose. The group elements are denoted as... The unit element in each group is denoted as The coordinate transformation formula for the i-th discrete point using the j-th placement pose is: .

[0128] S703. Based on the robot's kinematic model, determine the self-motion manifold information for each selectable placement pose.

[0129] For each available placement pose, the robot's self-kinematic manifold indices can be determined through mathematical analysis and calculation based on the robot's kinematic model. For example, analyzing the possible range of motion and cooperative relationships of each joint while maintaining contact with discrete points on the workpiece yields self-kinematic manifold information. This helps assess the feasibility and flexibility of the robot in completing subsequent tasks within that placement pose, as well as planning a reasonable robot motion trajectory.

[0130] As one possible implementation, the aforementioned self-moving manifold information includes geometric measures and operability. For example... Figure 8 As shown, the steps for determining the self-motion manifold information of each possible placement pose based on the robot's kinematic model include:

[0131] S801. Based on the robot's self-motion manifold dimension and the robot's kinematic model, determine the geometric measures of multiple robot configurations corresponding to each of the robot's selectable placement poses.

[0132] The dimension of the robot's self-motion manifold is determined based on the robot's redundant degrees of freedom. For example, assuming a planar 4R robot has 4 degrees of freedom, and the path is constrained by 3 degrees of freedom, with one redundant degree of freedom, then the dimension of the robot's self-motion manifold is 1-dimensional.

[0133] Different self-motion manifold dimensions correspond to different computational strategies. After determining the self-motion manifold dimension of the robot, the same number of joints as the self-motion manifold dimension can be selected, and the self-motion manifold can be projected into the space composed of the selected joint axes to obtain the geometric measure index of each optional placement pose.

[0134] Among them, the optional placement pose can describe the pose of the robot end effector. Under the premise that the pose of the end effector is fixed, each optional placement pose can correspond to multiple robot configurations. For each robot configuration, the geometric measure of each robot configuration can be calculated, and the geometric measure index of the optional placement pose can be determined based on the geometric measure of all robot configurations.

[0135] S802. Determine the operability of multiple robot configurations corresponding to each selectable placement pose based on the robot's kinematic model.

[0136] Optionally, each optional placement pose corresponds to multiple robot configurations, and the set of robot configurations corresponding to the optional placement poses constitutes the robot's self-motion manifold. For each robot configuration, the operability of each robot configuration can be calculated. The operability is determined based on the robot's Jacobian matrix and is used to characterize the flexibility and complexity of robot operations.

[0137] After obtaining the operability of multiple robot configurations corresponding to the optional placement poses, the operability of the optional placement poses can be determined based on all operability values. For example, the minimum operability value among all robot configurations can be used as the operability of the optional placement poses to ensure that the overall operability of the set of robot configurations corresponding to the optional placement poses is greater during subsequent optimization.

[0138] For example, operability can be calculated based on the following formula:

[0139]

[0140] in, Let Jacobian matrix be used for the robot.

[0141] Optional placement positions Corresponding operability for: For robot configuration The operability can be minimized to ensure that the overall operability of the configuration set is greater during subsequent optimization.

[0142] S803. Based on geometric measures and operability, determine the self-moving manifold information of the selectable placement pose.

[0143] One possible implementation is to perform a weighted calculation of the geometric measure and maneuverability of the selectable placement pose, and use the result as the self-moving manifold information of the selectable placement pose. The weights of the geometric measure and maneuverability are determined based on actual needs; for example, if the influence of the geometric measure needs to be emphasized, a larger weight can be assigned to the geometric measure.

[0144] The following is a further explanation of the geometric measures for determining multiple robot configurations corresponding to various selectable placement poses based on the robot's self-motion manifold dimension and the robot's kinematic model. Figure 9 As shown, the above S801 step includes:

[0145] S901. Based on the self-motion manifold dimension, determine the robot's reference joints and computational strategy.

[0146] The self-kinematic manifold dimension can be one-dimensional, two-dimensional, or three-dimensional. The number of reference joints in the robot can be the same as the self-kinematic manifold dimension. For example, assuming the self-kinematic manifold dimension is two-dimensional, two movable joint axes can be selected as reference joints in the robot's joints.

[0147] Optionally, when the self-kinematic manifold has a one-dimensional dimension, a joint can be selected as a reference joint, and the rotation angle of the reference joint can be used to describe the robot's self-kinematic manifold. In this case, the geometric measure calculation formula of the self-kinematic manifold is: - ,in, It is the reference joint rotation angle when the robot maintains a fixed end-effector pose. All possible values, and These are operations for finding the maximum and minimum values, respectively.

[0148] Optionally, when the self-kinematic manifold has a two-dimensional dimension, two joints can be selected as reference joints, and the projection area D of the reference joints can be used to describe the robot's self-kinematic manifold. In this case, the geometric measure calculation formula of the self-kinematic manifold is: .

[0149] Optionally, when the self-kinematic manifold has a three-dimensional dimension, three joints can be selected as reference joints, and the projected volume region V of the reference joints can be used to describe the robot's self-kinematic manifold. In this case, the geometric measure calculation formula of the self-kinematic manifold is: .

[0150] S902. When the robot's end effector pose is fixed, determine multiple robot configurations based on the rotation angle range of the reference joint.

[0151] Optionally, with the robot's end effector pose fixed, the robot's self-motion manifold can be determined based on the robot's kinematic model. The self-motion manifold is a set of multiple robot configurations.

[0152] Continuing with the example of a one-dimensional self-kinematic manifold, the geometric measure of the robot's self-kinematic manifold corresponding to the pose of the i-th robot end effector under the j-th workpiece pose is... It can be written as: - ,in, It is the robot end effector that maintains its pose. When the joint remains unchanged, it is the set of all possible values ​​of joint 1.

[0153] In order to calculate It is necessary to Substitute the forward motion formula and then solve for the corresponding... This allows us to obtain the discrete pose of the robot's end effector. At that time, the set of all possible configurations corresponding to the robot. ,in, .

[0154] S903. Project multiple robot configurations based on the computational strategy to obtain the geometric measures of the multiple robot configurations.

[0155] Continuing with the example above where the self-kinematic manifold is one-dimensional, by considering the self-kinematic manifold of the robot... Rotation angle projected onto the reference joint From above, one can obtain Furthermore, the geometric measure of the robot's self-moving manifold can be calculated using the geometric measure calculation formula. .

[0156] The following section explains the steps for determining the self-moving manifold information of the selectable placement pose based on geometric measures and operability. Figure 10 As shown, the above S803 step includes:

[0157] S1001, Determine the first product of the geometric measure and the geometric measure coefficients.

[0158] S1002, Determine the second product of operability and operability coefficient.

[0159] S1003. The sum of the first product and the second product is used as the self-motion manifold information of the robot configuration corresponding to the optional placement pose.

[0160] The geometric measure coefficient can be a weighted value for the geometric measure, and the operability coefficient can be a weighted value for the operability. The specific values ​​of the geometric measure coefficient and the operability coefficient can be determined based on the actual operational requirements.

[0161] For example, let's take a self-kinematic manifold with a dimension of one. The self-kinematic manifold information of the robot configuration corresponding to the optional placement pose can be calculated using the following formula:

[0162]

[0163] in, This refers to the range of values ​​for the reference joint. In this example, the range of values ​​for the reference joint is... ,therefore Geometric measure coefficients and operability coefficient It is a constant, and has When focusing on the influence of the geometric measure of the self-moving manifold, we can take... , .

[0164] S1004. The self-motion manifold information of the robot configuration corresponding to the optional placement pose is summed to obtain the self-motion manifold information of the optional placement pose.

[0165] Alternatively, continuing with the above example, the discrete pose set corresponding to each workpiece pose is determined by the curve. The self-moving manifold information of the corresponding optional placement pose can be calculated. : .

[0166] The following is a further explanation of how the target placement pose of the workpiece to be placed is determined based on each optional placement pose and its self-motion manifold information. Figure 11 As shown, the above step S204 includes:

[0167] S1101. Based on the particle swarm optimization algorithm, multiple optional placement poses are iteratively optimized to obtain multiple optimized placement poses.

[0168] Optionally, the available space can be used as the optimization space, and the optimal placement pose with the largest self-moving manifold information can be taken as the optimization objective. A particle swarm optimization algorithm can be used to iteratively optimize the optional placement poses. By moving the optional placement poses, the optimized placement poses after the movement are obtained. (Refer to...) Figure 12 By moving the selectable placement pose, we can obtain Figure 12 The optimized placement pose of the red element.

[0169] S1102. Determine the self-motion manifold information of each optimized placement pose based on the robot's kinematic model.

[0170] Optionally, the self-moving manifold information of each optimized placement pose can be calculated based on the above steps S801-S803. The specific steps are not described in detail here.

[0171] S1103. Based on the self-motion manifold information of each optional placement pose and the self-motion manifold information of each optimized placement pose, determine the target placement pose from multiple optional placement poses and multiple optimized placement poses.

[0172] As one possible implementation, after reaching a preset number of iterations, the placement pose with the largest value of the self-kinematic manifold information can be selected as the target placement pose from all available placement poses and optimized placement poses based on the self-kinematic manifold information.

[0173] Reference Figure 13 Through the Figure 12 By comparing the self-motion manifold information of each optional placement pose and the preferred placement pose, we can obtain... Figure 13 The target placement pose is shown. Combined with... Figure 12 as well as Figure 13 It can be seen that the workpiece to be placed continuously converges towards the target placement pose during the particle swarm algorithm iteration process.

[0174] The iterative optimization process of the particle swarm optimization algorithm will be explained next with specific examples.

[0175] In each iteration, the particle swarm optimization algorithm continuously updates the current workpiece pose based on two "optimal solutions". The possible values ​​of . One of them can be the first The workpiece pose is calculated during the iteration process. The maximum value, i.e., the individual's historical best solution, corresponds to the workpiece pose, which is called the individual's historical best pose. Another approach is to select the maximum value among all calculated individual historical best solutions, which is the overall historical best solution. The corresponding workpiece pose is called the overall historical best pose. .

[0176] First, the parameters of the particle swarm optimization algorithm can be initialized, and the number of workpiece poses to be selected can be set. Maximum number of iterations Inertial weight Individual learning factor Group learning factor Secondly, it is necessary to set the velocity search space, that is, to define the space used for updating the workpiece pose. The range of values ​​for the speed value can be, for example, 10% of the available space. For the first The next iteration.

[0177] Then, the velocity and the individual's optimal pose are initialized, respectively for the first... Workpiece pose ( initial velocity Random values ​​are assigned, and these values ​​must be within a pre-defined velocity search space. Then, the individual's historical best pose is analyzed. Perform initialization, retrieve .

[0178] The next step, based on the determination of the self-moving manifold information, namely steps S801-S803 above, is to determine the objective function value of the pose of each workpiece. This refers to fitness. After calculation, the fitness values ​​between different poses are compared, and the pose with the highest fitness value is taken as the initial overall optimal pose. .

[0179] In the process of iteratively optimizing each available placement pose based on the particle swarm optimization algorithm, the following steps can be iterated repeatedly until the maximum number of iterations is reached:

[0180] A. Update the following formula Update speed of each pose:

[0181]

[0182] in, It is a random number between 0 and 1.

[0183] B. Update the workpiece pose value After obtaining the new workpiece pose, it is compared with the placeable space. If it exceeds the space boundary, the corresponding boundary value is used to replace the calculated value.

[0184] C. Based on steps S801-S803 above, calculate the self-motion manifold information of the new workpiece pose. If the self-motion manifold information of the new workpiece pose is less than the self-motion manifold information corresponding to the individual's historical best pose, then update the individual's historical best pose. Otherwise, it remains unchanged.

[0185] D. If the first If the fitness of the individual's new historical best pose is less than the fitness of the current overall historical best pose, then an update is performed. Otherwise, it remains unchanged.

[0186] By iterating through the above steps AD, the optimal overall historical best pose can be obtained after the preset maximum number of iterations. The output is the optimized target placement pose.

[0187] Based on the same inventive concept, this application also provides a workpiece pose determination device corresponding to the workpiece pose determination method. Since the principle of the device in this application is similar to the workpiece pose determination method described above, the implementation of the device can refer to the implementation of the method, and repeated details will not be elaborated further. The device includes a first determination module, a second determination module, a third determination module, and a fourth determination module.

[0188] The first determining module is used to determine the discrete point pose array of the area to be processed. The discrete point pose array is used to characterize the pose of each discrete point in the area to be processed in the workpiece coordinate system. The area to be processed includes: the outer surface of the workpiece to be placed and the predetermined motion curve of the robot end effector.

[0189] The second determining module is used to determine the placeable space of the workpiece to be placed in the robot's workspace based on the robot's kinematic model. The placeable space is the set of position points where the workpiece to be placed can be placed in the robot's workspace.

[0190] The third determining module is used to determine multiple optional placement poses of the workpiece to be placed and the self-motion manifold information of each optional placement pose based on the placeable space and the discrete point pose array.

[0191] The fourth determination module is used to determine the target placement pose of the workpiece to be placed based on each optional placement pose and the self-motion manifold information of each optional placement pose.

[0192] Optionally, the first determining module is specifically used for:

[0193] Discretize the outer curved surface of the workpiece to be placed to obtain the first discrete point sequence of the workpiece.

[0194] Position constraints are applied to each discrete point in the first discrete point sequence to obtain the discrete point position array of the first discrete point sequence;

[0195] Discretize the predetermined motion curve of the robot end effector to obtain the second discrete point sequence of the predetermined motion curve of the robot end effector;

[0196] The attitude is constrained by the unit normal vector and unit tangent vector of each discrete point in the second discrete point sequence, and the discrete point pose array of the second discrete point attitude is obtained.

[0197] The discrete point position array of the first discrete point sequence and the discrete point pose array of the second discrete point orientation are combined into a discrete point pose array.

[0198] Optionally, the second determining module is specifically used for:

[0199] Determine the robot's workspace based on the robot's kinematic model;

[0200] Determine the envelope boundary of the robot's workspace, and use the space within the envelope boundary as the placement space.

[0201] Optionally, the third determining module is specifically used for:

[0202] The discrete point pose array is transformed by coordinate system transformation to obtain the intermediate discrete point pose array in the robot coordinate system.

[0203] Based on the available space and the intermediate discrete point pose array, at least one optional placement pose is determined, and the optional placement pose includes at least one discrete point.

[0204] Based on the robot's kinematic model, the self-motion manifold information of each selectable placement pose is determined.

[0205] Optionally, the third determining module is specifically used for:

[0206] Based on the robot's self-motion manifold dimension and the robot's kinematic model, determine the geometric measures of multiple robot configurations corresponding to each selectable placement pose.

[0207] The operability of the robot in multiple robot configurations corresponding to each available placement pose is determined based on the robot's kinematic model.

[0208] Based on geometric measures and operability, the self-moving manifold information for the selectable placement pose is determined.

[0209] Optionally, the third determining module is specifically used for:

[0210] Based on the self-motion manifold dimension, the robot's reference joints and computational strategies are determined;

[0211] When the robot's end effector pose is fixed, multiple robot configurations are determined based on the rotation angle range of the reference joints.

[0212] Based on the computational strategy, multiple robot configurations are projected to obtain the geometric measures of the multiple robot configurations.

[0213] Optionally, the third determining module is specifically used for:

[0214] Determine the first product of the geometric measure and its coefficients;

[0215] Determine the second product of operability and operability coefficient;

[0216] The sum of the first and second products is used as the self-motion manifold information of the robot configuration corresponding to the optional placement pose;

[0217] The self-motion manifold information of the robot configuration corresponding to the optional placement pose is summed to obtain the self-motion manifold information of the optional placement pose.

[0218] Optionally, the fourth determining module is specifically used for:

[0219] The particle swarm optimization algorithm is used to iteratively optimize multiple optional placement poses to obtain multiple optimized placement poses.

[0220] The self-motion manifold information of each optimized placement pose is determined based on the robot's kinematic model;

[0221] Based on the self-motion manifold information of each optional placement pose and each optimized placement pose, the target placement pose is determined from multiple optional placement poses and multiple optimized placement poses.

[0222] Figure 14 The diagram illustrates the structure of an electronic device according to an embodiment of this application, including a processor 1401, a storage medium 1402, and a bus 1403. The storage medium 1402 stores machine-readable instructions executable by the processor 1401. When the electronic device runs a workpiece pose determination method as described in the embodiment, the processor 1401 communicates with the storage medium 1402 via the bus 1403. The processor 1401 executes the machine-readable instructions, and the preamble of the method item of the processor 1401 executes the steps in the workpiece pose determination method described above.

[0223] This application also provides a computer-readable storage medium storing a computer program, which is executed by a processor, wherein the processor performs the steps in the above-described workpiece pose determination method.

[0224] In this embodiment, the computer program, when run by the processor, can also execute other machine-readable instructions to perform other methods as described in the embodiments. For details on the specific execution steps and principles, please refer to the description of the embodiments, which will not be repeated here.

[0225] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0226] 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 this embodiment according to actual needs.

[0227] In addition, the functional units in the embodiments provided in this application 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.

[0228] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0229] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0230] Finally, it should be noted that the above-described embodiments are merely specific implementations of this application, used to illustrate the technical solutions of this application, and not to limit them. The protection scope of this application is not limited thereto. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this application; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application. All should be covered within the protection scope of this application. Therefore, the protection scope of this application should be determined by the protection scope of the claims.

Claims

1. A method for determining the pose of a workpiece, characterized in that, include: A discrete point pose array is determined for the area to be processed. The discrete point pose array is used to characterize the pose of each discrete point in the area to be processed in the workpiece coordinate system. The area to be processed includes: the outer surface of the workpiece to be placed and the predetermined motion curve of the robot end effector. The placeable space of the workpiece to be placed in the robot's workspace is determined based on the robot's kinematic model. The placeable space is the set of position points where the workpiece to be placed can be placed in the robot's workspace. Based on the available space and the discrete point pose array, determine multiple optional placement poses of the workpiece to be placed and the self-motion manifold information of each optional placement pose; The target placement pose of the workpiece to be placed is determined based on each optional placement pose and the self-motion manifold information of each optional placement pose.

2. The method according to claim 1, characterized in that, The discrete point pose array for determining the region to be processed includes: The outer curved surface of the workpiece to be placed is discretized to obtain the first discrete point sequence of the workpiece to be placed. Position constraints are applied to each discrete point in the first discrete point sequence to obtain a discrete point position array of the first discrete point sequence; Discretize the predetermined motion curve of the robot end effector to obtain a second discrete point sequence of the predetermined motion curve of the robot end effector; Based on the unit normal vector and unit tangent vector of each discrete point in the second discrete point sequence, pose constraints are performed to obtain the discrete point pose array of the second discrete point sequence; The discrete point position array of the first discrete point sequence and the discrete point pose array of the second discrete point sequence are combined to form the discrete point pose array.

3. The method according to claim 1, characterized in that, Determining the placeable space for the workpiece in the robot's workspace based on the robot's kinematic model includes: The robot's workspace is determined based on the robot's kinematic model; Determine the envelope boundary of the robot's workspace, and use the space within the envelope boundary as the placeable space.

4. The method according to claim 1, characterized in that, The step of determining multiple selectable placement poses of the workpiece to be placed and the self-motion manifold information of each selectable placement pose based on the placeable space and the discrete point pose array includes: The discrete point pose array is subjected to coordinate system transformation to obtain the intermediate discrete point pose array in the robot coordinate system; Based on the available space and the intermediate discrete point pose array, at least one optional placement pose is determined, wherein the optional placement pose includes at least one discrete point; Based on the kinematic model of the robot, the self-motion manifold information of each of the optional placement poses is determined.

5. The method according to claim 4, characterized in that, The step of determining the self-motion manifold information of each of the optional placement poses based on the robot's kinematic model includes: Based on the self-motion manifold dimension of the robot and the kinematic model of the robot, determine the geometric measures of multiple robot configurations corresponding to each of the optional placement poses; The operability of the robot in multiple robot configurations corresponding to each of the optional placement poses is determined based on the robot's kinematic model. Based on the geometric measure and the operability, the self-moving manifold information of the optional placement pose is determined.

6. The method according to claim 5, characterized in that, The step of determining the geometric measures of multiple robot configurations corresponding to each of the selectable placement poses based on the robot's self-motion manifold dimension and the robot's kinematic model includes: Based on the self-motion manifold dimension, the reference joints and computational strategies of the robot are determined; When the end effector pose of the robot is fixed, multiple robot configurations of the robot are determined according to the rotation angle range of the reference joint; Based on the aforementioned computational strategy, the multiple robot configurations are projected to obtain their geometric measures.

7. The method according to claim 5, characterized in that, The step of determining the self-moving manifold information of the selectable placement pose based on the geometric measure and the operability includes: Determine the first product of the geometric measure and the geometric measure coefficients; Determine the second product of the operability and the operability coefficient; The sum of the first product and the second product is used as the self-motion manifold information of the robot configuration corresponding to the optional placement pose; The self-motion manifold information of the robot configuration corresponding to the optional placement pose is summed to obtain the self-motion manifold information of the optional placement pose.

8. The method according to claim 1, characterized in that, The step of determining the target placement pose of the workpiece to be placed based on each selectable placement pose and the self-motion manifold information of each selectable placement pose includes: The multiple optional placement poses are iteratively optimized using the particle swarm optimization algorithm to obtain multiple optimized placement poses. The self-motion manifold information of each of the optimized placement poses is determined based on the kinematic model of the robot; The target placement pose is determined from the plurality of optional placement poses and the plurality of optimized placement poses based on the self-motion manifold information of each of the optional placement poses and the self-motion manifold information of each of the optimized placement poses.

9. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the workpiece pose determination method as described in any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the workpiece pose determination method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Workpiece grab pose determination method and device, equipment and storage medium

    CN111805540A

  • Method for determining optimal initial machining pose during cooperative spraying of double robots

    CN116000952A