Patents by Inventor James J. Kuffner, Jr.

James J. Kuffner, Jr. 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).

  • Patent number: 9904287
    Abstract: System, methods, and other embodiments described herein relate to mitigating vigilance decrement of a vehicle operator. In one embodiment, a method includes monitoring the operator by collecting operator state information using at least one sensor of the vehicle. The method includes computing an engagement level of the operator according to a vigilance model and the operator state information to characterize an extent of vigilance decrement presently experienced by the operator. The method includes rendering, on an augmented reality (AR) display, at least one graphical element as a function of the engagement level to induce the operator to maintain vigilance with respect to operation of the vehicle and a present operating environment around the vehicle.
    Type: Grant
    Filed: May 4, 2017
    Date of Patent: February 27, 2018
    Assignee: Toyota Research Institute, Inc.
    Inventors: James J. Kuffner, Jr., Gill A. Pratt
  • Patent number: 9862089
    Abstract: Methods and systems for allocating tasks to robotic devices are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices and in a computing system configured to access a processor and memory, determining information associated with a health level for the plurality of robotic devices based on the information associated with the task logs. A health level for a given robotic device may be proportional to a current level of ability to perform a function, which may change over a lifespan of the given robotic device. Information associated with a plurality of tasks to be performed by one or more or the robotic devices may also be determined. The computing system may optimize an allocation of the plurality of tasks such that a high precision task may be allocated to a robotic device having a greater current health level than another robotic device.
    Type: Grant
    Filed: August 23, 2016
    Date of Patent: January 9, 2018
    Assignee: X DEVELOPMENT LLC
    Inventors: James J. Kuffner, Jr., Ryan Hickman
  • Publication number: 20170357953
    Abstract: Methods and systems for proactively preventing hazardous or other situations in a robot-cloud interaction are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices. The task logs may include information associated with tasks performed by the plurality of robotic devices. The method may also include a computing system determining information associated with hazardous situations based on the information associated with the task logs. For example, the hazardous situations may comprise situations associated with failures of one or more components of the plurality of robotic devices. According to the method, information associated with a contextual situation of a first robotic device may be determined, and when the information associated with the contextual situation is consistent with information associated with the one or more hazardous situations, an alert indicating a potential failure of the first robotic device may be provided.
    Type: Application
    Filed: August 2, 2017
    Publication date: December 14, 2017
    Inventors: James J. Kuffner, JR., Ryan Hickman
  • Patent number: 9836483
    Abstract: Methods and systems for comparing a 3D model of a target object to a shape-search database are provided. An example method includes using a mobile device to acquire a plurality of images of a target object, determining a 3D model based on the images, transmitting a search query that includes the 3D model, and receiving a search query result. In another example method, a server could receive a search query that includes a 3D model of an object, compare the 3D model to a shape-search database, generate a search query result based on the comparison, and transmit the search query result. The search query result could include one or more of: information regarding the target object, information regarding one or more objects similar to the target object, and a suggestion for acquiring additional images of the target object.
    Type: Grant
    Filed: August 27, 2013
    Date of Patent: December 5, 2017
    Assignee: Google LLC
    Inventors: Ryan Hickman, James J. Kuffner, Jr., James R. Bruce, Anthony G. Francis, Jr., Arshan Poursohi, Chaitanya Gharpure
  • Patent number: 9821463
    Abstract: Methods and systems for determining and presenting virtual safety cages are provided. An example method may involve receiving an instruction for a robotic device to perform a physical action in a physical environment occupied by the robotic device. The method may also involve, responsive to receiving the instruction, and based on one or more parameters of one or more physical components of the robotic device, determining one or more estimated trajectories along which the one or more physical components of the robotic device are estimated to move as the robotic device performs the physical action. The method may further involve, based on the one or more estimated trajectories, determining a virtual representation of a space that the robotic device is estimated to occupy in the physical environment while performing the physical action. The method may then involve providing, into the physical environment, an indication of a location of the space.
    Type: Grant
    Filed: November 1, 2016
    Date of Patent: November 21, 2017
    Assignee: X Development LLC
    Inventors: James J. Kuffner, Jr., Peter Elving Anderson-Sprecher
  • Patent number: 9802318
    Abstract: Methods and systems for determining a status of a component of a device are provided. An example method includes triggering an action of a component of a device, and responsively receiving information associated with the action of the component from a sensor. The method further includes a computing system having a processor and a memory comparing the information with calibration data and determining a status of the component based on the comparison. In some examples, the calibration data may include information derived from data received from a pool of one or more devices utilizing same or similar components as the component. The determined status may include information associated with a performance of the component with respect to performances of same or similar components of the pool of devices. In one example, the device may self-calibrate the component based on the status.
    Type: Grant
    Filed: October 10, 2016
    Date of Patent: October 31, 2017
    Assignee: X Development LLC
    Inventors: James J. Kuffner, Jr., Ryan Hickman
  • Patent number: 9665800
    Abstract: Methods and systems for rendering virtual views of three-dimensional (3D) object data models are described. An example method may include receiving information associated with rendering a 3D object data model, and determining virtual views for rendering the 3D object data model. Based on the virtual views and the received information, synthetic training images of the object may be rendered, and information identifying a given virtual view used to render a synthetic training image may be stored with the synthetic training images. A visual object recognition module may determine from a plurality of images and image that substantially matches one or more of the synthetic training images, and the matched image may be associated with information identifying the object and a virtual view used to render a matching synthetic training image. Another method may also leverage information from a synthetic training image to help recognize other objects of the matched image.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: May 30, 2017
    Assignee: Google Inc.
    Inventor: James J. Kuffner, Jr.
  • Publication number: 20170021503
    Abstract: Methods and systems for determining a status of a component of a device are provided. An example method includes triggering an action of a component of a device, and responsively receiving information associated with the action of the component from a sensor. The method further includes a computing system having a processor and a memory comparing the information with calibration data and determining a status of the component based on the comparison. In some examples, the calibration data may include information derived from data received from a pool of one or more devices utilizing same or similar components as the component. The determined status may include information associated with a performance of the component with respect to performances of same or similar components of the pool of devices. In one example, the device may self-calibrate the component based on the status.
    Type: Application
    Filed: October 10, 2016
    Publication date: January 26, 2017
    Inventors: James J. Kuffner, JR., Ryan Hickman
  • Publication number: 20170011360
    Abstract: Methods and systems for proactively preventing hazardous or other situations in a robot-cloud interaction are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices. The task logs may include information associated with tasks performed by the plurality of robotic devices. The method may also include a computing system determining information associated with hazardous situations based on the information associated with the task logs. For example, the hazardous situations may comprise situations associated with failures of one or more components of the plurality of robotic devices. According to the method, information associated with a contextual situation of a first robotic device may be determined, and when the information associated with the contextual situation is consistent with information associated with the one or more hazardous situations, an alert indicating a potential failure of the first robotic device may be provided.
    Type: Application
    Filed: September 19, 2016
    Publication date: January 12, 2017
    Inventors: James J. Kuffner, JR., Ryan Hickman
  • Patent number: 9522471
    Abstract: Methods and systems for determining and presenting virtual safety cages are provided. An example method may involve receiving an instruction for a robotic device to perform a physical action in a physical environment occupied by the robotic device. The method may also involve, responsive to receiving the instruction, and based on one or more parameters of one or more physical components of the robotic device, determining one or more estimated trajectories along which the one or more physical components of the robotic device are estimated to move as the robotic device performs the physical action. The method may further involve, based on the one or more estimated trajectories, determining a virtual representation of a space that the robotic device is estimated to occupy in the physical environment while performing the physical action. The method may then involve providing, into the physical environment, an indication of a location of the space.
    Type: Grant
    Filed: January 25, 2016
    Date of Patent: December 20, 2016
    Assignee: Google Inc.
    Inventors: James J. Kuffner, Jr., Peter Elving Anderson-Sprecher
  • Publication number: 20160354923
    Abstract: Methods and systems for allocating tasks to robotic devices are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices and in a computing system configured to access a processor and memory, determining information associated with a health level for the plurality of robotic devices based on the information associated with the task logs. A health level for a given robotic device may be proportional to a current level of ability to perform a function, which may change over a lifespan of the given robotic device. Information associated with a plurality of tasks to be performed by one or more or the robotic devices may also be determined. The computing system may optimize an allocation of the plurality of tasks such that a high precision task may be allocated to a robotic device having a greater current health level than another robotic device.
    Type: Application
    Filed: August 23, 2016
    Publication date: December 8, 2016
    Inventors: James J. Kuffner, JR., Ryan Hickman
  • Patent number: 9486922
    Abstract: Methods and systems for determining a status of a component of a device are provided. An example method includes triggering an action of a component of a device, and responsively receiving information associated with the action of the component from a sensor. The method further includes a computing system having a processor and a memory comparing the information with calibration data and determining a status of the component based on the comparison. In some examples, the calibration data may include information derived from data received from a pool of one or more devices utilizing same or similar components as the component. The determined status may include information associated with a performance of the component with respect to performances of same or similar components of the pool of devices. In one example, the device may self-calibrate the component based on the status.
    Type: Grant
    Filed: March 30, 2016
    Date of Patent: November 8, 2016
    Assignee: X Development LLC
    Inventors: James J. Kuffner, Jr., Ryan Hickman
  • Patent number: 9471904
    Abstract: Methods and systems for proactively preventing hazardous or other situations in a robot-cloud interaction are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices. The task logs may include information associated with tasks performed by the plurality of robotic devices. The method may also include a computing system determining information associated with hazardous situations based on the information associated with the task logs. For example, the hazardous situations may comprise situations associated with failures of one or more components of the plurality of robotic devices. According to the method, information associated with a contextual situation of a first robotic device may be determined, and when the information associated with the contextual situation is consistent with information associated with the one or more hazardous situations, an alert indicating a potential failure of the first robotic device may be provided.
    Type: Grant
    Filed: April 8, 2015
    Date of Patent: October 18, 2016
    Assignee: Google Inc.
    Inventors: James J. Kuffner, Jr., Ryan Hickman
  • Patent number: 9446511
    Abstract: Methods and systems for allocating tasks to robotic devices are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices and in a computing system configured to access a processor and memory, determining information associated with a health level for the plurality of robotic devices based on the information associated with the task logs. A health level for a given robotic device may be proportional to a current level of ability to perform a function, which may change over a lifespan of the given robotic device. Information associated with a plurality of tasks to be performed by one or more or the robotic devices may also be determined. The computing system may optimize an allocation of the plurality of tasks such that a high precision task may be allocated to a robotic device having a greater current health level than another robotic device.
    Type: Grant
    Filed: March 11, 2015
    Date of Patent: September 20, 2016
    Assignee: Google Inc.
    Inventors: James J. Kuffner, Jr., Ryan Hickman
  • Patent number: 9417185
    Abstract: Methods and systems for controlling light arrays to determine properties of an object are described. An example method includes causing illumination of a surface of an object from multiple illumination positions using a programmable array of lights, and receiving images from an image-capture device while the surface of the object is illuminated. For example, the programmable array of lights may be modulated to cause illumination of a portion of the surface of the object from first and second illumination positions, and a first and second image of the surface of the object captured during illumination from the first and second illumination positions respectively may be received. Subsequently, a processor may determine material information for the object based on an amount of specular reflectivity for the surface of the object and reference to a database of known amounts of specular reflectivity for a plurality of materials.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: August 16, 2016
    Assignee: Google Inc.
    Inventors: James R. Bruce, Ryan Hickman, James J. Kuffner, Jr., Arshan Poursohi
  • Publication number: 20160207199
    Abstract: Methods and systems for determining and presenting virtual safety cages are provided. An example method may involve receiving an instruction for a robotic device to perform a physical action in a physical environment occupied by the robotic device. The method may also involve, responsive to receiving the instruction, and based on one or more parameters of one or more physical components of the robotic device, determining one or more estimated trajectories along which the one or more physical components of the robotic device are estimated to move as the robotic device performs the physical action. The method may further involve, based on the one or more estimated trajectories, determining a virtual representation of a space that the robotic device is estimated to occupy in the physical environment while performing the physical action. The method may then involve providing, into the physical environment, an indication of a location of the space.
    Type: Application
    Filed: January 25, 2016
    Publication date: July 21, 2016
    Inventors: James J. Kuffner, JR., Peter Elving Anderson-Sprecher
  • Publication number: 20160207200
    Abstract: Methods and systems for determining a status of a component of a device are provided. An example method includes triggering an action of a component of a device, and responsively receiving information associated with the action of the component from a sensor. The method further includes a computing system having a processor and a memory comparing the information with calibration data and determining a status of the component based on the comparison. In some examples, the calibration data may include information derived from data received from a pool of one or more devices utilizing same or similar components as the component. The determined status may include information associated with a performance of the component with respect to performances of same or similar components of the pool of devices. In one example, the device may self-calibrate the component based on the status.
    Type: Application
    Filed: March 30, 2016
    Publication date: July 21, 2016
    Inventors: James J. Kuffner, JR., Ryan Hickman
  • Patent number: 9327404
    Abstract: Methods and systems for determining a status of a component of a device are provided. An example method includes triggering an action of a component of a device, and responsively receiving information associated with the action of the component from a sensor. The method further includes a computing system having a processor and a memory comparing the information with calibration data and determining a status of the component based on the comparison. In some examples, the calibration data may include information derived from data received from a pool of one or more devices utilizing same or similar components as the component. The determined status may include information associated with a performance of the component with respect to performances of same or similar components of the pool of devices. In one example, the device may self-calibrate the component based on the status.
    Type: Grant
    Filed: December 1, 2014
    Date of Patent: May 3, 2016
    Assignee: Google Inc.
    Inventors: James J. Kuffner, Jr., Ryan Hickman
  • Patent number: 9283678
    Abstract: Methods and systems for determining and presenting virtual safety cages are provided. An example method may involve receiving an instruction for a robotic device to perform a physical action in a physical environment occupied by the robotic device. The method may also involve, responsive to receiving the instruction, and based on one or more parameters of one or more physical components of the robotic device, determining one or more estimated trajectories along which the one or more physical components of the robotic device are estimated to move as the robotic device performs the physical action. The method may further involve, based on the one or more estimated trajectories, determining a virtual representation of a space that the robotic device is estimated to occupy in the physical environment while performing the physical action. The method may then involve providing, into the physical environment, an indication of a location of the space.
    Type: Grant
    Filed: July 16, 2014
    Date of Patent: March 15, 2016
    Assignee: Google Inc.
    Inventors: James J. Kuffner, Jr., Peter Elving Anderson-Sprecher
  • Publication number: 20160042555
    Abstract: A method and system for video encoding assets for swivel/360-degree spinners is disclosed. Still images of a 3D object from different perspectives about the 3D object may be stacked and then video encoded to generate video frames of the object from the different perspectives. The video-encoded assets may be stored on a server or other network-connected device, and later retrieved by a connected client device for display processing by a swivel/360-degree spinner on the client device. The swivel/360-degree spinner may utilize native video processing capabilities of the client device and/or of a browser running on the client device to display video motion of the object moving through different angular orientations in response to movement of an interactive cursor.
    Type: Application
    Filed: October 12, 2015
    Publication date: February 11, 2016
    Inventors: Chaitanya Gharpure, James J. Kuffner, JR.