IP Library Granted Patent US 10,974,391
Granted Patent B2
US 10,974,391 · App. 15/949,653 · Granted Apr 13, 2021

Carpet drift estimation using differential sensors or visual measurements

Inventors: Dhiraj Goel (Pasadena, CA); Ethan Eade (Seattle, WA); Philip Fong (Los Angeles, CA); Mario E. Munich (Sierra Madre, CA)
Assignee: iRobot Corporation
B25J9/1697B25J5/007B25J9/1628B25J9/1664B25J11/0085G05D1/027G05D1/0253G05D1/0268G05D1/0272G05D2201/0203G05D2201/0215Y10S901/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,974,391
App. No.
15/949,653
Granted
Apr 13, 2021
Kind
B2
Abstract

Apparatus and methods for carpet drift estimation are disclosed. In certain implementations, a robotic device includes an actuator system to move the body across a surface. A first set of sensors can sense an actuation characteristic of the actuator system. For example, the first set of sensors can include odometry sensors for sensing wheel rotations of the actuator system. A second set of sensors can sense a motion characteristic of the body. The first set of sensors may be a different type of sensor than the second set of sensors. A controller can estimate carpet drift based at least on the actuation characteristic sensed by the first set of sensors and the motion characteristic sensed by the second set of sensors.

Claims (48)

1. A robotic device, comprising:

a plurality of sensors;

an actuator system; and

a controller coupled to the sensors and the actuator system, wherein the controller is configured to:

generate a drive signal to control the actuator system to maneuver the robotic device across a surface including a portion of a substantially straight path;

receive, from one or more of the sensors, data indicative of a motion characteristic responsive to the drive signal; and

estimate translational drift based at least on visual observations of translational motion during the maneuver of the robotic device along the portion of the substantially straight path, the visual observations determined from the data indicative of the motion characteristic.

2. The robotic device of claim 1 , wherein the sensors comprise a camera, wherein the data indicative of the motion characteristic represents images captured by the camera, and wherein the controller is configured to determine the visual observations of motion based on the images.

3. The robotic device of claim 2 , wherein the controller is configured to determine the visual observations of motion based on the images by epipolar matching.

4. The robotic device of claim 2 , wherein the controller is configured to determine the visual observations of motion based on the images by visual odometry.

5. The robotic device of claim 1 , wherein the controller is configured to generate a control signal and send the control signal to the actuator system to compensate for the drift.

6. The robotic device of claim 1 , wherein the controller is configured to determine whether the surface is carpeted based on the estimate of the translational drift.

7. The robotic device of claim 1 , wherein the drift comprises accumulated effects of carpet grain on a trajectory of the robotic device across the surface.

8. The robotic device of claim 2 , wherein the maneuver comprises a substantially linear maneuver.

9. The robotic device of claim 8 , wherein the drive signal is a first drive signal, the motion characteristic is a first motion characteristic, the sensors further comprise a gyroscopic sensor, and the controller is further configured to:

generate a second drive signal to control the actuator system to perform a rotational maneuver;

receive, from the gyroscopic sensor, data indicative of a second motion characteristic responsive to the second drive signal; and

estimate rotational drift based on the data indicative of the second motion characteristic.

10. The robotic device of claim 2 , wherein the sensors further comprise an odometry sensor, and wherein the controller is further configured to:

receive, from the odometry sensor, data indicative of an actuation characteristic responsive to the drive signal,

wherein the estimate of the translational drift is based on comparison between the actuatioi characteristic and the motion characteristic.

11. The robotic device of claim 10 , wherein the actuator system includes a wheel, the actuation characteristic comprises rotation of the wheel, and the motion characteristic comprises a path angle or rotation of the robotic device.

12. The robotic device of claim 2 , wherein the controller is further configured to detect a common feature in two or more of the images, and estimate a heading of the robotic device based at least on comparing a change in relative position of the common feature detected in the two or more of the images.

13. The robotic device of claim 1 , wherein the controller is further configured to determine surface characteristics for the surface based on the estimate of the translational drift.

14. A method of operating a robotic device comprising a plurality of sensors, an actuator system, and a controller coupled to the sensors and the actuator system, the method comprising:

generating, by the controller, a drive signal to control the actuator system to maneuver the robotic device across a surface includine a portion of a substantially straight path;

receiving, at the controller, data indicative of a motion characteristic from one or more of the sensors responsive to the drive signal; and

estimating, by the controller, translational drift based at least on visual observations of translational motion during the maneuver of the robotic device along the portion of the substantially straight path, the visual observations determined from the data indicative of the motion characteristic.

15. The method of claim 14 , wherein the sensors comprise a camera, wherein the data indicative of the motion characteristic represents images captured by the camera, and further comprising:

determining, by the controller, the visual observations of motion based on the images.

16. The method of claim 14 , further comprising:

generating, by the controller, a control signal to compensate for the drift; and

sending the control signal to the actuator system.

17. The method of claim 14 , further comprising:

determining, by the controller, whether the surface is carpeted based on the estimate of the translational drift.

18. The method of claim 14 , wherein the drift comprises accumulated effects of carpet grain on a trajectory of the robotic device across the surface.

19. The method of claim 15 , wherein the maneuver comprises a substantially linear maneuver.

20. The method of claim 19 , wherein the drive signal is a first drive signal, the motion characteristic is a first motion characteristic, the sensors further comprise a gyroscopic sensor, and further comprising:

generating, by the controller, a second drive nal to control the actuator systemto perform a rotationaler maneuver;

receiving, at the controller, data indicative of a second motion characteristic from the gyroscopic sensor responsive to the second drive signal; and

estimating rotational drift based on the data indicative of the second motion characteristic.

21. The method of claim 15 , wherein the sensors further comprise an odometry sensor, and further comprising:

receiving, at the controller, data indicative of an actuation characteristic from the odometry sensor responsive to the drive signal,

wherein estimating the drift is based on comparison between the actuation characteristic and the motion characteristic.

22. A computer program product for operating a robotic device comprising a plurality of sensors, an actuator system, and a controller coupled to the sensors and the actuator system, the computer program product comprising a non-transitory computer readable medium having computer instructions stored therein, that, when executed by a processor, causes the processor to perform operations comprising:

generating a drive signal to control the actuator system to maneuver the robotic device across a surface including a portion of a substantially straight path;

receiving, from one or more of the sensors, data indicative of a motion characteristic responsive to the drive signal; and

estimating translational drift based at least on visual observations of translational motion during the maneuver of the robotic device along the portion of the substantially straight path, the visual observations determined from the data indicative of the motion characteristic.

Assignments (5)
NOTICE OF ASSIGNMENT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Nov 25, 2025
From: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
To: SANTRUM HONG KONG CO., LIMITED, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 073707/0516 →
SECURITY INTEREST Recorded Aug 9, 2023
From: IROBOT CORPORATION
To: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
Reel/Frame 064532/0856 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2023
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: IROBOT CORPORATION
Reel/Frame 064430/0001 →
SECURITY INTEREST Recorded Nov 3, 2022
From: IROBOT CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061878/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2018
From: GOEL, DHIRAJ; EADE, ETHAN; FONG, PHILIP; MUNICH, MARIO E.
To: IROBOT CORPORATION
Reel/Frame 046254/0132 →
Continuity (5)
Continuation 15221036 · Jul 27, 2016
Continuation 14949002 · Nov 23, 2015
Continuation 13913258 · Jun 7, 2013
Provisional Application 61657399 · Jun 8, 2012
Related Publication 20180297208A1 · Oct 18, 2018