Patents by Inventor Sundeep Chandhoke

Sundeep Chandhoke has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20110182300
    Abstract: System and method for controlling access to a bus. A Network Interface (NI) is coupled to a memory via the bus, and receives a schedule to a Direct Memory Access (DMA) controller on the NI. The schedule indicates one or more timeslots reserved for transmission of deterministic data, and further indicates one or more available timeslots which are not reserved for transmission of deterministic data. The NI receives first data for transmission onto the bus, during a first timeslot of the available timeslots, where the first data are received in a non-deterministic manner, and determines that the first timeslot is a reserved timeslots based on the schedule. The first data are buffered in a buffer memory during the first timeslot, and transferred to the first memory via the bus during a second timeslot after the buffering, where the second timeslot is one of the one or more available timeslots.
    Type: Application
    Filed: January 27, 2010
    Publication date: July 28, 2011
    Inventor: Sundeep Chandhoke
  • Patent number: 7930643
    Abstract: A system and method for previewing a sequence of motion control operations. A user may utilize a motion control prototyping environment application to easily and efficiently develop/prototype a motion control sequence. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the motion control sequence at a high level, by selecting from and configuring a sequence of motion control operations using the GUI. The graphical user interface of the motion control prototyping environment may enable the user to preview various aspects of the motion performed by a motion control sequence in one or more preview windows, e.g., a velocity profile, an acceleration profile, position plots, etc., in advance before commanding the motor to perform the sequence of moves.
    Type: Grant
    Filed: January 29, 2002
    Date of Patent: April 19, 2011
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, David Whatley, Denise Riedlinger
  • Patent number: 7917863
    Abstract: A system and method for developing a sequence of motion control operations. Various embodiments of a motion control prototyping environment application are described. The motion control prototyping environment may be designed to enable a user to easily and efficiently develop/prototype a motion control sequence without requiring the user to perform programming, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the motion control sequence at a high level, by selecting from and configuring a sequence of motion control operations using the GUI.
    Type: Grant
    Filed: January 18, 2002
    Date of Patent: March 29, 2011
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Nicolas Vazquez, David W Fuller, Christopher Cifra
  • Publication number: 20110022822
    Abstract: Controlling a motion system using a plurality of processors. First input data may be received which corresponds to a first portion of the motion system. Second input data may be received which corresponds to a second portion of the motion system. Execution of a first function of a plurality of sequential functions may be assigned to a first processor to determine output for the first portion based on the first input data. Execution of the first function may be assigned to a second processor to determine output for the second portion based on the second input data. The first processor executing the first function and the second processor executing the first function may be performed in parallel. The output for the first portion of the motion system may be provided to the first portion. The output for the second portion of the motion system may be provided to the second portion.
    Type: Application
    Filed: July 21, 2009
    Publication date: January 27, 2011
    Inventor: Sundeep Chandhoke
  • Patent number: 7863851
    Abstract: System and method for controlling a stepper motor. A current position of the stepper motor may be received. A position error of the stepper motor may be determined using the current position of the stepper motor. A velocity profile may be maintained based on the position error, such that it tracks the position error. A position correction value may be determined based on the velocity profile, e.g., by integrating a portion of the velocity profile. A new position value may be generated to drive the stepper motor. An output position value to the stepper motor may be provided to drive the stepper motor. The output position value may incorporate the new position value and the position correction value and may be operable to reduce position error of the stepper motor.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: January 4, 2011
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 7849416
    Abstract: A system and method for developing a prototype that comprises a sequence of motion control, machine vision, and/or data acquisition (DAQ) “MC/MV/DAQ” operations. A MC/MV/DAQ prototyping environment may be designed to enable a user to easily and efficiently develop/prototype a MC/MV/DAQ sequence (i.e., a sequence of operations which includes one or more motion control, machine vision, and/or DAQ operations) without requiring the user to perform programming, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the MC/MV/DAQ sequence at a high level, by selecting from and configuring a sequence of MC/MV/DAQ operations using the GUI.
    Type: Grant
    Filed: January 18, 2002
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Nicolas Vazquez, David W Fuller, Christopher Cifra
  • Patent number: 7702417
    Abstract: System and method for utilizing drawing specifications for use in motion control. Elements in a drawing specification may be automatically identified. The drawing specification may include one or more drawings, digital files, AutoCAD drafting files, and/or drawing specifications. Code may be automatically generated based on the one or more elements in accordance with a schema, and may include instructions in a data representation language, e.g., a markup language such as HTML, XML, etc. The automatically generated code may include move operations, e.g., arc, contour, line, raise, lower, halt, begin, etc., with associated parameters, e.g., move constraints, digital outputs, position compares, etc. The schema may include one or more blocks, each associated with a portion of the drawing specification, one or more elements, each associated with a block, one or more move operations, each associated with an element, and one or more parameters, each associated with a move operation.
    Type: Grant
    Filed: January 31, 2006
    Date of Patent: April 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Sushrutha Ravish, Praveen Shivananda, Sundeep Chandhoke, Mahesh Ramchandani
  • Patent number: 7702416
    Abstract: A system and method for utilizing a drawing specification for motion control. A plurality of elements in the drawing specification may be automatically identified. The elements may include one or more lines, polygons, arcs, splines, alphanumeric characters, and/or ellipses. Additionally, the drawing specification may be a drawing or digital drafting file, such as an AutoCAD file, among others. An order of the plurality of elements may be automatically determined according to a sorting algorithm. The sorting algorithm may include a geometric and/or radial sorting algorithm. The radial sorting algorithm may specify the order of the elements according to nesting and/or distance from the center of the drawing specification. Code may be automatically generated for implementing motion control based on the identified elements and the determined order. The generated code may include inserted operations such as raise, lower, and move operations, among others.
    Type: Grant
    Filed: November 16, 2007
    Date of Patent: April 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Sushrutha Ravish, Praveen Shivananda, Sundeep Chandhoke, Mahesh Ramchandani
  • Patent number: 7689727
    Abstract: System and method for automatically updating a memory map coupled to or included in a programmable controller (PrC). A PrC may automatically detect at least one programmable hardware element (PHE) coupled to the PrC. The PHE may provide a customizable interface, i.e., input and output (I/O) interface, between one or more devices and the PrC. The devices may include one or more measurement, data acquisition, signal generation, automation, motion control, and/or analysis device(s), among others. The PHE may perform one or more functions on the data transmitted between the device(s) and the PrC. One or more of the PHEs and/or device(s) may be local or remote to the PrC. The PrC may automatically update the memory map based on a hardware I/O interface of the at least one programmable hardware element, where the memory map facilitates communications between programs executing on the PrC and the programmable hardware element.
    Type: Grant
    Filed: June 28, 2006
    Date of Patent: March 30, 2010
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Publication number: 20100063603
    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.
    Type: Application
    Filed: September 8, 2008
    Publication date: March 11, 2010
    Inventor: Sundeep Chandhoke
  • Publication number: 20100030539
    Abstract: Simulating a mechanical system controlled by a motion controller. First position data may be received. The first position data may be provided by a motion controller at a first rate. The first position data received at the first rate may be interpolated to provide second position data at a second rate. Operation of the mechanical system may be simulated or modeled using the second position data at the second rate. Interpolating the first position data and modeling the operation of the mechanical system may be performed without simulating drives and motors necessary to drive the mechanical system.
    Type: Application
    Filed: May 15, 2009
    Publication date: February 4, 2010
    Inventors: Sundeep Chandhoke, Brian C. MacCleery
  • Publication number: 20090234471
    Abstract: System and method for performing industrial control. A vision engine operable to execute vision functions to control a vision element in response to received asynchronous commands is stored on a vision system. An application programming interface (API) that provides access to the vision engine is stored. The API includes multiple function blocks operable to be included in an industrial control application, and executable to send the asynchronous commands to the vision engine. The application is created, including inserting at least one function block of the API into the application. The application is executed on a programmable controller, including executing the function block to send a corresponding asynchronous command to the vision engine. The vision engine performs a vision function corresponding to the function block in response to the asynchronous command, and sends resultant data to the industrial control application, which stores the resultant data.
    Type: Application
    Filed: March 17, 2008
    Publication date: September 17, 2009
    Inventor: Sundeep Chandhoke
  • Patent number: 7568198
    Abstract: System and method for modifying properties of tasks on a programmable logic controller. Input specifying modification of a property of a task included in a programmable logic controller (PLC) may be received. The property of the task may be modified based on the input, and the task may halt or continue to execute in accordance with the modified property. The modification may enable, disable, modify the rate of, modify the priority of, and/or modify properties of programs included in the task, among others. Modifying the programs may include changing the program execution order. When enabling or disabling the task, the input may be received from another task executing on the PLC. For at least some property modifications, the input may be received from one or more of a program included in the task, another executing task, a host computer system, and a user of the host computer system, among others.
    Type: Grant
    Filed: January 10, 2006
    Date of Patent: July 28, 2009
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 7565654
    Abstract: System and method for modifying properties of tasks on a programmable logic controller. Input specifying modification of a property of a task included in a programmable logic controller (PLC) may be received. The property of the task may be modified based on the input, and the task may halt or continue to execute in accordance with the modified property. The modification may enable, disable, modify the rate of, modify the priority of, and/or modify properties of programs included in the task, among others. Modifying the programs may include changing the program execution order. When enabling or disabling the task, the input may be received from another task executing on the PLC. For at least some property modifications, the input may be received from one or more of a program included in the task, another executing task, a host computer system, and a user of the host computer system, among others.
    Type: Grant
    Filed: January 10, 2006
    Date of Patent: July 21, 2009
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Publication number: 20090144647
    Abstract: System and method for developing a motion application. A motion manager component implementing a supervisory control function and at least one trajectory generation algorithm is stored on a motion controller. A first application programming interface (API) for interfacing the motion manager component to a user developed motion control application is displayed. A second API for interfacing the motion manager component to a user developed communication interface component is displayed. A user application executable for sequencing motion operations in the motion system is created using the first API is created in response to user input. A first communication interface component is created using the second API in response to user input, where the communication interface component is operable to interface with the motion manager component using the second API, and where the user developed communication interface component is executable to communicate with a motion element, e.g., a drive or simulation.
    Type: Application
    Filed: November 30, 2007
    Publication date: June 4, 2009
    Inventor: Sundeep Chandhoke
  • Patent number: 7542810
    Abstract: A system and method for user configuration of an autotuning algorithm for a PID controller. User input is received via a Graphical User Interface (GUI) indicating a desired characteristic of a PID controller, such as stiffness or response time. The system is excited via a proportional controller to characterize the intrinsic behavior of the system, i.e., to calculate a system transfer function. An autotuning algorithm is configured in accordance with the user input. The configured autotuning algorithm is applied to the transfer function to generate gain values for the PID controller resulting in the PID controller characteristic specified by the user. The PID controller gains are loaded into the PID controller hardware or software, thereby configuring the PID controller to operate according to the desired characteristic specified by the user. The user may trigger and view a step response of the system to review the results of the tuning process.
    Type: Grant
    Filed: October 17, 2005
    Date of Patent: June 2, 2009
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Publication number: 20090106755
    Abstract: Operating a programmable controller with a plurality of processors. The programmable controller may utilize a first subset of the plurality of processors for a scanning architecture. The first subset of the plurality of processors may be further subdivided for execution of periodic programs or asynchronous programs. The programmable controller may utilize a second subset of the plurality of processors for a data acquisition architecture. Execution of the different architectures may occur independently and may not introduce significant jitter (e.g., for the scanning architecture) or data loss/response time lag (e.g., for the data acquisition architecture). However, the programmable controller may operate according to any combination of the divisions and/or architectures described herein.
    Type: Application
    Filed: October 19, 2007
    Publication date: April 23, 2009
    Inventor: Sundeep Chandhoke
  • Publication number: 20090106761
    Abstract: Operating a programmable controller with a plurality of processors. The programmable controller may utilize a first subset of the plurality of processors for a scanning architecture. The first subset of the plurality of processors may be further subdivided for execution of periodic programs or asynchronous programs. The programmable controller may utilize a second subset of the plurality of processors for a data acquisition architecture. Execution of the different architectures may occur independently and may not introduce significant jitter (e.g., for the scanning architecture) or data loss/response time lag (e.g., for the data acquisition architecture). However, the programmable controller may operate according to any combination of the divisions and/or architectures described herein.
    Type: Application
    Filed: October 19, 2007
    Publication date: April 23, 2009
    Inventor: Sundeep Chandhoke
  • Publication number: 20090051310
    Abstract: System and method for controlling a stepper motor. A current position of the stepper motor may be received. A position error of the stepper motor may be determined using the current position of the stepper motor. A velocity profile may be maintained based on the position error, such that it tracks the position error. A position correction value may be determined based on the velocity profile, e.g., by integrating a portion of the velocity profile. A new position value may be generated to drive the stepper motor. An output position value to the stepper motor may be provided to drive the stepper motor. The output position value may incorporate the new position value and the position correction value and may be operable to reduce position error of the stepper motor.
    Type: Application
    Filed: August 22, 2007
    Publication date: February 26, 2009
    Inventor: Sundeep Chandhoke
  • Patent number: 7379777
    Abstract: System and method for automatically updating a memory map coupled to or included in a programmable logic controller (PLC). A PLC may automatically detect at least one programmable hardware element (PHE) coupled to the PLC. The PHE may provide a customizable interface, i.e., input and output (I/O) interface, between one or more devices and the PLC. The devices may include one or more measurement, data acquisition, signal generation, automation, motion control, and/or analysis device(s), among others. The PHE may perform one or more functions on the data transmitted between the device(s) and the PLC. One or more of the PHEs and/or device(s) may be local or remote to the PLC. The PLC may automatically update the memory map based on a hardware I/O interface of the at least one programmable hardware element, where the memory map facilitates communications between programs executing on the PLC and the programmable hardware element.
    Type: Grant
    Filed: January 24, 2006
    Date of Patent: May 27, 2008
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke