← Back to Patent Explorer
US6865441B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel trajectory generation, interpolation, and control in a motion control application

Assignee: National Instruments Corp
•
Filing: 2003-05-08
•
Granted: 2005-03-08
•
Expires: 2023-05-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for performing trajectory generation, interpolation, and control for a motion control application, where the trajectory generation, interpolation, and control are performed in parallel with each other. In one embodiment, an FPGA in a motion control device may be configured to perform the trajectory generation, interpolation, and control in parallel. Performing trajectory generation, interpolation, and control in parallel on an FPGA may increase the efficiency of the motion control application.

Inventors

  • 👤 Sundeep Chandhoke

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 22:36
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/41; G05B19/4103; G05B2219/00; G05B2219/30; G05B2219/33; G05B2219/33081; G05B2219/34; G05B2219/34024; G05B2219/34135; G05B2219/40; G05B2219/40519

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 82 words
A method for controlling a motion control device, the method comprising: executing a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data; executing an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data; and executing a control algorithm, wherein the control algorithm is operable to control the motion control device using the interpolated trajectory data; wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm execute in parallel with each other.
Claim 2
Independent Claim 82 words
A method for controlling a motion control device, the method comprising: executing a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data; executing an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data; and executing a control algorithm, wherein the control algorithm is operable to control the motion control device using the interpolated trajectory data; wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm execute in parallel with each other.
Claim 3
Dependent Claim 96 words
The method of claim 1 , wherein said executing the trajectory generation algorithm comprises executing a first loop, wherein the first loop is operable to generate the trajectory data; wherein said executing the interpolation algorithm comprises executing a second loop, wherein the second loop is operable to interpolate the trajectory data; wherein said executing the control algorithm comprises executing a third loop, wherein the third loop is operable to control the motion control device using the interpolated trajectory data; wherein the first loop, the second loop, and the third loop execute in parallel with each other.
Claim 4
Dependent Claim 43 words
The method of claim 1 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by an FPGA; wherein the FPGA executes the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
Claim 5
Dependent Claim 17 words
The method of claim 3 , wherein the FPGA is a component of the motion control device.
Claim 6
Dependent Claim 24 words
The method of claim 3 , further comprising: configuring the FPGA to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm.
Claim 7
Dependent Claim 52 words
The method of claim 5 , wherein said configuring the FPGA to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm comprises configuring the FPGA with a hardware executable format, wherein the hardware executable format specifies operation of the trajectory generation algorithm, the interpolation algorithm, and the control algorithm.
Claim 8
Dependent Claim 41 words
The method of claim 6 , further comprising: programmatically creating the hardware executable format based on one or more programs, wherein the one or more programs include program code for the trajectory generation algorithm, the interpolation algorithm, and the control algorithm.
Claim 9
Dependent Claim 33 words
The method of claim 1 , wherein said executing the trajectory generation algorithm, the interpolation algorithm, and the control algorithm causes the motion control device to perform a sequence of motion control operations.
Claim 10
Dependent Claim 34 words
The method of claim 8 , wherein said motion control device performing the sequence of motion control operations comprises the motion control device controlling a motor to perform the sequence of motion control operations.
Claim 11
Dependent Claim 17 words
The method of claim 8 , further comprising: receiving information specifying the sequence of motion control operations.
Claim 12
Dependent Claim 28 words
The method of claim 10 , wherein said receiving information specifying the sequence of motion control operations comprises receiving user input specifying the sequence of motion control operations.
Claim 13
Dependent Claim 57 words
The method of claim 1 , further comprising: programmatically generating one or more software programs that implement a sequence of motion control operations; wherein said programmatically generating the one or more software programs comprises programmatically including code in the one or more software programs to specify the trajectory generation algorithm, the interpolation algorithm, and the control algorithm.
Claim 14
Dependent Claim 37 words
The method of claim 12 , further comprising: configuring an FPGA based on the one or more software programs; wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by the configured FPGA.
Claim 15
Dependent Claim 42 words
The method of claim 13 , wherein said configuring the FPGA based on the one or more software programs comprises: generating a hardware executable format based on the one or more software programs; and configuring the FPGA with the hardware executable format.
Claim 16
Dependent Claim 54 words
The method of claim 12 , wherein said programmatically generating the one or more software programs comprises programmatically generating one or more graphical programs; wherein each graphical program includes a plurality of interconnected nodes that visually indicate functionality of one or more of the trajectory generation algorithm, the interpolation algorithm, and the control algorithm.
Claim 17
Dependent Claim 24 words
The method of claim 1 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by a single device.
Claim 18
Dependent Claim 24 words
The method of claim 14 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by a single processor.
Claim 19
Dependent Claim 23 words
The method of claim 1 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by multiple devices.
Claim 20
Dependent Claim 23 words
The method of claim 18 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by multiple processors.
Claim 21
Dependent Claim 23 words
The method of claim 18 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by multiple FPGAs.
Claim 22
Dependent Claim 30 words
The method of claim 18 , wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by at least one processor and at least one FPGA.
Claim 23
Dependent Claim 26 words
The method of claim 18 , wherein each of the trajectory generation algorithm, the interpolation algorithm, and the control algorithm is executed by a different device.
Claim 24
Dependent Claim 36 words
The method of claim 18 , wherein two of the trajectory generation algorithm, the interpolation algorithm, and the control algorithm are executed by a single device; wherein the other algorithm is executed by a different device.
Claim 25
Independent Claim 79 words
A method for controlling a motion control device, the method comprising: executing a first loop, wherein the first loop is operable to generate trajectory data; executing a second loop, wherein the second loop is operable to interpolate the trajectory data; and executing a third loop, wherein the third loop is operable to control the motion control device using the interpolated trajectory data; wherein the first loop, the second loop, and the third loop execute in parallel with each other.
Claim 26
Independent Claim 79 words
A method for controlling a motion control device, the method comprising: executing a first loop, wherein the first loop is operable to generate trajectory data; executing a second loop, wherein the second loop is operable to interpolate the trajectory data; and executing a third loop, wherein the third loop is operable to control the motion control device using the interpolated trajectory data; wherein the first loop, the second loop, and the third loop execute in parallel with each other.
Claim 27
Dependent Claim 41 words
The method of claim 24 , wherein the first loop, the second loop, and the third loop are executed by an FPGA; wherein the FPGA executes the first loop, the second loop, and the third loop in parallel with each other.
Claim 28
Dependent Claim 17 words
The method of claim 25 , wherein the FPGA is a component of the motion control device.
Claim 29
Dependent Claim 23 words
The method of claim 25 , further comprising: configuring the FPGA to execute the first loop, the second loop, and the third loop.
Claim 30
Dependent Claim 50 words
The method of claim 27 , wherein said configuring the FPGA to execute the first loop, the second loop, and the third loop comprises configuring the FPGA with a hardware executable format, wherein the hardware executable format specifies operation of the first loop, the second loop, and the third loop.
Claim 31
Independent Claim 88 words
A method for controlling a motion control device, the method comprising: executing a first loop on an FPGA, wherein the first loop is operable to generate trajectory data; executing a second loop on the FPGA, wherein the second loop is operable to interpolate the trajectory data; and executing a third loop on the FPGA, wherein the third loop is operable to control the motion control device using the interpolated trajectory data; wherein the first loop, the second loop, and the third loop execute in parallel on the FPGA.
Claim 32
Independent Claim 88 words
A method for controlling a motion control device, the method comprising: executing a first loop on an FPGA, wherein the first loop is operable to generate trajectory data; executing a second loop on the FPGA, wherein the second loop is operable to interpolate the trajectory data; and executing a third loop on the FPGA, wherein the third loop is operable to control the motion control device using the interpolated trajectory data; wherein the first loop, the second loop, and the third loop execute in parallel on the FPGA.
Claim 33
Independent Claim 124 words
A method for configuring a motion control device, the method comprising: configuring the motion control device to execute a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data; configuring the motion control device to execute an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data; and configuring the motion control device to execute a control algorithm, wherein the control algorithm is operable to control the motion control device using the interpolated trajectory data; wherein said configuring the motion control to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm comprises configuring the motion control to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
Claim 34
Independent Claim 124 words
A method for configuring a motion control device, the method comprising: configuring the motion control device to execute a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data; configuring the motion control device to execute an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data; and configuring the motion control device to execute a control algorithm, wherein the control algorithm is operable to control the motion control device using the interpolated trajectory data; wherein said configuring the motion control to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm comprises configuring the motion control to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
Claim 35
Dependent Claim 102 words
The method of claim 30 , wherein the motion control device includes an FPGA; wherein said configuring the motion control device to execute the trajectory generation algorithm comprises configuring the FPGA to execute the trajectory generation algorithm; wherein said configuring the motion control device to execute the interpolation algorithm comprises configuring the FPGA to execute the interpolation algorithm; wherein said configuring the motion control device to execute the control algorithm comprises configuring the FPGA to execute the control algorithm; wherein the FPGA is operable to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
Claim 36
Independent Claim 76 words
A method for generating trajectory data for a motion control application, the method comprising: creating a software program which specifies program instructions for generating the trajectory data; converting the software program to a hardware executable format; configuring an FPGA with the hardware executable format, wherein said configuring the FPGA with the hardware executable format comprises configuring the FPGA to generate the trajectory data; and executing the FPGA, wherein the FPGA executes to generate the trajectory data.
Claim 37
Independent Claim 76 words
A method for generating trajectory data for a motion control application, the method comprising: creating a software program which specifies program instructions for generating the trajectory data; converting the software program to a hardware executable format; configuring an FPGA with the hardware executable format, wherein said configuring the FPGA with the hardware executable format comprises configuring the FPGA to generate the trajectory data; and executing the FPGA, wherein the FPGA executes to generate the trajectory data.
Claim 38
Independent Claim 76 words
A method for interpolating trajectory data for a motion control application, the method comprising: creating a software program which specifies program instructions for interpolating the trajectory data; converting the software program to a hardware executable format; configuring an FPGA with the hardware executable format, wherein said configuring the FPGA with the hardware executable format comprises configuring the FPGA to interpolate the trajectory data; and executing the FPGA, wherein the FPGA executes to interpolate the trajectory data.
Claim 39
Independent Claim 76 words
A method for interpolating trajectory data for a motion control application, the method comprising: creating a software program which specifies program instructions for interpolating the trajectory data; converting the software program to a hardware executable format; configuring an FPGA with the hardware executable format, wherein said configuring the FPGA with the hardware executable format comprises configuring the FPGA to interpolate the trajectory data; and executing the FPGA, wherein the FPGA executes to interpolate the trajectory data.
Claim 40
Dependent Claim 96 words
A motion control device comprising: an FPGA; and one or more control outputs; wherein the FPGA is configured to execute: a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data; an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data; and a control algorithm, wherein the control algorithm is operable to send signals to a motor via the one or more control outputs to control the motor; wherein the FPGA executes the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
Claim 41
Dependent Claim 96 words
A motion control device comprising: an FPGA; and one or more control outputs; wherein the FPGA is configured to execute: a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data; an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data; and a control algorithm, wherein the control algorithm is operable to send signals to a motor via the one or more control outputs to control the motor; wherein the FPGA executes the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
Claim 42
Independent Claim 56 words
A method for controlling motion along multiple axes, the method comprising: generating trajectory data, wherein the trajectory data specifies a trajectory along each of the axes; and executing a plurality of control loops in parallel with each other, wherein each control loop executes to control motion along one of the axes according to the trajectory data.
Claim 43
Independent Claim 56 words
A method for controlling motion along multiple axes, the method comprising: generating trajectory data, wherein the trajectory data specifies a trajectory along each of the axes; and executing a plurality of control loops in parallel with each other, wherein each control loop executes to control motion along one of the axes according to the trajectory data.
Claim 44
Dependent Claim 32 words
The method of claim 35 , wherein said executing the plurality of control loops in parallel with each other comprises executing the plurality of control loops in parallel on a single device.
Claim 45
Dependent Claim 32 words
The method of claim 36 , wherein said executing the plurality of control loops in parallel on the single device comprises executing the plurality of control loops in parallel on an FPGA.
Claim 46
Dependent Claim 31 words
The method of claim 35 , wherein said executing the plurality of control loops in parallel with each other comprises executing the plurality of control loops in parallel on separate devices.
Claim 47
Dependent Claim 21 words
The method of claim 35 , wherein said generating the trajectory data comprises executing a loop to generate the trajectory data.
Claim 48
Dependent Claim 38 words
The method of claim 35 , wherein said generating the trajectory data comprises executing a plurality of trajectory generation loops to generate the trajectory data; wherein each trajectory generation loop generates trajectory data for one of the axes.
Claim 49
Dependent Claim 46 words
The method of claim 35 , further comprising: interpolating the trajectory data, wherein said interpolating the trajectory data comprises interpolating trajectory data for each of the axes; wherein each control loop executes to control motion along one of the axes according to the interpolated trajectory data.
Claim 50
Dependent Claim 21 words
The method of claim 41 , wherein said interpolating the trajectory data comprises executing a loop to generate the trajectory data.
Claim 51
Dependent Claim 36 words
The method of claim 42 , wherein said interpolating the trajectory data comprises executing a plurality of interpolation loops to interpolate the trajectory data; wherein each interpolation loop interpolates trajectory data for one of the axes.
Claim 52
Independent Claim 114 words
A method for configuring a motion control device to control motion along multiple axes, the method comprising: configuring the motion control device to execute a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data, wherein the trajectory data specifies a trajectory along each of the axes; and configuring the motion control device to execute a plurality of control loops, wherein each control loop executes to control motion along one of the axes according to the trajectory data; wherein said configuring the motion control device to execute the plurality of control loops comprises configuring the motion control device to execute the plurality of control loops in parallel with each other.
Claim 53
Independent Claim 114 words
A method for configuring a motion control device to control motion along multiple axes, the method comprising: configuring the motion control device to execute a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data, wherein the trajectory data specifies a trajectory along each of the axes; and configuring the motion control device to execute a plurality of control loops, wherein each control loop executes to control motion along one of the axes according to the trajectory data; wherein said configuring the motion control device to execute the plurality of control loops comprises configuring the motion control device to execute the plurality of control loops in parallel with each other.
Claim 54
Dependent Claim 79 words
The method of claim 44 , wherein the motion control device includes an FPGA; wherein said configuring the motion control device to execute the trajectory generation algorithm comprises configuring the FPGA to execute the trajectory generation algorithm; wherein said configuring the motion control device to execute the plurality of control loops comprises configuring the FPGA to execute the plurality of control loops; wherein the FPGA is operable to execute the plurality of control loops in parallel with each other.

References Cited (Backward Citations)

US3970830A Cited
US5726896A Cited
US6782306B2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-03-07 2008-09-06 2009-03-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-03-07 2012-09-06 2013-03-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-03-07 2016-09-06 2017-03-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag