IP Library Granted Patent US 9,969,089
Granted Patent B2
US 9,969,089 · App. 15/221,036 · Granted May 15, 2018

Carpet drift estimation using differential sensors for 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 9,969,089
App. No.
15/221,036
Granted
May 15, 2018
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 (52)

1. A robotic device, comprising:

a plurality of sensors comprising imaging, gyroscopic, and/or odometry sensors;

an actuator system configured to move the robotic device across a surface; 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 perform a maneuver having a desired trajectory, wherein the desired trajectory comprises a substantially straight path;

receive data indicative of a motion characteristic from one or more of the sensors during movement in the desired trajectory, wherein the motion characteristic comprises a path angle of the robotic device;

determine whether the surface is carpeted based on an estimate of drift, wherein the estimate is based on data from the odometry and imaging sensors;

generate a control signal to control the actuator system to compensate for the drift based on the motion characteristic, wherein the drift comprises accumulated effects of carpet grain on the desired trajectory; and

send the control signal to the actuator system.

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

3. The robotic device of claim 2 , wherein the controller is configured to generate the drive signal to control the actuator system to move the robotic device in the desired trajectory to traverse between two walls.

4. The robotic device of claim 3 , wherein the controller is configured to estimate the drift based on the visual observations of motion indicative of the path angle of the robotic device based on the images.

5. The robotic device of claim 3 , wherein the drive signal is a first drive signal, wherein the maneuver is a first maneuver, and wherein the controller is further configured to generate a second drive signal to control the actuator system to perform a second maneuver responsive to encountering one of the two walls.

6. The robotic device of claim 5 , wherein the motion characteristic is a first motion characteristic and the control signal is a first control signal, and wherein the controller is further configured to:

receive data indicative of a second motion characteristic from the gyroscopic sensor responsive to sending the second drive signal to the actuator system, wherein the second motion characteristic comprises a rotation of the robotic device; and

generate a second control signal to control the actuator system to compensate based on the second motion characteristic.

7. The robotic device of claim 6 , wherein the controller is configured to estimate the drift based on the first and/or second motion characteristic.

8. The robotic device of claim 7 , wherein the controller is further configured to:

receive data indicative of an actuation characteristic from the odometry sensor responsive to the first and/or second control signals; and

estimate the drift based on comparison between the actuation characteristic and the first and/or second motion characteristics.

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

10. The robotic device of claim 2 , further comprising:

a body including the sensors, the controller, and the actuator system therein or thereon,

wherein the actuator system includes a rotatable wheel, the odometry sensor is configured to sense rotation of the wheel of the actuator system, and the imaging sensor and/or the gyroscopic sensor is configured to sense rotation of the body.

11. The robotic device of claim 10 , wherein the controller is further configured to detect a common feature in two or more of the images, and estimate a heading of the body and/or the visual observations of motion based at least on comparing a change in relative position of the common feature detected in the two or more of the images.

12. A method of operating a robotic device comprising a plurality of sensors including imaging, gyroscopic, and/or odometry 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 perform a maneuver having a desired trajectory, wherein the desired trajectory comprises a substantially straight path;

receiving, at the controller, data indicative of a motion characteristic from one or more of the sensors during movement in the desired trajectory, wherein the motion characteristic comprises a path angle of the robotic device;

determining whether a surface on which the robotic device is operating is carpeted based on an estimate of drift, wherein the estimate is based on data from the odometry and imaging sensors;

generating, by the controller, a control signal to control the actuator system to compensate for the drift based on the motion characteristic, wherein the drift comprises accumulated effects of carpet grain on the desired trajectory; and

sending the control signal to the actuator system.

13. The method of claim 12 , 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, visual observations of motion indicative of the path angle of the robotic device based on the images.

14. The method of claim 13 , wherein the drive signal controls the actuator system to move the robotic device in the desired trajectory to traverse between two walls.

15. The method of claim 14 , further comprising:

estimating, by the controller, the drift based on the visual observations of motion indicative of the path angle of the robotic device based on the images.

16. The method of claim 14 , wherein the drive signal is a first drive signal, wherein the maneuver is a first maneuver, and further comprising:

generating, by the controller, a second drive signal to control the actuator system to perform a second maneuver responsive to encountering one of the two walls.

17. The method of claim 16 , wherein the motion characteristic is a first motion characteristic and the control signal is a first control signal, and further comprising:

receiving, at the controller, data indicative of a second motion characteristic from the gyroscopic sensor responsive to sending the second drive signal to the actuator system, wherein the second motion characteristic comprises a rotation of the robotic device; and

generating, by the controller, a second control signal to control the actuator system to compensate based on the second motion characteristic.

18. The method of claim 17 , further comprising:

estimating, by the controller, the drift based on the first and/or second motion characteristic.

19. The method of claim 18 , further comprising:

receiving, at the controller, data indicative of an actuation characteristic from the odometry sensor responsive to the first and/or second control signals,

wherein the drift is based on comparison between the actuation characteristic and the first and/or second motion characteristics.

20. A computer program product for operating a robotic device comprising a plurality of sensors including imaging, gyroscopic, and/or odometry 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 perform a maneuver having a desired trajectory, wherein the desired trajectory comprises a substantially straight path;

receiving data indicative of a motion characteristic from one or more of the sensors during movement in the desired trajectory, wherein the motion characteristic comprises a path angle of the robotic device;

determining whether a surface on which the robotic device is operating is carpeted based on an estimate of drift, wherein the estimate is based on data from the odometry and imaging sensors;

generating a control signal to control the actuator system to compensate for the drift based on the motion characteristic, wherein the drift comprises accumulated effects of carpet grain on the desired trajectory; and

sending the control signal to the actuator system.

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 (4)
Continuation 14949002 · Nov 23, 2015
Continuation 13913258 · Jun 7, 2013
Provisional Application 61657399 · Jun 8, 2012
Related Publication 20160332304A1 · Nov 17, 2016