Motion detector
The motion detector system addresses the challenge of autonomous operation in environments without positioning signals by accurately detecting motion and direction, enhancing collision avoidance for unmanned vehicles.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- OPTERAN TECH LTD
- Filing Date
- 2024-04-18
- Publication Date
- 2026-07-29
AI Technical Summary
Unmanned vehicles, such as drones, face challenges in operating autonomously in environments without positioning signals, requiring effective collision avoidance systems that can recognize their motion and environment.
A motion detector system utilizing an input interface from sensors that respond to environmental changes, a processor circuit with filters and correlators to calculate motion direction, and a ratio acquisition circuit to determine motion based on sensor outputs, enabling accurate detection of angular velocity and direction.
The system effectively detects motion and direction, reducing collision risks by providing precise angular velocity measurements and enabling control systems for unmanned vehicles.
Smart Images

Figure 0007896900000066 
Figure 0007896900000067 
Figure 0007896900000068
Abstract
Description
Background Art
[0001] There is an increasing interest in using small unmanned vehicles or drones when performing various operations. Such operations may include moving in unknown environments. In some environments, positioning signals such as global positioning signals (GPS) may be available to control or track the position of a drone within that environment, while in other cases they may not be available. In areas where there is no positioning signal or other reference signal, the drone must be able to operate autonomously within that environment, particularly for the purpose of avoiding collisions with structures that make up the given environment or objects in the given environment. Similarly, multiple drones operating in a common environment have similar requirements regarding collision avoidance, whether operating as a group or independently. To achieve such collision avoidance, the drone needs to recognize its environment, specifically its own motion (motion, movement) within that environment.
Brief Description of the Drawings
[0002] [Figure 1] A diagram showing an example of a motion detector. [Figure 2] An example flowchart for motion detection. [Figure 3] A diagram showing an example of an array of sensors. [Figure 4] A diagram showing examples of some outputs. [Figure 5] A schematic diagram showing an example of a control circuit. [Figure 6] A diagram showing an example of a processor and machine-executable instructions or a circuit. [Figure 7] A diagram showing examples of a horizontal output unit and a vertical output unit. [Figure 8] A diagram showing an example of a horizontal output unit. [Figure 9] A diagram showing an example of a vertical output unit. [Figure 10]This figure shows an example of a horizontal output unit spatial filter. [Figure 11] This figure shows an example of a vertical output unit spatial filter. [Figure 12] This is an example of a performance graph. [Figure 13] This is an example of a performance graph. [Modes for carrying out the invention]
[0003] Accordingly, according to an exemplary embodiment, a detector for detecting motion can be provided. Such a detector comprises, for example, an input interface that receives input from a plurality of sensors that respond to environmental changes such as changes in electromagnetic waves or sound waves, and a processor circuit that responds to a selected input from the plurality of inputs. The processor circuit comprises a first filter that generates a zero output in response to a steady-state input from the selected input, a second filter that generates an output equal to the output of the first filter in a steady state in response to the output of the first filter, a correlator circuit that obtains an index of temporally overlapping outputs from the selected output of the second filter, and a ratio acquisition circuit that obtains the ratio of selected outputs from the correlator circuit in response to the output from the correlator circuit, the ratio being associated with at least one direction of motion.
[0004] An exemplary embodiment can be realized in which a first filter that generates a zero output depending on a steady-state input among the selected inputs has a circuit that solves or performs a first differential equation involving different time constants using the selected inputs.
[0005] An exemplary embodiment may be one in which, in response to the output of the first filter in a steady state, a second filter that responds to the output of the first filter in a steady state has a circuit that solves or performs a second differential equation in order to produce an output equal to the output of the first filter in a steady state.
[0006] Figure 1 shows a motion detector (motion detector), such as an angular velocity detector 100, according to an exemplary embodiment. The detector 100 can receive one or more inputs from one or more sensors 102. In the illustrated example, the sensor is a photosensitive sensor that detects visible light incident on the sensor. The illustrated detector 100 is configured to receive inputs from multiple such sensors, i.e., to detect visible light or electromagnetic waves having wavelengths other than those corresponding to visible light. The sensors 102 can be configured in several ways. For example, the sensors 102 can be arranged as a 2D array, as shown. The sensors 102 in such an array can be indexed using two orthogonal axes 104, with i and j as the vertical and horizontal coordinate indices, respectively. The array can be implemented as an n × m array. In the illustrated example, the array is a 3 × 4 array. It will be understood that n and m can take any suitable values and are not limited to 3 and 4. Furthermore, the illustrated array 102 is substantially planar. However, exemplary embodiments can be realized in which the array is nonplanar, such as a spherical surface or some other nonlinear or nonplanar surface. Furthermore, the array is shown such that the sensors are arranged linearly with respect to each other. However, the sensors can be configured in any other way, such as an offset configuration in which adjacent rows are offset from each other. Using offset sensors, or at least sensors that do not respond simultaneously to the same event, such as the same transition, can smooth the system's response to common stimuli, which has the advantage that responses to sudden or abrupt changes, such as sudden or abrupt light transitions, are attenuated or at least smoothed.
[0007] Outputs from adjacent pairs of sensors 102 are processed together. For example, a first pair of sensors 106 and 108 with indices i,j and i,j-1 are shown having outputs 110 and 112, respectively. Another example of a pair of sensors 114 and 116 is also shown. Yet another pair of sensors 114 and 116 have outputs 118 and 120, respectively.
[0008] Outputs 110, 112, 118, and 120 can be carried or transmitted to their respective filters 136, 138, 136', and 138' by a bus or other means of communication. Such a bus or other means of communication can constitute an input interface.
[0009] The outputs from each adjacent pair of vertically arranged sensors are input to processor 124. The outputs from each adjacent pair of horizontally arranged sensors are input to processor 126. Processors 124 and 126 each determine their respective directions of motion along the j-axis and i-axis 104. In the illustrated example, the directions of motion are indicated by values representing left, right, up, and down, i.e., Dl, Dr, Du, and Dd (reference numerals 128-134).
[0010] A processor such as processor 124, corresponding to a pair of vertically arranged sensors, includes several filters. In the illustrated example, two such filters 136 and 138 are provided. Filters 136 and 138 identify the activity level a associated with a node. A node is synonymous with a sensor. The activity level a is related to the variation in incident light. Filters 136 and 138 output solutions to a pair of differential equations. The differential equations are
number
[0011] It will be understood that the above differential equations are invariant for arbitrary temporal and spatial contrast input variations. For example, considering a steady-state non-zero input, the output from layer 1 (symbol 122), i.e., a from the filter, becomes 0, and the output of detector 100 as a whole also becomes 0, which is expected because the steady state represents no motion. Appropriately, as a result of the absence of adaptation, the output of layer 1, i.e., a, becomes equal to the input.
[0012] Processor 124 has a left branch 144 and a right branch 146, represented by a vertical dashed line 147. The right branch 144 receives input from the outputs of two filters 136 and 138. Processor 124 has a second layer 148. The second layer 148 has several types of nodes. In the illustrated example, the second layer has three types of nodes. In the illustrated example, the right branch 144 has a pair of fast nodes 150-1 and 150-2 and a pair of medium-speed nodes 151-1 and 151-2. The left branch 146 has a pair of slow nodes 152-1 and 152-2 and a pair of medium-speed nodes 153-1 and 153-2. Nodes 150-153 calculate the solution to the following differential equation.
number
[0013] Processor 124 includes nodes 155-1 to 155-4 of several layer 3 (reference numeral 154). The right-branching nodes 155-1 and 155-2 calculate, as outputs, hereinafter, that is, for node 155-1,
Number
Number
Number
Number
[0014]
number
number
number
number
[0015] Processor 124 has a fourth layer 157 containing multiple nodes 156-1 to 156-4 that perform summation operations on each input. The fourth layer 157 is shown as comprising four sublayers labeled "Sum", "Reichardt-Hassenstein Execution / Detector (RHD)", "Ratio", and "Subtraction RHD". The nodes in layer 4 (indicated 157) perform the following calculations in both processors 124 and 126.
number
number
[0016] In detail, nodes 156-1 and 156-2 are outputs
number
number
number
number
number
number
number
number
number
[0017] Nodes 160 and 161 will be executed as their respective conditions are met.
number
[0018]
number
number
number
number
number
[0019] If we make all Fs equal and all Ss equal, equation (6) gives a ratio that is the same as the individual ratios, whereas equation (5) gives a sum that is three times the individual ratios, and as a result the motion estimate is three times higher, so it should be understood that this is inaccurate.
[0020] It can be seen that as the angular velocity increases, F and S tend to become zero. Therefore, realizing a lower limit for the forms of Fmin and Smin having a constant ratio ensures that the detector's response to very high-speed motion, and therefore noise, is suppressed, and preferably minimized. Appropriately, noise within the detector can be at least reduced, and preferably minimized, by realizing a differential equation acting on one or more of the detector outputs 128 to 134 having exactly the same form as equation (1) above.
[0021] Referring to processor 126, it is identical in configuration and operation to processor 124, except that its input is taken from a horizontally positioned sensor. The horizontally positioned sensor can be, for example, adjacent sensors such as sensors 114 and 116. The reference numbers used when referring to the elements of processor 126 are exactly the same as those used when referring to processor 124, with only a dash or prime '' added, and will not be described in detail. However, it should be understood that processor 126 has multiple nodes 155-1' to 155-4' in layer 3 (code 154). The right branch nodes 155-1' and 155-2' have the following outputs, namely, with respect to node 155-1':
number
number
number
number
[0022] Figure 2 shows a flowchart 200 that implements the above, specifically processing the output from Layer 3. It concludes by generating the directions of the motion outputs 128-134. However, it will be understood that other layers, such as Layers 1, 2, and 3, can also be included in the flowchart before Section 202. In Stage 202, several variables or calculations are performed beforehand, as necessary. It should be understood that the following are established or can be established.
number
[0023] In reference numeral 204, condition
number
number
number
[0024] In reference numeral 208, condition
number
number
[0025] In reference numeral 214, condition
number
number
[0026] In reference numeral 218, the direction of motion is calculated as follows:
number
[0027] A further processing stage, if necessary, involves applying equation (1) in the direction of motion at output Dz to reduce noise or mitigate the effects of noise.
[0028] Figure 3 shows a 300 array of sensors 102. The outputs from the sensors in the array constitute inputs to processors 124 and 126. These outputs can be taken from all sensors in the array or from a subset of sensors in the array. A subset of sensors can form a contiguous array or sub-region of the total number of sensors. The example shown in Figure 3 shows several sub-regions 302-306. Sub-regions may have a specific function or may be associated with a processor for a specific purpose. A sub-region can be associated with identifying motion in a given direction. For example, the first sub-region 302 can be associated with identifying motion in each direction along the first axis 308 or different axes. The second sub-region 304 can be associated with identifying motion in each direction along each axis such as the first axis 308. The third sub-region 306 can be associated with identifying motion in each direction along each axis such as axis 310. Axes 308 and 310 can be orthogonal to each other. More or fewer sub-regions may be provided. A single sub-region can be used to identify directions of motion in multiple directions. For example, a single sub-region of the array, or other sets of sensors, can be used to identify motion in at least one of the left, right, up, or down directions, which is acquired congruently in any permutation. The sensors used as inputs to processors 124 and / or 126 can be arranged consecutively or discontinuously.
[0029] Figure 4 shows some of the inputs and outputs associated with the various layers described with reference to Figure 1. For example, inputs such as a step input 402 are shown, representing events such as edges passing through two sensors 404 and 406 at time points t1 and t2. The responses 403 of the Layer 1 filters 136, 138, 136', and 138', i.e., outputs 140, 142, 140', and 142', are shown as curves 408 and 410, respectively, also at time points t1 and t2. The output 412 of Layer 2, i.e., the values of c[fs] and cn, are shown in curves 414 and 416, respectively. The two curves are multiplied in Layer 3, resulting in output 418, i.e., delayed c[fs] and undelayed cn, i.e.,
number
number
[0030] Figure 5 shows an embodiment of a control system 500 that responds to one or more of the outputs 128-134. The control system 500 comprises several inputs 502 that receive the outputs 128-134. The control system 500 uses the inputs 502 when implementing a control law 504. As a result of the control law 504, one or more control outputs 506 can be generated. The control outputs 506 may include a single control signal or multiple control signals, the latter of which are indicated by diagonal lines. The control law 504 may include a single control law, for example, in the form of one equation or a set of equations, or it may include multiple control laws, each containing one or more respective equations that respond to one or more inputs 502, for example. One or more control signals may be output to drive or control each actuator that controls the motion of the vehicle.
[0031] Using exemplary embodiments, at least one of a vehicle speed, direction, or attitude control system, such as an unmanned vehicle, can be realized, acquired together in any permutation. Such vehicles are not limited to unmanned vehicles. Manned vehicles can also use the exemplary embodiments described and claimed herein.
[0032] Figure 6 shows a block diagram illustrating some examples of components that can read instructions from a machine-readable storage device or computer-readable medium (e.g., a machine-readable storage medium) and execute one or more of the methods discussed herein. The machine-readable storage device or computer-readable medium may be non-transient. Specifically, Figure 6 shows a schematic diagram of a hardware resource 600 comprising one or more processors (or processor cores) 610, one or more memory / storage devices 620, and optionally one or more communication resources 630, each being communicably connected via a bus 640.
[0033] The processor 610 (for example, a central processing unit (CPU), a reduced instruction set computing (RICS) processor, a composite instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP) such as a baseband processor, an application-specific integrated circuit (ASIC), another type of processor, or any suitable combination thereof) may comprise, for example, processors 612 and 614, which may constitute embodiments of processors 124 and 126. The memory / storage device 620 may include main memory, disk storage, or any suitable combination thereof.
[0034] The communication resource 630 may include interconnection and / or network interface components or any suitable devices to communicate with one or more peripheral devices 604 and / or with one or more databases 606 via the network 608. For example, the communication resource 630 may include wired communication components (e.g., those coupled via Universal Serial Bus (USB)), cellular communication components, near-field communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components.
[0035] Instruction 650 may include machine-executable instructions, such as software, programs, applications, applets, or other executable code, for causing at least one of the processors 610 to perform any one or more of the methods discussed herein. Instruction 650 may reside entirely or partially within at least one of the processors 610 (e.g., within the processor's cache memory), within a memory / storage device 620, or in any suitable combination thereof. Furthermore, any portion of instruction 650 can be transferred to the hardware resource 600 from any combination of peripheral devices 604 and / or database 606. Thus, the memory of the processor 610, the memory / storage device 620, peripheral devices 604 and database 606 are examples of computer-readable and machine-readable media.
[0036] An exemplary embodiment of the detector can accurately measure the angular velocity in a direction with respect to a moving edge whose direction of motion is perpendicular to the detector array. It should be understood that detecting motion becomes more difficult as the direction becomes parallel to the edge. Furthermore, when motion, and therefore motion detection, is required in two dimensions, there is a potential problem with edges that are not aligned to one of the two detector axes. When an edge is parallel to one axis, it will be understood that all points on the edge cross the other axis simultaneously. Therefore, there is no time delay between adjacent points, and therefore the detector does not respond. As the edge rotates from parallel to one axis, a time delay occurs between adjacent points on the other axis, which changes with the degree of rotation or angle. It will be understood that as the edge moves in a direction parallel to its axis, the time delay tends to become zero. The delay can be detected or interpreted as motion, which is a correct detection with respect to the received signal, but not necessarily a correct detection with respect to the motion of the corresponding edge, or does not necessarily indicate the motion of the corresponding edge. However, it is possible to realize an example in which it is assumed that the motion is tilted at a predetermined 12 angles with respect to the detection axis of the detector, and more specifically, an example in which it is assumed that the detected signal corresponds to motion perpendicular to the edge. Therefore, it should be understood that this assumption causes a motion illusion for humans regarding a rotating spiral. When this is applied to the exemplary embodiments described herein and claimed, it will be understood that the detection of the edge angle is useful, along with using this information when weighting the received or detected signal from the sensor.
[0037] Therefore, Figure 7 shows Figure 700 of the horizontal output unit 702 and the vertical output unit 704. The output units are grouped or associated sensors. The grouped or associated sensors form or correspond to a sub-region of the entire sensor array, or a sub-region selected from the entire array. Alternatively, or in addition to, the grouped or associated sensors can form the entire array.
[0038] The horizontal output unit 702 comprises a predetermined number of sensors 706-716. The predetermined number of sensors 706-716 can be arranged in a predetermined manner. The predetermined manner may include an m×n array. In the illustrated example, the sensors 706-716 of the horizontal output unit are arranged in a 3×2 array. The horizontal output unit 702 comprises a reference sensor. The positions of the other sensors in the array can be determined relative to the reference sensor. In the illustrated embodiment, the reference sensor is sensor 714, but it may also be any other sensor. Sensors 706-716 are indexed using (i,j) coordinates measured relative to the reference sensor 714. It should be understood that the reference sensor 714 has a corresponding index or coordinate (i,j). The other sensors 706-712 and 716 have the following corresponding indexes or coordinates: (i-1,j-1), (i,j-1), (i+1,j-1), (i-1,j), and (i+1,j).
[0039] The vertical output unit 704 comprises a predetermined number of sensors 706' to 716'. The predetermined number of sensors 706' to 716' can be arranged in a predetermined manner. This predetermined manner may include a p × q array. In the illustrated example, the sensors 706' to 716' of the vertical output unit are arranged in a 2 × 3 array. The vertical output unit 704 comprises a reference sensor. The positions of other sensors in the array can be determined relative to the reference sensor. In the illustrated embodiment, the reference sensor is sensor 714', but it can also be any other sensor. Sensors 706' to 716' are indexed using (i,j) coordinates measured relative to the reference sensor 714'. It should be understood that the reference sensor 714' has a corresponding index or coordinate (i,j). Other sensors 706'~712' and 716' have the following corresponding indices or coordinates: (i-1,j+1), (i-1,j), (i-1,j-1), (i,j-1), and (i,j+1).
[0040] Therefore, the examples described above and shown in Figures 1 to 5 can be modified to add spatial filters prior to any initial time filtering stage. In one embodiment, a single additional spatial filter can be used for each axis used. Thus, in the illustrated embodiment, two such spatial filters are used: one for motion in a first direction or for an axis in the first direction, and the other for motion in a second direction or for an axis in the second direction. In the illustrated example, the first and second directions or axes can correspond to horizontal and vertical directions or axes, but assuming the horizontal and vertical axes are the x and y axes or directions, they can be any other direction or axis, such as the z direction. An example can be realized in which the spatial filter is a convolutional filter that constitutes a weighted sum of the sensor outputs. Thus, with respect to the illustrated horizontal and vertical output units, the spatial filter constitutes a weighted sum of a predetermined number of sensors 706 to 716 and / or 706' to 716'.
[0041] The output from the spatial filter for the horizontal output unit is,
number
[0042] In addition, or instead, the output from the spatial filter for the vertical output unit is,
number
[0043] While the exemplary embodiments described above have used specific single-edge detectors shown in equations (7) and (8), the examples are not limited to those detectors. Exemplary embodiments can be realized using any other type of edge detector that detects motion perpendicular to a given axis of the detector, or motion having a component perpendicular to a given axis of the detector.
[0044] The weights or coefficients used in equations (7) and (8) generally represent the output from the horizontal and vertical spatial filter outputs.
number
number
[0045] The values of α, β, χ, δ, ε, and φ can correspond to the values given above by referring to equation (7), but they can also take other values. The values of α', β', χ', δ', ε', and φ' can correspond to the values given above by referring to equation (8), but they can also take other values.
[0046] The horizontal output units are configured to provide an output to each vertical detector, i.e., a vertical processor, and the vertical output units are configured to provide an output to each horizontal detector, i.e., a horizontal processor. Therefore, referring to Figure 1, the horizontal output units are configured to provide an output to each vertical processor, such as the vertical processor 124, or to output their own signal via spatial filters 136 and 138. Similarly, the vertical output units are configured to provide an output to each horizontal processor, such as the horizontal processor 126, or to output their own signal via spatial filters 136' and 138'. The configuration in which the horizontal output units are configured to provide an output to each vertical detector, i.e., a vertical processor, and the vertical output units are configured to provide an output to each horizontal detector, i.e., a horizontal processor, is possible because, for example, each will respond to an edge at a given angle, such as perpendicular to a given detector direction. While examples of these have been described with reference to the spatial filters described above, other spatial filters can be used that provide a response to transitions or edges perpendicular to a given direction or axis.
[0047] Referring to Figure 1, the horizontal and vertical output units can take in the output from the sensor, process the received signal, and transfer the spatially filtered output to one or more filters 136, 138, 136', 138', which are acquired in any possible permutation, thereby providing or operating to provide an output to the vertical processor 124 and the horizontal processor 126.
[0048] Referring to Figure 8, Figure 800 shows the horizontal output unit 802, such as the horizontal output unit 702, in relation to the array of sensors 102. The array of sensors 102 constitutes an m × an array of sensors 806 to 846, where m and m are integers. The horizontal output unit 802 has six sensors 806 to 816, corresponding to sensors 706 to 716 in Figure 7. It should be understood that the sensors 806 to 816 in array 802 are represented by an index (p, q) rather than (i, j).
[0049] All, or at least a subset of, sensors 806-846 are grouped into horizontal output units, each constituting a set of six sensors. Each sensor in a set of horizontal output units provides an output signal to its respective weight, as described with reference to Figure 10.
[0050] Referring to Figure 9, Figure 900 shows the vertical output unit 902, such as the vertical output unit 702, in relation to the array of sensors 102. The array of sensors 102 constitutes an m × n array of sensors 906 to 946, where m and m are integers. The vertical output unit 902 has six sensors 906 to 916, corresponding to sensors 706' to 716' in Figure 7. It should be understood that the sensors 906 to 916 in array 902 are represented by indices (p, q) and not (i, j).
[0051] All, or at least a subset of, sensors 906–946 are grouped into their respective vertical output units, which constitute each of the six sets of sensors. Each set of sensors in the vertical output unit provides an output signal to its respective weight, as described with reference to Figure 11.
[0052] Referring to Figure 10, for example, a diagram of a horizontal output unit 1002 such as the horizontal output unit 802 described above is shown. The horizontal output unit comprises six sensors 1006 to 1016. Each sensor provides its respective output signals 1018 to 1028 to its respective weighting units 1030 to 1040. The weighting units 1030 to 1040 weight their respective input signals using the weights α, β, χ, δ, ε, and φ described above, and generate their respective weighted output signals 1042 to 1052. For each horizontal output unit 1002, the respective weighted output signals 1042 to 1052 are added using their respective adders, for example, their respective adders 1054. An adder is provided for each horizontal output unit. Therefore, an exemplary embodiment provides an array of their respective adders 1054 to 1070. Each adder has its respective output signal 1072 which outputs the weighted sum described above by equation (7). For example, as described above with reference to Figure 1 for a pair of vertically arranged sensors such as sensors 106 and 108, adders are similarly grouped into pairs of vertically arranged adders. Each pair of vertically arranged adders is configured to output its respective output signals to the respective spatial filters 136 and 138 associated with the vertical processor 124. Thus, for example, the outputs from adders 1060 and 1064 have their respective output signals that are fed to the respective spatial filters, assuming that the adders are adjacent in the same way that sensors 106 and 108 are adjacent; that is, the adder output signals form signals 110 and 112 that give input to the respective spatial filters 136 and 1038, or correspond to signals 110 and 112, as described above with reference to Figure 1. The output signals 140 and 142 are then processed as described above.
[0053] Referring to Figure 11, for example, a diagram of a vertical output unit 1102 such as the vertical output unit 902 described above is shown. The vertical output unit comprises six sensors 1106 to 1116. Each sensor provides its respective output signals 1118 to 1128 to its respective weighting units 1130 to 1140. The weighting units 1130 to 1140 weight their respective input signals using the weights α', β', χ', δ', ε', and φ' described above, and generate their respective weighted output signals 1142 to 1152. For each vertical output unit 1102, the respective weighted output signals 1142 to 1152 are added using their respective adders, for example, their respective adders 1154. An adder is provided for each horizontal output unit. Therefore, an exemplary embodiment provides an array of their respective adders 1154 to 1170. Each adder has its respective output signal 1172 which outputs the weighted sum described above by equation (7). For example, as described above with reference to Figure 1 for a pair of horizontally arranged sensors such as sensors 116 and 118, adders are similarly grouped into pairs of vertically arranged adders. Each pair of horizontally arranged adders is configured to output its respective output signals to the respective spatial filters 136' and 138' associated with the horizontal processor 126. Thus, for example, the outputs from adders 1158-1160 have their respective output signals that are fed to the respective spatial filters, assuming that the adders are adjacent in the same way that sensors 116 and 118 are adjacent; that is, the adder output signals form signals 118 and 120 that give input to the respective spatial filters 136' and 138', or correspond to signals 118 and 120, as described above with reference to Figure 1. The output signals 140' and 142' are then processed as described above.
[0054] It will be understood that exemplary embodiments use one set of adders per horizontal output unit and one set of adders per vertical output unit. Exemplary embodiments can be realized in which sensors form an m×n array and adders form each m×n array.
[0055] In general, the mapping between the sensor array and the adder array is as follows with respect to the vertical output unit: - Assuming the vertical output unit has a lower left index of (1,1) and a upper right index of (2,3), the outputs of the six sensors corresponding to the sensor subarray defined by those indices will be mapped to the respective adders having index (1,2). - Assuming the next horizontally positioned vertical output unit has a lower left index of (2,1) and a upper right index of (3,3), the outputs of the six sensors corresponding to the sensor subarray defined by those indices will be mapped to the respective adders having index (2,2). - Assuming the next vertically arranged vertical output unit has the lower left index (1,2) and the upper right index (2,4), the outputs of the six sensors corresponding to the sensor subarray defined by those indices will be mapped to the respective adders having indices (1,3).
[0056] Generally, the mapping of a vertical output unit with a reference index of (i,j) will result in a mapping to an adder with an index of (i-1,j).
[0057] In general, the mapping between the sensor array and the adder array is as follows with respect to the horizontal output unit: - Assuming the horizontal output unit has a lower left index of (1,1) and a upper right index of (3,2), the outputs of the six sensors corresponding to the sensor subarray defined by those indices will be mapped to the respective adders having index (2,2). - Assuming the next horizontally positioned horizontal output unit has a lower left index of (2,1) and a upper right index of (4,2), the outputs of the six sensors corresponding to the sensor subarray defined by those indices will be mapped to the respective adders having index (3,2). - Assuming the next vertically positioned horizontal output unit has a lower left index of (1,2) and a upper right index of (3,3), the outputs of the six sensors corresponding to the sensor subarray defined by those indices will be mapped to the respective adders having indices (2,3).
[0058] In addition to the above, or instead, it will be understood that the filters described by equations (7) to (10) are directional such that a given transition, such as an onset edge, in each direction, for example, such as the positive axis, will produce a response to the opposite or complementary transition, such as an offset edge, in the same direction. Therefore, the first time filtering layer, i.e., layer 1 (indicated by 122), can output both positive and negative changes in response to transitions. However, it will be understood that these are treated differently. In the insect, separate paths exist for onset (positive change) and offset (negative change). This is because a neuron cannot represent both positive and negative numbers simultaneously. However, in exemplary embodiments, it is possible to represent both positive and negative numbers simultaneously. Therefore, exemplary embodiments can be realized in which positive and negative changes are processed in such a way that they do not affect each other in the multiplication stage of processor 124 / 126, in order to prevent loss of a predetermined response to angular velocity or adverse effects on a predetermined response, such as a log-linear response to angular velocity. In exemplary embodiments, the multiplication stage may comprise one or more of the multipliers 155 and / or 155'.
[0059] As a result, in the multiplication stage, the multiplication result is output only if both inputs to the multiplication stage are either both positive or both negative, and that result is...
number
number
[0060] In addition to, or instead of, the above, exemplary embodiments can be realized in which the ratio of the fast and slow Reichardt-Hassenstein detectors (RHDs) is modified to a predetermined ratio. The predetermined ratio can be selected so as to affect at least one or both of the clamped value and the noise. Generally, the predetermined ratio of the fast RHD to the slow RHD is
number
[0061] In addition to, or instead of, the above results in directional responses from processors 124 and 126 or detector 100. However, as a result of the exemplary embodiments, the magnitude of response variation may depend heavily on the angle of the transition motion with respect to one or more predetermined axes. Therefore, such exemplary embodiments can be implemented or complemented by motion inhibitors configured such that the horizontal and vertical components of the motion suppress each other in a predetermined manner. A predetermined embodiment may implement, for example, an example involving division as follows:
number
number
[0062] Exemplary embodiments can be realized where β''=1 and / or δ''=0.3. Exemplary embodiments can use β''=1 and / or δ''=0.3, but embodiments are not limited to those values. Exemplary embodiments can be realized using any other values. The magnitude of horizontal motion can be at least one or both of Dl128 or Dr130, and / or the magnitude of vertical motion can be at least one or both of Dd132 or Du134. As a result, the final directional indications output by detector 100 are horiz_inh and vert_inh. Furthermore, the above exemplary embodiments with respect to horiz_inh and vert_inh can use the same values of β'' and / or δ'', but are not limited to those values. Exemplary embodiments can be realized where horiz_inh and vert_inh use the respective values of β'' and / or δ''.
[0063] For example, exemplary embodiments can be realized that can realize equations (14) and / or (15) relating to forward and backward motion on a predetermined number of axes, such as one or two axes, and these are directed toward four variants. The performance of the above variants is shown in Figures 12 and 13.
[0064] Referring to Figure 12, a performance graph 1200 according to an exemplary embodiment is shown. Graph 1200 shows several examples of the magnitude 1201 of the response of the detector 100 when given respective angles 1202–1214 of the transition motion with respect to the detector axis. For example, it should be understood that the transitions used had motion directions with respect to the detector axis of 0, 10, 22.5, 45, 67.5, 80, and 90 degrees. It should be understood that the magnitude of the response is substantially the same, i.e., similar within a given difference, and / or invariant with respect to the angle between the direction of the transition motion and the detector axis.
[0065] Referring to Figure 13, a graph 1300 shows the estimated motion directions 1302 to 1314, given the respective transition angles 1302' to 1314' with respect to the detector axis. It should be noted that there is a good correlation between the input motion direction of the transition and the estimated motion direction for that transition.
[0066] While the examples herein use a two-axis array, examples using an n-axis array or grid can be implemented instead, or in addition to the two. Sensors consisting of a hexagonal grid or array can be indexed using a set of three values i, j, and k. Furthermore, while the examples have been described with reference to sensors that detect visible light, examples using sensors that respond to other wavelengths of electromagnetic waves or sound waves can be implemented instead, or in addition to the two.
[0067] As used herein, the term “circuit” may refer to, be part of, or include an application-specific integrated circuit (ASIC), an integrated circuit, an electronic circuit, one or more processors (shared, dedicated, or grouped) and / or memory (shared, dedicated, or grouped) that run one or more software or firmware programs, a combinational logic circuit, and / or other suitable hardware components that provide the described functionality. In some examples, a circuit may be implemented in one or more software or firmware modules, or the functionality associated with such a circuit may be implemented by one or more software or firmware modules. In some examples, a circuit may include logic that is at least partially hardware-operable. Similarly, executable instructions may include instructions that are processor-executable, or instructions that are implemented in at least one of hardware or software, such as instructions implemented using an ASIC or other logic.
[0068] For example, in this specification, discussions using terms such as “process,” “computer process,” “calculate,” “identify,” “establish,” “analyze,” and “check” may refer to operations (or multiple operations) and / or processes (or multiple operations) of a processor, circuit, logic, computer, computing platform, computing system, or other electronic computing device that manipulate and / or convert data represented as physical (e.g., electronic) quantities in computer registers and / or memory to other data similarly represented as physical quantities in computer registers and / or memory, or other information storage media capable of storing instructions that perform operations and / or processes.
[0069] Throughout this description and claims, the terms “equipped with” and “include” and their declensions mean “include but not limited to” and are not intended to exclude other components, adducts, elements, completes or steps. Throughout this description and claims, singular nouns include plural nouns unless the context requires otherwise. In particular, where no number is specified, this specification should be understood to consider both singular and plural nouns unless the context requires otherwise.
[0070] Features, wholes, properties, compounds, chemical components, or groups described in conjunction with specific aspects, embodiments, or examples of the present invention should be understood to be applicable to any other aspects, embodiments, or examples described herein, insofar as they do not conflict with such other aspects, embodiments, or examples. All features disclosed herein (including any appended claims, abstracts, and drawings) and / or all steps of any method or process so so disclosed can be combined in any combination, except in any combination in which at least some of such features and / or steps conflict with each other. The present invention is not limited to the details of any of the embodiments described above. The present invention also extends to any novel one or any novel combination of features disclosed herein (including any appended claims, abstracts, and drawings), or any novel one or any novel combination of any steps of any method or process so so disclosed.
[0071] Advantageously, using exemplary embodiments, a detector can be realized that identifies motion from a visual cue, and that identification is invariant to changes in at least one of the temporal and spatial frequencies of the visual cue.
[0072] Exemplary embodiments can be realized according to the following sections. Section 1: 1. A detector for detecting motion, wherein the detector is a. An input interface that receives input from multiple sensors that respond to environmental changes, b. A processor circuit that responds to a selected input from among multiple inputs, wherein the processor circuit is i. A first filter for solving a first differential equation involving different time constants using selected inputs, the first filter which generates a zero output in response to a steady-state input of the selected inputs, ii. A second filter that solves a second differential equation in response to the output of the first filter, and which generates an output equal to the output of the first filter in a steady state, iii. A correlator circuit configured to find an index of temporally overlapping outputs from the selected output of the second filter, iv. A detector comprising: a ratio acquisition circuit that obtains a ratio of selected outputs from a correlator circuit in response to an output from a correlator circuit, wherein the ratio is associated with at least one direction of motion.
[0073] Section 2: 2. The first filter for solving the first differential equation, which contains different time constants, using the selected input, is the following differential equation: a.
number
[0074] Section 3: 3. A detector of term 2 where τb > τa.
[0075] Section 4: 4. The second filter, which solves the second differential equation in response to the output of the first filter, is given by equation a.
number
[0076] Section 5: 5. τ[fsn] is a time constant such that τn < τf < τs, the detector of term 4.
[0077] Section 6: 6. The detector of item 4 or 5, wherein the time constants τs and τf have a predetermined relationship.
[0078] Section 7: 7. The detector of item 6, wherein the given relationship includes a given ratio.
[0079] Section 8: 8. The detector of item 7, where the given ratio is τs:τf = 3:1.
[0080] Section 9: 9. A correlator circuit configured to identify a temporally overlapping output index from a selected output of a second filter, comprising processing the delayed and non-delayed outputs from the second filter to identify the aforementioned temporally overlapping output index, according to any one of items 1 to 8.
[0081] Section 10: 10. A detector according to item 9, comprising a ratio determination circuit that determines the ratio of selected outputs from a correlator circuit in response to an output from a correlator circuit, wherein the ratio is associated with at least one direction of motion, and the ratio determination circuit comprises a circuit that determines the ratio of the sum of outputs from the correlator circuit.
[0082] Section 11: 11. The circuit that determines the ratio of the sum of the outputs from the above correlators is:
number
number
[0083] Section 12: 12. The detector of item 11, where v has a predetermined value.
[0084] Section 13: 13. The detector of term 12, where v≫1.
[0085] Section 14: 14. Fmin and Smin are detectors of any one of items 11 to 14 having a predetermined relationship.
[0086] Section 15: 15. The detector of item 14, wherein the predetermined relationship affects the noise detected by the sensor.
[0087] Section 16: 16. The detector of item 14 or 15, wherein the given relationship is Fmin = αSmin.
[0088] Section 17: 17. The detector of term 16, where α = 0.1.
[0089] Section 18: 18. A method for detecting motion, the method is: a. Receiving input from multiple sensors that respond to changes in electromagnetic waves or sound waves, b. Selecting an input from among multiple inputs, c. In order to generate a zero output in response to a steady-state input among the selected inputs, a first filter is used to filter the inputs selected for solving the first differential equation, which includes different time constants. d. Using the second filter to generate an output equal to the output of the first filter in the steady state, and using the output of the first filter to filter and solve the second differential equation, e. Using a correlator circuit, identify the temporally overlapping output indicators from the selected output of the second filter, A method comprising: f. establishing a ratio of selected outputs from a correlator circuit using a ratio-specific circuit, wherein the ratio is associated with at least one direction of motion.
[0090] Section 19: 19. Filtering using the first filter is performed using the following differential equation a.
number
[0091] Section 20: 20. The method of item 18, where τb > τa.
[0092] Section 21: 21. Filtering using the second filter is equivalent to the second differential equation. a.
number
[0093] Section 22: 22. τ[fsn] is a time constant such that τn < τf < τs, by the method of Term 21.
[0094] Section 23: 23. The method of paragraph 21 or 22, wherein the time constants τs and τf have a predetermined relationship.
[0095] Section 24: 24. The method of paragraph 23, wherein the given relationship includes a given ratio.
[0096] Section 25: 25. The given ratio is τs:τf=3:1, by the method of item 24.
[0097] Section 26: 26. Identifying the indicator of temporally overlapping outputs from the selected outputs of the correlator circuit and the second filter is the method of any one of paragraphs 18 to 25, which includes processing the delayed and non-delayed outputs from the second filter and identifying the indicator of temporally overlapping outputs.
[0098] Section 27: 27. The method of paragraph 26, wherein a ratio identification circuit is used to identify the ratio of selected outputs from a correlator circuit, the ratio being associated with at least one direction of motion, the identification comprising identifying the ratio of the sum of outputs from the correlator circuit.
[0099] Section 28: 28. The ratio of the sum of the outputs from the above correlators is determined as described above.
number
number
[0100] Section 29: 29. The method of item 28, wherein v has a predetermined value.
[0101] Section 30: 30. V≫1, the method of item 29.
[0102] Section 31: 31. The method of any one of paragraphs 28 to 30, wherein Fmin and Smin have a predetermined relationship.
[0103] Section 32: 32. The method of paragraph 31, wherein a predetermined relationship affects the influence of noise detected by the sensor.
[0104] Section 33: 33. The method of item 31 or 32, wherein the given relationship is Fmin = αSmin.
[0105] Section 34: 34. The method of item 33, where α = 0.1.
[0106] Section 35: 35. A machine-executable instruction configured to perform the methods of paragraphs 18 to 34 when executed or carried out.
[0107] Section 36: 36. A machine-readable storage device for storing the machine-executable instructions of paragraph 35.
Claims
1. A detector that detects motion, An input interface that receives input from multiple sensors that respond to environmental changes such as electromagnetic waves or sound waves, and A processor circuit that responds to a selected input from among a plurality of inputs, A first filter that generates multiple first outputs, The plurality of first outputs are zero depending on the steady state of the selected input. The system includes a circuit for solving a first differential equation containing a first time constant using the selected inputs. The first filter, A second filter that generates a plurality of second outputs in accordance with the plurality of first outputs of the first filter, Each of the plurality of second outputs is equal to the corresponding output among the plurality of first outputs of the first filter in the steady state. The circuit comprises a plurality of first outputs of the first filter for solving a second differential equation including a second time constant, The second filter, A correlator circuit configured to determine an index of temporally overlapping outputs from selected outputs among the plurality of second outputs of the second filter, This is a ratio determination circuit for determining the ratio of outputs selected from the correlator circuit according to the output from the correlator circuit. The ratio is associated with at least one direction of motion. Ratio determination circuit and, Processor circuit, A detector, including one.
2. Depending on the plurality of first outputs of the first filter, the second filter for solving the second differential equation is: [Math 1] Includes a circuit to solve, Here, c is the activity level of the node, the output a from each node is the activity level of the corresponding node, t is time, and τ [f,s,n] is the time constant. The detector according to claim 1.
3. The aforementioned time constant is τ [f,s,n] , τ n <τ f <τ s That is, The detector according to claim 2.
4. The aforementioned time constant τ s and τ f They have a predetermined relationship, The aforementioned default relationship includes a default ratio. The detector according to claim 2.
5. The predetermined ratio is τ s : τ f = 3:1 The detector according to claim 4.
6. The aforementioned correlator circuit is The second filter is configured to process the delayed and undelayed outputs from the selected output among the plurality of second outputs to determine the index of the temporally overlapping outputs. The detector according to claim 1.
7. The ratio determination circuit determines the ratio of selected outputs from the correlator circuit according to the output from the correlator circuit. The ratio associated with at least one direction of motion comprises a circuit that determines the ratio of the sum of outputs from the correlator circuit. The detector according to claim 6.
8. The circuit that determines the ratio of the sum of the outputs from the correlator circuit is, [Math 2] and, [Math 3] It includes a circuit for evaluating the following: Here, the point K = k selected from the sensor. aa ,k bb , . . . ,k zz For any pair of , z = {u, d, l, r} and z' = {d, u, r, l}, where v is the magnification factor and F min and S min This is the lower limit of the number of selectable sensor outputs N. The detector according to claim 7.
9. v has a default value, The detector according to claim 8.
10. v >> 1, The detector according to claim 9.
11. F min and S min , has a predetermined relationship The detector according to claim 10.
12. The aforementioned default relationship affects the result of the noise detected by the sensor. The detector according to claim 11.
13. The aforementioned default relationship is F min = αS min That is, The detector according to claim 12.
14. α = 0.1 The detector according to claim 13.
15. A method for detecting motion, The steps include receiving input from multiple sensors that respond to changes in electromagnetic waves or sound waves, A step of selecting an input from among the multiple inputs, This is the step of filtering the selected input using a first filter. Generates multiple first outputs, The plurality of first outputs are zero depending on the steady state of the selected input. Steps and The step is to use a second filter to filter according to the plurality of first outputs of the first filter, Generate multiple second outputs, Each of the plurality of second outputs is equal to the corresponding output among the plurality of first outputs of the first filter in the steady state. Steps and A step of using a correlator circuit to determine an index of temporally overlapping outputs from selected outputs among the plurality of second outputs of the second filter, This step involves using a ratio determination circuit to establish the ratio of the outputs selected from the correlator circuit. The ratio is associated with at least one direction of motion. Steps and The steps include determining the ratio of the sum from the ratio using the sublayer of the ratio determination circuit, Methods that include...
16. The step of determining the ratio of the sums is: [Math 4] and, [Math 5] This includes a step to evaluate the following: Here, the point K = k selected from the sensor. aa ,k bb , . . . ,k zz For any pair of , z = {u, d, l, r} and z' = {d, u, r, l}, where v is the magnification factor and F min and S min This is the lower limit of the number of selectable sensor outputs N. The method according to claim 15.
17. The sublayer is associated with applying the Reichardt-Hassenstein implementation in the calculation of the ratio of the sums. The method according to claim 16.
18. A detector that detects motion, An input interface that receives input from multiple sensors that respond to environmental changes such as electromagnetic waves or sound waves, and A processor circuit that responds to a selected input from among a plurality of inputs, A first filter that generates multiple first outputs, The plurality of first outputs are zero depending on the steady state of the selected input. The circuit comprises, using the selected input, a circuit for solving differential equations involving time constants with different relative values. The first filter, A second filter that generates a plurality of second outputs in accordance with the plurality of first outputs of the first filter, Each of the plurality of second outputs is equal to the corresponding output among the plurality of first outputs of the first filter in the steady state. The second filter, A correlator circuit configured to determine an index of temporally overlapping outputs from selected outputs among the plurality of second outputs of the second filter, This is a ratio determination circuit for determining the ratio of outputs selected from the correlator circuit according to the output from the correlator circuit. The ratio is associated with at least one direction of motion. Ratio determination circuit and, Processor circuit, A detector, including one.
19. The aforementioned differential equation is, [Math 6] And, Here, a is the output activity of the node in the first filter, b is the adaptive activity of the node, x is the activity associated with environmental fluctuations such as fluctuations in electromagnetic waves or sound waves incident on the sensor, t is time, and τ a and τ b is the time constant. The detector according to claim 18.
20. τ b > τ a The detector according to claim 19.