Method and apparatus for combining data to construct a floor plan
AssigneeAI Incorporated
InventorsAli Ebrahimi Afrouzi, Chen Zhang, Sebastian Schweigert, Lukas Fath
Life of this patent
Estimating the term…
Abstract
A robot adapted to capture a plurality of data; perceive a model of the environment based on the plurality of data; determine areas within which work was performed and areas within which work is yet to be performed; store the model of the environment in a memory accessible to the processor; and transmit the model of the environment and a status of the robot to an application of a smartphone previously paired with the robot.
Claims30
A robot configured to perceive a model of an environment, comprising:
- a chassis;
- a set of wheels coupled to the chassis comprising at least a right wheel and a left wheel;
- a first encoder for counting a number of rotations of the right wheel;
- a second encoder for counting a number of rotations of the left wheel;
- a first actuator for actuating rotation of the right wheel paired with the first encoder;
- a second actuator for actuating rotation of the left wheel paired with the second encoder,
- wherein:
- the first actuator and the second actuator facilitate movement of the robot through the environment by actuating rotation of the right wheel and the left wheel, respectively;
- and
- the first actuator and the second actuator are brushed motors;
- at least a third actuator for actuating a tool for performing work, wherein:
- the at least third actuator is a brushless motor;
- and
- work is performed based on the perceived model of the environment;
- a plurality of sensors coupled with the robot;
- a processor configured to receive sensed data from the plurality of sensors and control actuators of the robot;
- and
- memory storing instructions that when executed by the processor effectuates operations comprising:
- capturing, with the plurality of sensors, a plurality of data while the robot moves within the environment, wherein:
- the plurality of data comprises at least a first data and a second data captured by a first sensor of a first sensor type and a second sensor of the first sensor type, respectively, and a third data captured by a third sensor of a second sensor type;
- the first sensor type is an imaging sensor and the second senor type is one of an inertial measurement unit, a gyroscope, and an optical tracking sensor;
- the second sensor is coupled with an active source of structured illumination positioned adjacent to the second sensor such that upon incidence of illumination light with an object in a path of the robot reflections of the structured illumination light fall within a field of view of the second sensor;
- a distortion of the structured illumination captured with of the second sensor indicates a distance to the object;
- the plurality of data is captured from different positions within the environment through which the robot moves, the plurality of data corresponding with respective positions from which the plurality of data was captured;
- and
- the plurality of data captured from the respective positions within the environment corresponds to respective fields of view from which the plurality of data was captured;
- perceiving, with the processor, the model of the environment based on at least a portion of the plurality of data, the model being a top view of the environment;
- determining, with the processor, areas of the environment within which work was performed and areas of the environment within which work is yet to be performed while the robot performs work in a current work session;
- storing, with the processor, the model of the environment in a memory accessible to the processor;
- and
- transmitting, with the processor, the model of the environment and a status of the robot to an application of a smartphone previously paired with the robot;
- wherein:
- the application is configured to:
- display the model of the environment in the current work session or a subsequent work session;
- historical information relating to a previous work session comprising at least areas within which debris was detected, areas cleaned, and a total cleaning time;
- and a robot status;
- divide the model of the environment into at least two subareas comprising at least one of a room and a hallway;
- and
- receive at least one user input designating a modification to a divider dividing at least a portion of the model of the environment;
- a deletion of a divider to merge at least two subareas within the model of the environment;
- an addition of a divider to divide an area within the model of the environment;
- a selection, an addition, or a modification of a label of a subarea within the model of the environment;
- a modification to the model of the environment;
- an addition, a modification, or a deletion of a subarea within which the robot is desired to perform work or undesired to enter;
- scheduling information corresponding to different subareas;
- a number of coverage repetitions of a subarea or the environment by the robot during a work session;
- and a power of an impeller fan of the robot to use in a subarea or the environment;
- the model of the environment stored in the memory of the robot or on the cloud is accessible in a subsequent work session for use in autonomously navigating the environment;
- the robot displays at least one status of the robot using a combination of LEDs disposed on the robot;
- and
- pairing the application with the robot comprises a one-time exchange of information between the processor of robot and the application while the smartphone is positioned within a proximity of the robot.
A method of perceiving a model of an environment, comprising:
- capturing, with a plurality of sensors coupled to a robot, a plurality of data while the robot moves within the environment, wherein the plurality of data is captured from different positions within the environment through which the robot moves;
- perceiving, with the processor of the robot, a model of the environment based on at least a portion of the plurality of data, the model being a top view of the environment;
- determining, with the processor of the robot, areas of the environment within which work was performed and areas of the environment within which work is yet to be performed while the robot concurrently performs work in a current work session;
- actuating, with the processor of the robot, the robot to maneuver away from an object encountered by the robot on a driving surface during a work session by adjusting a path of the robot;
- capturing, with an image sensor of the robot, an image of the object encountered by the robot;
- determining, with the processor of the robot, a processor on the cloud, or an application of a smartphone previously paired with the robot, an object type of a detected object, wherein the object type comprises at least one of cables, cords, wires, toys, jewelry, garments, socks, shoes, shoelaces, feces, liquids, keys, food items, remote controls, plastic bags, purses, backpacks, earphones, cell phones, tablets, laptops, chargers, animals, fridges, televisions, chairs, tables, light fixtures, lamps, fan fixtures, cutlery, dishware, dishwashers, microwaves, coffee makers, smoke alarms, plants, books, washing machines, dryers, watches, blood pressure monitors, blood glucose monitors, first aid items, and Wi-Fi routers;
- storing, with the processor of the robot, the model of the environment in a memory accessible to the processor of the robot;
- and
- transmitting, with the processor of the robot, the model of the environment to the application of the smartphone;
- wherein:
- the application is configured to:
- display the model of the environment;
- captured images of the environment;
- and
- the model of the environment autonomously divided into subareas, the subareas comprising at least a room and a hallway;
- and
- receive at least one user input designating a label associated with at least a portion of one captured image;
- an acceptance of the autonomous division of the model of the environment into subareas;
- a modification of a divider dividing at least a portion of the model of the environment;
- a deletion of a divider to merge at least two subareas within the model of the environment;
- an addition of a divider to divide an area within the model of the environment;
- a selection, an addition, or a modification of a label of a subarea within the model of the environment;
- a modification to the model of the environment;
- an addition, a modification, or a deletion of a subarea within which the robot is desired to perform work or is undesired to enter;
- scheduling information corresponding to different subareas or the environment;
- a number of coverage repetitions of a subarea or the environment by the robot during a work session;
- an intensity of cleaning within a subarea or the environment comprising at least a deep clean and a regular clean;
- and a preference associated with content of a captured image;
- the robot comprises:
- a first actuator for actuating rotation of a right wheel paired with a first encoder to count a number of rotations of the right wheel;
- a second actuator for actuating rotation of a left wheel paired with a second encoder to count a number of rotations of the left wheel;
- at least a third actuator for actuating a tool for performing work, the work being performed based on the perceived model of the environment;
- the plurality of sensors comprising at least a first sensor and a second sensor;
- and
- the processor configured to receive sensed data from the plurality of sensors and control the actuators;
- wherein:
- the first sensor is coupled with an active source of illumination positioned adjacent to the first sensor such that upon incidence of illumination light with an object in a path of the robot, reflections of the illumination light fall within a field of view of the first sensor;
- the first sensor is a camera and the second sensor comprises one of an inertial measurement unit, a gyroscope, and an optical tracking sensor;
- at least one of the first actuator, the second actuator, and the third actuator is a brushless motor;
- and
- the first actuator and the second actuator are used to move the robot through the environment.
A method for perceiving a model of an environment, comprising:
- capturing, with a plurality of sensors disposed on a robot, a plurality of data while the robot moves within the environment, wherein:
- the plurality of data comprises at least a first data and a second data captured by a first sensor of a first sensor type and a second sensor of the first sensor type, respectively, and a third data captured by a third sensor of a second sensor type;
- the first sensor type is an imaging sensor and the second senor type is one of an inertial measurement unit, a gyroscope, and an optical tracking sensor;
- the second sensor is coupled with an active source of structured illumination positioned adjacent to the second sensor such that upon incidence of illumination light with an object in a path of the robot reflections of the structured illumination light fall within a field of view of the second sensor;
- a distortion of the structured illumination captured with the second sensor indicates a distance to the object;
- and
- the plurality of data is captured from different positions within the environment through which the robot moves;
- perceiving, with the processor, the model of the environment based on at least a portion of the plurality of data, the model being a top view of the environment;
- determining, with the processor of the robot, areas of the environment within which work was performed and areas of the environment within which work is yet to be performed while the robot performs work in a current work session;
- storing, with the processor of the robot, the model of the environment in a memory accessible to the processor of the robot;
- and
- transmitting, with the processor of the robot, the model of the environment and a status of the robot to an application of a smartphone previously paired with the robot;
- wherein:
- the robot comprises:
- a chassis;
- a set of wheels coupled to the chassis comprising at least a right wheel and a left wheel;
- a first encoder for counting a number of rotations of the right wheel;
- a second encoder for counting a number of rotations of the left wheel;
- a first actuator for actuating rotation of the right wheel paired with the first encoder;
- a second actuator for actuating rotation of the left wheel paired with the second encoder;
- at least a third actuator for actuating a tool for performing work, wherein:
- the first actuator and the second actuator facilitate movement of the robot through the environment by actuating rotation of the right wheel and the left wheel;
- at least one of the first actuator, the second actuator, and the third actuator is a brushless motor;
- and
- work is performed based on the perceived model of the environment;
- the plurality of sensors coupled with the robot;
- and
- the processor configured to receive sensed data from the plurality of sensors and control the actuators of the robot;
- the application is configured to:
- display the model of the environment in the current work session or a subsequent work session;
- historical information relating to a previous work session comprising at least areas within which debris was detected, areas cleaned and a total cleaning time;
- a robot status;
- and the model of the environment autonomously divided into at least two subareas comprising at least one of a room and a hallway;
- and
- receive at least one user input designating a modification to a divider dividing at least a portion of the model of the environment;
- a deletion of a divider to merge at least two subareas within the model of the environment;
- an addition of a divider to divide an area within the environment;
- a selection, an addition, or a modification of a label of a subarea;
- a modification to the model of the environment;
- an addition, a modification, or a deletion of a subarea within which the robot is desired to perform work or undesired to enter;
- scheduling information corresponding to different subareas or the environment;
- a number of coverage repetitions of a subarea or the environment by the robot during a work session;
- and a power of an impeller fan of the robot to use in a subarea or the environment;
- the model of the environment stored in the memory of the robot or on the cloud is accessible in a subsequent work session for use in autonomously navigating the environment;
- the robot displays at least one status of the robot using a combination of LEDs disposed on the robot;
- and
- pairing the application with the robot comprises a one-time exchange of information between the processor of robot and the application while the smartphone is positioned within a proximity of the robot.
A robot, comprising:
- a chassis;
- a set of wheels coupled to the chassis comprising at least a right wheel and a left wheel, wherein:
- the right wheel is paired with a first encoder to count a number of rotations of the right wheel;
- and
- the left wheel is paired with a second encoder to count a number of rotations of the left wheel;
- a first actuator for actuating rotation of the right wheel and a second actuator for actuating rotation of the left wheel;
- at least a third actuator for actuating a tool for performing work, wherein:
- the first actuator and the second actuator are used to move the robot through the environment;
- at least one of the first actuator, the second actuator, and the third actuator is a brushless motor;
- and
- the work is performed based on the perceived model of the environment;
- a plurality of sensors comprising at least a first sensor and a second sensor, wherein:
- the first sensor comprises a camera and the second sensor comprises one of an inertial measurement unit, a gyroscope, and an optical tracking sensor;
- and
- the first sensor is coupled with an active source of illumination positioned adjacent to the first sensor such that upon incidence of illumination light with an object in a path of the robot, reflections of the illumination light fall within a field of view of the first sensor;
- a processor configured to receive sensed data from the plurality of sensors and control the actuators;
- and
- memory storing instructions that when executed by the processor effectuates operations comprising:
- capturing, with the plurality of sensors, a plurality of data while the robot moves within the environment;
- perceiving, with the processor of the robot, a model of the environment based on at least a portion of the plurality of data, the model being a top view of the environment;
- determining, with the processor of the robot, areas of the environment within which work was performed and areas of the environment within which work is yet to be performed while the robot concurrently performs work in a current work session;
- actuating, with the processor of the robot, the robot to maneuver away from an object encountered by the robot on a driving surface during a work session by adjusting a path of the robot;
- capturing, with an image sensor of the robot, an image of the object encountered by the robot;
- determining, with the processor of the robot, a processor on the cloud, or an application of a smartphone previously paired with the robot, an object type of a detected object, wherein the object type comprises at least one of cables, cords, wires, toys, jewelry, garments, socks, shoes, shoelaces, feces, liquids, keys, food items, remote controls, plastic bags, purses, backpacks, earphones, cell phones, tablets, laptops, chargers, animals, fridges, televisions, chairs, tables, light fixtures, lamps, fan fixtures, cutlery, dishware, dishwashers, microwaves, coffee makers, smoke alarms, plants, books, washing machines, dryers, watches, blood pressure monitors, blood glucose monitors, first aid items, and Wi-Fi routers;
- storing, with the processor of the robot, the model of the environment in a memory accessible to the processor of the robot during a next work session;
- and
- transmitting, with the processor of the robot, the model of the environment to the application of the smartphone, wherein the application is configured to:
- display the model of the environment;
- captured images of the environment;
- and
- the model of the environment autonomously divided into subareas, the subareas comprising at least a room and a hallway;
- and
- receive at least one user input designating a label associated with at least a portion of one captured image;
- a confirmation of the autonomous division of the model of the environment into subareas;
- a modification to a divider dividing at least a portion of the model of the environment;
- a deletion of a divider to merge at least two subareas within the model of the environment;
- an addition of a divider to divide an area within the model of the environment;
- a selection, an addition, or a modification of a label of a subarea;
- a modification to the model of the environment;
- an addition, a modification, or a deletion of a subarea within which the robot is desired to perform work or undesired to enter;
- scheduling information corresponding to different subareas or the environment;
- a number of coverage repetitions of a subarea or the environment by the robot during a work session;
- an intensity of cleaning within a subarea or the environment comprising at least a deep clean and a regular clean;
- and a preference associated with content of a captured image.
Dependencies are inferred from the claim text.