Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Drawings
The drawings were received on December 10th 2024. These drawings are accepted.
Specification
The specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware of, in the specification.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on March 20th 2025. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Status of the Claims
This action is in response to the applicant’s filing on December 10th 2024;
Claims 1-20 are pending and examined below.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Analysis for claim 1:
Using the two-step inquiry, it is clear that claim 1 is directed toward non-statutory subject matter, as shown below:
STEP 1: Does claim 1 falls within one of the statutory categories? Yes. The claim is directed toward a data collection.
STEP 2A (PRONG 1): Is the claim directed to a law of nature, a natural phenomenon or an abstract idea? Yes, the claim is directed to an abstract idea.
Claim 1
A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
identifying two or more parameters of a robot;
maintaining, using the two or more parameters, a multi-dimensional space, each dimension of the multi-dimensional space corresponding to a parameter of the two or more parameters;
generating two or more configurations for the robot by sampling the multi-dimensional space, each configuration of the two or more configurations including values for each of the two or more parameters, at least some first values for a first configuration from the two or more configurations different from corresponding second values for a second configuration from the two or more configurations;
determining, for each of the two or more configurations a visual inertial odometry (VIO) trajectory;
generating, for each of the trajectories using the corresponding trajectory and a ground truth trajectory, (i) error data representing a difference of the corresponding trajectory from the ground truth trajectory and (ii) processing data representing processing metrics from the determination of the corresponding trajectory;
selecting, using (i) the error data and (ii) the processing data, a configuration of the two or more configurations; and providing, to the robot, the selected configuration for navigating an area.
The method in claim 1 includes a mental process that can be practicably performed in the human mind and, therefore, an abstract idea the limitations of claim 1 highlighted above merely consist of collecting and correcting error data of the space that robot will be navigating by comparing it to the available ground true trajectory, this all can be done by mentally and with pen and paper by comparing the available data. More specifically, a person can compare different configuration of the collected data of the multi-dimensional space and recognize an error in the data. Thus, the claims recite a mental process.
STEP 2A (PRONG 2): Does the claim recite additional elements that integrate the judicial exception into a practical application? No, the claim does not recite additional elements that integrate the judicial exception into a practical application.
A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
identifying two or more parameters of a robot;
maintaining, using the two or more parameters, a multi-dimensional space, each dimension of the multi-dimensional space corresponding to a parameter of the two or more parameters;
generating two or more configurations for the robot by sampling the multi-dimensional space, each configuration of the two or more configurations including values for each of the two or more parameters, at least some first values for a first configuration from the two or more configurations different from corresponding second values for a second configuration from the two or more configurations;
determining, for each of the two or more configurations a visual inertial odometry (VIO) trajectory;
generating, for each of the trajectories using the corresponding trajectory and a ground truth trajectory, (i) error data representing a difference of the corresponding trajectory from the ground truth trajectory and (ii) processing data representing processing metrics from the determination of the corresponding trajectory;
selecting, using (i) the error data and (ii) the processing data, a configuration of the two or more configurations; and providing, to the robot, the selected configuration for navigating an area.
Claim 1 does not recite any of the exemplary considerations that are indicative of an
abstract idea having been integrated into a practical application. The storing it is recited at a high level of generality; which is a form of extra solution activity, nothing more than server that includes a processor [paragraph 0086]. As such, include instructions to implement an abstract idea on a computer, or merely use a computer as a tool to perform an abstract idea is indicative that the judicial exception has not been integrated into a practical application. Thus, it is clear that the abstract idea is merely implemented on a computer, which is indicative of the abstract idea having not been integrated into a practical application.
Also, as noted above, merely including instructions to implement an abstract idea on a computer, or merely using a computer as a tool to perform an abstract idea is indicative that the judicial exception has not been integrated into a practical application. Thus, it is clear that the abstract idea is merely implemented on a computer, which is indicative of the abstract idea having not been integrated into a practical application.
STEP 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception? No, the claim does not recite additional elements that amount to significantly more than the judicial exception.
With regard to STEP 2B, whether the claims recite additional elements that provide significantly more than the recited judicial exception, the guidelines specify that the pre-guideline procedure is still in effect. Specifically, that examiners should continue to consider whether an additional element or combination of elements:
adds a specific limitation or combination of limitations that are not well-understood, routine, conventional activity in the field, which is indicative that an inventive concept may be present; or
simply appends well-understood, routine, conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception, which is indicative that an inventive concept may not be present.
Claim 1 does not recite any specific limitation or combination of limitations that are not well-understood, routine, conventional (WURC) activity in the field. Selecting and transmitting data are fundamental, i.e. WURC, activities performed by processors, such as the device in claim 20.
CONCLUSION
Thus, since claim 1 is: (a) directed toward an abstract idea, (b) does not recite additional
elements that integrate the judicial exception into a practical application, and (c) does not
recite additional elements that amount to significantly more than the judicial exception, it is
clear that claim 1 is directed towards non-statutory subject matter.
With respect to the independent claims 11 and 20, please see rejection above with respect to claim 1 which is commensurate in scope to claim 11 and 20, with claim 1 being drawn to system, claim 11 being drawn to an invention method and claim 20 to invention computer storage media.
Dependent claims 2-10 and 12-19 are further limit the abstract idea without integrating the abstract idea into practical application or adding significantly more. As such, claims 1-10 and 12-19 are rejected under 35 USC 101 as being drawn to an abstract idea without significantly more, and thus are ineligible.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 20 are rejected under 35 USC 101 because the claimed invention is directed to non-statutory subject matter. The claim does not fall within at least one of the four categories of patent eligible subject matter because the claim is directed to a “computer storage medium” which under a broadest reasonable interpretation can be interpreted as directed to a signal per se, mere information in the form of data; in Mentor Graphics v. EVE-USA, Inc., 851 F.3d 1275, 112 USPQ2d 1120 (Fed. Cir. 2017), claim interpretation was crucial to the court’s determination that claims to a "machine-readable medium" were not to a statutory category. In Mentor Graphics, the court interpreted the claims in light of the specification, which expressly defined the medium as encompassing "any data storage device" including random-access memory and carrier waves. Although random-access memory and magnetic tape are statutory media, carrier waves are not because they are signals similar to the transitory, propagating signals held to be non-statutory in Nuijten. 851 F.3d at 1294, 112 USPQ2d at 1133 (citing In re Nuijten, 500 F.3d 1346, 84 USPQ2d 1495 (Fed. Cir. 2007)). Accordingly, because the broadest reasonable interpretation of the claims covered both subject matter that falls within a statutory category (the random-access memory), as well as subject matter that does not (the carrier waves), the claims as a whole were not to a statutory category and thus failed the first criterion for eligibility. As such, a transitory, propagating signal does not fall within any statutory category. Mentor Graphics Corp. v. EVE-USA, Inc., 851 F.3d 1275, 1294, 112 USPQ2d 1120, 1133 (Fed. Cir. 2017); Nuijten, 500 F.3d at 1356-1357, 84 USPQ2d at 1501-03. (see MPEP 2106.03).
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Ebrahimi Afrouzi (Patent No. US20220187841A1).
Regarding claim 1 Ebrahimi Afrouzi teaches, a system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; (Ebrahimi Afrouzi paragraph 1456; “The methods and techniques described herein may be implemented as a process, as a method, in an apparatus, in a system, in a device, in a computer readable medium (e.g., a computer readable medium storing computer readable instructions or computer program code that may be executed by a processor to effectuate robotic operations), or in a computer program product including a computer usable medium with computer readable program code embedded therein..”); identifying two or more parameters of a robot; (See Ebrahimi Afrouzi paragraph 0877-0878; “…a neural network may be used to adjudicate depth sensing, extract movement (e.g., angular and linear) of the robot, combine iterations of sensor readings into a map, adjudicate location (i.e., localization), extract dynamic obstacles and separate them from structural points, and actuate the robot such that the trajectory of the robot better matches the planned path.
In some embodiments, a neural network may be used in approximating a location of the robot. The one-dimension grid type data of position versus time may comprise (x, y, z) and (yaw, roll, pitch) data and may therefore include multiple dimensions. For simplicity, in this example, a location L of the robot may be given by (x, y, Θ) and changes with respect to time. Since the robot is moving, the most recent measurements captured by the robot may be given more weight as they are more relevant. For instance, data at a current timestamp t is given more weight than older measurements captured at t−1, t−2, . . . , t−i. In some embodiments, the position of the robot may be a multidimensional array or tensor and the kernel may be a set of parameters organized in a multidimensional array. The two multidimensional arrays may be convolved to produce a feature map. In some embodiments, the network adjusts the parameters during the training and learning process…”); maintaining, using the two or more parameters, a multi-dimensional space, each dimension of the multi-dimensional space corresponding to a parameter of the two or more parameters; (See Ebrahimi Afrouzi paragraph 0878; “…The one-dimension grid type data of position versus time may comprise (x, y, z) and (yaw, roll, pitch) data and may therefore include multiple dimensions. For simplicity, in this example, a location L of the robot may be given by (x, y, Θ) and changes with respect to time. Since the robot is moving, the most recent measurements captured by the robot may be given more weight as they are more relevant. For instance, data at a current timestamp t is given more weight than older measurements captured at t−1, t−2, . . . , t−i. In some embodiments, the position of the robot may be a multidimensional array or tensor and the kernel may be a set of parameters organized in a multidimensional array. The two multidimensional arrays may be convolved to produce a feature map. In some embodiments, the network adjusts the parameters during the training and learning process.”); generating two or more configurations for the robot by sampling the multi-dimensional space, each configuration of the two or more configurations including values for each of the two or more parameters, at least some first values for a first configuration from the two or more configurations different from corresponding second values for a second configuration from the two or more configurations; (See Ebrahimi Afrouzi paragraph 1000-1001 and 1015; “the processor of the robot may use readings from a magnetic field sensor and a magnetic map of a floor, a building, or an area to localize the robot. A magnetic field sensor may measure magnetic floor densities in its surroundings in direction x, y and z. A magnetic map may be created in advance with magnetic field magnitudes, magnetic field inclination, and magnetic field azimuth with horizontal and vertical components. The information captured by the magnetic field sensor, whether real time, or historical, may be used by the processor to localize the robot in a six-dimensional coordinate system. When the sensors have a fixed relation with the robot frame, azimuth information may be useful for geometric configuration. In embodiments, the z-coordinate may align with the direction of the gravity. However, indoor environments may have a distortion in their magnetic fields and their azimuth may not perfectly align with the earth's north. In some embodiments, gyroscope information and/or accelerometer information may provide additional information and enhance the 6D localization. In embodiments, gyroscope information may be used to provide angular information. In embodiments, gravity may be used in determining roll and pitch information. The combination of these data types may provide enhanced 6D localization. Specially in localization of a mobile robot with an extension arm, a 6D localization is essential. For example, for a wall painting robot, the spray nozzle is optimal when it is perpendicular in relation to the wall. If the robot wheels are not on an exactly planer surface perpendicular to the wall, errors accumulate. In such cases, 6D localization is essential.
FIG. 156 illustrates a tennis court at two different time slots, time slot 0 and time slot 1, wherein a human player 15600 is playing against a robot 15601. Multiple measurements are determined by a processor of the robot 15601 based on sensor data (e.g., FOV 15602 of a camera of the robot 15601), such as player displacement, player hand displacement, player racket displacement, player posture, ball displacement, robot displacement, etc. In embodiments, a camera of the robot captures an image stream. In some embodiments, the processor selects images that are different enough from prior images to carry information using various methods, such as chi square test. In some embodiments, the processor uses information theory to avoid processing images that do not bear information. This step in the process is the key frame/image selection step. In embodiments, the processor may remove blurred images due to motion, lighting issues, etc. to filter out undesired images. In some embodiments, discarded images may be sent and used elsewhere for more in depth processing. For example, the discarded images may be sent to higher up processors, GPUs, the cloud, etc. After pruning unwanted images, the processor may determine using two consecutive images how much the camera positioned on the robot moved (i.e., or otherwise how much the robot moved) and how much the tennis ball moved. The processor may infer where the ball will be located next by determining the heading angular and linear speed and momentum of the ball, geo-characteristics of the environment, rules of motion of the ball, and possible trajectories… a Kalman filter may be used by the processor to iteratively estimate a state of the robot from a series of noisy and incomplete measurements. An EKF may be used by the processor to linearize non-linear measurement equations by performing first-order linear traction on a Taylor expansion of the non-linear function and ignoring the remaining higher order terms. Other variations of linearizing create other flavors of the Kalman filter. For brevity, only a Kalman filter is described, which in a broader sense determines a current state S.sub.i based on a previous state S.sub.i−1, a current actuation u.sub.i, and an error covariance P.sub.i of the current state. The degree of correction that is performed is referred to as the Kalman gain. FIG. 163 illustrates an example of a process of a Kalman filter consisting of nodes and edges and the computations and outputs that occur at each node. In some embodiments, the optimization may occur in batches and iteration of a group of nodes and edges. In some embodiments, PNP function, Gauss-Newton optimization function, or Levenberg optimization function may be used by the processor. “); determining, for each of the two or more configurations a visual inertial odometry (VIO) trajectory; (See Ebrahimi Afrouzi paragraph 1002; “the processor may mix visual information with odometry information of dynamic obstacles moving around the environment to enhance results. For instance, extracting the odometry of the robot alone, in addition to visual, inertial, and wheel encoder information may be helpful. In some literature, depending on which sensor information is used to extract more specific perception information from the environment, these methods are referred to as visual-inertial or visual-inertial odometry. While an IMU may detect an inertial acceleration after the robot has accelerated a desired cruise speed, the accelerometer may not error be helpful in detecting motion with a constant speed. Therefore, in such cases, odometry information from the wheel encoder may be more useful. These elements discussed herein may be loosely coupled, tightly coupled or dynamically coupled. For example, if the wheels of the robot are slipping on a pile of cords on the ground, IMU data may be used by the processor to detect an acceleration as the robot attempts to release itself by applying more force. The wheel turns in place due to slippage and therefore the encoder records motion and displacement.“); generating, for each of the trajectories using the corresponding trajectory and a ground truth trajectory, (i) error data representing a difference of the corresponding trajectory from the ground truth trajectory and (ii) ; (See Ebrahimi Afrouzi paragraph 0860-0861; “…FIG. 39A illustrates an example of a robot 3900 whose processor associates data from any of odometry, gyroscope, OTS, IMU, TOF, etc. with LIDAR data. The LIDAR data may be used as ground truth, from which a calibration may be derived by a processor of the robot. After training and during runtime, the processor may compare camera data bundled with data from any of odometry, gyroscope, OTS, IMU, TOF, etc. and eventually convergence occurs. In some embodiments, convergence results are better with data collected from two cameras or one camera and a point measurement device, as opposed to a single camera. FIG. 39B illustrates another example, wherein a processor of a robot 3901 bundles sensor data 3902 with ground truth LIDAR readings, from which a pattern emerges. deep learning maybe used to improve perception, improve trajectory such that it follows the planned path more accurately, improve coverage, improve obstacle detection and collision prevention, improve decision making such that it is more human-like, improve decision making in situation wherein some data is missing, etc. In some embodiments, the processor implements deep bundling. For example, FIG. 40 illustrates an example of deep bundling wherein given the robot is at a position A and that the processor knows the robot's distance to point 1 and point 2, the robot knows how far it is from both point 1 and point 2 when the robot moves some displacement to position B. In another example illustrated in FIG. 41, the processor of the robot knows that Las Vegas is approximately X miles from the robot. The processor of the robot learns that L.A. is a distance of Y miles from the robot. When the robot moves 10 miles in a particular direction with a noisy measurement apparatus, the processor determines a displacement of 10 miles and determines approximately how far the robot is from both Las Vegas and Los Angeles. The processor may iterate and determine where the robot is. In some embodiments, this iterative process may be framed as a neural network that learns as new data is collected and received by the network. The unknown variable may be anything. For example, in some instances, the processor may be blind with respect to movement of the robot wherein no displacement or angular movement is measured. In that case, the processor would be unaware that the robot travelled 10 miles. With consecutive measurements organized in a deep network, the information provided to the network may be distance readings or position with respect to feature readings and the desired unknown variable may be displacement. In some circumstances, displacement may roughly be known but accuracy may be needed. For instance, an old position may be known, displacement may be somewhat known, and it may be desired to predict a new location of the robot. The processor may use deep bundling (i.e., the related known information) to approximate the unknown. “); processing data representing processing metrics from the determination of the corresponding trajectory; selecting, using (i) the error data and (ii) the processing data, a configuration of the two or more configurations; (See Ebrahimi Afrouzi paragraph 0974 and 1031-1032; “…the processor of the robot may localize the robot within a map of the environment. Localization may provide a pose of the robot and may be described using a mean and covariance formatted as an ordered pair or as an ordered list of state spaces given by x, y, z with a heading theta for a planar setting. In three dimensions, pitch, yaw, and roll may also be given. In some embodiments, the processor may provide the pose in an information matrix or information vector. In some embodiments, the processor may describe a transition from a current state (or pose) to a next state (or next pose) caused by an actuation using a translation vector or translation matrix. Examples of actuation include linear, angular, arched, or other possible trajectories that may be executed by the drive system of the robot. For instance, a drive system used by cars may not allow rotation in place, however, a two-wheel differential drive system including a caster wheel may allow rotation in place. The methods and techniques described herein may be used with various different drive systems. In embodiments, the processor of the robot may use data collected by various sensors, such as proprioceptive and exteroceptive sensors, to determine the actuation of the robot. For instance, odometry measurements may provide a rotation and a translation measurement that the processor may use to determine actuation or displacement of the robot. In other cases, the processor may use translational and angular velocities measured by an IMU and executed over a certain amount of time, in addition to a noise factor, to determine the actuation of the robot. Some IMUs may include up to a three axis gyroscope and up to a three axis accelerometer, the axes being normal to one another, in addition to a compass. Assuming the components of the IMU are perfectly mounted, only one of the axes of the accelerometer is subject to the force of gravity. However, misalignment often occurs (e.g., during manufacturing) resulting in the force of gravity acting on the two other axes of the accelerometer. In addition, imperfections are not limited to within the IMU, imperfections may also occur between two IMUs, between an IMMU and the chassis or PCB of the robot, etc. In embodiments, such imperfections may be calibrated during manufacturing (e.g., alignment measurements during manufacturing) and/or by the processor of the robot (e.g., machine learning to fix errors) during one or more work sessions…the processor may use Latin Hypercube Sampling (LHS), a statistical method that generates near-random samples of parameter values from a distribution. In some embodiments, the processor may use orthogonal sampling. In orthogonal sampling, the sample space is divided into equally probable subspaces. In some embodiments, the processor may use random sampling.
In embodiments, simulations may run in parallel or series. In some embodiments, upon validation of a particular simulation, other simulations may be destroyed or kept alive to run in parallel to the validated simulation...”); and providing, to the robot, the selected configuration for navigating an area; (See Ebrahimi Afrouzi paragraph 1076; “…Alternatively, the processor reduces the set of constraints by integrating out the robot pose variables, leaving only the constraints related to map variables. In some embodiments, the processor constantly generates and accumulates a set of constraints as the robot navigates along a path.”).
2. The system of claim 1, wherein generating the two or more configurations comprises: performing a first sampling of the multi-dimensional space; identifying, using parameter values from the first sampling, a sub -region of the multi- dimensional space; and performing a second sampling of the sub-region of the multi-dimensional space.
Regarding claim 3 Ebrahimi Afrouzi teaches the system of claim 1, Ebrahimi Afrouzi further teaches, wherein generating the two or more configurations comprises: converting a value of the two or more configurations to match a valid parameter type; (See Ebrahimi Afrouzi paragraph 0880; “some kernels useful for a particular application may be damaging for another application. Kernels mat act in-phase and out-phase, therefore when parameter sharing is deployed care must be taken to control and account for competing functions on data. In some embodiments, neural networks may use parameter sharing to reach equivariance. In embodiments, convolution may be used to translate the input to a phase space, perform multiplication with the kernel in the frequency space, and convert back to time space. This is similar to what a Fourier transform-inverse Fourier transform may do.”).
Regarding claim 4 Ebrahimi Afrouzi teaches the system of claim 1, Ebrahimi Afrouzi further teaches, prior to generating the two or more configurations, the operations comprising: identifying valid ranges of the multi-dimensional space within which to sample for generating the two or more configurations; (See Ebrahimi Afrouzi paragraph 1102; “In some embodiments, the state space of a mobile robot is a curved space (macro view) where the sub segment within which the workspace is located is a tangent space that appears flat. While work spaces are assumed to be flat, there are hills and valleys and mountains, etc. on the surface. For example, a golf course cart mobile robot may obtain sparse depth readings because the area in which it operates is wide open and obstacles are far and random, unlike an indoor space wherein there are walls and indoor obstacles to which depth may be determined from reflection of structured light, laser, sonar, or other signals. In areas such as golf courses, wherein the floor is not even and least square methods or any other error correction learning are used, the measurement step flattens all measurements into a plane. Therefore, alternative artificial neural network arrangements may be more beneficial. Competitive learning such as the Kohonen map may help with maintaining track of the topological characteristics of the input space. FIG. 220 represents an open field golf course 22000 with varying topological heights defined by M×N. Because of this variation in height, tessellation of space is not square grids of 2D or 3D or voxels where each point has an associated random variable assigned to it representing obstacle occupation or absence. Further it is not like a point map, point cloud, free space map or landmark map. To visualize, each cell may be larger or smaller than the actual space available allowing the grid to be warped. While use of octree representation and voxel trees are beneficial, they are distinct and separate method and may be used individually and in combination with other methods. FIG. 221 illustrates an example of a Kohonen map, wherein a limited number (e.g., one, two, three, ten) of depth measurements are extracted into the entire array of a camera (e.g., 640×480), wherein points 22100 are accurate rangefinder measurements. In this setup, each data point competes for representation. Once weight vectors are initialized, a sample vector is used as the best matching unit and every node is examined to determine the ones that are most similar…”).
Regarding claim 5 Ebrahimi Afrouzi teaches the system of claim 1, Ebrahimi Afrouzi further teaches, wherein sampling the multi-dimensional space comprises Latin hypercube sampling (LHS); (See Ebrahimi Afrouzi paragraph 1031; “In some embodiments, the processor may use Latin Hypercube Sampling (LHS), a statistical method that generates near-random samples of parameter values from a distribution. In some embodiments, the processor may use orthogonal sampling. In orthogonal sampling, the sample space is divided into equally probable subspaces. In some embodiments, the processor may use random sampling.”).
Regarding claim 6 Ebrahimi Afrouzi teaches the system of claim 1, Ebrahimi Afrouzi further teaches, wherein sampling the multi-dimensional space comprises Orthogonal LHS; (See Ebrahimi Afrouzi paragraph 1031; “In some embodiments, the processor may use Latin Hypercube Sampling (LHS), a statistical method that generates near-random samples of parameter values from a distribution. In some embodiments, the processor may use orthogonal sampling. In orthogonal sampling, the sample space is divided into equally probable subspaces. In some embodiments, the processor may use random sampling.”).
Regarding claim 7 Ebrahimi Afrouzi teaches the system of claim 6, Ebrahimi Afrouzi further teaches, prior to sampling the multi-dimensional space, the operations comprising: dividing the multi-dimensional space non-uniformly; (See Ebrahimi Afrouzi paragraph 0999; “In some embodiments, an image may be segmented to areas and a feature may be selected from each segment. In some embodiments, the processor uses the feature in localizing the robot. In embodiments, images may be divided into high entropy areas and low entropy areas. In some embodiments, an image may be segmented based on geometrical settings of the robot. FIG. 155 illustrates various types of image segmentations. For instance, image segmentation for feature extraction based on entropy segmentation 15500, exposure segmentation 15501, and geometry segmentation 15502 based on geometrical settings of the robot. In embodiments, the processor of the robot may extract a different number of features from different segmented areas of an image. In some embodiments, the processor dynamically determines the number of features to track based on a normalized trust value that depends on quality, size, and distinguishability of the feature. For example, if the normalized trust value for five features are 0.4, 0.3, 0.1, 0.05, and 0.15, only features corresponding with 0.4 and 0.3 trust values are selected and tracked. In such a way, only the best features are tracked.”).
Regarding claim 8 Ebrahimi Afrouzi teaches the system of claim 7, Ebrahimi Afrouzi further teaches, wherein dividing the multi-dimensional space non- uniformly comprises: dividing the multi-dimensional space using a logarithmic scale; (See Ebrahimi Afrouzi paragraph 1093; “In some embodiments, PID may be used to smoothen the curve on the function f′(x) representing trajectory and minimize deviation from the path that is planned f(x) (in the context of straight movement only). FIG. 208 illustrates a robot 20800 and a trajectory 20801 of each wheel 20802. A trajectory f(x) of the robot 20800 is smoothed to minimize its deviation from the planned path f(x). In embodiments, the movement and velocity of the camera may be correlated to the wheels. For example, two cameras on two sides of the robot, their velocities V1 and V2, and observations follow the trajectory of each of the two wheels. FIG. 209A illustrates a robot 20900 with two cameras 20901 positioned on each side and FIG. 209B illustrates the robot 20900 with one camera 20901 positioned on a front side. When there is one camera, the momentary pose of the camera may be derived using |d1−d2|/d3 when t 0. When it is possible to predict a rotation from odometry and account for residual uncertainty, it is equally possible to use iterative minimization of error (e.g., nonlinear least squares) in a set of estimation MCMC Markov chain and/or Monte Carlo structure rays, wherein connecting camera centers to 3D points is enhanced. When the processor combines odometry (fused with any possible secondary sensor) with structure from motion, the processor examines the energy-based model and samples using a Markovian chain, more specifically a Harris chain, when the state space is limited, discrete, and enumerable.”).
Regarding claim 9 Ebrahimi Afrouzi teaches the system of claim 7, Ebrahimi Afrouzi further teaches, wherein the error data representing the difference of the corresponding trajectory from the ground truth trajectory includes one or more of Absolute Trajectory Root Mean Square Error (ATE) or Relative Pose Error (RPE); (See Ebrahimi Afrouzi paragraph 0988; “…In some embodiments, the processor may use minimum mean squared error to fuse newly collected data with the previously collected data. This may be done for transformations from previous readings collected by a single device or from fused readings or coupled data.”).
Regarding claim 10 Ebrahimi Afrouzi teaches the system of claim 1, Ebrahimi Afrouzi further teaches, wherein selecting the configuration of the two or more configurations comprises: identifying an intersection between performance values of a first metric and performance values of a second metric, wherein the performance values of the first metric and the 2 performance values of the second metric are generated based on determining the trajectory for each of the two or more configurations; and selecting, from the intersection, the configuration of the two or more configurations; (See Ebrahimi Afrouzi paragraph 1032; “In embodiments, simulations may run in parallel or series. In some embodiments, upon validation of a particular simulation, other simulations may be destroyed or kept alive to run in parallel to the validated simulation. In some embodiments, the processor may use Many World Interpretation (MWI) or relative state formation (also known as Everett interpretation). In such cases, each of the simulation run in parallel and are viewed as a branch in a tree of branches. In some embodiments, the processor may use quantum interpretation, wherein each quantum outcome is realized in each of the branches. In some applications, there may be a limited number of branches. The processor may assign a feasibility metric to each branch and localize based on the most feasible branch. In embodiments, the processor chooses other feasible successors when the feasibility metric of the main tree deteriorates. This is advantageous to Rao-Blackwellized particles as in such methods the particles may die off unless too many particles are used. Therefore, either particle deprivation or the use of too many particles occurs. Occam's razor or law of parsimony states that entities should not be multiplied without necessity. In the use of Rao-Blackwellized particles, each samples robot path corresponds with an individual map that is represented by its own local Gaussian. In practice, a large number of particles must be generated to overcome the well-known problem of particle deprivation. The practical issue with Rao-Blackwellization is its weakness in loop closure. When the robot runs long enough many improbable trajectories die off (due to low importance weight) and the live particles may all track back to a common ancestor/history at some point in the past. This is solvable if the number of particles are high (i.e., the run time of robot is short).”).
With respect to the independent claims 11 and 20, please see rejection above with respect to claim 1 which is commensurate in scope to claims 11 and 20, with claim 1 being drawn to system, claim 11 being drawn to invention method and claim 20 being drawn to an invention computer storage media.
With respect to the dependent claims 12-19, please see rejection above with respect to claims 1-9 which is commensurate in scope to claims 12-19, with claims 1-9 being drawn to system and claim 12-19 being drawn to an invention method.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LIDIA KWIATKOWSKA whose telephone number is (571)272-5161. The examiner can normally be reached Monday-Friday 8:00-5:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Scott A. Browne can be reached at (571) 270-0151. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/L.K./Examiner, Art Unit 3666
/SCOTT A BROWNE/Supervisory Patent Examiner, Art Unit 3666