Patent US4821207A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4821207A Expired / Lapsed US ⏱️ 0.0 years remaining

Automated curvilinear path interpolation for industrial robots

Assignee: Ford Motor Co
•
Filing: 1987-04-28
•
Granted: 1989-04-11
•
Expires: 2007-04-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for generating a path to be followed by the end effector of an industrial robot includes defining the location of points on the path, recording the coordinates of the points in cartesian space, determining the slope of the path at each of the taught points with reference to a code that defines the nature of the path in the vicinity of each point, calculating the direction vector representing the slope at each taught point, locating the position and slope of a point midway between successive taught points, connecting the taught points and the midpoints with a circular arc whose slope is equal to the slope at the taught points and midpoints, and generating points between the taught points with reference to the desired velocity of the end effector at each of the generated points on the path to be traversed.

Inventors

  • 👤 Loo Ming
  • 👤 Veljko Milenkovic

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 06:03
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/41

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 318 words
A method for generating a path in cartesian space from a sequence of points located on connected circular arcs to be traversed by the end effector of an industrial robot comprising: recording the coordinates of a low number of taught points located on the path to be traversed, at perceived changes of curvature of the path; determining at each taught point the slope u i of a stroke connecting consecutive taught points; determining the location of a set of midpoints M i , each located in the plane that is midway between first and second consecutive taught points P i and P i+1 ; determining at each midpoint the common tangent of two circular arcs, the first arc passing through the first taught point and the midpoint and having its tangent at the first taught point coincident with the slope thereat, the second arc passing through the midpoint and the second taught point and having its tangent at the second taught point coincident with the slope thereat; determining in accordance with the desired velocity of the end effector at a generated point the step distance between successive generated points; determining the location of a relatively large set of next generated points G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance; repeating the step of determining the position of generated points until the distance from G j to G j+1 is substantially equal to the step distance; and moving the angular position of the joints of the robot in accordance with the location of the generated points whereby the end effector traverses the path that connects the generated points.
Claim 2
Independent Claim 318 words
A method for generating a path in cartesian space from a sequence of points located on connected circular arcs to be traversed by the end effector of an industrial robot comprising: recording the coordinates of a low number of taught points located on the path to be traversed, at perceived changes of curvature of the path; determining at each taught point the slope u i of a stroke connecting consecutive taught points; determining the location of a set of midpoints M i , each located in the plane that is midway between first and second consecutive taught points P i and P i+1 ; determining at each midpoint the common tangent of two circular arcs, the first arc passing through the first taught point and the midpoint and having its tangent at the first taught point coincident with the slope thereat, the second arc passing through the midpoint and the second taught point and having its tangent at the second taught point coincident with the slope thereat; determining in accordance with the desired velocity of the end effector at a generated point the step distance between successive generated points; determining the location of a relatively large set of next generated points G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance; repeating the step of determining the position of generated points until the distance from G j to G j+1 is substantially equal to the step distance; and moving the angular position of the joints of the robot in accordance with the location of the generated points whereby the end effector traverses the path that connects the generated points.
Claim 3
Independent Claim 298 words
A method for generating a path in cartesian space from a sequence of points located on connected circular arcs to be traversed by the end effector of an industrial robot comprising: recording the coordinates of a low number of taught points located on the path to be traversed, at perceived changes of curvature of the path; determining at each taught point the slope u i of a stroke connecting taught points; determining the location of a set of midpoints M i , each located in a plane that is located midway between consecutive taught points P i and P i+1 and located on first and second circular arcs respectively connecting the midpoint with the corresponding consecutive taught points, each circular arc having its tangent at the corresponding taught point coincident with the slope u i thereat; determining at each midpoint the common tangent of said circular arcs; determining in accordance with the desired velocity of the end effector at a generated point the step distance between successive generated points; determining the location of a relatively large set of next generated points G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance; repeating the step of determining the position of generated points until the distance from G j to G j+1 is substantially equal to the step distance; and moving the angular position of the joints of the robot in accordance with the location of the generated points whereby the end effector traverses the path that connects the generated points.
Claim 4
Independent Claim 298 words
A method for generating a path in cartesian space from a sequence of points located on connected circular arcs to be traversed by the end effector of an industrial robot comprising: recording the coordinates of a low number of taught points located on the path to be traversed, at perceived changes of curvature of the path; determining at each taught point the slope u i of a stroke connecting taught points; determining the location of a set of midpoints M i , each located in a plane that is located midway between consecutive taught points P i and P i+1 and located on first and second circular arcs respectively connecting the midpoint with the corresponding consecutive taught points, each circular arc having its tangent at the corresponding taught point coincident with the slope u i thereat; determining at each midpoint the common tangent of said circular arcs; determining in accordance with the desired velocity of the end effector at a generated point the step distance between successive generated points; determining the location of a relatively large set of next generated points G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance; repeating the step of determining the position of generated points until the distance from G j to G j+1 is substantially equal to the step distance; and moving the angular position of the joints of the robot in accordance with the location of the generated points whereby the end effector traverses the path that connects the generated points.
Claim 5
Dependent Claim 158 words
The method of claim 2 wherein the step of determining the location of a set of midpoints M i , each located in a plane that is located midway between consecutive taught points P i and P i+1 and located on first and second circular arcs respectively connecting the midpoint with the corresponding consecutive taught points comprises: determining the distance d i between the taught points; defining a unit direction vector u from P i to P i+1 ; defining a vector v of undetermined magnitude, extending between the middle of the line that connects consecutive taught points and the corresponding midpoint such that v=(s.sub.1 -s.sub.2)/(q+c.sub.1 +c.sub.2) wherein s 1 =u i -c 1 u; s 2 =u i+1 -c 2 u; c 1 =u i ·u; c 2 =u i+1 ·u; c 3 =u i ·u i+1 and q=√2(1-c 3 )+4c 1 c 2 ; determining the location of the respective midpoints as P.sub.i →M.sub.i =d.sub.i (u-v)/2.
Claim 6
Dependent Claim 83 words
The method of claim 2 wherein the step of determining at each midpoint the common tangent of said circular arcs includes defining the vector u mi such that u.sub.mi =[qu=(s.sub.1 +s.sub.2)-(c.sub.2 -c.sub.1)v]/2 wherein s 1 =u i -c 1 u; s 2 =u i+1 -c 2 u; c 1 =u i ·u; c 2 =u i+1 ·u; c 3 =u i ·u i+1 and q=√2(1-c 3 )+4c 1 c 2 ; determining the location of the respective midpoints as P.sub.i →M.sub.i =d.sub.i (u-v)/2.
Claim 7
Dependent Claim 194 words
The method of claim 2 wherein the step of determining the location of a relatively large set of next generated points G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance comprises: determining the step distance b; defining a vector b whose length is the step distance from the current generated to the next generated point; defining a vector d extending from the current generated point to the corresponding taught point; defining the unit vector u i tangent to the corresponding arc at the taught point; determining the position of the next generated point in accordance with the vector from the current generated point to the next generated point defined as b=k.sub.1 d-k.sub.2 u.sub.i wherein d 2 =d·d=|d| 2 , e=d·u i , k 2 =[√(eb) 2 +d 2 (d 2 -b 2 )-(eb)]b/d 2 , k 1 =(2ek 2 +b 2 )/d 2 .
Claim 8
Dependent Claim 40 words
The method of claim 5 further comprising repeating the step of determining the position of the next generated point until the distance from the current generated point to the next generated point is substantially equal to the step distance b.
Claim 9
Dependent Claim 28 words
The method of claim 5 further comprising repeating the step of determining the position of the next generated point until d is equal to or less than b.
Claim 10
Dependent Claim 83 words
The method of claim 3 wherein the step of determining at each midpoint the common tangent of said circular arcs includes defining the vector u mi such that u.sub.mi =[qu-(s.sub.1 +s.sub.2)-(c.sub.2 -c.sub.1)v]/2 wherein s 1 =u i -c 1 u; s 2 =u i+1 -c 2 u; c 1 =u i ·u; c 2 =u i+1 ·u; c 3 =u i ·u i+1 and q=√2(1-c 3 )+4c 1 c 2 ; determining the location of the respective midpoints as P.sub.i →M.sub.i =d.sub.i (u-v)/2.
Claim 11
Dependent Claim 195 words
The method of claim 8 wherein the step of determining the location of a relatively large set of next generated points G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance comprises: determining the step distance b; defining a vector b whose length is the step distance from the current generated to the next generated point; defining a vector d extending from the current generated point to the corresponding taught point; defining the unit vector u i tangent to the corresponding arc at the taught point; determining the position of the next generated point in accordance with the vector from the current generated point to the next generated point defined as b=k.sub.1 d-k.sub.2 u.sub.i wherein d 2 =d·d=|d| 2 , e=d·u i , k 2= [√ (eb) 2 +d 2 (d 2 -b 2 )-(eb)]b/d 2 , k 1 =(2ek 2 +b 2 )/d 2 .
Claim 12
Dependent Claim 193 words
The method of claim 7 wherein the step of determining the location of a relatively large set of next generated points: G j+1 , each generated point being located on a circular arc passing through a current generated point G j and a taught point P i , whose slope is the corresponding unit direction vector u i , such that the distance from G j to G j+1 is substantially equal to or greater than the corresponding step distance comprises determining the step distance b; defining a vector b whose length is the step distance from the current generated to the next generated point; defining a vector extending from the current generated point to the corresponding taught point; defining a unit tangent vector u i to the corresponding arc at the taught point; determining the position of the next generated point in accordance with the vector from the current generated point to the next generated point defined as b=k.sub.1 d-k.sub.2 u.sub.i wherein d 2 =d·d=|d| 2 , e=d·u i , k 2 =[√(eb) 2 +d 2 (d 2 -b 2 )-(eb)]b/d 2 , k 1 =(2ek 2 +b 2 )/d 2 .
Claim 13
Dependent Claim 99 words
The method of claim 2 wherein the step of determining at each taught point the slope u i of a stroke connecting taught points comprises defining a vector t i such that t.sub.i =d.sub.i /d.sub.i +d.sub.i+1 /d.sub.i+1 wherein d i is a vector from a first taught point to an intermediate taught point located between said first taught point and a second taught point, d i+1 is a vector from the intermediate taught point to the second said point of magnitude d i+1 , and t i is the slope vector at the second taught point of arbitrary magnitude.
Claim 14
Dependent Claim 158 words
The method of claim 5 wherein the step of determining the location of a set of midpoints M i , each located in a plane that is located midway between consecutive taught points P i and P i+1 and located on first and second circular arcs respectively connecting the midpoint with the corresponding consecutive taught points comprises: determining the distance d i between the taught points; defining a unit direction vector u from P i to P i+1 ; defining a vector v of undetermined magnitude, extending between the middle of the line that connects consecutive taught points and the corresponding midpoint such that v=(s.sub.1 -s.sub.2)/(q+c.sub.1 +c.sub.2) wherein s 1 =u i -c 1 u; s 2 =u i+1 -c 2 u; c 1 =u i ·u; c 2 =u i+1 ·u; c 3 =u i ·u i+1 and q=√2(1-c 3 )+4c 1 c 2 ; determining the location of the respective midpoints as P.sub.i →M.sub.i =d.sub.i (u-v)/2.
Claim 15
Dependent Claim 156 words
The method of claim 2 wherein the step of determining at each taught point the slope of a stroke connecting consecutive taught points comprises determining slope vectors such that the slope at each of two taught points, a first taught point P k and an second taught point P n , each located at an opposite end of a working stroke, is the tangent to a circular arc connecting said points and passing through taught points P k+1 and P n-1 located between the first and second taught points such that u.sub.k =2(u.sub.dk ·u.sub.k+1)u.sub.dk -u.sub.k+1 u.sub.n =2(u.sub.n-1 ·u.sub.dn)u.sub.dn -u.sub.n+1 wherein u k , u k+1 , u n-1 , and u n are unit slope vectors at points P k , P k+1 , P n-1 , P n , respectively, and u dk and u dn are unit direction vectors from P k to P k+1 and from P n-1 to P n , respectively.

References Cited (Backward Citations)

US4550383A Cited
US4698777A Cited
US4689756A Cited
US4635206A Cited
US4680519A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-04-10 1992-10-10 1993-04-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-04-10 1996-10-10 1997-04-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-04-10 2000-10-10 2001-04-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag