×

Method for optimizing the motion of a multi-axis robot

  • US 5,426,722 A
  • Filed: 09/09/1993
  • Issued: 06/20/1995
  • Est. Priority Date: 09/09/1993
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for reducing a time required for an object to be driven by a plurality of motors over a predetermined trajectory through an n-dimensional space wherein n is equal to or greater than two, the trajectory being defined by a list of vertices each having coordinates that defined a location within the n-dimensional space, each vertex being separated from at least one other vertex by a line segment, comprising the steps(a) determining a maximum velocity that can be maintained for each vertex as the object changes direction when being driven from one line segment to the next;

  • (b) sorting the vertices by ascending maximum velocity;

    (c) examining a pair of vertices consisting of a slowest vertex and a subsequent vertex in the trajectory;

    (d) if the determined maximum velocity at the subsequent vertex is found to be exactly achieved by accelerating as fast as possible from the slowest vertex,(d1) marking the determined maximum velocity at the subsequent vertex as correct;

    (e) if the determined maximum velocity at the subsequent vertex is found to be greater than the determined maximum velocity,(e1) reducing the maximum velocity for the subsequent vertex to the value achieved by accelerating as fast as possible from the slowest vertex; and

    (e2) marking the reduced maximum velocity at the subsequent vertex as correct;

    (f) if the determined maximum velocity at the subsequent vertex is found to be less than the determined maximum velocity,(f1) marking the subsequent vertex for a subsequent addition of at least one intermediate vertex;

    (g) examining a pair of vertices consisting of a slowest vertex and a previous vertex in the trajectory;

    (h) if the determined maximum velocity at the slowest vertex is found to be exactly achieved by decelerating as fast as possible from the previous vertex to the slowest vertex,(h1) marking the maximum velocity at the previous vertex as correct;

    (i) if the determined maximum velocity at the previous vertex is found to be greater than the determined maximum velocity,(i1) reducing the maximum velocity for the previous vertex to the value achieved by decelerating as fast as possible from the previous vertex to the slowest vertex; and

    (i2) marking the reduced maximum velocity of the previous vertex as correct;

    (j) if the determined maximum velocity at the subsequent vertex is found to be less than the determined maximum velocity,(j1) marking the previous vertex for a subsequent addition of at least one intermediate vertex;

    (k) removing the vertex having the lowest maximum velocity from the vertex list;

    (l) determining if all vertex pairs have been examined;

    (m) if all vertex pairs have not been examined, repeating the steps (b) through (l);

    (n) all vertex pairs have been examined, adding at least one intermediate vertex between each vertex pair previously marked for vertex addition; and

    (n) determining from a resulting vertex list a sequence of motor control signals so as to cause the object to be driven over the trajectory so as to achieve the indicated velocities at each vertex of the resulting vertex list.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×