Patent application title:

ROBOT-ASSISTED SHEET METAL BENDING LOADING AND UNLOADING PATH PLANNING METHOD BASED ON SVSDF

Publication number:

US20260048431A1

Publication date:
Application number:

19/340,572

Filed date:

2025-09-25

Smart Summary: A method helps robots load and unload sheet metal parts during bending processes. First, it sets up a coordinate system to track movements. Then, it determines an initial path for the robot to follow while loading and unloading. The method checks how safe the path is and calculates its cost. Finally, it optimizes the path for safety and efficiency, translating the movements into specific actions for the robot's bending axes. 🚀 TL;DR

Abstract:

A robot-assisted sheet metal bending loading and unloading path planning method based on an SVSDF is provided. The method includes the following steps: Step 1, constructing a two-dimensional pixel coordinate system; Step 2, obtaining an initial motion trajectory of loading and unloading a sheet metal part; Step 3, calculating path safety; Step 4, calculating a path cost; Step 5, calculating a fitness value of the initial motion trajectory of loading and unloading the sheet metal part; Step 6, optimizing the path cost and the path safety to obtain an optimal motion trajectory of loading and unloading the sheet metal part; and Step 7, through derivation of a bending loading and unloading motion relationship, transforming a motion trajectory of loading and unloading a workpiece itself into a motion trajectory of each axis of a bending robot.

Inventors:

Assignee:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

B21D43/021 »  CPC main

Feeding, positioning or storing devices combined with, or arranged in, or specially adapted for use in connection with, apparatus for working or processing sheet metal, metal tubes or metal profiles; Associations therewith of cutting devices; Advancing work in relation to the stroke of the die or tool Control or correction devices in association with moving strips

B21D43/02 IPC

Feeding, positioning or storing devices combined with, or arranged in, or specially adapted for use in connection with, apparatus for working or processing sheet metal, metal tubes or metal profiles; Associations therewith of cutting devices Advancing work in relation to the stroke of the die or tool

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2024/135317, filed on Nov. 28, 2024, which claims priority to Chinese Patent Application No. 202411134750.8, filed on Aug. 19, 2024. The disclosures of the above-mentioned applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present disclosure relates to the technical field of sheet metal bending processing, and in particular, to a robot-assisted sheet metal bending loading and unloading path planning method based on a Swept Volume Signed Distance Field (SVSDF).

BACKGROUND

In the process of bending a metal sheet, with the progress of the process, the shape of the metal sheet may change from a simple shape to a complex shape, usually resulting in non-convex geometry. In robot-assisted bending, a narrow space between an upper die and a lower die of a bender and the constantly changing non-convex geometry of a workpiece increase the risk of collision. Specifically, in an existing robot-assisted bending loading and unloading task, there are the following disadvantages.

Firstly, due to the highly integrated operation of a bending component (such as upper and lower dies, a positioning device, and the like), the channels of the upper and lower dies are relatively narrow, and the robot is highly prone to interference and collision between a mechanical arm and a component such as a die and a clamp in the process of handling and placing a sheet metal part.

Secondly, the attitude change of the sheet metal part in the loading and unloading process is complex. If there is no effective path safety criterion, the minimum safety distance between a motion path and a surrounding obstacle is highly likely to be insufficient, which may pose a high collision risk.

Lastly, most of conventional path planning methods focus on a single optimization goal, which cannot take into account the path length and the safe distance from an obstacle. In this way, the path is too conservative to be efficient or has a great safety risk in the actual implementation process.

The causes for the disadvantages are explained in detail as follows: the difficulty of a robot-assisted bending loading and unloading task lies in the narrow space for movement of the workpiece and variable shapes of the workpiece. Efficiency and safety are crucial in this task. At present, the path planning methods mainly focus on reducing the path length, but there is little research on the safety and efficiency of balancing the movement of an object. At present, an existing bending loading and unloading path planning algorithm, such as a conventional Rapidly-Exploring Random Tree (RRT) algorithm still have the following shortcomings in the use process.

The calculation efficiency is low, the convergence speed is slow, and the path is not smooth enough.

An existing algorithm oversimplifies the shape of the object and the environment or uses a discrete sampling method to approximate continuous motion. The method of simplifying the shape reduces the available space, and it is impossible to generate a smooth and moderate motion trajectory in a restricted narrow channel of the upper and lower dies. At the same time, the discrete sampling method may lose the function of collision detection, thereby failing to ensure continuous collision-free motion.

The algorithm focuses on path efficiency, fails to fully solve the problem of path safety, and lacks specific indicators to measure path safety.

SUMMARY

The technical problem to be solved by the present disclosure is to provide a robot-assisted sheet metal bending loading and unloading path planning method based on an SVSDF. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF uses a water cycle algorithm to perform multi-objective optimization based on a quantitative path safety criterion of the SVSDF. The path cost and the safe distance from an obstacle are balanced, so as to balance safety and efficiency of object movement. In this way, the safe distance between the robot and a surrounding obstacle in a moving process is increased in the actual use of a robot-assisted bending loading and unloading task. The collision risk of the sheet metal part in the loading and unloading process is reduced while reducing the probability of interference and collision between a mechanical arm and a component such as a die and a clamp.

In order to solve the technical problems, the technical solution used by the present disclosure is as follows.

A robot-assisted sheet metal bending loading and unloading path planning method based on an SVSDF includes the following steps.

In the actual sheet metal bending production site, due to the narrow space channel between the upper and lower dies of the bender and the complex die structure, if the path of the robot is not properly controlled when handling the sheet metal part, scraping or collision between a corner of the sheet metal part and the die easily occurs, thereby influencing the bending accuracy and even resulting in device damage.

Based on this disadvantage, this embodiment first projects a three-dimensional model of the upper and lower dies of the bender from the side, and constructs a two-dimensional map plane through the image binarizing method. Step a: fixing and positioning the die: the cleaned upper and lower dies are respectively fixed on a scanning workbench, and positioning mark points with specified diameters (evenly distributed at specified distances) are stuck on the surface of the die to ensure that the mark points do not block the key structure of the die (such as a protrusion and a groove); Step b, three-dimensional scanning: the three-dimensional scanner starts, and multi-angle scanning is performed on the die along the side view direction (perpendicular to the opening or closing direction of the die); Step c: model format transformation: an original design model (such as STEP and IGES formats) of the upper and lower dies of the bender are imported into a three-dimensional modeling software, the model integrity is checked (ensuring that the key structure such as the protrusion at the bottom of the upper die and the groove of the lower die is not missing), and if there are redundant features, the features may be temporarily hidden but not deleted; Step d, model attitude adjustment: the model attitude of the die is adjusted in the software to allow the side-view direction (preset projection direction) to be consistent with the Z-axis direction of the software view coordinate system, so as to ensure that the side-view profile (the upper die height, the lower die depth, and the narrow region range) of the die can be completely presented during projection; and Step e: intercepting the side view: the drawing tool is imported, the binary image is exported after format transformation, and the binary image data is read using the MATLAB.

Step 1, constructing a two-dimensional pixel coordinate system: a two-dimensional map plane is constructed after binarizing side-view images of three-dimensional models of upper and lower dies based on a sheet metal bender, an upper left corner of the two-dimensional map plane is used as an origin, and two adjacent right-angled edges passing through the origin are an x axis and a y axis, respectively, so that the two-dimensional pixel coordinate system is formed; if the sheet metal part is regarded as a moving object, and a bending point of the sheet metal part is regarded as a moving point, a motion path of loading and unloading the sheet metal part includes several path points, and each path point is denoted as (x, y, θ); where (x, y) is a position parameter of the sheet metal part in the two-dimensional pixel coordinate system; and θ is an attitude angle of the sheet metal part.

Step 2, obtaining an initial motion trajectory of loading and unloading the sheet metal part: a Rapidly-Exploring Random Tree (RRT)-Connect algorithm is used to initially plan the motion path of loading and unloading the sheet metal part to obtain an initial motion trajectory of loading and unloading the sheet metal part; and the initially planning process is repeated for Npop times to obtain Npop initial motion trajectories of loading and unloading the sheet metal part.

Step 3, calculating path safety: all pixel points which are prone to colliding with bending motion of the sheet metal part or have a distance less than a safe distance from an upper die and a lower die of the sheet metal bender are found, which are marked as obstacle points of interest; and according to the obstacle points of interest and the initial motion trajectory of loading and unloading the sheet metal part, and based on the Swept Volume Signed Distance Field (SVSDF), the path safety value of each initial motion trajectory of loading and unloading the sheet metal part is calculated.

Step 4, calculating path cost: assuming that any initial motion trajectory of loading and unloading the sheet metal part has N path points, the specific calculation formula of the path cost is:

path ⁢ cost = ∑ i = 1 N - 1 ⁢ Δ ⁢ x i 2 + Δ ⁢ y i 2 + β ⁢ Δ ⁢ θ i 2

    • where Δxi and Δyi are differences in horizontal and vertical position parameters between two adjacent path points i and i+1; where 1≤i≤N−1;
    • Δθi is a difference in attitude angles of the sheet metal part between two adjacent path points i and i+1;

β is an attitude angle weight coefficient, which is a set value.

Step 5, calculating COSTt: a fitness value COSTt of a t-th initial motion trajectory of loading and unloading the sheet metal part is calculated, where 1≤t≤Npop; and the calculation formula of COSTt is:

COST t = γ 1 ⁢ path ⁢ cost + γ 2 ⁢ path ⁢ safety

    • where γ1 is a cost weight coefficient, and 1≤γ1≤1.5, which is a set value;
    • γ2 is a safety weight coefficient, and 1≤γ2≤1.5, which is a set value.

Step 6, obtaining an optimal motion trajectory of loading and unloading the sheet metal part: based on a Water Cycle Algorithm (WCA), the minimum value of Npop COSTt in Step 5 is continuously iteratively optimized and found out, and the motion trajectory of loading and unloading the sheet metal part corresponding to the minimum COSTt is used as the optimal motion trajectory of loading and unloading the sheet metal part.

In Step 2, the RRT-Connect algorithm is an improved synchronous bias greedy RRT-Connect algorithm; and the improved synchronous bias greedy RRT-Connect algorithm uses an adaptive elliptical region to sample each random points when initially planning the motion path of loading and unloading the sheet metal part, and performs adaptive growth of each search tree node based on the influence of an obstacle.

In Step 2, the method of using an adaptive elliptical region to sample each random point includes the following steps:

    • Step 2A-1, establishing an adaptive elliptical region: a starting point Sstart(xstart, θstart) and a goal point Sgoal(xgoal, ygoal, θgoal) of the motion path of loading and unloading the sheet metal part are used as two focal points of the adaptive elliptical region; and the length l from the upper die to the lower die of the bender is used as a length cshort of a short axis of the adaptive elliptical region, so as to construct the adaptive elliptical region which adaptively changes with the starting point and the goal point;
    • Step 2A-2, constructing a unit circle: the origin of the two-dimensional pixel coordinate system in Step 1 is used as the center to construct a unit circle with a radius of one pixel;
    • Step 2A-3, stretching a random point: a point (xc, yc, θrand) is randomly generated in the unit circle, and the point is stretched into a point (x, y, θrand) in the adaptive elliptical region; where the calculation formula of x and y is:

[ x y ] = [ c long / 2 0 0 c short / 2 ] [ x c y c ]

    • where clong is a length of a long axis of the adaptive elliptical region, which is calculated according to cshort and a focal length between two focal points; and
    • Step 2A-4, rotating a random point: the point (x, y, θrand) is rotated according to two focuses of the adaptive elliptical region, and the rotated point is a randomly sampled point Srand (xrand, yrand, θrand); where the calculation formula of xrand and yrand is:

[ x rand y rand ] = R [ x y ] + [ ( x start + x goal ) / 2 ( y start + y goal ) / 2 ]

    • where R is a rotation matrix, and the expression is:

R = [ cos ⁢ α - sin ⁢ α sin ⁢ α cos ⁢ α ]

    • where α is a rotation angle of the point (x, y, θrand), and the specific calculation formula is:

α = arc ⁢ tan ⁡ ( ❘ "\[LeftBracketingBar]" x start - ⁢ x goal ❘ "\[RightBracketingBar]" / ❘ "\[LeftBracketingBar]" y start - ⁢ y goal ❘ "\[RightBracketingBar]" ) .

In Step 2, the adaptive growth method of each search tree node includes the following steps:

    • Step 2B-1, calculating an expansion direction v0 of search tree nodes without obstacle influence, where the specific calculation formula is:

v 0 = ( [ x rand y rand ] - [ x nearest y nearest ] ) /  [ x rand y rand ] - [ x nearest y nearest ]  2

    • where xnearest and ynearest are position parameters of the generated tree node Snearest closest to the randomly sampled point Srand;
    • Step 2B-2, finding the total number No of obstacles influencing a newly generated search tree node Snew: the randomly sampled point Srand is used as the center to establish a square with a side length as a set pixel a; and the total number of pixel points intersecting the square with the upper die or the lower die of the bender is denoted as the total number No of obstacles influencing the newly generated search tree node Snew(xnew, ynew, θnew);
    • Step 2B-3, calculating the influence direction vobs of the obstacle on Snew, where the specific calculation formula is:

v obs = ∑ k = 1 N 0 ( [ x rand y rand ] - [ x k y k ] ) /  [ x rand y rand ] - [ x k y k ]  2

    • where xk and yk are pixel coordinates of the k-th obstacle; where 1≤k≤N0;
    • Step 2B-4, calculating the expansion direction v of search tree nodes with obstacle influence, where the specific calculation formula is:

v = γ 3 ⁢ v 0 + γ 4 ⁢ v o ⁢ b ⁢ s where γ 3 + γ 4 = 1

    • where γ3 and γ4 the set weight coefficients;
    • Step 2B-5, calculating xnew and ynew: Snearest which is closest to Srand is used as the starting point of expansion, and a set equidistant step size rp is used to expand in the v direction; where the specific calculation formula of xnew and yne is:

[ x n ⁢ e ⁢ w y n ⁢ e ⁢ w ] = [ x nearest y nearest ] + r p ⁢ v

    • Step 2B-6, calculating θnew: θnearest is used as the initial value, and a set equiangular step size ro is used to expand to θrand, where the specific calculation formula is:

θ n ⁢ e ⁢ w = r o ( θ rand - θ nearest ) + θ nearest

    • where θnearest is an attitude angle of the sheet metal part of the generated search tree node Snearest which is closest to the random sampled point Srand.

It is judged whether there is a collision in an expansion process, resampling is performed if there is a collision, and a new node Snew is added to the search tree if there is no collision.

In Step 3, the method of calculating path safety specifically includes the following steps:

    • Step 3-1, calculating a swept volume: a Shape function is used to calculate the total number of pixel points occupied by any initial motion trajectory of loading and unloading the sheet metal part when moving from the starting point Sstart to the goal point Sgoal, which is denoted as the swept volume;
    • Step 3-2, constructing a binary image of the swept volume: the swept volume obtained in Step 3-1 is input into a blank two-dimensional map plane by using a Map function, and the binary image is marked as black, thereby forming the binary image of the swept volume;
    • Step 3-3, constructing an SVSDF matrix: any pixel coordinate in the binary image of the swept volume constructed in Step 3-2 is calculated to the SVSDF value of the swept volume, thus forming the SVSDF matrix;
    • Step 3-4, finding obstacle points of interest: the upper die and the lower die of the sheet metal bender are obstacles in the bending motion of the sheet metal part, all pixel points which are prone to colliding with bending motion of the sheet metal part or have a distance less than a safe distance from an upper die and a lower die are found from the two-dimensional map plane constructed in Step 1, which are marked as obstacle points of interest, and the pixel coordinate of each obstacle point of interest is recorded;
    • Step 3-5, obtaining an SVSDF value of the obstacle point of interest: according to the pixel coordinate of the obstacle point of interest in Step 3-4, the corresponding SVSDF value is found from the SVSDF matrix constructed in Step 3-3, so as to obtain the SVSDF value of each obstacle point of interest;
    • Step 3-6, calculating an average average_sdf of the SVSDF value of the obstacle point of interest;
    • Step 3-7, using normal distribution to determine the position of average_sdf and a probability density value pdf_value; and
    • Step 3-8, calculating path safety, specifically: path safety=K×pdf_value; where K is a magnitude adjustment coefficient.

In Step 3-1, the t-th initial motion trajectory of loading and unloading the sheet metal part includes N path points, that is, a starting point Sstart, a second path point S2, a third path point S3, . . . , an i-th path point Si, a (N−2)-th path point SN−2, and a goal point Sgoal; where 2≤i≤N−2; and the swept volume of the path point Si is Shape(Si).

In Step 3-2, the binary image SV_map of the swept volume of the t-th initial motion trajectory of loading and unloading the sheet metal part is:

SV_map = Map ( ⋃ i ∈ [ start , goal ] Shape ( S i ) ) .

In Step 3-3, the calculation formula of the SVSDF is:

SVSDF = d ⁡ ( SV_map ) - d _ ( SV_map )

    • where d(SV_map) is a distance from any pixel point in the binary image of the swept volume to the nearest pixel point of the swept volume in unit of pixels;
    • d(SV_map) is a complement of d(SV_map).

In Step 3-4, before finding the obstacle point of interest, the upper die and the lower die of the sheet metal bender are divided into a narrow region and a non-narrow region; where the narrow region refers to the region between the protrusion of the bottom of the upper die and the groove of the lower die; the non-narrow region refers to other bending moving regions except the narrow region; and therefore, the obstacle points of interest include obstacle points of interest in the narrow region and obstacle points of interest in the non-narrow regions.

The obstacle points of interest in the narrow region include pixel points located at an outer edge and a periphery of the bottom of the upper die in the narrow region, and pixel points located at an outer edge and a periphery of the top of the lower die in the narrow region.

The obstacle points of interest in the non-narrow region include pixel points at an outer edge of the upper die or the lower die which are prone to colliding with the sheet metal part in the non-narrow region.

In Step 3-6, average_sdf includes an average average_sdf1 of the SVSDF of the obstacle points of interest in the narrow region and an average average_sdf2 of the SVSDF of the obstacle points of interest in the non-narrow region.

In Step 3-7, pdf_value includes the probability density value pdf_value_narrow of the narrow region and the probability density value pdf_value_nonnarrow of the non-narrow region, and the specific calculation formulae are:

pdf_value ⁢ _narrow = 1 - 1 2 ⁢ πσ 1 2 ⁢ exp ⁢ ( - ( average_sdf 1 - μ 1 ) 2 2 ⁢ σ 1 2 ) pdf_value ⁢ _nonnarrow = 1 - 1 2 ⁢ πσ 2 2 ⁢ exp ⁢ ( - ( average_sdf 2 - μ 2 ) 2 2 ⁢ σ 2 2 )

    • where μ1 is an expected safe distance of the narrow region, which is a set value;
    • μ2 is an expected safe distance of the non-narrow region, which is a set value;
    • σ1 is a width adjustment value of a normal distribution curve corresponding to the SVSDF value of the obstacle point of interest in the narrow region, which is a set value; and
    • σ2 is a width adjustment value of a normal distribution curve corresponding to the SVSDF value of the obstacle point of interest in the non-narrow region, which is a set value.

The present disclosure has the following beneficial effects. The problems that a RRT-Connect algorithm is easily attracted by a low-value region and the convergence speed is unstable are solved through a synchronous bias greedy strategy, adaptive elliptical region sampling, and adaptive node growth. This improvement reduces the number of iterations and the search time by 51.91% and 67.6%, respectively. Second, a quantitative path safety criterion of an SVSDF based on workpiece movement is introduced. Multi-objective optimization is performed using the WCA to balance the path cost and the safe distance from an obstacle. The experimental results show that the method is suitable for workpieces with different complexity. Finally, the validity of the path is verified on a simulation platform and a physical entity based on digital twins.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a frame schematic diagram of a robot-assisted sheet metal bending loading and unloading path planning method based on an SVSDF according to the present disclosure.

FIG. 2 is a 2D map based on a side view of upper and lower dies of a bender.

FIG. 3 is a schematic diagram of an improved SBG-RRT-Connect algorithm according to the present disclosure using an adaptive elliptical region for random point sampling.

FIG. 4 is a diagram of a region influenced by an obstacle when an adaptive node grows in an improved SBG-RRT-Connect algorithm according to the present disclosure.

FIG. 5 is a schematic diagram of a process of adaptive node growth in an improved SBG-RRT-Connect algorithm according to the present disclosure.

FIG. 6(a) is a schematic diagram of position parameter interpolation in a path interpolation result according to the present disclosure.

FIG. 6(b) is a schematic diagram of interpolation of an attitude angle of a sheet metal part in a path interpolation result according to the present disclosure.

FIG. 7 is a schematic diagram of a swept volume of workpiece movement according to the present disclosure.

FIG. 8 is an image in which the SVSDF is stored according to the present disclosure.

FIG. 9 is a diagram of deriving a motion relationship of a robot adsorbing a workpiece.

FIG. 10 is a coordinate system of a bending robot.

FIG. 11 is a kinematic derivation process of bending loading and unloading.

FIG. 12 is a diagram of an unloading motion path of a workpiece in a certain process.

FIG. 13 shows a specific motion path corresponding to each movement axis of a robot which moves according to the workpiece motion path specified in FIG. 12 when performing a handling operation of a workpiece.

FIG. 14 (a) is an experiment diagram when the directions of the workpiece at the starting position and the goal position are unchanged in the case that the conventional RRT-Connect algorithm is used in a path planning experiment.

FIG. 14(b) is an experiment diagram when the directions of the workpiece at the starting position and the goal position are unchanged in the case that the conventional SBG-RRT-Connect algorithm is used in a path planning experiment.

FIG. 14(c) is an experiment diagram when the directions of the workpiece at the starting position and the goal position are unchanged in the case that the improved SBG-RRT-Connect algorithm is used in a path planning experiment.

FIG. 14(d) is an experiment diagram when the directions of the workpiece at the starting position and the goal position have obviously changed in the case that the conventional RRT-Connect algorithm is used in a path planning experiment.

FIG. 14(e) is an experiment diagram when the directions of the workpiece at the starting position and the goal position have obviously changed in the case that the conventional SBG-RRT-Connect algorithm is used in a path planning experiment.

FIG. 14(f) is an experiment diagram when the directions of the workpiece at the starting position and the goal position have obviously changed in the case that the improved SBG-RRT-Connect algorithm is used in a path planning experiment.

FIG. 15(a) is a comparison diagram of the path cost of repeated experimental results when three algorithms are used.

FIG. 15(b) is a comparison diagram of the search time of repeated experimental results when three algorithms are used.

FIG. 15(c) is a comparison diagram of the number of iterations of repeated experimental results when three algorithms are used.

FIG. 15(d) is a partially enlarged schematic diagram of FIG. 15(c).

FIG. 16(a) is a first comparison diagram of the WCA algorithm before and after multi-objective path optimization.

FIG. 16(b) is a second comparison diagram of the WCA algorithm before and after multi-objective path optimization.

FIG. 16(c) is a third comparison diagram of the WCA algorithm before and after multi-objective path optimization.

FIG. 16(d) is a fourth comparison diagram of the WCA algorithm before and after multi-objective path optimization.

FIG. 16(e) is a fifth comparison diagram of the WCA algorithm before and after multi-objective path optimization.

FIG. 16(f) is a sixth comparison diagram of the WCA algorithm before and after multi-objective path optimization.

FIG. 17 is a simulation and physical verification path according to the present disclosure.

FIG. 18(a) is a first diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a first state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(b) is a second diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a second state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(c) is a third diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a third state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(d) is a fourth diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a fourth state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(e) is a fifth diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a fifth state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(f) is a sixth diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a sixth state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(g) is a seventh diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing a seventh state of a bending robot in the process of performing a specific unloading operation.

FIG. 18(h) is an eighth diagram of a digital twin virtual simulation and physical verification according to the present disclosure, showing an eighth state of a bending robot in the process of performing a specific unloading operation.

FIG. 19 is an overall flow diagram of a robot-assisted sheet metal bending loading and unloading path planning method based on an SVSDF according to the present disclosure.

FIG. 20 is an overall flow diagram of a method of using an adaptive elliptical region to sample each random point according to the present disclosure.

FIG. 21 is an overall flow diagram of an adaptive growth method of each search tree node according to the present disclosure.

FIG. 22 is an overall flow diagram of a method of calculating path safety according to the present disclosure.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present disclosure will be further described in detail with reference to the accompanying drawings and specific preferred embodiments.

In the description of the present disclosure, it is to be understood that orientation or position relationships indicated by terms “left”, “right”, “upper”, “lower”, and the like are orientation or position relationships shown based on the accompanying drawings, which are merely intended to facilitate describing the present disclosure and simplifying the description, rather than indicate or imply that indicated devices or elements have to have particular orientations, and constructed and operated in particular orientations. The terms “first”, “second”, and the like do not indicate the degree of importance of the components, and therefore, cannot be understood as a limitation on the present disclosure. The specific dimensions used in this embodiment are only for illustrating the technical solution, and do not limit the scope of protection of the present disclosure.

As shown in FIG. 1 and FIG. 19, a robot-assisted sheet metal bending loading and unloading path planning method based on an SVSDF includes the following steps.

Step 1, in actual production, due to the narrow channel between the upper and lower dies of the bender, if the path of the robot is not properly controlled when handling the sheet metal part, scraping or collision between a corner of the sheet metal part and the die easily occurs, thereby influencing the bending accuracy and even resulting in device damage. Therefore, it is necessary to perform abstract modelling of the working environment through the two-dimensional pixel coordinate system for subsequent path safety analysis. That is, a two-dimensional pixel coordinate system is constructed: a two-dimensional map plane is constructed after binarizing side-view images of three-dimensional models of upper and lower dies based on a sheet metal bender, an upper left corner of the two-dimensional map plane is used as an origin, and two adjacent right-angled edges passing through the origin are an x axis and a y axis, respectively, so that the two-dimensional pixel coordinate system is formed, as shown in FIG. 2; if the sheet metal part is regarded as a moving object, and a bending point of the sheet metal part is regarded as a moving point, a motion path of loading and unloading the sheet metal part includes several path points, and each path point is denoted as (x, y, θ); where (x, y) is a position parameter of the sheet metal part in the two-dimensional pixel coordinate system; θ is an attitude angle of the sheet metal part; and y axis is parallel to the vertical plane where the upper die and the lower die of the sheet metal bender are located.

Step 2, in a conventional method, random sampling path planning often leads to slow convergence and easily falls into a low-value region due to the limited space and the complex obstacle distribution, which results in a long trajectory, low efficiency and even inability to generate feasible paths. Therefore, it is necessary to obtain an initial motion trajectory of loading and unloading the sheet metal part: a Rapidly-Exploring Random Tree (RRT)-Connect algorithm is used to initially plan the motion path of loading and unloading the sheet metal part to obtain an initial motion trajectory of loading and unloading the sheet metal part; and the initially planning process is repeated for Npop times to obtain Npop initial motion trajectories of loading and unloading the sheet metal part.

The above RRT-Connect algorithm is preferably an improved synchronous bias greedy RRT-Connect algorithm (also referred to as an improved SBG-RRT-Connect algorithm); the improved synchronous bias greedy RRT-Connect algorithm uses an adaptive elliptical region to sample each random point when initially planning the motion path of loading and unloading the sheet metal part, and performs adaptive growth of each search tree node based on the influence of an obstacle.

The advantage of RRT-Connect is that it is likely to grow trees greedily toward the goal location, showing better performance in terms of computing time. The disadvantage is that a greedy strategy often falls into the dilemma of searching in regions far from the goal. At the same time, the RRT algorithm with bias has the probability of expanding to the goal, but the expansion occurs only once.

In order to solve this problem, an SBG-RRT-Connect algorithm is proposed, which adds a synchronous bias greedy strategy to improve the path planning performance in the bending loading and unloading task.

The main improvement of the algorithm lies in the trigger condition of the greedy expansion strategy of the random tree Tb of the goal point, in which the greedy expansion is performed when the randomly sampled point is selected as the relative goal point, that is, the greedy linear expansion is performed towards the goal point with the step size until an obstacle is encountered or two search trees are connected. Otherwise, the tree may only expand once. The synchronous partial greed strategy can be interpreted as gradient descent search with p probability and uniform exploration with i-p probability. The former aims to improve the path quality by reducing the search time, while the latter prevents the algorithm from falling into local minima.

In the bending operation space, the distribution of obstacles is more fixed, mainly including the upper die and the lower die of the bender, thereby allowing the movement space of the workpiece to be narrow. When a robot is used to assist in handling, the feasibility of the path is more constrained. In order to solve these problems, an improved SBG-RRT-Connect algorithm is proposed for the SBG-RRT-Connect algorithm, which has the following two improvements.

1. Adaptive Elliptic Region Sampling

The method of using an adaptive elliptical region to sample each random point, as shown in FIG. 20, preferably includes the following steps.

Step 2A-1, an adaptive elliptical region is established.

As shown in FIG. 3, a starting point Sstart(xstart, θstart) and a goal point Sgoal(xgoal, γgoal, θgoal) of the motion path of loading and unloading the sheet metal part are used as two focal points cfocal of the adaptive elliptical region; and the length l from the upper die to the lower die of the bender is used as a length cshort of a short axis of the adaptive elliptical region, so as to construct the adaptive elliptical region which adaptively changes with the starting point and the goal point.

Step 2A-2, a unit circle is constructed: the origin of the two-dimensional pixel coordinate system in Step 1 is used as the center to construct a unit circle with a radius of one pixel.

Step 2A-3, a random point is stretched: a point (xc, yc, θrand) is randomly generated in the unit circle, and the point is stretched into a point (x, y, θrand) in the adaptive elliptical region; where the calculation formula of x and y is:

[ x y ] = [ c long / 2 0 0 c short / 2 ] [ x c y c ]

    • where clong is a length of a long axis of the adaptive elliptical region, which is calculated according to cshort and a focal length between two focal points.

Step 2A-4, a random point is rotated: the point (x, y, θrand) is rotated according to two focuses of the adaptive elliptical region, and the rotated point is a randomly sampled point Srand (xrand, γrand, θrand); where the calculation formula of xrand and γrand is:

[ x rand y rand ] = R [ x y ] + [ ( x start + x goal ) / 2 ( y start + y goal ) / 2 ]

    • where R is a rotation matrix, and the expression is:

R = [ cos ⁢ α - sin ⁢ α sin ⁢ α cos ⁢ α ]

    • where α is a rotation angle of the point (x, y, θrand), and the specific calculation formula is:

α = arc ⁢ tan ⁡ ( ❘ "\[LeftBracketingBar]" x start - ⁢ x goal ❘ "\[RightBracketingBar]" / ❘ "\[LeftBracketingBar]" y start - ⁢ y goal ❘ "\[RightBracketingBar]" ) .

2. Adaptive Node Growth

As shown in FIG. 5, the adaptive growth method of each search tree node, as shown in FIG. 21, preferably includes the following steps.

Step 2B-1, an expansion direction v0 of tree nodes without obstacle influence is calculated, where the specific calculation formula is:

v 0 = ( [ x r ⁢ a ⁢ n ⁢ d y r ⁢ a ⁢ n ⁢ d ] - [ x n ⁢ e ⁢ a ⁢ rest y n ⁢ e ⁢ a ⁢ rest ] ) /  [ x r ⁢ a ⁢ n ⁢ d y r ⁢ a ⁢ n ⁢ d ] - [ x n ⁢ e ⁢ a ⁢ rest y n ⁢ e ⁢ a ⁢ rest ]  2

    • where xnearest and ynearest are position parameters of the generated tree node Snearest closest to the randomly point Srand.

In the bending loading and unloading task, the starting point is generally close to the obstacle, so that the influence of the upper die and the lower die of the bender on the growth direction of the node must be taken into account.

Step 2B-2, the total number No of obstacles influencing a newly generated tree node Snew is found.

As shown in FIG. 4, the randomly sampled point Srand is used as the center to establish a square with a side length as a set pixel a (preferably 5 pixels); and the total number of pixel points intersecting the square with the upper die or the lower die of the bender is denoted as the total number No of obstacles influencing the newly generated tree node Snew(xnew, ynew, θnew).

In FIG. 4, white indicates an open region, and gray indicates an obstacle. The region susceptible to an obstacle (green) is centered on the sampled point and spans a 5×5 square. Therefore, the obstacle that influences the direction is the yellow region.

Step 2B-3, the influence direction vobs of the obstacle on Snew is calculated, where the specific calculation formula is:

v obs = ∑ k = 1 N 0 ⁢ ( [ x r ⁢ a ⁢ n ⁢ d y r ⁢ a ⁢ n ⁢ d ] - [ x k y k ] ) /  [ x r ⁢ a ⁢ n ⁢ d y r ⁢ a ⁢ n ⁢ d ] - [ x k y k ]  2

    • where xk and yk are pixel coordinates of the k-th obstacle; where 1≤k≤N0.

Step 2B-4, the expansion direction v of nodes with obstacle influence is calculated, where the specific calculation formula is:

v = γ 3 ⁢ v 0 + γ 4 ⁢ v o ⁢ b ⁢ s where γ 3 + γ 4 = 1

    • where γ3 and γ4 the set weight coefficients.

Step 2B-5, xnew and ynew are calculated: Snearest which is closest to Srand is used as the starting point of expansion, and a set equidistant step size rp is used to expand in the v direction; where the specific calculation formula of xnew and yne is:

[ x n ⁢ e ⁢ w y n ⁢ e ⁢ w ] = [ x nearest y n ⁢ e ⁢ a ⁢ rest ] + r p ⁢ v

Step 2B-6, θnew is calculated: θnearest is used as the initial value, and a set equiangular step size ro is used to expand to θrand, where the specific calculation formula is:

θ new = r o ( θ r ⁢ a ⁢ n ⁢ d - θ n ⁢ e ⁢ a ⁢ rest ) + θ n ⁢ e ⁢ a ⁢ rest

    • where θnearest is an attitude angle of the sheet metal part of the generated tree node Snearest which is closest to the random sampled point Srand.

It is judged whether there is a collision in an expansion process, resampling is performed if there is a collision, and a new node Snew is added to the search tree if there is no collision.

If the starting point search tree Ta is connected with the goal point search tree Tb, the initial path is obtained through path backtracking. If the starting point search tree Ta is not connected with the goal point search tree Tb, the two search trees continue to alternately repeat the search expansion process until the two search trees are connected.

In this embodiment, because the random tree Tb of the goal point has a synchronous bias greedy expansion strategy, when the node Srand (xrand, yrand, θrand) randomly sampled in the adaptive elliptical region is not a relative goal point Sstart(xstart, θstart), each search tree node undergoes the foregoing adaptive growth or expansion only once. When the node Srand (xrand, yrand, θrand) randomly sampled in the adaptive elliptical region is the relative goal point Sstart (xstart, ystart, θstart), each path node may undergo the foregoing adaptive growth or expansion for many times continuously until the node is connected with or collides with another random tree Ta.

3. Path Cubic Spline Interpolation

The discreteness of the path obtained based on the sampling algorithm may cause collision detection in some potential states to be omitted. A spline interpolation method (a method of fitting data points using a piecewise cubic polynomial) is used for path interpolation. The method is also helpful to calculate the swept volume later, and the interpolated path is shown in FIG. 6(a) and FIG. 6(b).

Step 3, in the existing path planning, only the path length or energy consumption is usually taken into account, but there is a lack of quantitative safety evaluation. When the sheet metal part moves in a narrow channel, if the minimum safe distance between the sheet metal part and the die is not accurately measured, collision occurs easily. Therefore, it is necessary to calculate the path safety: all pixel points which are prone to colliding with bending motion of the sheet metal part or have a distance less than a safe distance from an upper die and a lower die of the sheet metal bender are found, which are marked as obstacle points of interest; and according to the obstacle points of interest and the initial motion trajectory of loading and unloading the sheet metal part, and based on the Swept Volume Signed Distance Field (SVSDF), the path safety value of each initial motion trajectory of loading and unloading the sheet metal part is calculated.

The method of calculating path safety, as shown in FIG. 22, specifically includes the following steps.

Step 3-1, a swept volume is calculated: a Shape function is used to calculate the total number of pixel points occupied by any initial motion trajectory of loading and unloading the sheet metal part when moving from the starting point Sstart to the goal point Sgoal, which is denoted as the swept volume, as shown in FIG. 7.

It is assumed that the t-th initial motion trajectory of loading and unloading the sheet metal part includes N path points, that is, a starting point Sstart, a second path point S2, a third path point S3, . . . , an i-th path point Si, a (N−2)-th path point SN−2, and a goal point Sgoal; where 2≤i≤N−2; and the pixel point occupied by the sheet metal part at the path point Si is Shape(Si).

Step 3-2, a binary image of the swept volume is constructed: the swept volume obtained in Step 3-1 is input into a blank two-dimensional map plane by using a Map function, and the binary image is marked as black, thereby forming the binary image of the swept volume.

The binary image SV_map of the swept volume of the t-th initial motion trajectory of loading and unloading the sheet metal part is:

SV_map = Map ( ⋃ i ∈ [ start , goal ] Shape ( S i ) ) .

Step 3-3, an SVSDF matrix is constructed: any pixel coordinate in the binary image of the swept volume constructed in Step 3-2 is calculated to the SVSDF value of the swept volume, thus forming the SVSDF matrix as shown in FIG. 8. The SVSDF is a matrix in L×W with SDF data, where L is the length of the binary image, and W is the width of the binary image.

The calculation formula of the SVSDF is preferably:

SVSDF = d ⁡ ( SV_map ) - d ¯ ( SV_map )

    • where d(SV_map) is a distance from any pixel point in the binary image of the swept volume to the nearest pixel point of the swept volume in unit of pixels;
    • d(SV_map) is a complement of d(SV_map).

Step 3-4, obstacle points of interest are found.

Before finding the obstacle point of interest, the upper die and the lower die of the sheet metal bender are divided into a narrow region and a non-narrow region; where the narrow region refers to the region between the protrusion of the bottom of the upper die and the groove of the lower die; and the non-narrow region refers to other bending moving regions except the narrow region.

The upper die and the lower die of the sheet metal bender are obstacles in the bending motion of the sheet metal part. All pixel points which are prone to colliding with bending motion of the sheet metal part or have a distance less than a safe distance from an upper die and a lower die are found from the two-dimensional map plane constructed in Step 1, which are marked as obstacle points of interest, and the pixel coordinate of each obstacle point of interest is recorded.

The obstacle points of interest include obstacle points of interest in the narrow region and obstacle points of interest in the non-narrow regions.

The obstacle points of interest in the narrow region include pixel points located at an outer edge and a periphery of the bottom of the upper die in the narrow region, and pixel points located at an outer edge and a periphery of the top of the lower die in the narrow region.

The obstacle points of interest in the non-narrow region include pixel points at an outer edge of the upper die or the lower die which are prone to colliding with the sheet metal part in the non-narrow region.

Step 3-5, an SVSDF value of the obstacle point of interest is obtained: according to the pixel coordinate of the obstacle point of interest in Step 3-4, the corresponding SVSDF value is found from the SVSDF matrix constructed in Step 3-3, so as to obtain the SVSDF value of each obstacle point of interest.

Step 3-6, an average average_sdf of the SVSDF value of the obstacle point of interest is calculated.

average_sdf includes an average average_sdf1 of the SVSDF of the obstacle points of interest in the narrow region and an average average_sdf2 of the SVSDF of the obstacle points of interest in the non-narrow region.

Step 3-7, normal distribution is used to determine the position of average_sdf and a probability density value pdf_value.

pdf_value preferably includes the probability density value pdf_value_narrow of the narrow region and the probability density value pdf_value_nonnarrow of the non-narrow region, and the specific calculation formulae are:

pdf_value ⁢ _narrow = 1 - 1 2 ⁢ πσ 1 2 ⁢ exp ⁢ ( - ( average_sdf 1 - μ 1 ) 2 2 ⁢ σ 1 2 ) pdf_value ⁢ _nonarrow = 1 - 1 2 ⁢ πσ 2 2 ⁢ exp ⁢ ( - ( average_sdf 2 - μ 2 ) 2 2 ⁢ σ 2 2 )

    • where μ1 is an expected safe distance of the narrow region, which is a set value;
    • μ2 is an expected safe distance of the non-narrow region, which is a set value;
    • σu is a width adjustment value of a normal distribution curve corresponding to the SVSDF value of the obstacle point of interest in the narrow region, which is a set value; and
    • σ2 is a width adjustment value of a normal distribution curve corresponding to the SVSDF value of the obstacle point of interest in the non-narrow region, which is a set value.

Step 3-8, path safety is calculated, specifically: path safety=K×pdf_value; where K is a magnitude adjustment coefficient. The value of K is adjusted, so that path safety and the following path cost can have the same magnitude. In this embodiment, preferably, K=200.

Step 4, it is not sufficient to ensure the actual feasibility of the path by only relying on the safety indicator. In actual production, if the path is too long or the attitude adjustment is too frequent, the production efficiency may be significantly reduced. Therefore, it is necessary to calculate path cost: assuming that any initial motion trajectory of loading and unloading the sheet metal part has N path points, the specific calculation formula of the path cost is:

path ⁢ cost = ∑ i = 1 N - 1 ⁢ Δ ⁢ x i 2 + Δ ⁢ y i 2 + β ⁢ Δ ⁢ θ i 2

    • where Δxi and Δyi are differences in horizontal and vertical position parameters between two adjacent path points i and i+1; where 1≤i≤N−1;
    • Δθi is a difference in attitude angles of the sheet metal part between two adjacent path points i and i+1;
    • β is an attitude angle weight coefficient, which is a set value.

Step 5, most of the existing optimization methods include single-objective optimization, so that the path is too conservative or inefficient, and there is a lack of the balance between safety and efficiency. Therefore, it is necessary to calculate COSTt: a fitness value COSTt of a t-th initial motion trajectory of loading and unloading the sheet metal part is calculated, where 1≤t≤Npop; and the calculation formula of COSTt is:

COST t = γ 1 ⁢ path ⁢ cost + γ 2 ⁢ path ⁢ safety

    • where γ1 is a cost weight coefficient, and 1≤γ1≤1.5, which is a set value, and in this embodiment, is preferable 1;
    • γ2 is a safety weight coefficient, and 1≤γ2≤1.5, which is a set value, and in this embodiment, is preferable 1.2.

Step 6, the conventional optimization algorithm easily falls into the local optimum when making multi-objective trade-off, so that the generated path is unsafe or inefficient. Therefore, it is necessary to obtain an optimal motion trajectory of loading and unloading the sheet metal part: based on a Water Cycle Algorithm (WCA), the minimum value of Npop COSTt in Step 5 is continuously iteratively optimized and found out, and the motion trajectory of loading and unloading the sheet metal part corresponding to the minimum COSTt is used as the optimal motion trajectory of loading and unloading the sheet metal part.

Step 7, the kinematic relationship of bending loading and unloading is derived: taking a complex 7-bend workpiece as an example, a general kinematic relationship formula is given. A workpiece coordinate system is defined at each bending point, as shown in the blue coordinate system in FIG. 9. The position of the workpiece is described by the coordinate (x, y), and the direction is specified by the angle θ of the blue coordinate system relative to the x axis of the map coordinate system, that is, each state of the workpiece has three parameters Si (x, y, θ), and Si is the motion path point of the workpiece to be planned.

The workpiece position (x, y) is derived to the position (Ex, Ey) of the adsorption point at the end of the robot, and the direction angle θ is mapped to the rotation angle θr4 of the fourth joint. The changes of Ex and Ey are determined by the shape of the workpiece near the robot at the current bending point of the workpiece. The dimension parameters of the workpiece provide key information, including the bending angle θbi of each bending section and the length Li of the side. The starting point coordinate (x, y) only needs to accumulate the increment of each line segment to obtain (Ex, Ey). The direction of each line segment is determined by the angle θi, and cosine and sine ensure the automatic adaptation of an increasing and decreasing relationship without additional judgment of positive and negative values. The formula is:

E x = x - ∑ i = 0 n - 1 Δ ⁢ x i E y = y - ∑ i = 0 n - 1 Δ ⁢ y i where Δ ⁢ x i = L i · cos ⁡ ( θ i ) Δ ⁢ y i = L i · sin ⁡ ( θ i )

    • where cos(θi) controls the increase or decrease on the x-axis; sin(θi) controls the increase or decrease on the y-axis; Li is the length of the i-th line segment, and Ln−1 denotes the length between the clamping point and an adjacent previous bending point; and θi is a horizontal inclination angle of the i-th line segment, which is calculated by the vector angle based on the endpoint coordinate. n denotes the total number of line segments on the left side of the bending point.

In addition, the rotation angle θr4 corresponding to the fourth axis of the bending robot is required to be solved, and the coordinate of the previous bending point N (Nx, Ny) adjacent to the adsorption point E at the end of the robot needs to be obtained. The angle θN can be derived from the coordinate of these two points, and then θr4 can be calculated by the following formula.

N x = x - ∑ i = 0 n - 2 ⁢ L i · cos ⁢ ( θ i ) N y = y - ∑ i = 0 n - 2 ⁢ L i · sin ⁡ ( θ i ) θ N = a ⁢ r ⁢ c ⁢ tan ⁢ ( N y - E y N x - E x ) θ r ⁢ 4 = π / 2 - θ N

FIG. 9 shows various parameters required for the derivation of the kinematic relationship. The motion path of the workpiece is Si(x, y, θ), where (x, y) is the position coordinate, and θ is the rotation angle (positive in the clockwise direction, and 0 initially). The position coordinate Ei denotes the adsorption point of the end effector of the robot. θr4 is the rotation angle of the fourth axis of the bending robot, and θbi is the bending angle of each operation.

Step 8, the motion trajectory of loading and unloading of each axis of the bending robot is obtained: the application structure of the bending robot is a PPPRR gantry robot. The kinematic analysis and modeling of a five-degree-of-freedom bending robot are performed by a D-H method, which includes three moving joints and two rotating joints. The axis zi denotes the axial direction along joint i; the coordinate origin oi is on the common normal line passing through axis zi and axis zi+1; and xi axis is along the common normal direction of axis zi and axis zi+1, and points from zi to zi+1. The y-axis direction is based on a right-hand screw rule. The coordinate system is set as shown in FIG. 10.

ai denotes a length of a connecting rod, αi denotes a twist angle of the connecting rod, di denotes a distance between joints, and θri denotes the rotation angle of the joint. The D-H parameters of each connecting rod can be obtained as shown in the following table.

TABLE
D-H parameters
connecting rod i ai−1 / (mm) αi−1 / (rad) di / (mm) θri / (rad)
i = 0 0 −π / 2 0 0
i = 1 181 −π / 2 d1 0
i = 2 145 −π / 2 d2 −π / 2
i = 3 133  π / 2 d3  π / 2
i = 4 0 −π / 2 141 θr4
i = 5 0 0 250 θr5

According to the multiplication of D-H and the matrix, a homogeneous transformation matrix from the coordinate system {i−1} to the coordinate system {i} can be obtained:

  i i - 1 T = Tran ⁢ s x ( a i - 1 ) ⁢ Rot x ( α i - 1 ) ⁢ Trans z ( d i ) ⁢ Rot z ( θ i ) = 
 [ cos ⁢ θ i - s ⁢ in ⁢ θ i 0 a i - 1 cos ⁢ α i - 1 ⁢ sin ⁢ θ i cos ⁢ α i - 1 ⁢ cos ⁢ θ i - s ⁢ in ⁢ α i - 1 - d i ⁢ sin ⁢ α i - 1 sin ⁢ α i - 1 ⁢ sin ⁢ θ i sin ⁢ α i - 1 ⁢ cos ⁢ θ i cos ⁢ α i - 1 d i ⁢ cos ⁢ α i - 1 0 0 0 1 ] = [   i i - 1 R   i - 1 p i 0 1 ]

    • where

  i i - 1 R

denotes a rotation matrix of {i} to {i−1}, and i−1pi denotes a position vector. At this time, the homogeneous transformation matrix of the coordinate system {5} at the end of the robot relative to the base coordinate system {0} can be obtained according to the above formula:

  5 0 T = ∏ i = 1 5   i i - 1 T = [ n x o x a x p x n y o y a y p y n z o z a z p z 0 0 0 1 ] = [   5 0 R   0 p 5 0 1 ] where ⁢   5 0 R = [ c 5 ⁢ s 4 - s 4 ⁢ s 5 c 4 - s 5 - c 5 0 c 4 ⁢ c 5 - c 4 ⁢ s 5 - s 4 ] ,   0 p 5 = [ d 3 + 250 ⁢ c 4 + 181 d 1 + 286 p z = - d 2 - 250 ⁢ s 4 + 133 ] , s i = sin ⁢ θ r ⁢ i , c i = cos ⁢ θ r ⁢ i .

The inverse kinematics of the robot indicates that when the position and the attitude at the end of the robot are known, the rotation angle θri of the rotating joint that can reach the attitude and the displacement di of the translating joint are solved. In the loading and unloading task, the movement of the bending robot mainly relies on the second and third moving joints and the fourth rotating joint. The rotation angle θr4 of the fourth joint of the robot has been derived through Step 7, and the main purpose of the subsequent inverse kinematics is to solve the displacements d2 and d3 of the second and third moving joints. Assuming that py, θr5 reaches the specified position before the loading and unloading task is executed, and remain unchanged during the whole task.

The coordinate (Ex, Ey) at the end of the robot in the two-dimensional map coordinate system is given in unit of pixels, which needs to be transformed into the corresponding coordinate (px, pz) at the end of the robot in the world coordinate system in unit of millimeters. The transformation coefficient used is about 10 mm 19 pixels. It is necessary to align the initial position coordinates of the movement at the end of the robot. Therefore, the fourth joint angle of the bending robot is calculated by Step 7, and the displacements d2 and d3 of the second axis and the third axis are determined using the following inverse kinematics solution. According to the position vector 0p5, it can be known that:

{ p x = d 3 + 250 ⁢ c 4 + 1 ⁢ 8 ⁢ 1 p y = d 1 + 286 p z = - d 2 - 2 ⁢ 5 ⁢ 0 ⁢ s 4 + 1 ⁢ 3 ⁢ 3 ⇒ { d 1 = p y - 286 d 2 = - p z - 250 ⁢ s 4 + 133 d 3 = p x - 250 ⁢ c 4 - 181

Therefore, the inverse solution expressions of each moving joint of the bending robot can be obtained. The unique solutions of d2 and d3 can be obtained by substituting the solved joint angle value θr4 into the above formula. FIG. 11 shows the transformation process of the motion relationship, which is derived from the motion trajectory of the workpiece itself to the motion trajectory of each axis of the bending robot.

Step 9, actual processing movement step is performed.

Based on the above kinematic parameters, in the practical application process, the unloading movement of a group of sheet metal parts is shown in FIG. 12, and the motion path of each axis of the robot is shown in FIG. 13. An operator starts the robot, and the robot runs according to the transformed motion trajectory of each axis: first, the first joint (d1, Y axis) remains motionless for 500 mm; the second joint (d2, Z-axis) and the third joint (d3, X-axis) move synchronously according to the path point in FIG. 13, and the speed is controlled at 50 mm/s in the process to avoid impact and ensure that the height of the adsorption point at the end meets the trajectory requirement; the fourth joint (θr4) rotates and synchronizes with the second and third joints to adjust the attitude of the workpiece to the planning path point; the fifth joint (θr5) remained at 0rad.

The robot carries the sheet metal part to move from Sstart to Sgoal along the optimal trajectory. During the movement, the control system detects the position and the speed of each axis and the distance from the die of the bender in real time. If the detected distance is less than the safety threshold, the control system immediately stops and gives an alarm, and the operator troubleshoots the fault. If the detected distance is normal, after unloading is completed, the robot returns to the initial position and prepares for the next loading and unloading task.

Step 10, experiment verification is performed.

As shown in FIG. 14, two groups of experiments are performed, and the task of the experiments is to plan an unloading path of the workpiece after the second bending operation. The size of the map is 1400×1400 pixels, and the angle is in unit of radians. Two groups of experiments are designed. In the first group of experiments, the initial attitude and the goal attitude of the workpiece are the same, that is, Sstart (916,730,0) and Sgoal (660,730,0). In the second group of experiments, the initial attitude and the goal attitude of the workpiece change significantly, and Sstart (916, 730, 0) and Sgoal (650, 900, 0.783) are set. The displacement step size is 5 pixels, and the rotation step is 0.01744.

1) RRT-Connect Planning Results

The greedy strategy may increase the number of iterations and the path cost of the algorithm, especially when the randomly sampled points obviously deviate from the goal position, as shown in FIG. 14(a) and FIG. 14(d).

2) SBG-RRT-Connect Planning Results

The introduced synchronous bias greedy strategy specifies the trigger condition of greedy search, which is limited to the case that randomly sampled points are selected as goal points. The optimization concentrates the algorithm on the goal region, and accelerates the convergence to the effective path. As shown in FIG. 14(b) and FIG. 14(e), the performance of this algorithm is better than RRT-Connect.

If uncontrolled random sampling causes random points to be never selected as goal points, the search efficiency may be significantly reduced. In this case, the algorithm only expands one node at a time, and does not use the greedy strategy. At the same time, the unrestricted sampling region may produce points far away from the goal or close to the obstacle. The node expansion direction needs to be adjusted heuristically to reduce unnecessary exploration and influence the efficiency and the quality of path planning in practical application.

3) Improved SBG-RRT-Connect Planning Results

As can be seen from FIG. 14(b) and FIG. 14(d), when random points are non-goal points in many cases due to uncontrolled random sampling, the adaptive elliptical region sampling strategy introduced in the improved synchronous bias greedy RRT-Connect algorithm heuristically and effectively limits the range of random points to a specific region. This strategy better controls the distribution of randomly sampled points. At the same time, when approaching the obstacle, the current search state is adjusted heuristically by adjusting the expansion direction of tree nodes, which significantly reduces the number of exploration times in unnecessary directions, and further improves the search efficiency. In the second group of experiments, as shown in FIG. 14(f), a single simulation only needs 114 iterations, which is a substantial improvement compared with 14,160 iterations in FIG. 14(d) and 846 iterations in FIG. 14(e). The calculation time in FIG. 14(f) is significantly reduced to 1.1 seconds, which shows higher planning efficiency compared with the time in FIG. 14(d) and FIG. 14(e). In addition, the path cost in FIG. 14(f) is 367.74, which shows that the path is shorter and smoother compared with the costs of 1920.74 and 989.451 in the previous figures. The comparison results of the first group of experiments are the same.

The above two groups of experiments are repeated for 50 times, and the experiment results are shown in FIG. 15.

The average path cost of the improved algorithm is 410.08, which is 81.33% lower than the RRT-Connect algorithm and 21.14% lower than the SBG-RRT-Connect algorithm. As shown in FIG. 15(a), a blue line shows better stability in many experiments. The path cost is significantly reduced compared with a black line and a red line.

In terms of iterations, the average number of iterations of the improved algorithm is 189, which is 98.17% lower than the RRT-Connect algorithm and 51.91% lower than the SBG RRT Connect method. FIG. 15(c) and FIG. 15(d) show that the RRT-Connect algorithm (represented by a black line) fluctuates due to the random search nature and the unrestricted greedy strategy, which leads to unnecessary exploration. Although the SBG-RRT-Connect algorithm (a red line) reduces the number of iterations through the synchronous bias greedy strategy, the algorithm lacks stability. In contrast, the improved algorithm (a blue line) achieves fewer iterations and shows more stable performance. FIG. 15(b) shows that the average search time of the improved algorithm is 3.7 seconds, and the efficiency is improved by 91.36% compared with the RRT-Connect algorithm and by 67.6% compared with the SBG-RRT-Connect method.

The results show that the improved SBG-RRT-Connect performs better in terms of the path cost, the number of iterations, and the path search time. The inheritance and improvement of the algorithm results in better stability in the bending process.

Comparison table of 50 repeated experiment data of three algorithms

Improved
SBG-RRT- SBG-RRT-
Algorithm RRT-Connect Connect Connect
path cost (min) 389.53 371.97 366.1
path cost (max) 4199.47 1584.69 559.47
path cost (avg) 2196.95 520.02 410.08
time (min)/s 1.45 1.18 0.96
time (max)/s 136.44 50.15 11.55
time (avg)/s 42.84 11.42 3.7
number of 673 106 99
iterations(min)
number of 40046 2025 472
iterations(max)
number of 10313 393 189
iterations(avg)

FIG. 16 shows path comparison results of the WCA before and after multi-objective optimization. In the first group of experiments, a workpiece that already contains a bend is used. The path planning task involves feeding the workpiece to the specified bending position to wait for the second bending. FIG. 16(a) shows the initial path planned by the SBG-RRT-Connect algorithm, while FIG. 16(d) shows the path after multi-objective optimization using the WCA. The data shows that the path cost has been further reduced from 630 to 520. The average SDF value of the obstacle of interest in the narrow region is reduced from 9.16 to 8.04, and the goal value is 8 to prevent the path from being too conservative. In the non-narrow region, the average SDF value of the obstacle of interest increases from 17.3 to 29.98, and the goal value is 30, which significantly improves the road safety.

In the second group of experiments, the workpiece is planned to perform the unloading movement after the second bending. FIG. 16(b) and FIG. 16(e) show the initial path and the optimized path, respectively. The results show that the path cost is reduced from 694 to 580. The average SDF value of the obstacle of interest in the narrow region increases from 2.71048 to 5.19, and the goal value is 5. In the non-narrow region, the average SDF value of the obstacle of interest increases from 12.41 to 18.08, and the goal value is 18. The path cost and the safety have been significantly improved.

In the third group of experiments, the workpiece is planned to perform the unloading movement after the third bending. At this time, there are three sections on the right side of the workpiece bending point, which is more complex in shape. In addition, the path must pass through the narrow channel between the upper and lower dies, so that the initial path planned by the optimized SBG-RRT-Connect algorithm is more tortuous, as shown in FIG. 16(c). After optimization, the path cost is reduced from 1047 to 878. The average SDF value of the obstacle of interest in the narrow region increases from 1.88 to 4.88, and the goal value is 5. In the non-narrow region, the average SDF value of the obstacle of interest increases from 11.27 to 18.01, and the goal value is 18. As shown in FIG. 16(f), the path cost and the safety have been significantly improved.

By comprehensively considering the path cost and the path safety, the multi-objective path planning is performed by using the water cycle algorithm. The results show that the path optimization method can significantly improve the path quality regardless of the simple or complex shape of the workpiece. From the perspective of the path cost and the safety, first, the path cost is further reduced, and the path becomes smoother. In addition, the method can allow the safety indicator of the path to reach the set expected value, and prevent the path planning from being too conservative while ensuring the safety of the path.

As shown in FIG. 17 and FIG. 18, the simulation and physical verification shows that the method of the present disclosure can be applied to the sheet metal bending process.

To sum up, the present disclosure combines the path planning algorithm, the intelligent algorithm and the computer graphics technology to propose a hierarchical path planning method. The method plans the initial path through the improved SBG-RRT-Connect, then formulates the quantitative standard for evaluating the path safety based on the SVSDF, and performs multi-objective optimization on the initial path by using the WCA algorithm. The results show that the method can generate shorter and smoother paths, and at the same time, meet a specific safety indicator. Finally, the path is verified on virtual and physical platforms, which proves the effectiveness of the method. Theoretically, as long as the degree of freedom of the robot is high enough, the method can meet the whole body path planning of the workpiece of any shape under reasonable circumstances.

The preferred embodiments of the present disclosure have been described in detail above, but the present disclosure is not limited to the specific details in the above embodiments. Within the technical concept of the present disclosure, various equivalent transformations can be made to the technical solution of the present disclosure. The equivalent transformations belong to the scope of protection of the present disclosure.

Claims

What is claimed is:

1. A robot-assisted sheet metal bending loading and unloading path planning method based on a Swept Volume Signed Distance Field (SVSDF), comprising the following steps:

Step 1, constructing a two-dimensional pixel coordinate system, wherein a two-dimensional map plane is constructed after binarizing side-view images of three-dimensional models of upper and lower dies based on a sheet metal bender, an upper left corner of the two-dimensional map plane is used as an origin, and two adjacent right-angled edges passing through the origin are an x axis and a y axis, respectively, so that the two-dimensional pixel coordinate system is formed; if the sheet metal part is regarded as a moving object, and a bending point of the sheet metal part is regarded as a moving point, a motion path of loading and unloading the sheet metal part comprises several path points, and each path point is denoted as (x, y, θ); wherein (x, y) is a position parameter of the sheet metal part in the two-dimensional pixel coordinate system; and θ is an attitude angle of the sheet metal part;

Step 2, obtaining an initial motion trajectory of loading and unloading the sheet metal part, wherein a Rapidly-Exploring Random Tree (RRT)-Connect algorithm is used to initially plan the motion path of loading and unloading the sheet metal part to obtain an initial motion trajectory of loading and unloading the sheet metal part; and the initially planning process is repeated for Npop times to obtain Npop initial motion trajectories of loading and unloading the sheet metal part;

Step 3, calculating path safety, wherein all pixel points which are prone to colliding with bending motion of the sheet metal part or have a distance less than a safe distance from an upper die and a lower die of the sheet metal bender are found, which are marked as obstacle points of interest; and according to the obstacle points of interest and the initial motion trajectory of loading and unloading the sheet metal part, and based on the SVSDF, the path safety value of each initial motion trajectory of loading and unloading the sheet metal part is calculated;

Step 4, calculating path cost, wherein assuming that any initial motion trajectory of loading and unloading the sheet metal part has N path points, the specific calculation formula of the path cost is:

path ⁢ cost = ∑ i = 1 N - 1 Δ ⁢ x i 2 + Δ ⁢ y i 2 + β ⁢ Δ ⁢ θ i 2

wherein Δxi and Δyi are differences in horizontal and vertical position parameters between two adjacent path points i and i+1; 1≤i≤N−1;

Δθi is a difference in attitude angles of the sheet metal part between two adjacent path points i and i+1;

β is an attitude angle weight coefficient, which is a set value;

Step 5, calculating COSTt, wherein a fitness value COSTt of a t-th initial motion trajectory of loading and unloading the sheet metal part is calculated, 1≤t≤Npop; and the calculation formula of COSTt is:

COST t = γ 1 ⁢ path ⁢ cost + γ 2 ⁢ path ⁢ safety

wherein γ1 is a cost weight coefficient, and 1≤γ1≤1.5, which is a set value;

γ2 is a safety weight coefficient, and 1≤γ2≤1.5, which is a set value; and

Step 6, obtaining an optimal motion trajectory of loading and unloading the sheet metal part, wherein based on a Water Cycle Algorithm (WCA), the minimum value of Npop COSTt in Step 5 is continuously iteratively optimized and found out, and the motion trajectory of loading and unloading the sheet metal part corresponding to the minimum COSTt is used as the optimal motion trajectory of loading and unloading the sheet metal part.

2. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 1, wherein in Step 2, the RRT-Connect algorithm is an improved synchronous bias greedy RRT-Connect algorithm; and the improved synchronous bias greedy RRT-Connect algorithm uses an adaptive elliptical region to sample random points when initially planning the motion path of loading and unloading the sheet metal part, and performs adaptive growth of each tree node based on the influence of an obstacle.

3. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 2, wherein in Step 2, the method of using an adaptive elliptical region to sample each random point comprises the following steps:

Step 2A-1, establishing an adaptive elliptical region, wherein a starting point Sstart(xstart, θstart) and a goal point Sgoal(xgoal, ygoal, θgoal) of the motion path of loading and unloading the sheet metal part are used as two focal points of the adaptive elliptical region; and the length l from the upper die to the lower die of the bender is used as a length cshort of a short axis of the adaptive elliptical region, so as to construct the adaptive elliptical region which adaptively changes with the starting point and the goal point;

Step 2A-2, constructing a unit circle, wherein the origin of the two-dimensional pixel coordinate system in Step 1 is used as the center to construct a unit circle with a radius of one pixel;

Step 2A-3, stretching a random point, wherein a point (xc, yc, θrand) is randomly generated in the unit circle, and the point is stretched into a point (x, y, θrand) in the adaptive elliptical region;

the calculation formula of x and y is:

[ x y ] = [ c long / 2 0 0 c short / 2 ] [ x c y c ]

wherein clong is a length of a long axis of the adaptive elliptical region, which is calculated according to cshort and a focal length between two focal points; and

Step 2A-4, rotating a random point, wherein the point (x, y, θrand) is rotated according to two focuses of the adaptive elliptical region, and the rotated point is a randomly sampled point Srand (xrand, yrand, θrand); wherein the calculation formula of xrand and yrand is:

[ x rand y rand ] = R [ x y ] + [ ( x start + x goal ) / 2 ( y start + y goal ) / 2 ]

wherein R is a rotation matrix, and the expression is:

R = [ cos ⁢ α - sin ⁢ α sin ⁢ α cos ⁢ α ]

wherein α is a rotation angle of the point (x, y, θrand), and the specific calculation formula is:

α = arc ⁢ tan ⁢ ( ❘ "\[LeftBracketingBar]" x start - x goal ❘ "\[RightBracketingBar]" / ❘ "\[LeftBracketingBar]" y start - y goal ❘ "\[RightBracketingBar]" ) .

4. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 3, wherein in Step 2, the adaptive growth method of each search tree node comprises the following steps:

Step 2B-1, calculating an expansion direction v0 of tree nodes without obstacle influence, wherein the specific calculation formula is:

v 0 = ( [ x rand y rand ] - [ x nearest y nearest ] ) /  [ x rand y rand ] - [ x nearest y nearest ]  2

wherein xnearest and ynearest are position parameters of the generated tree node Snearest closest to the randomly sampled point Srand;

Step 2B-2, finding the total number No of obstacles influencing a newly generated tree node Snew, wherein the randomly sampled point Srand is used as the center to establish a square with a side length as a set pixel a; and the total number of pixel points intersecting the square with the upper die or the lower die of the bender is denoted as the total number No of obstacles influencing the newly generated tree node Snew(xnew, ynew, θnew);

Step 2B-3, calculating the influence direction vobs of the obstacle on Snew, wherein the specific calculation formula is:

v obs = ∑ k = 1 N 0 ( [ x rand y rand ] - [ x k y k ] ) /  [ x rand y rand ] - [ x k y k ]  2

wherein xk and yk are pixel coordinates of the k-th obstacle; 1≤k≤N0;

Step 2B-4, calculating the expansion direction v of search tree nodes with obstacle influence, wherein the specific calculation formula is:

v = γ 3 ⁢ v 0 + γ 4 ⁢ v obs

wherein γ34=1, γ3 and γ4 the set weight coefficients;

Step 2B-5, calculating xnew and ynew, wherein Snearest which is closest to Srand is used as the starting point of expansion, and a set equidistant step size rp is used to expand in the v direction; the specific calculation formula of xnew and yne is:

[ x new y new ] = [ x nearest y nearest ] + r p ⁢ v

Step 2B-6, calculating θnew, wherein θnearest is used as the initial value, and a set equiangular step size ro is used to expand to θrand, the specific calculation formula is:

θ new = r o ( θ rand - θ nearest ) + θ nearest

wherein θnearest is an attitude angle of the sheet metal part of the generated tree node Snearest which is closest to the random sampled point Srand; and

Step 2B-7, determining whether there is a collision in a tree node expansion process, performing resampling if there is a collision, and adding a new node Snew to the search tree if there is no collision.

5. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 1, wherein in Step 3, the method of calculating path safety specifically comprises the following steps:

Step 3-1, calculating a swept volume, wherein a Shape function is used to calculate the total number of pixel points occupied by any initial motion trajectory of loading and unloading the sheet metal part when moving from the starting point Sstart to the goal point Sgoal, which is denoted as the swept volume;

Step 3-2, constructing a binary image of the swept volume, wherein the swept volume obtained in Step 3-1 is input into a blank two-dimensional map plane by using a Map function, and the binary image is marked as black, thereby forming the binary image of the swept volume;

Step 3-3, constructing an SVSDF matrix, wherein any pixel coordinate in the binary image of the swept volume constructed in Step 3-2 is calculated to the SVSDF value of the swept volume, thereby forming the SVSDF matrix;

Step 3-4, finding obstacle points of interest, wherein the upper die and the lower die of the sheet metal bender are obstacles in the bending motion of the sheet metal part, all pixel points which are prone to colliding with bending motion of the sheet metal part or have a distance less than a safe distance from an upper die and a lower die are found from the two-dimensional map plane constructed in Step 1, which are marked as obstacle points of interest, and the pixel coordinate of each obstacle point of interest is recorded;

Step 3-5, obtaining an SVSDF value of the obstacle point of interest, wherein according to the pixel coordinate of the obstacle point of interest in Step 3-4, the corresponding SVSDF value is found from the SVSDF matrix constructed in Step 3-3, so as to obtain the SVSDF value of each obstacle point of interest;

Step 3-6, calculating an average average_sdf of the SVSDF value of the obstacle point of interest;

Step 3-7, using normal distribution to determine the position of average_sdf and a probability density value pdf_value; and

Step 3-8, calculating path safety, wherein path safety=K×pdf_value; K is a magnitude adjustment coefficient.

6. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 5, wherein in Step 3-1, the t-th initial motion trajectory of loading and unloading the sheet metal part comprises N path points, that is, a starting point Sstart, a second path point S2, a third path point S3, . . . , an i-th path point Si, a (N−2)-th path point SN−2, and a goal point Sgoal; wherein 2≤i≤N−2; and the pixel point occupied by the sheet metal part at the path point Si is Shape(Si).

7. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 6, wherein in Step 3-2, the binary image SV_map of the swept volume of the t-th initial motion trajectory of loading and unloading the sheet metal part is:

SV_map = Map ( ⋃ i ∈ [ start , goal ] Shape ( S i ) ) .

8. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 7, wherein in Step 3-3, the calculation formula of the SVSDF is:

SVSDF = d ⁡ ( SV_map ) - d ¯ ( SV_map )

wherein d(SV_map) is a distance from any pixel point in the binary image of the swept volume to the nearest pixel point of the swept volume in unit of pixels;

d(SV_map) is a complement of d(SV_map).

9. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 7, wherein in Step 3-4, before finding the obstacle point of interest, the upper die and the lower die of the sheet metal bender are divided into a narrow region and a non-narrow region; the narrow region refers to the region between the protrusion of the bottom of the upper die and the groove of the lower die; the non-narrow region refers to other bending moving regions except the narrow region; and therefore, the obstacle points of interest comprise obstacle points of interest in the narrow region and obstacle points of interest in the non-narrow regions;

the obstacle points of interest in the narrow region comprise pixel points located at an outer edge and a periphery of the bottom of the upper die in the narrow region, and pixel points located at an outer edge and a periphery of the top of the lower die in the narrow region;

the obstacle points of interest in the non-narrow region comprise pixel points at an outer edge of the upper die or the lower die which are prone to colliding with the sheet metal part in the non-narrow region.

10. The robot-assisted sheet metal bending loading and unloading path planning method based on the SVSDF according to claim 9, wherein in Step 3-6, average_sdf comprises an average average_sdf1 of the SVSDF of the obstacle points of interest in the narrow region and an average average_sdf2 of the SVSDF of the obstacle points of interest in the non-narrow region;

in Step 3-7, pdf_value comprises the probability density value pdf_value_narrow of the narrow region and the probability density value pdf_value_nonnarrow of the non-narrow region, and the specific calculation formulae are:

pdf_value ⁢ _narrow = 1 - 1 2 ⁢ π ⁢ σ 1 2 ⁢ exp ⁢ ( - ( average_sdf 1 - μ 1 ) 2 2 ⁢ σ 1 2 ) pdf_value ⁢ _nonnarrow = 1 - 1 2 ⁢ π ⁢ σ 2 2 ⁢ exp ⁢ ( - ( average_sdf 2 - μ 2 ) 2 2 ⁢ σ 2 2 )

wherein μ1 is an expected safe distance of the narrow region, which is a set value;

μ2 is an expected safe distance of the non-narrow region, which is a set value;

σ1 is a width adjustment value of a normal distribution curve corresponding to the SVSDF value of the obstacle point of interest in the narrow region, which is a set value; and

σ2 is a width adjustment value of a normal distribution curve corresponding to the SVSDF value of the obstacle point of interest in the non-narrow region, which is a set value.

Resources

Images & Drawings included:

Sources:

Recent applications in this class:

Recent applications for this Assignee: