Patents by Inventor Damon Kohler

Damon Kohler 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: 20200344293
    Abstract: The technology provides for a robotic control system implemented on a distributed system, which may include at least one processor on a cloud computing system and at least one processor on a robot. For instance, configuration data for a plurality of controllers of the robot may be received and the plurality of controllers may be deployed on the distributed system. For example, a first controller may be deployed on the cloud while a second controller may be deployed on the robot. The system may include a cloud database and a robot database. Both databases may store configuration data and current states of the first controller and the second controller, and may be synchronized. Workload for the first controller and the second controller may both be controlled based on the configuration data and the current states of the first controller and the second controller.
    Type: Application
    Filed: April 23, 2019
    Publication date: October 29, 2020
    Inventors: Steve Wolter, Damon Kohler, Julius Kammerl, David Schmidt, Thomas Larkworthy
  • Patent number: 10318659
    Abstract: Computer-implemented methods and systems for detecting loop closure in SLAM applications can include accessing one or more range measurement data scans that each provide a collection of consecutively observed spatial data obtained at a given location. A relative scan pose for each range measurement data scan can be determined. Frames from each of the one or more range measurement data scans then can be aligned to frames within one or more submaps based at least in part by the determined relative scan pose. An enhanced scan pose for each range measurement data scan and an enhanced submap pose for each submap can be periodically determined and used to identify one or more closed loops within the one or more submaps. An output indicative of the identified one or more closed loops can be provided, along with optionally generated floorplan maps and/or given location determinations.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: June 11, 2019
    Assignee: Google LLC
    Inventors: Wolfgang Hess, Damon Kohler, Holger H. Rapp
  • Patent number: 10279475
    Abstract: Methods and systems for selecting a velocity profile for controlling a robotic device are provided. An example method includes receiving via an interface a selection of a robotic device to control, and receiving via the interface a request to modify a velocity profile of the robotic device. The velocity profile may include information associated with changes in velocity of the robotic device over time. The method may further include receiving a selected velocity profile, receiving an input via the interface, and determining a velocity command based on the selected velocity profile and the input. In this manner, changes in velocity of the robotic device may be filtered according to a velocity profile selected via the interface.
    Type: Grant
    Filed: December 23, 2016
    Date of Patent: May 7, 2019
    Assignee: X Development LLC
    Inventors: Munjal Desai, Ryan Michael Hickman, Thor Lewis, Damon Kohler
  • Patent number: 10282856
    Abstract: Systems and methods for image registration using data collected by an electronic device, such as a mobile device, capable of simultaneous localization and mapping are provided. An electronic device, such as a mobile device, can be can be configured to collect data using a variety of sensors as the device is carried or transported through a space. The collected data can be processed and analyzed to generate a three-dimensional representation of the space and objects in the space in near real time as the device is carried through the space. The data can be used for a variety of purposes, including registering imagery for localization and image processing.
    Type: Grant
    Filed: September 25, 2017
    Date of Patent: May 7, 2019
    Assignee: GOOGLE LLC
    Inventors: Bryan Klingner, Damon Kohler
  • Publication number: 20180012371
    Abstract: Systems and methods for image registration using data collected by an electronic device, such as a mobile device, capable of simultaneous localization and mapping are provided. An electronic device, such as a mobile device, can be can be configured to collect data using a variety of sensors as the device is carried or transported through a space. The collected data can be processed and analyzed to generate a three-dimensional representation of the space and objects in the space in near real time as the device is carried through the space. The data can be used for a variety of purposes, including registering imagery for localization and image processing.
    Type: Application
    Filed: September 25, 2017
    Publication date: January 11, 2018
    Inventors: Bryan Klingner, Damon Kohler
  • Patent number: 9773313
    Abstract: Systems and methods for image registration using data collected by an electronic device, such as a mobile device, capable of simultaneous localization and mapping are provided. An electronic device, such as a mobile device, can be can be configured to collect data using a variety of sensors as the device is carried or transported through a space. The collected data can be processed and analyzed to generate a three-dimensional representation of the space and objects in the space in near real time as the device is carried through the space. The data can be used for a variety of purposes, including registering imagery for localization and image processing.
    Type: Grant
    Filed: December 29, 2014
    Date of Patent: September 26, 2017
    Assignee: Google Inc.
    Inventors: Bryan Klingner, Damon Kohler
  • Publication number: 20170106536
    Abstract: Methods and systems for selecting a velocity profile for controlling a robotic device are provided. An example method includes receiving via an interface a selection of a robotic device to control, and receiving via the interface a request to modify a velocity profile of the robotic device. The velocity profile may include information associated with changes in velocity of the robotic device over time. The method may further include receiving a selected velocity profile, receiving an input via the interface, and determining a velocity command based on the selected velocity profile and the input. In this manner, changes in velocity of the robotic device may be filtered according to a velocity profile selected via the interface.
    Type: Application
    Filed: December 23, 2016
    Publication date: April 20, 2017
    Inventors: Munjal Desai, Ryan Michael Hickman, Thor Lewis, Damon Kohler
  • Patent number: 9561589
    Abstract: Methods and systems for selecting a velocity profile for controlling a robotic device are provided. An example method includes receiving via an interface a selection of a robotic device to control, and receiving via the interface a request to modify a velocity profile of the robotic device. The velocity profile may include information associated with changes in velocity of the robotic device over time. The method may further include receiving a selected velocity profile, receiving an input via the interface, and determining a velocity command based on the selected velocity profile and the input. In this manner, changes in velocity of the robotic device may be filtered according to a velocity profile selected via the interface.
    Type: Grant
    Filed: January 22, 2015
    Date of Patent: February 7, 2017
    Assignee: X Development LLC
    Inventors: Munjal Desai, Ryan Michael Hickman, Thor Lewis, Damon Kohler
  • Patent number: 9344623
    Abstract: Methods and systems for providing functionality of an interface to control orientations of a camera on a device are provided. In one example, a method includes receiving an input on an interface indicating a command for an orientation of a camera on a robotic device, and the interface may be provided on a device remote from the robotic device. An indicator may be provided on the interface representing a location of the input, and the indicator may be representative of the command for the orientation of the camera on the robotic device. The method may also include determining that the location of the input on the interface is within a distance threshold to a pre-set location on the interface, and repositioning the indicator on the interface to be at the pre-set location.
    Type: Grant
    Filed: August 7, 2014
    Date of Patent: May 17, 2016
    Assignee: Google Inc.
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler
  • Patent number: 9195906
    Abstract: Systems and methods for extracting regions from occupancy grids are provided. One example method includes performing a plurality of assignment iterations. Each assignment iteration includes assigning each of a first plurality of cells to one of a plurality of centroids based on a cost formula such that a plurality of regions respectively associated with the plurality of centroids are formed. The region for each centroid comprises all of the cells assigned to such centroid. Each assignment iteration includes reassigning one or more of the first plurality of cells to one or more respective alternate regions. The one or more reassigned cells were included in one or more problem areas of one or more of the plurality of regions. Each assignment iteration includes relocating the plurality of centroids to be the respective means of the plurality of regions. One example system includes computing devices implementing instructions stored on non-transitory computer-readable media.
    Type: Grant
    Filed: March 10, 2014
    Date of Patent: November 24, 2015
    Assignee: Google Inc.
    Inventors: Ying Zhang, Damon Kohler, Holger H. Rapp, Christopher Edward Hoover
  • Publication number: 20150254521
    Abstract: Systems and methods for extracting regions from occupancy grids are provided. One example method includes performing a plurality of assignment iterations. Each assignment iteration includes assigning each of a first plurality of cells to one of a plurality of centroids based on a cost formula such that a plurality of regions respectively associated with the plurality of centroids are formed. The region for each centroid comprises all of the cells assigned to such centroid. Each assignment iteration includes reassigning one or more of the first plurality of cells to one or more respective alternate regions. The one or more reassigned cells were included in one or more problem areas of one or more of the plurality of regions. Each assignment iteration includes relocating the plurality of centroids to be the respective means of the plurality of regions. One example system includes computing devices implementing instructions stored on non-transitory computer-readable media.
    Type: Application
    Filed: March 10, 2014
    Publication date: September 10, 2015
    Applicant: Google Inc.
    Inventors: Ying Zhang, Damon Kohler, Holger H. Rapp, Christopher Edward Hoover
  • Patent number: 9086757
    Abstract: Methods and systems for providing functionality of a user interface to control directional orientations of a device are provided. An example method includes receiving an input on an interface indicating a command for a directional orientation of a robotic device, and providing an indicator on the interface representing a location of the input. The indicator may include a representation of the command for the directional orientation of the robotic device. The method may further include determining that the location of the input on the interface is within a distance threshold to a pre-set location on the interface, and repositioning the indicator on the interface to be at the pre-set location. In this manner, the indicator may snap to a location if the input is close to a pre-set location, for example.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: July 21, 2015
    Assignee: Google Inc.
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler
  • Publication number: 20150165626
    Abstract: Methods and systems for selecting a velocity profile for controlling a robotic device are provided. An example method includes receiving via an interface a selection of a robotic device to control, and receiving via the interface a request to modify a velocity profile of the robotic device. The velocity profile may include information associated with changes in velocity of the robotic device over time. The method may further include receiving a selected velocity profile, receiving an input via the interface, and determining a velocity command based on the selected velocity profile and the input. In this manner, changes in velocity of the robotic device may be filtered according to a velocity profile selected via the interface.
    Type: Application
    Filed: January 22, 2015
    Publication date: June 18, 2015
    Inventors: Munjal Desai, Ryan Michael Hickman, Thor Lewis, Damon Kohler
  • Patent number: 9030501
    Abstract: Methods and systems for modifying a display of a field of view of a robotic device to include zoomed-in and zoomed-out views are provided. In examples, the robotic device may include a camera to capture images in a field of view of a robotic device, and distance sensors which can provide outputs that may be used to determine a distance of the robotic device to an object in the field of view of the robotic device. A display of the field of view of the robotic device can be generated, and as the distance decreases, the display can be modified to include a zoomed-in view of the object. As the distance increases, the display can be modified to include a zoomed-out view of the object. An amount of zoom of the object may be inversely proportional to the distance.
    Type: Grant
    Filed: August 14, 2014
    Date of Patent: May 12, 2015
    Assignee: Google Inc.
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler
  • Patent number: 8977393
    Abstract: Methods and systems for robotic device charging are described. Within examples, a robotic device may be any device that has a computing ability and interacts with its surroundings with an actuation capability (e.g., electromechanical capabilities). In some examples, a robotic device may be configured to receive a second device, such as a mobile phone, that may be configured to function as necessary as an accessory or a “brain” of the robotic device. A power source apparatus may be any apparatus able to distribute charge in some form in any method to a device wanting charge, including robotic devices.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: March 10, 2015
    Assignee: Google Inc.
    Inventor: Damon Kohler
  • Patent number: 8972055
    Abstract: Methods and systems for selecting a velocity profile for controlling a robotic device are provided. An example method includes receiving via an interface a selection of a robotic device to control, and receiving via the interface a request to modify a velocity profile of the robotic device. The velocity profile may include information associated with changes in velocity of the robotic device over time. The method may further include receiving a selected velocity profile, receiving an input via the interface, and determining a velocity command based on the selected velocity profile and the input. In this manner, changes in velocity of the robotic device may be filtered according to a velocity profile selected via the interface.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: March 3, 2015
    Assignee: Google Inc.
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler
  • Patent number: 8947522
    Abstract: Systems and methods to adjust actions based on latency levels are described. The method may be executable to determine an action being performed by a robotic device. The method may also be executable to generate data based on execution of the action to provide to a server and receive information indicative of latency attributable to communication between the robotic device and a server. The method may also determine a priority at which to provide the generated data to the server and provide the generated data to the server in an order based on the priority. When the latency is above a threshold amount, the method may identify information of the generated data having a given priority above a threshold level and provide a reduced resolution version of the identified information to the server.
    Type: Grant
    Filed: May 4, 2012
    Date of Patent: February 3, 2015
    Assignee: Google Inc.
    Inventors: Ryan Hickman, Damon Kohler
  • Publication number: 20140362121
    Abstract: Methods and systems for modifying a display of a field of view of a robotic device to include zoomed-in and zoomed-out views are provided. In examples, the robotic device may include a camera to capture images in a field of view of a robotic device, and distance sensors which can provide outputs that may be used to determine a distance of the robotic device to an object in the field of view of the robotic device. A display of the field of view of the robotic device can be generated, and as the distance decreases, the display can be modified to include a zoomed-in view of the object. As the distance increases, the display can be modified to include a zoomed-out view of the object. An amount of zoom of the object may be inversely proportional to the distance.
    Type: Application
    Filed: August 14, 2014
    Publication date: December 11, 2014
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler
  • Publication number: 20140350727
    Abstract: Methods and systems for providing functionality of an interface to control orientations of a camera on a device are provided. In one example, a method includes receiving an input on an interface indicating a command for an orientation of a camera on a robotic device, and the interface may be provided on a device remote from the robotic device. An indicator may be provided on the interface representing a location of the input, and the indicator may be representative of the command for the orientation of the camera on the robotic device. The method may also include determining that the location of the input on the interface is within a distance threshold to a pre-set location on the interface, and repositioning the indicator on the interface to be at the pre-set location.
    Type: Application
    Filed: August 7, 2014
    Publication date: November 27, 2014
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler
  • Patent number: 8875041
    Abstract: Methods and systems for providing feedback on an interface for controlling a robotic device are provided. An example method includes receiving an input on an interface of a device within an area on a display of the interface. The input may indicate an orientation command and a velocity command for a robotic device. The method may further include providing a display of direction indicators on the interface representing a location of the input based on the location of the input. A location of the direction indicators may represent a direction associated with the orientation command. The method may also include providing a display of a geometric shape within the area on the display representing the location of the input, such that a size of the geometric shape corresponds to a magnitude of velocity associated with the velocity command. In this manner, visual feedback may be provided while receiving the input.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: October 28, 2014
    Assignee: Google Inc.
    Inventors: Munjal Desai, Ryan Hickman, Thor Lewis, Damon Kohler