Patents by Inventor Ethan Rublee

Ethan Rublee 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: 20180093377
    Abstract: Example methods and systems for determining 3D scene geometry by projecting patterns of light onto a scene are provided. In an example method, a first projector may project a first random texture pattern having a first wavelength and a second projector may project a second random texture pattern having a second wavelength. A computing device may receive sensor data that is indicative of an environment as perceived from a first viewpoint of a first optical sensor and a second viewpoint of a second optical sensor. Based on the received sensor data, the computing device may determine corresponding features between sensor data associated with the first viewpoint and sensor data associated with the second viewpoint. And based on the determined corresponding features, the computing device may determine an output including a virtual representation of the environment that includes depth measurements indicative of distances to at least one object.
    Type: Application
    Filed: November 30, 2017
    Publication date: April 5, 2018
    Inventors: Gary Bradski, Kurt Konolige, Ethan Rublee
  • Patent number: 9927815
    Abstract: Example systems and methods may provide for a heterogeneous fleet of robotic devices for collaborative object processing in an environment, such as a warehouse. An example system includes a plurality of mobile robotic devices configured to transport one or more objects within an environment, a fixed robotic manipulator positioned within the environment that is configured to manipulate one or more objects within an area of reach of the fixed robotic manipulator, and a control system. The control system may be configured to cause one or more of the plurality of mobile robotic devices to deliver at least one object to at least one location within the area of reach of the fixed robotic manipulator, and to cause the fixed robotic manipulator to distribute the at least one object to a different one or more of the plurality of mobile robotic devices for delivery to one or more other locations within the environment.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: March 27, 2018
    Assignee: X Development LLC
    Inventors: Stefan Nusser, Troy Straszheim, John Zevenbergen, Ethan Rublee
  • Publication number: 20180084242
    Abstract: An example method involves receiving, from at least one camera located in an environment, a plurality of images captured during a first time interval. The method also involves selecting one or more of the plurality of images having a movable platform supporting one or more objects. The method further involves generating a three-dimensional model of the movable platform supporting the one or more objects. The method yet further involves updating the three-dimensional model based on one or more images captured during a second time interval. The method still further involves presenting the three-dimensional model via a display of a user interface, and providing an option to view a history of the three-dimensional model such that the three-dimensional model remains in a fixed position on the display during a viewing of the history.
    Type: Application
    Filed: September 22, 2016
    Publication date: March 22, 2018
    Inventors: Ethan Rublee, John Zevenbergen
  • Patent number: 9870002
    Abstract: An example system may include a motor, a position-controlled motor controller configured to drive the motor to a commanded position with a characteristic acceleration profile, and a control system. The control system may be configured to determine a target velocity for the motor. The control system may be additionally configured to determine a target position that, when commanded to the motor controller, is predicted to cause the motor controller to drive the motor with the target velocity at a target time point by driving the motor with the characteristic acceleration profile. Further, the control system may be configured to provide an instruction for execution by the position-controlled motor controller, the instruction may be configured to cause the motor controller to drive the motor to the target position.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: January 16, 2018
    Assignee: X Development LLC
    Inventors: Robert Holmberg, Jared Russell, Ethan Rublee
  • Patent number: 9862093
    Abstract: Example methods and systems for determining 3D scene geometry by projecting patterns of light onto a scene are provided. In an example method, a first projector may project a first random texture pattern having a first wavelength and a second projector may project a second random texture pattern having a second wavelength. A computing device may receive sensor data that is indicative of an environment as perceived from a first viewpoint of a first optical sensor and a second viewpoint of a second optical sensor. Based on the received sensor data, the computing device may determine corresponding features between sensor data associated with the first viewpoint and sensor data associated with the second viewpoint. And based on the determined corresponding features, the computing device may determine an output including a virtual representation of the environment that includes depth measurements indicative of distances to at least one object.
    Type: Grant
    Filed: December 7, 2015
    Date of Patent: January 9, 2018
    Assignee: X Development LLC
    Inventors: Gary Bradski, Kurt Konolige, Ethan Rublee
  • Publication number: 20170368684
    Abstract: An example method includes receiving, by a mobile robotic device, power from a battery of a first battery pack in order to operate within an environment. The method further includes establishing a first data channel between the mobile robotic device and the first battery pack. The method also includes using the first data channel to transfer sensor data acquired by the mobile robotic device during operation to a local data storage component of the first battery pack. The method additionally includes navigating, by the mobile robotic device, to a battery exchange station to transfer the first battery pack containing the battery and the local data storage component with the sensor data to the battery exchange station. The method further includes after transferring the first battery pack to the battery exchange station, receiving a second battery pack from the battery exchange station to continue operation within the environment.
    Type: Application
    Filed: August 24, 2017
    Publication date: December 28, 2017
    Inventors: John William Zevenbergen, Ethan Rublee
  • Patent number: 9802317
    Abstract: Methods and systems for remote perception assistance to facilitate robotic object manipulation are provided herein. From a model of objects in an environment of a robotic manipulator, a virtual boundary line separating two adjacent identified virtual objects may be identified. The robotic manipulator may be configured to perform a task involving a manipulation of at least one object in the environment represented by the identified virtual objects. Based on the identifying, a request for remote assistance with verifying the virtual boundary line may be sent to a remote assistor device. A response to the request, including a modification to the virtual boundary line, may then be received from the remote assistor device. The robotic manipulator may then be caused to perform the task based on the modification to the virtual boundary line.
    Type: Grant
    Filed: April 24, 2015
    Date of Patent: October 31, 2017
    Assignee: X Development LLC
    Inventors: Kevin William Watts, Ethan Rublee, Kyle Lutz, Hauke Malte Strasdat
  • Publication number: 20170308096
    Abstract: Example systems and methods may provide for a heterogeneous fleet of robotic devices for collaborative object processing in an environment, such as a warehouse. An example system includes a plurality of mobile robotic devices configured to transport one or more objects within an environment, a fixed robotic manipulator positioned within the environment that is configured to manipulate one or more objects within an area of reach of the fixed robotic manipulator, and a control system. The control system may be configured to cause one or more of the plurality of mobile robotic devices to deliver at least one object to at least one location within the area of reach of the fixed robotic manipulator, and to cause the fixed robotic manipulator to distribute the at least one object to a different one or more of the plurality of mobile robotic devices for delivery to one or more other locations within the environment.
    Type: Application
    Filed: July 13, 2017
    Publication date: October 26, 2017
    Inventors: Stefan Nusser, Troy Straszheim, John Zevenbergen, Ethan Rublee
  • Patent number: 9776326
    Abstract: An example method includes receiving, by a mobile robotic device, power from a battery of a first battery pack in order to operate within an environment. The method further includes establishing a first data channel between the mobile robotic device and the first battery pack. The method also includes using the first data channel to transfer sensor data acquired by the mobile robotic device during operation to a local data storage component of the first battery pack. The method additionally includes navigating, by the mobile robotic device, to a battery exchange station to transfer the first battery pack containing the battery and the local data storage component with the sensor data to the battery exchange station. The method further includes after transferring the first battery pack to the battery exchange station, receiving a second battery pack from the battery exchange station to continue operation within the environment.
    Type: Grant
    Filed: October 7, 2015
    Date of Patent: October 3, 2017
    Assignee: X Development LLC
    Inventors: John William Zevenbergen, Ethan Rublee
  • Publication number: 20170248966
    Abstract: A control system may perform functions including (i) storing data indicating an association between an optical identifier and a first robot, (ii) sending, to the first robot, data encoding the optical identifier for display by the first robot, and (iii) after sending the data encoding the optical identifier, sending, to a second robot, the data indicating the association between the optical identifier and the first robot. In some examples, the first robot may receive, from the control system, data encoding a second optical identifier of the first robot so that the first robot may display the second optical identifier instead of the first optical identifier. In some examples, a first robot may capture an image of an indication of a priority status of a second robot and perform an action based on comparing a first priority status of the first robot to the second priority status of the second robot.
    Type: Application
    Filed: May 15, 2017
    Publication date: August 31, 2017
    Inventors: Kyle Lutz, Ethan Rublee
  • Patent number: 9733646
    Abstract: Example systems and methods may provide for a heterogeneous fleet of robotic devices for collaborative object processing in an environment, such as a warehouse. An example system includes a plurality of mobile robotic devices configured to transport one or more objects within an environment, a fixed robotic manipulator positioned within the environment that is configured to manipulate one or more objects within an area of reach of the fixed robotic manipulator, and a control system. The control system may be configured to cause one or more of the plurality of mobile robotic devices to deliver at least one object to at least one location within the area of reach of the fixed robotic manipulator, and to cause the fixed robotic manipulator to distribute the at least one object to a different one or more of the plurality of mobile robotic devices for delivery to one or more other locations within the environment.
    Type: Grant
    Filed: November 10, 2014
    Date of Patent: August 15, 2017
    Assignee: X Development LLC
    Inventors: Stefan Nusser, Troy Straszheim, John Zevenbergen, Ethan Rublee
  • Patent number: 9707682
    Abstract: Methods and systems for recognizing machine-readable information on three-dimensional (3D) objects are described. A robotic manipulator may move at least one physical object through a designated area in space. As the at least one physical object is being moved through the designated area, one or more optical sensors may determine a location of a machine-readable code on the at least one physical object and, based on the determined location, scan the machine-readable code so as to determine information associated with the at least one physical object encoded in the machine-readable code. Based on the information associated with the at least one physical object, a computing device may then determine a respective location in a physical environment of the robotic manipulator at which to place the at least one physical object. The robotic manipulator may then be directed to place the at least one physical object at the respective location.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: July 18, 2017
    Assignee: X Development LLC
    Inventors: Kurt Konolige, Ethan Rublee, Gary Bradski
  • Patent number: 9682481
    Abstract: A control system may perform functions including (i) storing data indicating an association between an optical identifier and a first robot, (ii) sending, to the first robot, data encoding the optical identifier for display by the first robot, and (iii) after sending the data encoding the optical identifier, sending, to a second robot, the data indicating the association between the optical identifier and the first robot. In some examples, the first robot may receive, from the control system, data encoding a second optical identifier of the first robot so that the first robot may display the second optical identifier instead of the first optical identifier. In some examples, a first robot may capture an image of an indication of a priority status of a second robot and perform an action based on comparing a first priority status of the first robot to the second priority status of the second robot.
    Type: Grant
    Filed: October 26, 2015
    Date of Patent: June 20, 2017
    Assignee: X DEVELOPMENT LLC
    Inventors: Kyle Lutz, Ethan Rublee
  • Publication number: 20170144307
    Abstract: Systems and methods are provided for specifying safety rules for robotic devices. A computing device can determine information about any actors present within a predetermined area of an environment. The computing device can determine a safety classification for the predetermined area based on the information. The safety classification can include: a low safety classification if the information indicates zero actors are present within the predetermined area, a medium safety classification if the information indicates any actors are present within the predetermined area all are of a predetermined first type, and a high safety classification if the information indicates at least one actor present within the predetermined area is of a predetermined second type. After determining the safety classification for the predetermined area, the computing device can provide a safety rule for operating within the predetermined area to a robotic device operating in the environment.
    Type: Application
    Filed: November 24, 2015
    Publication date: May 25, 2017
    Inventors: Ethan Rublee, John Zevenbergen
  • Patent number: 9649767
    Abstract: Methods and systems for distributing remote assistance to facilitate robotic object manipulation are provided herein. Regions of a model of objects in an environment of a robotic manipulator may be determined, where each region corresponds to a different subset of objects with which the robotic manipulator is configured to perform a respective task. Certain tasks may be identified, and a priority queue of requests for remote assistance associated with the identified tasks may be determined based on expected times at which the robotic manipulator will perform the identified tasks. At least one remote assistor device may then be requested, according to the priority queue, to provide remote assistance with the identified tasks. The robotic manipulator may then be caused to perform the identified tasks based on responses to the requesting, received from the at least one remote assistor device, that indicate how to perform the identified tasks.
    Type: Grant
    Filed: October 5, 2016
    Date of Patent: May 16, 2017
    Assignee: X Development LLC
    Inventors: Stefan Nusser, Ethan Rublee, Troy Donald Straszheim, Kevin William Watts, John William Zevenbergen
  • Publication number: 20170113352
    Abstract: A control system may perform functions including (i) storing data indicating an association between an optical identifier and a first robot, (ii) sending, to the first robot, data encoding the optical identifier for display by the first robot, and (iii) after sending the data encoding the optical identifier, sending, to a second robot, the data indicating the association between the optical identifier and the first robot. In some examples, the first robot may receive, from the control system, data encoding a second optical identifier of the first robot so that the first robot may display the second optical identifier instead of the first optical identifier. In some examples, a first robot may capture an image of an indication of a priority status of a second robot and perform an action based on comparing a first priority status of the first robot to the second priority status of the second robot.
    Type: Application
    Filed: October 26, 2015
    Publication date: April 27, 2017
    Inventors: Kyle Lutz, Ethan Rublee
  • Patent number: 9630321
    Abstract: Example systems and methods allow for dynamic updating of a plan to move objects using a robotic device. One example method includes determining a virtual environment by one or more processors based on sensor data received from one or more sensors, the virtual environment representing a physical environment containing a plurality of physical objects, developing a plan, based on the virtual environment, to cause a robotic manipulator to move one or more of the physical objects in the physical environment, causing the robotic manipulator to perform a first action according to the plan, receiving updated sensor data from the one or more sensors after the robotic manipulator performs the first action, modifying the virtual environment based on the updated sensor data, determining one or more modifications to the plan based on the modified virtual environment, and causing the robotic manipulator to perform a second action according to the modified plan.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: April 25, 2017
    Assignee: Industrial Perception, Inc.
    Inventors: Gary Bradski, Kurt Konolige, Ethan Rublee, Troy Straszheim, Hauke Strasdat, Stefan Hinterstoisser
  • Patent number: 9630320
    Abstract: Methods and systems for detecting and reconstructing environments to facilitate robotic interaction with such environments are described. An example method may involve determining a three-dimensional (3D) virtual environment representative of a physical environment of the robotic manipulator including a plurality of 3D virtual objects corresponding to respective physical objects in the physical environment. The method may then involve determining two-dimensional (2D) images of the virtual environment including 2D depth maps. The method may then involve determining portions of the 2D images that correspond to a given one or more physical objects. The method may then involve determining, based on the portions and the 2D depth maps, 3D models corresponding to the portions. The method may then involve, based on the 3D models, selecting a physical object from the given one or more physical objects. The method may then involve providing an instruction to the robotic manipulator to move that object.
    Type: Grant
    Filed: July 7, 2015
    Date of Patent: April 25, 2017
    Assignee: Industrial Perception, Inc.
    Inventors: Kurt Konolige, Ethan Rublee, Stefan Hinterstoisser, Troy Straszheim, Gary Bradski, Hauke Malte Strasdat
  • Patent number: 9630316
    Abstract: Example systems and methods may be used to determine a trajectory for moving an object using a robotic device. One example method includes determining a plurality of possible trajectories for moving an object with an end effector of a robotic manipulator based on a plurality of possible object measurements. The method may further include causing the robotic manipulator to pick up the object with the end effector. After causing the robotic manipulator to pick up the object with the end effector, the method may also include receiving sensor data from one or more sensors indicative of one or more measurements of the object. Based on the received sensor data, the method may additionally include selecting a trajectory for moving the object from the plurality of possible trajectories. The method may further include causing the robotic manipulator to move the object through the selected trajectory.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: April 25, 2017
    Assignee: X Development LLC
    Inventors: Kurt Konolige, Ethan Rublee, Mrinal Kalakrishnan
  • Publication number: 20170100837
    Abstract: An example method includes receiving, by a mobile robotic device, power from a battery of a first battery pack in order to operate within an environment. The method further includes establishing a first data channel between the mobile robotic device and the first battery pack. The method also includes using the first data channel to transfer sensor data acquired by the mobile robotic device during operation to a local data storage component of the first battery pack. The method additionally includes navigating, by the mobile robotic device, to a battery exchange station to transfer the first battery pack containing the battery and the local data storage component with the sensor data to the battery exchange station. The method further includes after transferring the first battery pack to the battery exchange station, receiving a second battery pack from the battery exchange station to continue operation within the environment.
    Type: Application
    Filed: October 7, 2015
    Publication date: April 13, 2017
    Inventors: John William Zevenbergen, Ethan Rublee