Navigation map updating method and apparatus and robot using the same
US-2021190513-A1 · Jun 24, 2021 · US
US11768504B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11768504-B2 |
| Application number | US-202117344892-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 10, 2021 |
| Priority date | Jun 10, 2020 |
| Publication date | Sep 26, 2023 |
| Grant date | Sep 26, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Some aspects include a method for operating a cleaning robot, including: capturing LIDAR data; generating a first iteration of a map of the environment in real time; capturing sensor data from different positions within the environment; capturing movement data indicative of movement of the cleaning robot; aligning and integrating newly captured LIDAR data with previously captured LIDAR data at overlapping points; generating additional iterations of the map based on the newly captured LIDAR data and at least some of the newly captured sensor data; localizing the cleaning robot; planning a path of the cleaning robot; and actuating the cleaning robot to drive along a trajectory that follows along the planned path by providing pulses to one or more electric motors of wheels of the cleaning robot.
Opening claim text (preview).
The invention claimed is: 1. A method for operating a cleaning robot, comprising: capturing, by a LIDAR of the cleaning robot, LIDAR data as the cleaning robot performs work within an environment of the cleaning robot, wherein the LIDAR data is indicative of distance from a perspective of the LIDAR to obstacles immediately surrounding the cleaning robot and within reach of a maximum range of the LIDAR; generating, by a processor of the cleaning robot, a first iteration of a map of the environment in real time at a first position of the cleaning robot based on the LIDAR data and at least some sensor data captured by sensors of the cleaning robot, wherein the map is a bird's-eye view of the environment; capturing, by at least some of the sensors of the cleaning robot, sensor data from different positions within the environment as the cleaning robot performs work in the environment, wherein: newly captured sensor data partly overlaps with previously captured sensor data; at least a portion of the newly captured sensor data comprises distances to obstacles that were not visible by the sensors from a previous position of the robot from which the previously captured sensor data was obtained; and the newly captured sensor data is integrated into a previous iteration of the map to generate a larger map of the environment; capturing, by at least one of an IMU sensor, a gyroscope, and a wheel encoder of the cleaning robot, movement data indicative of movement of the cleaning robot; aligning and integrating, with the processor, newly captured LIDAR data captured from consecutive positions of the cleaning robot with previously captured LIDAR data captured from previous positions of the cleaning robot at overlapping points between the newly captured LIDAR data and the previously captured LIDAR data; generating, by the processor, additional iterations of the map based on the newly captured LIDAR data and at least some of the newly captured sensor data captured as the cleaning robot traverses into new and undiscovered areas of the environment, wherein successive iterations of the map are larger in size due to the addition of newly discovered areas; identifying, by the processor, a room in the map based on at least a portion of any of the LIDAR data, the sensor data, and the movement data; determining, by the processor, all areas of the environment are discovered and included in the map based on at least all the newly captured LIDAR data overlapping with the previously captured LIDAR data; localizing, by the processor, the cleaning robot within the map of the environment in real time and simultaneously to generating the map based on the LIDAR data, at least some of the sensor data, and the movement data; planning, by the processor, a path of the cleaning robot; actuating, by the processor, the cleaning robot to drive along a trajectory that follows along the planned path by providing pulses to one or more electric motors of wheels of the cleaning robot; wherein: the processor is a processor of a single microcontroller; the processor of the robot executes a simultaneous localization and mapping task in concurrence with a path planning task, an obstacle avoidance task, a coverage tracker task, a control task, and a cleaning operation task by time-sharing computational resources of the single microcontroller; a scheduler assigns a time slice of the single microcontroller to each of the simultaneous localization and mapping task, the path planning task, the obstacle avoidance task, the coverage tracker task, the control task, and the cleaning operation task according to an importance value assigned to each task; the scheduler preempts lower priority tasks with higher priority tasks, preempts all tasks by an interrupt service request when invoked, and runs a routine associated with the interrupt service request; a coverage tracker executed by the processor deems an operational session complete and transitions the cleaning robot to a state that actuates the cleaning robot to find a charging station; the map is stored in a memory accessible to the processor during a subsequent operational session of the cleaning robot; the map is transmitted to an application of a smart phone device previously paired with the processor of the robot using a wireless card coupled with the single microcontroller via the internet or a local network; and the application is configured to display the map on a screen of the smart phone. 2. The method of claim 1 , wherein the processor initializes an operation of the cleaning robot at a next operational session by attempting to relocalize the robot in a previously stored map. 3. The method of claim 2 , wherein the processor of the robot creates a new map at a next operational session upon failing to relocalize within the robot within the previously stored map. 4. The method of claim 1 , wherein identified rooms in the map are distinguished by using a different color to represent each identified room in the map. 5. The method of claim 1 , wherein the simultaneous localization and mapping task is bound by one of a hard time constraint, a firm time constraint, or a soft time constraint of real time computing. 6. The method of claim 1 , wherein a finite state machine executed within the single microcontroller causes the cleaning robot to transition from one state to another state based on events and a current state of the cleaning robot. 7. The method of claim 1 , wherein the processor continuously monitors a difference between the planned path and the trajectory of the cleaning robot and the processor corrects a location of the cleaning robot based on the trajectory of the cleaning robot as opposed to the planned path. 8. The method of claim 1 , wherein the simultaneous localization and mapping task in concurrence with the coverage tracking task avoids, minimizes, or controls an amount of overlap in coverage by the cleaning robot. 9. The method of claim 1 , wherein the sensor data captured by the sensors and the LIDAR data captured by the LIDAR are obtained and processed on the single microcontroller executing the simultaneous localization and mapping tasks. 10. The method of claim 1 , wherein actuation and control of any of a main brush motor, a side brush motor, a fan motor, and a wheel motor are processed on the single microcontroller executing the simultaneous localization and mapping tasks. 11. The method of claim 1 , wherein: an actuator of the cleaning robot causes the cleaning robot to move along the planned path or a portion of the planned path; the processor determines a distance travelled by the cleaning robot using odometry data; and the actuator of the robot to causes the cleaning robot to stop moving after traveling a distance equal to a length of the planned path or the portion of the planned path or an updated planned path. 12. The method of claim 1 , wherein the cleaning robot cleans a first room prior to cleaning a next room, wherein rooms in the map are partially bounded by a gap. 13. The method of claim 1 , wherein: the processor identifies rooms in the map based on detected boundaries and sensor data indicating hallways and doorways; and the processor proposes a default segmentation of the map into areas based on the identified rooms, the doorways, and the hallways. 14. The method of claim 1 , wherein the scheduler preempts execution of a lower priority task when a higher priority task arrives. 15. The method of claim 1 , wherein the tasks communicate elements within a large data structure in queues by referencing their location in memory using a pointer.
Supervised learning · CPC title
Reinforcement learning · CPC title
Quantised networks; Sparse networks; Compressed networks · CPC title
Convolutional networks [CNN, ConvNet] · CPC title
Distributed learning, e.g. federated learning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.