US20160378117A1 - Bistatic object detection apparatus and methods - Google Patents
Bistatic object detection apparatus and methods Download PDFInfo
- Publication number
- US20160378117A1 US20160378117A1 US14/752,688 US201514752688A US2016378117A1 US 20160378117 A1 US20160378117 A1 US 20160378117A1 US 201514752688 A US201514752688 A US 201514752688A US 2016378117 A1 US2016378117 A1 US 2016378117A1
- Authority
- US
- United States
- Prior art keywords
- pattern
- implementations
- component
- robotic
- projected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 167
- 238000001514 detection method Methods 0.000 title claims description 60
- 230000008569 process Effects 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 49
- 230000001965 increasing effect Effects 0.000 claims description 11
- 238000000926 separation method Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 5
- 230000001678 irradiating effect Effects 0.000 claims description 2
- 230000033001 locomotion Effects 0.000 abstract description 25
- 230000008859 change Effects 0.000 abstract description 8
- 238000011524 similarity measure Methods 0.000 abstract 1
- 238000012549 training Methods 0.000 description 43
- 230000009471 action Effects 0.000 description 33
- 230000015654 memory Effects 0.000 description 29
- 238000004458 analytical method Methods 0.000 description 19
- 238000004140 cleaning Methods 0.000 description 18
- 230000003044 adaptive effect Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 238000013459 approach Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000006978 adaptation Effects 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 9
- 230000001953 sensory effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 210000004556 brain Anatomy 0.000 description 8
- 241000282412 Homo Species 0.000 description 7
- 238000003491 array Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000007935 neutral effect Effects 0.000 description 6
- 238000001454 recorded image Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 238000005201 scrubbing Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000037361 pathway Effects 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000005498 polishing Methods 0.000 description 3
- 235000021251 pulses Nutrition 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000010410 dusting Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 229910052704 radon Inorganic materials 0.000 description 2
- SYUHGPGVQRZVTB-UHFFFAOYSA-N radon atom Chemical compound [Rn] SYUHGPGVQRZVTB-UHFFFAOYSA-N 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 210000003994 retinal ganglion cell Anatomy 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000002834 transmittance Methods 0.000 description 2
- 238000004018 waxing Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 208000015976 Corneal dystrophy-perceptive deafness syndrome Diseases 0.000 description 1
- 241001112258 Moca Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000035943 smell Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 235000013619 trace mineral Nutrition 0.000 description 1
- 239000011573 trace mineral Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
- 230000002087 whitening effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/145—Illumination specially adapted for pattern recognition, e.g. using gratings
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/06—Safety devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q1/00—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
- B60Q1/26—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
- B60Q1/50—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating other intentions or conditions, e.g. request for waiting or overtaking
- B60Q1/54—Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating other intentions or conditions, e.g. request for waiting or overtaking for indicating speed outside of the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q9/00—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
- B60Q9/008—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling for anti-collision purposes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/14—Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B17/00—Measuring arrangements characterised by the use of infrasonic, sonic or ultrasonic vibrations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
- G01P3/36—Devices characterised by the use of optical means, e.g. using infrared, visible, or ultraviolet light
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/003—Bistatic lidar systems; Multistatic lidar systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/04—Systems determining the presence of a target
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/46—Indirect determination of position data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/51—Display arrangements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G06K9/00664—
-
- G06K9/2036—
-
- G06K9/209—
-
- G06K9/6212—
-
- G06K9/6215—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S15/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/88—Sonar systems specially adapted for specific applications
- G01S15/93—Sonar systems specially adapted for specific applications for anti-collision purposes
- G01S15/931—Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Definitions
- the present disclosure relates to, inter alia, adaptive control, training and operation of robotic devices.
- Robotic devices may be used in a variety of applications, such as manufacturing, medical, safety, military, exploration, maintenance, and/or other applications. Some applications (e.g., robotic cleaning of premises) may cause operation of robotic devices in presence of obstacles (e.g., stock items) and/or people (e.g., shoppers, store personnel).
- obstacles e.g., stock items
- people e.g., shoppers, store personnel
- an object detection sensor apparatus comprises: a transmitter component configured to project a pattern by irradiating a portion of an environment using a carrier wave; a detector component configured to detect a reflected pattern of the carrier wave; and a processing component.
- the processing component is configured to: evaluate a parameter of the detected reflected pattern; and based on the parameter breaching a threshold, produce an indication of an object being present within the portion of the environment.
- the carrier wave is selected from the group consisting of: a sound wave, a visible light wave, and an infrared wave.
- the object detection sensor apparatus is configured to be disposed on a robotic device configured to traverse along a surface; and the portion of the environment comprises a portion of the surface in front of the robotic device.
- the object detection sensor apparatus is disposed at a height above the surface; the transmitter component is characterized by a first angle of view; the detector component is characterized by a second angle of view; and the portion of the surface in front of the robotic device is spaced from the robotic device by a blanking distance.
- the detector component is spaced from the transmitter component by a separation distance; the indication of the object being present within the portion of the environment is configured to be produced by an object detection process, the object detection process being characterized by a lower bound of object resolvable size; and an increase in the separation distance is configured to cause a reduction of the lower bound of object resolvable size.
- the carrier wave comprises a visible light wave; the detector component comprises a camera configured to produce an image comprising a plurality of pixels; and for a given size of the image, an increase of a number of the plurality of pixels is configured to cause the reduction of the lower bound of object size.
- the reflected pattern detected by the detector component is characterized by a perspective distortion relative to the projected pattern; and dimensions of the projected pattern are configured in accordance with a counter-distortion process configured to compensate for the perspective distortion.
- the transmitter component comprises a visible light emitter and a mask component, the mask component configured to shape emitted light into the projected pattern characterized by a longitudinal dimension and a transverse dimension; and the transverse dimension is selected to match a width of the robotic device.
- the transmitter component comprises a digital light projector operably coupled to the processing component, the digital light projector being configured to produce the projected pattern characterized by a longitudinal dimension and a transverse dimension; and the transmitter component is configured to dynamically adjust the transverse dimension based on a signal from the processing component, the signal being indicative of a width of the robotic device. In one such implementation, the transmitter component is configured to dynamically adjust the longitudinal dimension based on another signal from the processing component, the another signal being indicative of a speed of the robotic device.
- a method for detecting an object by a computerized robotic apparatus configured to clean a surface.
- the method includes: configuring a reference pattern; projecting the reference pattern onto a surface in front of the robotic apparatus using a light emitter component; detecting a reflected pattern by a camera component, the camera component being configured to produce a digital image; analyzing the digital image to determine a parameter of the reflected pattern; and based on the parameter of the reflected pattern breaching a threshold, producing an indication of the object being present in front of the robotic apparatus.
- the projected reference pattern comprises an encoded portion, the encoded portion comprising a plurality of elements and a background portion; and the encoded portion is configured to produce the reflected pattern characterized by a first area of increased contrast compared to a second area associated with the background portion.
- the act of configuring the reference pattern comprises: selecting a pattern width in accordance with a width of the robotic apparatus; and selecting a pattern length in accordance with a speed of the robotic apparatus.
- the encoded portion comprises a plurality of lines arranged in a grid configuration; and the act of configuring the reference pattern comprises selecting one or more of a line width and the grid configuration.
- the plurality of elements of the grid configuration comprises one or more elements of varying width or height.
- the encoded portion comprises a plurality of rectangles arranged in a grid configuration; and the act of configuring the reference pattern comprises selecting one or more of: rectangle dimensions, a checkerboard-like pattern, and/or the grid configuration.
- the reference pattern comprises a checkerboard-like pattern comprising elements of alternating black and white elements.
- the projected reference pattern comprises an encoded portion and a target portion; the encoded portion comprises at least one element characterized by a first light characteristic configured to differ from a second light characteristic of the target portion; the parameter of the reflected pattern comprises a height above a surface comprising the at least one element; and the threshold is based on an expected reference width or an expected reference length of the projected reference pattern comprising the at least one element when the object is not present in front of the robotic apparatus.
- the reference width or length corresponds to another reflected pattern projected onto a surface in an absence of the object.
- the at least one element is further characterized by one or both of a light wavelength and a light intensity.
- FIG. 1 is block diagram illustrating operation of a robotic apparatus of the present disclosure on premises of a retail store in accordance with one implementation of the present disclosure.
- FIG. 2A is a graphical illustration depicting a robotic vehicle comprising bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations.
- FIG. 2B is a graphical illustration depicting a configuration of the bistatic sensor apparatus of the present disclosure disposed on a robotic device and configured for obstacle detection and information communication/projection, in accordance with one or more implementations.
- FIG. 2C is a graphical illustration depicting signal reflection from an object for use with the bistatic sensor apparatus of the disclosure disposed on a robotic device, in accordance with one or more implementations.
- FIG. 3A illustrates projected spatial pattern for use with the bistatic sensor apparatus of the present disclosure in accordance with one implementation.
- FIG. 3B illustrates a pattern received by the bistatic sensor apparatus and corresponding to the projected pattern of FIG. 3A in accordance with one implementation.
- FIG. 4A presents top view of a pattern projected by the bistatic sensor apparatus of the present disclosure disposed on a robotic device in accordance with one implementation.
- FIG. 4B is virtual world computer simulation illustrating a pattern projected by the bistatic sensor apparatus of the present disclosure in accordance with one implementation.
- FIG. 4C is a graphical illustration depicting configuration of the field of view of bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations.
- FIG. 4D is a graphical illustration depicting resolution of a receiving component of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations.
- FIG. 4E is a graphical illustration depicting configuration of the transmitter and receiver components of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations.
- FIG. 6 is a block diagram illustrating an adaptive control system comprising a predictor and a combiner components configured for operating, e.g., the robotic apparatus of FIG. 2A , according to one or more implementations.
- FIG. 7 is a functional block diagram illustrating a computerized system configured to implement the bistatic sensing methodology of the present disclosure, an adaptive predictor and/or a combiner components configured for operating, e.g., the robotic apparatus of FIG. 2A , according to one or more implementations.
- FIGS. 8A-8B illustrate a pattern projected by the bistatic sensor in presence of an object within the sensor field of view, in accordance with one implementation.
- FIG. 9A illustrates distortion of the projected pattern due to presence of a wall in front of the sensor, in accordance with one implementation.
- FIG. 9B virtual world simulation of a wall-induced pattern distortion as sensed by the sensor apparatus of the present disclosure.
- FIGS. 10A-11 illustrate use of a sub-component within a projected pattern for detecting presence of an object in accordance with one or more implementations.
- FIG. 12 is a graphical illustration depicting advertising into the environment information related to trajectory of a robot via a projected image, in accordance with one or more implementations.
- FIG. 13A is a logical flow diagram illustrating method of object detection using of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations.
- FIG. 13B is a logical flow diagram illustrating object detection method comprising use of a reference pattern information, in accordance with one or more implementations.
- FIG. 14 is a logical flow diagram illustrating method for trajectory information advertisement using the pattern projection methodology of the present disclosure, in accordance with one or more implementations.
- FIGS. 15A-15D illustrate exemplary patterns for use with the bistatic sensor apparatus of the present disclosure in accordance with some implementations.
- FIG. 16 is a graphical illustration depicting a pattern projected onto a flat surface by the sensor apparatus of the disclosure, in accordance with one implementation.
- bus is meant generally to denote all types of interconnection or communication architecture that is used to access the synaptic and neuron memory.
- the “bus” may be optical, wireless, infrared, and/or another type of communication medium.
- the exact topology of the bus could be for example, a standard “bus”, hierarchical bus, network-on-chip, address-event-representation (AER) connection, and/or other type of communication topology used for accessing, e.g., different memories in a pulse-based system.
- the terms “computer”, “computing device”, and “computerized device” may include one or more of personal computers (PCs) and/or minicomputers (e.g., desktop, laptop, and/or other PCs), mainframe computers, workstations, servers, personal digital assistants (PDAs), handheld computers, embedded computers, programmable logic devices, personal communicators, tablet computers, portable navigation aids, J2ME equipped devices, cellular telephones, smart phones, personal integrated communication and/or entertainment devices, and/or any other device capable of executing a set of instructions and processing an incoming data signal.
- PCs personal computers
- minicomputers e.g., desktop, laptop, and/or other PCs
- mainframe computers workstations
- servers personal digital assistants
- handheld computers handheld computers
- embedded computers embedded computers
- programmable logic devices personal communicators
- tablet computers tablet computers
- portable navigation aids J2ME equipped devices
- J2ME equipped devices J2ME equipped devices
- cellular telephones cellular telephones
- smart phones personal integrated communication and
- ⁇ may include any sequence of human and/or machine cognizable steps which perform a function.
- Such program may be rendered in a programming language and/or environment including one or more of C/C++, C#, Fortran, COBOL, MATLABTM, PASCAL, Python, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), object-oriented environments (e.g., Common Object Request Broker Architecture (CORBA)), JavaTM (e.g., J2ME, Java Beans), Binary Runtime Environment (e.g., BREW), and/or other programming languages and/or environments.
- CORBA Common Object Request Broker Architecture
- JavaTM e.g., J2ME, Java Beans
- Binary Runtime Environment e.g., BREW
- connection may include a causal link between any two or more entities (whether physical or logical/virtual), which may enable information exchange between the entities.
- memory may include an integrated circuit and/or other storage device adapted for storing digital data.
- memory may include one or more of ROM, PROM, EEPROM, DRAM, Mobile DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), memristor memory, PSRAM, and/or other types of memory.
- integrated circuit As used herein, the terms “integrated circuit”, “chip”, and “IC” are meant to refer to an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material.
- integrated circuits may include field programmable gate arrays (FPGAs), programmable logic devices (PLD), reconfigurable computer fabrics (RCFs), application-specific integrated circuits (ASICs), and/or other types of integrated circuits.
- FPGAs field programmable gate arrays
- PLD programmable logic devices
- RCFs reconfigurable computer fabrics
- ASICs application-specific integrated circuits
- microprocessor and “digital processor” are meant generally to include digital processing devices.
- digital processing devices may include one or more of digital signal processors (DSPs), reduced instruction set computers (RISC), complex instruction set computers (CISC) processors, microprocessors, gate arrays (e.g., field programmable gate arrays (FPGAs)), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, application-specific integrated circuits (ASICs), and/or other digital processing devices.
- DSPs digital signal processors
- RISC reduced instruction set computers
- CISC complex instruction set computers
- microprocessors e.g., gate arrays (e.g., field programmable gate arrays (FPGAs)), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, application-specific integrated circuits (ASICs), and/or other digital processing devices.
- FPGAs field programmable gate arrays
- RCFs reconfigurable computer fabrics
- a network interface refers to any signal, data, and/or software interface with a component, network, and/or process.
- a network interface may include one or more of FireWire (e.g., FW400, FW800, etc.), USB (e.g., USB2.0, USB3.0, USB3.1), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Coaxsys (e.g., TVnetTM), radio frequency tuner (e.g., in-band or out-of-band (OOB), cable modem, etc.), Wi-Fi (802.11), WiMAX (802.16), PAN (e.g., 802.15), cellular (e.g., 3G, LTE/LTE-A/TD-LTE, GSM, etc.), IrDA families, and/or other network interfaces.
- FireWire e.g., FW400, FW800, etc.
- USB e.g
- neurode As used herein, the terms “node”, “neuron”, and “neuronal node” are meant to refer, without limitation, to a network unit (e.g., a spiking neuron and a set of synapses configured to provide input signals to the neuron) having parameters that are subject to adaptation in accordance with a model.
- a network unit e.g., a spiking neuron and a set of synapses configured to provide input signals to the neuron having parameters that are subject to adaptation in accordance with a model.
- Wi-Fi includes one or more of IEEE-Std. 802.11, variants of IEEE-Std. 802.11, standards related to IEEE-Std. 802.11 (e.g., 802.11a/b/g/n/s/v), and/or other wireless standards.
- wireless means any wireless signal, data, communication, and/or other wireless interface.
- a wireless interface may include one or more of Wi-Fi, Bluetooth, 3G (3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS, LTE/LTE-A/TD-LTE, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, infrared (i.e., IrDA), and/or other wireless interfaces.
- Robotic devices may be used for performing maintenance of residential and/or commercial premises (e.g., retail stores, warehouses, meeting halls, stadiums) and/or other applications.
- an autonomous robotic cleaning apparatus may be employed for cleaning floors in a retail store. Environment in the store premises may be modified on a daily/weekly basis, e.g., during restocking operations and/or by placement of promotional items for a given period of time at a given location. Presence of humans (e.g., customers and/or store personnel) may alter the environment.
- the autonomous robotic device may comprise an object detection sensor apparatus configured to detect presence of objects in the environment.
- the sensor apparatus may comprise a transmitter component and a receiver component spaced from the transmitter component.
- the transmitter may transmit a two dimensional pattern comprised of a given pattern (e.g., grid, checkered, and/or similar others) via a carrier signal (e.g., light).
- the transmitted radiation may reflect from objects within the environment (e.g., floor, wall, pallet of goods, and/or other objects).
- the received pattern may be analyzed. Discrepancies between an expected pattern (e.g., corresponding to reflections of the carrier in absence of obstacles) and the received pattern may be used to determine presence of an object within the sensing volume of the bistatic sensor.
- the analysis of the received pattern may be used to determine deviations of one or more pattern elements relative to a reference (e.g., vertical deviations with respect to the floor).
- the received pattern may be compared to the transmitted pattern in order to determine one or more areas in the environment that have not been irradiated by the transmitted carrier. Such areas (also referred to as “shadows” and/or “holes”) may correspond to obstructions due to an object being present within the sensor apparatus transmitter and/or receiver field of view.
- the sensor apparatus of the disclosure may be used to communicate (advertise) information related to present action being executed by the robotic device.
- the robotic device moving forward in a straight line may utilize the transmitter component of the bistatic sensor apparatus in order to project a forward arrow in the floor in front of the robotic device.
- Such action advertisement may inform humans within the premises of robot actions and/or to enable the humans to avoid the robot.
- the information is transmitted based on one or more trigger events.
- the robot may conditionally determine when to enable or disable the transmitted carrier based on one or more environmental considerations, learned/training considerations, historic considerations, received instructions, etc.
- a robot that determines that other entities (such as persons within the vicinity) may be unaware of its presence or trajectory (an absence of direct visibility or line-of-sight to the robot), may trigger a precautionary warning signal to prevent collisions.
- a robot may enable information transmission when it is in unfamiliar environments so as to assist in training exercises, etc.
- the robot may infer the success/failure of communication based on a measurable metric and responsively adjust its behavior. For example, a robot may infer a reduction of a probability of collision based on an increasing distance between a person and the robot as compared to the rate of change of the distance immediately prior the action (thereby signifying that the person has changed course and is moving away from the robot's trajectory, etc.)
- the failure of communication may result in adjustment of the robot's own action; e.g., the robot may change a projected image (from a yellow to red, from static to dynamic images, etc.), add an audio signal (or change an audio volume), and/or change its own trajectory to avoid collision, and/or perform other actions.
- FIG. 1 illustrates operation of a robotic apparatus of the disclosure in an environment comprising objects and/or humans in accordance with one implementation.
- the layout 100 may correspond to a floor plan or a retail store, layout of a shopping mall, an exhibit hall and/or other premises.
- rectangles 112 , 112 , 116 , 118 may denote one or more of a shelf, a rack, a cabinet, a pallet, a display, a stack, a bin, a container, a box, a pail, and/or other implements for displaying product in a store.
- One or more shelves may be spaced by one or more aisles (e.g., aisle width denoted by arrow 110 in FIG. 1 ).
- the premises layout 100 may comprise one or more humans denoted by icons 122 , 134 and corresponding to e.g., store personnel, vendors, shoppers, and/or other categories.
- One or more autonomous robotic devices 102 , 106 , 108 may be operable within the premises 100 .
- the autonomously operating robotic device may be used for a variety of tasks, e.g., floor cleaning (e.g., vacuuming, dusting, scrubbing, polishing, waxing, and/or other cleaning operation), survey (e.g., product count), and/or other operations.
- Dimensions of the robotic device e.g., 102
- may be configured in accordance with operational environment of the device e.g., minimum aisle width, available cleaning time, and/or another task parameter).
- the autonomously operating robotic device may be used for assisting customers by e.g., identifying a customer in need of assistance and offering the customer assistance via a machine-human interface.
- the human-machine interface may be based on sound, light, display, gesture, and/or other interface component.
- Customer detection may comprise analysis of customer posture, movement, gestures, facial expression, speech, sounds, and/or other behavior characteristics provided via camera and/or audio sensor.
- One or more autonomously operating robotic devices may be configured to navigate the premises 100 along a trajectory.
- the trajectory may comprise a pre-configured trajectory (e.g., pre-programmed, pre-trained) and/or adaptively learned trajectory).
- the trajectory configuration may be effectuated using a methodology of combining programming and training e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/613,237, entitled “APPARATUS AND METHODS FOR PROGRAMMING AND TRAINING OF ROBOTIC DEVICES”, filed Feb. 3, 2015, incorporated supra.
- training of the trajectory may be accomplished using a plurality of training trials.
- An individual trial may comprise an instance of the trajectory navigation.
- Training may be effectuated using supervised learning methodology, e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/070,239 entitled “REDUCED DEGREE OF FREEDOM ROBOTIC CONTROLLER APPARATUS AND METHODS”, filed Nov. 1, 2013, U.S. patent application Ser. No. 14/070,269, entitled “APPARATUS AND METHODS FOR OPERATING ROBOTIC DEVICES USING SELECTIVE STATE SPACE TRAINING”, filed Nov. 1, 2013, and/or U.S. patent application Ser. No. 14/542,391 entitled “FEATURE DETECTION APPARATUS AND METHODS FOR TRAINING OF ROBOTIC NAVIGATION” filed Nov. 14, 2014, each of the foregoing being incorporated, supra.
- the premises environment may comprise a given number of objects (e.g., shelves, product displays, furniture, building elements (e.g., partitions, walls, doorways, doors, pillars e.g., 132 in FIG. 1 , and/or other elements) infrastructure components (point of sale) and/or other components.
- the robotic apparatus may be configured to explore the premises environment in order to, e.g., to produce a map of the premises (e.g., such as shown in FIG. 1 ).
- the map of the environment may be stored in the non-transitory memory of the robot.
- premises exploration may be effectuated using a training approach, a pre-configured approach, and/or a combination thereof.
- the robotic apparatus may cover/navigate traversable areas within the map along an optimal path, e.g. for vacuuming, scrubbing, dust-mopping, inspection, and/or other purposes.
- the robotic apparatus may further optimize the exploration phase for various conditions and/or parameters e.g., transit time, energy use, area coverage, and/or other parameters.
- a map of the environment may be used by the robotic apparatus in order to localize itself within the premises (e.g., determining globally and/or locally referenced coordinates).
- the robot may be able to perform certain additional functionalities including but not limited to: path following, area coverage, and/or other tasks.
- an existing premises layout e.g., an architectural floor plan
- the robotic apparatus may utilize an existing premises layout to navigate the premises.
- the robot may be configured to explore the premises area. Premises exploration may comprise determination of locations of objects within the premises and construction of the premises map using location of the robot and data provided by one or more sensors. Various sensor methodologies may be utilized, e.g., camera, LiDAR, acoustic ranging, radio frequency ranging, proximity beacons, and/or other methodologies.
- the robotic may incorporate software analysis tools such as grid-based simultaneous localization and mapping (SLAM) e.g., such as GMapping library (http://www.openslam.org/gmapping.html) which implements an existing highly efficient Rao-Blackwellized particle filter SLAM algorithm to learn grid maps from laser range data.
- SLAM grid-based simultaneous localization and mapping
- sensors such as red, green, blue, depth (RGBD) cameras (e.g. structured light-based, time-of-flight sensors (e.g., epc600 produced by ESPROS Photonics AG), and/or other sensors) may be utilized with the GMapping library.
- RGBD red, green, blue, depth
- Beacon based solutions may be utilized to enable a robotic device to localize itself relative to the beacons placed within the environment.
- beacons may enable location triangulation based on e.g., light waves, radio waves (e.g., ultra-wideband, Bluetooth) and/or other location estimation schemes.
- a combination of pre-existing map and sensor-based exploration may be utilized in order to obtain an up-to-date premises map.
- an imperfect store layout may be improved (more details added and/or errors corrected) with GMapping. Such approach may shorten the time needed for mapping.
- the map of the premises may be pre-loaded into non-transitory memory of the robotic apparatus.
- the layout map may be recalled and utilized for navigating the premises.
- the layout map may provide an adequate amount of detail for successful navigation of the premises.
- the navigation success may be characterized by one or more of an absence of collisions with objects within the premises, area coverage, energy use, traverse time, and/or other performance characteristics associated with a given task.
- the layout map may become out of date as additional objects (e.g., a product display 118 may added, displaced (e.g., product display 120 ) and/or some objects missing (removed).
- additional objects e.g., a product display 118 may added, displaced (e.g., product display 120 ) and/or some objects missing (removed).
- One or more humans 122 , 134 may be present on the premises.
- the robotic device may be configured for dynamic autonomous detection of objects within the elements.
- object may be used to describe a shelf, a doorway, a pillar, a wall, a human, a display, and/or another physical entity that may protrude above a surface (e.g., floor) being navigated by the robotic device and that may potentially interfere with the task being executed by the robotic device.
- a surface e.g., floor
- object detection by the robotic device may be effectuated using a bistatic sensor apparatus, e.g., such as described below with respect to FIGS. 2-15 .
- the bistatic sensor apparatus may illuminate a sensing volume proximate the robotic device using one or more wave carriers.
- the wave carrier may comprise visible light, audible waves, and/or other wave modality.
- the sensing volume is denoted by lines 124 and comprises illuminated volume in front of the robotic device 106 that may be moving along direction indicated by the solid arrow 126 .
- the sensing volume may be characterized by a horizontal extent (e.g., denoted by arc 138 , 128 in FIG. 1 ) and/or vertical extent (e.g. denoted by arc 218 in FIG. 2A ).
- the bistatic sensor apparatus may project a given pattern into sensing volume.
- the reflected pattern may be sampled by the bistatic sensor.
- An object being present within the sensing volume e.g., human 122 , product display 120 , 118
- An object being present within the sensing volume e.g., human 122 , product display 120 , 118
- Analysis of the sensed pattern may enable detection in real time of one or more objects being present in pathway of the robotic device thereby enabling autonomous operation of the robotic device in presence of potential obstructions.
- the sensor apparatus of the disclosure may be configured to communicate information related to an action being presently executed by the robotic device.
- the transmitter component of the sensor may be used to project a pattern comprising an arrow 138 indicating direction of motion and/or velocity of the robotic device 102 .
- a human 134 strolling through the aisle 110 may observe the arrow 138 and refrain from entering the aisle in front of the moving robotic device 102 .
- the pattern projected by the transmitter may comprise one or more of a static image, a pattern, and/or an animation configured to communicate information related to trajectory of the robot into, product information and/or advertisements, and/or and other store related information (e.g., safe exit route) into the environment.
- the projected pattern is a human-readable indicia; such human-readable indicia are not limited to readable text, but may incorporate symbols, color, signage, and/or other indicia and/or audio/visual elements which may be understood by a human observer.
- a human-readable indicia are not limited to readable text, but may incorporate symbols, color, signage, and/or other indicia and/or audio/visual elements which may be understood by a human observer.
- an arrow may have a length which is modulated in accordance with a speed of a moving robotic device.
- an arrow may flash at a frequency proportional to the speed of the moving robotic device.
- FIG. 2A illustrates operation of a robotic vehicle comprising a bistatic sensor apparatus, in accordance with one or more implementations.
- the robotic vehicle 200 may comprise one of the autonomous robotic devices 102 , 106 , 108 described above with respect to FIG. 1 .
- the autonomously operating robotic device 200 of FIG. 2A may be used for a variety of tasks, e.g., floor cleaning (e.g., vacuuming, dusting, scrubbing, polishing, waxing, and/or other cleaning operation), survey (e.g., product count), and/or other operations.
- the autonomously operating robotic device may be used for assisting customers by e.g., identifying a customer in need of assistance and offering the customer assistance via a machine-human interface.
- the robotic device may be selected sufficient to support the sensor components 202 , 204 , e.g., greater than 0.1 m in height in some implementations.
- the robotic device may be configured to traverse the environment at a speed selected from the range between 0.05 m/s and 10 m/s.
- the device 200 may comprise a robotic floor cleaning device with the following dimensions: width of 0.8 m, length of 1.6 m and height of 1.14 m.
- the floor cleaning device may be configured to move during operation at a speed between 0.01 m/s and 3 m/s.
- the robotic device with above dimensions may be configured to operate within a premises characterized by aisle dimensions (e.g., 110) between 1.2 m and 2.7 m.
- the device 200 may comprise a sensor apparatus configured to detect presence of objects in the environment and/or communicate information into the environment.
- the sensor apparatus may comprise a transmitter component 202 and a receiver component 204 .
- the transmitter and the receiver components may be disposed spaced from one from one another in a bistatic configuration.
- the transmitter may comprise a visible light source, an infrared source, an audible wavelength source, an ultrasonic wave source, a radio wave source, and/or other carrier type source.
- the source may comprise a light emitting diode, a laser beam source and a pattern shaping mask, and/or other implementations configured to project a two dimensional pattern of light.
- the transmitter may be characterized by a field of view denoted by arcs 218 in FIG. 2A and 128, 138 in FIG. 1 . Center axis of the transmitter 202 field of view 218 may be inclined with respect to the plane of operation of the apparatus 200 (e.g., the plane 212 in FIG. 2A ).
- the transmitter may transmit a two dimensional pattern comprised of a given pattern (e.g., grid, checkered, and/or other) via a carrier signal (e.g., light).
- FIG. 2B illustrates one configuration of the bistatic sensor apparatus of the present disclosure disposed on a robotic device and configured for obstacle detection and information communication/projection, in accordance with one or more implementations.
- the robotic device 250 may comprise a sensor apparatus comprising a light projector component 252 and a camera component 254 configured to detect presence of objects in front of the device 250 .
- the projector component may be configured to emit light of wavelength of within visible and/or infrared portion of the electromagnetic spectrum over field of view characterized by horizontal angular dimension selected between 5° and 40° and vertical angular dimension selected between 5° and 40°; in one such implementation, the vertical angular dimension is 20°.
- the projector component may be elevated above the floor surface by a distance 276 . In some implementations, the distance 276 may be selected between 0.1 ⁇ and 2 ⁇ height of the robotic device (e.g., 1 m in one implementation).
- the dimension 284 may be selected from the range between 0.2 m and 5 m, preferably 2 m in one implementation.
- the angle 282 may be configured and/or selected from the range between 10° and 80°, in some implementations.
- Dimension of the projected pattern may be configured based on height of the projector component (dimension 276 ), depression angle 282 , and/or vertical angle of view (e.g., 218 in FIG. 2A ).
- a projector disposed 1 m above the floor level e.g., distance 276
- the dimension 286 may correspond to dimension 338 , 334 in FIG. 3B .
- dimension of the projected pattern e.g., pattern 300 in FIG. 3A
- dimension of the projected pattern may be configured in accordance with dimensions of a robotic device.
- Dimension of the projected pattern may be configured to compensate for perspective distortion in accordance with a counter-distortion process.
- lateral dimension e.g., 336
- Pattern 300 in FIG. 3A illustrates one example of the perspective distortion compensation wherein farther (from the transmitter) dimension 306 may be selected smaller compared to the dimension that is closer to the transmitter ( 310 ).
- the projector component 252 may transmit a two dimensional pattern of light comprising a given pattern (e.g., grid, checkered board, and/or other patterns including such as described with respect to FIGS. 3A and 15A-15D ).
- a given pattern e.g., grid, checkered board, and/or other patterns including such as described with respect to FIGS. 3A and 15A-15D .
- a variety of projector wavelength may be utilized e.g., corresponding to red (e.g., wavelength between 620 nm and 750 nm), green (e.g., wavelength between 495 nm and 570 nm) light, and/or other wavelength range.
- Individual images may comprise, e.g., a two-dimensional matrix of red/green/blue (RGB) pixel values refreshed at a suitable frame rate (e.g., selected between 10 frames per second (fps) and 100 frames per second.
- a suitable frame rate e.g., selected between 10 frames per second (fps) and 100 frames per second.
- the frame rate may be selected based on processing, memory, and/or energy resources available to the object detection sensor apparatus. Greater available energy and/or computational resources may afford use of greater frame rate.
- the frame rate may be selected based on operational speed of the robotic device and a target safety margin, e.g., minimal gap (in time and/or travelled distance) between successive frames.
- a target safety margin e.g., minimal gap (in time and/or travelled distance) between successive frames.
- image color (chromaticity channels channels) and illumination (luminance channel) information of the reflected pattern may be used to detect objects.
- illumination/light intensity of the pattern being projected may be configured different than the pattern of the surface (e.g., the floor) the pattern is being projected upon.
- individual images may comprise a rectangular array of pixels with dimensions selected between 100 pixels and 10000 pixels (in a given dimension).
- Pixel array configuration may be attained using receiver resolution configuration methodology described with respect to FIGS. 4C-4E , below. It will be appreciated by those skilled in the arts that the above image parameters are merely exemplary, and many other image representations (e.g., bitmap, CMYK, HSV, HSL, grayscale, and/or other representations) and/or frame rates are equally useful with the present disclosure.
- Components 252 , 254 may be coupled to a processing component disposed in the device 250 (e.g., processing component 716 in FIG. 7 ) configured to operate, e.g., object detection process.
- the object detection process may be initialized (e.g., calibrated) in absence of objects other than the floor in the sensing field of view.
- the projector may irradiate portion of the floor surface 280 in front of the apparatus 250 along the emitted rays.
- Floor reflections at locations denoted 287 , 288 may propagate towards the robotic device along the returning rays.
- the reflected signal may be captured by the camera component 254 thereby producing received image of the reflected pattern.
- the processing component may be configured to analyze the received image in order to determine parameters of the reflected pattern.
- the received image analysis may comprise one or more of contrast enhancement, background removal, edge detection, thresholding (e.g., removing elements which exceed a maximum threshold and/or fall below a minimum threshold), spatial (e.g., pixel block) averaging, temporal averaging (e.g., multiple images) and/or other operations.
- the received image may be compared to the projected pattern using e.g. correlation-based analysis for the pixels where a pattern is expected (if the pattern does not cover the whole image); in such cases, a high correlation would indicate a match.
- a pattern comparison may be performed for the whole image and/or a portion of the image using, e.g., a sliding window mask of the image/pattern.
- the projected pattern may be characterized by a non-uniform structure of the projected pattern (e.g., the pattern 300 comprising the center portion 302 and the perimeter portion 304 or other portions (also referred to as subsets or sub-patterns).
- the received pattern may be analyzed in order to determine individual subset(s) of the pattern; thereby identifying the location of one or more subsets in the image.
- the location of the subset may be used to determine the distance of the robot and the object (in front of the robot) as described in FIGS. 10 and 11 .
- a subset of the pattern may be configured to include a given color (or combination of color patterns); in such cases, the color filtering of the image and/or thresholding of the filtered image may be used to localize a sub-pattern.
- thresholding operation may comprise a comparison of image elements (individual pixels and/or block of pixels) to one or more reference values (thresholds). Based on the comparison, values of the image elements may be assigned a given value (e.g., a given constant (e.g., 0), or a value based on one or more of the image elements (e.g., maximum element value, mean value, minimum value, and/or value obtained using other statistical operation on the elements being.
- the thresholding operation may be used to assign pixel values below a given threshold to a minimum (e.g., zero), assign pixel values above a given threshold to a maximum (e.g., 255); convert grayscale images into a multitoned (e.g., black and white, 4-tone and/or other number of intensity bins).
- portions of the image may be evaluated and assigned a probability associated with an object being present in a given image portion (e.g., using color saliency methodology described in U.S. Provisional Patent Application Ser. No. 62/053,004 entitled “SYSTEMS AND METHODS FOR TRACKING OBJECTS USING SALIENCY”, filed Sep. 19, 2014, and/or U.S.
- Object presence probability may be utilized in a thresholding operation (e.g., via a comparison to a minimum probability level) in order to identify one or more areas wherein an object may be present. It will be recognized by those skilled in the arts that various other implementations of thresholding operation may be utilized for analyzing images and/or object detection methodology of the disclosure.
- the sub-pattern may comprise a bar-code and/or QR-code; in such cases, existing algorithms may be used for pattern localization (e.g. such as described in “QR Code Recognition Based on Image Processing” to Gu, et al. as presented Mar. 26, 2011, incorporated by reference herein in its entirety).
- FIGS. 3A-3B illustrate exemplary projected and received patterns useful for determining presence of objects during navigation of a robotic device in accordance with one or more implementations.
- the projected pattern 300 shown in FIG. 3A may comprise a polygon of lateral dimensions 316 , 306 and a transverse dimension 308 .
- the lateral dimensions 306 , 316 may comprise horizontal dimensions.
- the dimension 306 may be configured different (e.g., smaller) than the dimension 316 as shown in FIG. 3A .
- the ratio of the dimension 306 and the dimension 316 of the projected pattern 300 may be selected such as to produce a reflected pattern of rectangular shape when the reflections are caused by a flat horizontal surface (e.g., the surface 280 of FIG. 2B ) in absence of obstacles.
- the lateral dimensions 306 , 316 of the pattern 300 may be configured based on one or more of dimensions, turn footprint of the robotic device, and/or aisle dimensions (e.g., between 0.5 m and 4 m in some implementations).
- the transverse dimension 308 may be configured based on expected travel speed of the robot (e.g., between 0.5 m/s to 2 m/s in some implementations).
- projected pattern may be produced using a single projection element (e.g., pixel, LED).
- the smallest physical representation of the projected pattern element may be configured in accordance with, e.g., smallest target that is to be detected.
- a projected pattern element of 5 mm in size may enable detection of a target with dimension of 10 mm in accordance with the commonly accepted Nyquist sampling criterion. It will be understood by those skilled in the arts that the above description merely serves to illustrate principles of the present disclosure and actual pattern parameters may be adjusted in accordance with a given application.
- the size of the projected pattern (e.g., 330 ) may be configured based on dimensions of a robot, e.g., between 0.1 ⁇ and 2 ⁇ the lateral dimension (e.g., 435 in FIG. 4A ) of the robot.
- the lateral dimension e.g., 435 in FIG. 4A
- patterns that are larger than 2 ⁇ of the robot size pattern are also feasible.
- the reflected pattern 330 of FIG. 3B may be characterized by the lateral dimension 336 that is configured approximately (e.g., within +/ ⁇ 10%) equal to the dimension 346 .
- the transverse (e.g., vertical) dimension 338 may be configured approximately (e.g., within +/ ⁇ 10%) equal to the dimensions 336 , 346 .
- dimension 336 may be approximately (e.g., within +/ ⁇ 10%) equal to the dimension 346 of the received pattern; and the dimension 334 may be approximately (e.g., within +/ ⁇ 10%) equal to the dimension 338 ; and where the ratio of dimension 336 to dimension 338 may be configured to be approximately equal to the ratio of width to length of the robotic apparatus (e.g., 102 in FIG. 1A ).
- the dimension 336 may be selected to be approximately (e.g., within +/ ⁇ 10%) equal to the width of the robot; and the dimension 338 may be selected to be approximately (e.g., within +/ ⁇ 10%) equal to the length of the robot.
- Values and/or ratios between one or both of the lateral dimensions 336 , 346 and/or the transverse dimension 338 may be analyzed in order to determine a presence of an object (e.g., a wall 210 in FIG. 2A ) in front of the sensor.
- an object e.g., a wall 210 in FIG. 2A
- a reflected pattern 330 may be obtained when the robot is placed on a flat horizontal surface free from obstructions.
- Parameters of the reflected pattern e.g., a ratio of dimension 336 to the dimension 346 , a ratio of dimension 336 and/or 346 to the dimension 338 , absolute values of the dimensions 336 , 338 , 346 , values and/or ratios of diagonal dimensions of the shape of the reflected pattern 330 , an area of the reflected pattern, and/or other parameters may be determined and stored in non-volatile medium (e.g., memory 714 in FIG. 7 ). Object detection process operable by the robotic device may utilize these parameters during navigation in order to detect objects.
- the perimeter portion 334 may comprise a plurality of elements 340 that may correspond to the elements 310 described with respect to FIG. 3A . Dimensions of individual elements within the portion 334 may be approximately equal (e.g. within 10%) to one another.
- training-based classification methods may be employed in order to determine the presence or absence of the expected pattern in the image.
- Such methods may include a hierarchical neural network trained to classify the pattern.
- One such training algorithm is described in “ImageNet Classification with Deep Convolutional Neural Networks” to Krizhevsky et al., incorporated by reference herein in its entirety.
- the grid element dimensions 312 , 314 may comprise a fraction of the respective pattern dimensions 308 , 316 , e.g., between 0.1% and 5% in some implementations.
- Various structures of the pattern portion 304 may be utilized, e.g., such as illustrated in FIGS. 15A-15D .
- FIG. 16 depicts a pattern 1600 projected onto a flat surface by the sensor apparatus 1614 of the disclosure.
- a transmitter of the sensor apparatus 1614 may be characterized by field of view angle 1606 of 20° in some implementations.
- the projected pattern 1600 as it appears on the flat surface to an observer may be characterized by transverse dimension 1608 (width) and longitudinal dimension 1612 (length).
- the dimensions 1608 , 1612 may be configured to be substantially equal to 0.83 m, and 1.59 m in one implementation.
- the pattern 1600 may comprise a center portion 1602 and a perimeter portion 1604 .
- the perimeter portion 1604 may comprise a pattern of elements 1620 .
- the minimum dimensions of the pattern elements 1630 may be configured to comprise 5 ⁇ 5 pixels.
- the projected pattern may be regarded as being projected onto a flat floor.
- the methodology of the disclosure may be used to determine deviations from a flat floor.
- the projected pattern may comprise a fully illuminated polygon (e.g., a solid fill trapezoid without the pattern).
- the reflected pattern e.g., 330 in FIG. 3B
- the reflected pattern may be thresholded (e.g., at 80% brightness).
- a best fit bounding box analysis may be applied to the thresholded image in order to determine as to whether the reflected pattern may correspond to the projected trapezoid. If one or more “holes” are detected within the trapezoid in the reflected pattern, such holes may be regarded as obstacles within the path of the robot or even an actual hole in the floor (which for the purposes of many tasks, is an obstacle).
- the projected pattern may comprise a pattern (e.g., projected trapezoid and a pattern along its edge as illustrated in FIG. 3A )
- a block matching algorithm may be used to analyze the reflected pattern. Specifically, given a small patch of the projected pattern (e.g., selected from any subset of the pixels up to the full resolution of the projected pattern), the block matching algorithm may find the best match in the recorded image. The horizontal displacement (or vertical displacement depending on physical placement of projector and camera) of the patch from where it originated in the pattern to where it was found in the recorded image is then measured; in some cases, if no match is found then an appropriate “failure to match” is also recorded. The process may be applied to a plurality of individual patches within the image. These individual patches or “displacement images” may be used to detect objects and their relative distance to the robotic device; larger displacements correspond to closer objects. Regions with patches not found in the recorded image may correspond to obstacles.
- the pattern 1500 may comprise two (or more) columns of rectangular elements 1502 , and/or squares (e.g., pattern 1510 ).
- the pattern 304 may comprise a plurality of elements of varying widths and/or height as illustrated by patterns 1530 , 1540 of FIG. 15B .
- Height of elements 1534 , 1536 , 1538 may be encoded using any applicable methodology such as, e.g., exponential, logarithmic, and/or other.
- Width and/or height of elements 1542 , 1544 , 1546 , 1550 may be encoded using any applicable methodology such as, e.g., exponential, logarithmic, and/or other encoding method.
- one or more elements may be encoded using color, brightness, reflectivity, polarization, and/or other parameter of the carrier signal.
- the pattern may comprise checkerboard-like patterns shown in FIGS. 15C-15D .
- the pattern 1520 of FIG. 15C may comprise a plurality of rectangular elements encoded using brightness (e.g., grayscale) comprising white elements 1522 and black elements 1524 .
- Patterns shown in FIG. 15D may comprise one or more column of black and white triangular elements (e.g., 1560 , 1564 , 1566 ), rectangular elements (e.g., 1568 , 1570 , 1572 ), a combination thereof and/or other element shape and/or encoding method.
- Dimensions of individual elements (e.g., 1502 , 1512 , 1534 , 1536 , etc.) within the pattern may be configured to vary in order to produce reflected elements of approximately (e.g., within 10%) equal dimensions.
- the pattern portion 302 may utilized for communication information (e.g., related to robot movements during trajectory navigation) into the environment, e.g., as shown in described below with respect to FIG. 12 .
- the pattern 300 may be projected using a light source (e.g., LED, light bulb, laser, and/or other source) and a light shaping mask.
- the light shaping mask may comprise an array comprising a plurality of elements. Individual elements within the array may be configured to, e.g., effectuate light intensity (brightness) modulation within the projected pattern.
- a portion of the elements within the array e.g., corresponding to edges of the pattern 304 in FIG. 3A and/or elements 1524 in FIG. 15C and/or 1532, 1554 in FIG. 15B , may be characterized by reduced transmittance (e.g., increased opaqueness).
- a portion of the elements within the array may be characterized by an increased transmittance (e.g., reduced opaqueness).
- the pattern 300 may be projected using a digital light projection (DLP) MEMS technology, e.g., such as digital micromirror device (DMD) array produced by Texas Instruments, e.g., device dlp3000 (described in datasheet http://www.ti.com/lit/symlink/dlp3000.pdf, the foregoing being incorporated herein by reference in its entirety.
- DMD arrays may enable dynamic configuration and/or control of projected patterns and may allow a given projection component (e.g., 202 in FIG. 2A ) to produce a plurality of patterns with parameters (e.g., size, encoding configuration, pattern shape, and/or other parameters) of an individual pattern tailored for a given task.
- dimensions of the pattern 300 may be dynamically adjusted based on one or more of aisle width and/or speed of the cleaning robot.
- Content of the center area 302 in FIG. 3A may be adjusted based on movement parameter (e.g., direction of motion) of the robot.
- Pattern encoding e.g., patterns described with respect to FIGS. 15A-15D
- ambient light conditions may be selected based on ambient light conditions in order to obtain greater contrast. It will be recognized by those skilled in the arts that various other pattern projection and/or pattern selection implementations may be employed with the methodology of the disclosure.
- the pattern portion 302 of FIG. 3A may comprise the grid pattern (e.g., pattern 304 extended to envelop the area 302 ).
- FIG. 4A illustrates a top view of a pattern projected by the bistatic sensor apparatus of the disclosure disposed on a robotic device in accordance with one implementation.
- the pattern 430 may be characterized by the lateral dimension 426 that is configured approximately (e.g., within +/ ⁇ 10%) equal to the lateral dimension 436 .
- the transverse (e.g., vertical) dimension 438 may be configured approximately (e.g., within +/ ⁇ 10%) equal to the dimensions 436 , 426 .
- Values and/or ratios between one or both of the lateral dimensions 436 , 426 and/or the transverse dimension 438 may be analyzed in order to determine a presence of an object (e.g., a wall 210 in FIG. 2A ) in front of the sensor.
- the 4A may correspond to a pattern obtained in absence of objects and/or obstructions in the field of view of the projector 402 .
- the pattern 430 may be sensed by the camera 404 disposed on the robotic device.
- the camera component 404 may be spaced from the projector component by a distance 408 .
- the distance 408 may be selected between 0 and 1 ⁇ width of the robotic device e.g., 0.83 m).
- Dimension 438 in FIG. 4A and/or 338 in FIG. 3B may be configured based on one or more parameters of a task being executed (e.g., robot speed of movement, object size, and/or other parameters).
- dimension 438 / 338 may be dynamically adjusted based on the current speed of the robot (e.g., increased with the increase in the speed).
- Curve 410 denotes angle of view of the transmitter component.
- an overlapping sensor placement co-located transmitter/receiver may be employed.
- FIG. 4B is virtual world computer simulation illustrating a pattern projected by the bistatic sensor apparatus of the disclosure in accordance with one implementation.
- the arrow 445 denotes center axis of the field of view of the camera component (e.g., 404 in FIG. 4A ).
- Lines denoted 448 illustrate projected rays.
- Curve 442 denotes angle of view of the camera component.
- the view angle (field of view) of the projector and/or camera may be adapted in accordance with a given task using, e.g., a lens assembly and/or other method.
- the pattern shown in FIG. 4B may comprise a checkered pattern comprised of brighter (e.g., 444 ) and darker (e.g., 446 ) elements.
- Dimensions of the elements 444 , 446 may be selected from the range between 1% and 50% of the overall dimensions of the pattern.
- the pixel resolution of the camera used to capture (and then process) the image 330 may comprise 1920 pixels in the horizontal dimension (e.g., 336 in FIG. 3B ), dimensions of the sub-pattern (e.g, 314 , 312 ) may be selected to cover at least 5 pixel width (the more the easier) in the captured image.
- the dimensions of the projected grid ( 312 , 314 in FIG. 3A ) may be configured to changing (e.g., decrease) along the length dimension ( 308 ) of the projected pattern 300 .
- the dimensions of the grid projected closer to the robot ( 316 ) may be configured greater than the dimensions of the pattern projected further away from the robot ( 306 ).
- the above references minimum grid pattern dimensions e.g., 5 pixels may be satisfied at farther extend of the projected pattern (e.g., towards the edge 306 ).
- the projector component 450 may be configured to project the pattern at a distance 458 ( 414 in FIG. 4A ) in front of the robotic device.
- the distance 458 may be selected between 0.2 m and 5 m, e.g., 2 m in the implementation illustrated in FIG. 4C . It will be recognized by those skilled in the arts that the above speed and/or distance values are exemplary and serve to illustrate principles of the present disclosure.
- the dimension 456 may be configured equal to the width of the robotic device (e.g., dimension 435 of the device 400 in FIG. 4A ).
- the projector component 450 may be characterized by a horizontal field of view (FOV) 459 ( 410 in FIG. 4A ) comprising a portion of the area between rays 452 , 454 .
- the FOV 459 may be configured in accordance with a target value of the pattern width (e.g., the dimension 456 ).
- a pattern width 456 may be equal to 0.8 m.
- the FOV of the component 450 may be selected equal approximately 20°.
- Projected pattern may be characterized by pattern resolution.
- the term resolution as applied to the pattern being projected may be used to describe a smallest feature in the pattern that may be resolved by a receiving component (e.g., the camera 404 in FIG. 4A ).
- the pattern resolution may correspond to width of dark lines (e.g., 427 in FIG. 4A ) that may be configured equal about 0.01 m.
- the projected pattern may comprise a pattern of elements (pattern 440 comprised of elements 444 , 446 in FIG. 4B ) the pattern resolution may correspond to dimensions of the elements 444 , 446 .
- the dimensions of elements 444 , 446 may be selected between 0.01 m and 0.1 m.
- the projected pattern may comprise a sub-pattern (e.g., such as described with respect to FIGS. 10A-11 )
- pattern resolution may correspond to dimensions of the sub pattern (e.g., 1012 , 1022 in FIGS. 10B-11 ) that may be selected between 0.01 m and 0.1 m.
- Receiving component of the bistatic sensor may be characterized by receiving resolution.
- the receiving component may comprise a camera (e.g., the camera component 404 in FIG. 4A ) the receiving resolution may comprise camera resolution.
- Camera component may comprise a sensing element (e.g., CCD, APS, and/or other technology) characterized by sensor dimensions (e.g., 22.2 ⁇ 14.8 mm, 23.5 ⁇ 15.6 mm, 36 mm ⁇ 24 mm, and/or other dimension values).
- the camera sensor may comprise an array of pixels and be characterized by pixel resolution (e.g., 320 pixels by 640 pixels, 3000 pixels by 4000 pixels, and/or other arrays).
- FIG. 4D illustrates a methodology for selecting resolution of the receiving component of the bistatic sensor apparatus of the disclosure, in accordance with one or more implementations.
- the sensor 460 may comprise a plurality of pixels, e.g., 464 . Size of individual pixel may be selected based on the pixel density (e.g., determined by dividing sensor linear dimension 462 by number of pixels in the array).
- the receiving component may comprise an off-the-shelf component and/or the sensor size may be fixed, effective pixel size may be selected by adjusting number of pixels in the image (e.g., image resolution).
- a pattern of width W e.g., 456 in FIG.
- target minimum size of pixel (ps) 464 in FIG. 4D may be determined as
- FIG. 4E illustration configuration of the transmitter and receiver components of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations.
- Sensor configuration methodology shown and described with respect to FIG. 4D may be applied to a variety of sensing technologies e.g., video camera, sound waves, radio waves, and/or other types of sensors.
- the bistatic sensor apparatus of FIG. 4D may comprise a projector component 402 and a receiver component 404 , e.g., such as described above with respect to FIG. 4A .
- the sensor apparatus of FIG. 4D may be configured to detect an object 470 .
- the object 470 may be characterized by a width dimension 474 and a depth dimension 472 .
- the surface of the object 470 that faces the projector component 402 may be illuminated by the projected pattern (e.g., 440 in FIG. 4B ).
- the projected pattern e.g., 440 in FIG. 4B
- One or more surfaces of the object 470 e.g., the surface denoted 480
- the bistatic sensor may be configured to detect an unilluminated portion (hole) within the received pattern (e.g., such as described with respect to FIGS. 8A-8B , below).
- the senor may be configured to detect features and/or objects with dimensions of 10 mm ⁇ 10 mm.
- sensor component separation 408 and/or receiver resolution may be configured as follows.
- Dimension 476 of unilluminated portion of the object 470 may be expressed as follows:
- the receiver resolution may be determined as follows
- receiver-projector separation 408 may be determined using the formulation of Eqn. 2.
- a camera with resolution of 3000 pixels per width may be used to reduce the dimension 408 from 0.2 m to about 0.07 m thereby reducing dimensions of the bistatic sensor, e.g., such as illustrated in FIG. 4E .
- FIG. 5 illustrates an adaptive control apparatus for operating, e.g., the robotic apparatus of FIG. 2A , according to one or more implementations.
- the apparatus 500 may be configured for operation with a robotic control system (e.g., the predictor component 640 described with respect to FIG. 6 ).
- the predictor apparatus 500 may comprise a feature detection (FD) component 500 comprised of one or more feature detectors.
- FD feature detection
- Individual feature detectors 557 , 552 , 554 , 556 may be configured to process sensory input 502 in order to determine presence of one or more features in the input 502 .
- the sensory input 502 may comprise data from one or more sensors (e.g., video, audio, IR, RF, ultrasonic, weather, and/or other sensors) characterizing environment of the robot, robotic platform feedback (e.g., motor torque, battery status, current draw, and/or other parameter).
- robotic platform feedback e.g., motor torque, battery status, current draw, and/or other parameter.
- the features that may be detected in the sensory input may comprise representations of objects, corner, edges, patches of texture, color, brightness, and/or other patterns that may be present in visual input 502 ; audio patterns (e.g., speech elements), and/or other persistent signal patterns that may be relevant to a given task.
- a given pattern and/or data item may comprise a relevant feature for one task (e.g., harvesting of oranges) and may be ignored by other tasks (e.g., navigation around trees).
- the input 502 may comprise the input 602 described with respect to FIG. 6 .
- Two or more of individual feature detectors 557 , 552 , 554 , 556 may be operable contemporaneous with one another to produce the feature output 558 .
- the output 558 may comprise 8 texture (based on e.g., Laws masks) features, 15 edge (based on e.g., Radon transforms) features, 15 edge/corner (based on e.g., Harris operators) features, and 10 motion features.
- the output 558 may comprise output of a given feature detector (e.g., one of FD 557 , 552 , 554 , 556 ).
- the feature detectors 557 , 552 , 554 , 556 may be configured to implement a filter operation (e.g., orange mask to detect orange objects); a Radon transform edge detection; corner detection (e.g., using Harris operator), texture detection (e.g., using Laws masks); patterns of motion (e.g., using optical flow); and/or other methodologies.
- a filter operation e.g., orange mask to detect orange objects
- corner detection e.g., using Harris operator
- texture detection e.g., using Laws masks
- patterns of motion e.g., using optical flow
- Output 558 of the feature detection component 550 may be provided to learning component 560 .
- the output of the feature detection process may comprise information related to one or more of edges being present in an image (e.g., orientation and/or location); structure of brightness on scales that are smaller than the image (e.g., texture determined based on brightness variability on scale between 1 and 10 pixels for an image comprised of 800 ⁇ 600 pixels).
- feature representation may comprise motion information associated with pixels in the image, patches of color, shape type (e.g., rectangle, triangle, car, human, and/or shapes of other objects), shape orientation, size, and/or other characteristics.
- the input 502 may comprise frames provided by two or more cameras (e.g., such as described in co-pending and co-owned U.S. patent application Ser. No. 14/326,374 entitled “APPARATUS AND METHODS FOR DISTANCE ESTIMATION USING STEREO IMAGERY”, filed Jul. 8, 2014 and/or co-owned and co-pending Ser. No.
- the feature output 558 may comprise depth information (e.g., determined based on analysis of the binocular disparity) related to one or more objects that may be present in the visual scene.
- the output 558 may comprise information related to occurrence and/or characteristics of one or more patterns (e.g., landing pattern for an aircraft, parking stall marking for an autonomous vehicle, audio signature, and/or other patterns) being present in the input 502 .
- the input 502 may comprise audio and/or other bands of mechanical waves of pressure and displacement
- the output 558 may comprise one or more wave characteristic such as pitch, tone, amplitude, time envelope, duration, spectral energy distribution, spectral envelope, information about rate of change in the individual spectrum bands (e.g., cepstrum), pulse and/or tone code, speech pattern, and/or other characteristics.
- the output 558 may comprise indication of presence of one or more smells, chemical compounds, and/or other olfactory indications.
- the learning component 560 may be configured to minimize a discrepancy between predicted output 564 and output 578 of the combiner (e.g., the output 666 of the combiner 664 in FIG. 6 ).
- the learning component may be configured to operate a supervised learning process comprising one or more of a neural network perceptron, support vector machine (SVM), a Gaussian process, a random forest, a k-nearest neighbor (kNN) mapper (e.g., a classifier/regression) process comprising, e.g., a look up table, and/or other approach.
- SVM support vector machine
- kNN k-nearest neighbor mapper
- the component 560 learning process may comprise a full connection matrix described in, e.g., co-owned and co-pending U.S. patent application Ser. No. 14/265,113 entitled “TRAINABLE CONVOLUTIONAL NETWORK APPARATUS AND METHODS FOR OPERATING A ROBOTIC VEHICLE”, filed Apr. 29, 2014, incorporated herein by reference in its entirety.
- the full connection matrix may comprised a plurality of connections between the plurality of features in the input 558 and one or more neurons of the output determination component (the output layer) 564 described below.
- a random KNN approach e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/588,168 entitled “APPARATUS AND METHODS FOR TRAINING OF ROBOTS”, filed Dec. 31, 2014, the foregoing being incorporated herein by reference in its entirety, may be used.
- memory buffer size may be configured to store between 500 sample pairs (input/output) and 50000 sample pairs.
- the memory size may be configured based on a size (e.g. number of bytes) configured to store an input/output pair.
- a size e.g. number of bytes
- input features comprising a larger pixel patches and/or patches with higher pixel count e.g., 200 ⁇ 200
- input storage policy may be configured as follows: given a new sample, if the buffer is not full (e.g., there may exist at least one available memory location) the sample may be stored in an available location; if the buffer is full, the sample may be stored at a random (occupied) memory location with a probability p determined as:
- the probability of the sample being discarded may be determined as 1 ⁇ p_insert.
- Output 562 of the learning component 560 may be provided to output determination component 564 .
- the output determination component may comprise one or more neurons configured to produce the output 566 .
- the output component 564 may comprise neurons NR, NL operable to produce control output for right/left wheel of the robotic vehicle (e.g., 200 in FIG. 2A ).
- the output component may comprise a table relating occurrence of a given input feature to a respective output.
- the output 566 may comprise the output 648 described above with respect to FIG. 6 .
- the predicted output 566 may be provided to a combiner component (e.g., 664 in FIG. 6 ).
- the predictor apparatus 500 may comprise a performance determination component 570 .
- the component 570 may be configured to determine performance of the predictor operation based on the predicted output of the component 564 provided via pathway 568 and input 578 .
- the input 578 may comprise, e.g., the training signal 604 comprising the combiner output 664 described with respect to FIG. 6B .
- the component 570 may be configured to operate a performance determination process.
- the output 566 may comprise a continuously valued parameter (e.g., velocity) the performance process may be configured based on a mean squared error determination operation.
- the performance process may comprise a cross entropy determination operation.
- Various other performance determination operations may be employed including, e.g., methodologies described in co-owned and co-pending U.S. patent application Ser. No. 13/487,499 entitled STOCHASTIC APPARATUS AND METHODS FOR IMPLEMENTING GENERALIZED LEARNING RULES”, filed Jun. 4, 2012, the foregoing being incorporated herein by reference in its entirety.
- Output 574 of the performance evaluation component 570 may be provided to the learning component 560 .
- the output 574 may comprise a performance measure configured to be used to update the learning process of the component 560 .
- the learning process adaptation may comprise modification of weights between units of the network.
- the learning process adaptation may comprise increment/decrement of entries associated with a given feature-output pair.
- the feature detection component 550 may be configured to detect features based on a pre-determined configuration (e.g., fixed state feature detection).
- the feature detection component 550 may be configured to operate a learning process, comprising e.g., an ANN.
- the learning FD may be operated to predict occurrence of one or more features in the input 502 based on occurrence of the respective features in one or more prior images.
- the learning FD may predicted occurrence of the doorway in a subsequent image based on detecting the doorway in one or more preceding images.
- the trained learning FD may be capable of approximating the features in a more computationally efficient manner (compared to programmed approach) by, e.g., taking advantage of the limited range of inputs the vehicle is going to find during operation.
- sensory input may be available for the duration of the training (training set).
- the availability of the whole set of sensor data may enable determination of one or more statistical parameters (e.g., mean brightness, variance, and/or other) that may be used for feature detection (e.g., input whitening, normalization, and/or other).
- Online learning methodologies described herein may access sensory data for present and/or prior trials but not for one or more subsequent trials.
- Limited availability of sensor data may obfuscate actual statistics of the sensor input. Additional operations (e.g., input manipulations, feature detection adaptation) may be required to improve accuracy of feature detection when processing sensor data during online training
- online estimates of the input statistics may be obtained using methodologies described herein.
- Input processing may comprise background removal, scaling to a given range, clipping to a given range, outlier removal, and/or other operations.
- pixels of an image may be normalized by removing mean value and dividing the result by a standard deviation.
- the mean value for a given image may be obtained using an online running mean operation wherein pixel values of a plurality of preceding images and of the given image may be accumulated.
- the mean may be obtained using an exponential mean, a box cart average, and/or other averaging operations.
- Online input adaptation may improve accuracy of the feature detection process particularly in varying environments (e.g., changes in brightness, and/or other parameters).
- output of the feature detection process may be normalized online (e.g., in upon availability of another version of features determined based on another version of the sensory input).
- input into the predictor may comprise features obtained using two or more FD (e.g., 552 , 554 , 556 , 557 in FIG. 5 ). Values provided by individual FD process may be characterized by different range and/or mean values. In some implementations of a learning process configured based on a gradient approach, a zero mean unit variance input may provide more robust operation compared to inputs that have different mean and/or variance values.
- the feature normalization processing may comprise level adjustment (e.g., mean removal), range scaling (e.g., variance normalization), and/or other operations.
- the mean value for a given population of features may be obtained using an online running mean determination operation as follows. For a given feature of the plurality of features of the input 558 two accumulators may be provided. In some implementations, the accumulators may comprise memory locations configured to store a floating point value (e.g., 32 bit, 64 bit, and/or other bit length). One accumulator may be configured to accumulate a sum of values of the feature; another accumulator may be configured to accumulate square of the feature values. If a feature is updated (e.g., based on processing another input frame) the accumulator may be updated.
- a counter may be used to store information related to the number of accumulated feature values (frames).
- Running mean feature M value may be determined based on dividing contents of the value accumulator by the number of accumulated values; an estimate of the feature variance value may be determined based on dividing contents of the square value accumulator by the number of accumulated values and subtracting square of the running mean value M.
- Online training methodology of the disclosure may enable adaptation of responses by a robotic device during training and/or operation.
- training and operation may occur contemporaneously with one another.
- a trainer may provide training input more frequently to the learning process of the robotic device.
- target performance e.g., lack of collisions with objects
- the trainer may refrain from (and/or altogether cease) providing training input.
- Computations related to input processing and/or learning process adaptation may be performed by a computational apparatus disposed onboard of the robotic device.
- the computational apparatus may comprise a specialized computerized apparatus e.g., bStemTM integrated platform, described in, http://www.braincorporation.com/specs/BStem_SpecSheet_Rev_Nov11_2013.pdf, the foregoing being incorporated herein by reference in its entirety, and/or the apparatus 700 shown and described with respect to FIG. 7 below) configured to operate a learning process.
- the bStem integrated platform may be characterized by energy efficiency that may be sufficiently high in order to enable autonomous operation of a robotic device using an onboard electrical power source.
- the energy efficiency may be characterized by power consumption between 1.5 W and 2.5 W while providing general purpose (e.g., central processing unit (CPU)) processing capacity equivalent to about 2.1 ⁇ 10 8 floating point operations per second (FLOPS) and contemporaneous parallelized (e.g., graphical processing unit (GPU)) processing capacity of equivalent to about 5 ⁇ 10 11 FLOPS to 6 ⁇ 10 11 FLOPS.
- general purpose e.g., central processing unit (CPU)
- FLOPS floating point operations per second
- GPU graphical processing unit
- a robotic device comprising sensor components and a processing component capable of performing input processing, learning process operation, communications and/or other operations configured to enable the robotic device to learn navigation tasks.
- the learning process operation may be effectuated by a BrainOSTM software platform (developed by the Assignee hereof) that may include software configured to instantiate modules and/or robotic brain images, and containing learning algorithms not limited to artificial neural networks and other machine learning algorithms.
- the BrainOS software platform may provide functionality for a software module that may be typical of an operating system including but not limited to: saving, loading, executing, duplicating, restoring, reverting, check pointing, analyzing, debugging, and uploading/downloading operations to/from remote cloud storage.
- the BrainOS modules or robotic brain images may be used with the intent to control a robotic device and be broadly construed to include actuators and switches as may be present in a home automation system. Performing of input processing and/or adaptation operations onboard in real time may reduce delays that may be associated with transmission of data off the robotic device, improve learning performance and/or reduce training time.
- FIG. 6 illustrates an adaptive control system 640 comprising a predictor and a combiner components configured for operating, e.g., the robotic apparatus of FIG. 2A , according to one or more implementations.
- the system 640 of FIG. 6 may be configured to operate a robotic platform 680 (e.g., the vehicle 200 of FIG. 2A ) based on analysis of sensor information.
- the system 640 may comprise an adaptive predictor 610 configured to produce predicted control output 618 .
- the predictor 610 may be trained using a corrector component 650 using online training methodology described herein.
- the training may be performed by a trainer performing a target task (e.g., following a trajectory within the premises 100 of FIG. 1 ) by the robotic device 680 .
- the corrector component 650 may comprise a computerized agent (e.g., comprising a trained adaptive controller) configured to operate the robotic device 680 in accordance with a target trajectory.
- the corrector component 650 may comprise a remote control handset comprising a wireless signal transmitter (e.g., IR, RF, light) such as, e.g., described in co-owned and co-pending U.S. patent application Ser. No. 14/244,892 entitled “SPOOFING REMOTE CONTROL APPARATUS AND METHODS”, filed on Apr. 3, 2014, the foregoing being incorporated herein by reference in its entirety.
- the output 652 of the component 650 may comprise one or more instructions and/or signaling (corrector instructions and/or signals) configured to cause the robotic device 680 to perform an action (e.g., execute a turn).
- the corrector 650 operation may be characterized by a control state space.
- the instructions 652 may comprise the target velocity V and/or the target steering angle ⁇ , e.g., shown in Table 2.
- An “override” indication may be utilized in order to convey to the combiner 664 that the correction instructions 652 may take precedence (override) the prediction 618 in FIG. 6 .
- the corrector output may comprise a target correction (adjustment) to the current value of velocity V and/or current steering angle ⁇ . If the corrector output comprises zero (null) signal, the robotic platform may continue its operation in accordance with the current velocity V and/or current steering angle ⁇ .
- actions of the robot may be encoded into a plurality of discrete states (e.g., 9 states as shown in Table 2, states, wherein 8 states may indicate 8 possible directions of motion shown in Table 2, one state for “stay-still” and one for “neutral”, and/or other state representations).
- a default state value may be assigned to the neutral state so that if the corrector may output a neutral signal, the predictor may be able to control the robot directly.
- actions of the robot may be represented by a 9-element vector indicating probabilities associated with a respective state.
- the combiner 664 may be configured to apply a multiplicative operation to the predicted output and the corrector output in order to determine a distribution associated with a target control state.
- the combiner component 664 of FIG. 6 may be configured to implement an override functionality wherein a non-zero corrector output 652 may be provided as the combiner output 666 ; the predicted component 618 may be ignored.
- an override indication may be used to convey to the combiner that the correction component (e.g., 650 in FIG. 6 ) may override (take precedence) over the predicted component (e.g., 618 in FIG. 6 ).
- the combiner component 664 of FIG. 6 may be configured to implement an additive combiner process wherein the combiner output 666 of FIG. 6 may comprise a sum of the predictor output and the corrector output.
- the combiner component 664 of FIG. 6 may be configured to implement a probabilistic combiner process.
- the probabilistic combiner may be employed with the probabilistic control space.
- the probabilistic combiner process may be used to produce combined output 666 of FIG. 6 configured based on a multiplication operation of the predicted distributions and the corrector distribution to determine an output distribution over possible states.
- the system 640 may further comprise a sensor component 606 configured to provide information related to task execution by the robotic device 680 .
- the sensor 606 may comprise a receiver component (e.g., the camera 204 in FIG. 2A ) configured to detect a pattern transmitted by a transmitter component (e.g., 202 in FIG. 2A ).
- the information the information 602 provided by the camera component 606 may comprise one or more digital images (e.g., the image 330 in FIG. 3B ).
- the system 640 may comprise an interface component 654 (also referred to as an adapter) configured to detect instructions 652 .
- the interface component 654 may provide one or more output channels 648 wherein individual output channels 648 may be configured to convey information associated with individual control actions, e.g., such as illustrated in Table 1, below:
- the adapter component 654 may be configured to adapt the format of the instructions 652 to a specific format of the combiner 664 and/or the learning process of the predictor 610 .
- the predictor 610 learning process may be configured to operate using three discrete states wherein a state value “1” may denote activation of a given signal (e.g., motor on); a state value of “0” may denote signal de-activation (e.g., motor off); and a high impedance value (e.g., “0.5”) may be configured to leave the signal as is (i.e., in an active or inactive state).
- the adapter component 654 may convert binary control 652 into the above discrete states, in some implementations.
- a “FORWARD” instruction may be expressed as ⁇ 1, 0, 0, 0 ⁇ while output 648 of the adapter component 654 may be configured as ⁇ 1, Z, Z, Z ⁇ .
- the adapter 654 may receive such information (e.g., shown in Table 6) from a translation component 668 via pathway 662 .
- the translation component 668 may comprise a bi-directional look up table comprising transcoding information (e.g., information in Table 2).
- the adaptive predictor 610 may operate a learning process configured to produce the output 618 .
- the output 618 may comprise signals and/or instructions corresponding to a respective channel 648 (e.g., commands forward, backward, left, right illustrated in Table 2).
- the predictor 610 learning process may be configured based on teaching input 604 , comprising output of the combiner 664 .
- the teaching input 604 may comprise a control signal associated with the target action (target output).
- the predictor 610 learning process may be effectuated using a feature learning framework such as described in, e.g., co-owned and co-oending U.S. patent application Ser. No. 14/265,113 entitled “TRAINABLE CONVOLUTIONAL NETWORK APPARATUS AND METHODS FOR OPERATING A ROBOTIC VEHICLE”, filed Apr. 29, 2014, incorporated supra.
- the adaptive predictor 610 and the combiner 664 may cooperate to produce a control output 666 useful for operating the robotic device 680 .
- the output 666 may comprise one or more motor commands configured to cause one or more actions (e.g., pan camera to the right, turn right wheel forward, and/or other actions), configure sensor acquisition parameters (e.g., use higher resolution camera mode, and/or other parameters), and/or other commands.
- the output 666 of the combiner 664 may be coupled to an adapter component 676 .
- the adapter component 676 may be configured to transform the combiner output 666 to format 678 that may be compatible with the device 680 .
- the adapter component 676 may be provided with information for transcoding predictor signal format into robot-platform specific format 678 . In some implementations, the adapter component 676 may receive such information from a component 668 via pathway 658 . In some implementations, the adapter component 654 and/or adapter component 676 may be operable to implement transformations illustrated in, e.g., Table 2.
- the adapter component 676 may be configured to rescale the drive and/or steering signals to an appropriate range for the motors of the robotic platform 680 .
- the adapter component 676 may be configured to convert an integer control output 666 into a steering/drive command for the motors of the robotic platform 680 .
- the adapter component 676 may be configured to perform an argmax of the control vector, in order to obtain, e.g., a steering/drive command.
- the adapter component 676 may be configured to perform a weighted average operation, using output values 666 that may be associated with one or more control states (e.g., shown in Table 1) in order to determine a most appropriate control output (e.g., average probability) that may correspond to a value between these states.
- the predictor 610 and the combiner 664 components may be configured to operate one or more of a plurality of robotic platforms.
- the combiner output signal 666 may be adapted by the adapter component 676 in accordance with a specific implementation of a given platform 680 .
- the adaptation by the component 676 may comprise translating binary signal representation 620 into one or more formats (e.g., pulse code modulation) that may be utilized by given robotic vehicle.
- the adapter may be further configured to rescale the drive and/or steering signals to a range appropriate for the motors and/or actuators of the platform 680 .
- the component 676 may be configured to convert an integer control index into a corresponding steering/drive command using, e.g. a look up table, shown in Table 2.
- the control state space transformation illustrated in Table 2 may be employed by a controller apparatus, e.g., described with respect to FIG. 6 .
- the control state space transformation shown in Table 2 may be characterized by a drive component (e.g., linear velocity v) and a turn component (e.g., angular velocity ⁇ ).
- the component values (v, ⁇ ) that may be applied to motors of the robotic device 102 of FIG.
- the predictor 610 may be configured to operate using one or more discrete states.
- a mapping may be employed in order to transfer control commands from a platform space (e.g., continuous range) into discrete states. Rectangular areas of the continuous state space may correspond to the following discrete actions listed in Table 2:
- the adapter 654 may be configured to apply an argmax operation (i.e., the set of values for which a corresponding function attains its largest resultant value) to the control vector so as to transform the continuous control data into discrete steering/drive commands corresponding to actions shown Table 2.
- the adapter may be configured to apply an interpolation operation between two or more activation control states to determine a control command corresponding to an intermediate value between these states.
- the adapter 654 and/or 676 may be configured to map the user's control signal in (velocity v, rate of rotation w) space (v,w) into a vector of dimension N; and the adapter may be configured to map a vector of dimension N into a control signal in the space (v,w).
- a control vector C may be configured in a range [[0, 1] ⁇ 2] (where R ⁇ n is used to define an n-dimensional range (i.e., a square area in this case)).
- the individual element of the control vector C may contain individual control commands (for example a pair of analog signals for turning a remote-controlled vehicle, and a drive signal for driving the remote-controlled vehicle forward).
- an encoder e.g., the adapter 654 in FIG. 6
- an encoder may be configured to rectify one or both continuous components (e.g., v and/or w) into a range [ ⁇ 1, 1].
- Discretizing the continuous components (e.g., v and/or w) into a discrete range of values (e.g., ( ⁇ 1, ⁇ 0.5, 0, 0.5, 1) facilitate control signal determination by the predictor (e.g., 610 in FIG. 6 ).
- the actions of the platform 680 may be encoded using, e.g., a 1-of-10 integer signal, where eight (8) states indicate 8 possible directions of motion (e.g., forward-left, forward, forward-right, left, right, back-left, back, back-right), one state indicates “stay-still”, and one state indicates “neutral”.
- the neutral state may comprise a default state.
- the predictor may control the robot directly. It will be appreciated by those skilled in the arts that various other encoding approaches may be utilized in accordance with controlled configuration of the platform (e.g., controllable degrees of freedom).
- the action space of the platform 680 may be represented as a 9-element state vector, e.g., as described with respect to Table 2. Individual elements of the state vector may indicate the probability of the platform being subjected to (i.e., controlled within) a given control state.
- output 618 of the predictor 610 in FIG. 6 may be multiplied with the output 648 of the corrector 650 in order to determine probability of a given control state.
- Training illustrated and described with respect to FIGS. 2-3 may be implemented using an online training approach.
- online training or “training at runtime” may be used to refer to training implementations where training time intervals and operation time intervals overlap and/or coincide with one another.
- a robot may navigate a trajectory based on control commands generated by a learning process of the robot.
- the robot may receive a teaching input, modify the learning process based on the teaching input and the learning process configuration (e.g., an artificial neuron network (ANN) a look-up table (LUT), and/or other configuration), and subsequently navigate the trajectory based on the modified process thus timely incorporating the teaching input.
- ANN artificial neuron network
- LUT look-up table
- the configuration of the adaptive controller may be adjusted based on teaching input determined during the trial so as to determine controller output for that trial.
- the actions 206 , 216 may be executed during a single trial (or a portion thereof) wherein the action 216 may be performed based on an online adjustment of the learning parameters associated with the action 206 execution.
- the learning process may comprise an ANN comprising an input layer of nodes (e.g., configured to receive sensory input) and an output layer of nodes (e.g., configured to produce output actions (motor command)).
- the network may be configured to receive one or more images from a camera and learn to predict the motor output signal from these images in real-time.
- This learning may be configured based on error back-propagation algorithm, which consists of computing a “cost”—a scalar value quantifying the discrepancy between the predicted motor signal and the actual motor signal, and minimizing the trainable parameters of the convolutional network with respect to this cost using gradient-descent.
- Nodes of the input layer may be coupled to nodes of the output layer via a plurality (array) of connections.
- Layer-to-layer connectivity may be characterized by a matrix containing information related to which nodes of one layer connected to nodes of the other layer.
- a given node of the input layer may be connected to every node of the output layer so that a given node of the output layer may be connected to every node of the input layer.
- Such connectivity may be referred to as all-to-all and/or fully connected.
- Various other connectivity techniques may utilized such as, e.g., all to some, some to some, random connectivity, and/or other methods.
- the ANN may comprise additional (hidden) layers of nodes. Pair of layers may be connected by a convolutional kernel and/or a fully connected weight matrix (e.g., implementing all-to-all connectivity).
- FIG. 7 illustrates a computerized system configured to implement the bistatic sensing methodology of the disclosure, according to one or more implementations.
- the system 700 may comprise a learning configuration (robotic brain) component 712 for controlling the robotic apparatus.
- the learning configuration component may be logically implemented within a processor that executes a computer program embodied as instructions stored in non-transitory computer readable media, and configured for execution by the processor.
- the robotic brain may be implemented as dedicated hardware, programmable logic (e.g., field programmable gate arrays (FPGAs), and/or other logical components), application specific integrated circuits (ASICs), and/or other machine implementations.
- Additional memory 714 and processing components 716 may be available for other hardware/firmware/software needs of the robotic device.
- the sensor components 720 may enable the robotic device to accept stimulus from external entities.
- Input stimulus types may include, without limitation: video, audio, haptic, capacitive, radio, accelerometer, ultrasonic, infrared, thermal, radar, lidar, sonar, and/or other sensed inputs.
- the sensor component 720 may comprise a projector and a receiver components, e.g., such as described above with respect to FIGS. 2A-2B and/or 4A .
- the sensor component may comprise a camera configured to provide one or more digital image frames to the processing component 716 .
- the processing component 716 may operate an object detection process of the disclosure.
- the processing component 716 may interface with the user interface (UI) components 718 , sensory components 720 , electro-mechanical components 722 , power components 724 , and communications (comms) component 726 via one or more driver interfaces and/or software abstraction layers.
- the power components 724 may comprise one or more of a direct current, an alternating current source, a mechanical coupling, an energy accumulator (and/or a mechanical energy means (e.g., a flywheel, a wind-up apparatus), a wireless charger, a radioisotope thermoelectric generator, a piezo-generator, a dynamo generator, a fuel cell, an internal or external combustion engine, a pneumatic power source, a hydraulic power source, and/or other power sources.
- Additional processing and memory capacity may be used to support these processes.
- the aforementioned components e.g., user interface components 718 , sensor components 720 , electro-mechanical components 722
- Supplemental memory and processing capacity may also aid in management of the controller apparatus (e.g. loading executable code (e.g., a computational brain image), replacing the executable code, executing operations during startup, and/or other operations).
- executable code e.g., binary image files
- object code e.g., bytecode
- ANN artificial neuron network
- the various components of the device may be remotely disposed from one another, and/or aggregated within one of more discrete components.
- learning configuration software may be executed on a server apparatus, and control the mechanical components of a robot via a network or a radio connection.
- multiple mechanical, sensory, and/or electrical units may be controlled by a single robotic brain via network/radio connectivity.
- the electro-mechanical components 722 include virtually any electrical, mechanical, and/or electro-mechanical component for sensing, interaction with, and/or manipulation of the external environment. These may include, without limitation: light/radiation generating components (e.g. light emitting diodes (LEDs), infrared (IR) sources, incandescent light sources, etc.), audio components, monitors/displays, switches, heating elements, cooling elements, ultrasound transducers, lasers, camera lenses, antenna arrays, and/or other components.
- light/radiation generating components e.g. light emitting diodes (LEDs), infrared (IR) sources, incandescent light sources, etc.
- audio components monitors/displays, switches, heating elements, cooling elements, ultrasound transducers, lasers, camera lenses, antenna arrays, and/or other components.
- the electro-mechanical components 722 may further include virtually any type of component capable of motion (e.g., to move the robotic apparatus 700 , manipulate objects external to the robotic apparatus 700 and/or perform other actions) and/or configured to perform a desired function or task. These may include, without limitation: motors, servos, pumps, hydraulics, pneumatics, stepper motors, rotational plates, micro-electro-mechanical devices (MEMS), electro-active polymers, and/or other motive components.
- the components interface with the learning configuration and enable physical interaction and manipulation of the device.
- the electro-mechanical components 722 may comprise one or more of a vacuum component, brush, pump, scrubbing/polishing wheel, and/or other components configured for cleaning/maintaining of premises.
- a vacuum component brush, pump, scrubbing/polishing wheel, and/or other components configured for cleaning/maintaining of premises.
- Such components enable a wide array of potential applications in industry, personal hobbyist, building management, medicine, military/intelligence, and other fields (as discussed below).
- the communications component 726 may include one or more connections configured to interact with external computerized devices to allow for, inter alia, management and/or control of the robotic device.
- the connections may include any of the wireless or wireline interfaces discussed above, and further may include customized or proprietary connections for specific applications.
- the power system 724 may be configured to support various use scenarios of the device.
- a wireless power solution e.g. battery, solar cell, inductive (contactless) power source, rectification, and/or other mobile power source
- a wall power supply or similar high capacity solution
- the power system and or power consumption may be configured with the training of the robotic apparatus 700 .
- the robot may improve its efficiency (e.g., to consider power consumption efficiency) through learned management techniques specifically tailored to the tasks performed by the robotic apparatus.
- FIGS. 8A-8B illustrate a pattern projected by the bistatic sensor in presence of an depicting an object within the sensor field of view, in accordance with one implementation.
- a projector component 802 (e.g., the component 202 described above with respect to FIG. 2A ) may be used to project a pattern. Axis of the projector field of view may be denoted by arrow 810 . An object 808 may be present in the field of view of the transmitter 802 . A cube is selected to illustrate the object 808 for clarity. As shown in FIG. 8A , one or more sides of the object (e.g., side denotes 812 ) may not be irradiated (illuminated) by the projected pattern.
- the side 812 may be visible in the field of view of the receiver component (e.g., the camera 804 ) absence of the irradiation signal from the projector may cause the side 812 to appear in the received image as unilluminated area (also referred to as a hole).
- the receiver component e.g., the camera 804
- absence of the irradiation signal from the projector may cause the side 812 to appear in the received image as unilluminated area (also referred to as a hole).
- FIG. 8B illustrates a virtual world simulation depicting an unilluminated portion (a hole) 822 in the received pattern 820 due to presence of the object 830 in the field of view of the projector, in accordance with one or more implementations.
- Icon 832 denotes location of the bistatic sensor apparatus
- arrow 834 denotes orientation of the view field of the sensor.
- the projected pattern may comprise a checkered pattern comprised of elements 838 , 836 .
- the object 820 protruding above the ground level may cause the unilluminated area (hole) 822 to appear within the received image.
- the received pattern (e.g., 820 in FIG. 8B ) may be analyzed using any applicable methodologies including these described herein, in order to determine presence of unilluminated area (hole). Occurrence of the hole 822 in the received pattern may indicate an obstacle being present in front of the robotic device.
- analysis of the received pattern may be used to determine presence of a wall and/or another object that may extend beyond (in width/height) an area covered by the bistatic sensor field of view.
- FIG. 9A illustrates distortion of a pattern projected by the component 402 and due to presence of a wall in front of the projector, in accordance with one implementation.
- the reflected pattern 900 may be configured based on a projected pattern (e.g., 300 in FIG. 3 ) that has been reflected partially by the floor 922 and partially by a wall 920 in front of the robotic device 400 .
- Line 924 denotes boundary between the floor 922 and the wall 920 .
- the pattern portion 902 reflected by the floor may comprise a rectangular shape of dimensions 906 , 910 .
- the pattern portion 902 may comprise a perimeter portion 914 comprised of a plurality of elements (e.g., such as described above with respect to FIGS. 3B and/or 15A-15D ).
- the pattern portion 904 reflected by the wall may comprise a non-rectangular shape (e.g., a trapezoid) of height 908 , and widths 910 , 912 .
- the pattern portion 904 may comprise a perimeter portion 916 comprised of a plurality of elements (e.g., such as described above with respect to FIGS. 3A-3B and/or 15A-15D ).
- the received pattern 900 may be analyzed (e.g., by component 716 described with respect to FIG. 7 ) in order to determine presence of an object in front of the robotic device 400 .
- Analysis of the pattern 900 may comprise operations such as, e.g., thresholding (e.g., at 80% brightness).
- thresholding e.g., at 80% brightness
- a best fit bounding box analysis may be applied to the thresholded image in order to determine whether the reflected pattern corresponds to the projected trapezoid. If one or more “holes” are detected within the trapezoid in the reflected pattern, then the detected holes may be regarded as obstacles within the path of the robot or even an actual hole in the floor (which for the purposes of many tasks, is an obstacle).
- a block matching algorithm may be used to analyze reflected pattern. Specifically, given a small patch of the projected pattern (e.g., from 2 ⁇ 2 pixels up to the full resolution of the projected pattern), the block matching algorithm finds the best match in the recorded image. The horizontal displacement (or vertical displacement, depending on physical placement of projector and camera) of the patch from where it originated in the pattern to where it was found in the recorded image is then measured. In some variants, if no match is found that is also recorded. The process may be applied to a plurality of individual patches within the image. In this manner, such “displacement image” processing may be used to detect objects and their relative distance; larger displacements correspond to closer objects. Regions with patches not found in the recorded image may correspond to obstacles.
- FIG. 9B illustrates a virtual world simulation of a wall-induced pattern distortion as sensed by the sensor apparatus of the present disclosure.
- the pattern 950 may comprise a checkered pattern comprised of elements 952 , 954 .
- the reflected pattern may be configured based on a projected pattern (e.g., 300 in FIG. 3 ) that has been reflected partially by the floor (pattern portion 956 ) and partially by a wall (pattern portion 958 ) in front of the robotic device 940 .
- FIGS. 10A-11 illustrate use of a sub-component within a projected pattern for detecting presence of an object in accordance with one or more implementations.
- Images 1000 , 1010 , 1020 depicted in FIGS. 10A-11 may be obtained by a camera component of a bistatic sensor disposed on a robotic device (e.g., component 204 disposed on the device 200 of FIG. 2A ).
- the projected pattern may be configured in a variety of ways, e.g., comprise a perimeter portion 304 and a body (center) portion 302 of FIG. 3A , pattern 440 of FIG. 4B , patterns shown in FIGS. 15A-5D , and/or other patterns.
- the projected pattern may further comprise a sub-pattern element.
- the sub-component may comprise a crosshatch 1012 .
- the sub-component 1012 may be projected by the projector component (e.g., 202 in FIG. 2A ).
- the component 202 may comprise an adjustable/switchable filter and/or mask configured to enable generation of, e.g., the pattern 300 and/or the sub-pattern element 1012 .
- the sub-component 1012 may projected by another component (e.g., a red-dot LED, and/or a laser component.
- FIG. 10A illustrates received image 1000 wherein the ball 1006 may obscure the sub-pattern.
- the received image 1000 may comprise floor reflections 1008 and/or wall reflections (not shown).
- FIG. 10B illustrates received image 1010 wherein the sub-pattern 1012 may be projected onto the ball (denoted by the circle 1016 ).
- the ball representation 1016 in FIG. 10B may be shifted vertically compared to the representation 1006 in FIG. 10A . Presence of a feature (e.g., 1016 ) and/or detection of the sub-pattern 1012 in the received image (e.g., as shown in FIG.
- the image 1000 may be obtained when the object is closer than the height of the projector (e.g., 1 m from the robot when the projector 202 may be mounted 1 m above the floor).
- the bistatic sensor may be configured to detect the presence of an object in the range of the projection (e.g., along the extent denoted by arrow 286 in FIG. 2B ).
- the detection range may be configured to span from 0.2 m to 5 m, with an optimal acuity range between 2 m and 4 m from the robotic device.
- the optimal acuity range refers to the range of distance suitable for typically expected operation.
- the received image 1020 shown in FIG. 11 may comprise floor reflections 1028 , sub-pattern 1022 , and/or wall reflections (not shown).
- the configuration shown in FIG. 11 may correspond to sub-pattern reflections in absence of objects. Comparing image 1020 and 1010 of FIGS. 11 and 10B , respectively, it may be concluded that presence of an object (e.g., 1016 ) in FIG. 10B may cause reflection of the sub-pattern 1012 to occur at a greater height (e.g., 1014 ) when compared to height 1024 of the sub-pattern 1022 reflection in FIG. 11 occurring in absence of objects.
- an object e.g., 1016
- the difference of heights 1024 and 1014 may be configured based on a distance to the object and a distance to the flat surface (e.g., floor), e.g., as described in detail with respect to FIG. 2C .
- FIG. 2C depicts a signal reflected by an object disposed in field of view of the bistatic sensor of the disclosure disposed on a robotic apparatus.
- the robotic device 251 may comprise a sensor apparatus comprising a light projector component 252 (e.g., such as described above with respect to FIG. 2B ) and a camera component comprising imaging sensor 255 .
- the projector component may be configured to emit a signal along a path 275 .
- the signal may reflect from the object 291 .
- the signal reflected from the object may arrive at the sensor 255 along path 277 at a location 271 .
- the signal transmitted by the projector may propagate along path (shown by broken line 295 ).
- the projected signal may be reflected by the surface at a location 289 .
- the signal reflected at the location 289 may propagate back to the sensor 255 along path 293 .
- the signal reflected at the location 289 may arrive at the sensor 255 at a location 273 .
- Location 273 may be spaced vertically from the location 271 by distance 285 .
- Distance 285 may correspond to difference between distance 1014 and 1024 in FIGS. 10B, 11 .
- the magnitude of the distance 285 may be calculated based on distance 267 between the robot 251 and the object 291 and distance 281 between the object and the location 289 .
- the pattern projection methodology of the disclosure may be used to communicate (also referred to as advertise) information related to operation of a robotic device into environment of the robotic device.
- FIG. 12 illustrates advertising into the environment information related to trajectory of a robot via a projected image, in accordance with one or more implementations.
- a robotic device may comprise the device 200 of FIG. 2A and/or 400 of FIG. 4A .
- the robotic device may comprise a projector component (e.g., 202 in FIG. 2A and/or 402 in FIG. 4A ).
- the projector component may be use to project a pattern, e.g., the pattern 1200 shown in FIG. 12 .
- the pattern 1200 may comprise a center portion 1202 and a perimeter portion.
- the perimeter portion may comprise a pattern, e.g., the pattern 304 , 334 described above with respect to FIGS. 3A-3B .
- the center portion 1202 may be used to project a static or an animated image indicating action being performed by the robot.
- the portion 1202 may comprise an image of a robot 1210 with an arrow 1214 superimposed thereupon.
- the arrow 1214 may indicate forward motion of the robot.
- the length of the arrow 1214 may be configured based on the speed (e.g., proportional) of the robot. In some implementations, the indication of FIG.
- the animation may comprise two or more images (e.g., 1210 ) displayed at two or more locations characterized by progressively larger distances (e.g., distance shown by arrow 1216 in FIG. 12 ) from the robot ( 400 in FIG. 12 ).
- the image 1210 and/or the arrow 1214 may be projected by a digital light projection component (e.g., such as described above with respect to FIG. 3A ).
- the DLP component may be operably coupled to a processing component (e.g., component 716 ).
- the processing component may communicate to the DLP component information related to robot trajectory, size of the robot, current parameter values of the robot movement (e.g., speed/direction) and or subsequent parameter value of the robot movement.
- a customer may observe the image 1210 in advance of (or without) seeing the robotic device (e.g., 102 in FIG. 1 ) and refrain from entering the aisle in front of the device 102 .
- Such functionality may be used to improve safety of operation of robotic devices in presence of humans.
- a ground vehicle may utilize projection methodology of the disclosure to indicate to an aircraft direction and/or speed of its motion by projecting an arrow onto the tarmac.
- Dimensions of the projected pattern e.g., 1200 in FIG. 12
- a robotic device may project landing indication for an aerial drone aircraft (e.g., quadcopter), and/or other apparatus.
- an aerial drone aircraft e.g., quadcopter
- dimensions of the arrow 1214 may be selected between 1 m and 10 m, preferably 4 m.
- FIGS. 13A-14 illustrate methods for using the methodology of the disclosure for detection of objects during operation of robotic devices and/or communicating/advertising information related to operation of robotic devices into environment, in accordance with one or more implementations.
- the operations of methods 1300 , 1320 , 1400 presented below are intended to be illustrative. In some implementations, methods 1300 , 1320 , 1400 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of methods 1300 , 1320 , 1400 are illustrated in FIGS. 13A-14 described below is not intended to be limiting.
- methods 1300 , 1320 , 1400 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information and/or execute computer program modules).
- the one or more processing devices may include one or more devices executing some or all of the operations of methods 1300 , 1320 , 1400 in response to instructions stored electronically on an electronic storage medium.
- the one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of methods 1300 , 1320 , 1400 .
- the operations of methods 1300 , 1320 , 1400 may be implemented by a bistatic sensor apparatus disposed on a robotic device (e.g., the device 200 in FIG. 2A ).
- the robotic device may comprise a cleaning device (e.g., 102 in FIG. 1 ) operating within a premises (e.g., 100 in FIG. 1 )
- a pattern may be transmitted.
- the pattern transmission may be effectuated by a transmitter component of the bistatic sensor apparatus (e.g., the component 202 of FIG. 2A , and/or 402 of FIG. 4A ).
- the pattern may comprise one or more pattern configurations, e.g., such as described above with respect to FIGS. 3A, 15A-15D .
- the transmitted pattern may comprise an encoded portion (e.g., perimeter portion 1204 in FIG. 12 ) and a central portion (e.g., 1202 in FIG. 12 ).
- the pattern may be projected using a visible light source, an infrared light source, an audible wavelength source, an ultrasonic wave source, a radio wave source, and/or other carrier type source.
- the source may comprise a light emitting diode, a laser beam source and a pattern shaping mask, and/or other implementations configured to project a two dimensional pattern of light.
- the transmitter may transmit a two dimensional pattern comprised of a given pattern (e.g., grid, checkerboard, and/or other) via a carrier signal (e.g., light).
- the pattern may be projected using a digital light projection (DLP) MEMS technology, e.g., such as digital micromirror device (DMD) array produced by Texas Instruments.
- DLP digital light projection
- DMD digital micromirror device
- the pattern projected at operation 1302 may be reflected from one or more objects within the environment (e.g., floor 212 , box 208 , wall 210 in FIG. 2A ).
- reflected pattern may be sensed.
- the pattern may be sensed by a receiving component of the bistatic sensor apparatus (e.g., the component 204 of FIG. 2A , and/or 404 of FIG. 4A ).
- the receiving component may comprise a light capturing sensor, an infrared detector, an acoustic transducer (e.g., a microphone), a radio wave antenna, and/or other sensor configured to detect reflected carrier waves corresponding to the modality of the transmitter component.
- the receiving component may comprise a camera.
- the sensed pattern may comprise a digital image (e.g., image 1200 in FIG. 12 and/or 330 in FIG. 3B ).
- a parameter of the reflected pattern may be evaluated.
- the sensed pattern evaluation may comprise one or more of contrast edge detection, color analysis, brightness analysis, determination of length and/or orientation of line segments and/or other operations configured to provide information related to structure of the received pattern.
- the pattern evaluation may be configured to produce a parameter of the reflected pattern.
- the parameter may comprise one or more of pattern perimeter, dimensions, area, orientation, skewness and/or other parameters.
- the parameter may be configured to characterize a deviation of one or more pattern elements relative to a reference (e.g., vertical deviation of a sub-pattern with respect to the floor such as described with respect to FIGS. 10A-11 ).
- the parameter may be configured to characterize a uniformity of the sensed pattern in order to determine, e.g., presence of a wall, e.g., such as shown by patterns 900 , 950 in FIGS. 9A-9B .
- Discrepancies between an expected pattern (e.g., corresponding to reflections of the carrier in absence of obstacles) and the received pattern may be used to determine presence of an object within the sensing volume of the bistatic sensor.
- the parameter determined at operation 1306 may be utilized in order to quantify the discrepancy.
- a determination may be made as to whether the parameter determined operation 1306 breaches a threshold.
- the threshold may comprise one or more of pattern similarity level (e.g., in a range between 50% and 95%), a reference dimension (e.g., width, length of the pattern 330 ), and/or other quantity.
- the location of the projected pattern on the received image can be calculated.
- the location of the received image may be calibrated by transmitting a known pattern to a flat surface and registering the perceived image/pattern.
- the method 1300 may proceed to operation 1310 wherein object present indication may be produced.
- the object present indication may comprise one or more of a software or a hardware indications, e.g., a memory register value, a logic line level, a message or a flag in a software application, and/or other indication mechanism.
- the object present indication may be communicated to a navigation process of the robotic device.
- the navigation process may be configured to modify (e.g., execute a turn, reduce speed and/or altogether stop) current trajectory of the robotic device responsive do receipt of the object present indication.
- FIG. 13B illustrates object detection method comprising use of a reference pattern information, in accordance with one or more implementations.
- a reference pattern may be transmitted.
- the reference pattern may comprise pattern 300 shown and described with respect to FIG. 3A .
- the reference pattern may be transmitted into environment free of objects (e.g., obstacles), e.g., as illustrated in FIG. 2B and/or 4A .
- the pattern projected at operation 1322 may be reflected e.g., floor 212 and/or other surface.
- reflected pattern may be sensed.
- the pattern may be sensed by a receiving component of the bistatic sensor apparatus (e.g., the component 204 of FIG. 2A , and/or 404 of FIG. 4A ).
- the receiving component may comprise a light capturing sensor, an infrared detector, an acoustic transducer (e.g., a microphone), a radio wave antenna, and/or other sensor configured to detect reflected carrier waves corresponding to the modality of the transmitter component.
- the receiving component may comprise a camera.
- the sensed pattern may comprise a digital image (e.g., image 1200 in FIG. 12 and/or 330 in FIG. 3B ).
- a parameter of the sensed pattern may be evaluated.
- the sensed pattern evaluation may comprise one or more of contrast edge detection, color analysis, brightness analysis, determination of length and/or orientation of line segments and/or other operations configured to provide information related to structure of the received pattern.
- the pattern evaluation may be configured to produce a parameter of the reflected pattern.
- the parameter may comprise one or more of pattern perimeter, dimensions, area, orientation, skewness and/or other parameters.
- the parameter may be configured to characterize a deviation of one or more pattern elements relative to a reference (e.g., vertical deviation of a sub-pattern with respect to the floor such as described with respect to FIGS. 10A-11 ).
- the parameter may be configured to characterize a uniformity of the sensed pattern in order to determine, e.g., presence of a wall, e.g., such as shown by patterns 900 , 950 in FIGS. 9A-9B .
- the parameter may comprise a ratio characterizing shape of the pattern (e.g., ratio of diagonals, a ratio of two of dimensions 336 , 346 , 334 , 338 ), and/or other parameters.
- the parameter determined at operation 1326 may be stored.
- the parameter may be stored in non-volatile memory of the pattern processing component (e.g., memory 714 shown and described with respect to FIG. 7 ).
- the parameter stored at operation 1328 may be subsequently used as a reference (e.g., threshold) for detecting objects during operation of a robotic device.
- a reflected pattern may be sensed.
- the reflected pattern may comprise a transmitted pattern (e.g., 300 in FIG. 3A ) that may have been reflected from one or more objects (e.g., 208 , 210 in FIG. 2A ) during operation of a robotic device (e.g., the device 102 in FIG. 1 ).
- parameter of the received reflected pattern sensed at operation 1330 may be evaluated.
- the parameter may comprise a ratio characterizing shape of the sensed pattern (e.g., ratio of diagonals, a ratio of two of dimensions 336 , 346 , 334 , 338 ), and/or other parameters.
- the evaluation may comprise a comparison operation versus the reference parameter, e.g., such as stored at operation 1328 . Responsive to determination at operation 1332 that the parameter differs from the reference parameter by a given amount (e.g., breaches an object present threshold) object present indication may be produced.
- the object present indication may comprise one or more of software or hardware indications, e.g., a memory register value, a logic level, a message and/or a flag in a software application, and/or other indication mechanism.
- the object present indication may be communicated to a navigation process of the robotic device.
- the navigation process may be configured to modify (e.g., execute a turn, reduce speed and/or altogether stop) current trajectory of the robotic device responsive do receipt of the object present indication.
- FIG. 14 illustrates a method for trajectory information advertisement using the pattern projection methodology of the disclosure, in accordance with one or more implementations.
- Operations of method 1400 may be effectuated by a robotic device operating in a store, e.g., the device 102 in FIG. 1 .
- a target trajectory may be navigated.
- the trajectory navigation may comprise execution of a plurality of actions associated with a task.
- the trajectory navigation may comprise traversing of premises 100 by a robotic cleaning device 102 while performing cleaning operations (e.g., floor sweeping and/or scrubbing).
- an action characteristic associated with the trajectory being navigated may be determined.
- the action characteristic may comprise velocity and/or direction of motion of the robotic device.
- the action characteristic may comprise robotic arm motion, joint angle change, arm segment length change (e.g., extend, contract), and/or other parameters.
- the information associated with the action being executed may be advertised into the environment via a projected image.
- the information advertisement may comprise projecting a graphics image (e.g., arrow 138 of FIG. 1 and/or 1214 in FIG. 12 ) characterizing direction and/or speed of motion of the robotic device.
- the projection of motion of the robotic device ahead of the device e.g., the arrow 138 being placed ahead of the device 102 in FIG. 1 ) may improve operational safety of the robotic device.
- the operational safety improvement may be characterized by one or more (i) an increased time margin between detecting an obstacle (e.g., human 134 ) and an action by the robot 102 , an increase in distance between the human and the robot, a refraining by the human of entering the aisle 132 in front of the robotic device 102 responsive to detection of the arrow 138 in FIG. 1 .
- an obstacle e.g., human 134
- Methodology of the disclosure may enable autonomous navigation by robotic devices in a variety of applications.
- the object detection approach disclosed herein a robotic device to a variety of objects without object pre-selection and/or pre- of wiring and/or without requiring a trainer to record training dataset and analyze data offline.
- These improvements may be leveraged for constructing autonomous robotic vehicles characterized by a lower cost and/or increased autonomy and/or enable robotic devices to operate in more complex requirements (e.g., tracking multiple targets), navigate at higher speeds, and/or achieve higher performance (e.g., as characterized by a fewer collisions, shorter task execution time, increased runtime without recharging, greater spatial coverage, and/or other parameter).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
- Power Engineering (AREA)
- Acoustics & Sound (AREA)
Abstract
Description
- This application is a divisional of, and claims priority to, co-pending and co-owned U.S. patent application Ser. No. 14/749,423 entitled “APPARATUS AND METHODS FOR SAFE NAVIGATION OF ROBOTIC DEVICES”, filed Jun. 24, 2015, the foregoing being incorporated herein by reference in its entirety. This application is related to co-pending and co-owned U.S. Provisional Patent Application Ser. No. 62/059,039 entitled “APPARATUS AND METHODS FOR TRAINING OF ROBOTS”, filed Oct. 2, 2014, co-pending and co-owned U.S. patent application Ser. No. 14/070,239 entitled “REDUCED DEGREE OF FREEDOM ROBOTIC CONTROLLER APPARATUS AND METHODS”, filed Nov. 1, 2013, co-pending and co-owned U.S. patent application Ser. No. 14/070,269, entitled “APPARATUS AND METHODS FOR OPERATING ROBOTIC DEVICES USING SELECTIVE STATE SPACE TRAINING”, filed Nov. 1, 2013, co-pending and co-owned U.S. patent application Ser. No. 14/613,237, entitled “APPARATUS AND METHODS FOR PROGRAMMING AND TRAINING OF ROBOTIC DEVICES”, filed Feb. 3, 2015, co-pending and co-owned U.S. patent application Ser. No. 14/632,842, entitled “APPARATUS AND METHODS FOR PROGRAMMING AND TRAINING OF ROBOTIC HOUSEHOLD APPLIANCES”, filed Feb. 26, 2015, co-pending and co-owned U.S. patent application Ser. No. 14/542,391 entitled “FEATURE DETECTION APPARATUS AND METHODS FOR TRAINING OF ROBOTIC NAVIGATION”, filed Nov. 14, 2014, co-pending and co-owned U.S. patent application Ser. No. 14/244,890 entitled “APPARATUS AND METHODS FOR REMOTELY CONTROLLING ROBOTIC DEVICES”, filed Apr. 3, 2014, co-pending and co-owned U.S. patent application Ser. No. 13/918,338 entitled “ROBOTIC TRAINING APPARATUS AND METHODS”, filed Jun. 14, 2013, co-pending and co-owned U.S. patent application Ser. No. 13/918,298 entitled “HIERARCHICAL ROBOTIC CONTROLLER APPARATUS AND METHODS”, filed Jun. 14, 2013, co-pending and co-owned U.S. patent application Ser. No. 13/907,734 entitled “ADAPTIVE ROBOTIC INTERFACE APPARATUS AND METHODS”, filed May 31, 2013, co-pending and co-owned U.S. patent application Ser. No. 13/842,530 entitled “ADAPTIVE PREDICTOR APPARATUS AND METHODS”, filed Mar. 15, 2013, co-pending and co-owned U.S. patent application Ser. No. 13/842,562 entitled “ADAPTIVE PREDICTOR APPARATUS AND METHODS FOR ROBOTIC CONTROL”, filed Mar. 15, 2013, co-pending and co-owned U.S. patent application Ser. No. 13/842,616 entitled “ROBOTIC APPARATUS AND METHODS FOR DEVELOPING A HIERARCHY OF MOTOR PRIMITIVES”, filed Mar. 15, 2013, co-pending and co-owned U.S. patent application Ser. No. 13/842,647 entitled “MULTICHANNEL ROBOTIC CONTROLLER APPARATUS AND METHODS”, filed Mar. 15, 2013, and co-pending and co-owned U.S. patent application Ser. No. 13/842,583 entitled “APPARATUS AND METHODS FOR TRAINING OF ROBOTIC DEVICES”, filed Mar. 15, 2013, each of the foregoing being incorporated herein by reference in its entirety.
- A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
- Technological Field
- The present disclosure relates to, inter alia, adaptive control, training and operation of robotic devices.
- Background
- Robotic devices may be used in a variety of applications, such as manufacturing, medical, safety, military, exploration, maintenance, and/or other applications. Some applications (e.g., robotic cleaning of premises) may cause operation of robotic devices in presence of obstacles (e.g., stock items) and/or people (e.g., shoppers, store personnel).
- In a first aspect of the invention, an object detection sensor apparatus is disclosed. In one embodiment, the object detection sensor apparatus comprises: a transmitter component configured to project a pattern by irradiating a portion of an environment using a carrier wave; a detector component configured to detect a reflected pattern of the carrier wave; and a processing component. In one exemplary embodiment, the processing component is configured to: evaluate a parameter of the detected reflected pattern; and based on the parameter breaching a threshold, produce an indication of an object being present within the portion of the environment.
- In one variant, the carrier wave is selected from the group consisting of: a sound wave, a visible light wave, and an infrared wave.
- In a second variant, the object detection sensor apparatus is configured to be disposed on a robotic device configured to traverse along a surface; and the portion of the environment comprises a portion of the surface in front of the robotic device. In one case, the object detection sensor apparatus is disposed at a height above the surface; the transmitter component is characterized by a first angle of view; the detector component is characterized by a second angle of view; and the portion of the surface in front of the robotic device is spaced from the robotic device by a blanking distance. In one exemplary case, the detector component is spaced from the transmitter component by a separation distance; the indication of the object being present within the portion of the environment is configured to be produced by an object detection process, the object detection process being characterized by a lower bound of object resolvable size; and an increase in the separation distance is configured to cause a reduction of the lower bound of object resolvable size. In a particular such implementation, the carrier wave comprises a visible light wave; the detector component comprises a camera configured to produce an image comprising a plurality of pixels; and for a given size of the image, an increase of a number of the plurality of pixels is configured to cause the reduction of the lower bound of object size. In another exemplary case, the reflected pattern detected by the detector component is characterized by a perspective distortion relative to the projected pattern; and dimensions of the projected pattern are configured in accordance with a counter-distortion process configured to compensate for the perspective distortion. In a third exemplary case, the transmitter component comprises a visible light emitter and a mask component, the mask component configured to shape emitted light into the projected pattern characterized by a longitudinal dimension and a transverse dimension; and the transverse dimension is selected to match a width of the robotic device. In a fourth exemplary case, the transmitter component comprises a digital light projector operably coupled to the processing component, the digital light projector being configured to produce the projected pattern characterized by a longitudinal dimension and a transverse dimension; and the transmitter component is configured to dynamically adjust the transverse dimension based on a signal from the processing component, the signal being indicative of a width of the robotic device. In one such implementation, the transmitter component is configured to dynamically adjust the longitudinal dimension based on another signal from the processing component, the another signal being indicative of a speed of the robotic device.
- In a second aspect of the invention, a method for detecting an object by a computerized robotic apparatus configured to clean a surface. In one such embodiment, the method includes: configuring a reference pattern; projecting the reference pattern onto a surface in front of the robotic apparatus using a light emitter component; detecting a reflected pattern by a camera component, the camera component being configured to produce a digital image; analyzing the digital image to determine a parameter of the reflected pattern; and based on the parameter of the reflected pattern breaching a threshold, producing an indication of the object being present in front of the robotic apparatus.
- In one variant, the projected reference pattern comprises an encoded portion, the encoded portion comprising a plurality of elements and a background portion; and the encoded portion is configured to produce the reflected pattern characterized by a first area of increased contrast compared to a second area associated with the background portion. In one such case, the act of configuring the reference pattern comprises: selecting a pattern width in accordance with a width of the robotic apparatus; and selecting a pattern length in accordance with a speed of the robotic apparatus. In another such case, the encoded portion comprises a plurality of lines arranged in a grid configuration; and the act of configuring the reference pattern comprises selecting one or more of a line width and the grid configuration. In one specific implementation, the plurality of elements of the grid configuration comprises one or more elements of varying width or height. In a third such case, the encoded portion comprises a plurality of rectangles arranged in a grid configuration; and the act of configuring the reference pattern comprises selecting one or more of: rectangle dimensions, a checkerboard-like pattern, and/or the grid configuration. In one such implementation, the reference pattern comprises a checkerboard-like pattern comprising elements of alternating black and white elements.
- In a second variant, the projected reference pattern comprises an encoded portion and a target portion; the encoded portion comprises at least one element characterized by a first light characteristic configured to differ from a second light characteristic of the target portion; the parameter of the reflected pattern comprises a height above a surface comprising the at least one element; and the threshold is based on an expected reference width or an expected reference length of the projected reference pattern comprising the at least one element when the object is not present in front of the robotic apparatus. In one such variant, the reference width or length corresponds to another reflected pattern projected onto a surface in an absence of the object. In another such variant, the at least one element is further characterized by one or both of a light wavelength and a light intensity.
- These and other objects, features, and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the disclosure. As used in the specification and in the claims, the singular form of “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.
-
FIG. 1 is block diagram illustrating operation of a robotic apparatus of the present disclosure on premises of a retail store in accordance with one implementation of the present disclosure. -
FIG. 2A is a graphical illustration depicting a robotic vehicle comprising bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. -
FIG. 2B is a graphical illustration depicting a configuration of the bistatic sensor apparatus of the present disclosure disposed on a robotic device and configured for obstacle detection and information communication/projection, in accordance with one or more implementations. -
FIG. 2C is a graphical illustration depicting signal reflection from an object for use with the bistatic sensor apparatus of the disclosure disposed on a robotic device, in accordance with one or more implementations. -
FIG. 3A illustrates projected spatial pattern for use with the bistatic sensor apparatus of the present disclosure in accordance with one implementation. -
FIG. 3B illustrates a pattern received by the bistatic sensor apparatus and corresponding to the projected pattern ofFIG. 3A in accordance with one implementation. -
FIG. 4A presents top view of a pattern projected by the bistatic sensor apparatus of the present disclosure disposed on a robotic device in accordance with one implementation. -
FIG. 4B is virtual world computer simulation illustrating a pattern projected by the bistatic sensor apparatus of the present disclosure in accordance with one implementation. -
FIG. 4C is a graphical illustration depicting configuration of the field of view of bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. -
FIG. 4D is a graphical illustration depicting resolution of a receiving component of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. -
FIG. 4E is a graphical illustration depicting configuration of the transmitter and receiver components of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. -
FIG. 5 is a block diagram illustrating an adaptive control system for operating, e.g., the robotic apparatus ofFIG. 2A , according to one or more implementations. -
FIG. 6 is a block diagram illustrating an adaptive control system comprising a predictor and a combiner components configured for operating, e.g., the robotic apparatus ofFIG. 2A , according to one or more implementations. -
FIG. 7 is a functional block diagram illustrating a computerized system configured to implement the bistatic sensing methodology of the present disclosure, an adaptive predictor and/or a combiner components configured for operating, e.g., the robotic apparatus ofFIG. 2A , according to one or more implementations. -
FIGS. 8A-8B illustrate a pattern projected by the bistatic sensor in presence of an object within the sensor field of view, in accordance with one implementation. -
FIG. 9A illustrates distortion of the projected pattern due to presence of a wall in front of the sensor, in accordance with one implementation. -
FIG. 9B virtual world simulation of a wall-induced pattern distortion as sensed by the sensor apparatus of the present disclosure. -
FIGS. 10A-11 illustrate use of a sub-component within a projected pattern for detecting presence of an object in accordance with one or more implementations. -
FIG. 12 is a graphical illustration depicting advertising into the environment information related to trajectory of a robot via a projected image, in accordance with one or more implementations. -
FIG. 13A is a logical flow diagram illustrating method of object detection using of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. -
FIG. 13B is a logical flow diagram illustrating object detection method comprising use of a reference pattern information, in accordance with one or more implementations. -
FIG. 14 is a logical flow diagram illustrating method for trajectory information advertisement using the pattern projection methodology of the present disclosure, in accordance with one or more implementations. -
FIGS. 15A-15D illustrate exemplary patterns for use with the bistatic sensor apparatus of the present disclosure in accordance with some implementations. -
FIG. 16 is a graphical illustration depicting a pattern projected onto a flat surface by the sensor apparatus of the disclosure, in accordance with one implementation. - All Figures disclosed herein are © Copyright 2015 Brain Corporation. All rights reserved.
- Implementations of the present technology will now be described in detail with reference to the drawings, which are provided as illustrative examples so as to enable those skilled in the art to practice the technology. Notably, the figures and examples below are not meant to limit the scope of the present disclosure to a single implementation, but other implementations are possible by way of interchange of, or combination with some or all of the described or illustrated elements. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to same or like parts.
- Where certain elements of these implementations can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present technology will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the disclosure.
- In the present specification, an implementation showing a singular component should not be considered limiting; rather, the disclosure is intended to encompass other implementations including a plurality of the same components, and vice-versa, unless explicitly stated otherwise herein.
- Further, the present disclosure encompasses present and future known equivalents to the components referred to herein by way of illustration.
- As used herein, the term “bus” is meant generally to denote all types of interconnection or communication architecture that is used to access the synaptic and neuron memory. The “bus” may be optical, wireless, infrared, and/or another type of communication medium. The exact topology of the bus could be for example, a standard “bus”, hierarchical bus, network-on-chip, address-event-representation (AER) connection, and/or other type of communication topology used for accessing, e.g., different memories in a pulse-based system.
- As used herein, the terms “computer”, “computing device”, and “computerized device” may include one or more of personal computers (PCs) and/or minicomputers (e.g., desktop, laptop, and/or other PCs), mainframe computers, workstations, servers, personal digital assistants (PDAs), handheld computers, embedded computers, programmable logic devices, personal communicators, tablet computers, portable navigation aids, J2ME equipped devices, cellular telephones, smart phones, personal integrated communication and/or entertainment devices, and/or any other device capable of executing a set of instructions and processing an incoming data signal.
- As used herein, the term “computer program” or “software” may include any sequence of human and/or machine cognizable steps which perform a function. Such program may be rendered in a programming language and/or environment including one or more of C/C++, C#, Fortran, COBOL, MATLAB™, PASCAL, Python, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), object-oriented environments (e.g., Common Object Request Broker Architecture (CORBA)), Java™ (e.g., J2ME, Java Beans), Binary Runtime Environment (e.g., BREW), and/or other programming languages and/or environments.
- As used herein, the terms “connection”, “link”, “transmission channel”, “delay line”, and “wireless” may include a causal link between any two or more entities (whether physical or logical/virtual), which may enable information exchange between the entities.
- As used herein, the term “memory” may include an integrated circuit and/or other storage device adapted for storing digital data. By way of non-limiting example, memory may include one or more of ROM, PROM, EEPROM, DRAM, Mobile DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), memristor memory, PSRAM, and/or other types of memory.
- As used herein, the terms “integrated circuit”, “chip”, and “IC” are meant to refer to an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material. By way of non-limiting example, integrated circuits may include field programmable gate arrays (FPGAs), programmable logic devices (PLD), reconfigurable computer fabrics (RCFs), application-specific integrated circuits (ASICs), and/or other types of integrated circuits.
- As used herein, the terms “microprocessor” and “digital processor” are meant generally to include digital processing devices. By way of non-limiting example, digital processing devices may include one or more of digital signal processors (DSPs), reduced instruction set computers (RISC), complex instruction set computers (CISC) processors, microprocessors, gate arrays (e.g., field programmable gate arrays (FPGAs)), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, application-specific integrated circuits (ASICs), and/or other digital processing devices. Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.
- As used herein, the term “network interface” refers to any signal, data, and/or software interface with a component, network, and/or process. By way of non-limiting example, a network interface may include one or more of FireWire (e.g., FW400, FW800, etc.), USB (e.g., USB2.0, USB3.0, USB3.1), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Coaxsys (e.g., TVnet™), radio frequency tuner (e.g., in-band or out-of-band (OOB), cable modem, etc.), Wi-Fi (802.11), WiMAX (802.16), PAN (e.g., 802.15), cellular (e.g., 3G, LTE/LTE-A/TD-LTE, GSM, etc.), IrDA families, and/or other network interfaces.
- As used herein, the terms “node”, “neuron”, and “neuronal node” are meant to refer, without limitation, to a network unit (e.g., a spiking neuron and a set of synapses configured to provide input signals to the neuron) having parameters that are subject to adaptation in accordance with a model.
- As used herein, the term “Wi-Fi” includes one or more of IEEE-Std. 802.11, variants of IEEE-Std. 802.11, standards related to IEEE-Std. 802.11 (e.g., 802.11a/b/g/n/s/v), and/or other wireless standards.
- As used herein, the term “wireless” means any wireless signal, data, communication, and/or other wireless interface. By way of non-limiting example, a wireless interface may include one or more of Wi-Fi, Bluetooth, 3G (3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS, LTE/LTE-A/TD-LTE, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, infrared (i.e., IrDA), and/or other wireless interfaces.
- Robotic devices may be used for performing maintenance of residential and/or commercial premises (e.g., retail stores, warehouses, meeting halls, stadiums) and/or other applications. By way of an illustration, an autonomous robotic cleaning apparatus may be employed for cleaning floors in a retail store. Environment in the store premises may be modified on a daily/weekly basis, e.g., during restocking operations and/or by placement of promotional items for a given period of time at a given location. Presence of humans (e.g., customers and/or store personnel) may alter the environment. The autonomous robotic device may comprise an object detection sensor apparatus configured to detect presence of objects in the environment. The sensor apparatus may comprise a transmitter component and a receiver component spaced from the transmitter component. Such configuration wherein the transmitter and the receiver sensor are not-collocated (e.g., displaced from one another) may be referred to as the bistatic sensor configuration. The transmitter may transmit a two dimensional pattern comprised of a given pattern (e.g., grid, checkered, and/or similar others) via a carrier signal (e.g., light). The transmitted radiation may reflect from objects within the environment (e.g., floor, wall, pallet of goods, and/or other objects). The received pattern may be analyzed. Discrepancies between an expected pattern (e.g., corresponding to reflections of the carrier in absence of obstacles) and the received pattern may be used to determine presence of an object within the sensing volume of the bistatic sensor. In some implementations, the analysis of the received pattern may be used to determine deviations of one or more pattern elements relative to a reference (e.g., vertical deviations with respect to the floor).
- In some implementations, the received pattern may be compared to the transmitted pattern in order to determine one or more areas in the environment that have not been irradiated by the transmitted carrier. Such areas (also referred to as “shadows” and/or “holes”) may correspond to obstructions due to an object being present within the sensor apparatus transmitter and/or receiver field of view. In some implementations, the sensor apparatus of the disclosure may be used to communicate (advertise) information related to present action being executed by the robotic device. By way of an illustration, the robotic device moving forward in a straight line may utilize the transmitter component of the bistatic sensor apparatus in order to project a forward arrow in the floor in front of the robotic device. Such action advertisement may inform humans within the premises of robot actions and/or to enable the humans to avoid the robot.
- In some such variants, the information is transmitted based on one or more trigger events. For example, the robot may conditionally determine when to enable or disable the transmitted carrier based on one or more environmental considerations, learned/training considerations, historic considerations, received instructions, etc. For example, a robot that determines that other entities (such as persons within the vicinity) may be unaware of its presence or trajectory (an absence of direct visibility or line-of-sight to the robot), may trigger a precautionary warning signal to prevent collisions. In other examples, a robot may enable information transmission when it is in unfamiliar environments so as to assist in training exercises, etc. Those of ordinary skill in the related arts will readily appreciate the wide array of circumstances under which the foregoing triggered operation may find application.
- In some cases, the robot may infer the success/failure of communication based on a measurable metric and responsively adjust its behavior. For example, a robot may infer a reduction of a probability of collision based on an increasing distance between a person and the robot as compared to the rate of change of the distance immediately prior the action (thereby signifying that the person has changed course and is moving away from the robot's trajectory, etc.) In some cases, the failure of communication may result in adjustment of the robot's own action; e.g., the robot may change a projected image (from a yellow to red, from static to dynamic images, etc.), add an audio signal (or change an audio volume), and/or change its own trajectory to avoid collision, and/or perform other actions.
-
FIG. 1 illustrates operation of a robotic apparatus of the disclosure in an environment comprising objects and/or humans in accordance with one implementation. Thelayout 100 may correspond to a floor plan or a retail store, layout of a shopping mall, an exhibit hall and/or other premises. In some implementations,rectangles arrow 110 inFIG. 1 ). Thepremises layout 100 may comprise one or more humans denoted byicons - One or more autonomous
robotic devices premises 100. The autonomously operating robotic device may be used for a variety of tasks, e.g., floor cleaning (e.g., vacuuming, dusting, scrubbing, polishing, waxing, and/or other cleaning operation), survey (e.g., product count), and/or other operations. Dimensions of the robotic device (e.g., 102) may be configured in accordance with operational environment of the device (e.g., minimum aisle width, available cleaning time, and/or another task parameter). - In some implementations, the autonomously operating robotic device may be used for assisting customers by e.g., identifying a customer in need of assistance and offering the customer assistance via a machine-human interface. In one or more implementations, the human-machine interface may be based on sound, light, display, gesture, and/or other interface component. Customer detection may comprise analysis of customer posture, movement, gestures, facial expression, speech, sounds, and/or other behavior characteristics provided via camera and/or audio sensor.
- One or more autonomously operating robotic devices (e.g., 102, 106, 108) may be configured to navigate the
premises 100 along a trajectory. In some implementations, the trajectory may comprise a pre-configured trajectory (e.g., pre-programmed, pre-trained) and/or adaptively learned trajectory). In some implementations, the trajectory configuration may be effectuated using a methodology of combining programming and training e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/613,237, entitled “APPARATUS AND METHODS FOR PROGRAMMING AND TRAINING OF ROBOTIC DEVICES”, filed Feb. 3, 2015, incorporated supra. - In some implementations, training of the trajectory may be accomplished using a plurality of training trials. An individual trial may comprise an instance of the trajectory navigation. Training may be effectuated using supervised learning methodology, e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/070,239 entitled “REDUCED DEGREE OF FREEDOM ROBOTIC CONTROLLER APPARATUS AND METHODS”, filed Nov. 1, 2013, U.S. patent application Ser. No. 14/070,269, entitled “APPARATUS AND METHODS FOR OPERATING ROBOTIC DEVICES USING SELECTIVE STATE SPACE TRAINING”, filed Nov. 1, 2013, and/or U.S. patent application Ser. No. 14/542,391 entitled “FEATURE DETECTION APPARATUS AND METHODS FOR TRAINING OF ROBOTIC NAVIGATION” filed Nov. 14, 2014, each of the foregoing being incorporated, supra.
- The premises environment (e.g., illustrated by layout 100) may comprise a given number of objects (e.g., shelves, product displays, furniture, building elements (e.g., partitions, walls, doorways, doors, pillars e.g., 132 in
FIG. 1 , and/or other elements) infrastructure components (point of sale) and/or other components. During a premises familiarization phase, the robotic apparatus may be configured to explore the premises environment in order to, e.g., to produce a map of the premises (e.g., such as shown inFIG. 1 ). The map of the environment may be stored in the non-transitory memory of the robot. - In one exemplary embodiment, premises exploration may be effectuated using a training approach, a pre-configured approach, and/or a combination thereof. In some implementations given a map of the environment, the robotic apparatus may cover/navigate traversable areas within the map along an optimal path, e.g. for vacuuming, scrubbing, dust-mopping, inspection, and/or other purposes. In some cases, the robotic apparatus may further optimize the exploration phase for various conditions and/or parameters e.g., transit time, energy use, area coverage, and/or other parameters.
- In some implementations a map of the environment may be used by the robotic apparatus in order to localize itself within the premises (e.g., determining globally and/or locally referenced coordinates). In some implementations where the robot is capable of localizing itself, the robot may be able to perform certain additional functionalities including but not limited to: path following, area coverage, and/or other tasks.
- In some implementations of premises exploration, an existing premises layout (e.g., an architectural floor plan), may be utilized by the robotic apparatus to navigate the premises.
- In one or more implementations, the robot may be configured to explore the premises area. Premises exploration may comprise determination of locations of objects within the premises and construction of the premises map using location of the robot and data provided by one or more sensors. Various sensor methodologies may be utilized, e.g., camera, LiDAR, acoustic ranging, radio frequency ranging, proximity beacons, and/or other methodologies. In some implementations, the robotic may incorporate software analysis tools such as grid-based simultaneous localization and mapping (SLAM) e.g., such as GMapping library (http://www.openslam.org/gmapping.html) which implements an existing highly efficient Rao-Blackwellized particle filter SLAM algorithm to learn grid maps from laser range data. In some implementations, sensors such as red, green, blue, depth (RGBD) cameras (e.g. structured light-based, time-of-flight sensors (e.g., epc600 produced by ESPROS Photonics AG), and/or other sensors) may be utilized with the GMapping library. Beacon based solutions may be utilized to enable a robotic device to localize itself relative to the beacons placed within the environment. In some implementations, beacons may enable location triangulation based on e.g., light waves, radio waves (e.g., ultra-wideband, Bluetooth) and/or other location estimation schemes.
- In some implementations, a combination of pre-existing map and sensor-based exploration may be utilized in order to obtain an up-to-date premises map. By way of an illustration, an imperfect store layout may be improved (more details added and/or errors corrected) with GMapping. Such approach may shorten the time needed for mapping.
- In one or more implementations of premises exploration, the map of the premises may be pre-loaded into non-transitory memory of the robotic apparatus.
- During operation, the layout map may be recalled and utilized for navigating the premises. In some implementations, e.g., of nighttime cleanup operations, the layout map may provide an adequate amount of detail for successful navigation of the premises. In one or more implementations, the navigation success may be characterized by one or more of an absence of collisions with objects within the premises, area coverage, energy use, traverse time, and/or other performance characteristics associated with a given task.
- In some implementations, e.g., daytime operations and/or nighttime cleanup during restocking), the layout map may become out of date as additional objects (e.g., a product display 118 may added, displaced (e.g., product display 120) and/or some objects missing (removed). One or more humans (122, 134) may be present on the premises. The robotic device may be configured for dynamic autonomous detection of objects within the elements. As used herein the term “object” may be used to describe a shelf, a doorway, a pillar, a wall, a human, a display, and/or another physical entity that may protrude above a surface (e.g., floor) being navigated by the robotic device and that may potentially interfere with the task being executed by the robotic device.
- In some implementations, object detection by the robotic device may be effectuated using a bistatic sensor apparatus, e.g., such as described below with respect to
FIGS. 2-15 . The bistatic sensor apparatus may illuminate a sensing volume proximate the robotic device using one or more wave carriers. In one or more implementations, the wave carrier may comprise visible light, audible waves, and/or other wave modality. InFIG. 1 , the sensing volume is denoted bylines 124 and comprises illuminated volume in front of therobotic device 106 that may be moving along direction indicated by thesolid arrow 126. The sensing volume may be characterized by a horizontal extent (e.g., denoted byarc FIG. 1 ) and/or vertical extent (e.g. denoted byarc 218 inFIG. 2A ). - The bistatic sensor apparatus may project a given pattern into sensing volume. The reflected pattern may be sampled by the bistatic sensor. An object being present within the sensing volume (e.g., human 122,
product display 120, 118) may alter the sensed (reflected) pattern. Analysis of the sensed pattern may enable detection in real time of one or more objects being present in pathway of the robotic device thereby enabling autonomous operation of the robotic device in presence of potential obstructions. - In some implementations, the sensor apparatus of the disclosure may be configured to communicate information related to an action being presently executed by the robotic device. By way of an illustration, the transmitter component of the sensor may be used to project a pattern comprising an
arrow 138 indicating direction of motion and/or velocity of therobotic device 102. A human 134 strolling through theaisle 110 may observe thearrow 138 and refrain from entering the aisle in front of the movingrobotic device 102. In one or more implementations, the pattern projected by the transmitter may comprise one or more of a static image, a pattern, and/or an animation configured to communicate information related to trajectory of the robot into, product information and/or advertisements, and/or and other store related information (e.g., safe exit route) into the environment. In one exemplary embodiment, the projected pattern is a human-readable indicia; such human-readable indicia are not limited to readable text, but may incorporate symbols, color, signage, and/or other indicia and/or audio/visual elements which may be understood by a human observer. For example, an arrow may have a length which is modulated in accordance with a speed of a moving robotic device. In another example, an arrow may flash at a frequency proportional to the speed of the moving robotic device. -
FIG. 2A illustrates operation of a robotic vehicle comprising a bistatic sensor apparatus, in accordance with one or more implementations. Therobotic vehicle 200 may comprise one of the autonomousrobotic devices FIG. 1 . The autonomously operatingrobotic device 200 ofFIG. 2A may be used for a variety of tasks, e.g., floor cleaning (e.g., vacuuming, dusting, scrubbing, polishing, waxing, and/or other cleaning operation), survey (e.g., product count), and/or other operations. In some implementations, the autonomously operating robotic device may be used for assisting customers by e.g., identifying a customer in need of assistance and offering the customer assistance via a machine-human interface. In one or more implementations, the human-machine interface may be based on sound, light, display, gesture, and/or other interface component. Customer detection may comprise analysis of customer posture, movement, gestures, facial expression, speech, sounds, and/or other behavior characteristics provided via camera and/or audio sensor. - Dimensions of the robotic device may be selected sufficient to support the
sensor components device 200 may comprise a robotic floor cleaning device with the following dimensions: width of 0.8 m, length of 1.6 m and height of 1.14 m. The floor cleaning device may be configured to move during operation at a speed between 0.01 m/s and 3 m/s. The robotic device with above dimensions may be configured to operate within a premises characterized by aisle dimensions (e.g., 110) between 1.2 m and 2.7 m. - The
device 200 may comprise a sensor apparatus configured to detect presence of objects in the environment and/or communicate information into the environment. The sensor apparatus may comprise atransmitter component 202 and areceiver component 204. The transmitter and the receiver components may be disposed spaced from one from one another in a bistatic configuration. In one or more implementations, the transmitter may comprise a visible light source, an infrared source, an audible wavelength source, an ultrasonic wave source, a radio wave source, and/or other carrier type source. In some implementations of visible light transmissions, the source may comprise a light emitting diode, a laser beam source and a pattern shaping mask, and/or other implementations configured to project a two dimensional pattern of light. The transmitter may be characterized by a field of view denoted byarcs 218 inFIG. 2A and 128, 138 inFIG. 1 . Center axis of thetransmitter 202 field ofview 218 may be inclined with respect to the plane of operation of the apparatus 200 (e.g., theplane 212 inFIG. 2A ). The transmitter may transmit a two dimensional pattern comprised of a given pattern (e.g., grid, checkered, and/or other) via a carrier signal (e.g., light). - The
receiver component 204 of the sensor apparatus may comprise a light capturing sensor (e.g., a camera), an infrared detector, an acoustic transducer (e.g., a microphone), a radio wave antenna, and/or other sensor configured to detect reflected carrier waves corresponding to the modality of thetransmitter 202. The carrier waves transmitted by thecomponent 202 may be reflected by one or more elements within the environment, e.g.,floor 212,wall 210, and/orobject 208. In some implementations, theobject 208 may compriseproduct display 120 ofFIG. 1 . Reflected carrier waves may be detected by thereceiver 204 to produce received pattern. The received pattern may be analyzed in order to determine presence of objects (e.g., thewall 210, the object 208) in the path of theapparatus 200. The received pattern may be analyzed. Discrepancies between an expected pattern (e.g., corresponding to reflections of the carrier in absence of obstacles) and the received pattern may be used to determine presence of an object within the sensing volume of the bistatic sensor. In some implementations, the analysis of the received pattern may be used to determine deviations of one or more pattern elements relative to a reference (e.g., vertical deviations with respect to the floor). -
FIG. 2B illustrates one configuration of the bistatic sensor apparatus of the present disclosure disposed on a robotic device and configured for obstacle detection and information communication/projection, in accordance with one or more implementations. - The
robotic device 250 may comprise a sensor apparatus comprising alight projector component 252 and acamera component 254 configured to detect presence of objects in front of thedevice 250. In some implementations, the projector component may be configured to emit light of wavelength of within visible and/or infrared portion of the electromagnetic spectrum over field of view characterized by horizontal angular dimension selected between 5° and 40° and vertical angular dimension selected between 5° and 40°; in one such implementation, the vertical angular dimension is 20°. The projector component may be elevated above the floor surface by adistance 276. In some implementations, thedistance 276 may be selected between 0.1× and 2×height of the robotic device (e.g., 1 m in one implementation). Center axis of the transmitter field of view vertical angular dimension may be depressed with respect to thesurface 280 level by anangle 282. Depressing the transmitter field of view center axis may enable control of thedead dimension 284 zone (that also may be referred to as the blanking distance).Dimension 284 may be configured based on one or more parameters of a task being executed (e.g., robot speed of movement, object size, and/or other parameters). In some implementations, thedimension 284 may be dynamically adjusted based on the current speed of the robot (e.g., increased with the increase in the speed). By way of an illustration, when therobotic device 250 is configured to move at a speed of 1 m/s, thedimension 284 may be selected from the range between 0.2 m and 5 m, preferably 2 m in one implementation. Theangle 282 may be configured and/or selected from the range between 10° and 80°, in some implementations. - Dimension of the projected pattern (e.g., dimension 286) may be configured based on height of the projector component (dimension 276),
depression angle 282, and/or vertical angle of view (e.g., 218 inFIG. 2A ). By way of an illustration, a projector disposed 1 m above the floor level (e.g., distance 276) may be configured to project a pattern of 2 m in length (e.g., the dimension 286). In some implementations, thedimension 286 may correspond todimension FIG. 3B . In one or more implementations, dimension of the projected pattern (e.g.,pattern 300 inFIG. 3A ) may be configured in accordance with dimensions of a robotic device. Dimension of the projected pattern (e.g.,pattern 300 inFIG. 3A ) may be configured to compensate for perspective distortion in accordance with a counter-distortion process. As farther extents of the projected pattern (e.g.,location 288 inFIG. 2B ) correspond to longer travel distance from theprojector component 252 and thecamera component 254 as compared to closer extents of the pattern (e.g., location 287), lateral dimension (e.g., 336) of the reflected pattern may increase (scale up) relative the projected dimension (306) by a greater amount as compared to increase of thedimension 346 relative thedimension 316.Pattern 300 inFIG. 3A illustrates one example of the perspective distortion compensation wherein farther (from the transmitter)dimension 306 may be selected smaller compared to the dimension that is closer to the transmitter (310). - By way of an illustration, dimensions of the
portion 332 may be selected approximately equal to dimensions of the robotic device (e.g.,dimension 336 may equal about 1 m anddimension 334 may approximately equal 2 m for a robotic device of width 0.8 m and length of 1.6 m. It will be recognized by those skilled in the arts, that modifying projector height, depression angle, and/or angle of view may be used to adjust one or more dimensions of the projected pattern (e.g.,dimensions 286 inFIG. 2B, 334, 336, 338 inFIG. 3B ). - The
projector component 252 may transmit a two dimensional pattern of light comprising a given pattern (e.g., grid, checkered board, and/or other patterns including such as described with respect toFIGS. 3A and 15A-15D ). A variety of projector wavelength may be utilized e.g., corresponding to red (e.g., wavelength between 620 nm and 750 nm), green (e.g., wavelength between 495 nm and 570 nm) light, and/or other wavelength range. - The
camera component 254 may be spaced from the projector component in vertical plane bydistance 278. In some implementations, thedistance 278 may be selected between 0.1× and 0.2×height of the robotic device (e.g., 0.5 m). The camera component may comprise an imaging sensor array comprising one or more of artificial retinal ganglion cells (RGCs), a charge coupled device (CCD), an active-pixel sensor (APS), and/or other sensors configured to detect light. Thecamera component 254 may produce a sequence of images for, inter alia, subsequent analysis. Individual images may comprise, e.g., a two-dimensional matrix of red/green/blue (RGB) pixel values refreshed at a suitable frame rate (e.g., selected between 10 frames per second (fps) and 100 frames per second. In some implementations the frame rate may be selected based on processing, memory, and/or energy resources available to the object detection sensor apparatus. Greater available energy and/or computational resources may afford use of greater frame rate. In one or more implementations, the frame rate may be selected based on operational speed of the robotic device and a target safety margin, e.g., minimal gap (in time and/or travelled distance) between successive frames. By way of an illustration, for a robot moving at a speed of 2 m/s frame rate of 10 fps may cause a 0.1 s time gap. This may correspond to a 0.2 m ‘blind spot’ between frames in front of the robot. - In some implementations of HSV and/or RGB images, image color (chromaticity channels channels) and illumination (luminance channel) information of the reflected pattern may be used to detect objects. In one or more implementations of grayscale images the illumination/light intensity of the pattern being projected may be configured different than the pattern of the surface (e.g., the floor) the pattern is being projected upon.
- In some implementations individual images may comprise a rectangular array of pixels with dimensions selected between 100 pixels and 10000 pixels (in a given dimension). Pixel array configuration may be attained using receiver resolution configuration methodology described with respect to
FIGS. 4C-4E , below. It will be appreciated by those skilled in the arts that the above image parameters are merely exemplary, and many other image representations (e.g., bitmap, CMYK, HSV, HSL, grayscale, and/or other representations) and/or frame rates are equally useful with the present disclosure. -
Components processing component 716 inFIG. 7 ) configured to operate, e.g., object detection process. During configuration of the sensor apparatus, the object detection process may be initialized (e.g., calibrated) in absence of objects other than the floor in the sensing field of view. As illustrated inFIG. 2B , the projector may irradiate portion of thefloor surface 280 in front of theapparatus 250 along the emitted rays. Floor reflections at locations denoted 287, 288 may propagate towards the robotic device along the returning rays. The reflected signal may be captured by thecamera component 254 thereby producing received image of the reflected pattern. The processing component may be configured to analyze the received image in order to determine parameters of the reflected pattern. - In one or more implementations, the received image analysis may comprise one or more of contrast enhancement, background removal, edge detection, thresholding (e.g., removing elements which exceed a maximum threshold and/or fall below a minimum threshold), spatial (e.g., pixel block) averaging, temporal averaging (e.g., multiple images) and/or other operations. By way of an illustration, the received image may be compared to the projected pattern using e.g. correlation-based analysis for the pixels where a pattern is expected (if the pattern does not cover the whole image); in such cases, a high correlation would indicate a match. In other cases, a pattern comparison may be performed for the whole image and/or a portion of the image using, e.g., a sliding window mask of the image/pattern.
- In some implementations, the projected pattern may be characterized by a non-uniform structure of the projected pattern (e.g., the
pattern 300 comprising thecenter portion 302 and theperimeter portion 304 or other portions (also referred to as subsets or sub-patterns). In one such case, the received pattern may be analyzed in order to determine individual subset(s) of the pattern; thereby identifying the location of one or more subsets in the image. The location of the subset may be used to determine the distance of the robot and the object (in front of the robot) as described inFIGS. 10 and 11 . - In some implementations, a subset of the pattern may be configured to include a given color (or combination of color patterns); in such cases, the color filtering of the image and/or thresholding of the filtered image may be used to localize a sub-pattern. In some implementations, thresholding operation may comprise a comparison of image elements (individual pixels and/or block of pixels) to one or more reference values (thresholds). Based on the comparison, values of the image elements may be assigned a given value (e.g., a given constant (e.g., 0), or a value based on one or more of the image elements (e.g., maximum element value, mean value, minimum value, and/or value obtained using other statistical operation on the elements being. By way of an illustration, the thresholding operation may be used to assign pixel values below a given threshold to a minimum (e.g., zero), assign pixel values above a given threshold to a maximum (e.g., 255); convert grayscale images into a multitoned (e.g., black and white, 4-tone and/or other number of intensity bins). In some implementations, portions of the image may be evaluated and assigned a probability associated with an object being present in a given image portion (e.g., using color saliency methodology described in U.S. Provisional Patent Application Ser. No. 62/053,004 entitled “SYSTEMS AND METHODS FOR TRACKING OBJECTS USING SALIENCY”, filed Sep. 19, 2014, and/or U.S. patent application Ser. No. 14/637,164 entitled “APPARATUS AND METHODS FOR TRACKING SALIENT FEATURES”, and Ser. No. 14/637,191 entitled “APPARATUS AND METHODS FOR SALIENCY DETECTION BASED ON COLOR OCCURRENCE ANALYSIS”, each of the foregoing being incorporated herein by reference in its entirety. Object presence probability may be utilized in a thresholding operation (e.g., via a comparison to a minimum probability level) in order to identify one or more areas wherein an object may be present. It will be recognized by those skilled in the arts that various other implementations of thresholding operation may be utilized for analyzing images and/or object detection methodology of the disclosure.
- In one or more implementations, the sub-pattern may comprise a bar-code and/or QR-code; in such cases, existing algorithms may be used for pattern localization (e.g. such as described in “QR Code Recognition Based on Image Processing” to Gu, et al. as presented Mar. 26, 2011, incorporated by reference herein in its entirety).
-
FIGS. 3A-3B illustrate exemplary projected and received patterns useful for determining presence of objects during navigation of a robotic device in accordance with one or more implementations. - The projected
pattern 300 shown inFIG. 3A may comprise a polygon oflateral dimensions transverse dimension 308. Thelateral dimensions dimension 306 may be configured different (e.g., smaller) than thedimension 316 as shown inFIG. 3A . The ratio of thedimension 306 and thedimension 316 of the projectedpattern 300 may be selected such as to produce a reflected pattern of rectangular shape when the reflections are caused by a flat horizontal surface (e.g., thesurface 280 ofFIG. 2B ) in absence of obstacles. - The
lateral dimensions pattern 300 may be configured based on one or more of dimensions, turn footprint of the robotic device, and/or aisle dimensions (e.g., between 0.5 m and 4 m in some implementations). Thetransverse dimension 308 may be configured based on expected travel speed of the robot (e.g., between 0.5 m/s to 2 m/s in some implementations). - In some implementations, e.g., such as shown and described with respect to
FIGS. 10A-11 , projected pattern may be produced using a single projection element (e.g., pixel, LED). The smallest physical representation of the projected pattern element may be configured in accordance with, e.g., smallest target that is to be detected. By way of an illustration, a projected pattern element of 5 mm in size may enable detection of a target with dimension of 10 mm in accordance with the commonly accepted Nyquist sampling criterion. It will be understood by those skilled in the arts that the above description merely serves to illustrate principles of the present disclosure and actual pattern parameters may be adjusted in accordance with a given application. In some exemplary implementations, the size of the projected pattern (e.g., 330) may be configured based on dimensions of a robot, e.g., between 0.1× and 2×the lateral dimension (e.g., 435 inFIG. 4A ) of the robot. Those of ordinary skill in the related arts will readily appreciate that patterns that are larger than 2× of the robot size pattern are also feasible. - The reflected
pattern 330 ofFIG. 3B may be characterized by thelateral dimension 336 that is configured approximately (e.g., within +/−10%) equal to thedimension 346. In some implementations, the transverse (e.g., vertical)dimension 338 may be configured approximately (e.g., within +/−10%) equal to thedimensions FIG. 3A ) may be selected such thatdimension 336 may be approximately (e.g., within +/−10%) equal to thedimension 346 of the received pattern; and thedimension 334 may be approximately (e.g., within +/−10%) equal to thedimension 338; and where the ratio ofdimension 336 todimension 338 may be configured to be approximately equal to the ratio of width to length of the robotic apparatus (e.g., 102 inFIG. 1A ). In some implementations, thedimension 336 may be selected to be approximately (e.g., within +/−10%) equal to the width of the robot; and thedimension 338 may be selected to be approximately (e.g., within +/−10%) equal to the length of the robot. - Values and/or ratios between one or both of the
lateral dimensions transverse dimension 338 may be analyzed in order to determine a presence of an object (e.g., awall 210 inFIG. 2A ) in front of the sensor. By way of an illustration, during setup and/or calibration of arobotic device 200 and/or 250, areflected pattern 330 may be obtained when the robot is placed on a flat horizontal surface free from obstructions. Parameters of the reflected pattern (e.g., a ratio ofdimension 336 to thedimension 346, a ratio ofdimension 336 and/or 346 to thedimension 338, absolute values of thedimensions pattern 330, an area of the reflected pattern, and/or other parameters may be determined and stored in non-volatile medium (e.g.,memory 714 inFIG. 7 ). Object detection process operable by the robotic device may utilize these parameters during navigation in order to detect objects. Theperimeter portion 334 may comprise a plurality ofelements 340 that may correspond to theelements 310 described with respect toFIG. 3A . Dimensions of individual elements within theportion 334 may be approximately equal (e.g. within 10%) to one another. - In some implementations, whole received images may be analyzed. In one or more implementations, portions of the received image or sub-images may be analyzed using e.g., a sliding window. For a given image (or sub-image) being analyzed, a determination may be made as to whether an expected pattern may be present within the image/sub-image. An absence of the expected pattern may indicate a presence of an object within the sampling area.
- Various methodologies may be used in order to determine the presence of the expected pattern. For example, an image comparison method may be used for pixels where a pattern is expected. In one such case, correlation-based analysis can be used to determine the presence of an expected pattern; for instance, a high correlation (e.g., exceeding a given threshold) may indicate a match.
- In one or more implementations, training-based classification methods may be employed in order to determine the presence or absence of the expected pattern in the image. Such methods may include a hierarchical neural network trained to classify the pattern. One such training algorithm is described in “ImageNet Classification with Deep Convolutional Neural Networks” to Krizhevsky et al., incorporated by reference herein in its entirety.
- The projected pattern may comprise a spatial structure. In some implementations, e.g., such as illustrated in
FIG. 3A , the pattern may comprise an information advertising portion depicted byopen polygon 302 and objectdetection portion 304. The object detection portion may comprise a grid like pattern disposes along perimeter of thepattern 300. The grid-like pattern may comprise one or more of columns of grid elements (e.g., theelement 310 characterized bydimensions 314, 312). Dimensions (e.g., 312, 314) of individual elements (e.g., 310) within thepattern portion 304 may be configured to vary alonge.g. dimension 308 in order to produce reflected elements of approximately the same dimensions (e.g., dimensions of theelement 340 being approximately (e.g., within 10%) equal dimensions of theelement 342 inFIG. 3B ). Thegrid element dimensions respective pattern dimensions pattern portion 304 may be utilized, e.g., such as illustrated inFIGS. 15A-15D . - In some implementations, grid element dimensions may be configured in accordance with methodology described below with respect to
FIG. 16 .FIG. 16 depicts apattern 1600 projected onto a flat surface by thesensor apparatus 1614 of the disclosure. A transmitter of thesensor apparatus 1614 may be characterized by field ofview angle 1606 of 20° in some implementations. The projectedpattern 1600 as it appears on the flat surface to an observer may be characterized by transverse dimension 1608 (width) and longitudinal dimension 1612 (length). Thedimensions pattern 1600 may comprise acenter portion 1602 and aperimeter portion 1604. Theperimeter portion 1604 may comprise a pattern ofelements 1620. In one such case, the minimum dimensions of the pattern elements 1630 may be configured to comprise 5×5 pixels. - In some implementations, a transverse resolution of the receiver component of the sensor 1614 (e.g., a camera) may comprise 1920 pixels along
dimension 1608. Due to perspective distortion, the dimension 1622 (corresponding to horizontal extent coverable by the camera component with 20° field of view) may correspond to 1920 pixels. Dimension 1622 may be configured as a sum of twice the length ofdimension 1616 and the length ofdimension 1618. In one such exemplary embodiment, the dimension 1622 may comprise 1.39 m. Accordingly, dimension 1618 (equal to 0.83 m) may proportionally correspond to 1146 pixels in the acquired image. The minimum dimensions of the element 1620 (corresponding to 5 pixels) may be selected at about 3.6 mm, whereas the maximum size of theelement 1620 may correspond to the whole width of thepattern 1600. Accordingly, dimensions of theelement 1620 may be selected from the range between 3.6 mm and 830 mm. In one such embodiment, the dimensions of theelement 1620 are preferably 10 mm in one or more implementations. - In some implementations of robot navigation, the projected pattern may be regarded as being projected onto a flat floor. Those of ordinary skill in the related arts will readily appreciate that the methodology of the disclosure may be used to determine deviations from a flat floor.
- In some implementations, the projected pattern may comprise a fully illuminated polygon (e.g., a solid fill trapezoid without the pattern). In such cases, the reflected pattern (e.g., 330 in
FIG. 3B ) may be thresholded (e.g., at 80% brightness). A best fit bounding box analysis may be applied to the thresholded image in order to determine as to whether the reflected pattern may correspond to the projected trapezoid. If one or more “holes” are detected within the trapezoid in the reflected pattern, such holes may be regarded as obstacles within the path of the robot or even an actual hole in the floor (which for the purposes of many tasks, is an obstacle). - In one or more implementations, wherein the projected pattern may comprise a pattern (e.g., projected trapezoid and a pattern along its edge as illustrated in
FIG. 3A ) a block matching algorithm may be used to analyze the reflected pattern. Specifically, given a small patch of the projected pattern (e.g., selected from any subset of the pixels up to the full resolution of the projected pattern), the block matching algorithm may find the best match in the recorded image. The horizontal displacement (or vertical displacement depending on physical placement of projector and camera) of the patch from where it originated in the pattern to where it was found in the recorded image is then measured; in some cases, if no match is found then an appropriate “failure to match” is also recorded. The process may be applied to a plurality of individual patches within the image. These individual patches or “displacement images” may be used to detect objects and their relative distance to the robotic device; larger displacements correspond to closer objects. Regions with patches not found in the recorded image may correspond to obstacles. - As shown in
FIG. 15A , thepattern 1500 may comprise two (or more) columns ofrectangular elements 1502, and/or squares (e.g., pattern 1510). In some implementations, e.g., such as shown inFIG. 15B , thepattern 304 may comprise a plurality of elements of varying widths and/or height as illustrated bypatterns FIG. 15B . Height ofelements elements - In some implementations, one or more elements may be encoded using color, brightness, reflectivity, polarization, and/or other parameter of the carrier signal. By way of an illustration, the pattern may comprise checkerboard-like patterns shown in
FIGS. 15C-15D . Thepattern 1520 ofFIG. 15C may comprise a plurality of rectangular elements encoded using brightness (e.g., grayscale) comprisingwhite elements 1522 andblack elements 1524. Patterns shown inFIG. 15D may comprise one or more column of black and white triangular elements (e.g., 1560, 1564, 1566), rectangular elements (e.g., 1568, 1570, 1572), a combination thereof and/or other element shape and/or encoding method. Dimensions of individual elements (e.g., 1502, 1512, 1534, 1536, etc.) within the pattern may be configured to vary in order to produce reflected elements of approximately (e.g., within 10%) equal dimensions. - Returning now to
FIG. 3A , thepattern portion 302 may utilized for communication information (e.g., related to robot movements during trajectory navigation) into the environment, e.g., as shown in described below with respect toFIG. 12 . - In some implementations, the
pattern 300 may be projected using a light source (e.g., LED, light bulb, laser, and/or other source) and a light shaping mask. The light shaping mask may comprise an array comprising a plurality of elements. Individual elements within the array may be configured to, e.g., effectuate light intensity (brightness) modulation within the projected pattern. A portion of the elements within the array (e.g., corresponding to edges of thepattern 304 inFIG. 3A and/orelements 1524 inFIG. 15C and/or 1532, 1554 inFIG. 15B , may be characterized by reduced transmittance (e.g., increased opaqueness). A portion of the elements within the array (e.g., corresponding tocentral area 302 of thepattern 300 inFIG. 3A and/orelements FIGS. 15A, 15C may be characterized by an increased transmittance (e.g., reduced opaqueness). - In one or more implementations, the
pattern 300 may be projected using a digital light projection (DLP) MEMS technology, e.g., such as digital micromirror device (DMD) array produced by Texas Instruments, e.g., device dlp3000 (described in datasheet http://www.ti.com/lit/symlink/dlp3000.pdf, the foregoing being incorporated herein by reference in its entirety. DMD arrays may enable dynamic configuration and/or control of projected patterns and may allow a given projection component (e.g., 202 inFIG. 2A ) to produce a plurality of patterns with parameters (e.g., size, encoding configuration, pattern shape, and/or other parameters) of an individual pattern tailored for a given task. By way of an illustration of a cleaning operation, dimensions of thepattern 300 may be dynamically adjusted based on one or more of aisle width and/or speed of the cleaning robot. Content of thecenter area 302 inFIG. 3A may be adjusted based on movement parameter (e.g., direction of motion) of the robot. Pattern encoding (e.g., patterns described with respect toFIGS. 15A-15D ) may be selected based on ambient light conditions in order to obtain greater contrast. It will be recognized by those skilled in the arts that various other pattern projection and/or pattern selection implementations may be employed with the methodology of the disclosure. - In one or more implementations, wherein the projected pattern may not be used for information communication, the
pattern portion 302 ofFIG. 3A may comprise the grid pattern (e.g.,pattern 304 extended to envelop the area 302). -
FIG. 4A illustrates a top view of a pattern projected by the bistatic sensor apparatus of the disclosure disposed on a robotic device in accordance with one implementation. - The
pattern 430 may represent a footprint of a pattern (e.g., 300) projected by theprojector component 402 disposed on therobotic device 400. Thepattern 430 may be also referred to as the reflected pattern, e.g., such as thepattern 330 described above with respect toFIG. 3B . Thepattern 430 may comprise aperimeter portion 434 and acenter portion 432. In some implementations, theperimeter portion 434 may comprise a pattern encoded using brightness, color, and/or other property, e.g., as described above with respect toFIGS. 3A-3B . Theportion 432 may be used to project information related to task being executed by therobot 400. - The
pattern 430 may be characterized by thelateral dimension 426 that is configured approximately (e.g., within +/−10%) equal to thelateral dimension 436. In some implementations, the transverse (e.g., vertical)dimension 438 may be configured approximately (e.g., within +/−10%) equal to thedimensions lateral dimensions transverse dimension 438 may be analyzed in order to determine a presence of an object (e.g., awall 210 inFIG. 2A ) in front of the sensor. Thepattern 430 shown inFIG. 4A , may correspond to a pattern obtained in absence of objects and/or obstructions in the field of view of theprojector 402. Thepattern 430 may be sensed by thecamera 404 disposed on the robotic device. Thecamera component 404 may be spaced from the projector component by adistance 408. In some implementations, thedistance 408 may be selected between 0 and 1×width of the robotic device e.g., 0.83 m).Dimension 438 inFIG. 4A and/or 338 inFIG. 3B may be configured based on one or more parameters of a task being executed (e.g., robot speed of movement, object size, and/or other parameters). In some implementations,dimension 438/338 may be dynamically adjusted based on the current speed of the robot (e.g., increased with the increase in the speed).Curve 410 denotes angle of view of the transmitter component. In some implementations, an overlapping sensor placement (co-located transmitter/receiver) may be employed. - Parameters of the reflected pattern (e.g., a ratio of
dimension 436 to thedimension 426, a ratio ofdimension 436 and/or 426 to thedimension 438, absolute values of thedimensions pattern 430, an area of the reflected pattern, and/or other parameters may be determined and stored in non-volatile medium (e.g.,memory 714 inFIG. 7 ). Object detection process operable by the robotic device may utilize these parameters during navigation in order to detect objects. -
FIG. 4B is virtual world computer simulation illustrating a pattern projected by the bistatic sensor apparatus of the disclosure in accordance with one implementation. Thearrow 445 denotes center axis of the field of view of the camera component (e.g., 404 inFIG. 4A ). Lines denoted 448 illustrate projected rays.Curve 442 denotes angle of view of the camera component. In some implementations, the view angle (field of view) of the projector and/or camera may be adapted in accordance with a given task using, e.g., a lens assembly and/or other method. - The pattern shown in
FIG. 4B may comprise a checkered pattern comprised of brighter (e.g., 444) and darker (e.g., 446) elements. Dimensions of theelements - In some implementations, the pixel resolution of the camera used to capture (and then process) the
image 330 may comprise 1920 pixels in the horizontal dimension (e.g., 336 inFIG. 3B ), dimensions of the sub-pattern (e.g, 314, 312) may be selected to cover at least 5 pixel width (the more the easier) in the captured image. - It is noteworthy that in order to obtain an approximately uniform grid structure visible on a flat surface (such as shown by the
perimeter portion 334 inFIG. 3B ), the dimensions of the projected grid (312, 314 inFIG. 3A ) may be configured to changing (e.g., decrease) along the length dimension (308) of the projectedpattern 300. In other words, the dimensions of the grid projected closer to the robot (316) may be configured greater than the dimensions of the pattern projected further away from the robot (306). The above references minimum grid pattern dimensions (e.g., 5 pixels) may be satisfied at farther extend of the projected pattern (e.g., towards the edge 306). -
FIG. 4C illustrates one configuration of the field of view of bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. The bistatic sensor may comprise aprojection component 450 of the bistatic sensor apparatus that may be mounted to a robotic device (e.g., such as described above with respect toFIGS. 2A-2B and/or 4A . In some implementations of premises cleaning, the robotic device may be configured to detect objects that may be present in its path. The bistatic sensor may be configured to illuminate an area in front of the robotic device characterized by a width dimension 456 (426, 436 inFIG. 4A ). - The
projector component 450 may be configured to project the pattern at a distance 458 (414 inFIG. 4A ) in front of the robotic device. In some implementations, wherein the robotic device may move at a speed of 1 m/s thedistance 458 may be selected between 0.2 m and 5 m, e.g., 2 m in the implementation illustrated inFIG. 4C . It will be recognized by those skilled in the arts that the above speed and/or distance values are exemplary and serve to illustrate principles of the present disclosure. - In some implementations the
dimension 456 may be configured equal to the width of the robotic device (e.g.,dimension 435 of thedevice 400 inFIG. 4A ). Theprojector component 450 may be characterized by a horizontal field of view (FOV) 459 (410 inFIG. 4A ) comprising a portion of the area betweenrays FOV 459 may be configured in accordance with a target value of the pattern width (e.g., the dimension 456). By way of an illustration, for a projector mounted at 1 m height above a surface on a robot with width of 0.8 m, apattern width 456 may be equal to 0.8 m. In order to project the pattern with thedimension 456 equal to 0.8 m at a distance of 2 m away (e.g., the distance 458) the FOV of thecomponent 450 may be selected equal approximately 20°. - Projected pattern may be characterized by pattern resolution. As used herein, the term resolution as applied to the pattern being projected may be used to describe a smallest feature in the pattern that may be resolved by a receiving component (e.g., the
camera 404 inFIG. 4A ). In some implementations wherein the projected pattern may comprise a rectangle with dimensions 0.8 m by 2 m (e.g., thepattern 430 inFIG. 4A ) the pattern resolution may correspond to width of dark lines (e.g., 427 inFIG. 4A ) that may be configured equal about 0.01 m. In some implementations, wherein the projected pattern may comprise a pattern of elements (pattern 440 comprised ofelements FIG. 4B ) the pattern resolution may correspond to dimensions of theelements elements - In some implementations wherein the projected pattern may comprise a sub-pattern (e.g., such as described with respect to
FIGS. 10A-11 ) pattern resolution may correspond to dimensions of the sub pattern (e.g., 1012, 1022 inFIGS. 10B-11 ) that may be selected between 0.01 m and 0.1 m. - Receiving component of the bistatic sensor (e.g., the
camera component 404 inFIG. 4A ) may be characterized by receiving resolution. In some implementations, wherein the receiving component may comprise a camera (e.g., thecamera component 404 inFIG. 4A ) the receiving resolution may comprise camera resolution. Camera component may comprise a sensing element (e.g., CCD, APS, and/or other technology) characterized by sensor dimensions (e.g., 22.2×14.8 mm, 23.5×15.6 mm, 36 mm×24 mm, and/or other dimension values). The camera sensor may comprise an array of pixels and be characterized by pixel resolution (e.g., 320 pixels by 640 pixels, 3000 pixels by 4000 pixels, and/or other arrays). -
FIG. 4D illustrates a methodology for selecting resolution of the receiving component of the bistatic sensor apparatus of the disclosure, in accordance with one or more implementations. Thesensor 460 may comprise a plurality of pixels, e.g., 464. Size of individual pixel may be selected based on the pixel density (e.g., determined by dividing sensorlinear dimension 462 by number of pixels in the array). In some implementations wherein the receiving component may comprise an off-the-shelf component and/or the sensor size may be fixed, effective pixel size may be selected by adjusting number of pixels in the image (e.g., image resolution). By way of an illustration, when sampling a pattern of width W (e.g., 456 inFIG. 4C ) with a sensor of linear dimension L (e.g.,dimension 460 inFIG. 4D ) in order to resolve a feature of width w denoted byarrow 466 inFIG. 4D (e.g.,line 427 inFIG. 4A ) in the pattern, target minimum size of pixel (ps) 464 inFIG. 4D may be determined as -
ps=0.5L w/W. (Eqn. 1) - For a pattern width W of 0.8 m (i.e., 800 mm), feature width w of 10 mm, and sensor
- width L of 15 mm, a minimum pixel size may be selected at ps=0.09 mm.
- Methodology of Eqn. 1 may be utilized in order to determine lowest image resolution (in pixels) for detecting a given feature. For example, for a pattern width W=0.8 m, feature width w=10 mm and native camera sensor resolution of 3000 pixels×4000 pixels (width×height), minimum sampled image resolution better than 160 pixels in width.
-
FIG. 4E illustration configuration of the transmitter and receiver components of the bistatic sensor apparatus of the present disclosure, in accordance with one or more implementations. Sensor configuration methodology shown and described with respect toFIG. 4D , may be applied to a variety of sensing technologies e.g., video camera, sound waves, radio waves, and/or other types of sensors. The bistatic sensor apparatus ofFIG. 4D may comprise aprojector component 402 and areceiver component 404, e.g., such as described above with respect toFIG. 4A . The sensor apparatus ofFIG. 4D may be configured to detect anobject 470. Theobject 470 may be characterized by awidth dimension 474 and adepth dimension 472. For mutual orientation of theobject 470 and the projector center axis 478 (e.g., theaxis 458 ofFIG. 4C and/or 445 ofFIG. 4B ) the surface of theobject 470 that faces theprojector component 402 may be illuminated by the projected pattern (e.g., 440 inFIG. 4B ). One or more surfaces of the object 470 (e.g., the surface denoted 480) may not be illuminated by the projected pattern. If the receivingcomponent 404 is displaced from theprojection component 402 bydistance 408, the bistatic sensor may be configured to detect an unilluminated portion (hole) within the received pattern (e.g., such as described with respect toFIGS. 8A-8B , below). - In some implementations, the sensor may be configured to detect features and/or objects with dimensions of 10 mm×10 mm. In order to detect such features,
sensor component separation 408 and/or receiver resolution may be configured as follows.Dimension 476 of unilluminated portion of theobject 470 may be expressed as follows: -
d=l*cos(α) - where:
-
- l denotes a linear dimension (e.g., 472) of the object
unilluminated side 480; - d denotes a projection of the
unilluminated side 480 of theobject 470 on a direction parallel to the plane of the receiver array (e.g., denoted by line 484); - α denotes an angle between the
receiver axis 482 and the unilluminated side 480 (e.g.,angle 462 inFIG. 4E );
- l denotes a linear dimension (e.g., 472) of the object
- Given object distance D (478 in
FIG. 4E ) from theprojector 402 and the receiver-projector separation 408, in order to detect feature of dimension w in a pattern of a dimension W, the receiver resolution may be determined as follows -
rs=W/[w cos(a tan(D/PR))] (Eqn. 2) - where:
-
- rs denotes receiver resolution (minimum number of pixels per linear dimension of the receiving sensor, e.g., 462 in
FIG. 4D ); - w denotes minimum detectable feature dimension (e.g., 476 in
FIG. 4E ); - D denotes distance from the projector to the feature/object;
- PR distance between projector and receiver;
- W is the dimension of the projected pattern (e.g., 456 in
FIG. 4C ).
As described above with respect toFIG. 4C , a pattern projected at a distance 2.24 m from the projector may comprisedimension 456 of 0.8 m. In order to detect an object comprising a cube of dimensions 10 mm disposed at 2.24 m from the projector and for a projector-receiver distance of 0.2 m,dimension 476 of the unilluminated side may be about 0.9 mm. In order to detect a feature of 0.9 mm in size, camera resolution of at least 934 pixels along dimension 484 (pixels per width of the receiver array) may be used.
- rs denotes receiver resolution (minimum number of pixels per linear dimension of the receiving sensor, e.g., 462 in
- In some implementations, wherein maximum camera and/or image resolution may be given (e.g., 3000 pixels per width), receiver-
projector separation 408 may be determined using the formulation of Eqn. 2. By way of an illustration, a camera with resolution of 3000 pixels per width may be used to reduce thedimension 408 from 0.2 m to about 0.07 m thereby reducing dimensions of the bistatic sensor, e.g., such as illustrated inFIG. 4E . -
FIG. 5 illustrates an adaptive control apparatus for operating, e.g., the robotic apparatus ofFIG. 2A , according to one or more implementations. Theapparatus 500 may be configured for operation with a robotic control system (e.g., thepredictor component 640 described with respect toFIG. 6 ). Thepredictor apparatus 500 may comprise a feature detection (FD)component 500 comprised of one or more feature detectors.Individual feature detectors sensory input 502 in order to determine presence of one or more features in theinput 502. In some implementations, thesensory input 502 may comprise data from one or more sensors (e.g., video, audio, IR, RF, ultrasonic, weather, and/or other sensors) characterizing environment of the robot, robotic platform feedback (e.g., motor torque, battery status, current draw, and/or other parameter). In one or more implementations of visual data processing, the features that may be detected in the sensory input may comprise representations of objects, corner, edges, patches of texture, color, brightness, and/or other patterns that may be present invisual input 502; audio patterns (e.g., speech elements), and/or other persistent signal patterns that may be relevant to a given task. It is noteworthy, that a given pattern and/or data item (e.g., representation of an orange fruit on a tree and/or time of day) may comprise a relevant feature for one task (e.g., harvesting of oranges) and may be ignored by other tasks (e.g., navigation around trees). Theinput 502 may comprise theinput 602 described with respect toFIG. 6 . - Two or more of
individual feature detectors feature output 558. In one or more implementations, e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/542,391 entitled “FEATURE DETECTION APPARATUS AND METHODS FOR TRAINING OF ROBOTIC NAVIGATION” filed Nov. 14, 2014, theoutput 558 may comprise 8 texture (based on e.g., Laws masks) features, 15 edge (based on e.g., Radon transforms) features, 15 edge/corner (based on e.g., Harris operators) features, and 10 motion features. In some implementations, theoutput 558 may comprise output of a given feature detector (e.g., one ofFD - Various feature detection methodologies may be applied to processing of the
input 502. In some implementations, thefeature detectors -
Output 558 of thefeature detection component 550 may be provided tolearning component 560. In some implementations of visual input processing the output of the feature detection process may comprise information related to one or more of edges being present in an image (e.g., orientation and/or location); structure of brightness on scales that are smaller than the image (e.g., texture determined based on brightness variability on scale between 1 and 10 pixels for an image comprised of 800×600 pixels). In some implementations, feature representation may comprise motion information associated with pixels in the image, patches of color, shape type (e.g., rectangle, triangle, car, human, and/or shapes of other objects), shape orientation, size, and/or other characteristics. In one or more implementation wherein theinput 502 may comprise frames provided by two or more cameras (e.g., such as described in co-pending and co-owned U.S. patent application Ser. No. 14/326,374 entitled “APPARATUS AND METHODS FOR DISTANCE ESTIMATION USING STEREO IMAGERY”, filed Jul. 8, 2014 and/or co-owned and co-pending Ser. No. 14/285,385 entitled “APPARATUS AND METHODS FOR REAL TIME ESTIMATION OF DIFFERENTIAL MOTION IN LIVE VIDEO”, filed May 22, 2014, each of the foregoing being incorporated herein by reference in its entirety) thefeature output 558 may comprise depth information (e.g., determined based on analysis of the binocular disparity) related to one or more objects that may be present in the visual scene. - In one or more implementations wherein the feature detection process (e.g., operable by the component 550) may comprise template matching, the
output 558 may comprise information related to occurrence and/or characteristics of one or more patterns (e.g., landing pattern for an aircraft, parking stall marking for an autonomous vehicle, audio signature, and/or other patterns) being present in theinput 502. In some implementations wherein theinput 502 may comprise audio and/or other bands of mechanical waves of pressure and displacement, theoutput 558 may comprise one or more wave characteristic such as pitch, tone, amplitude, time envelope, duration, spectral energy distribution, spectral envelope, information about rate of change in the individual spectrum bands (e.g., cepstrum), pulse and/or tone code, speech pattern, and/or other characteristics. - In one or more implementations wherein the feature detection process may comprise processing of olfactory signals, the
output 558 may comprise indication of presence of one or more smells, chemical compounds, and/or other olfactory indications. - The
learning component 560 may be configured to minimize a discrepancy between predictedoutput 564 andoutput 578 of the combiner (e.g., theoutput 666 of thecombiner 664 inFIG. 6 ). In one or more implementations, the learning component may be configured to operate a supervised learning process comprising one or more of a neural network perceptron, support vector machine (SVM), a Gaussian process, a random forest, a k-nearest neighbor (kNN) mapper (e.g., a classifier/regression) process comprising, e.g., a look up table, and/or other approach. In one or more implementations of ANN predictor, thecomponent 560 learning process may comprise a full connection matrix described in, e.g., co-owned and co-pending U.S. patent application Ser. No. 14/265,113 entitled “TRAINABLE CONVOLUTIONAL NETWORK APPARATUS AND METHODS FOR OPERATING A ROBOTIC VEHICLE”, filed Apr. 29, 2014, incorporated herein by reference in its entirety. By way of an illustration of the learning component comprising an ANN, the full connection matrix may comprised a plurality of connections between the plurality of features in theinput 558 and one or more neurons of the output determination component (the output layer) 564 described below. - In some implementations, a random KNN approach, e.g., such as described in co-owned and co-pending U.S. patent application Ser. No. 14/588,168 entitled “APPARATUS AND METHODS FOR TRAINING OF ROBOTS”, filed Dec. 31, 2014, the foregoing being incorporated herein by reference in its entirety, may be used.
- In one or more implementations of online KNN learning process, memory buffer size may be configured to store between 500 sample pairs (input/output) and 50000 sample pairs. In some implementations, the memory size may be configured based on a size (e.g. number of bytes) configured to store an input/output pair. By way of an illustration, input features comprising a larger pixel patches and/or patches with higher pixel count (e.g., 200×200) may require greater memory buffer size and/or cause fewer samples to be stored in a given buffer size compared to input features comprising smaller patches (e.g., 20×20 pixels).
- In some implementations of online KNN, input storage policy may be configured as follows: given a new sample, if the buffer is not full (e.g., there may exist at least one available memory location) the sample may be stored in an available location; if the buffer is full, the sample may be stored at a random (occupied) memory location with a probability p determined as:
-
p_insert=memory_size/total_number_of_samples_processed; (Eqn. 3) - Accordingly, the probability of the sample being discarded may be determined as 1−p_insert.
- In one more implementations of online KNN, the storing policy may be configured based on the average distance between neighboring samples, i.e., average distance between any given sample in the input memory buffer and the plurality of N samples (N=5 in some implementations) with the smallest distance measure to it; given a new sample, N closest neighbor samples in the memory buffer may be determined; the new sample may be stored at a random buffer location with a probability p_insert that may be configured depending on the ratio of the distance of the sample to its nearest neighbors relative to the average distance between nearest neighbors in the memory buffer, e.g., as follows:
-
p_insert=1−[1−p_uniform_insert](s1/s2), (Eqn. 4) - where:
-
- p_uniform_insert is the uniform policy described before;
- s1 denotes average distance of new sample to neighbors; and
- s2 denotes distance of all samples in buffer to their neighbors.
In some implementations, the policy configured in accordance with Eqn. 4 may be configured to reduce probability of storing samples that may be already well represented in the memory.
-
Output 562 of thelearning component 560 may be provided tooutput determination component 564. In some implementations wherein the learning component may operate an ANN comprising a connectivity matrix, the output determination component may comprise one or more neurons configured to produce theoutput 566. By way of an illustration, theoutput component 564 may comprise neurons NR, NL operable to produce control output for right/left wheel of the robotic vehicle (e.g., 200 inFIG. 2A ). In one or more implementations of KNN mapper, the output component may comprise a table relating occurrence of a given input feature to a respective output. Theoutput 566 may comprise theoutput 648 described above with respect toFIG. 6 . The predictedoutput 566 may be provided to a combiner component (e.g., 664 inFIG. 6 ). - The
predictor apparatus 500 may comprise aperformance determination component 570. Thecomponent 570 may be configured to determine performance of the predictor operation based on the predicted output of thecomponent 564 provided viapathway 568 andinput 578. Theinput 578 may comprise, e.g., thetraining signal 604 comprising thecombiner output 664 described with respect toFIG. 6B . Thecomponent 570 may be configured to operate a performance determination process. In some implementations of continuous state space control wherein theoutput 566 may comprise a continuously valued parameter (e.g., velocity) the performance process may be configured based on a mean squared error determination operation. In some implementations of discrete state space control wherein theoutput 566 may comprise one or a plurality of discrete states, the performance process may comprise a cross entropy determination operation. Various other performance determination operations may be employed including, e.g., methodologies described in co-owned and co-pending U.S. patent application Ser. No. 13/487,499 entitled STOCHASTIC APPARATUS AND METHODS FOR IMPLEMENTING GENERALIZED LEARNING RULES”, filed Jun. 4, 2012, the foregoing being incorporated herein by reference in its entirety. -
Output 574 of theperformance evaluation component 570 may be provided to thelearning component 560. Theoutput 574 may comprise a performance measure configured to be used to update the learning process of thecomponent 560. In one or more implementations of ANN, the learning process adaptation may comprise modification of weights between units of the network. In some implementations of random forest classification, the learning process adaptation may comprise increment/decrement of entries associated with a given feature-output pair. - In some implementation, the
feature detection component 550 may be configured to detect features based on a pre-determined configuration (e.g., fixed state feature detection). In one or more implementations, thefeature detection component 550 may be configured to operate a learning process, comprising e.g., an ANN. The learning FD may be operated to predict occurrence of one or more features in theinput 502 based on occurrence of the respective features in one or more prior images. By way of an illustration of a robotic vehicle approaching a doorway along a straight trajectory, the learning FD may predicted occurrence of the doorway in a subsequent image based on detecting the doorway in one or more preceding images. The trained learning FD may be capable of approximating the features in a more computationally efficient manner (compared to programmed approach) by, e.g., taking advantage of the limited range of inputs the vehicle is going to find during operation. - In some existing approaches to offline learning, sensory input may be available for the duration of the training (training set). The availability of the whole set of sensor data may enable determination of one or more statistical parameters (e.g., mean brightness, variance, and/or other) that may be used for feature detection (e.g., input whitening, normalization, and/or other). Online learning methodologies described herein may access sensory data for present and/or prior trials but not for one or more subsequent trials.
- Limited availability of sensor data may obfuscate actual statistics of the sensor input. Additional operations (e.g., input manipulations, feature detection adaptation) may be required to improve accuracy of feature detection when processing sensor data during online training
- In some implementations of input processing during online training, online estimates of the input statistics may be obtained using methodologies described herein. Input processing may comprise background removal, scaling to a given range, clipping to a given range, outlier removal, and/or other operations. By way of an illustration, pixels of an image may be normalized by removing mean value and dividing the result by a standard deviation. The mean value for a given image may be obtained using an online running mean operation wherein pixel values of a plurality of preceding images and of the given image may be accumulated. In some implementations, the mean may be obtained using an exponential mean, a box cart average, and/or other averaging operations. Online input adaptation may improve accuracy of the feature detection process particularly in varying environments (e.g., changes in brightness, and/or other parameters).
- In some implementations, output of the feature detection process (e.g.,
output 558 of thecomponent 550 inFIG. 5 , comprising a plurality of features) may be normalized online (e.g., in upon availability of another version of features determined based on another version of the sensory input). In some implementations, input into the predictor may comprise features obtained using two or more FD (e.g., 552, 554, 556, 557 inFIG. 5 ). Values provided by individual FD process may be characterized by different range and/or mean values. In some implementations of a learning process configured based on a gradient approach, a zero mean unit variance input may provide more robust operation compared to inputs that have different mean and/or variance values. The feature normalization processing may comprise level adjustment (e.g., mean removal), range scaling (e.g., variance normalization), and/or other operations. The mean value for a given population of features may be obtained using an online running mean determination operation as follows. For a given feature of the plurality of features of theinput 558 two accumulators may be provided. In some implementations, the accumulators may comprise memory locations configured to store a floating point value (e.g., 32 bit, 64 bit, and/or other bit length). One accumulator may be configured to accumulate a sum of values of the feature; another accumulator may be configured to accumulate square of the feature values. If a feature is updated (e.g., based on processing another input frame) the accumulator may be updated. A counter may be used to store information related to the number of accumulated feature values (frames). Running mean feature M value may be determined based on dividing contents of the value accumulator by the number of accumulated values; an estimate of the feature variance value may be determined based on dividing contents of the square value accumulator by the number of accumulated values and subtracting square of the running mean value M. - Online training methodology of the disclosure may enable adaptation of responses by a robotic device during training and/or operation. In some implementations, training and operation may occur contemporaneously with one another. During initial portion of learning, a trainer may provide training input more frequently to the learning process of the robotic device. Upon observing performance that may match target performance (e.g., lack of collisions with objects) the trainer may refrain from (and/or altogether cease) providing training input. Computations related to input processing and/or learning process adaptation may be performed by a computational apparatus disposed onboard of the robotic device. In some implementations, the computational apparatus may comprise a specialized computerized apparatus e.g., bStem™ integrated platform, described in, http://www.braincorporation.com/specs/BStem_SpecSheet_Rev_Nov11_2013.pdf, the foregoing being incorporated herein by reference in its entirety, and/or the
apparatus 700 shown and described with respect toFIG. 7 below) configured to operate a learning process. The bStem integrated platform may be characterized by energy efficiency that may be sufficiently high in order to enable autonomous operation of a robotic device using an onboard electrical power source. In some implementations, the energy efficiency may be characterized by power consumption between 1.5 W and 2.5 W while providing general purpose (e.g., central processing unit (CPU)) processing capacity equivalent to about 2.1×108 floating point operations per second (FLOPS) and contemporaneous parallelized (e.g., graphical processing unit (GPU)) processing capacity of equivalent to about 5×1011 FLOPS to 6×1011 FLOPS. In some implementations, a robotic device comprising sensor components and a processing component capable of performing input processing, learning process operation, communications and/or other operations configured to enable the robotic device to learn navigation tasks. - In one or more implementations, the learning process operation may be effectuated by a BrainOS™ software platform (developed by the Assignee hereof) that may include software configured to instantiate modules and/or robotic brain images, and containing learning algorithms not limited to artificial neural networks and other machine learning algorithms. The BrainOS software platform may provide functionality for a software module that may be typical of an operating system including but not limited to: saving, loading, executing, duplicating, restoring, reverting, check pointing, analyzing, debugging, and uploading/downloading operations to/from remote cloud storage. In some implementations, the BrainOS modules or robotic brain images may be used with the intent to control a robotic device and be broadly construed to include actuators and switches as may be present in a home automation system. Performing of input processing and/or adaptation operations onboard in real time may reduce delays that may be associated with transmission of data off the robotic device, improve learning performance and/or reduce training time.
-
FIG. 6 illustrates anadaptive control system 640 comprising a predictor and a combiner components configured for operating, e.g., the robotic apparatus ofFIG. 2A , according to one or more implementations. Thesystem 640 ofFIG. 6 may be configured to operate a robotic platform 680 (e.g., thevehicle 200 ofFIG. 2A ) based on analysis of sensor information. - The
system 640 may comprise anadaptive predictor 610 configured to produce predictedcontrol output 618. Thepredictor 610 may be trained using acorrector component 650 using online training methodology described herein. The training may be performed by a trainer performing a target task (e.g., following a trajectory within thepremises 100 ofFIG. 1 ) by therobotic device 680. In some implementations, thecorrector component 650 may comprise a computerized agent (e.g., comprising a trained adaptive controller) configured to operate therobotic device 680 in accordance with a target trajectory. In some implementations, thecorrector component 650 may comprise a remote control handset comprising a wireless signal transmitter (e.g., IR, RF, light) such as, e.g., described in co-owned and co-pending U.S. patent application Ser. No. 14/244,892 entitled “SPOOFING REMOTE CONTROL APPARATUS AND METHODS”, filed on Apr. 3, 2014, the foregoing being incorporated herein by reference in its entirety. Theoutput 652 of thecomponent 650 may comprise one or more instructions and/or signaling (corrector instructions and/or signals) configured to cause therobotic device 680 to perform an action (e.g., execute a turn). - The
corrector 650 operation may be characterized by a control state space. In some implementations of analog state space control wherein the corrector output may comprise a target control parameter, theinstructions 652 may comprise the target velocity V and/or the target steering angle ω, e.g., shown in Table 2. An “override” indication may be utilized in order to convey to thecombiner 664 that thecorrection instructions 652 may take precedence (override) theprediction 618 inFIG. 6 . - In some implementations of analog state space correction, wherein the corrector output may comprise a target correction (adjustment) to the current value of velocity V and/or current steering angle ω. If the corrector output comprises zero (null) signal, the robotic platform may continue its operation in accordance with the current velocity V and/or current steering angle ω.
- In one or more implementations of discrete state space correction, actions of the robot may be encoded into a plurality of discrete states (e.g., 9 states as shown in Table 2, states, wherein 8 states may indicate 8 possible directions of motion shown in Table 2, one state for “stay-still” and one for “neutral”, and/or other state representations). In some discrete state implementations, a default state value may be assigned to the neutral state so that if the corrector may output a neutral signal, the predictor may be able to control the robot directly.
- In some implementations of a probabilistic state space control, actions of the robot may be represented by a 9-element vector indicating probabilities associated with a respective state. The
combiner 664 may be configured to apply a multiplicative operation to the predicted output and the corrector output in order to determine a distribution associated with a target control state. - In some implementations the
combiner component 664 ofFIG. 6 may be configured to implement an override functionality wherein anon-zero corrector output 652 may be provided as thecombiner output 666; the predictedcomponent 618 may be ignored. In one or more implementation of override combiner for analog control (e.g., continuous state space), an override indication may be used to convey to the combiner that the correction component (e.g., 650 inFIG. 6 ) may override (take precedence) over the predicted component (e.g., 618 inFIG. 6 ). - In some implementations the
combiner component 664 ofFIG. 6 may be configured to implement an additive combiner process wherein thecombiner output 666 ofFIG. 6 may comprise a sum of the predictor output and the corrector output. - In some implementations the
combiner component 664 ofFIG. 6 may be configured to implement a probabilistic combiner process. The probabilistic combiner may be employed with the probabilistic control space. The probabilistic combiner process may be used to produce combinedoutput 666 ofFIG. 6 configured based on a multiplication operation of the predicted distributions and the corrector distribution to determine an output distribution over possible states. - The
system 640 may further comprise asensor component 606 configured to provide information related to task execution by therobotic device 680. In some implementations, such as navigation, classification, object recognition, and/or obstacle avoidance, thesensor 606 may comprise a receiver component (e.g., thecamera 204 inFIG. 2A ) configured to detect a pattern transmitted by a transmitter component (e.g., 202 inFIG. 2A ). The information theinformation 602 provided by thecamera component 606 may comprise one or more digital images (e.g., theimage 330 inFIG. 3B ). - The
system 640 may comprise an interface component 654 (also referred to as an adapter) configured to detectinstructions 652. In some implementations, theinterface component 654 may provide one ormore output channels 648 whereinindividual output channels 648 may be configured to convey information associated with individual control actions, e.g., such as illustrated in Table 1, below: -
TABLE 1 Action Channel 1 Channel 2Channel 3Channel 4 Forward 1 0 0 0 Backward 0 1 0 0 Left 0 0 1 0 Right 0 0 0 1 - The
adapter component 654 may be configured to adapt the format of theinstructions 652 to a specific format of thecombiner 664 and/or the learning process of thepredictor 610. By way of an illustration, thepredictor 610 learning process may be configured to operate using three discrete states wherein a state value “1” may denote activation of a given signal (e.g., motor on); a state value of “0” may denote signal de-activation (e.g., motor off); and a high impedance value (e.g., “0.5”) may be configured to leave the signal as is (i.e., in an active or inactive state). - In some implementations of binary control, the
adapter component 654 may convertbinary control 652 into the above discrete states, in some implementations. By way of an illustration, a “FORWARD” instruction may be expressed as {1, 0, 0, 0} whileoutput 648 of theadapter component 654 may be configured as {1, Z, Z, Z}. In some implementations, theadapter 654 may receive such information (e.g., shown in Table 6) from atranslation component 668 viapathway 662. Thetranslation component 668 may comprise a bi-directional look up table comprising transcoding information (e.g., information in Table 2). - The
adaptive predictor 610 may operate a learning process configured to produce theoutput 618. In some implementations of robotic operation and/or control, theoutput 618 may comprise signals and/or instructions corresponding to a respective channel 648 (e.g., commands forward, backward, left, right illustrated in Table 2). Thepredictor 610 learning process may be configured based on teachinginput 604, comprising output of thecombiner 664. In some implementations of robotic operation and/or control, theteaching input 604 may comprise a control signal associated with the target action (target output). - In some implementations, the
predictor 610 learning process may be effectuated using a feature learning framework such as described in, e.g., co-owned and co-oending U.S. patent application Ser. No. 14/265,113 entitled “TRAINABLE CONVOLUTIONAL NETWORK APPARATUS AND METHODS FOR OPERATING A ROBOTIC VEHICLE”, filed Apr. 29, 2014, incorporated supra. - The
adaptive predictor 610 and thecombiner 664 may cooperate to produce acontrol output 666 useful for operating therobotic device 680. In one or more implementations, theoutput 666 may comprise one or more motor commands configured to cause one or more actions (e.g., pan camera to the right, turn right wheel forward, and/or other actions), configure sensor acquisition parameters (e.g., use higher resolution camera mode, and/or other parameters), and/or other commands. In some implementations, theoutput 666 of thecombiner 664 may be coupled to anadapter component 676. Theadapter component 676 may be configured to transform thecombiner output 666 to format 678 that may be compatible with thedevice 680. Theadapter component 676 may be provided with information for transcoding predictor signal format into robot-platformspecific format 678. In some implementations, theadapter component 676 may receive such information from acomponent 668 viapathway 658. In some implementations, theadapter component 654 and/oradapter component 676 may be operable to implement transformations illustrated in, e.g., Table 2. - In some implementations of analog control and/or analog correction modes of operation of the
apparatus 640, theadapter component 676 may be configured to rescale the drive and/or steering signals to an appropriate range for the motors of therobotic platform 680. - In some implementations of discrete state space control mode of operation of the
apparatus 640, theadapter component 676 may be configured to convert aninteger control output 666 into a steering/drive command for the motors of therobotic platform 680. - In some implementations of stochastic control mode of operation of the
apparatus 640, theadapter component 676 may be configured to perform an argmax of the control vector, in order to obtain, e.g., a steering/drive command. In some implementations, theadapter component 676 may be configured to perform a weighted average operation, usingoutput values 666 that may be associated with one or more control states (e.g., shown in Table 1) in order to determine a most appropriate control output (e.g., average probability) that may correspond to a value between these states. - In some implementations, the
predictor 610 and thecombiner 664 components may be configured to operate one or more of a plurality of robotic platforms. Thecombiner output signal 666 may be adapted by theadapter component 676 in accordance with a specific implementation of a givenplatform 680. In one or more implementations of robotic vehicle control, the adaptation by thecomponent 676 may comprise translating binary signal representation 620 into one or more formats (e.g., pulse code modulation) that may be utilized by given robotic vehicle. Co-owned and co-pending U.S. patent application Ser. No. 14/244,890 entitled “APPARATUS AND METHODS FOR REMOTELY CONTROLLING ROBOTIC DEVICES”, filed Apr. 3, 2014, incorporated supra, describes some implementations of control signal conversion. - In some implementations of the
component 676 corresponding to the analog control and/or analog corrector implementations, the adapter may be further configured to rescale the drive and/or steering signals to a range appropriate for the motors and/or actuators of theplatform 680. - In some implementations of the discrete state space control implementation of the
corrector 650, thecomponent 676 may be configured to convert an integer control index into a corresponding steering/drive command using, e.g. a look up table, shown in Table 2. The control state space transformation illustrated in Table 2 may be employed by a controller apparatus, e.g., described with respect toFIG. 6 . In some implementations of robotic vehicle navigation (e.g., 200 inFIG. 2A ) the control state space transformation shown in Table 2 may be characterized by a drive component (e.g., linear velocity v) and a turn component (e.g., angular velocity ω). The component values (v,ω) that may be applied to motors of therobotic device 102 ofFIG. 1 may be selected from a range between 0 and 1, as shown Table 2. In some implementations, thepredictor 610 may be configured to operate using one or more discrete states. A mapping may be employed in order to transfer control commands from a platform space (e.g., continuous range) into discrete states. Rectangular areas of the continuous state space may correspond to the following discrete actions listed in Table 2: -
TABLE 2 V value ω value Action [⅔ ÷ 1] [0 ÷ ⅓] FORWARD- LEFT [⅔ ÷ 1] [⅓ ÷ ⅔] FORWARD [⅔ ÷ 1] [⅔ ÷ 1] FORWARD RIGHT [⅓ ÷ ⅔] [0 ÷ ⅓] LEFT [⅓ ÷ ⅔] [⅓ ÷ ⅔] STILL [⅓ ÷ ⅔] [⅔ ÷ 1] RIGHT [0 ÷ ⅓] [0 ÷ ⅓] BACK- LEFT [0 ÷ ⅓] [⅓ ÷ ⅔] BACK [0 ÷ ⅓] [⅔ ÷ 1] BACK- RIGHT
A value (v,ω) falling within one of the platform space portions is translated to the associated respective discrete control command. For example, a combination of the value of linear velocity V falling within the range [2/3÷1] and the value of angular velocity co falling within the range [2/3+1] may produce a FORWARD RIGHT action. - In some implementations of the
adapters control space corrector 650 implementations, theadapter 654 may be configured to apply an argmax operation (i.e., the set of values for which a corresponding function attains its largest resultant value) to the control vector so as to transform the continuous control data into discrete steering/drive commands corresponding to actions shown Table 2. In one or more continuous signal adapter implementations, the adapter may be configured to apply an interpolation operation between two or more activation control states to determine a control command corresponding to an intermediate value between these states. - In some implementations the
adapter 654 and/or 676 may be configured to map the user's control signal in (velocity v, rate of rotation w) space (v,w) into a vector of dimension N; and the adapter may be configured to map a vector of dimension N into a control signal in the space (v,w). By way of an illustration of a continuous signal adapter implementation, a control vector C may be configured in a range [[0, 1]̂2] (where R̂n is used to define an n-dimensional range (i.e., a square area in this case)). The individual element of the control vector C may contain individual control commands (for example a pair of analog signals for turning a remote-controlled vehicle, and a drive signal for driving the remote-controlled vehicle forward). - In some implementations of encoding a control signal comprising a bi-polar velocity v signal and rate of rotation w, an encoder (e.g., the
adapter 654 inFIG. 6 ) may be configured to rectify one or both continuous components (e.g., v and/or w) into a range [−1, 1]. Discretizing the continuous components (e.g., v and/or w) into a discrete range of values (e.g., (−1, −0.5, 0, 0.5, 1) facilitate control signal determination by the predictor (e.g., 610 inFIG. 6 ). - In some implementations of state space for vehicle navigation, the actions of the
platform 680 may be encoded using, e.g., a 1-of-10 integer signal, where eight (8) states indicate 8 possible directions of motion (e.g., forward-left, forward, forward-right, left, right, back-left, back, back-right), one state indicates “stay-still”, and one state indicates “neutral”. The neutral state may comprise a default state. When the corrector outputs a neutral state, the predictor may control the robot directly. It will be appreciated by those skilled in the arts that various other encoding approaches may be utilized in accordance with controlled configuration of the platform (e.g., controllable degrees of freedom). - In some implementations of control for a vehicle navigation, the action space of the
platform 680 may be represented as a 9-element state vector, e.g., as described with respect to Table 2. Individual elements of the state vector may indicate the probability of the platform being subjected to (i.e., controlled within) a given control state. In one such implementation,output 618 of thepredictor 610 inFIG. 6 may be multiplied with theoutput 648 of thecorrector 650 in order to determine probability of a given control state. - Training illustrated and described with respect to
FIGS. 2-3 may be implemented using an online training approach. As used herein, the term “online training” or “training at runtime” may be used to refer to training implementations where training time intervals and operation time intervals overlap and/or coincide with one another. During online learning, a robot may navigate a trajectory based on control commands generated by a learning process of the robot. At a given time instance, the robot may receive a teaching input, modify the learning process based on the teaching input and the learning process configuration (e.g., an artificial neuron network (ANN) a look-up table (LUT), and/or other configuration), and subsequently navigate the trajectory based on the modified process thus timely incorporating the teaching input. In some implementations, in a given online learning trial, the configuration of the adaptive controller may be adjusted based on teaching input determined during the trial so as to determine controller output for that trial. By way of an illustration, the actions 206, 216 may be executed during a single trial (or a portion thereof) wherein the action 216 may be performed based on an online adjustment of the learning parameters associated with the action 206 execution. - In one or more implementations, e.g., such as described in co-pending and co-owned U.S. patent application Ser. No. 14/265,113 entitled “TRAINABLE CONVOLUTIONAL NETWORK APPARATUS AND METHODS FOR OPERATING A ROBOTIC VEHICLE”, filed Apr. 29, 2014, incorporated supra, the learning process may comprise an ANN comprising an input layer of nodes (e.g., configured to receive sensory input) and an output layer of nodes (e.g., configured to produce output actions (motor command)).
- The network may be configured to receive one or more images from a camera and learn to predict the motor output signal from these images in real-time. This learning may be configured based on error back-propagation algorithm, which consists of computing a “cost”—a scalar value quantifying the discrepancy between the predicted motor signal and the actual motor signal, and minimizing the trainable parameters of the convolutional network with respect to this cost using gradient-descent.
- Nodes of the input layer may be coupled to nodes of the output layer via a plurality (array) of connections. Layer-to-layer connectivity may be characterized by a matrix containing information related to which nodes of one layer connected to nodes of the other layer. In some ANN implementations, a given node of the input layer may be connected to every node of the output layer so that a given node of the output layer may be connected to every node of the input layer. Such connectivity may be referred to as all-to-all and/or fully connected. Various other connectivity techniques may utilized such as, e.g., all to some, some to some, random connectivity, and/or other methods.
- In some implementations, the ANN may comprise additional (hidden) layers of nodes. Pair of layers may be connected by a convolutional kernel and/or a fully connected weight matrix (e.g., implementing all-to-all connectivity).
-
FIG. 7 illustrates a computerized system configured to implement the bistatic sensing methodology of the disclosure, according to one or more implementations. - The
system 700 may comprise a learning configuration (robotic brain)component 712 for controlling the robotic apparatus. The learning configuration component may be logically implemented within a processor that executes a computer program embodied as instructions stored in non-transitory computer readable media, and configured for execution by the processor. In other embodiments, the robotic brain may be implemented as dedicated hardware, programmable logic (e.g., field programmable gate arrays (FPGAs), and/or other logical components), application specific integrated circuits (ASICs), and/or other machine implementations.Additional memory 714 andprocessing components 716 may be available for other hardware/firmware/software needs of the robotic device. - The
sensor components 720 may enable the robotic device to accept stimulus from external entities. Input stimulus types may include, without limitation: video, audio, haptic, capacitive, radio, accelerometer, ultrasonic, infrared, thermal, radar, lidar, sonar, and/or other sensed inputs. In some implementations, thesensor component 720 may comprise a projector and a receiver components, e.g., such as described above with respect toFIGS. 2A-2B and/or 4A . The sensor component may comprise a camera configured to provide one or more digital image frames to theprocessing component 716. - The
processing component 716 may operate an object detection process of the disclosure. - The
processing component 716 may interface with the user interface (UI)components 718,sensory components 720, electro-mechanical components 722,power components 724, and communications (comms)component 726 via one or more driver interfaces and/or software abstraction layers. In one or more implementations, thepower components 724 may comprise one or more of a direct current, an alternating current source, a mechanical coupling, an energy accumulator (and/or a mechanical energy means (e.g., a flywheel, a wind-up apparatus), a wireless charger, a radioisotope thermoelectric generator, a piezo-generator, a dynamo generator, a fuel cell, an internal or external combustion engine, a pneumatic power source, a hydraulic power source, and/or other power sources. - Additional processing and memory capacity (not shown) may be used to support these processes. However, it will be appreciated that the aforementioned components (e.g.,
user interface components 718,sensor components 720, electro-mechanical components 722) may be fully controlled based on the operation of the learningconfiguration 712. Supplemental memory and processing capacity may also aid in management of the controller apparatus (e.g. loading executable code (e.g., a computational brain image), replacing the executable code, executing operations during startup, and/or other operations). As used herein, a “computational brain image” may comprise executable code (e.g., binary image files), object code, bytecode, an array of weights for an artificial neuron network (ANN), and/or other computer formats. - Consistent with the present disclosure, the various components of the device may be remotely disposed from one another, and/or aggregated within one of more discrete components. For example, learning configuration software may be executed on a server apparatus, and control the mechanical components of a robot via a network or a radio connection. In another such example, multiple mechanical, sensory, and/or electrical units may be controlled by a single robotic brain via network/radio connectivity.
- The electro-
mechanical components 722 include virtually any electrical, mechanical, and/or electro-mechanical component for sensing, interaction with, and/or manipulation of the external environment. These may include, without limitation: light/radiation generating components (e.g. light emitting diodes (LEDs), infrared (IR) sources, incandescent light sources, etc.), audio components, monitors/displays, switches, heating elements, cooling elements, ultrasound transducers, lasers, camera lenses, antenna arrays, and/or other components. - The electro-
mechanical components 722 may further include virtually any type of component capable of motion (e.g., to move therobotic apparatus 700, manipulate objects external to therobotic apparatus 700 and/or perform other actions) and/or configured to perform a desired function or task. These may include, without limitation: motors, servos, pumps, hydraulics, pneumatics, stepper motors, rotational plates, micro-electro-mechanical devices (MEMS), electro-active polymers, and/or other motive components. The components interface with the learning configuration and enable physical interaction and manipulation of the device. In some implementations of robotic cleaning devices, the electro-mechanical components 722 may comprise one or more of a vacuum component, brush, pump, scrubbing/polishing wheel, and/or other components configured for cleaning/maintaining of premises. Such components enable a wide array of potential applications in industry, personal hobbyist, building management, medicine, military/intelligence, and other fields (as discussed below). - The
communications component 726 may include one or more connections configured to interact with external computerized devices to allow for, inter alia, management and/or control of the robotic device. The connections may include any of the wireless or wireline interfaces discussed above, and further may include customized or proprietary connections for specific applications. - The
power system 724 may be configured to support various use scenarios of the device. For example, for a mobile robot, a wireless power solution (e.g. battery, solar cell, inductive (contactless) power source, rectification, and/or other mobile power source) may be appropriate. However, for fixed location applications which consume significant power (e.g., to move heavy loads, and/or other power intensive tasks), a wall power supply (or similar high capacity solution) may be a better fit. In addition, in some implementations, the power system and or power consumption may be configured with the training of therobotic apparatus 700. Thus, the robot may improve its efficiency (e.g., to consider power consumption efficiency) through learned management techniques specifically tailored to the tasks performed by the robotic apparatus. -
FIGS. 8A-8B illustrate a pattern projected by the bistatic sensor in presence of an depicting an object within the sensor field of view, in accordance with one implementation. - A projector component 802 (e.g., the
component 202 described above with respect toFIG. 2A ) may be used to project a pattern. Axis of the projector field of view may be denoted byarrow 810. Anobject 808 may be present in the field of view of thetransmitter 802. A cube is selected to illustrate theobject 808 for clarity. As shown inFIG. 8A , one or more sides of the object (e.g., side denotes 812) may not be irradiated (illuminated) by the projected pattern. Although theside 812 may be visible in the field of view of the receiver component (e.g., the camera 804) absence of the irradiation signal from the projector may cause theside 812 to appear in the received image as unilluminated area (also referred to as a hole). -
FIG. 8B illustrates a virtual world simulation depicting an unilluminated portion (a hole) 822 in the receivedpattern 820 due to presence of theobject 830 in the field of view of the projector, in accordance with one or more implementations.Icon 832 denotes location of the bistatic sensor apparatus,arrow 834 denotes orientation of the view field of the sensor. The projected pattern may comprise a checkered pattern comprised ofelements object 820 protruding above the ground level may cause the unilluminated area (hole) 822 to appear within the received image. The received pattern (e.g., 820 inFIG. 8B ) may be analyzed using any applicable methodologies including these described herein, in order to determine presence of unilluminated area (hole). Occurrence of thehole 822 in the received pattern may indicate an obstacle being present in front of the robotic device. - In some implementations, analysis of the received pattern may be used to determine presence of a wall and/or another object that may extend beyond (in width/height) an area covered by the bistatic sensor field of view.
FIG. 9A illustrates distortion of a pattern projected by thecomponent 402 and due to presence of a wall in front of the projector, in accordance with one implementation. The reflectedpattern 900 may be configured based on a projected pattern (e.g., 300 inFIG. 3 ) that has been reflected partially by thefloor 922 and partially by awall 920 in front of therobotic device 400.Line 924 denotes boundary between thefloor 922 and thewall 920. Thepattern portion 902 reflected by the floor may comprise a rectangular shape ofdimensions pattern portion 902 may comprise aperimeter portion 914 comprised of a plurality of elements (e.g., such as described above with respect toFIGS. 3B and/or 15A-15D ). - The
pattern portion 904 reflected by the wall may comprise a non-rectangular shape (e.g., a trapezoid) ofheight 908, andwidths pattern portion 904 may comprise aperimeter portion 916 comprised of a plurality of elements (e.g., such as described above with respect toFIGS. 3A-3B and/or 15A-15D ). - The received
pattern 900 may be analyzed (e.g., bycomponent 716 described with respect toFIG. 7 ) in order to determine presence of an object in front of therobotic device 400. Analysis of thepattern 900 may comprise operations such as, e.g., thresholding (e.g., at 80% brightness). A best fit bounding box analysis may be applied to the thresholded image in order to determine whether the reflected pattern corresponds to the projected trapezoid. If one or more “holes” are detected within the trapezoid in the reflected pattern, then the detected holes may be regarded as obstacles within the path of the robot or even an actual hole in the floor (which for the purposes of many tasks, is an obstacle). - In one or more implementations, when the projected pattern includes a pattern (e.g., projected trapezoid and a pattern along its edge as illustrated in
FIG. 3A ) a block matching algorithm may be used to analyze reflected pattern. Specifically, given a small patch of the projected pattern (e.g., from 2×2 pixels up to the full resolution of the projected pattern), the block matching algorithm finds the best match in the recorded image. The horizontal displacement (or vertical displacement, depending on physical placement of projector and camera) of the patch from where it originated in the pattern to where it was found in the recorded image is then measured. In some variants, if no match is found that is also recorded. The process may be applied to a plurality of individual patches within the image. In this manner, such “displacement image” processing may be used to detect objects and their relative distance; larger displacements correspond to closer objects. Regions with patches not found in the recorded image may correspond to obstacles. -
FIG. 9B illustrates a virtual world simulation of a wall-induced pattern distortion as sensed by the sensor apparatus of the present disclosure. Thepattern 950 may comprise a checkered pattern comprised ofelements FIG. 3 ) that has been reflected partially by the floor (pattern portion 956) and partially by a wall (pattern portion 958) in front of the robotic device 940. -
FIGS. 10A-11 illustrate use of a sub-component within a projected pattern for detecting presence of an object in accordance with one or more implementations.Images FIGS. 10A-11 may be obtained by a camera component of a bistatic sensor disposed on a robotic device (e.g.,component 204 disposed on thedevice 200 ofFIG. 2A ). The projected pattern may be configured in a variety of ways, e.g., comprise aperimeter portion 304 and a body (center)portion 302 ofFIG. 3A ,pattern 440 ofFIG. 4B , patterns shown inFIGS. 15A-5D , and/or other patterns. The projected pattern may further comprise a sub-pattern element. In some implementations, e.g., such as shown and described with respect toFIGS. 10A-11 , the sub-component may comprise acrosshatch 1012. The sub-component 1012 may be projected by the projector component (e.g., 202 inFIG. 2A ). Thecomponent 202 may comprise an adjustable/switchable filter and/or mask configured to enable generation of, e.g., thepattern 300 and/or thesub-pattern element 1012. In some implementations the sub-component 1012 may projected by another component (e.g., a red-dot LED, and/or a laser component. - An object (e.g., ball) may be present in the field of view of the bistatic sensor.
FIG. 10A illustrates receivedimage 1000 wherein theball 1006 may obscure the sub-pattern. The receivedimage 1000 may comprisefloor reflections 1008 and/or wall reflections (not shown).FIG. 10B illustrates receivedimage 1010 wherein the sub-pattern 1012 may be projected onto the ball (denoted by the circle 1016). Theball representation 1016 inFIG. 10B may be shifted vertically compared to therepresentation 1006 inFIG. 10A . Presence of a feature (e.g., 1016) and/or detection of the sub-pattern 1012 in the received image (e.g., as shown inFIG. 10A ) may indicate that an object may be present in front and at a distance of the robot (e.g., 200 inFIG. 2A ). Presence of a feature and/or absence of the sub-pattern (e.g., as shown inFIG. 10B ) may indicate that an object may be present in close proximity to the robot (e.g.,device 200 inFIG. 2A ). In some implementations, theimage 1000 may be obtained when the object is closer than the height of the projector (e.g., 1 m from the robot when theprojector 202 may be mounted 1 m above the floor). - In some embodiments, the bistatic sensor may be configured to detect the presence of an object in the range of the projection (e.g., along the extent denoted by
arrow 286 inFIG. 2B ). In some implementations, the detection range may be configured to span from 0.2 m to 5 m, with an optimal acuity range between 2 m and 4 m from the robotic device. In one such variant, the optimal acuity range refers to the range of distance suitable for typically expected operation. Those of ordinary skill in the related arts will readily appreciate that still other implementations may have greater or shorter ranges, the foregoing being purely illustrative. - The received
image 1020 shown inFIG. 11 may comprisefloor reflections 1028, sub-pattern 1022, and/or wall reflections (not shown). The configuration shown inFIG. 11 may correspond to sub-pattern reflections in absence of objects. Comparingimage FIGS. 11 and 10B , respectively, it may be concluded that presence of an object (e.g., 1016) inFIG. 10B may cause reflection of the sub-pattern 1012 to occur at a greater height (e.g., 1014) when compared toheight 1024 of the sub-pattern 1022 reflection inFIG. 11 occurring in absence of objects. In some implementations, the difference ofheights FIG. 2C .FIG. 2C depicts a signal reflected by an object disposed in field of view of the bistatic sensor of the disclosure disposed on a robotic apparatus. Therobotic device 251 may comprise a sensor apparatus comprising a light projector component 252 (e.g., such as described above with respect toFIG. 2B ) and a camera component comprisingimaging sensor 255. The projector component may be configured to emit a signal along apath 275. When an object may be present in front of the projector, the signal may reflect from theobject 291. The signal reflected from the object may arrive at thesensor 255 alongpath 277 at alocation 271. If no object may be present in front of the projector, the signal transmitted by the projector may propagate along path (shown by broken line 295). The projected signal may be reflected by the surface at alocation 289. The signal reflected at thelocation 289 may propagate back to thesensor 255 alongpath 293. The signal reflected at thelocation 289 may arrive at thesensor 255 at alocation 273.Location 273 may be spaced vertically from thelocation 271 bydistance 285.Distance 285 may correspond to difference betweendistance FIGS. 10B, 11 . The magnitude of thedistance 285 may be calculated based ondistance 267 between therobot 251 and theobject 291 anddistance 281 between the object and thelocation 289. - In some implementations, the pattern projection methodology of the disclosure may be used to communicate (also referred to as advertise) information related to operation of a robotic device into environment of the robotic device.
FIG. 12 illustrates advertising into the environment information related to trajectory of a robot via a projected image, in accordance with one or more implementations. A robotic device may comprise thedevice 200 ofFIG. 2A and/or 400 ofFIG. 4A . The robotic device may comprise a projector component (e.g., 202 inFIG. 2A and/or 402 inFIG. 4A ). The projector component may be use to project a pattern, e.g., thepattern 1200 shown inFIG. 12 . Thepattern 1200 may comprise acenter portion 1202 and a perimeter portion. The perimeter portion may comprise a pattern, e.g., thepattern FIGS. 3A-3B . Thecenter portion 1202 may be used to project a static or an animated image indicating action being performed by the robot. By way of an illustration, theportion 1202 may comprise an image of arobot 1210 with anarrow 1214 superimposed thereupon. Thearrow 1214 may indicate forward motion of the robot. The length of thearrow 1214 may be configured based on the speed (e.g., proportional) of the robot. In some implementations, the indication ofFIG. 12 may comprise a “running” animation wherein theimage 1210 may be displayed at different distances (e.g., progressively farther away cycled through a loop) from the robot and/or a flashing image. By way of an illustration, the animation may comprise two or more images (e.g., 1210) displayed at two or more locations characterized by progressively larger distances (e.g., distance shown byarrow 1216 inFIG. 12 ) from the robot (400 inFIG. 12 ). In some implementations, theimage 1210 and/or thearrow 1214 may be projected by a digital light projection component (e.g., such as described above with respect toFIG. 3A ). The DLP component may be operably coupled to a processing component (e.g., component 716). The processing component may communicate to the DLP component information related to robot trajectory, size of the robot, current parameter values of the robot movement (e.g., speed/direction) and or subsequent parameter value of the robot movement. - A customer (e.g., 134 in
FIG. 1 ) may observe theimage 1210 in advance of (or without) seeing the robotic device (e.g., 102 inFIG. 1 ) and refrain from entering the aisle in front of thedevice 102. Such functionality may be used to improve safety of operation of robotic devices in presence of humans. - It will be appreciated by those skilled in the arts that the above application descriptions and/or image content and/or parameters (e.g., size, orientation, pattern) merely exemplary and merely serve to illustrate principles of the disclosure, and many other pattern projection representations and/or applications may be utilized with the present disclosure. In some implementations of aircraft landing safety, a ground vehicle may utilize projection methodology of the disclosure to indicate to an aircraft direction and/or speed of its motion by projecting an arrow onto the tarmac. Dimensions of the projected pattern (e.g., 1200 in
FIG. 12 ) may be scaled (e.g., increased) commensurate with detection capabilities of sensors on the aircraft. In one or more implementations of drone navigation and/or landing, a robotic device may project landing indication for an aerial drone aircraft (e.g., quadcopter), and/or other apparatus. By way of an illustration, for an airplane at 1000 m height above tarmac, dimensions of thearrow 1214 may be selected between 1 m and 10 m, preferably 4 m. -
FIGS. 13A-14 illustrate methods for using the methodology of the disclosure for detection of objects during operation of robotic devices and/or communicating/advertising information related to operation of robotic devices into environment, in accordance with one or more implementations. The operations ofmethods methods methods FIGS. 13A-14 described below is not intended to be limiting. - In some implementations,
methods methods methods methods device 200 inFIG. 2A ). In some implementations, the robotic device may comprise a cleaning device (e.g., 102 inFIG. 1 ) operating within a premises (e.g., 100 inFIG. 1 ) - At
operation 1302 ofmethod 1300, a pattern may be transmitted. In some implementations, the pattern transmission may be effectuated by a transmitter component of the bistatic sensor apparatus (e.g., thecomponent 202 ofFIG. 2A , and/or 402 ofFIG. 4A ). The pattern may comprise one or more pattern configurations, e.g., such as described above with respect toFIGS. 3A, 15A-15D . In some implementations, the transmitted pattern may comprise an encoded portion (e.g.,perimeter portion 1204 inFIG. 12 ) and a central portion (e.g., 1202 inFIG. 12 ). In one or more implementations, the pattern may be projected using a visible light source, an infrared light source, an audible wavelength source, an ultrasonic wave source, a radio wave source, and/or other carrier type source. In some implementations of visible light transmissions, the source may comprise a light emitting diode, a laser beam source and a pattern shaping mask, and/or other implementations configured to project a two dimensional pattern of light. The transmitter may transmit a two dimensional pattern comprised of a given pattern (e.g., grid, checkerboard, and/or other) via a carrier signal (e.g., light). In one or more implementations, the pattern may be projected using a digital light projection (DLP) MEMS technology, e.g., such as digital micromirror device (DMD) array produced by Texas Instruments. It will be recognized by those skilled in the arts that various other pattern projection and/or pattern selection implementations may be employed with the methodology of the disclosure. - The pattern projected at
operation 1302 may be reflected from one or more objects within the environment (e.g.,floor 212,box 208,wall 210 inFIG. 2A ). Atoperation 1304 reflected pattern may be sensed. In some implementations the pattern may be sensed by a receiving component of the bistatic sensor apparatus (e.g., thecomponent 204 ofFIG. 2A , and/or 404 ofFIG. 4A ). The receiving component may comprise a light capturing sensor, an infrared detector, an acoustic transducer (e.g., a microphone), a radio wave antenna, and/or other sensor configured to detect reflected carrier waves corresponding to the modality of the transmitter component. In some implementations of pattern transmission using a light source, the receiving component may comprise a camera. The sensed pattern may comprise a digital image (e.g.,image 1200 inFIG. 12 and/or 330 inFIG. 3B ). - At operation 1306 a parameter of the reflected pattern may be evaluated. In some implementations, the sensed pattern evaluation may comprise one or more of contrast edge detection, color analysis, brightness analysis, determination of length and/or orientation of line segments and/or other operations configured to provide information related to structure of the received pattern. In some implementations, the pattern evaluation may be configured to produce a parameter of the reflected pattern. The parameter may comprise one or more of pattern perimeter, dimensions, area, orientation, skewness and/or other parameters. In some implementations, the parameter may be configured to characterize a deviation of one or more pattern elements relative to a reference (e.g., vertical deviation of a sub-pattern with respect to the floor such as described with respect to
FIGS. 10A-11 ). In some implementations, the parameter may be configured to characterize a uniformity of the sensed pattern in order to determine, e.g., presence of a wall, e.g., such as shown bypatterns FIGS. 9A-9B . - Discrepancies between an expected pattern (e.g., corresponding to reflections of the carrier in absence of obstacles) and the received pattern may be used to determine presence of an object within the sensing volume of the bistatic sensor. The parameter determined at
operation 1306 may be utilized in order to quantify the discrepancy. At operation 1308 a determination may be made as to whether the parameter determinedoperation 1306 breaches a threshold. In one or more implementations, the threshold may comprise one or more of pattern similarity level (e.g., in a range between 50% and 95%), a reference dimension (e.g., width, length of the pattern 330), and/or other quantity. - Given the location, field of view (FOV), and other parameters of the transmitter and the receiver and characteristics of the transmitted pattern (e.g., 300 in
FIG. 3A ) the location of the projected pattern on the received image can be calculated. In some implementations, the location of the received image may be calibrated by transmitting a known pattern to a flat surface and registering the perceived image/pattern. - Responsive to determination at
operation 1308 that the parameter breaches the threshold themethod 1300 may proceed tooperation 1310 wherein object present indication may be produced. The object present indication may comprise one or more of a software or a hardware indications, e.g., a memory register value, a logic line level, a message or a flag in a software application, and/or other indication mechanism. In some implementations, the object present indication may be communicated to a navigation process of the robotic device. The navigation process may be configured to modify (e.g., execute a turn, reduce speed and/or altogether stop) current trajectory of the robotic device responsive do receipt of the object present indication. -
FIG. 13B illustrates object detection method comprising use of a reference pattern information, in accordance with one or more implementations. - At operation 1322 a reference pattern may be transmitted. In one or more implementations the reference pattern may comprise
pattern 300 shown and described with respect toFIG. 3A . For purpose of improved object detection, the reference pattern may be transmitted into environment free of objects (e.g., obstacles), e.g., as illustrated inFIG. 2B and/or 4A . - The pattern projected at
operation 1322 may be reflected e.g.,floor 212 and/or other surface. Atoperation 1324 reflected pattern may be sensed. In some implementations the pattern may be sensed by a receiving component of the bistatic sensor apparatus (e.g., thecomponent 204 ofFIG. 2A , and/or 404 ofFIG. 4A ). The receiving component may comprise a light capturing sensor, an infrared detector, an acoustic transducer (e.g., a microphone), a radio wave antenna, and/or other sensor configured to detect reflected carrier waves corresponding to the modality of the transmitter component. In some implementations of pattern transmission using a light source, the receiving component may comprise a camera. The sensed pattern may comprise a digital image (e.g.,image 1200 inFIG. 12 and/or 330 inFIG. 3B ). - At operation 1326 a parameter of the sensed pattern may be evaluated. In some implementations, the sensed pattern evaluation may comprise one or more of contrast edge detection, color analysis, brightness analysis, determination of length and/or orientation of line segments and/or other operations configured to provide information related to structure of the received pattern. In some implementations, the pattern evaluation may be configured to produce a parameter of the reflected pattern. The parameter may comprise one or more of pattern perimeter, dimensions, area, orientation, skewness and/or other parameters. In some implementations, the parameter may be configured to characterize a deviation of one or more pattern elements relative to a reference (e.g., vertical deviation of a sub-pattern with respect to the floor such as described with respect to
FIGS. 10A-11 ). In some implementations, the parameter may be configured to characterize a uniformity of the sensed pattern in order to determine, e.g., presence of a wall, e.g., such as shown bypatterns FIGS. 9A-9B . In one or more implementations wherein the projected pattern may comprise a quadrilateral, the parameter may comprise a ratio characterizing shape of the pattern (e.g., ratio of diagonals, a ratio of two ofdimensions - At
operation 1328 the parameter determined atoperation 1326 may be stored. In some implementations, the parameter may be stored in non-volatile memory of the pattern processing component (e.g.,memory 714 shown and described with respect toFIG. 7 ). The parameter stored atoperation 1328 may be subsequently used as a reference (e.g., threshold) for detecting objects during operation of a robotic device. - At operation 1330 a reflected pattern may be sensed. In some implementations, the reflected pattern may comprise a transmitted pattern (e.g., 300 in
FIG. 3A ) that may have been reflected from one or more objects (e.g., 208, 210 inFIG. 2A ) during operation of a robotic device (e.g., thedevice 102 inFIG. 1 ). - At
operation 1332 parameter of the received reflected pattern sensed atoperation 1330 may be evaluated. In some implementations, the parameter may comprise a ratio characterizing shape of the sensed pattern (e.g., ratio of diagonals, a ratio of two ofdimensions operation 1328. Responsive to determination atoperation 1332 that the parameter differs from the reference parameter by a given amount (e.g., breaches an object present threshold) object present indication may be produced. The object present indication may comprise one or more of software or hardware indications, e.g., a memory register value, a logic level, a message and/or a flag in a software application, and/or other indication mechanism. In some implementations, the object present indication may be communicated to a navigation process of the robotic device. The navigation process may be configured to modify (e.g., execute a turn, reduce speed and/or altogether stop) current trajectory of the robotic device responsive do receipt of the object present indication. -
FIG. 14 illustrates a method for trajectory information advertisement using the pattern projection methodology of the disclosure, in accordance with one or more implementations. Operations ofmethod 1400 may be effectuated by a robotic device operating in a store, e.g., thedevice 102 inFIG. 1 . - At operation 1402 a target trajectory may be navigated. The trajectory navigation may comprise execution of a plurality of actions associated with a task. By way of an illustration, the trajectory navigation may comprise traversing of
premises 100 by arobotic cleaning device 102 while performing cleaning operations (e.g., floor sweeping and/or scrubbing). - At
operation 1404 an action characteristic associated with the trajectory being navigated may be determined. In some implementations, the action characteristic may comprise velocity and/or direction of motion of the robotic device. In one or more implementations of robotic manipulation, the action characteristic may comprise robotic arm motion, joint angle change, arm segment length change (e.g., extend, contract), and/or other parameters. - At
operation 1406 the information associated with the action being executed may be advertised into the environment via a projected image. In some implementations, the information advertisement may comprise projecting a graphics image (e.g.,arrow 138 ofFIG. 1 and/or 1214 inFIG. 12 ) characterizing direction and/or speed of motion of the robotic device. The projection of motion of the robotic device ahead of the device (e.g., thearrow 138 being placed ahead of thedevice 102 inFIG. 1 ) may improve operational safety of the robotic device. In some implementations, the operational safety improvement may be characterized by one or more (i) an increased time margin between detecting an obstacle (e.g., human 134) and an action by therobot 102, an increase in distance between the human and the robot, a refraining by the human of entering theaisle 132 in front of therobotic device 102 responsive to detection of thearrow 138 inFIG. 1 . - Methodology of the disclosure may enable autonomous navigation by robotic devices in a variety of applications. The object detection approach disclosed herein a robotic device to a variety of objects without object pre-selection and/or pre- of wiring and/or without requiring a trainer to record training dataset and analyze data offline. These improvements may be leveraged for constructing autonomous robotic vehicles characterized by a lower cost and/or increased autonomy and/or enable robotic devices to operate in more complex requirements (e.g., tracking multiple targets), navigate at higher speeds, and/or achieve higher performance (e.g., as characterized by a fewer collisions, shorter task execution time, increased runtime without recharging, greater spatial coverage, and/or other parameter).
- It will be recognized that while certain aspects of the disclosure are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the disclosure, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed implementations, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the disclosure disclosed and claimed herein.
- While the above detailed description has shown, described, and pointed out novel features of the disclosure as applied to various implementations, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the disclosure. The foregoing description is of the best mode presently contemplated of carrying out the disclosure. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the disclosure. The scope of the disclosure should be determined with reference to the claims.
Claims (21)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/752,688 US9873196B2 (en) | 2015-06-24 | 2015-06-26 | Bistatic object detection apparatus and methods |
US15/877,243 US10807230B2 (en) | 2015-06-24 | 2018-01-22 | Bistatic object detection apparatus and methods |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/749,423 US9840003B2 (en) | 2015-06-24 | 2015-06-24 | Apparatus and methods for safe navigation of robotic devices |
US14/752,688 US9873196B2 (en) | 2015-06-24 | 2015-06-26 | Bistatic object detection apparatus and methods |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/749,423 Division US9840003B2 (en) | 2015-06-24 | 2015-06-24 | Apparatus and methods for safe navigation of robotic devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/877,243 Continuation US10807230B2 (en) | 2015-06-24 | 2018-01-22 | Bistatic object detection apparatus and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160378117A1 true US20160378117A1 (en) | 2016-12-29 |
US9873196B2 US9873196B2 (en) | 2018-01-23 |
Family
ID=57602226
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/749,423 Active US9840003B2 (en) | 2015-06-24 | 2015-06-24 | Apparatus and methods for safe navigation of robotic devices |
US14/752,688 Active US9873196B2 (en) | 2015-06-24 | 2015-06-26 | Bistatic object detection apparatus and methods |
US15/877,243 Active 2036-04-26 US10807230B2 (en) | 2015-06-24 | 2018-01-22 | Bistatic object detection apparatus and methods |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/749,423 Active US9840003B2 (en) | 2015-06-24 | 2015-06-24 | Apparatus and methods for safe navigation of robotic devices |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/877,243 Active 2036-04-26 US10807230B2 (en) | 2015-06-24 | 2018-01-22 | Bistatic object detection apparatus and methods |
Country Status (1)
Country | Link |
---|---|
US (3) | US9840003B2 (en) |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083021A1 (en) * | 2015-09-17 | 2017-03-23 | Volkswagen Ag | Method and apparatus for determining a desired trajectory for a vehicle |
US20170153324A1 (en) * | 2015-11-29 | 2017-06-01 | Vayyar Imaging Ltd. | System, device and method for imaging of objects using signal clustering |
US9886035B1 (en) * | 2015-08-17 | 2018-02-06 | X Development Llc | Ground plane detection to verify depth sensor status for robot navigation |
US9930303B1 (en) * | 2016-11-14 | 2018-03-27 | Texas Instruments Incorporated | Methods and apparatus for shallow gradient artifact reduction in image display systems |
CN108153307A (en) * | 2017-12-21 | 2018-06-12 | 中国人民解放军总参谋部第六十研究所 | A kind of straight line autonomous tracing in intelligent vehicle |
US20180189532A1 (en) * | 2016-12-30 | 2018-07-05 | Accenture Global Solutions Limited | Object Detection for Video Camera Self-Calibration |
WO2018225282A1 (en) * | 2017-06-06 | 2018-12-13 | 三菱電機株式会社 | Observation device and vehicle control system |
US10156853B2 (en) * | 2015-04-02 | 2018-12-18 | Electric 80 S.P.A. | Group for localizing a moving target in a warehouse with automatic guided vehicles |
US10386839B2 (en) * | 2016-05-26 | 2019-08-20 | Boston Incubator Center, LLC | Mobile robot that emulates pedestrian walking behavior |
US10416680B2 (en) * | 2017-03-14 | 2019-09-17 | Aptiv Technologies Limited | Angle finding for a detector having a paired staggered array |
EP3588228A1 (en) * | 2018-06-27 | 2020-01-01 | Siemens Aktiengesellschaft | Driverless transport vehicle, arrangement and method for outputting augmented reality |
US10585437B1 (en) * | 2018-09-25 | 2020-03-10 | NextVPU (Shanghai) Co., Ltd. | Auto-recharging of robot |
US20200132832A1 (en) * | 2018-10-25 | 2020-04-30 | TransRobotics, Inc. | Technologies for opportunistic synthetic aperture radar |
WO2020104647A1 (en) * | 2018-11-23 | 2020-05-28 | Bayerische Motoren Werke Aktiengesellschaft | Driver assistance system for an autonomously driving vehicle, and method for guiding an autonomously driving vehicle |
CN111273654A (en) * | 2018-12-04 | 2020-06-12 | 施蒂尔有限公司 | Method for operating autonomous ground transport means and logistics system in an enterprise |
US20200346352A1 (en) * | 2019-04-30 | 2020-11-05 | Lg Electronics Inc. | Cart robot having auto-follow function |
US20200371525A1 (en) * | 2017-10-30 | 2020-11-26 | Sony Corporation | Information processing apparatus, information processing method, and program |
US10860034B1 (en) | 2017-09-27 | 2020-12-08 | Apple Inc. | Barrier detection |
US10875448B2 (en) * | 2017-12-27 | 2020-12-29 | X Development Llc | Visually indicating vehicle caution regions |
US20200409382A1 (en) * | 2014-11-10 | 2020-12-31 | Carnegie Mellon University | Intelligent cleaning robot |
US20210026368A1 (en) * | 2018-03-26 | 2021-01-28 | Jabil Inc. | Apparatus, system, and method of using depth assessment for autonomous robot navigation |
EP3789842A1 (en) * | 2019-09-04 | 2021-03-10 | STILL GmbH | Method for locating a vehicle and vehicle for performing the method |
US20210080561A1 (en) * | 2016-08-24 | 2021-03-18 | Magna Electronics Inc. | Vehicle sensor with integrated radar and image sensors |
WO2021049736A1 (en) * | 2019-09-13 | 2021-03-18 | 삼성전자 주식회사 | Mobile device for detecting object and operation method therefor |
AU2019329379B2 (en) * | 2018-08-28 | 2021-04-01 | Intuit Inc. | System and method for unique identifier detection based on invisible light |
US20210212541A1 (en) * | 2018-05-16 | 2021-07-15 | Lg Electronics Inc. | Vacuum cleaner and control method thereof |
US20210244252A1 (en) * | 2018-04-30 | 2021-08-12 | Lg Electronics Inc. | Artificial intelligence vacuum cleaner and control method therefor |
US20210319311A1 (en) * | 2020-04-08 | 2021-10-14 | Lg Electronics Inc. | Artificial intelligence apparatus using a plurality of output layers and method for same |
US20210331312A1 (en) * | 2019-05-29 | 2021-10-28 | Lg Electronics Inc. | Intelligent robot cleaner for setting travel route based on video learning and managing method thereof |
ES2887526A1 (en) * | 2020-06-22 | 2021-12-22 | Cecotec Res And Development | SELF-MOVING DISINFECTION APPARATUS (Machine-translation by Google Translate, not legally binding) |
US20220114806A1 (en) * | 2019-01-07 | 2022-04-14 | Mobius Labs Gmbh | Automated capturing of images comprising a desired feature |
US20220161619A1 (en) * | 2019-03-12 | 2022-05-26 | Zf Cv Systems Hannover Gmbh | Detection system and method for ascertaining an articulation angle between two sub-vehicles of a vehicle, and vehicle combination |
US11347238B2 (en) * | 2019-10-02 | 2022-05-31 | Mitsubishi Electric Research Laboratories, Inc. | System and method for probabilistic multi-robot SLAM |
US11353884B2 (en) * | 2019-01-28 | 2022-06-07 | Pixart Imaging Inc. | Robot without detection dead zone |
US20220198702A1 (en) * | 2020-12-22 | 2022-06-23 | Continental Automotive Systems, Inc. | Method and device for detecting a trailer angle |
US20220206468A1 (en) * | 2019-04-17 | 2022-06-30 | Twinny Co., Ltd. | Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same |
US11402487B2 (en) * | 2019-04-18 | 2022-08-02 | GM Global Technology Operations LLC | Joint radon transform association |
US11402894B2 (en) | 2017-03-22 | 2022-08-02 | Huawei Technologies Co., Ltd. | VR image sending method and apparatus |
US11430341B2 (en) * | 2019-05-31 | 2022-08-30 | Cognizant Technology Solutions Sindia Pvt. Ltd. | System and method for optimizing unmanned aerial vehicle based warehouse management |
US20220374428A1 (en) * | 2021-05-24 | 2022-11-24 | Nvidia Corporation | Simulation query engine in autonomous machine applications |
WO2022263684A1 (en) * | 2021-06-18 | 2022-12-22 | Valeo Vision | Method for detecting an object in a road surface, method for autonomous driving and automotive lighting device |
WO2022263683A1 (en) * | 2021-06-18 | 2022-12-22 | Valeo Vision | Method for detecting an object in a road surface, method for autonomous driving and automotive lighting device |
US20230186507A1 (en) * | 2020-05-11 | 2023-06-15 | Beijing Uphoton Optoelectronics Development Co., Ltd. | Mobile apparatus obstacle detection system, mobile apparatus, and ground-sweeping robot |
US11958183B2 (en) | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
US12019452B2 (en) * | 2019-03-26 | 2024-06-25 | Jabil Inc | Apparatus, system, and method of using depth assessment for autonomous robot navigation |
Families Citing this family (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2015KN00237A (en) | 2012-06-27 | 2015-06-12 | Pentair Water Pool & Spa Inc | |
CN105404298B (en) * | 2012-09-21 | 2018-10-16 | 艾罗伯特公司 | Degree of approach sensing in mobile robot |
DE102014014662A1 (en) * | 2014-09-19 | 2016-03-24 | Mekra Lang North America, Llc | Display device for vehicles, in particular commercial vehicles |
US20160253891A1 (en) * | 2015-02-27 | 2016-09-01 | Elwha Llc | Device that determines that a subject may contact a sensed object and that warns of the potential contact |
US20180257689A1 (en) * | 2015-10-02 | 2018-09-13 | Celebramotion Inc. | Method and system for people interaction and guided cart therefor |
JP2017084069A (en) * | 2015-10-27 | 2017-05-18 | 株式会社マキタ | Self-travel type dust collection robot and reflector, and travel control method of self-travel type dust collection robot |
US11072067B2 (en) * | 2015-11-16 | 2021-07-27 | Kindred Systems Inc. | Systems, devices, and methods for distributed artificial neural network computation |
US10189574B2 (en) * | 2015-12-10 | 2019-01-29 | General Electric Company | Electric vehicle propulsion systems and methods of assembling the same |
EP3203263B1 (en) * | 2016-02-03 | 2018-04-18 | Sick Ag | Optoelectronic sensor and method for detecting objects |
US11726490B1 (en) * | 2016-02-19 | 2023-08-15 | AI Incorporated | System and method for guiding heading of a mobile robotic device |
US10386847B1 (en) * | 2016-02-19 | 2019-08-20 | AI Incorporated | System and method for guiding heading of a mobile robotic device |
US10901431B1 (en) * | 2017-01-19 | 2021-01-26 | AI Incorporated | System and method for guiding heading of a mobile robotic device |
EP3437810B1 (en) * | 2016-03-30 | 2022-07-13 | Panasonic Intellectual Property Management Co., Ltd. | Data storage device, robot system, and data storage method |
US10500726B2 (en) * | 2016-04-25 | 2019-12-10 | Kindred Systems Inc. | Facilitating device control |
US10029698B2 (en) * | 2016-07-19 | 2018-07-24 | Futurewei Technologies, Inc. | Adaptive passenger comfort enhancement in autonomous vehicles |
CN106323289A (en) * | 2016-08-23 | 2017-01-11 | 北京小米移动软件有限公司 | Method of and devices for balance car control |
US10213082B2 (en) * | 2016-08-30 | 2019-02-26 | Samsung Electronics Co., Ltd. | Robot cleaner |
US10495753B2 (en) * | 2016-09-19 | 2019-12-03 | Nec Corporation | Video to radar |
US10929743B2 (en) * | 2016-09-27 | 2021-02-23 | Disney Enterprises, Inc. | Learning to schedule control fragments for physics-based character simulation and robots using deep Q-learning |
CN106406312B (en) * | 2016-10-14 | 2017-12-26 | 平安科技(深圳)有限公司 | Guide to visitors robot and its moving area scaling method |
US10723018B2 (en) | 2016-11-28 | 2020-07-28 | Brain Corporation | Systems and methods for remote operating and/or monitoring of a robot |
US11170216B2 (en) * | 2017-01-20 | 2021-11-09 | Sony Network Communications Inc. | Information processing apparatus, information processing method, program, and ground marker system |
US10852730B2 (en) | 2017-02-08 | 2020-12-01 | Brain Corporation | Systems and methods for robotic mobile platforms |
KR102012550B1 (en) * | 2017-02-20 | 2019-08-20 | 엘지전자 주식회사 | Method of identifying unexpected obstacle and robot implementing thereof |
KR102017148B1 (en) | 2017-03-03 | 2019-09-02 | 엘지전자 주식회사 | Artificial intelligence Moving Robot and controlling method |
US10265844B2 (en) * | 2017-03-24 | 2019-04-23 | International Business Machines Corporation | Creating assembly plans based on triggering events |
US20180299893A1 (en) * | 2017-04-18 | 2018-10-18 | nuTonomy Inc. | Automatically perceiving travel signals |
US10643084B2 (en) | 2017-04-18 | 2020-05-05 | nuTonomy Inc. | Automatically perceiving travel signals |
US10650256B2 (en) | 2017-04-18 | 2020-05-12 | nuTonomy Inc. | Automatically perceiving travel signals |
US10646994B2 (en) * | 2017-04-25 | 2020-05-12 | At&T Intellectual Property I, L.P. | Robot virtualization leveraging Geo analytics and augmented reality |
DE112018002314T5 (en) | 2017-05-01 | 2020-01-23 | Symbol Technologies, Llc | METHOD AND DEVICE FOR DETECTING AN OBJECT STATUS |
JP6596771B2 (en) * | 2017-05-19 | 2019-10-30 | トヨタ自動車株式会社 | Information providing apparatus and information providing method |
IT201700058505A1 (en) | 2017-05-30 | 2018-11-30 | Volta Robots S R L | Method of control of a soil processing vehicle based on image processing and related system |
EP3409230B1 (en) * | 2017-05-31 | 2019-05-22 | Siemens Healthcare GmbH | Movement of a robot arm |
US20190019058A1 (en) * | 2017-07-13 | 2019-01-17 | Endgame, Inc. | System and method for detecting homoglyph attacks with a siamese convolutional neural network |
CN107437071B (en) * | 2017-07-18 | 2020-08-11 | 杭州岱石科技有限公司 | Robot autonomous inspection method based on double yellow line detection |
JP6680730B2 (en) * | 2017-08-08 | 2020-04-15 | ファナック株式会社 | Control device and learning device |
AU2018320867A1 (en) | 2017-08-22 | 2020-03-12 | Pentair Water Pool And Spa, Inc. | Algorithm for a pool cleaner |
CN110019582B (en) * | 2017-08-28 | 2023-07-14 | 中国科学院沈阳自动化研究所 | Cognitive map construction method based on space and motion joint coding |
US10732260B2 (en) * | 2017-09-05 | 2020-08-04 | GM Global Technology Operations LLC | Radar calibration systems and methods |
US10796711B2 (en) * | 2017-09-29 | 2020-10-06 | Honda Motor Co., Ltd. | System and method for dynamic optical microphone |
CN107807594A (en) * | 2017-10-17 | 2018-03-16 | 长江大学 | A kind of depot safety method for inspecting and system |
JP7051366B2 (en) * | 2017-10-18 | 2022-04-11 | 株式会社東芝 | Information processing equipment, trained models, information processing methods, and programs |
WO2019094863A1 (en) * | 2017-11-13 | 2019-05-16 | Smart Ag, Inc. | Safety system for autonomous operation of off-road and agricultural vehicles using machine learning for detection and identification of obstacles |
CN107680135B (en) * | 2017-11-16 | 2019-07-23 | 珊口(上海)智能科技有限公司 | Localization method, system and the robot being applicable in |
US20190187721A1 (en) * | 2017-12-15 | 2019-06-20 | Ankobot (Shanghai) Smart Technologies Co., Ltd. | Control method and system, and mobile robot using the same |
US10293489B1 (en) * | 2017-12-15 | 2019-05-21 | Ankobot (Shanghai) Smart Technologies Co., Ltd. | Control method and system, and cleaning robot using the same |
US10878294B2 (en) * | 2018-01-05 | 2020-12-29 | Irobot Corporation | Mobile cleaning robot artificial intelligence for situational awareness |
JP7035555B2 (en) * | 2018-01-23 | 2022-03-15 | セイコーエプソン株式会社 | Teaching device and system |
US11568236B2 (en) | 2018-01-25 | 2023-01-31 | The Research Foundation For The State University Of New York | Framework and methods of diverse exploration for fast and safe policy improvement |
KR102048364B1 (en) * | 2018-04-13 | 2019-11-25 | 엘지전자 주식회사 | Robot cleaner |
CN112352244B (en) | 2018-04-23 | 2024-04-09 | 尚科宁家运营有限公司 | Control system and method for updating map in memory |
US10595696B2 (en) | 2018-05-01 | 2020-03-24 | Sharkninja Operating Llc | Docking station for robotic cleaner |
US20220197298A1 (en) * | 2018-06-11 | 2022-06-23 | Jabil Inc. | Apparatus, system, and method of docking for autonomous robot navigation |
TWI689743B (en) * | 2018-06-13 | 2020-04-01 | 合盈光電科技股份有限公司 | Object positioning system |
US11029390B2 (en) * | 2018-07-10 | 2021-06-08 | Ford Motor Company | Method and system for performing a vehicle height-radar alignment check to align a radar device provided in a vehicle |
WO2020018527A1 (en) | 2018-07-16 | 2020-01-23 | Brain Corporation | Systems and methods for optimizing route planning for tight turns for robotic apparatuses |
US11191403B2 (en) | 2018-07-20 | 2021-12-07 | Sharkninja Operating Llc | Robotic cleaner debris removal docking station |
EP3837095B1 (en) * | 2018-08-13 | 2023-07-12 | ABB Schweiz AG | Method of programming an industrial robot |
JP2022500763A (en) * | 2018-09-12 | 2022-01-04 | ブレーン コーポレーションBrain Corporation | Systems and methods for detecting blind spots for robots |
US10474930B1 (en) * | 2018-10-05 | 2019-11-12 | StradVision, Inc. | Learning method and testing method for monitoring blind spot of vehicle, and learning device and testing device using the same |
EP3654064B1 (en) * | 2018-11-16 | 2021-01-13 | Bayerische Motoren Werke Aktiengesellschaft | Apparatus and method for characterizing an object based on measurement samples from one or more location sensors |
DE102018130745A1 (en) * | 2018-12-03 | 2020-06-04 | Sick Ag | Method for controlling an autonomous vehicle |
US10716177B2 (en) * | 2018-12-13 | 2020-07-14 | Zebra Technologies Corporation | Method and apparatus for control of mobile automation apparatus light emitters |
US10814474B2 (en) * | 2018-12-20 | 2020-10-27 | Autonomous Roadway Intelligence, Llc | Identification and localization of mobile robots |
US11748903B2 (en) * | 2019-01-02 | 2023-09-05 | Zebra Technologies Corporation | System and method for robotic object detection using a convolutional neural network |
US11031128B2 (en) * | 2019-01-25 | 2021-06-08 | Fresenius Medical Care Holdings, Inc. | Augmented reality-based training and troubleshooting for medical devices |
WO2020160144A1 (en) | 2019-01-29 | 2020-08-06 | Aptiv Technologies Limited | Traffic light estimation |
WO2020158276A1 (en) * | 2019-01-31 | 2020-08-06 | パナソニックIpマネジメント株式会社 | Cleaning route determination device and cleaning route determination method |
CN110142757A (en) * | 2019-04-04 | 2019-08-20 | 深兰科技(上海)有限公司 | A kind of method, apparatus and slave computer controlling robot motion |
US10940796B2 (en) * | 2019-04-05 | 2021-03-09 | Ford Global Technologies, Llc | Intent communication for automated guided vehicles |
US11294391B2 (en) * | 2019-05-28 | 2022-04-05 | Pixart Imaging Inc. | Moving robot with improved identification accuracy of step distance |
US11809195B2 (en) * | 2019-05-28 | 2023-11-07 | Pixart Imaging Inc. | Moving robot with improved identification accuracy of carpet |
EP3993959A1 (en) * | 2019-07-01 | 2022-05-11 | KUKA Deutschland GmbH | Carrying out an application using at least one robot |
US11169264B2 (en) * | 2019-08-29 | 2021-11-09 | Bose Corporation | Personal sonar system |
US11079857B2 (en) * | 2019-09-03 | 2021-08-03 | Pixart Imaging Inc. | Optical detecting device |
KR20210029586A (en) * | 2019-09-06 | 2021-03-16 | 엘지전자 주식회사 | Method of slam based on salient object in image and robot and cloud server implementing thereof |
CN110675002B (en) * | 2019-10-10 | 2022-07-05 | 中山大学 | Distributed complete coverage robot formation coverage method |
DE102019219751A1 (en) * | 2019-12-16 | 2021-06-17 | Zf Friedrichshafen Ag | Object detection |
CN111179148B (en) * | 2019-12-30 | 2023-09-08 | 深圳优地科技有限公司 | Data display method and device |
US11244466B2 (en) * | 2020-02-27 | 2022-02-08 | Dell Products L.P. | Automated capacity management using artificial intelligence techniques |
CN111324122B (en) * | 2020-02-28 | 2022-05-13 | 苏州科瓴精密机械科技有限公司 | Automatic work system, automatic walking device, control method thereof, and computer-readable storage medium |
CN111857127B (en) * | 2020-06-12 | 2021-10-01 | 珠海市一微半导体有限公司 | Clean partition planning method for robot walking along edge, chip and robot |
CN111730259A (en) * | 2020-07-13 | 2020-10-02 | 马鞍山思卡瑞自动化科技有限公司 | Welding arm angular speed change detection device of welding robot and implementation method |
WO2022027015A1 (en) * | 2020-07-27 | 2022-02-03 | Brain Corporation | Systems and methods for preserving data and human confidentiality during feature identification by robotic devices |
KR102218120B1 (en) * | 2020-09-21 | 2021-02-22 | 주식회사 폴라리스쓰리디 | Autonomous navigating module, mobile robot including the same and method for estimating its position |
TWI746313B (en) * | 2020-12-15 | 2021-11-11 | 和碩聯合科技股份有限公司 | Method and system for distance detection |
US11954882B2 (en) | 2021-06-17 | 2024-04-09 | Zebra Technologies Corporation | Feature-based georegistration for mobile computing devices |
WO2024016101A1 (en) | 2022-07-18 | 2024-01-25 | Intelligent Cleaning Equipment Holdings Co., Ltd. | Systems and methods for robotic navigation, teaching and mapping |
Family Cites Families (211)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5652594A (en) | 1967-12-28 | 1997-07-29 | Lockheed Martin Corporation | Signal processor affording improved immunity to medium anomalies and interference in remote object detection system |
US4600355A (en) | 1984-08-29 | 1986-07-15 | Cybot, Inc. | Modular robotics system with basic interchangeable parts |
US4687457A (en) | 1985-08-26 | 1987-08-18 | Axlon, Inc. | Hand-held puppet with pseudo-voice generation |
US4889027A (en) | 1985-12-26 | 1989-12-26 | Nintendo Co., Ltd. | Rhythm recognizing apparatus and responsive toy |
IL81146A (en) | 1986-01-26 | 1990-04-29 | Avish Jacob Weiner | Sound-producing amusement or educational devices |
US4853771A (en) | 1986-07-09 | 1989-08-01 | The United States Of America As Represented By The Secretary Of The Navy | Robotic vision system |
US4762455A (en) | 1987-06-01 | 1988-08-09 | Remote Technology Corporation | Remote manipulator |
JPH0736842B2 (en) | 1989-05-22 | 1995-04-26 | 株式会社トミー | Boxer doll and boxing game machine equipped with the doll |
US5063603A (en) | 1989-11-06 | 1991-11-05 | David Sarnoff Research Center, Inc. | Dynamic method for recognizing objects and image processing system therefor |
JPH0487423A (en) | 1990-07-31 | 1992-03-19 | Toshiba Corp | Decoding circuit |
WO1992010054A1 (en) | 1990-11-21 | 1992-06-11 | Polaroid Corporation | Printing method |
US5083803A (en) | 1990-11-30 | 1992-01-28 | Crown Equipment Corporation | Materials handling vehicle using either cusion or pneumatic tires |
US5875108A (en) | 1991-12-23 | 1999-02-23 | Hoffberg; Steven M. | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US5355435A (en) | 1992-05-18 | 1994-10-11 | New Mexico State University Technology Transfer Corp. | Asynchronous temporal neural processing element |
US5673367A (en) | 1992-10-01 | 1997-09-30 | Buckley; Theresa M. | Method for neural network control of motion using real-time environmental feedback |
FI92361C (en) | 1992-12-14 | 1994-10-25 | Nokia Telecommunications Oy | Procedure for controlling overload situations in a frame switching network and a node for a frame switching network |
US5378188A (en) | 1993-10-08 | 1995-01-03 | Clark; Dolores H. | Tendon and spring for toy actuation |
CA2147036A1 (en) | 1994-05-16 | 1995-11-17 | Yih-Farn Robin Chen | System and method for selective regression testing |
RU2108612C1 (en) | 1994-09-14 | 1998-04-10 | Круглов Сергей Петрович | Adaptive control system with identifier and implicit reference model |
GB9420740D0 (en) | 1994-10-14 | 1994-11-30 | Univ Manitoba | Sequence of the hyaluronan receptor gene |
US6542925B2 (en) | 1995-05-30 | 2003-04-01 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
US5845271A (en) | 1996-01-26 | 1998-12-01 | Thaler; Stephen L. | Non-algorithmically implemented artificial neural networks and components thereof |
US6009418A (en) | 1996-05-02 | 1999-12-28 | Cooper; David L. | Method and apparatus for neural networking using semantic attractor architecture |
WO1998033103A1 (en) * | 1997-01-22 | 1998-07-30 | Siemens Aktiengesellschaft | Method and device for docking an autonomous mobile unit |
CA2293477A1 (en) | 1997-06-11 | 1998-12-17 | The University Of Southern California | Dynamic synapse for signal processing in neural networks |
GB9713765D0 (en) | 1997-07-01 | 1997-09-03 | Engineering Services Inc | Reconfigurable mudular drive system |
JP4131340B2 (en) | 1997-07-11 | 2008-08-13 | ソニー株式会社 | Control device, control method, and reception device |
US6458157B1 (en) | 1997-08-04 | 2002-10-01 | Suaning Gregg Joergen | Retinal stimulator |
US6581046B1 (en) | 1997-10-10 | 2003-06-17 | Yeda Research And Development Co. Ltd. | Neuronal phase-locked loops |
JP3919040B2 (en) | 1997-11-30 | 2007-05-23 | ソニー株式会社 | Robot equipment |
US6061088A (en) | 1998-01-20 | 2000-05-09 | Ncr Corporation | System and method for multi-resolution background adaptation |
US6545705B1 (en) | 1998-04-10 | 2003-04-08 | Lynx System Developers, Inc. | Camera with object recognition/data output |
IL124413A (en) | 1998-05-11 | 2001-05-20 | Friendly Robotics Ltd | System and method for area coverage with an autonomous robot |
US6259988B1 (en) | 1998-07-20 | 2001-07-10 | Lockheed Martin Corporation | Real-time mission adaptable route planner |
US6570608B1 (en) | 1998-09-30 | 2003-05-27 | Texas Instruments Incorporated | System and method for detecting interactions of people and vehicles |
US8527094B2 (en) | 1998-11-20 | 2013-09-03 | Intuitive Surgical Operations, Inc. | Multi-user medical robotic system for collaboration or training in minimally invasive surgical procedures |
JP2000254360A (en) | 1999-03-11 | 2000-09-19 | Toybox:Kk | Interactive toy |
US6124541A (en) | 1999-03-15 | 2000-09-26 | Lu; Clive S. | Electronic sound generator with mechanical movement feature |
US6338013B1 (en) | 1999-03-19 | 2002-01-08 | Bryan John Ruffner | Multifunctional mobile appliance |
EP2275166A3 (en) | 1999-03-24 | 2014-05-21 | Second Sight Medical Products, Inc. | Visual prosthesis |
WO2000066239A1 (en) | 1999-04-30 | 2000-11-09 | Sony Corporation | Electronic pet system, network system, robot, and storage medium |
US6611738B2 (en) | 1999-07-12 | 2003-08-26 | Bryan J. Ruffner | Multifunctional mobile appliance |
US7023833B1 (en) | 1999-09-10 | 2006-04-04 | Pulse-Link, Inc. | Baseband wireless network for isochronous communication |
US6565407B1 (en) | 2000-02-02 | 2003-05-20 | Mattel, Inc. | Talking doll having head movement responsive to external sound |
AU2001249990A1 (en) | 2000-02-16 | 2001-08-27 | Charles Stark Draper Laboratory | Balance prosthesis |
JP3948189B2 (en) | 2000-03-28 | 2007-07-25 | 松下電器産業株式会社 | Robot teaching device |
US6754560B2 (en) | 2000-03-31 | 2004-06-22 | Sony Corporation | Robot device, robot device action control method, external force detecting device and external force detecting method |
US7054850B2 (en) | 2000-06-16 | 2006-05-30 | Canon Kabushiki Kaisha | Apparatus and method for detecting or recognizing pattern by employing a plurality of feature detecting elements |
US6435936B1 (en) | 2000-08-03 | 2002-08-20 | Rehco, Llc | Interactive role-playing posable toy |
US6780042B1 (en) | 2000-08-03 | 2004-08-24 | Rutgers, The State University Of New Jersey | Active quick connecting/disconnecting connector |
US6774908B2 (en) | 2000-10-03 | 2004-08-10 | Creative Frontier Inc. | System and method for tracking an object in a video and linking information thereto |
JP2002307354A (en) | 2000-11-07 | 2002-10-23 | Sega Toys:Kk | Electronic toy |
US6547631B1 (en) | 2000-11-10 | 2003-04-15 | Suzonne L. Randall | Prayer doll |
US7235013B2 (en) | 2000-12-07 | 2007-06-26 | Konami Corporation | Game machine using self-propelled members |
US20020072293A1 (en) | 2000-12-13 | 2002-06-13 | One2Link.Com Inc. | Personal computer system having and operating an external animated doll device |
JP2002239960A (en) | 2001-02-21 | 2002-08-28 | Sony Corp | Action control method of robot device, program, recording medium, and robot device |
US6917925B2 (en) | 2001-03-30 | 2005-07-12 | Intelligent Inference Systems Corporation | Convergent actor critic-based fuzzy reinforcement learning apparatus and method |
US6500319B2 (en) | 2001-04-05 | 2002-12-31 | Giner Electrochemical Systems, Llc | Proton exchange membrane (PEM) electrochemical cell having an integral, electrically-conductive, compression pad |
US6682392B2 (en) | 2001-04-19 | 2004-01-27 | Thinking Technology, Inc. | Physically interactive electronic toys |
EP1254688B1 (en) | 2001-04-30 | 2006-03-29 | Sony France S.A. | autonomous robot |
US6633232B2 (en) | 2001-05-14 | 2003-10-14 | Koninklijke Philips Electronics N.V. | Method and apparatus for routing persons through one or more destinations based on a least-cost criterion |
US6910060B2 (en) | 2001-05-21 | 2005-06-21 | Computational Sensor Corp. | Spatio-temporal filter and method |
DE60216411T2 (en) | 2001-08-23 | 2007-10-04 | Sony Corp. | ROBOT DEVICE, FACE DETECTION METHOD AND FACIAL DETECTION DEVICE |
AU2002331786A1 (en) | 2001-08-31 | 2003-03-18 | The Board Of Regents Of The University And Community College System, On Behalf Of The University Of | Coordinated joint motion control system |
JP2003205483A (en) | 2001-11-07 | 2003-07-22 | Sony Corp | Robot system and control method for robot device |
US6776682B2 (en) | 2002-02-02 | 2004-08-17 | Robert W. Engel | Acrobatic doll and doll accessories capable of activation by air |
US8156057B2 (en) | 2003-03-27 | 2012-04-10 | Knowm Tech, Llc | Adaptive neural network utilizing nanotechnology-based components |
US20030222987A1 (en) | 2002-05-30 | 2003-12-04 | Karazuba Paul M. | Line scan image recording device with internal system for delaying signals from multiple photosensor arrays |
EP1563348A2 (en) | 2002-08-21 | 2005-08-17 | Neal E. Solomon | Systems, methods and apparatus for organizing groups of self-configurable mobile robotic agents in a multi-robotic system |
JP4129862B2 (en) | 2002-08-30 | 2008-08-06 | 本田技研工業株式会社 | Prosthetic joint device |
US20040100563A1 (en) | 2002-11-27 | 2004-05-27 | Sezai Sablak | Video tracking system and method |
US7629323B2 (en) | 2003-01-21 | 2009-12-08 | Northwestern University | Manipulation of neuronal ion channels |
JP4079792B2 (en) | 2003-02-06 | 2008-04-23 | 松下電器産業株式会社 | Robot teaching method and robot with teaching function |
US20050010331A1 (en) * | 2003-03-14 | 2005-01-13 | Taylor Charles E. | Robot vacuum with floor type modes |
US20040204792A1 (en) * | 2003-03-14 | 2004-10-14 | Taylor Charles E. | Robotic vacuum with localized cleaning algorithm |
US20040212148A1 (en) | 2003-04-24 | 2004-10-28 | Wayne Losey | Battle system for assembleable toy figures and accessories |
US20050022751A1 (en) | 2003-05-02 | 2005-02-03 | Nelson Roland D. | Interactive Animal |
GB2403365B (en) | 2003-06-27 | 2008-01-30 | Hewlett Packard Development Co | An autonomous camera having exchangeable behaviours |
US7426501B2 (en) | 2003-07-18 | 2008-09-16 | Knowntech, Llc | Nanotechnology neural network methods and systems |
US7769487B2 (en) | 2003-07-24 | 2010-08-03 | Northeastern University | Process and architecture of robotic system to mimic animal behavior in the natural environment |
FR2858509B1 (en) | 2003-07-28 | 2005-10-14 | Citilog | METHOD FOR CALIBRATING AT LEAST TWO VIDEO CAMERAS RELATIVE TO THE OTHER FOR STEROSCOPIC VIEWING AND DEVICE FOR PERFORMING THE METHOD |
JP3819883B2 (en) | 2003-08-27 | 2006-09-13 | ファナック株式会社 | Robot program position correction device |
US20060161218A1 (en) | 2003-11-26 | 2006-07-20 | Wicab, Inc. | Systems and methods for treating traumatic brain injury |
JP4780921B2 (en) | 2004-03-17 | 2011-09-28 | キヤノン株式会社 | Parallel pulse signal processing apparatus and control method thereof |
JP4277081B2 (en) | 2004-03-17 | 2009-06-10 | 株式会社デンソー | Driving assistance device |
WO2005098476A1 (en) * | 2004-03-29 | 2005-10-20 | Evolution Robotics, Inc. | Method and apparatus for position estimation using reflected light sources |
JP4661074B2 (en) | 2004-04-07 | 2011-03-30 | ソニー株式会社 | Information processing system, information processing method, and robot apparatus |
US7519452B2 (en) | 2004-04-15 | 2009-04-14 | Neurosciences Research Foundation, Inc. | Mobile brain-based device for use in a real world environment |
JP2005352900A (en) | 2004-06-11 | 2005-12-22 | Canon Inc | Device and method for information processing, and device and method for pattern recognition |
WO2006006624A1 (en) | 2004-07-13 | 2006-01-19 | Matsushita Electric Industrial Co., Ltd. | Article holding system, robot and robot control method |
US7418320B1 (en) | 2005-01-24 | 2008-08-26 | International Business Machines Corporation | Navigating a UAV having an on-board digital camera to capture desired geographic area |
US20070258329A1 (en) | 2005-01-27 | 2007-11-08 | Timothy Winey | Method and apparatus for the exploitation of piezoelectric and other effects in carbon-based life forms |
FR2884008A1 (en) | 2005-03-31 | 2006-10-06 | France Telecom | SYSTEM AND METHOD FOR LOCATING POINTS OF INTEREST IN AN OBJECT IMAGE USING A NEURON NETWORK |
US7420396B2 (en) | 2005-06-17 | 2008-09-02 | Knowmtech, Llc | Universal logic gate utilizing nanotechnology |
US20070037475A1 (en) | 2005-08-11 | 2007-02-15 | Spear Darlene K | Sound responsive doll apparatus |
US7765029B2 (en) | 2005-09-13 | 2010-07-27 | Neurosciences Research Foundation, Inc. | Hybrid control device |
US9002511B1 (en) * | 2005-10-21 | 2015-04-07 | Irobot Corporation | Methods and systems for obstacle detection using structured light |
DE602005021504D1 (en) | 2005-10-24 | 2010-07-08 | Mitsubishi Electric Inf Tech | object recognition |
US9144360B2 (en) * | 2005-12-02 | 2015-09-29 | Irobot Corporation | Autonomous coverage robot navigation system |
EP1964036A4 (en) | 2005-12-23 | 2010-01-13 | Univ Sherbrooke | Spatio-temporal pattern recognition using a spiking neural network and processing thereof on a portable and/or distributed computer |
ES2707155T3 (en) | 2006-03-17 | 2019-04-02 | Irobot Corp | Robot confinement |
US7849030B2 (en) | 2006-05-31 | 2010-12-07 | Hartford Fire Insurance Company | Method and system for classifying documents |
GB0621734D0 (en) | 2006-11-01 | 2006-12-13 | Univ Lancaster | Machine learning |
US8103602B2 (en) | 2006-12-29 | 2012-01-24 | Neurosciences Research Foundation, Inc. | Solving the distal reward problem through linkage of STDP and dopamine signaling |
US20100250022A1 (en) | 2006-12-29 | 2010-09-30 | Air Recon, Inc. | Useful unmanned aerial vehicle |
US8964014B2 (en) | 2007-01-10 | 2015-02-24 | V.I.O. Inc. | Point-of-view integrated video system having tagging and loop mode features |
US8540652B2 (en) | 2007-05-22 | 2013-09-24 | The Hong Kong Polytechnic University | Robotic training system with multi-orientation module |
US8542872B2 (en) | 2007-07-03 | 2013-09-24 | Pivotal Vision, Llc | Motion-validating remote monitoring system |
US7694834B2 (en) | 2007-07-13 | 2010-04-13 | Mike's Train House Inc. | Electro-mechanical coupler for use with model trains |
US8576281B2 (en) | 2007-09-12 | 2013-11-05 | Its-7 Pty Ltd | Smart network camera system-on-a-chip |
US8515160B1 (en) | 2007-10-04 | 2013-08-20 | Hrl Laboratories, Llc | Bio-inspired actionable intelligence method and system |
TWI357974B (en) * | 2007-11-05 | 2012-02-11 | Ind Tech Res Inst | Visual navigation system and method based on struc |
CA2705809C (en) | 2007-11-14 | 2014-05-06 | Intergraph Software Technologies Company | Method and apparatus of taking aerial surveys |
US8204273B2 (en) | 2007-11-29 | 2012-06-19 | Cernium Corporation | Systems and methods for analysis of video content, event notification, and video content provision |
KR100941638B1 (en) | 2007-12-18 | 2010-02-11 | 한국전자통신연구원 | Touching behavior recognition system and method |
US7940961B2 (en) | 2007-12-20 | 2011-05-10 | The United States Of America As Represented By The Secretary Of The Navy | Method for enhancing ground-based detection of a moving object |
US8157612B2 (en) | 2008-02-12 | 2012-04-17 | Rehco, Llc | System to direct movement of a dancing figure |
US8281997B2 (en) | 2008-02-19 | 2012-10-09 | Bilcare Technologies Singapore Pte. Ltd. | Reading device for identifying a tag or an object adapted to be identified, related methods and systems |
EP2093699A1 (en) | 2008-02-19 | 2009-08-26 | British Telecommunications Public Limited Company | Movable object status determination |
WO2009152509A1 (en) | 2008-06-13 | 2009-12-17 | Lockheed Martin Corporation | Method and system for crowd segmentation |
WO2009150245A1 (en) | 2008-06-13 | 2009-12-17 | Nokia Siemens Networks Oy | Sub channel generation for a wireless mesh network |
US7916301B2 (en) | 2008-07-10 | 2011-03-29 | Hewlett-Packard Development Company, L.P. | Filter design for colorimetric measurement |
US20100084479A1 (en) | 2008-10-02 | 2010-04-08 | Silverbrook Research Pty Ltd | Position-coding pattern having tag coordinates encoded by bit-shifted subsequences of cyclic position code |
US8526779B2 (en) | 2008-11-07 | 2013-09-03 | Looxcie, Inc. | Creating and editing video recorded by a hands-free video recording device |
KR101627132B1 (en) | 2008-12-15 | 2016-06-13 | 삼성전자 주식회사 | Robot and recovery method thereof |
US8160354B2 (en) | 2008-12-26 | 2012-04-17 | Five Apes, Inc. | Multi-stage image pattern recognizer |
US20100228418A1 (en) | 2009-03-04 | 2010-09-09 | Honeywell International Inc. | System and methods for displaying video with improved spatial awareness |
US8571261B2 (en) | 2009-04-22 | 2013-10-29 | Checkvideo Llc | System and method for motion detection in a surveillance video |
US8015785B2 (en) | 2009-05-11 | 2011-09-13 | Honda Motor Co., Ltd. | Combination grass discharge and mulch plug insert apparatus and method for a lawnmower |
ATE516930T1 (en) | 2009-05-15 | 2011-08-15 | Honda Res Inst Europe Gmbh | AUTONOMOUS ROBOTS WITH PLANNING IN UNPREDICTABLE, DYNAMIC AND COMPLEX ENVIRONMENTS |
WO2010136961A1 (en) | 2009-05-29 | 2010-12-02 | Koninklijke Philips Electronics N.V. | Control device and method for controlling a robot |
CA2766982C (en) | 2009-07-01 | 2019-02-26 | Mtd Products Inc | Visual segmentation of lawn grass |
US8200593B2 (en) | 2009-07-20 | 2012-06-12 | Corticaldb Inc | Method for efficiently simulating the information processing in cells and tissues of the nervous system with a temporal series compressed encoding neural network |
JP4699572B2 (en) | 2009-09-28 | 2011-06-15 | パナソニック株式会社 | Robot arm control apparatus and control method, robot, robot arm control program, and integrated electronic circuit for robot arm control |
US20110078717A1 (en) | 2009-09-29 | 2011-03-31 | Rovi Technologies Corporation | System for notifying a community of interested users about programs or segments |
US8275727B2 (en) | 2009-11-13 | 2012-09-25 | International Business Machines Corporation | Hardware analog-digital neural networks |
US8311965B2 (en) | 2009-11-18 | 2012-11-13 | International Business Machines Corporation | Area efficient neuromorphic circuits using field effect transistors (FET) and variable resistance material |
US20110134245A1 (en) | 2009-12-07 | 2011-06-09 | Irvine Sensors Corporation | Compact intelligent surveillance system comprising intent recognition |
US9097532B2 (en) | 2010-01-20 | 2015-08-04 | Honeywell International Inc. | Systems and methods for monocular airborne object detection |
JP5515890B2 (en) | 2010-03-15 | 2014-06-11 | オムロン株式会社 | Image processing apparatus, image processing method, image processing system, control program, and recording medium |
US8467823B2 (en) | 2010-03-24 | 2013-06-18 | Fujitsu Limited | Method and system for CPRI cascading in distributed radio head architectures |
US8315305B2 (en) | 2010-03-26 | 2012-11-20 | Brain Corporation | Systems and methods for invariant pulse latency coding |
US9311593B2 (en) | 2010-03-26 | 2016-04-12 | Brain Corporation | Apparatus and methods for polychronous encoding and multiplexing in neuronal prosthetic devices |
US9122994B2 (en) | 2010-03-26 | 2015-09-01 | Brain Corporation | Apparatus and methods for temporally proximate object recognition |
US9405975B2 (en) | 2010-03-26 | 2016-08-02 | Brain Corporation | Apparatus and methods for pulse-code invariant object recognition |
JP5526942B2 (en) | 2010-03-31 | 2014-06-18 | ソニー株式会社 | Robot apparatus, control method and program for robot apparatus |
US20120117012A1 (en) | 2010-04-08 | 2012-05-10 | Neurosciences Research Foundation, Inc. | Spike-timing computer modeling of working memory |
US8756183B1 (en) | 2010-06-14 | 2014-06-17 | Hrl Laboratories, Llc | System for representing, storing, and reconstructing an input signal |
US9665822B2 (en) | 2010-06-30 | 2017-05-30 | International Business Machines Corporation | Canonical spiking neuron network for spatiotemporal associative memory |
US8433665B2 (en) | 2010-07-07 | 2013-04-30 | Qualcomm Incorporated | Methods and systems for three-memristor synapse with STDP and dopamine signaling |
WO2012014409A1 (en) | 2010-07-27 | 2012-02-02 | パナソニック株式会社 | Moving route searching device and moving route searching method |
US9043129B2 (en) * | 2010-10-05 | 2015-05-26 | Deere & Company | Method for governing a speed of an autonomous vehicle |
US20120143495A1 (en) | 2010-10-14 | 2012-06-07 | The University Of North Texas | Methods and systems for indoor navigation |
US9294755B2 (en) | 2010-10-20 | 2016-03-22 | Raytheon Company | Correcting frame-to-frame image changes due to motion for three dimensional (3-D) persistent observations |
US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US8510239B2 (en) | 2010-10-29 | 2013-08-13 | International Business Machines Corporation | Compact cognitive synaptic computing circuits with crossbar arrays spatially in a staggered pattern |
US20120109886A1 (en) | 2010-11-01 | 2012-05-03 | Ko George | Data management system |
US8571781B2 (en) * | 2011-01-05 | 2013-10-29 | Orbotix, Inc. | Self-propelled device with actively engaged drive system |
TW201228785A (en) | 2011-01-14 | 2012-07-16 | Hon Hai Prec Ind Co Ltd | Manipulator positioning device and manipulator with same |
US8401242B2 (en) * | 2011-01-31 | 2013-03-19 | Microsoft Corporation | Real-time camera tracking using depth maps |
US8578810B2 (en) | 2011-02-14 | 2013-11-12 | Intuitive Surgical Operations, Inc. | Jointed link structures exhibiting preferential bending, and related methods |
US8584490B2 (en) | 2011-02-18 | 2013-11-19 | Corning Incorporated | Laser cutting method |
US8805579B2 (en) | 2011-02-19 | 2014-08-12 | Richard Arthur Skrinde | Submersible robotically operable vehicle system for infrastructure maintenance and inspection |
US9758239B2 (en) | 2011-04-14 | 2017-09-12 | Hexagon Technology Center Gmbh | System and method for controlling an unmanned air vehicle |
CN102226740B (en) | 2011-04-18 | 2013-05-22 | 中国计量学院 | Bearing fault detection method based on manner of controlling stochastic resonance by external periodic signal |
US8990133B1 (en) | 2012-12-20 | 2015-03-24 | Brain Corporation | Apparatus and methods for state-dependent learning in spiking neuron networks |
US9147156B2 (en) | 2011-09-21 | 2015-09-29 | Qualcomm Technologies Inc. | Apparatus and methods for synaptic update in a pulse-coded network |
US20140175267A1 (en) | 2011-06-09 | 2014-06-26 | Montana State University | Method and Apparatus for Generation of Arbitrary Waveforms with Large Bandwidth and Long Time Apertures |
US9147155B2 (en) | 2011-08-16 | 2015-09-29 | Qualcomm Incorporated | Method and apparatus for neural temporal coding, learning and recognition |
US8725662B2 (en) | 2011-09-21 | 2014-05-13 | Brain Corporation | Apparatus and method for partial evaluation of synaptic updates based on system events |
US8712941B2 (en) | 2011-09-21 | 2014-04-29 | Brain Corporation | Elementary network description for efficient link between neuronal models and neuromorphic systems |
US8719199B2 (en) | 2011-09-21 | 2014-05-06 | Brain Corporation | Systems and methods for providing a neural network having an elementary network description for efficient implementation of event-triggered plasticity rules |
US8725658B2 (en) | 2011-09-21 | 2014-05-13 | Brain Corporation | Elementary network description for efficient memory management in neuromorphic systems |
US8712939B2 (en) | 2011-09-21 | 2014-04-29 | Brain Corporation | Tag-based apparatus and methods for neural networks |
US9104186B2 (en) | 2012-06-04 | 2015-08-11 | Brain Corporation | Stochastic apparatus and methods for implementing generalized learning rules |
US20130325774A1 (en) | 2012-06-04 | 2013-12-05 | Brain Corporation | Learning stochastic apparatus and methods |
US8943008B2 (en) | 2011-09-21 | 2015-01-27 | Brain Corporation | Apparatus and methods for reinforcement learning in artificial neural networks |
US9146546B2 (en) | 2012-06-04 | 2015-09-29 | Brain Corporation | Systems and apparatus for implementing task-specific learning using spiking neurons |
US9117176B2 (en) | 2011-09-21 | 2015-08-25 | Qualcomm Technologies Inc. | Round-trip engineering apparatus and methods for neural networks |
US9015092B2 (en) | 2012-06-04 | 2015-04-21 | Brain Corporation | Dynamically reconfigurable stochastic learning apparatus and methods |
US20130151448A1 (en) | 2011-12-07 | 2013-06-13 | Filip Ponulak | Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks |
US10210452B2 (en) | 2011-09-21 | 2019-02-19 | Qualcomm Incorporated | High level neuromorphic network description apparatus and methods |
US9031033B2 (en) | 2011-09-27 | 2015-05-12 | Apple Inc. | Wireless radio access network control channel capacity management |
US9111224B2 (en) | 2011-10-19 | 2015-08-18 | Qualcomm Incorporated | Method and apparatus for neural learning of natural multi-spike trains in spiking neural networks |
JP6305673B2 (en) | 2011-11-07 | 2018-04-04 | セイコーエプソン株式会社 | Robot control system, robot system and robot |
US9443190B2 (en) | 2011-11-09 | 2016-09-13 | Qualcomm Incorporated | Methods and apparatus for neural pattern sequence completion and neural pattern hierarchical replay by invoking replay of a referenced neural pattern |
EP2789159A4 (en) | 2011-12-07 | 2015-06-17 | Intel Corp | Guided image capture |
WO2013087974A1 (en) | 2011-12-16 | 2013-06-20 | Nokia Corporation | Method and apparatus for image capture targeting |
FR2985581B1 (en) | 2012-01-05 | 2014-11-28 | Parrot | METHOD FOR CONTROLLING A ROTARY SAILING DRONE FOR OPERATING A SHOOTING VIEW BY AN ON-BOARD CAMERA WITH MINIMIZATION OF DISTURBING MOVEMENTS |
US20130204814A1 (en) | 2012-02-08 | 2013-08-08 | Qualcomm Incorporated | Methods and apparatus for spiking neural computation |
US9367797B2 (en) | 2012-02-08 | 2016-06-14 | Jason Frank Hunzinger | Methods and apparatus for spiking neural computation |
US9230333B2 (en) | 2012-02-22 | 2016-01-05 | Raytheon Company | Method and apparatus for image processing |
US8930021B2 (en) | 2012-02-27 | 2015-01-06 | Ramon Green | Interchangeable modular robotic unit |
US9609284B2 (en) | 2012-05-22 | 2017-03-28 | Otoy, Inc. | Portable mobile light stage |
US9208432B2 (en) | 2012-06-01 | 2015-12-08 | Brain Corporation | Neural network learning and collaboration apparatus and methods |
US20140008496A1 (en) | 2012-07-05 | 2014-01-09 | Zhou Ye | Using handheld device to control flying object |
US8977582B2 (en) | 2012-07-12 | 2015-03-10 | Brain Corporation | Spiking neuron network sensory processing apparatus and methods |
US20140078343A1 (en) | 2012-09-20 | 2014-03-20 | Htc Corporation | Methods for generating video and multiple still images simultaneously and apparatuses using the same |
US8793205B1 (en) | 2012-09-20 | 2014-07-29 | Brain Corporation | Robotic learning and evolution apparatus |
US9465997B2 (en) | 2012-09-26 | 2016-10-11 | General Electric Company | System and method for detection and tracking of moving objects |
US8972315B2 (en) | 2012-10-25 | 2015-03-03 | Brain Corporation | Apparatus and methods for activity-based plasticity in a spiking neuron network |
US20140198838A1 (en) | 2013-01-15 | 2014-07-17 | Nathan R. Andrysco | Techniques for managing video streaming |
US9407837B2 (en) * | 2013-02-28 | 2016-08-02 | Google Inc. | Depth sensor using modulated light projector and image sensor with color and IR sensing |
KR102218243B1 (en) | 2013-03-15 | 2021-02-22 | 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 | Software configurable manipulator degrees of freedom |
US9764468B2 (en) | 2013-03-15 | 2017-09-19 | Brain Corporation | Adaptive predictor apparatus and methods |
US8996177B2 (en) | 2013-03-15 | 2015-03-31 | Brain Corporation | Robotic training apparatus and methods |
WO2014176379A2 (en) | 2013-04-23 | 2014-10-30 | Canary Connect, Inc. | Security and/or monitoring devices and systems |
DE102013215409A1 (en) * | 2013-08-06 | 2015-02-12 | Robert Bosch Gmbh | Projection unit for a self-contained mobile platform, transport robot and method for operating a self-contained mobile platform |
KR102093177B1 (en) * | 2013-10-31 | 2020-03-25 | 엘지전자 주식회사 | Moving Robot and operating method |
CN106458318A (en) | 2014-05-23 | 2017-02-22 | 莉莉机器人公司 | Unmanned aerial copter for photography and/or videography |
KR101620427B1 (en) * | 2014-10-14 | 2016-05-12 | 엘지전자 주식회사 | Method of controlling robot cleaner |
-
2015
- 2015-06-24 US US14/749,423 patent/US9840003B2/en active Active
- 2015-06-26 US US14/752,688 patent/US9873196B2/en active Active
-
2018
- 2018-01-22 US US15/877,243 patent/US10807230B2/en active Active
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200409382A1 (en) * | 2014-11-10 | 2020-12-31 | Carnegie Mellon University | Intelligent cleaning robot |
US10156853B2 (en) * | 2015-04-02 | 2018-12-18 | Electric 80 S.P.A. | Group for localizing a moving target in a warehouse with automatic guided vehicles |
US9886035B1 (en) * | 2015-08-17 | 2018-02-06 | X Development Llc | Ground plane detection to verify depth sensor status for robot navigation |
US10656646B2 (en) * | 2015-08-17 | 2020-05-19 | X Development Llc | Ground plane detection to verify depth sensor status for robot navigation |
US20180107218A1 (en) * | 2015-08-17 | 2018-04-19 | X Development Llc | Ground Plane Detection to Verify Depth Sensor Status for Robot Navigation |
US20170083021A1 (en) * | 2015-09-17 | 2017-03-23 | Volkswagen Ag | Method and apparatus for determining a desired trajectory for a vehicle |
US10564647B2 (en) * | 2015-09-17 | 2020-02-18 | Volkswagen Ag | Method and apparatus for determining a desired trajectory for a vehicle |
US11520034B2 (en) | 2015-11-29 | 2022-12-06 | Vayyar Imaging Ltd | System, device and method for imaging of objects using signal clustering |
US10914835B2 (en) | 2015-11-29 | 2021-02-09 | Vayyar Imaging Ltd. | System, device and method for imaging of objects using signal clustering |
US20170153324A1 (en) * | 2015-11-29 | 2017-06-01 | Vayyar Imaging Ltd. | System, device and method for imaging of objects using signal clustering |
US10436896B2 (en) * | 2015-11-29 | 2019-10-08 | Vayyar Imaging Ltd. | System, device and method for imaging of objects using signal clustering |
US10386839B2 (en) * | 2016-05-26 | 2019-08-20 | Boston Incubator Center, LLC | Mobile robot that emulates pedestrian walking behavior |
US20210080561A1 (en) * | 2016-08-24 | 2021-03-18 | Magna Electronics Inc. | Vehicle sensor with integrated radar and image sensors |
US11719808B2 (en) * | 2016-08-24 | 2023-08-08 | Magna Electronics Inc. | Vehicle sensor with integrated radar and image sensors |
US20180199014A1 (en) * | 2016-11-14 | 2018-07-12 | Texas Instruments Incorporated | Methods and apparatus for shallow gradient artifact reduction in image display systems |
US10798346B2 (en) * | 2016-11-14 | 2020-10-06 | Texas Instruments Incorporated | Methods and apparatus for shallow gradient artifact reduction in image display systems |
US9930303B1 (en) * | 2016-11-14 | 2018-03-27 | Texas Instruments Incorporated | Methods and apparatus for shallow gradient artifact reduction in image display systems |
US20180189532A1 (en) * | 2016-12-30 | 2018-07-05 | Accenture Global Solutions Limited | Object Detection for Video Camera Self-Calibration |
US10366263B2 (en) * | 2016-12-30 | 2019-07-30 | Accenture Global Solutions Limited | Object detection for video camera self-calibration |
US20200004262A1 (en) * | 2017-03-14 | 2020-01-02 | Aptiv Technologies Limited | Angle finding for a detector having a paired staggered array |
US10416680B2 (en) * | 2017-03-14 | 2019-09-17 | Aptiv Technologies Limited | Angle finding for a detector having a paired staggered array |
US10809737B2 (en) * | 2017-03-14 | 2020-10-20 | Aptiv Technologies Limited | Angle finding for a detector having a paired staggered array |
US11402894B2 (en) | 2017-03-22 | 2022-08-02 | Huawei Technologies Co., Ltd. | VR image sending method and apparatus |
WO2018225282A1 (en) * | 2017-06-06 | 2018-12-13 | 三菱電機株式会社 | Observation device and vehicle control system |
US10860034B1 (en) | 2017-09-27 | 2020-12-08 | Apple Inc. | Barrier detection |
US20200371525A1 (en) * | 2017-10-30 | 2020-11-26 | Sony Corporation | Information processing apparatus, information processing method, and program |
US11675360B2 (en) * | 2017-10-30 | 2023-06-13 | Sony Corporation | Information processing apparatus, information processing method, and program |
CN108153307A (en) * | 2017-12-21 | 2018-06-12 | 中国人民解放军总参谋部第六十研究所 | A kind of straight line autonomous tracing in intelligent vehicle |
US10875448B2 (en) * | 2017-12-27 | 2020-12-29 | X Development Llc | Visually indicating vehicle caution regions |
US20210026368A1 (en) * | 2018-03-26 | 2021-01-28 | Jabil Inc. | Apparatus, system, and method of using depth assessment for autonomous robot navigation |
US20210244252A1 (en) * | 2018-04-30 | 2021-08-12 | Lg Electronics Inc. | Artificial intelligence vacuum cleaner and control method therefor |
US20210212541A1 (en) * | 2018-05-16 | 2021-07-15 | Lg Electronics Inc. | Vacuum cleaner and control method thereof |
US11998159B2 (en) * | 2018-05-16 | 2024-06-04 | Lg Electronics Inc. | Vacuum cleaner and control method thereof |
EP3588228A1 (en) * | 2018-06-27 | 2020-01-01 | Siemens Aktiengesellschaft | Driverless transport vehicle, arrangement and method for outputting augmented reality |
AU2019329379B2 (en) * | 2018-08-28 | 2021-04-01 | Intuit Inc. | System and method for unique identifier detection based on invisible light |
US10585437B1 (en) * | 2018-09-25 | 2020-03-10 | NextVPU (Shanghai) Co., Ltd. | Auto-recharging of robot |
US20200132832A1 (en) * | 2018-10-25 | 2020-04-30 | TransRobotics, Inc. | Technologies for opportunistic synthetic aperture radar |
WO2020104647A1 (en) * | 2018-11-23 | 2020-05-28 | Bayerische Motoren Werke Aktiengesellschaft | Driver assistance system for an autonomously driving vehicle, and method for guiding an autonomously driving vehicle |
US11360478B2 (en) * | 2018-12-04 | 2022-06-14 | Still Gmbh | Method for the operation of an autonomous industrial truck and intra-logistics system with an autonomous industrial truck |
CN111273654A (en) * | 2018-12-04 | 2020-06-12 | 施蒂尔有限公司 | Method for operating autonomous ground transport means and logistics system in an enterprise |
US20220114806A1 (en) * | 2019-01-07 | 2022-04-14 | Mobius Labs Gmbh | Automated capturing of images comprising a desired feature |
US11675365B2 (en) * | 2019-01-28 | 2023-06-13 | Pixart Imaging Inc. | Moving robot without detection dead zone |
US11353884B2 (en) * | 2019-01-28 | 2022-06-07 | Pixart Imaging Inc. | Robot without detection dead zone |
US20230259139A1 (en) * | 2019-01-28 | 2023-08-17 | Pixart Imaging Inc. | Moving robot without detection dead zone |
US20220253068A1 (en) * | 2019-01-28 | 2022-08-11 | Pixart Imaging Inc. | Moving robot without detection dead zone |
US11994871B2 (en) * | 2019-01-28 | 2024-05-28 | Pixart Imaging Inc. | Moving robot without detection dead zone |
US20220161619A1 (en) * | 2019-03-12 | 2022-05-26 | Zf Cv Systems Hannover Gmbh | Detection system and method for ascertaining an articulation angle between two sub-vehicles of a vehicle, and vehicle combination |
US11813910B2 (en) * | 2019-03-12 | 2023-11-14 | Zf Cv Systems Europe Bv | Detection system and method for ascertaining an articulation angle between two sub-vehicles of a vehicle, and vehicle combination |
US12019452B2 (en) * | 2019-03-26 | 2024-06-25 | Jabil Inc | Apparatus, system, and method of using depth assessment for autonomous robot navigation |
US20220206468A1 (en) * | 2019-04-17 | 2022-06-30 | Twinny Co., Ltd. | Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same |
US11402487B2 (en) * | 2019-04-18 | 2022-08-02 | GM Global Technology Operations LLC | Joint radon transform association |
US11585934B2 (en) * | 2019-04-30 | 2023-02-21 | Lg Electronics Inc. | Cart robot having auto-follow function |
US20200346352A1 (en) * | 2019-04-30 | 2020-11-05 | Lg Electronics Inc. | Cart robot having auto-follow function |
US11565411B2 (en) * | 2019-05-29 | 2023-01-31 | Lg Electronics Inc. | Intelligent robot cleaner for setting travel route based on video learning and managing method thereof |
US20210331312A1 (en) * | 2019-05-29 | 2021-10-28 | Lg Electronics Inc. | Intelligent robot cleaner for setting travel route based on video learning and managing method thereof |
US11430341B2 (en) * | 2019-05-31 | 2022-08-30 | Cognizant Technology Solutions Sindia Pvt. Ltd. | System and method for optimizing unmanned aerial vehicle based warehouse management |
EP3789842A1 (en) * | 2019-09-04 | 2021-03-10 | STILL GmbH | Method for locating a vehicle and vehicle for performing the method |
WO2021049736A1 (en) * | 2019-09-13 | 2021-03-18 | 삼성전자 주식회사 | Mobile device for detecting object and operation method therefor |
US11958183B2 (en) | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
US11347238B2 (en) * | 2019-10-02 | 2022-05-31 | Mitsubishi Electric Research Laboratories, Inc. | System and method for probabilistic multi-robot SLAM |
US20210319311A1 (en) * | 2020-04-08 | 2021-10-14 | Lg Electronics Inc. | Artificial intelligence apparatus using a plurality of output layers and method for same |
US11769047B2 (en) * | 2020-04-08 | 2023-09-26 | Lg Electronics Inc. | Artificial intelligence apparatus using a plurality of output layers and method for same |
US11776152B2 (en) * | 2020-05-11 | 2023-10-03 | Jiaxing Uphoton Optoelectronics Technology Co., Ltd. | Mobile apparatus obstacle detection system, mobile apparatus, and ground-sweeping robot |
US20230186507A1 (en) * | 2020-05-11 | 2023-06-15 | Beijing Uphoton Optoelectronics Development Co., Ltd. | Mobile apparatus obstacle detection system, mobile apparatus, and ground-sweeping robot |
ES2887526A1 (en) * | 2020-06-22 | 2021-12-22 | Cecotec Res And Development | SELF-MOVING DISINFECTION APPARATUS (Machine-translation by Google Translate, not legally binding) |
US20220198702A1 (en) * | 2020-12-22 | 2022-06-23 | Continental Automotive Systems, Inc. | Method and device for detecting a trailer angle |
US11783506B2 (en) * | 2020-12-22 | 2023-10-10 | Continental Autonomous Mobility US, LLC | Method and device for detecting a trailer angle |
US20220374428A1 (en) * | 2021-05-24 | 2022-11-24 | Nvidia Corporation | Simulation query engine in autonomous machine applications |
FR3124253A1 (en) * | 2021-06-18 | 2022-12-23 | Valeo Vision | Method for detecting an object on a road surface, autonomous driving method and automotive lighting device |
FR3124254A1 (en) * | 2021-06-18 | 2022-12-23 | Valeo Vision | Method for detecting an object on a road surface, autonomous driving method and automotive lighting device |
WO2022263683A1 (en) * | 2021-06-18 | 2022-12-22 | Valeo Vision | Method for detecting an object in a road surface, method for autonomous driving and automotive lighting device |
WO2022263684A1 (en) * | 2021-06-18 | 2022-12-22 | Valeo Vision | Method for detecting an object in a road surface, method for autonomous driving and automotive lighting device |
Also Published As
Publication number | Publication date |
---|---|
US20180207791A1 (en) | 2018-07-26 |
US9873196B2 (en) | 2018-01-23 |
US9840003B2 (en) | 2017-12-12 |
US20160375592A1 (en) | 2016-12-29 |
US10807230B2 (en) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10807230B2 (en) | Bistatic object detection apparatus and methods | |
US11363929B2 (en) | Apparatus and methods for programming and training of robotic household appliances | |
US10657409B2 (en) | Methods and apparatus for tracking objects using saliency | |
US20190009408A1 (en) | Apparatus and methods for programming and training of robotic devices | |
JP6039611B2 (en) | Mobile robot system | |
WO2011146259A2 (en) | Mobile human interface robot | |
EP2571660A2 (en) | Mobile human interface robot | |
Yan et al. | Robot perception of static and dynamic objects with an autonomous floor scrubber | |
US20190377358A1 (en) | Systems and methods for simulation utilizing a segmentable monolithic mesh | |
US20220122157A1 (en) | Systems and methods for detection of features within data collected by a plurality of robots by a centralized server | |
US20230168689A1 (en) | Systems and methods for preserving data and human confidentiality during feature identification by robotic devices | |
JP2022500763A (en) | Systems and methods for detecting blind spots for robots | |
US20240085916A1 (en) | Systems and methods for robotic detection of escalators and moving walkways | |
Chikhalikar et al. | An object-oriented navigation strategy for service robots leveraging semantic information | |
WO2021252425A1 (en) | Systems and methods for wire detection and avoidance of the same by robots | |
Vij et al. | An Experience with Multi-sensor Robot for Adaptive Human Sensing | |
Ye et al. | Design of intelligent mobile vehicle system and its global optimal path planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BRAIN CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SZATMARY, BOTOND;RICHERT, MICAH;REEL/FRAME:036277/0901 Effective date: 20150626 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
AS | Assignment |
Owner name: HERCULES CAPITAL, INC., CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:BRAIN CORPORATION;REEL/FRAME:057851/0574 Effective date: 20211004 |
|
FEPP | Fee payment procedure |
Free format text: SURCHARGE FOR LATE PAYMENT, SMALL ENTITY (ORIGINAL EVENT CODE: M2554); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |