-
2019-10-22
15/442,992
2017-02-27
US 10,452,071 B1
2019-10-22
-
-
Yosef Kassa
2037-03-21
Smart Summary: An autonomous robot uses a camera to capture images of its surroundings. It has a preloaded list of known objects to help it recognize what it sees. The robot's image processor analyzes the captured images and compares them to the list to identify any obstacles. When an obstacle is detected, the robot can change its path to avoid it. This method helps prevent the robot from getting stuck or malfunctioning due to small objects in its way. π TL;DR
A method for identifying objects by an autonomous robot. Images of a work environment are captured by an image sensor positioned on the autonomous robot. An object dictionary containing image data regarding a set of objects is preloaded into the system. Captured images are transmitted to an image processor that processes the images to generate feature vector and identify objects within the images by comparison to objects in the object dictionary. Upon identifying an object in an image as an object from the object dictionary, the system executes a set of preprogrammed responses, which may include altering a movement path to avoid colliding with or driving over the object.
Get notified when new applications in this technology area are published.
G05D1/0214 » CPC main
Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot; Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
B25J9/1676 » CPC further
Programme-controlled manipulators; Programme controls characterised by safety, monitoring, diagnostic Avoiding collision or forbidden zones
B25J9/1697 » CPC further
Programme-controlled manipulators; Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion Vision controlled systems
G05D1/0246 » CPC further
Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot; Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
G05D1/02 IPC
Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot Control of position or course in two dimensions
B25J9/16 IPC
Programme-controlled manipulators Programme controls
This application claims the benefit of the provisional patent application Ser. No. 62/301,449 filed Feb. 29, 2016 by the present inventor.
The present invention relates to identifying objects and obstacles through machine or deep learning in autonomous robots.
Autonomous robots are being used with increasing frequency to carry out routine tasks, like vacuuming, mopping, cutting grass, polishing floors, etc. One problem that such robots often encounter is being obstructed by obstacles. Small obstacles like cords or wires, small clothing items, and toys might get stuck in a robot's wheels or other moving parts if it drives over them. Such obstructions may cause a robot to malfunction and/or be unable to complete work until an operator removes the obstruction. A need exists for a method to avoid such obstructions so that an autonomous robot is not encumbered by obstacles in a work area.
It is a goal of the present invention to provide a method for an autonomous robot to recognize and avoid driving over small obstacles. This goal is achieved by providing an image sensor and image processor on an autonomous robot and using deep learning to analyze images captured by the image sensor and identify obstacles in the images. An object dictionary is preloaded into the system so that the processor may compare objects in images with objects in the object dictionary for similar features and characteristics. Once objects are identified, the system can alter its navigation path to drive around the objects.
FIG. 1 illustrates the process of identifying obstacles by an autonomous robot embodying features of the present invention.
The present invention introduces a method for autonomous robots to identify objects or obstacles in their work environment and react to them according to preset instructions. In this invention, an autonomous robot includes an image sensor (camera) to provide an input image and an object identification and data processing unit, which includes a feature extraction, feature selection and object classifier unit configured to identify a class to which the object belongs. The identification of the object that is included in the image data input by the camera is based on provided data for identifying the object and the image training data set. Training of the classifier is accomplished through a deep learning method, such as supervised or semi-supervised learning.
The image sensor, which is positioned on the body of the autonomous robot, captures images of the environment around the autonomous robot at predetermined angles. In some embodiments, the image sensor may be positioned and programmed to capture images of an area below the autonomous robot. The images are transmitted to the image processing unit. The image processing unit performs feature analysis of the images searching for a set of predefined objects. In some embodiments, the predefined objects may include obstacles such as cables, cords, socks, and other small objects that should be avoided by an autonomous robot.
Central to the object identification system is a classification unit that is previously trained by a method of deep learning in order to recognize predefined objects under different conditions, such as different lighting conditions, camera poses, colors, etc.
To recognize an object with high accuracy, feature amounts that characterize the recognition target object need to be configured in advance. Therefore, to prepare the object classification component of the data processing unit, different images of the desired objects are introduced to the system in a training set. After processing the images layer by layer, different characteristics and features of the objects in the training image set including edge characteristic combinations, basic shape characteristic combinations and the color characteristic combinations are determined by the deep learning algorithm(s) and the classifier component classifies the images by using the those key feature combinations.
When an image is received via the image sensor, the characteristics can be quickly and accurately extracted layer by layer until the concept of the object is formed and the classifier can classify the object. When the object in the received image is correctly identified, the robot can execute corresponding instructions. In some embodiments, a robot may be programmed to avoid some or all of the predefined objects by adjusting its movement path upon recognition of one of the predefined objects.
Referring to FIG. 1, the object recognition process 100 is illustrated. In a first step 102, the system acquires image data from the sensor. In a second step 104, the image is trimmed down to the region of interest (ROI). In a third step 106, image processing begins: features are extracted for object classification. In a next step 108, the system checks whether processing is complete by verifying that all parts of the region of interest have been processed. If processing is not complete, the system returns to step 106. When processing is complete, the system proceeds to step 110 to determine whether any predefined objects have been found in the image. If no predefined objects were found in the image, the system proceeds to step 102 to begin the process anew with a next image. If one or more predefined objects were found in the image, the system proceeds to step 112 to execute preprogrammed instructions corresponding to the object or objects found. In some embodiments instructions may include altering the robot's movement path to avoid the object. In some embodiments, instructions may include adding the found object characteristics to a database as part of an unsupervised learning in order to train the system's dictionary and/or classifier capabilities to better recognize objects in the future. After completing the instructions, the system then proceeds to step 102 to begin the process again.
1. A method of identifying objects for autonomous robots comprising:
capturing images of a workspace by an image sensor disposed on an autonomous robot;
transmitting the captured images to a data processing unit disposed on the autonomous robot;
generating a feature vector from the images by the data processing unit;
using the data processing unit to compare objects in the images to objects in a preloaded object dictionary;
identifying a class to which objects belong using an object classification unit; and,
upon identifying an object from the object dictionary, executing a set of preprogrammed instructions corresponding to the object identified.
2. The method of claim 1 wherein the object dictionary contains any of: cables, cords, wires, toys, jewelry, undergarments, socks, shoes, shoelaces, feces, keys, food items, plastic bags, earphones, small animals, and tassels.
3. The method of claim 1 wherein preprogrammed instructions include altering a planned navigation path of the autonomous robot to avoid driving over an identified object.
4. The method of claim 1 wherein the preloaded object dictionary is based on a training set in which images of a plurality of examples of the objects in the object dictionary are processed by the data processing unit under varied lighting conditions and camera poses to extract and compile feature vector and characteristics data and associate that feature vector and characteristics data with a corresponding object.
5. The method of claim 4 in which feature vector and characteristics data includes any of: edge characteristic combinations, basic shape characteristic combinations, and color characteristic combinations.
6. The method of claim 1 in which the image sensor is positioned such that the images capture an area below a main body of the autonomous robot.
7. The method of claim 1 in which, upon identifying an object, feature vector and characteristics data of that object are added to the object dictionary.
8. A method for identifying objects by an autonomous robot comprising:
in a first step, capturing an image of a portion of a workspace by an image sensor disposed on an autonomous robot;
in a second step, transmitting the captured image to a data processing unit disposed on the autonomous robot;
in a third step, generating a feature vector from the image by the data processing unit;
in a fourth step, using the data processing unit to search for objects in the image by comparing the image data to objects in a preloaded object dictionary;
in a fifth step, if one or more objects are found in the image, identifying a class to which each of the objects belongs using an object classification unit; and,
in a sixth step, upon identifying an object from the object dictionary, executing a set of preprogrammed instructions corresponding to the object identified.
9. The method of claim 8 wherein the object dictionary contains any of: cables, cords, wires, toys, jewelry, undergarments, socks, shoes, shoelaces, feces, keys, food items, plastic bags, earphones, small animals, and tassels.
10. The method of claim 8 wherein preprogrammed instructions include altering a planned navigation path of the autonomous robot to avoid driving over an identified object.
11. The method of claim 8 wherein the preloaded object dictionary is based on a training set in which images of a plurality of examples of the objects in the object dictionary are processed by the data processing unit under varied lighting conditions and camera poses to extract and compile feature vector and characteristics data and associate that feature vector and characteristics data with a corresponding object.
12. The method of claim 11 in which feature vector and characteristics data includes any of: edge characteristic combinations, basic shape characteristic combinations, and color characteristic combinations.
13. The method of claim 8 in which the image sensor is positioned such that the images capture an area below a main body of the autonomous robot.
14. The method of claim 8 in which, upon identifying an object, feature vector and characteristics data of that object are added to the object dictionary.