`
`S172275
`
`iniiimninmiiiiHiiimiuiuKil. -
`
`United States Patent and Trademark Office
`
`October 26, 2021
`
`THIS IS TO CERTIFY THAT ANNEXED IS A TRUE COPY FROM THE
`RECORDS OF THIS OFFICE OF THE FILE WRAPPER AND CONTENTS
`
`APPLICATION NUMBER: 10/639,242
`FILING DATE: August 11, 2003
`PATENT NUMBER: 6922632
`ISSUE DATE: July 26, 2005
`
`Certified bv
`
`Performing the Functions and Duties of the
`Under Secretary of Commerce
`for Intellectual Property
`and Director of the United States
`Patent and Trademark Office
`
` 1
`
`META 1002
`META V. THALES
`
`
`
`Fish & Richardson p.c.
`
`August 11,2003
`
`WK. Richardson
`1859-1951
`
`Attorney Docket No.: 09970-011001
`
`Mail Stop Patent Application
`Commissioner for Patents
`P.O. Box 1450
`Alexandria, VA 22313-1450
`
`225 Franklin Street
`Boston, Massachusetts
`02110-2804
`
`Telephone
`617 54^-5070
`
`Facsimile
`617 542-8906
`
`Web Site
`www.fr.com
`
`BOSTON
`
`DALLAS
`
`DELAWARE
`
`NEW YORK
`
`SAN DIEGO
`
`SILICON VALLEY
`
`TWIN CITIES
`
`WASHINGTON, DC
`
`Presented for filing is a new original patent application of:
`
`Applicant: ERICFOXLIN
`
`Title:
`
`TRACKING, AUTO-CALIBRATION, AND MAP-BUILDING
`SYSTEM
`
`Enclosed are the following papers, including those required to receive a filing date
`under 37 CFR § 1.53(b):
`.
`
`Pages.
`Specification
`77
`14
`Claims
`1
`Abstract
`Declaration [To be Filed at a Later Date]
`Drawing(s)
`12
`
`Enclosures:
`— Postcard.
`
`This application claims the benefit of U.S. Provisional Application No. 60/402,178,
`filed August 9, 2002, titled “Localization, Auto-Calibration, and Map-Building,” the
`contents of which are incorporated herein by reference.
`
`Basic filing fee
`Total claims in excess of 20 times $9
`Independent claims in excess of 3 times $42
`Fee for multiple dependent claims
`Total filing fee: .
`
`Under 37 CFR § 1.53(f), no filing fee is being paid at this time.
`
`$375
`$495
`$378
`$0
`$1248
`
`CERTIFICATE OF MAILING BY EXPRESS MAIL
`
`Express Mail Label No.EV 331653751 US
`
`Date of Deposit
`
`August 11. 2003
`
` 2
`
`META 1002
`META V. THALES
`
`
`
`Fish & Richardson- p.c.
`
`Commissioner for Patents
`August 11, 2003
`Page 2
`
`If this application is found to be incomplete, or if a telephone conference would
`otherwise be helpful, please call the undersigned at (617) 542-5070.
`
`Kindly acknowledge receipt of this application by returning the enclosed postcard.
`
`Please direct all correspondence to the following:
`26161
`PTO Customer Number
`
`Respectfully submitted,
`
`J. Robin Rohlicek, J.D., Ph.D.
`Reg. No. 43,349
`Enclosures
`JRR/lxf
`20707517.doc
`
` 3
`
`META 1002
`META V. THALES
`
`
`
`Attorney’s Docket No.: 09970-011001
`
`APPLICATION
`
`FOR
`
`UNITED STATES LETTERS PATENT
`
`TITLE:
`
`TRACKING, AUTO-CALIBRATION, AND MAP
`BUILDING SYSTEM
`
`APPLICANT:
`
`ERIC FOXLIN
`
`CERTIFICATE OF MAILING BY EXPRESS MAIL
`
`Express Mail Label No. EV 331653751 US
`
`Date of Deposit
`
`August 11,2003
`
` 4
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`TRACKING, AUTO-CALIBRATION, AND MAP-BUILDING SYSTEM
`
`Cross-Reference to Related Applications
`
`[01] This application claims the benefit of U.S. Provisional Application No.
`60/402,178, filed August 9, 2002, titled “Localization, Auto-Calibration, and Map-
`Building,” the contents of which are incorporated herein by reference.
`
`Background
`
`[02] This invention relates to tracking, navigation, pose estimation, localization, auto
`calibration, scene modeling, structure-from-motion and/or map-building based on sensor
`inputs.
`
`[03] Tracking or navigation systems often make use of measurements from sensors to
`aid in determining a location (“localization”) or an orientation (attitude and heading) or a
`pose (position and orientation) of an object such as a person, a vehicle or a robot as it
`navigates in an environment, such as within the bounds of a building. A variety of types
`of sensors are available for such systems, including sensors that measure a relative
`location between a sensor and a target. An example of such a sensor/target combination
`is an acoustic emitter (target) and a microphone array (sensor) that can determine a
`direction of arrival of an acoustic signal broadcast from the emitter. Different types of
`sensors measure different aspects of the relative pose of a sensor and a target, such as a
`range, direction, or relative orientation. Different sensors may have different
`measurement characteristics that affect the mapping between the relative pose of a sensor
`and a target and the measurement values provided by the sensor. These characteristics
`can include uncertainty or noise characteristics of the measurement values.
`
`[04] Systems have been developed that use Kalman Filtering techniques to incorporate
`information in sensor measurements to track the position or orientation of an object,
`typically also using information about the dynamic characteristics of the object. The
`implementation of such Kalman Filtering techniques is often complex, and typically
`
`-1-
`
` 5
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`requires detailed knowledge of the measurement characteristics of the specific sensors
`used in tracking the object.
`
`[05] Some navigation systems perform simultaneous localization and mapping
`(SLAM), also known in the field of computer vision as structure-from-motion (SfM).
`The mapping aspect relates to determining the locations of fixed landmarks or beacons in
`the environment while at the same time using sensor measurements from those fixed
`landmarks to assist in localization of the object. As an example, when a robot navigates
`an uncharted territory, such as in a Mars rover mission, or in an underground mining or
`undersea operation, the robot may determine its location relative to the surrounding
`environment. If a complete map of the terrain is not available in advance, the robot may
`observe landmarks, build a map based on the landmark observations, and determine its
`location on the map that it has constructed so far. The landmarks may be man-made
`markers or natural features of the terrain.
`
`[06] As another example, an automated factory may use robots to move materials and
`products among different locations. Beacons, such as ultrasound emitters, or graphic
`markers having special patterns, may be placed at various locations in the factory. The
`robots may have sensors, such as ultrasound receivers, laser range finders, cameras, or
`pattern recognition devices, for determining their positions relative to reference points in
`the factory environment. The locations of the reference points may not be known in
`advance, so the robots may update their maps of the factory based on inputs from the
`sensors, and navigate through the factory based on their updated maps.
`
`[07] It may be desirable to also perform automatic calibration of sensors during the
`ongoing process of localization of the object. For example, various types of sensors may
`have different types of calibration parameters, such as measurement biases and scale
`factors. Examples of calibration parameters are focal lengths or distortion parameters of
`a camera lens, or alignment of a camera relative to the vehicle carrying it. The Kalman
`Filter implementation may estimate the sensor calibration parameters using a common
`infrastructure that is used to determine the location of the vehicle. As with the
`localization and mapping approaches, the characteristics of the calibration parameters are
`
`-2-
`
` 6
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`typically reflected in the implementation of the Kalman Filter techniques. Some systems
`combine localization, mapping, and auto-calibration.
`
`Summary
`
`[08] In a general aspect, the invention features a navigation or motion tracking system
`in which components associated with particular sensors are decoupled from a tracking
`component that takes advantage of information in the sensor measurements. The
`architecture of this system enables development of sensor-specific components
`independently of the tracking component, and enables sensors and their associated
`components to be added or removed without having to re-implement the tracking
`component. In a software implementation of the system, sensor-specific software
`components may be dynamically incorporated into the system and the tracking
`component is then automatically configured to take advantage of measurements from the
`corresponding sensors without having to modify the tracking component.
`
`[09] In general, in one aspect, the invention features a method for tracking an object
`that includes coupling a sensor subsystem to an estimation subsystem. The sensor
`subsystem enables measurement related to relative positions or orientations of sensing
`elements. Configuration data is accepted from the sensor subsystem, and the estimation
`system is configured according to the accepted configuration data. The method includes
`repeatedly updating a state estimate, including accepting measurement information from
`the sensor subsystem, and updating the state estimate according to the accepted
`configuration data and the accepted measurement data.
`
`[010] This and other aspects of the invention may include one or more of the following
`features.
`
`[Oil] Coupling the sensor subsystem to the estimation subsystem includes coupling
`software modules each associated with one or more of the sensing elements.
`
`[012] Each of the software modules provides a software interface for receiving
`information related to an expected sensor measurement and providing measurement
`information that depends on the received information.
`
`-3-
`
` 7
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[013] Each of the software modules implements calculations that are independent of a
`representation of the state in the estimation subsystem.
`
`[014] The state estimate characterizes an estimate of a location of the object.
`
`[015] The state estimate characterizes configuration information for one or more
`sensing elements fixed to the object.
`
`[016] The configuration information for the one or more sensing elements fixed to the
`object includes information related to position or orientation of the sensing elements
`relative to the object.
`
`[017] The configuration information for the one or more sensing elements fixed to the
`object includes operational parameters for the one or more sensing elements.
`
`[018] The state estimate characterizes configuration information for one or more
`sensing elements fixed in an environment of the object.
`
`[019] The configuration information for one or more sensing elements fixed in the
`environment of the object includes a map of the locations of the sensing elements.
`
`[020] Repeatedly updating the state further includes providing to the sensor subsystems
`information related to an expected sensor measurement, and wherein accepting the
`measurement information from the sensor subsystem includes accepting information
`related to an actual sensor measurement.
`
`[021] Providing the information related to an expected sensor measurement includes
`providing information related to a relative geometric configuration of two of the sensing
`elements.
`
`[022] Providing information related to a relative geometric configuration of the two of
`the sensing elements includes providing information characterizing a relative location of
`the sensing elements.
`
`[023] Accepting the information related to an actual sensor measurement includes
`accepting information enabling the estimation subsystem to calculate a difference
`between the actual measurement and the expected measurement.
`
`-4-
`
` 8
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[024] Accepting the information related to an actual sensor measurement includes
`accepting information for correlating measurements and geometric relationships between
`sensing elements.
`
`[025] The information for correlating measurements and geometric relationships
`between sensing elements includes a mapping between a relative pose of the sensing
`elements and a sensor measurement.
`
`[026] The mapping between the relative pose of the sensing elements and the sensor
`measurement characterizes a linear mapping.
`
`[027] Accepting the information related to an actual sensor measurement includes
`accepting information characterizing an uncertainty in the actual measurement.
`
`[028] The information characterizing the uncertainty in the actual measurement includes
`parameters of a statistical distribution of an error of the actual measurement.
`
`[029] Repeatedly updating the state further includes selecting a pair of sensing elements
`for measurement, and providing an identification of the selected pair to the sensing
`subsystem.
`
`[030] Selecting the pair of sensing elements includes selecting the elements according
`to an expected utility of a measurement associated with the elements to the updating of
`the state.
`
`[031] Repeatedly updating the state further includes updating the state according to the
`accepted information related to an actual sensor measurement.
`
`[032] Repeatedly updating the state further includes updating the state according to
`accepted measurements from inertial sensors.
`
`[033] Updating the state estimate includes applying a Kalman Filter approach.
`
`[034] Each of the sensing elements includes at least one of a sensor and a target.
`
`[035] The target includes an active device that interacts with the sensor.
`
`-5-
`
` 9
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[036] The target includes at least one of a man-made signal reflector and a natural
`feature of an environment.
`
`[037] The object is selected from a group consisting of a vehicle, a robot, a person, a
`part of a person, a flying object, a floating object, an underwater moving object, an
`animal, a camera, a sensing apparatus, a helmet, a tool, a piece of sports equipment, a
`shoe, a boot, an article of clothing, a personal protective equipment, and a rigid object
`having a dimension between 1 nanometer to 109 meters.
`
`[038] The state estimate includes information related to a position or an orientation of
`the object relative to a reference coordinate frame.
`
`[039] In general, in another aspect, the invention features a tracking system includes an
`estimation subsystem, and a sensor subsystem coupled to the estimation subsystem. The
`sensor subsystem is configured to provide configuration data to the estimation subsystem
`and to provide measurement information to the estimation subsystem for localizing an
`object. The estimation subsystem is configured to update a location estimate for the
`object based on configuration data and measurement information accepted from the
`sensor subsystem.
`
`[040] This and other aspects of the invention may include one or more of the following
`features.
`
`[041] The sensor subsystem includes one or more sensor modules, each providing an
`interface for interacting with a corresponding set of one or more sensing elements.
`
`[042] The interface enables the sensor module to perform computations independently
`of an implementation of the estimation subsystem.
`
`[043] The interface enables the estimation subsystem to perform computations
`independently of an implementation of the sensor modules.
`
`[044] The tracking system also includes a navigation subsystem to navigate the object in
`an environment based on the location estimate for the object.
`
`-6-
`
`
`10
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[045] In general, in another aspect, the invention features a sensor module that includes
`a sensor interface for communicating with a measurement sensor, and a communication
`interface for communication with an estimation system. The sensor module is configured
`to receive information related to an expected sensor measurement over the
`communication interface, receive a measurement signal over the sensor interface, and
`provide measurement information based on the measurement signal over the
`communication interface.
`
`[046] This and other aspects of the invention may include one or more of the following
`features.
`
`[047] The sensor module is configured to provide information over the communication
`interface related to an uncertainty in the measurement information.
`
`[048] The received information related to an expected sensor measurement includes a
`predicted pose of a sensing element relative to the measurement sensor.
`
`[049] In general, in another aspect, the invention features a method that includes
`enumerating a set of sensing elements available to a tracking system that includes an
`estimation subsystem that estimates a position or orientation of an object, and providing
`parameters specific to the set of sensing elements to the tracking system to enable the
`estimation subsystem to be configured based on the parameters specific to the subset of
`sensing elements.
`
`[050] This and other aspects of the invention may include one or more of the following
`features.
`
`[051] The method includes generating a sequence of candidates of pairs of sensing
`elements selected from the set of sensing elements, the sequence based on an expected
`utility of a measurement associated with the elements to the estimation subsystem.
`
`[052] The method includes selecting a pair of sensing elements from the sequence of
`candidates, the selected pair of sensing elements being ready to make a measurement at
`the time of selection of the pair or at a predefined time after the time of selection of the
`
`-7-
`
`
`11
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`pair, the selected pair having a highest expected utility of a measurement among the
`sequence of candidates.
`
`[053] The set of sensing elements includes at least one sensor and at least one target, the
`sensor making a measurement with respect to the target.
`
`[054] The target includes a natural feature in an environment.
`
`[055] In general, in another aspect, the invention features a method that includes
`computing an estimate of a pose of a target element relative to a sensor element based on
`an estimate of a pose of a tracked object relative to an environment having affixed thereto
`either the sensor element or the target element. The computing of the estimate of the
`pose of the target element relative to the sensor element is also based on an estimate of a
`pose of the affixed element relative to the tracked object and the other element relative to
`the environment. The method also includes computing an estimate of a measurement of
`the target made by the sensor based on the estimate of the pose of the target relative to the
`sensor, making an actual measurement of the target by using the sensor, computing a
`deviation between the actual measurement and the estimated measurement, and
`generating a new estimate of the pose of the tracked object based on the deviation.
`
`[056] This and other aspects of the invention may include one or more of the following
`features.
`
`[057] The method also includes computing a first observation matrix that characterizes
`a linearized model of a function relating the measurement made by the sensor to the pose
`of the target relative to the sensor.
`
`[058] The method also includes computing a second observation matrix that
`characterizes a linearized model of a function relating the pose of the target relative to the
`sensor to the estimate of the pose of the tracked object relative to the environment.
`
`[059] The also includes computing an observation matrix that characterizes a linearized
`model of a function relating the measurement made by the sensor to the pose of the
`tracked object relative to the environment by combining the first observation matrix and
`the second observation matrix.
`
`-8-
`
`
`12
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[060] In general, in another aspect, the invention features a method that includes
`estimating a first value associated with a pose of a first sensing element relative to a
`second sensing element. The first sensing element is fixed to an environment and the
`second sensing element is fixed to an object being tracked, One of the first and second
`sensing elements is a sensor and the other is a target. The method includes estimating a
`second value associated with a pose of the second sensing element relative to the first
`sensing element, determining which of the first and second sensing elements is the
`sensor, and generating an innovation of a measurement of the target made by the sensor
`based on the first value when the second sensing element is the sensor.
`
`[061] This and other aspects of the invention may include one or more of the following
`features.
`
`[062] The method also includes generating the innovation based on the second value
`when the first sensing element is the sensor.
`
`[063] Estimating the first value and estimating the second value are performed by a
`process ignorant of which of the first and second sensing elements is a sensor.
`
`[064] In general, in another aspect, the invention features a method that includes
`estimating a calibration parameter of a sensing element that is either a sensor or a target,
`the sensing element being fixed either to an environment or to an object being tracked.
`The method includes determining whether the sensing element is the sensor or the target,
`assigning the calibration parameter as a sensor calibration parameter when the sensing
`element is a sensor, and generating an innovation of a measurement of a target made by
`the sensing element based in part on the sensor calibration parameter.
`
`[065] This and other aspects of the invention may include one or more of the following
`features.
`
`[066] The method also includes assigning the calibration parameter as a target
`calibration parameter when the sensing element is a target, and generating an innovation
`of a measurement of the sensing element made by a sensor based in part on the target
`calibration parameter.
`
`-9-
`
`
`13
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[067] Estimating the calibration parameter is performed by a process ignorant of
`whether the sensing element is a sensor or a target.
`
`[068] In general, in another aspect, the invention features a method of using multiple
`sensors in a tracking system. The method includes providing an estimation subsystem,
`coupling one or more sensor modules to the estimation subsystem, each associated with a
`different set of one or more sensors. The method includes configuring the tracking
`system, which includes providing configuration information from each of the sensor
`modules to the estimation subsystem regarding the characteristics of the sensors
`associated with the sensor module, and configuring the estimation subsystem using the
`provided configuration information. The method includes maintaining estimates of
`tracking parameters in the estimation subsystem, including repeatedly passing data based
`on the estimates of the tracking parameters from the estimation subsystem to one or more
`of the sensor modules, receiving from the one or more sensor modules at the estimation
`subsystem data based on measurements obtained from the associated sensors, and the
`data passed to the sensor modules, and combining the data received from the one or more
`sensor modules and the estimates of the tracking parameters in the estimation subsystem
`to update the tracking parameters.
`
`[069] This and other aspects of the invention may include one or more of the following
`features.
`
`[070] The data passed from the estimation subsystem to one or more of the sensor
`modules includes an estimate of the pose of a target relative to a sensor that was
`calculated by the estimation subsystem using an estimate of the pose of a tracked object
`relative to a frame of reference fixed to an environment.
`
`[071] The data passed from the estimation subsystem to one or more of the sensor
`modules does not include the estimate of the pose of the tracked object relative to the
`frame of reference fixed to the environment.
`
`[072] Providing the estimation subsystem includes providing a module that is
`configurable to use different sets of sensor modules coupled to it.
`
`-10-
`
`
`14
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[073] Maintaining estimates of the tracking parameters in the estimation subsystem
`includes using a stochastic model in the estimation subsystem.
`
`[074] Using a stochastic model includes implementing some or all of a Kalman filter in
`the estimation subsystem.
`
`[075] Implementing some or all of the Kalman filter includes updating error estimates
`using linearized models of the sensor system.
`
`[076] Implementing some or all of the Kalman filter includes implementing a
`distributed Kalman filter, wherein each of a plurality of components of the distributed
`Kalman filter is associated with a different subset of the sensor modules.
`
`[077] One of the components of the distributed Kalman filter is associated with a subset
`of sensor modules consisting of sensor modules that are affixed to a tracked object.
`
`[078] One of the components of the distributed Kalman filter is associated with a subset
`of sensor modules consisting of sensor modules which are affixed to an environment.
`
`[079] One of the components of the distributed Kalman filter is not associated with any
`sensor modules.
`
`[080] Implementing the distributed Kalman filter includes implementing a Federated
`Kalman Filter.
`
`[081] Providing configuration information from the sensor modules includes providing
`information characterizing a type of a sensor associated with a sensor module.
`
`[082] Providing configuration information from the sensor modules includes providing
`information characterizing a position or an orientation of a sensor associated with a
`sensor module.
`
`[083] Providing configuration information from the sensor modules includes providing
`information characterizing one or more calibration parameters of a sensor associated with
`a sensor module.
`
`-11-
`
`
`15
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[084] In general, in another aspect, the invention features a machine-accessible medium,
`which when accessed results in a tracking or navigation system that tracks or navigates,
`respectively, an object, performing operations that includes enumerating a set of sensing
`elements available to the tracking or navigation system, where the sensing elements
`available to the tracking or navigation system includes at least one of an inside-out sensor
`and an outside-in sensor. The inside-out sensor is fixed to the object and makes
`measurements with respect to a target fixed to an environment. The outside-in sensor is
`fixed to the environment and makes measurements with respect to a target fixed to the
`object. The machine-accessible medium, when accessed, results in the tracking or
`navigation system configuring an estimation module of the tracking or navigation system
`based on an enumeration of the set of sensing elements available to the tracking or
`navigation system so that the estimation module can process measurement information
`from either inside-out sensors, outside-in sensors, or a combination of inside-out and
`outside-in sensors depending on the sensors available. The machine-accessible medium,
`when accessed, results in the tracking or navigation system repeatedly updating an
`estimated pose of an object based on measurements from the set of sensing elements
`available to the tracking or navigation system.
`
`[085] This and other aspects of the invention may include one or more of the following
`features.
`
`[086] The sensing elements available to the tracking or navigation system include range
`sensors, and configuring the estimation module includes configuring the estimation
`module so that the estimation module can process measurement information from either
`inside-out sensors, outside-in sensors, range sensors, or any combination of the above
`sensors.
`
`[087] The sensing elements available to the tracking or navigation system include
`inertial sensors, and configuring the estimation module includes configuring the
`estimation module so that the estimation module can process measurement information
`from either inside-out sensors, outside-in sensors, inertial sensors, or any combination of
`the above sensors.
`
`-12-
`
`
`16
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`[088] The sensing elements available to the tracking or navigation system include dead
`reckoning sensors, and configuring the estimation module includes configuring the
`estimation module so that the estimation module can process measurement information
`from either inside-out sensors, outside-in sensors, dead reckoning sensors, or any
`combination of the above sensors.
`
`[089] In general, in another aspect, the invention features a tracking or navigation
`method that includes receiving sensor configuration information indicating a set of
`sensing elements available to a tracking or navigation system, and configuring a data
`processing module of the tracking or navigation system based on the sensor configuration
`information to selectively perform one of (a) receiving data from at least one inside-out
`bearing sensor, and updating an estimated pose of an object based on data received from
`the inside-out bearing sensor, (b) receiving data from at least one outside-in bearing
`sensor, and updating an estimated pose of an object based on data received from the
`outside-in bearing sensor, and (c) receiving data from at least one inside-out bearing
`sensor and at least one outside-in bearing sensor, and updating an estimated pose of an
`object based on data received from the outside-in bearing sensor and the inside-out
`bearing sensor.
`
`[090] This and other aspects of the invention may include one or more of the following
`features.
`
`[091] The tacking or navigation method also includes configuring the data processing
`module to selectively perform one of (d) receiving data from at least one range sensor,
`and updating an estimated pose of an object based on data received from the range
`sensor, (e) receiving data from at least one range sensor and at least one inside-out
`bearing sensor, and updating an estimated pose of an object based on data received from
`the range sensor and the inside-out bearing sensor, (f) receiving data from at least one
`range sensor and at least one outside-in bearing sensor, and updating an estimated pose of
`an object based on data received from the range sensor and the outside-in bearing sensor,
`and (g) receiving data from at least one range sensor, at least one outside-in bearing
`sensor, and at least one inside-out bearing sensor, and updating an estimated pose of an
`
`-13-
`
`
`17
`
`META 1002
`META V. THALES
`
`
`
`Attorney Docket No. 09970-011001
`
`object based on data received from the range sensor, the inside-out bearing sensor, and
`the outside-in bearing sensor.
`
`[092] In general, in another aspect, the invention features an apparatus that includes an
`estimation module to estimate a pose of an object based on measurement data from
`sensing elements, the estimation module configured to enable selective performance of
`(a) receiving data from at least one inside-out bearing sensor, and updating an estimated
`pose of an object based on the data received from the inside-out bearing sensor, (b)
`receiving data from at least one outside-in bearing sensor, and updating an estimated pose
`of an object based on the data received from the outside-in bearing sensor, and (c)
`receiving data from at least one inside-out bearing sensor and at least one outside-in
`bearing sensor, and updating an estimated pose of an object based on the data received
`from the outside-in bearing sensor and the inside-out bearing sensor.
`
`[093] In general, in another aspect, the invention features an apparatus that includes an
`estimation module to estimate a pose of an object based on measurement data from
`sensing elements, the estimation module configured to enable selective performance of
`one of (a) updating an estimate of the position or orientation of the object relative to an
`environment, (b) updating an estimate of the position or orientation, relative to the object,
`of at least one sensing element fixed to the object, and (c) updating an estimate of the
`position or orientation, relative to the environment, of at least one sensing element fixed
`in the environment.
`
`[094] In general, in another aspect, the invention features a computer program that is
`capable of performing any combination (i.e., one, two, three, four, five, ..., etc.) of a set
`of functions, and selects which function or functions to perform at runtime based on
`configuration information. In this aspect of the invention, the set of funct