SYSTEM AND METHOD OF OBSTACLE AND CLIFF DETECTION FOR A SEMI-AUTONOMOUS CLEANING DEVICE
A system and method of obstacle and cliff detection for an autonomous or a semi-autonomous cleaning device utilizing a calibration health monitor and occupancy grid filters. A calibration health monitor is used for monitoring and making minor adjustments to camera calibration over time. An occupancy grid filter is a 3D occupancy grid for probabilistically observing obstacles with 3d sensors that are susceptible to noise or other inaccuracies.
1 . A computer-implemented method for optimized 3D filtering for obstacle and cliff detection on a semi-autonomous cleaning device having a processor, a camera and one or more sensors, the method comprising the steps of:
acquiring a depth image with the camera and sensor;
converting the depth image to 3D coordinate points;
projecting the 3D coordinate points onto an occupancy grid;
increasing the count on the projected cells of the occupancy grid;
processing the threshold of the occupancy grid based on count;
processing the occupancy grid based with large enough contours;
combining the count occupancy grid and contour occupancy grid using a filtered occupancy grid;
converting the filtered occupancy grid as a point cloud; and
providing an output of the point cloud of an occupancy grid image.
2 . The method of claim 1 wherein the sensor is a 3D sensor.
3 . The method of claim 1 wherein the step of processing the threshold of the occupancy grid based on count is done by the occupancy counting grid module.
4 . The method of claim 1 wherein the step of processing the occupancy grid based with large enough contours is done by the occupancy grid filtering module.
5 . The method of claim 1 wherein the output of point cloud provided to a user or a remotely to central server.
6 . The method of claim 1 wherein the method for optimized 3D filtering is configured to minimize high CPU usage.
7 . A computer-implemented method using a calibration health monitor module for monitoring obstacle and cliff detection on a semi-autonomous cleaning device having a processor, a camera and one or more sensors, the method comprising the steps of:
receiving data at a static calibration loader module, the static calibration loader module configured to determine whether the values are true;
if true, sending the data to the static calibration validator module;
receiving depth data from a depth streaming module;
receiving depth data from the depth streaming module and data from the static calibration validator module at a dynamic calibration module, the dynamic calibration module configured to generate dynamic calibration values;
receiving at the calibration health monitor module, static calibration values from the static calibration loader module and dynamic calibration values from the dynamic calibration module; and
generating a calibration status at the calibration health monitor module.
8 . The method of claim 1 further comprising the step of providing an output of the calibration status to the semi-autonomous cleaning device.
9 . A system for obstacle and cliff detection for a semi-autonomous cleaning device, comprising:
a processor;
a camera;
one or more 3D sensors;
a calibration health monitor module; and
an occupancy grid filter configured to reduce CPU consumption;
wherein the calibration health monitor module is configured for monitoring and making minor adjustments to camera calibration over time;
wherein the occupancy grid filter is a 3D occupancy grid configured for probabilistically observing obstacles with the 3D sensors that are susceptible to noise or other inaccuracies.
10 . The system of claim 9 wherein the occupancy grid filter is optimized 3D filtering is configured to minimize high CPU usage.
11 . The system of claim 9 wherein the system is further configured for processing the threshold of the occupancy grid based on count is done by the occupancy counting grid module.
12 . The system of claim 9 wherein the system is further configured for processing the occupancy grid based with large enough contours is done by the occupancy grid filtering module.
13 . The system of claim 9 wherein the system is configured to provide an output of the point cloud of an occupancy grid image.
14 . The system of claim 13 wherein the output of point cloud is provided to a user or a remotely to central server.