IP Library Granted Patent US 8,175,725
Granted Patent B2
US 8,175,725 · App. 12/206,028 · Granted May 8, 2012

Adapting move constraints for position based moves in a trajectory generator

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,175,725
App. No.
12/206,028
Granted
May 8, 2012
Kind
B2
Abstract

Adapting move constraints for position based moves in a trajectory generator. Specification of a trajectory may be received. The specification may include a geometry of the trajectory, where the geometry specifies a desired trajectory length. A plurality of constraints for the trajectory may be received. The plurality of constraints may include one or more of a velocity, acceleration, or jerk constraint. A motion control profile may be generated based on the plurality of constraints. The method may include determining if a distance of the motion control profile exceeds the desired trajectory length. If the distance of the motion control profile exceeds the desired trajectory length, one or more values of the plurality of constraints may be decreased to make the distance of the motion control profile less than or equal to the desired trajectory length.

Claims (525)

1. A method for generating a trajectory for motion control, comprising:

receiving specification of the trajectory, wherein said receiving the specification comprises receiving a geometry of the trajectory, wherein the geometry specifies a desired trajectory length;

receiving a plurality of constraints for the trajectory, wherein the plurality of constraints comprise one or more of a velocity, acceleration, deceleration, jerk acceleration, or jerk deceleration constraint;

generating a motion control profile based on the plurality of constraints;

determining if a distance of the motion control profile exceeds the desired trajectory length specified by the geometry of the trajectory;

in response to the distance of the motion control profile exceeding the desired trajectory length, decreasing one or more values of the plurality of constraints for the trajectory to make the distance of the motion control profile less than or equal to the desired trajectory length.

2. The method of claim 1 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining a plurality of distance equations based on the motion control profile, wherein the plurality of distance equations each specify distance based on one or more of the plurality of constraints; and

determining if a sum of the distance equations is greater than the desired trajectory length.

3. The method of claim 1 , wherein said receiving the specification and said receiving the plurality of constraints is from a user.

4. The method of claim 1 , wherein the plurality of constraints comprise: velocity, acceleration, deceleration, acceleration jerk, and deceleration jerk.

5. The method of claim 1 , wherein said generating the motion control profile comprises using an s-curve algorithm.

6. The method of claim 5 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining a plurality of kinematic equations for the motion control profile, wherein the plurality of kinematic equations comprise:

t

1

=

A

max

/

J

a

=

t

3

t

2

=

V

max

-

V

ini

A

max

-

A

max

J

a

t

5

=

D

max

/

J

d

=

t

7

t

6

=

V

max

-

V

fin

D

max

-

D

max

J

d

wherein A max is maximum acceleration;

wherein D max is maximum deceleration;

wherein J a is maximum acceleration jerk;

wherein J d is maximum deceleration jerk

wherein V max is maximum velocity;

wherein V ini is initial velocity;

wherein V fin is final velocity; and

wherein t 1 , t 2 , t 3 , t 5 , t 6 and t 7 are respective time periods.

7. The method of claim 6 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining if equation 1,

V

max

-

V

ini

A

max

<

A

max

J

a

is true;

wherein said decreasing the one or more values of the plurality of constraints comprises reducing A max in response to determining that the equation 1 is true.

8. The method of claim 6 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining if equation 2,

V

max

-

V

fin

D

max

<

D

max

J

d

is true;

wherein said decreasing the one or more values of the plurality of constraints comprises reducing D max in response to determining that the equation 2 is true.

9. The method of claim 6 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining a sum of a plurality of distance equations for the motion control profile, wherein the plurality of distance equations comprise:

s

1

=

1

6

Ja

·

t

1

3

+

V

ini

·

t

1

s

2

=

1

2

Ja

·

(

t

1

2

·

t

2

+

t

2

2

·

t

1

)

+

V

ini

·

t

2

s

3

=

Ja

·

(

t

1

2

·

t

2

+

5

6

t

1

3

)

+

V

ini

·

t

1

s

5

=

Jd

·

(

t

5

2

·

t

6

+

5

6

t

5

3

)

+

V

fin

·

t

5

s

6

=

1

2

Jd

·

(

t

5

2

·

t

6

+

t

6

2

·

t

5

)

+

V

fin

·

t

6

s

7

=

1

6

Jd

·

t

5

3

+

V

fin

·

t

5

wherein s 1 , s 2 , s 3 , s 5 , s 6 and s 7 are respective distances Ja is acceleration jerk; and Jd is deceleration jerk.

10. The method of claim 9 , wherein said decreasing one or more values of the plurality of constraints comprises:

reducing the acceleration A max such that s 1 and s 3 cover less than half of the desired trajectory length; and

reducing the deceleration D max such that s 5 and s 6 cover less than half of the desired trajectory length.

11. The method of claim 10 , wherein the method further comprises:

in response to the distance of the motion control profile exceeding the desired trajectory length, after said reducing the acceleration and said reducing the deceleration:

reducing the maximum velocity (V max ), maximum acceleration jerk (J a ), and/or maximum deceleration jerk (J d ) until the distance of the motion control profile is less than or equal to the desired trajectory length.

12. A non-transitory computer accessible memory medium storing program instructions for generating a trajectory for motion control, wherein the program instructions are executable to:

receive specification of the trajectory, wherein said receiving the specification comprises receiving a geometry of the trajectory, wherein the geometry specifies a desired trajectory length;

receive a plurality of constraints for the trajectory, wherein the plurality of constraints comprise one or more of a velocity, acceleration, or jerk constraint;

generate a motion control profile based on the plurality of constraints;

determine if a distance of the motion control profile exceeds the desired trajectory length specified by the geometry of the trajectory;

in response to the distance of the motion control profile exceeding the desired trajectory length, decrease one or more values of the plurality of constraints for the trajectory to make the distance of the motion control profile less than or equal to the desired trajectory length.

13. The memory medium of claim 12 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining a plurality of distance equations based on the motion control profile, wherein the plurality of distance equations each specify distance based on one or more of the plurality of constraints; and

determining if a sum of the distance equations is greater than the desired trajectory length.

14. The memory medium of claim 12 , wherein the plurality of constraints comprise: velocity, acceleration, deceleration, acceleration jerk, and deceleration jerk.

15. The memory medium of claim 12 , wherein said generating the motion control profile comprises using an s-curve algorithm.

16. The memory medium of claim 15 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining a plurality of kinematic equations for the motion control profile, wherein the plurality of kinematic equations comprise:

t

1

=

A

max

/

J

a

=

t

3

t

2

=

V

max

-

V

ini

A

max

-

A

max

J

a

t

5

=

D

max

/

J

d

=

t

7

t

6

=

V

max

-

V

fin

D

max

-

D

max

J

d

wherein A max is maximum acceleration;

wherein D max is maximum deceleration;

wherein J a is maximum acceleration jerk;

wherein J d is maximum deceleration jerk

wherein V max is maximum velocity;

wherein V ini is initial velocity;

wherein V fin is final velocity; and

wherein t 1 , t 2 , t 3 , t 5 , t 6 and t 7 are respective time periods.

17. The memory medium of claim 16 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining if equation 1,

V

max

-

V

ini

A

max

<

A

max

J

a

is true;

wherein said decreasing the one or more values of the plurality of constraints comprises reducing A max in response to determining that the equation 1 is true.

18. The memory medium of claim 16 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining if equation 2,

V

max

-

V

fin

D

max

<

D

max

J

d

is true;

wherein said decreasing the one or more values of the plurality of constraints comprises reducing D max in response to determining that the equation 2 is true.

19. The memory medium of claim 16 , wherein said determining if the distance of the motion control profile exceeds the desired trajectory length comprises:

determining a sum of a plurality of distance equations for the motion control profile, wherein the plurality of distance equations comprise:

s

1

=

1

6

Ja

·

t

1

3

+

V

ini

·

t

1

s

2

=

1

2

Ja

·

(

t

1

2

·

t

2

+

t

2

2

·

t

1

)

+

V

ini

·

t

2

s

3

=

Ja

·

(

t

1

2

·

t

2

+

5

6

t

1

3

)

+

V

ini

·

t

1

s

5

=

Jd

·

(

t

5

2

·

t

6

+

5

6

t

5

3

)

+

V

fin

·

t

5

s

6

=

1

2

Jd

·

(

t

5

2

·

t

6

+

t

6

2

·

t

5

)

+

V

fin

·

t

6

s

7

=

1

6

Jd

·

t

5

3

+

V

fin

·

t

5

wherein s 1 , s 2 , s 3 , s 5 , s 6 and s 7 are respective distances Ja is acceleration jerk; and Jd is deceleration jerk.

20. The memory medium of claim 19 , wherein said decreasing one or more values of the plurality of constraints comprises:

reducing the acceleration A max such that s 1 and s 3 cover less than half of the desired trajectory length; and

reducing the deceleration D max such that s 5 and s 6 cover less than half of the desired trajectory length.

21. The memory medium of claim 20 , wherein the method further comprises:

in response to the distance of the motion control profile exceeding the desired trajectory length, after said reducing the acceleration and said reducing the deceleration:

reducing the maximum velocity (V max ), maximum acceleration jerk (J a ), and/or maximum deceleration jerk (J d ) until the distance of the motion control profile is less than or equal to the desired trajectory length.

22. A system, comprising:

a processor; and

a memory medium storing program instructions for generating a trajectory for motion control, wherein the program instructions are executable by the processor to:

receive specification of the trajectory, wherein said receiving the specification comprises receiving a geometry of the trajectory, wherein the geometry specifies a desired trajectory length;

receive a plurality of constraints for the trajectory, wherein the plurality of constraints comprise one or more of a velocity, acceleration, or jerk constraint;

generate a motion control profile based on the plurality of constraints;

determine if a distance of the motion control profile exceeds the desired trajectory length specified by the geometry of the trajectory;

in response to the distance of the motion control profile exceeding the desired trajectory length, decrease one or more values of the plurality of constraints for the trajectory to make the distance of the motion control profile less than or equal to the desired trajectory length.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2008
From: CHANDHOKE, SUNDEEP
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 021493/0837 →