Carpet drift estimation using differential sensors or visual measurements
First Claim
1. A robotic device comprising:
- a body;
an actuator system configured to move the body across a surface;
a first set of sensors configured to sense an actuation characteristic of the actuator system;
a second set of sensors configured to sense a motion characteristic of the body, the first set of sensors being a different type of sensor than the second set of sensors; and
a controller configured to;
estimate 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;
determine from the estimated drift if the robotic device is on a carpeted or a non-carpeted surface;
in response to determination that robotic device is on a carpeted surface generate a carpet drift vector 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; and
generate commands, using the carpet drift vector, configured to compensate for carpet drift;
send the generated commands to the actuator system to compensate for carpet drift.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
19 Claims
-
1. A robotic device comprising:
-
a body; an actuator system configured to move the body across a surface; a first set of sensors configured to sense an actuation characteristic of the actuator system; a second set of sensors configured to sense a motion characteristic of the body, the first set of sensors being a different type of sensor than the second set of sensors; and a controller configured to; estimate 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; determine from the estimated drift if the robotic device is on a carpeted or a non-carpeted surface; in response to determination that robotic device is on a carpeted surface generate a carpet drift vector 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; and generate commands, using the carpet drift vector, configured to compensate for carpet drift; send the generated commands to the actuator system to compensate for carpet drift. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A robotic device comprising:
-
a left rotatable drive wheel and a right rotatable drive wheel; a drive sub-system configured to rotate the left rotatable drive wheel and the right rotatable drive wheels differentially using a drive signal such that the robotic device moves over a carpet surface; a first set of sensors configured to generate odometry measurements of rotations of the left rotatable drive wheel and the right rotatable drive wheel; a second set of sensors configured to generate heading measurements of the robotic device; and a controller configured to generate the drive signal such that the robotic device performs a maneuver having a change in heading angle, wherein the controller is further configured to; estimate a drift based at least on estimates of change in heading during the maneuver and changes in the heading measurements during the maneuver, the estimates of changes in heading being based on the odometry measurements during the maneuver; determine from the estimated drift if the robotic device is on a carpeted or a non-carpeted surface; in response to a determination that the robotic device is on a carpeted surface periodically compare changes in estimated heading to changes in the heading measurements throughout a maneuver to generate multiple carpet drift estimates; determine from the multiple carpet drift estimates if the robotic device is on a multi-carpeted surface; generate commands, using one or more carpet drift vectors based at least on the multiple carpet drift estimates, configured to compensate for carpet drift; and send the generated commands to the drive sub-system to compensate for carpet drift and to maintain the robot on a planned path. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A robotic device comprising:
-
an actuator system further configured to move the robotic device across a carpet surface; a set of sensors configured to generate measurements of an actuation characteristic; and a controller communicatively coupled to the set of sensors, wherein the controller is configured to generate odometry estimates based on the measurements of the actuation characteristic, and wherein the controller is further configured to; estimate drift based at least on the odometry estimates and visual observations of motion, the visual observations of motion being based at least on two or more images of the images captured by a camera; determine from the estimated carpet drift if the robotic device is on a carpeted or a non-carpeted surface; in response to determination that robotic device is on a carpeted surface generate a carpet drift vector based at least on; the actuation characteristic measurements and the visual observations of motion based at least on two or more images of the images captured by the camera; and generate commands, using the carpet drift vector, configured to compensate for carpet drift; send the generated commands to the actuator system to compensate for carpet drift. - View Dependent Claims (14, 15, 16)
-
-
17. A mobile robotic device comprising:
-
a first set of sensors configured to generate odometry measurements; a second set of sensors configured to generate heading measurements of the mobile robotic device; a camera configured to capture images; and a controller communicatively coupled to the first and second sets of sensors and to the camera, wherein the controller is configured to selectively operate in a first mode and selectively operate in a second mode, wherein; when operating in the first mode the controller is further configured to; estimate a drift based at least on a heading estimated from the odometry measurements and on the heading measurements generated by the second set of sensors; determine from the first mode estimated drift if the robotic device is on a carpeted or a non-carpeted surface; in response to determination that robotic device is on a carpeted surface generate a carpet drift vector based at least on; the odometry measurements sensed by the first set of sensors and the heading measurements sensed by the second set of sensors; and when operating in the second mode, the controller is further configured to; generate visual observations of motion of the mobile robotic device based at least on two or more images of the images captured by the camera, and wherein the controller is further configured to estimate a drift based at least on the odometry measurements and the visual observations of motion; determine from the second mode estimated drift if the robotic device is on a carpeted or a non-carpeted surface; in response to determination that robotic device is on a carpeted surface generate a carpet drift vector based at least on; the odometry measurements and the visual observations of motion based at least on two or more images of the images captured by the camera. - View Dependent Claims (18, 19)
-
Specification