This application is generally related to wireless charging power transfer applications, and specifically to a method and apparatus for positioning a vehicle. More specifically the present disclosure relates to determining a position of the vehicle relative to a ground-based charging unit based on magnetic vector fields (magnetic vectoring) and on other auxiliary sensors and systems.
Efficiency in wireless inductive charging power applications depends at least in part on achieving at least a minimum alignment threshold between a wireless power transmitter and a wireless power receiver. One method for aiding such alignment is the use of magnetic vectoring, where a position of the wireless power receiver relative to the wireless power transmitter is determined based on sensing one or more attributes of a magnetic field generated at or near either the wireless power transmitter or the wireless power receiver. A position may include at least one of a distance, direction, and orientation of the wireless power receiver relative to the wireless power transmitter. However, determining a position accurately and with a minimum of ambiguity utilizing magnetic vectoring may involve a large number of calculation steps. Accordingly, a method and apparatus for positioning a vehicle as described herein are desirable.
In some implementations, an apparatus for determining a position of vehicle is provided. The apparatus comprises a plurality of receive coils arranged in different geometric planes. Each of the plurality of receive coils is configured to generate a respective voltage signal from a wireless magnetic field generated by a field generator. The apparatus further comprises a hardware processor configured to generate a sequence of absolute position and orientation estimates of the field generator with respect to the receive coils, wherein each absolute pose estimate is determined based upon a voltage vector derived from a set of voltage signals generated by the plurality of receive coils and a stored vector map comprising a plurality of reference vectors. The hardware processor may be further configured to receive a sequence of relative position and orientation estimates. The hardware processor may be further configured to update the sequence of absolute position and orientation estimates, based upon the sequence of relative position and orientation estimates. The hardware processor may be further configured to determine a plurality of deviations by comparing the voltage vectors associated with the sequence of absolute position and orientation estimates with one or more corresponding reference vectors, wherein each corresponding reference vector comprises a reference vector of the stored vector map most closely corresponding to an absolute position and orientation estimate of the updated sequence of absolute position and orientation estimates. The hardware processor may be further configured to determine a modification function based upon the plurality of deviations. The hardware processor may be further configured to generate an updated vector map based on applying the modification function to the stored vector map.
In some implementations, an apparatus for determining positioning information for a vehicle is provided. The apparatus comprises a plurality of receive coil circuits configured to generate a set of voltage signals from a magnetic field generated by a magnetic field generator. The apparatus further comprises a hardware processor. The hardware processor is configured to generate a first sequence of position estimates of a position of the magnetic field generator with respect to a position of the plurality of receive coils. Each of the first sequence of position estimates is determined based upon a corresponding voltage vector derived from the set of voltage signals and at least one of a plurality of reference vectors. The hardware processor is further configured to update the plurality of reference vectors based upon the first sequence of position estimates and a second sequence of position estimates generated based upon a source different from the plurality of receive coil circuits.
In some implementations, a method for determining positioning information for a vehicle is provided. The method comprises generating, at a plurality of receive coils, a set of voltage signals in response to a magnetic field generated by a magnetic field generator. The method further comprises generating a first sequence of position estimates of a position of the magnetic field generator with respect to a position of the plurality of receive coils. Each of the first sequence of position estimates is determined based upon a corresponding voltage vector derived from the set of voltage signals and at least one of a plurality of reference vectors. The method further comprises updating the plurality of reference vectors based upon the first sequence of position estimates and a second sequence of position estimates generated based upon a source different from the plurality of receive coil circuits.
In some implementations, an apparatus for determining positioning information for a vehicle is provided. The apparatus comprises a plurality of means for generating a set of voltage signals from a magnetic field generated by a magnetic field generator. The apparatus further comprises means for generating a first sequence of position estimates of a position of the magnetic field generator with respect to a position of the plurality of means for generating a set of voltage signals, wherein each of the first sequence of position estimates is determined based upon a corresponding voltage vector derived from the set of voltage signals and at least one of a plurality of reference vectors. The apparatus further comprises means for updating the plurality of reference vectors based upon the first sequence of position estimates and a second sequence of position estimates.
In some implementations, a non-transitory, computer-readable storage medium is provided. The storage medium comprises code executable to generate, at a plurality of receive coils, a set of voltage signals in response to a magnetic field generated by a magnetic field generator. The storage medium further comprises code executable to generate a first sequence of position estimates of a position of the magnetic field generator with respect to a position of the plurality of receive coils. Each of the first sequence of position estimates is generated based upon a corresponding voltage vector derived from the set of voltage signals and at least one of a plurality of reference vectors. The storage medium further comprises code executable to update the plurality of reference vectors based upon the first sequence of position estimates and a second sequence of position estimates generated based upon a source different from the plurality of receive coil circuits.
The detailed description set forth below in connection with the appended drawings is intended as a description of exemplary implementations and is not intended to represent the only implementations in which the invention may be practiced. The term “exemplary” used throughout this description means “serving as an example, instance, or illustration,” and should not necessarily be construed as preferred or advantageous over other exemplary implementations. The detailed description includes specific details for the purpose of providing a thorough understanding of the exemplary implementations. In some instances, some devices are shown in block diagram form.
Wirelessly transferring power may refer to transferring any form of energy associated with electric fields, magnetic fields, electromagnetic fields, or otherwise from a transmitter to a receiver without the use of physical electrical conductors (e.g., power may be transferred through free space). The power output into a wireless field (e.g., a magnetic field) may be received, captured by, or coupled by a “receiving coil” to achieve power transfer.
An electric vehicle is used herein to describe a remote system, an example of which is a vehicle that includes, as part of its locomotion capabilities, electrical power derived from a chargeable energy storage device (e.g., one or more rechargeable electrochemical cells or other type of battery). As non-limiting examples, some electric vehicles may be hybrid electric vehicles that include, besides electric motors, a traditional combustion engine for direct locomotion or to charge the vehicle's battery. Other electric vehicles may draw all locomotion ability from electrical power. An electric vehicle is not limited to an automobile and may include motorcycles, carts, scooters, and the like. By way of example and not limitation, a remote system is described herein in the form of an electric vehicle (EV). Furthermore, other remote systems that may be at least partially powered using a chargeable energy storage device are also contemplated (e.g., electronic devices such as personal computing devices and the like).
The electric vehicle 112 may include a battery unit 118, an electric vehicle coupler 116, and an electric vehicle wireless charging unit 114. The electric vehicle wireless charging unit 114 and the electric vehicle coupler 116 constitute the electric vehicle wireless charging system. In some diagrams shown herein, the electric vehicle wireless charging unit 114 is also referred to as the vehicle charging unit (VCU). The electric vehicle coupler 116 may interact with the base coupler 104a for example, via a region of the electromagnetic field generated by the base coupler 104a.
In some exemplary implementations, the electric vehicle coupler 116 may receive power when the electric vehicle coupler 116 is located in an electromagnetic field produced by the base coupler 104a. The field may correspond to a region where energy output by the base coupler 104a may be captured by the electric vehicle coupler 116. For example, the energy output by the base coupler 104a may be at a level sufficient to charge or power the electric vehicle 112. In some cases, the field may correspond to a “near-field” of the base coupler 104a. The near-field may correspond to a region in which there are strong reactive fields resulting from the currents and charges in the base coupler 104a that do not radiate power away from the base coupler 104a. In some cases the near-field may correspond to a region that is within about 1/2π of a wavelength of the a frequency of the electromagnetic field produced by the base coupler 104a distant from the base coupler 104a, as will be further described below.
Local distribution center 130 may be configured to communicate with external sources (e.g., a power grid) via a communication backhaul 134, and with the base wireless charging system 102a via a communication link 108.
In some implementations the electric vehicle coupler 116 may be aligned with the base coupler 104a and, therefore, disposed within a near-field region simply by the electric vehicle operator positioning the electric vehicle 112 such that the electric vehicle coupler 116 is sufficiently aligned relative to the base coupler 104a. Alignment may be considered sufficient when an alignment error has fallen below a tolerable value. In other implementations, the operator may be given visual and/or auditory feedback to determine when the electric vehicle 112 is properly placed within a tolerance area for wireless power transfer. In yet other implementations, the electric vehicle 112 may be positioned by an autopilot system, which may move the electric vehicle 112 until the sufficient alignment is achieved. This may be performed automatically and autonomously by the electric vehicle 112 with or without driver intervention. This may be possible for an electric vehicle 112 that is equipped with a servo steering, radar sensors (e.g., ultrasonic sensors), and intelligence for safely maneuvering and adjusting the electric vehicle. In still other implementations, the electric vehicle 112 and/or the base wireless charging system 102a may have functionality for mechanically displacing and moving the couplers 116 and 104a, respectively, relative to each other to more accurately orient or align them and develop sufficient and/or otherwise more efficient coupling there between.
The base wireless charging system 102a may be located in a variety of locations. As non-limiting examples, some suitable locations include a parking area at a home of the electric vehicle 112 owner, parking areas reserved for electric vehicle wireless charging modeled after conventional petroleum-based filling stations, and parking lots at other locations such as shopping centers and places of employment.
Charging electric vehicles wirelessly may provide numerous benefits. For example, charging may be performed automatically, virtually without driver intervention or manipulation, thereby improving convenience to a user. There may also be no exposed electrical contacts and no mechanical wear out, thereby improving reliability of the wireless power transfer system 100. Safety may be improved since manipulations with cables and connectors may not be needed and there may be no cables, plugs, or sockets to be exposed to moisture in an outdoor environment. In addition, there may also be no visible or accessible sockets, cables, or plugs, thereby reducing potential vandalism of power charging devices. Further, since the electric vehicle 112 may be used as distributed storage devices to stabilize a power grid, a convenient docking-to-grid solution may help to increase availability of vehicles for vehicle-to-grid (V2G) operation.
The wireless power transfer system 100 as described with reference to
As a further explanation of the vehicle-to-grid capability, the wireless power transmit and receive capabilities may be configured to be reciprocal such that either the base wireless charging system 102a can transmit power to the electric vehicle 112 or the electric vehicle 112 can transmit power to the base wireless charging system 102a. This capability may be useful to stabilize the power distribution grid by allowing electric vehicles 112 to contribute power to the overall distribution system in times of energy shortfall caused by over demand or shortfall in renewable energy production (e.g., wind or solar).
With reference to
The base resonant circuit 206 (including the base coupler 204 and tuning capacitor C1) and the electric vehicle resonant circuit 222 (including the electric vehicle coupler 216 and tuning capacitor C2) may be tuned to substantially the same frequency. The electric vehicle coupler 216 may be positioned within the near-field of the base coupler and vice versa, as further explained below. In this case, the base coupler 204 and the electric vehicle coupler 216 may become coupled to one another such that power may be transferred wirelessly from the base coupler 204 to the electric vehicle coupler 216. The series capacitor C2 may be provided to form a resonant circuit with the electric vehicle coupler 216 that resonates substantially at the operating frequency. The series-tuned resonant circuit 222 should be construed as being exemplary. In another implementation, the capacitor C2 may be coupled with the electric vehicle coupler 216 in parallel. In yet other implementations, the electric vehicle resonant circuit 222 may be formed of several reactive elements in any combination of parallel or series topology. Element k(d) represents the mutual coupling coefficient resulting at coil separation d. Equivalent resistances Req,1 and Req,2 represent the losses that may be inherent to the base and electric vehicle couplers 204 and 216 and the tuning (anti-reactance) capacitors C1 and C2, respectively. The electric vehicle resonant circuit 222, including the electric vehicle coupler 216 and capacitor C2, receives and provides the power P2 to an electric vehicle power converter 238 of an electric vehicle charging system 214.
The electric vehicle power converter 238 may include, among other things, a LF-to-DC converter configured to convert power at an operating frequency back to DC power at a voltage level of the load 218 that may represent the electric vehicle battery unit. The electric vehicle power converter 238 may provide the converted power PLDC to the load 218. The power supply 208, base power converter 236, and base coupler 204 may be stationary and located at a variety of locations as discussed above. The electric vehicle load 218 (e.g., the electric vehicle battery unit), electric vehicle power converter 238, and electric vehicle coupler 216 may be included in the electric vehicle charging system 214 that is part of the electric vehicle (e.g., electric vehicle 112) or part of its battery pack (not shown). The electric vehicle charging system 214 may also be configured to provide power wirelessly through the electric vehicle coupler 216 to the base wireless power charging system 202 to feed power back to the grid. Each of the electric vehicle coupler 216 and the base coupler 204 may act as transmit or receive couplers based on the mode of operation.
While not shown, the wireless power transfer system 200 may include a load disconnect unit (LDU) (not known) to safely disconnect the electric vehicle load 218 or the power supply 208 from the wireless power transfer system 200. For example, in case of an emergency or system failure, the LDU may be triggered to disconnect the load from the wireless power transfer system 200. The LDU may be provided in addition to a battery management system for managing charging to a battery, or it may be part of the battery management system.
Further, the electric vehicle charging system 214 may include switching circuitry (not shown) for selectively connecting and disconnecting the electric vehicle coupler 216 to the electric vehicle power converter 238. Disconnecting the electric vehicle coupler 216 may suspend charging and also may change the “load” as “seen” by the base wireless power charging system 202 (acting as a transmitter), which may be used to “cloak” the electric vehicle charging system 214 (acting as the receiver) from the base wireless charging system 202. The load changes may be detected if the transmitter includes a load sensing circuit. Accordingly, the transmitter, such as the base wireless charging system 202, may have a mechanism for determining when receivers, such as the electric vehicle charging system 214, are present in the near-field coupling mode region of the base coupler 204 as further explained below.
As described above, in operation, during energy transfer towards an electric vehicle (e.g., electric vehicle 112 of
As stated, an efficient energy transfer occurs by transferring energy via a magnetic near-field rather than via electromagnetic waves in the far field, which may involve substantial losses due to radiation into the space. When in the near-field, a coupling mode may be established between the transmit coupler and the receive coupler. The space around the couplers where this near-field coupling may occur is referred to herein as a near-field coupling mode region.
While not shown, the base power converter 236 and the electric vehicle power converter 238 if bidirectional may both include, for the transmit mode, an oscillator, a driver circuit such as a power amplifier, a filter and matching circuit, and for the receive mode a rectifier circuit. The oscillator may be configured to generate a desired operating frequency, which may be adjusted in response to an adjustment signal. The oscillator signal may be amplified by a power amplifier with an amplification amount responsive to control signals. The filter and matching circuit may be included to filter out harmonics or other unwanted frequencies and match the impedance as presented by the resonant circuits 206 and 222 to the base and electric vehicle power converters 236 and 238, respectively. For the receive mode, the base and electric vehicle power converters 236 and 238 may also include a rectifier and switching circuitry.
The electric vehicle coupler 216 and base coupler 204 as described throughout the disclosed implementations may be referred to or configured as “conductor loops”, and more specifically, “multi-turn conductor loops” or coils. The base and electric vehicle couplers 204 and 216 may also be referred to herein or be configured as “magnetic” couplers. The term “coupler” is intended to refer to a component that may wirelessly output or receive energy for coupling to another “coupler.”
As discussed above, efficient transfer of energy between a transmitter and receiver occurs during matched or nearly matched resonance between a transmitter and a receiver. However, even when resonance between a transmitter and receiver are not matched, energy may be transferred at a lower efficiency.
A resonant frequency may be based on the inductance and capacitance of a resonant circuit (e.g. resonant circuit 206) including a coupler (e.g., the base coupler 204 and capacitor C2) as described above. As shown in
As described above, according to some implementations, coupling power between two couplers that are in the near-field of one another is disclosed. As described above, the near-field may correspond to a region around the coupler in which mainly reactive electromagnetic fields exist. If the physical size of the coupler is much smaller than the wavelength, inversely proportional to the frequency, there is no substantial loss of power due to waves propagating or radiating away from the coupler. Near-field coupling-mode regions may correspond to a volume that is near the physical volume of the coupler, typically within a small fraction of the wavelength. According to some implementations, magnetic couplers, such as single and multi-turn conductor loops, are preferably used for both transmitting and receiving since handling magnetic fields in practice is easier than electric fields because there is less interaction with foreign objects, e.g., dielectric objects and the human body. Nevertheless, “electric” couplers (e.g., dipoles and monopoles) or a combination of magnetic and electric couplers may be used.
The base wireless charging system 302 includes a base controller 342 and the electric vehicle wireless charging system 314 includes an electric vehicle controller 344. The base controller 342 may provide a base charging system communication interface to other systems (not shown) such as, for example, a computer, a base common communication (BCC), a communications entity of the power distribution center, or a communications entity of a smart power grid. The electric vehicle controller 344 may provide an electric vehicle communication interface to other systems (not shown) such as, for example, an on-board computer on the vehicle, a battery management system, other systems within the vehicles, and remote systems.
The base communication subsystem 372 and electric vehicle communication subsystem 374 may include subsystems or modules for specific application with separate communication channels and also for wirelessly communicating with other communications entities not shown in the diagram of
The electric vehicle wireless charging system 314 may further include an electric vehicle positioning subsystem 364 connected to a magnetic field generator 368. The electric vehicle positioning subsystem 364 may be configured to drive the magnetic field generator 368 with currents that generate an alternating magnetic field. The base wireless charging system 302 may include a magnetic field sensor 366 connected to a base positioning subsystem 362. The magnetic field sensor 366 may be configured to generate a plurality of voltage signals under influence of the alternating magnetic field generated by the magnetic field generator 368. The base positioning subsystem 362 may be configured to receive these voltage signals and output a signal indicative of a position estimate and an angle estimate between the magnetic field sensor 366 and the magnetic field sensor 368, as will be described in more detail in connection with
In some implementations, the positioning error (error in the position estimates) at offsets (distances) <20 cm may be specified to <2 cm, and for distances >20 cm to <10% of distance, e.g., <10 cm at a distance of 1 m and <50 cm at a distance of 5 m, where the distance may refer to a horizontal distance between the magnetic centers of the magnetic field generator 368 and the magnetic field sensor 366 as defined in connection with
Further, electric vehicle controller 344 may be configured to communicate with electric vehicle onboard systems. For example, electric vehicle controller 344 may provide, via the electric vehicle communication interface, position data, e.g., for a brake system configured to perform a semi-automatic parking operation, or for a steering servo system configured to assist with a largely automated parking (“park by wire”) that may provide more convenience and/or higher parking accuracy as may be needed in certain applications to provide sufficient alignment between base and electric vehicle couplers 304 and 316. Moreover, electric vehicle controller 344 may be configured to communicate with visual output devices (e.g., a dashboard display), acoustic/audio output devices (e.g., buzzer, speakers), mechanical input devices (e.g., keyboard, touch screen, and pointing devices such as joystick, trackball, etc.), and audio input devices (e.g., microphone with electronic voice recognition).
The wireless power transfer system 300 may also support plug-in charging via a wired connection, for example, by providing a wired charge port (not shown) at the electric vehicle wireless charging system 314. The electric vehicle wireless charging system 314 may integrate the outputs of the two different chargers prior to transferring power to or from the electric vehicle. Switching circuits may provide the functionality as needed to support both wireless charging and charging via a wired charge port.
To communicate between the base wireless charging system 302 and the electric vehicle wireless charging system 314, the wireless power transfer system 300 may use in-band signaling via base and electric vehicle couplers 304, 316 and/or out-of-band signaling via communications systems (372, 374), e.g., via an RF data modem (e.g., Ethernet over radio in an unlicensed band). The out-of-band communication may provide sufficient bandwidth for the allocation of value-add services to the vehicle user/owner. A low depth amplitude or phase modulation of the wireless power carrier may serve as an in-band signaling system with minimal interference.
In some implementations, some communications (e.g., in-band signaling) may be performed via the wireless power link without using specific communications antennas. For example, the base and electric vehicle couplers 304 and 316 may also be configured to act as wireless communication antennas. Thus, some implementations of the base wireless charging system 302 may include a controller (not shown) for enabling keying type protocol on the wireless power path. By keying the transmit power level (amplitude shift keying) at predefined intervals with a predefined protocol, the receiver may detect a serial communication from the transmitter. The base power converter 336 may include a load sensing circuit (not shown) for detecting the presence or absence of active electric vehicle power receivers in the near-field coupling mode region of the base coupler 304. By way of example, a load sensing circuit monitors the current flowing to a power amplifier of the base power converter 336, which is affected by the presence or absence of active power receivers in the near-field coupling mode region of the base coupler 304. Detection of changes to the loading on the power amplifier may be monitored by the base controller 342 for use in determining whether to enable the base wireless charging system 302 for transmitting energy, to communicate with a receiver, or a combination thereof.
The magnetic field based positioning system 600 further includes the magnetic field sensor 366 of
In some implementations, the magnetic field based positioning system 600 is further configured to include an optional synchronization link 630 configured to establish time or phase synchronization between the electric vehicle positioning subsystem 364 and the base positioning subsystem 362.
While
In some implementations, the ferrite structure 718 may be shared between the wireless power transfer base coupler 304 and the magnetic field sensor 366 as shown in
In some implementations, physical restrictions for the position of the sensor 366 with respect to the generator 368 apply. In an implementation in accordance with
rz′<0 (1)
θ′≅φ′≅0 (2)
holds, where angles θ′and φ′ may refer to Euler angles and more specifically to the pitch and yaw rotation angle of the sensor's 366 coordinate frame with respect to the generator's 368 coordinate frame.
In operation, the electric vehicle positioning subsystem 364 may drive the generator coils 702, 704, 706 with respective alternating currents ix′ (t), iy′ (t) and iz′ (t) to generate magnetic fields having magnetic moments in orthogonal axis directions, e.g., on a x′-, y′-, and z′-axis of the generator's 368 coordinate frame as indicated in
In order to differentiate between the magnetic field components generated by each of the generator coils 702, 704, 706, the electric vehicle positioning subsystem 364 may employ a field multiplexing scheme. In some implementations, the electric vehicle positioning subsystem 364 employs a frequency division multiplexing (FDM) scheme, by driving each of the generator coils concurrently with sinusoidal currents oscillating at respective frequencies fx′, fy′ and fz′. In mathematical terms, these excitation current signals may be expressed as
i
x′(t)=Ix′ sin(2πfx′t) (3)
i
y′(t)=Iy′ sin(2πfy′t) (4)
i
z′(t)=Iz′ sin(2πfz′t) (5)
where Ix′, Iy′ and Iz′ denote the peak amplitude of the oscillating current.
In some implementations, fx′, fy′, and fz′ may be equally spaced in frequency. In other implementations, fx′, fy′, fz′ may not be equally spaced. In some other implementations, the electric vehicle positioning subsystem 364 may employ a time division multiplexing (TDM) scheme. In yet other implementations, it may use code division multiplexing (CDM). These alternative schemes are not further described herein.
In some implementations, for the mathematical treatment of a magnetic field based positioning system 600, coil excitation currents may be represented in vector form as:
where Ix′, Iy′, and Iz′ may refer to the peak or r.m.s. level. Current vectors may be also combined to a 3×3 current matrix:
Analogously, a 3×3 matrix may be also defined for the angular frequencies of the excitation currents:
In some implementations using FDM, the electric vehicle positioning subsystem drives the generator coils 702, 704, 706 each with equal peak or rms current levels so that
Ix′=Iy′=Iz′=I (9)
holds. In some other implementations, the electric vehicle positioning subsystem 364 drives the generator coils 702, 704, 706 each with an alternating (sinusoidal) current with an amplitude so that
φx′Ix′=φy′Iy′=φz′Iz′ (10)
holds.
In some implementations using FDM, induced voltage components vx′x(t), vx′y(t), vx′z(t), vy′x(t), vy′y(t), vy′z(t), vz′x(t), vz′y(t), and vz′z(t) may also be sinusoidally oscillating. In some implementations, phases of these voltage components as received from the x′-, y′-, and z′-magnetic fields have an equal phase shift of 90° with respect to the respective generator coil excitation currents ix′(t), iy′(t) and iz′(t). However, e.g., in some implementations in presence of a ground containing ferromagnetic steel, phase shifts may deviate from 90° to some extent.
In some implementations, the base positioning subsystem 362 employs phase synchronization to detect the nine voltage signal components vx′x(t), vx′y(t), vx′z(t), vy′x(t), vy′y(t), vy′z(t), vz′x(t), vz′y(t), and vz′z(t) as received via sense coils 712, 714, 716 of the 3-axis magnetic field sensor 366. For example, if the magnetic field based positioning system 600 includes the optional synchronization link 630, as previously described in connection with
In some implementations, the base positioning subsystem 364 determines a position and orientation of the sensor 366 relative to the generator 368 based on the nine detected voltages Vx′x, Vx′y, Vx′z, Vy′x, Vy′y, Vy′z, Vz′x, and Vz′z being indicative for the respective voltage signal components vx′x(t), vx′y(t), vx′z(t), vy′x(t), vy′y(t), vy′z(t), vz′x(t), vz′y(t), and vz′z(t) as received via sense coils 712, 714, 716.
In some implementations, each of the nine detected voltages Vx′x, Vx′y, Vx′z, Vy′x, Vy′y, Vy′z, Vz′x, Vz′y, and Vz′z represents a real value. In some other implementations, each of the nine detected voltages represents a complex value also referred to as a phasor.
The detected voltages (real or complex) may be represented as a triple of 3-dimensional (3D) voltage vectors as follows:
Alternatively, detected voltages may be represented as a 9-dimensional (9D) voltage vector as follows:
or, as a 3×3 voltage matrix as follows:
In some implementations, the base positioning subsystem 362 also determines a position of the sensor 366 relative to the generator 368 based on the absolute value of the dot product (i.e., the scalar product) of each unique combination of the 3D voltage vectors Vx′, Vy′, Vz′as defined by Equation (11), which may be represented as a 6D vector as follows:
The 3D voltage vectors Vx′, Vy′, Vz′ are dependent upon the orientation of the sensor 366 with respect to the generator 368. As such, the 9D voltage vector V′ which comprises the components of each of the voltage vectors Vx′, Vy′, Vz′ is also dependent upon the orientation of the sensor 366 with respect to the generator 368. By contrast, since the components of A′ are determined from the dot product of the 3D voltage vectors Vx′, Vy′, Vz′, vector A′ is orientation-independent, if the magnetic sensor 366 is isotropic.
Given physical restrictions as defined by Equation (2), a 3-axis magnetic field sensor 366 may be considered isotropic if the magnitude |V′| of the 9D voltage vector (12) remains constant or substantially constant for any (azimuthal) rotation of the magnetic field sensor 366 by an angle φ′ about its z-axis. If the magnetic field sensor 366 is substantially isotropic, the 6D absolute scalar product vector A′ is substantially invariant to rotation of the sensor 366 with respect to the generator 368.
In some implementations, the sensor 366 may not constitute a physical arrangement of orthogonal sense coils 712, 714, 716 such as shown by
In some implementations that rely only on relative phase synchronization as previously discussed (e.g., when the magnetic field based positioning system 600 lacks a synchronization link 630 between the electric vehicle positioning subsystem 364 and the base positioning subsystem 362), the detected 3D voltage vectors Vx′, Vy′, Vz′ may be ambiguous with respect to their polarity.
In some implementations, absolute polarity ambiguity may result in ambiguity in the position and/or orientation as determined by the magnetic field based positioning system 600. In addition, even in absence of absolute polarity ambiguity, magnetic field sensing may result in position and/or orientation ambiguity. The nature of this position and/or orientation ambiguity is inherent to the structure of magnetic fields.
{circumflex over (V)}′=V′+
(15)
where {circumflex over (V)}′ is the perturbed 9D voltage vector, V′ is the unperturbed voltage vector, and V′N is the noise vector. The noise vector V′N may be considered a vector random variable and may in some implementations be statistically described by a multi-dimensional (multivariate) probability distribution, e.g., a multivariate Gaussian distribution. For example,
=== . . . = (16)
In this case, the 9D probability distribution may be considered hyperspherical with a radius √{square root over (9)}σN.
Since the base positioning subsystem 362 determines the 6D absolute scalar product vector A′ as an absolute value of the dot product of components of the 9D vector V′, if V′ is perturbed, e.g., by additive noise that can be expressed using the 9D noise vector V′N, A′ may be similarly perturbed by noise according to the equation
Â′=A′+
(17)
where Â′ is the perturbed 6D vector, A′ is the unperturbed 6D vector, and is the 6D noise vector corresponding to the 9D noise vector A′N.
In some implementations, the perturbed vectors V′ and A′ may also be known as detection vectors, since any voltages detected by the base positioning subsystem 362 may be subjected to at least minimal noise and/or interference from the ambient environment and/or from the base positioning subsystem 362 itself
In some implementations, an unperturbed zero-rotated 9D voltage vector V′0 may be defined as the unperturbed 9D voltage vector V′ that results when the rotation angle φ′ of the sensor 366 with respect to the generator 368 is zero. If the sensor 366 is isotropic as defined above, the unperturbed 9D voltage vector V′ (φ′) as obtained with a sensor 366 having an arbitrary rotation angle φ′ and the unperturbed zero-rotated 9D voltage vector V′0 are related by the following matrix equation:
[V′(φ′)]=[Rφ′][V′0] (18)
where [Rφ′] denotes the rotation matrix defined as
The base positioning subsystem 362 may determine an estimate {circumflex over (V)}′0 of the unperturbed zero-rotated 9D voltage vector V′0 from a perturbed 9D detection vector V′ as obtained with a sensor 366 having an arbitrary rotation angle φ′ by utilizing the inverse of matrix equation (18) as follows:
[{circumflex over (V)}′0]=[Rφ′]T[{circumflex over (V)}′] (20)
where [·]T denotes the transposed of the rotation matrix defined by equation (19). The matrix operation as defined by Equation (20) is herein referred to as de-rotation and the matrix [{circumflex over (V)}′0] as a rotational transform of matrix [{circumflex over (V)}′]. This rotational transform of matrix [{circumflex over (V)}′] may be also denoted by [{circumflex over (V)}′(−φ′)].
V′=f′(r′, φ′) (21)
Similarly,
[r′, φ′]=f′−1(V′) (22)
Determining a valid unambiguous position and/or orientation relies on the mapping function f′ having a one-to-one relationship (i.e., an injective function). In other words, each position and orientation vector [r′, φ′] maps to a single voltage vector V′ and, reciprocally, each voltage vector V′ maps onto a single position and orientation vector [r′, φ′]. In some implementations of the 3-axis generator/3-axis sensor system of
Moreover, determining an accurate position and orientation may rely on the mapping function f′(·) and/or its inverse f′−1 being valid for a particular parking space and stable over time.
In some implementations, the mapping function f′ and/or its inverse f′−1 or portions thereof may be described by a mathematical (analytic) multidimensional function, e.g., based on magnetic monopole or dipole functions, polynomial functions, exponential functions, trigonometric functions, hypergeometric functions, Gaussian functions, etc.
In some other implementations, the mapping function f′ and/or its inverse f′−1 or portions thereof may be defined by a data structure such as a table function also referred to as a look-up table (LUT), such as that described in connection with
The output value strings of the mapping function f′ and the input value strings of the inverse mapping function f′−1 may be also referred to as reference vectors V′ regardless whether f′ and/or its inverse f−1 is implemented as an analytic or tabulated function (e.g., an LUT).
In some implementations, each position r′ and rotation angle φ′ associated to a reference vector V′ corresponds to a grid point in a limited position and orientation space 1100 as further described below. If the inverse mapping function is based on a LUT, the grid point spacing and the resulting number of reference vectors V′ may represent a trade-off between positioning accuracy and LUT size. If based on an analytic function, the grid point spacing and the resulting number of reference vectors V′ may relate to the numeric precision of the processor 2004 as described in connection with
The plurality of reference vectors V′ each associated to a position r′ and a rotation angle φ′ may be also referred to as a vector map regardless whether f′ and/or its inverse f′−1 is implemented as an analytic or tabulated function (LUT) or whether it is a finite or an infinite set.
In some implementations, the plurality of reference vectors V′ is obtained in a previous process of system calibration. This process of system calibration may involve computer simulations, e.g., using a finite element method (FEM), interpolation, approximation, regression using analytic methods, measurements in a controlled environment, and/or in-situ in a particular parking space using a real implementation of a magnetic field positioning system 600.
In some implementations, the base positioning subsystem 362 may determine a position and/or an orientation of the sensor 366 with respect to the generator 368 based on the inverse mapping function f′−1 according to Equation (22) using the detection vector {circumflex over (V)}′ as an input, which may be expressed as
[r′, φ′]=f′
−1({circumflex over (V)}′) (23)
If the inverse mapping function f′−1 is analytically defined, the base positioning subsystem 362 may compute a position and/or orientation using Equation (23) and a suitable numerical method.
The set of reference vectors V′ related to positions r′ and rotation angle φ′ by the mapping function f′ may occupy only a subspace of the voltage vector space. This may be particularly true if the dimensionality of the voltage vector space exceeds that of the position and rotation angle space (e.g., 9D vs. 4D) and if the position and rotation angle space itself is restricted. If the detection vector is perturbed, e.g., by additive noise as previously described, the detection vector {circumflex over (V)}′ may not belong to the set of reference vectors V′=f(r′, φ′). In such event, the inverse function f′−1 may not provide a solution at all or it may not provide a physically meaningful solution for r′, φ′. The likelihood for such an event may be high if the dimensionality of the voltage vector space 1150 exceeds that of the position and rotation space 1100 (e.g., 9D vs. 4D). In some implementations, even if the dimensionality of the two spaces is equal and the sensor's 366 true position and orientation is within the specified position and rotation angle space, the inverse function f′−1 may not always provide a solution, depending on the properties and structure of f′−1. In any case, if the detection vector is a perturbed version of a reference vector V′, a solution of f′−1 ({circumflex over (V)}′) may be considered an estimate of the sensor's 366 true position and orientation with respect to the generator 368 and may be expressed as
[{circumflex over (r)}′,{circumflex over (φ)}′]=f′
−1({circumflex over (V)}′) (24)
In some implementations, the base positioning subsystem 362 deduces a position and/or an orientation of the sensor 366 with respect to the generator 368 by first performing some non-linear operations on the detection vector {circumflex over (V)}′ so that a physically meaningful solution for r′, φ′ exists for any or at least for most perturbed detection vectors {circumflex over (V)}′. In some implementations using an isotropic sensor 366 as previously defined, such non-linear operation may include transforming the vector {circumflex over (V)}′ into a vector Â′, e.g., as defined by Equation (14). However, since such non-linear operations generally involve a loss of information, such implementations may not perform optimally in the sense of a best estimate {circumflex over (r)}′, {circumflex over (φ)}′ for the sensor's 366 true position and orientation, respectively.
In some implementations, the base positioning subsystem 362 may deduce a position and/or an orientation of the sensor 366 with respect to the generator 368 by first determining a closest match between a detection vector {circumflex over (V)}′ and the plurality of reference vectors V′ previously determined (calibrated) to correspond to particular sensor 366 positions r′ and rotation angles φ′ and then by assuming the position r′ and rotation angle φ′ associated to that reference vector V′ providing a closest match as a best estimate {circumflex over (r)}′ and {circumflex over (φ)}′ of the sensor's 366 true position and orientation with respect to the generator 368.
Using probabilistic terms, the reference vector of a plurality of reference vectors V′=f(r′, φ′) with the closest match to a detection vector {circumflex over (V)}′ may represent the reference vector of highest probability. Therefore, the position r′ and rotation angle φ′ associated to that reference vector of closest match may also represent the sensor's 366 position and orientation of highest probability. The position r′ and rotation angle φ′ associated to that reference vector of closest match may also represent a best estimate {circumflex over (r)}′ and {circumflex over (φ)}′ of the sensor's 366 true position and orientation, respectively.
If the detection vector {circumflex over (V)}′ is perturbed by additive noise with standard deviations as defined by equation (16), the base positioning subsystem 362 may use the Euclidean distance between two vectors as the metric for a closest match.
ε=|d|=|a−b|=√{square root over (Σi=1N(ai=bi)2)} (25)
where ai is the ith vector component of the vector a and b1 is the ith vector component of the vector b. Vector a may refer to a reference vector of the plurality of reference vectors V′=f(r′, φ′) and vector b to the detection vector {circumflex over (V)}′.
If equation (16) does not hold, meaning that standard deviations σN,i are unequal, the base positioning subsystem 362 may employ, instead of the Euclidean distance (Equation (25)), a weighted distance metric, e.g.:
where ai may refer to the ith component of the reference vector V′(r′, φ′) and bi to the ith component of the detection vector {circumflex over (V)}′ whose components bi are perturbed by an additive noise of zero-mean and standard deviation σN,i. In this case, the reference vector of a plurality of reference vectors V′(r′, φ′) having a minimum weighted distance εw to a detection vector {circumflex over (V)}′ may be considered the reference vector with closest match to the detection vector {circumflex over (V)}′.
In some implementations, the base positioning subsystem 362 employs one of an alternative distance metric, e.g., the squared Euclidean distance, an approximation of the Euclidean distance, a weighted distance metric in accordance with equation (26), or any other suitable distance metric. Descriptions of position and orientation finding processes below assume the standard Euclidean distance as defined by Equation (25) but should not be construed to be limited to that.
In some implementations based on a LUT, the process of determining a position and orientation as described above may require high amount of memory depending on the grid point spacing and the size of the specified position and rotation angle space. Therefore, in some implementations using an isotropic or substantially isotropic sensor 366 as previously defined, the base positioning subsystem 362 may use a LUT or other data structure storing a plurality of reference vectors V′0 previously determined (calibrated) to correspond to particular sensor 366 positions r′ but only for a single fixed rotation, e.g., the zero rotation (φ′=0) of the sensor 366 with respect to the generator 368. The plurality of reference vectors V′0 associated to positions r′ may be also referred to as a vector map for a fixed rotation of the sensor 366.
In some implementations using a LUT for reference vectors V′0, the base positioning subsystem 362 deduces a position and orientation of the sensor 366 with respect to the generator 368 by determining a shortest Euclidean distance between all combinations of a plurality of rotational transforms {circumflex over (V)}′(−φ′) of the detection vector {circumflex over (V)}′ and a plurality of reference vectors V′0 and then by assuming the position r′ and rotation angle φ′ associated to that reference vector V′0 providing a shortest Euclidean distance as a best estimate {circumflex over (r)}′ and {circumflex over (φ)}′ of the sensor's 366 true position and orientation relative to the generator 368, respectively.
In mathematical terms, a position of a plurality of discrete positions r′ may be expressed by position vector e′i,j,k=[rx′,i, ry′j, rz′,k]T, where indices i,j,k are integer numbers. Likewise, a respective angle of a plurality of discrete angles φ′ may be expressed by φ′l, where indices 1 are integer numbers. Using these definitions, the process of determining a position and rotation angle jointly based on the shortest (minimum) Euclidean distance e may be expressed in mathematical terms as
where |·| denotes the norm (magnitude) of a vector in the Euclidean space. The term “all” shall be understood as all iterations (combinations) of i, j, k, l over the number ranges as specified for a particular implementation. The position {circumflex over (r)}′ and rotation angle {circumflex over (φ)}′ as output by the process of equation (27) may represent a best estimate {circumflex over (r)}′ and {circumflex over (φ)}′ of the sensor's 366 true position and orientation, respectively, with respect to the generator 368. In some implementations, these estimates may include ambiguity in either the position or orientation or in both. The rotational transform {circumflex over (V)}′(−φ′l) (also known as de-rotation) of the 9D detection vector {circumflex over (V)}′ may be given by matrix equation (18) and may be expressed in the context of equation (27) as
[{circumflex over (V)}′(−φ′l)]=[Rφ′
In some implementations, the plurality of discrete positions r′i,j,k=[rx′,i, ry′,j, rz′,k]T may correspond to grid points in a limited 3D position space, which is referred to as the search space. The search space may be defined by the following ranges:
x′min<rx′,i<x′max,
y″min<ry′,i<y′max,
z′min<rz′,i<z′max (29)
where x′min and x′max denote the lower and upper limit of the x′-dimension of the search space, y′min, and y′max the lower and upper limit of its y′-dimension, etc. In some implementations, the grid may have a tight enough spacing so that it does not noticeably degrade the accuracy of the position estimates {circumflex over (r)}′ as determined by the base positioning subsystem 362 regardless of the sensor's 366 position. In some implementations, the grid points may be equally spaced. In some other implementations, the grid points are unequally spaced. For example, the grid points may have a spacing that increases with distance (radius) from the origin of the 3D position space according to some rule. In an exemplary implementation where physical restrictions for the sensor's 366 position as defined by Equation (1) applies, the ranges may be limited to x′min=−500 cm , x′max=500 cm, y′min=−300 cm, y′max=300 cm, z′min=−15 cm , z′max=−10 cm.
In some implementations, the plurality of discrete angles φ′l correspond to points in a 1D orientation angle space defined by the following ranges:
φ′min≦φ′l<φ′max (30)
where φ′min and φ′max denote the lower and upper limit of the angle space. The points of the angle space may have a tight enough spacing so that the accuracy of the rotation angle estimate {circumflex over (φ)}′ as determined by the base positioning subsystem 362 is not noticeably degraded regardless of the sensor's 366 position and orientation. In an exemplary implementation, the limits φ′min=−180°, φ′hd max=180°, and an equal point spacing of 1° applies.
In some implementations, the limits x′min, x′max, y′min, y′max, z′min, z′max, φ′min, and φ′max of the search space and the grid spacing are variable parameters and may depend, e.g., on previously found positions and orientation angle estimates, respectively.
In some implementations, the plurality of discrete positions r′i,j,k corresponds to grid points in a search space that is determined by a function of the 9D detection vector {circumflex over (V)}′. In some implementations, the base positioning subsystem 362 determines a 3D cylindrical search space centered about the origin of the generator's 368 coordinate frame that is limited by an inner radius ρ′x′,y′,min and outer radius ρ′x′,y′,max and by a z′-height range. This cylindrical search space may be defined as:
ρ′x′,y′,min<√{square root over (rx′,i2+ry′,i2)}<ρ′x′,y′,max,
z′min<rz′,i<z′max (31)
In some implementations, the base positioning subsystem 362 may determine the inner radius ρ′x′,y′,min and the outer radius ρ′x′,y′,max based on a value that is derived from the 9D detection vector {circumflex over (V)}′, e.g., on its magnitude |{circumflex over (V)}′|.
In some implementations, the search space may be limited to a quadrant or an octant of a 3D position space or to any other suitable subspace.
Depending on the number of grid points and the size of the search space, joint position and orientation finding may be extremely computationally intensive. To reduce computational load, the base positioning subsystem 362 may apply an alternative process that is described below and that may represent a trade-off between computational burden and positioning accuracy. This alternate process is a two-operation process comprised of a first operation that is an orientation-independent position finding process and a second operation that is a joint position and orientation finding process based on a limited number of candidate positions found in the first operation. This alternative process may be applied to a base positioning subsystem 362 with a sensor 366 that is isotropic or substantially isotropic as previously defined.
In the first operation, the base positioning subsystem 362 may first determine a number NC of candidate positions r′1, r′2, r′N
where |·| denotes the norm of a vector in the Euclidean space. The term “all” shall be understood as all iterations (combinations) of i,j,k over the number ranges as specified by a particular implementation. In some implementations, these ranges correspond to grid points in one octant of the 3D position space. In some embodiments, instead of identifying N, candidate positions having the smallest Euclidean distances εl, ε2, . . . , εN
In a subsequent (second) operation, the base positioning subsystem 362 may determine, amongst the set of Nc candidate positions r′1, r′2, . . . , r′N
If candidate positions have ambiguity, this second operation may include all positions corresponding to this ambiguity. If the 9D detection vector {circumflex over (V)}′ is also subject of a polarity ambiguity, iterations may include both polarities p=+1 and p=−1. The process of joint position and orientation finding amongst Nc candidate positions r′1, r′2, . . . , r′N
where |·| denotes the norm of a vector in the Euclidean space.
In some implementations, the above-described positioning processes may rely on the magnetic field sensor 366 being isotropic. In some implementations only the magnetic field generator 368 may be considered isotropic or substantially isotropic, e.g., in implementations where the base pad of the base wireless charging station 102a containing the magnetic field sensor 366 is larger than the vehicle pad of the electric vehicle coupler 116 containing the magnetic field generator 368 and wherein the vehicle pad is close to the base pad.
In such implementations where only the magnetic field generator 368 may be considered isotropic or substantially isotropic, the position and orientation finding processes described above may be performed by relying on the concept of an fictitious reversely transmitting system. In this fictitious system, position and orientation are determined in the sensor's 366 (base) coordinate frame.
The law of reciprocity of linear electrical networks states that the coupling between the generator coils 702, 704, 706 and the sense coils 712, 714, 716 and thus the mutual inductances between all coil combinations in the system 700 shown in
where, e.g., matrix element Mxy′ denotes the mutual inductance between the x-sense coil 712 and the y′-generator coil 704 and matrix element Mx′y between the mutual inductance between the x′-generator coil 702 and the y-sense coil 714 in connection with
Since magnetic field position and orientation finding may rely on the magnetic field coupling relationship (e.g., the mutual inductances) as previously discussed, the direction of transmission may be irrelevant. Thus, the above-described position and orientation finding processes may be performed using the concept of the fictitious reverse transmitting system 1700. In this fictitious system, position and rotation angles may refer to the generator's 368 (vehicle's) position and orientation, respectively, in the sensor's (base) coordinate frame having x-, y-, and z-axis.
In analogy to the definitions (6), (7), (8), (11), (12), and (13), vectors and matrices of the fictitious reverse transmitting system 1700 may be defined, for the current vectors:
for the 3×3 current matrix:
for the 3×3 angular frequency matrix of the fictitious current excitation:
for the 3D voltage vectors:
for the 3×3 voltage matrix:
and for the 9D voltage vector:
In some implementations, for a sinusoidal current excitation of the sense coils 712, 714, 716, the relationship between the three sense coil currents Ix, Iy, Iz and the resulting nine induced voltage components may be expressed in matrix form using definitions (34), (36), (37), and (39) as
[V]=[φ][M][I] (41)
Exciting sense coils 712, 714, 716 of the fictitious reverse transmitting system 1700 with the same currents and frequencies as the generator coils 702, 704, 706 in the real forward transmitting system 700, so that
[I]=[I′] (42)
and
[φ]=[φ′] (43)
holds, would result in the same nine induced voltage components, and the voltage matrices are related as follows:
[V]=[φ][M][I]=[φ′][M′]T[I′]=[V′]T (44)
Hence, the voltage components of the forward and reverse transmitting system are related as follows:
Vxx′=Vx′x,
Vxy′=Vy′x,
Vxz′=Vz′x (45)
Analogously to definition (14), the base positioning subsystem 362 may determine the absolute value of the dot product (i.e., the scalar product) of each unique combination of the 3D vectors Vx, Vy, Vz that also form the 9D voltage vector V to generate a 6-dimensional absolute scalar (dot) product vector A for the fictitious reverse transmitting system 1700 as follows:
As opposed to the 6D vector A′ defined by (14), this vector may become invariant to rotations of the generator 368 with respect to the sensor 366 in implementations where only the magnetic field generator 368 may be considered isotropic.
In analogy to equation (27), a process for determining a position and orientation jointly in the fictitious reverse transmitting system 1700 of
where V0(ri,j,k) denotes the 9D zero-rotated reference vector associated to position ri,j,k and {circumflex over (V)}(−φl) denotes the rotational transform of the 9D detection vector {circumflex over (V)} of the fictitious reverse transmitting system 1700 defined by (40). The rotational transform {circumflex over (V)}(−φl) may be defined in analogy to equation (28) by
{circumflex over (V)}(−φl)=[Rφ
where matrix [Rφ
The position estimate {circumflex over (r)} and rotation angle estimate {circumflex over (φ)} as output by the process of equation (47) may refer to the generator's 368 position and orientation in the sensor's 366 coordinate frame. In some implementations, position estimate {circumflex over (r)} and rotation angle estimate {circumflex over (φ)} as determined in the fictitious reverse transmitting system 1700 in the sensor's 366 coordinate frame may be transformed back to the generator's 366 coordinate frame using standard coordinate transformation given by the following equations
{circumflex over (r)}′=[R
{circumflex over (φ)}](−{circumflex over (r)}) (49)
{circumflex over (φ)}′=−{circumflex over (φ)} (50)
Matrix [R{circumflex over (φ)}] represents the rotation matrix and is defined analogously to definition (19).
Accordingly, in some implementations, the base positioning subsystem 362 may determine a position estimate {circumflex over (r)} and rotation angle estimate {circumflex over (φ)} of the generator 368 with respect to the sensor 366 using the concept of the alternate reverse transmitting system 1700 of
In a subsequent (second) operation, the base positioning subsystem 362 may determine, amongst the set of Nc candidate positions r1, r2, . . . , rN
In some implementations, the phase synchronization circuitry 2002 is configured to output a 9D detection vector every Tp seconds, e.g., Tp=200 ms. In some other implementations, the phase synchronization circuitry 2002 outputs a 9D detection vector {circumflex over (V)}′ in periods that depend on a magnitude |{circumflex over (V)}′| of the 9D detection vector {circumflex over (V)}′. For example, the 9D detection vectors {circumflex over (V)}′ may be output at a lower rate if the magnitude of the vectors are low, and at a higher rate if the magnitude of the vectors are high, according to some rule. Alternatively, the phase synchronization circuitry 2002 may adjust the output rate based on a signal-to-noise ratio (SNR) that may be defined as the ratio of the magnitude of the mean of the vector {circumflex over (V)}′ and the mean variance in its components (e.g., {circumflex over (V)}x′x, {circumflex over (V)}x′y, {circumflex over (V)}x′z, {circumflex over (V)}y′x, {circumflex over (V)}y′y, {circumflex over (V)}y′z, {circumflex over (V)}z′x, {circumflex over (V)}z′y, {circumflex over (V)}z′z). This may allow the phase synchronization circuitry 2002 to perform averaging (e.g., averaging over consecutively detected voltage vectors {circumflex over (V)}′) when the receive signal level and/or the SNR is low in order to increase the quality (SNR) of the 9D detection vectors {circumflex over (V)}′ as output by the phase synchronization circuitry 2002. In yet other implementations, the phase synchronization circuitry 2002 adjusts the output rate based on the estimated position {circumflex over (r)}′ or on a distance, e.g., ρ=|{circumflex over (r)}′|. For example, the phase synchronization circuitry 2002 may output 9D detection vectors {circumflex over (V)}′ at a lower rate if the position {circumflex over (r)}′ of the sensor 366 is far from the generator 368 and at a higher rate if the sensor 366 is close to the generator 368, according to some rule.
In some implementations, the phase synchronization circuitry 2002 is configured to additionally output information about the confidence of the detected voltage vector {circumflex over (V)}′, e.g., a noise variance, SNR, or similar quality information (not shown in
The memory 2010 may be configured to store information for use by either or both of the phase synchronization circuitry 2002 and the processor 2004. For example, the LUT 1600 of
The processor 2004 may be configured to receive the signals indicative for the detected voltage components {circumflex over (V)}x′x, {circumflex over (V)}x′y, {circumflex over (V)}x′z, {circumflex over (V)}y′x, {circumflex over (V)}y′y, {circumflex over (V)}y′z, {circumflex over (V)}z′x, {circumflex over (V)}z′y, {circumflex over (V)}z′z being indicative of corresponding voltages induced into the sense coils 712, 714, and 716 of
For example, in some implementations, the phase synchronization circuitry 2002 or the processor 2004 may be configured to determine a first detection vector {circumflex over (V)}′ having a first number of dimensions (e.g., 9D) based on the respective voltage signals vx(t), vy(t), vz(t) generated by the plurality of sense coils 712, 714, 716 (see
In some implementations, the processor 2004 may further be configured to determine a second detection vector Â′ having a second number of dimensions (e.g., 6D) less than the first number of dimensions (see
In some implementations, the processor 2004 may further be configured to select a plurality of stored first reference vectors A′(r′1), A′(r′2), . . . , A′(r′N
The processor 2004 may further be configured to select a plurality of stored second reference vectors V′0(r′1), V′0(r′2), . . . ,V′0(r′N
The processor 2004 may further be configured to rotationally transform the determined first detection vector {circumflex over (V)}′ by at least one predetermined rotation angle, e.g., φ′ (see Equation (28)).
The processor 2004 may further be configured to increment the at least predetermined rotation angle, e.g., φ′, by a predefined angle step and rotationally transform the determined first detection vector {circumflex over (V)}′ by the incremented rotation angle φ′ a plurality of times until a limit of a predetermined rotation angle range is reached (see Equation (30)).
The processor 2004 may further be configured to, for each of the rotationally transformed first detection vectors, determine a Euclidean distance ε between the rotationally transformed first detection vector {circumflex over (V)}′(−φ′) and each of the selected stored second reference vectors V′0(r′1), V′0(r′2), . . . , V′0(r′N
The processor 2004 may further be configured to determine a position and orientation of the sensor 366 with respect to the magnetic field generator 368 based on the selected stored second reference vectors V′0(r′) for which the determined Euclidean distance ε between the selected stored second reference vector V′0(r′) and any of the rotational transforms of the first detection vector {circumflex over (V)}′(−φ′) is a minimum (see
The processor 2004 may further be configured to interpret inputs as received from the phase synchronization circuitry 2002 as the 9D detection vector {circumflex over (V)} and to determine a position and orientation of the magnetic field generator 368 with respect to the magnetic field sensor 366 in the sensor's coordinate system using the concept of the alternate reverse transmitting system as previously described in connection with
Likewise,
Vector plots 2100 of
Against initial expectations, such metallic object 2308 may have a negligible impact on the position and orientation as determined by a magnetic field based positioning system 600 in accordance with some implementations described herein. A negligible impact may be also found for the wheels 2310 of the vehicle 406 and also for any other vehicle, e.g., parked on an adjacent parking space regardless of their position. This may be explained by the fact that magnetic fields may be able to easily get around a metallic object, e.g., metallic object 2308, if there exists a gap (duct) between obstructing metallic objects, such as between metallic object 2308 and the steel reinforcement 2306 as illustrated in
While the portion of the magnetic flux path 2320 from the sensor 366 to the generator 368 may be virtually unimpeded, the portion of the magnetic flux path 2320 as indicated on the right hand side of the base 408 may be affected by the steel reinforcement 2306 of the concrete wall 2304. In some implementations, an electrically conductive structure (e.g. steel reinforcement 2306) may set a boundary for magnetic fields resulting in significant field distortion with respect to a free-space field. Since magnetic field lines are closed lines, a field distortion due to the ferroconcrete wall 2306 may be also experienced on the opposite side of the base 408 where the vehicle 406 is located, albeit to a much lesser extent.
Distortion of low frequency alternating magnetic fields may be also caused by eddy currents induced into the conductive structure of a wall or a ground. For example, in some implementations, the steel reinforcement 2306 may form an electrically conductive mesh structure. At frequencies at certain ranges (e.g., in the 100 kHz range), eddy currents induced into such conductive mesh structure of steel reinforcement 2306 with the ferroconcrete wall 2304 may generate a secondary magnetic field that may cancel out at least a portion of magnetic field components perpendicular to the plane of the mesh structure, causing shielding or field distortion effects.
In some implementations, field distortion effects such as those due to the presence of a ferroconcrete wall 2304 as illustrated in
In some implementations, the field distortion effect at point P may be quantified by the ratio between the magnitudes of the image vector
where ρ and
The image source model may also apply to scenarios with a ferroconcrete ceiling (not shown), if the ceiling can be modelled by an infinite conducting plane, wherein the image source would appear approximately at double ceiling height.
In some implementations, the image source model may also apply to a forward transmitting system generating magnetic fields on the vehicle 406 and sensing the fields in the base 408. Due to the law of reciprocity of magnetic field coupling, the resulting field distortion factor |
In addition, a simple image source model based on an infinite conducting plane as described above may not apply in areas with substantial inhomogeneity, e.g., in parking grounds where there is substantial inhomogeneity in the steel reinforcement 2402 of the ground 2302, or where the steel reinforcement 2402 terminates in the vicinity of the magnetic field generator 368 or of the magnetic field sensor 366.
To streamline terminology, a position and orientation (rotation angle) of a body or a coordinate frame may be referred to as the “pose” of the body or the “pose” of the coordinate frame. Correspondingly, a sequence of consecutively determined poses of a moving vehicle 406, each comprised of a position vector r and rotation angle φ, may be called a “pose trajectory”. In some implementations, where physical restriction as defined by Equation (2) applies, a pose may be expressed as a 4D vector, e.g.:
Correspondingly, a pose trajectory may be expressed as a series (sequence) of pose vectors Xi, where index i refers to the i-th vector of the series of pose vectors.
In some implementations, assuming the base 408 is fixed on the ground, the pose of the base coordinate frame 2630 is normally also fixed and may be defined, e.g., in a world coordinate system (not shown in
In some implementations, data from wheel sensors 2720 and steering angle sensor 2716 can be used to determine a relative pose or a relative pose trajectory of the vehicle 406 in a relative coordinate frame, e.g., in the initial reference frame 2610 using dead reckoning methods. However, in some implementations, data from sensors 2720 and 2716 may not allow determining an absolute pose or an absolute pose trajectory in an absolute coordinate frame, e.g., the base coordinate frame 2630. Similarly, data obtained from the inertial sensors 2712, which may measure linear acceleration and angular velocity with respect to an initial pose of the vehicle 406, may in some implementations be used to determine a relative pose or a relative pose trajectory instead of an absolute pose or absolute pose trajectory.
A relative pose or a relative pose trajectory, e.g., in an initial reference frame 2610, can be also determined upon data obtained from optical systems, e.g., visible light camera 2719, IR camera 2718 or LIDAR system 2724, using computer vision and dead reckoning methods (also referred to as visual odometry). Such methods may be based on feature extraction and feature tracking in sequential video data (camera images) for determining a relative pose or a relative pose trajectory, and may rely on a majority of features originating from objects (structures) being at least temporarily static with respect to the base 408 and that can be unambiguously tracked over consecutive images. Such objects may include natural objects such as walls, pillars, parking place (road) markings in the environment of a parking space, the base 408 itself, and one or more artificial objects (targets) disposed for the purposes of vehicle positioning. Artificial targets may include pictures, pictograms, marks, signs, tags, and/or other objects that are otherwise distinctive and suitable for determining a relative pose of the vehicle 406 using visual odometry methods. Furthermore, in some implementations, such targets may be highly reflective for visible light, infrared light, or for any other wavelength. In some embodiments, an artificial target may be actively radiating and signaling electromagnetically or acoustically at some wavelength. These one or more targets may be deployed on the ground, on walls, suspended from the ceiling of a park garage, or disposed on poles, pillars, etc. preferably at locations where they are well and consistently visible by the vehicle 406 onboard optical systems.
In some implementations, depending on the optical system configuration, visual odometry methods may require supplementary data from wheel sensors 2720 and/or inertial sensors 2712, e.g., for purposes of length scaling (e.g., in meter units) and/or for improved accuracy. A visual odometry method augmented with data from inertial sensors may be referred to as visual inertial odometry.
In some implementations, if the position and/or pose of some distinctive objects in the environment of a parking space is well determined, e.g., in the base coordinate frame 2630, data obtained from optical systems such as visible light camera 2719 can be principally used for determining an absolute pose or an absolute pose trajectory of the vehicle 406. For example, in some situations one or more distinctive artificial targets may be disposed at locations providing a sufficient basis for triangulation and non-obstructed line of sight. When the absolute position and/or pose of these one or more targets are precisely known, e.g., in the base coordinate frame 2630, the position and/or pose of the targets may be used by any vehicle 406 equipped with the appropriate optical sensors and systems for determining an absolute pose, e.g., in the base coordinate frame 2630. This may include vehicles parking for the first time with a positioning system not specifically trained for a particular parking space.
In some areas, such as open area parking lots where there are neither walls nor ceiling and where the ground may be snow clad, the deployment of artificial targets may be considered unpractical, impedimental or non-esthetical. In this case, in some implementations, data obtained from visible light camera 2719 and LIDAR system 2724 may be used for creating an electronic 3D map of the environment of a parking space. Such 3D map may include features originating from natural objects, landmarks and structures that are well visible, enough distinctive, and fixed with respect to the base 408. The 3D map may be produced in a manner and format so that it can be used for a majority of vehicles 406 equipped with the appropriate systems and sensors. This may include vehicles 406 parking for the first time with a positioning system not specifically trained, learned or conditioned for this particular parking space.
However, in some environments and circumstances, a 3D map based computer vision method may not perform reliably with adequate positioning accuracy, e.g., as specified above in connection with
In some implementations, data obtained from magnetometers 2714 measuring strength and direction of the earth's magnetic field may be principally used for determining an absolute orientation of the vehicle 406 in an absolute coordinate frame, e.g., the base coordinate frame 2630. However, large ferromagnetic objects such as the vehicle 406 itself, vehicles parked adjacent, and/or steel reinforcements in ferroconcrete building structures may distort (deflect) a static magnetic field resulting in orientation errors. In theory, data from the magnetometer 2714 may be corrected using location specific calibration data. In practice however, the earth magnetic field at the magnetometer's 2714 location may not be stable enough due to the dynamics of vehicles arriving or leaving. However, in some implementations, data from magnetometers 2714 may help to improve a relative pose estimate, e.g., as determined by means of inertial sensors 2712 in an inertial reference frame 2610.
In some implementations, a satellite positioning system 2722 may be used to determine an absolute position in a world coordinate system that may be in a fixed relationship to the base coordinate frame 2630 (e.g., using signals from a global navigation satellite system (e.g. GPS)). However, in some implementations, the use of satellite based positioning may be restricted to an open area space (OAS) environment.
Moreover, satellite based position often cannot determine an orientation of the vehicle 406, unless at least two well separated satellite positioning receivers are installed aboard the vehicle 406. However, even with two receivers, orientation accuracy may be too low, since receiver separation on a vehicle 406 may be limited. In addition, in some implementations, the positioning accuracy of a real time satellite positioning system 2722 on a moving vehicle may be insufficiently precise for determining a useful pose of the vehicle 406 relative to the base station 408 (e.g., positioning accuracy of 15 m, which is far from the positioning accuracy values specified by example in connection with
In outdoor parking lots, data from a satellite positioning system 2722 augmented as described above may be fused with data from other vehicle onboard sensors and systems for determining an improved absolute or relative pose estimate. Data from the satellite positioning system 2722 may be also used for guiding a vehicle 406 to a parking space that is equipped with a base wireless charging system 102a.
In some implementations, vehicles 406 may be also equipped with other systems dedicated for local area (indoor) positioning. For example, some vehicles may be equipped with one or more ultra wide band (UWB) transceivers 2731 as indicated in
In some implementations, broadband cellular radio networks (e.g., based on CDMA, LTE) may support positioning (localization) of user terminals, e.g., for the safety of subscribers, location based services, etc. Therefore, data from a vehicle based cellular radio terminal 2729 may also serve for determining an absolute position. However, the accuracy of cellular network based positioning, e.g., by measuring time of arrival (ToA) of radio signals and trilateration may be strongly impaired by signal propagation effects. This is mainly true indoors and outdoors if the direct signal path is obstructed, e.g., by buildings and terrain. In some implementations, achievable positioning accuracy may be typically in the order of 100 m, which may not be sufficient for determining a pose of the vehicle 406 relative to the base station 408. Future cellular radio networks providing higher cell density and significantly more bandwidth may potentially allow absolute positioning with higher accuracy also in parking garages if e.g. microcell base stations are installed.
In some implementations, wireless local area network (WLAN) access points may be installed in outdoor parking lots and parking garages, e.g., for communications related to electric vehicle charging. Therefore, data from a vehicle onboard WLAN terminal 2730, e.g., serving as part of the electric vehicle communication subsystem 374, may also be used for determining an absolute position. As with cellular network based positioning, WLAN based positioning, e.g., using ToA and trilateration, may suffer from signal propagation effects. However, similarly as with the satellite positioning system 2722, data from cellular network terminal 2729 and WLAN terminal 2730 may be fused with data from other vehicle onboard sensors and systems for determining an improved absolute or relative pose estimate and for guiding a vehicle 406 to a parking space that is equipped with a base wireless charging system 102a
In some implementations, data obtained from microwave RADAR 2728 and ultrasonic sensors 2726 as used for the safety of parking may also serve to improve reliability, accuracy and the safety of vehicle positioning.
The sequence of relative position estimates 2802 may refer to consequent outputs of a relative positioning processor 3204 as described in connection with
The sequence of absolute position estimates 2902 may refer to consequent outputs of an absolute positioning processor 2004 as described in connection with
In some implementations, to improve positioning accuracy in presence of field distortion effects, e.g., as previously described in connection with
The absolute positioning processor 2004 may be configured to receive signals indicative for the voltage vector {circumflex over (V)}, e.g., as detected by the phase synchronization circuitry 2002 operationally connected to the magnetic field sensor 366 as previously described in connection with
The relative positioning processor 3204 is configured to receive a plurality of signals indicative for data from various vehicle based auxiliary systems and sensors as described in connection with
The combiner 3208 is configured to receive signals indicative for the absolute pose estimate {circumflex over (V)}a and the corresponding relative pose estimate {circumflex over (Z)}r, e.g., every Tp seconds, to process these two inputs in a manner so to output signals indicative for a potentially improved absolute pose estimate {circumflex over (X)}a, e.g., every Tp seconds. For this purpose, the combiner 3208 may use a model of the vehicle 406. The model may include geometrical data of the vehicle such as position of the wheels, the position of the magnetic center of the magnetic field generator 368 and the positions of other auxiliary onboard sensors as used for determining relative pose estimates {circumflex over (Z)}r. In some implementations, the combiner 3208 is also configured to receive signals indicative for vehicle model parameters K, e.g., via communication link 376 as indicated by the dashed arrow in
In some implementations, the vector map processor 3206 may be configured to receive signals indicative for the absolute pose estimate {circumflex over (V)}a, the corresponding relative pose estimate {circumflex over (Z)}r, the corresponding absolute pose estimate {circumflex over (X)}a, as well as the corresponding voltage vector {circumflex over (V)}. In some implementations, it is also configured to receive confidence information about pose estimates {circumflex over (X)}a, Ŷa, {circumflex over (Z)}r and voltage vector {circumflex over (V)} (not shown in
The memory 2010 is configured to store a current vector map. In some implementations, the memory 2010 is configured to store a current vector map comprised of a plurality of reference vectors V0,k and Ak in the form of a LUT, e.g., in accordance with LUT 1600 of
In some implementations, the process of modifying of a current vector map V0,k, Ak to a new vector map V0,k+1, Ak+1 may be considered as improving, correcting, updating or adapting a vector map to better match with the vectors {circumflex over (V)} and  as detected by the base positioning subsystem 362 on a particular parking space in a particular environment.
In some implementations, the process of modifying a current vector map V0,k, Ak to a new vector map V0,k+1, Ak+1 may be considered as part of a training or learning process and may be referred to as a learning cycle.
In some implementations, a learning process may start with an initial (default) vector map V0,0, A0 that is loaded into the memory 2010 of the base positioning subsystem 362 e.g. by the installer of the base wireless charging system 102a of
In some implementations, the learning process may require several learning cycles until the accuracy of the magnetic field based positioning system 600 meets the specifications at all locations of a particular parking space where a vehicle 406 can be found.
In some implementations, the vector map processor 3206 may be configured to produce a new vector map V0,k+1, Ak+1 based upon sequences of absolute pose estimates Ŷa, corresponding relative pose estimates {circumflex over (Z)}r, corresponding detected voltage vectors {circumflex over (V)}, and based upon the current vector map V0,k as stored in the memory 2010.
In some implementations, the sequences of Ŷa, {circumflex over (Z)}r, and {circumflex over (V)} may refer to recorded sequences of consecutive outputs of absolute positioning processor 2004, relative positioning processor 3204, and phase synchronization circuitry 2002 of
In some implementations, sequences Ŷa, {circumflex over (Z)}r, and {circumflex over (V)} may be obtained on special test (learning) drives, e.g., performed by the system installer using a vehicle 406 that is specially equipped with auxiliary systems and sensors as previously described in connection with
In some other implementations, sequences Ŷa, {circumflex over (Z)}r, and {circumflex over (V)} may be obtained during ordinary parking maneuvers as performed by users, e.g., for the purpose of wireless charging using their own vehicle 406 equipped with systems and sensors as previously described in connection with
In some implementations, modifying a vector map V0,k, Ak may be accomplished in a four-operation process. In a first operation, the vector map processor 3206 uses a sequence of absolute pose estimates Ŷa as received from the absolute position processor 2004 and a corresponding sequence of relative pose estimates {circumflex over (Z)}r as received from relative positioning processor 3204 to produce a new sequence of absolute pose estimates {circumflex over (Z)}a (not shown) whose accuracy is potentially higher than the accuracy of corresponding absolute pose estimates Ŷa. In a second operation of modifying the vector map, the vector map processor 3206 compares a rotational transform of detected voltage vectors {circumflex over (V)} corresponding to the sequence of absolute pose estimates {circumflex over (Z)}a with reference vectors V0,k. The reference vectors V0,k may be selected from the stored vector map (e.g., stored as an LUT such as LUT 1600) at a coordinate point entry closest to the position given by corresponding absolute pose estimate {circumflex over (Z)}a. The angle applied for rotationally transforming (de-rotating) a detected voltage vector {circumflex over (V)} may be the negative value of the angle given by the corresponding absolute pose estimate {circumflex over (Z)}a. This comparison may include determining a deviation of the rotationally transformed detection vector from a corresponding reference vector for each selected reference vector V0,k. In a third operation, the vector map processor 3206 may use this deviation for determining a modification (correction) function and may apply this modification function to modify the current vector map V0,k, Ak and to create a new vector map V0,k+1, Ak+1 in a fourth operation. Exemplary implementations of this four-operation process is described below in more detail.
In some implementations, the first operation of modifying a vector map capitalizes on the particular pose error statistics of the absolute pose estimates {circumflex over (V)}a and of the relative pose estimates {circumflex over (Z)}r. In some implementations and scenarios referring to
In some implementations, the vector map processor 3206 applies a weighted least mean square (LMS) criterion to find the best fit. For a mathematical description of the weighted LMS fitting process, the following definitions (53) and (54) for the vectors Ŷa and {circumflex over (Z)}r may be used. The i-th vector of a sequence of 3D absolute pose estimate vectors Ŷa may be defined as
where indices xa, ya, φa refer to the x-, y-dimension and to the rotation angle (φ-) dimension of the absolute coordinate frame 2900, respectively. Analogously to Equation (55), the i-th vector of a sequence of 3D relative pose estimate vectors {circumflex over (Z)}r may be defined as
where indices xr, yr, φr refer to the x-, y-, and rotation angle (φ-) dimension of the relative coordinate frame 2800, respectively. The above definitions (57) and (58) ignore the z-components Ŷz
Using standard coordinate transform, the i-th vector of a transformed sequence of 3D pose estimates {circumflex over (Z)}a as previously described may be expressed as a function of a translation vector r and a rotation angle φ as follows:
where rx and ry refer to the x- and y-component of the translation vector r. Using above definitions (60), (61), and (59), the first operation of the weighted LMS based fitting of two pose sequences Ŷa and {circumflex over (Z)}a(r, φ) may be expressed in some implementations as
where wx,i, wy, i, and wφ, i denote the weighting factors for the square of the x-, y, and φ-component of the i-th vector difference Ŷa,i-{circumflex over (Z)}a,i(r, φ), respectively, and imin and imax a lower and an upper limit, respectively, for the index i. The term “min r, φ” means searching for the minimum over the parameter space r, φ as specified for a particular implementation. The outcomes {circumflex over (r)}0, {circumflex over (φ)}0 of Equation (62) may be considered as the best estimate of the true absolute pose r0, φ0 of the relative coordinate frame 2800 in the absolute coordinate frame 2900 as previously described in connection with
In some implementations, the minimum search in Equation (62) is performed over a parameter search space r, φ in which the true absolute pose of the relative coordinate frame 2800 is expected. Further, the minimum search may be performed only with a portion of the sequences Ŷa and {circumflex over (Z)}a,i, where the absolute pose estimates Ŷa are expected to be potentially accurate. This portion is expressed in equation (62) by a lower limit imin and an upper limit imax for the index i.
In some implementations, the weighting factors wx,i, wy,i, and wφ,i may be determined based on the statistical variances σx
In some implementations, an equal variance expressed as
σa,i2=σx
σr,i2=σx
may be assumed for the x- and y-component of vector Ŷa,i and vector {circumflex over (Z)}r,i, respectively, and the weighting factors may be determined as follows:
where σi2 and σφ,i2 denote the sum variances σa,i2+σr,i2 and σφ
In some implementations, estimates {circumflex over (σ)}i2 and {circumflex over (σ)}φ,i2 of the sum variances σi2 and σφ,i2, respectively, may be determined based upon the residual vector differences Ŷa,i-{circumflex over (Z)}a,i({circumflex over (r)}0, {circumflex over (φ)}0) as obtained from a series of weighted LMS processes as described above and expressed by Equation (62).
In some implementations, the vector map processor 3206 may determine estimates for r0, φ0 using a sequential approach. In a first step, the vector map processor 3206 determines a provisional estimate φ0 based only upon the φ-components of vectors Ŷa,i and {circumflex over (Z)}a,i according to
In a second step, the vector map processor 3206 may determine a final estimate {circumflex over (r)}0, {circumflex over (φ)}0 jointly according to the process as described by Equation (62) by applying a reduced search range for the parameter φ based upon the provisional estimate, e.g., {tilde over (φ)}0-δφ≦φ≦{tilde over (φ)}0+δφ, where the half width of the search interval δφ is sufficiently large to find the best estimate {circumflex over (φ)}0 with a high probability. In some implementations, the vector map processor 3206 may choose δφ=0.
In some implementations, to streamline equations of the second operation of modifying a vector map, the following simplified notation is introduced for the (improved) absolute pose estimates {circumflex over (Z)}a,i({circumflex over (r)}0, {circumflex over (φ)}0) as given by Equation (62):
In some implementations, the vector map processor 3206 performs the second operation by comparing a rotational transform {circumflex over (V)}i(−{circumflex over (φ)}i) of each vector {circumflex over (V)}1 of a sequence of detected voltage vectors {circumflex over (V)} corresponding to the sequence of absolute pose estimates {circumflex over (r)}x,i, {circumflex over (r)}y,i, {circumflex over (φ)}i with a reference vector V0,k. For this comparison, the vector map processor 3206 selects from the vector map stored in memory 2010 (e.g., LUT 1600) the current reference vector V0,k at a coordinate entry closest to the position {circumflex over (r)}x,i, {circumflex over (r)}y,i. This reference vector may be simply denoted by V0,k({circumflex over (r)}x,i, {circumflex over (r)}y,i).
In some implementations, the vector map processor 3206 compares the vectors 2132 and 2134 to determine a modification (correction) function that may be applied to a current vector map V0,k to better match with the actual voltage vectors {circumflex over (V)} as detected in a particular parking space. In some implementations, the vector map processor 3206 determines, for each vector {circumflex over (V)}i of a sequence of detected voltage vectors {circumflex over (V)}, a difference vector between its rotational transform {circumflex over (V)}i(−{circumflex over (φ)}i) and the corresponding reference vector V0,k({circumflex over (r)}x,i, {circumflex over (r)}y,i) selected from the LUT as follows:
{circumflex over (d)}
i({circumflex over (r)}x,i, {circumflex over (r)}y,i)=Δ{circumflex over (V)}i={circumflex over (V)}i(−{circumflex over (φ)}i)−V0,k({circumflex over (r)}x,i, {circumflex over (r)}y,i) (69)
The difference vector Δ{circumflex over (V)}i may be also referred to as the measured deviation vector denoted by {circumflex over (d)}i. Again, the hut accent shall signify that this measured deviation vector {circumflex over (d)}i is generally a perturbed version of the true deviation vector di, since it is determined upon a generally perturbed detection vector {circumflex over (V)}i, and furthermore upon a reference vector V0,k corresponding to a position estimate {circumflex over (r)}=({circumflex over (r)}x,i, {circumflex over (r)}y,i) that is generally subjected to some error. The true deviation vector di({circumflex over (r)}x,i, {circumflex over (r)}y,i) may be considered as the field distortion effect as caused by the environment at coordinate point {circumflex over (r)}x,i, {circumflex over (r)}y,i and that needs to be determined (estimated) using measurement data that is subjected to errors. In some implementations, the error vector in the i-th measured deviation vector {circumflex over (d)}i may be expressed in mathematical terms as
εi={circumflex over (d)}i−di({circumflex over (r)}x,i, {circumflex over (r)}y,i) (70)
In some implementations, the vector map processor 3206 may determine an estimate of the deviation vector di for each vector {circumflex over (V)}i of a sequence of detected voltage vectors {circumflex over (V)} as follows:
Above definition (71) may be referred to as the normalized difference vector.
In some implementations, the vector map processor 3206 may determine a deviation vector estimate {circumflex over (d)}1 as the quotient of vector {circumflex over (V)}i(−{circumflex over (φ)}i) and reference vector V0,k ({circumflex over (r)}x,i, {circumflex over (r)}y,i) as follows:
The quotient vector q of two N-dimensional vectors a and b in the Euclidean space N may be defined in analogy to the quotient of two complex numbers in the complex number space , which may be also represented in spherical coordinates as the quotient of the radial coordinates (magnitudes) and the difference of the angle coordinates. This concept may be extended to the N-dimensional vector space by representing vectors a and b in hyperspherical coordinates
a=(|a|,α1, α2, . . . , αN)T (73)
b=(|b|, β1, β2, . . . , βN)T (74)
where α1, α2, . . . , αN and β1, β2, . . . , βN refer to the angle coordinates. Using definitions (73) and (74), the quotient q of two N-dimensional vectors in N may then be expressed as
For N=3 the quotient may be also represented as a quaternion in a 4D complex number space 4 having one real and three imaginary components (1, i,j,k) where i, j, k refer to different roots of −1. For N=7 the quotient may be also represented as an octonion in an 8D complex number space 8 having one real and seven imaginary components referring to different roots of −1. Complex number representation may circumvent issues with modulo 2π leaps in the angle coordinates of a hyperspherical vector representation, e.g., if deviation vector data is used for determining a modification function as described below in connection with
In some implementations, the vector map processor 3206 may determine a deviation vector individually for each of the 3D voltage vectors {circumflex over (V)}x,i, {circumflex over (V)}y,i, {circumflex over (V)}z,i (see Equation (38)) as the vector quotient
and by representing each vector quotient by a quaternion in 4 as described above.
In the third operation, the vector map processor 3206 may use the deviation vectors {circumflex over (d)}i({circumflex over (r)}x,i, {circumflex over (r)}y,i) as determined in the second operation, e.g., in accordance with one of the Equations (69), (71), (72), and (76), to determine a multi-dimensional modification (correction) function C(r) for modifying the current vector map V0,k (r) to a new vector map V0,k+i.
In some implementations, the vector map processor 3206 determines the modification function C(x, y) based on at least one deviation vector d. In some implementations, the vector map processor 3206 determines the modification function C(x, y) based on a plurality of deviation vectors {circumflex over (d)}i. In some implementations, the plurality of deviation vectors {circumflex over (d)}i may refer to at least one sequence of deviation vectors {circumflex over (d)} determined on a drive, e.g., with the vehicle 406 along a trajectory 2602.
In some implementations, the vector map processor 3206 determines the modification function C(x, y) using a functions fitting process. A functions fitting process may used for both smoothing (filtering) and prediction. Smoothing may be useful because the measured deviation vectors {circumflex over (d)}i may be subjected to errors εi as previously discussed. Prediction of the deviation vector d may be required at locations (areas) not covered by the one or more driving trajectories 2602 and where consequently no measured deviation vector data is available. Smoothing may be particularly useful if all components of the true deviation vector function d(x, y) vary slowly over x and y, meaning that the gradient
is small.
In some implementations, the vector map processor 3206 may employ a functions fitting process based on interpolation assuming that measured deviation vector data is error free. In some other implementations, the vector map processor 3206 may employ a functions fitting process based on regression, e.g., a linear regression, or non-linear regression, assuming that the measured deviation vector data is subjected to errors (noise) as previously described. In some implementations, the vector map processor 3206 may employ polynomial regression based on a polynomial of n-th order and ordinary least squares. In some implementations, the vector map processor 3206 employs a Gaussian process regression method modelling the components of the true deviation vector function d(x, y) as an outcome (realization) of a 2D Gaussian random process. This 2D Gaussian random process may be statistically defined by a mean function μd(x, y) and covariance function κd(Δx, Δy), where Δx and Δy denote the difference of the x- and y-coordinates, respectively, of two arbitrary points in the x,y-plane. In some implementations, Gaussian process regression may also include a statistical model for measurement errors ε1 in deviation vector data {circumflex over (d)}i, e.g., a Gaussian model defined by a mean function με(x, y) and covariance function κε(Δx, Δy).
In some implementations, the vector map processor 3206 may select a realization of the 2D Gaussian process, which may substantially correspond to a most likely realization given the set of measured deviation vectors d1, mean and covariance functions μd(x,y), με(x,y) and κε(Δx, Δy), κε(Δx, Δy), respectively, and uses this realization as the modification function C(x, y).
In some implementations, the vector map processor 3206 may also estimate mean and covariance functions μd(x, y), με(x, y) and κd (Δx, Δy), κε(Δx, Δy), respectively, based on a plurality of measured deviation vectors d1. In some implementations, each component of the multi-dimensional (e.g., 9D) covariance function can be modelled by a 2D Gaussian function (bell-shaped surface). The Gaussian correlation function of the deviation vector d(x, y) may be expressed e.g. for the xx′-component as
where σd
In some implementations, the vector map processor 3206 also estimates the set of hyper parameters λ, e.g., using a gradient search method maximizing the marginal likelihood as follows:
where {circumflex over (d)} denotes the set of measured deviation vectors as available for this process of estimation and {circumflex over (r)} the set of corresponding positions. The vector map processor 3206 may perform this process of hyper parameter estimation component-wise. In some other implementations, the vector map processor 3206 estimates the set of hyper parameters λ using a grid search method.
In some parking spaces, the correlation lengths lx,d
In the fourth operation, the vector map processor 3206 may apply the modification function C(x, y) as determined by the third operation to modify the current vector map V0,k(r) as read from memory 2010 and to produce a new vector map V0,k+1(r) and/or Ak+1(r) that is written into memory 2010. Reference vectors Ak+1(r) may be obtained from reference vectors V0,k+1(r) according to Equations (46) and (40).
In some implementations, if C(x, y) is based on the normalized deviation vectors {circumflex over (d)}i as defined by Equation (71), the vector map processor 3206 may de-normalize the modification function C(x, y) before applying it to the vector map V0,k(r). In some implementations, the fourth operation of vector map modification may be expressed by
V
0,k+1(r)=V0,k(r)+|V0,k(r)|·C(r) (79)
where r refers to the position entries as defined by a LUT e.g. in analogy to LUT 1600 of
If C(r) is based on a complex quotient {circumflex over (d)}1 e.g. as defined by Equation (72), the operation of vector map modification may be expressed as
V
0,k+1(r)=C(r)V0,k(r) (80)
where {circle around (×)} signifies a multi-dimensional complex number multiplication.
In some implementations, while the vector map processor 3206 can potentially improve a vector map V0,k(r) “offline” using past voltage vector and pose data recorded, e.g., during one or more test (learning) drives as described above. In some implementations, the combiner 3208 as illustrated in
In some implementations, the combiner 3208 determines a potentially improved pose estimate {circumflex over (X)}a based upon the absolute pose estimate Ŷa, relative pose estimate {circumflex over (Z)}r, and the set of vehicle model parameters K by finding a pose Xa that is substantially the most probable given pose estimates Ŷa, {circumflex over (Z)}r, vehicle parameters K, and a statistical model, e.g., defined by a conditional probability function p(Xa|Ŷa, {circumflex over (Z)}r, K). The pose estimate {circumflex over (X)}a may be determined by maximizing the conditional probability function p(Xa|Ŷa, {circumflex over (Z)}r, K) over a range of Xa where the true pose is expected. In mathematical terms, this may be expressed as
The pose Xa that maximizes p(Xa|Ŷa, {circumflex over (Z)}r; K) may be considered a best estimate {circumflex over (X)}a of the generator's 368 pose in the sensor's 366 coordinate frame.
In other implementations, the combiner 3208 may determine a potentially improved pose estimate {circumflex over (X)}a,i upon the absolute and relative pose estimates {circumflex over (V)}a,i, {circumflex over (Z)}r,i, the vehicle model parameters K, as well as upon at least one past absolute and relative pose estimate Ŷa,i−1, {circumflex over (Z)}r,i−1, where the index i refers to the sequence counter. The combiner 3208 may determine a pose estimate {circumflex over (X)}a,i by finding a pose Xa that is substantially the most probable given at least pose estimates Ŷa,i, Ŷa,i−1, {circumflex over (Z)}r,i, {circumflex over (Z)}r,i−1, vehicle parameters K, and a statistical model, e.g., defined by a conditional probability function p(Xa,i|Ŷa,i, Ŷa,i−1, {circumflex over (Z)}r,i, {circumflex over (Z)}r,i−1; K). For example, finding the pose estimate {circumflex over (X)}a,i may be accomplished by maximizing the conditional probability function over a range of Xa where the true pose is expected. In mathematical terms, this may be expressed as
The pose Xa that maximizes p(Xa|Ŷa,i, Ŷa,i−1, {circumflex over (Z)}r,i{circumflex over (Z)}r,i−1; K) may be considered a best pose estimate {circumflex over (X)}a under the constraints of available absolute and relative pose data.
In some implementations, the combiner 3208 employs Bayesian filtering assuming a linear Gaussian state space model. More specifically, the combiner 3208 may use a Kalman filter or a similar filter suitable for fusing and filtering streams of input (pose) data.
In some other implementations, the combiner 3208 employs an extended Kalman filter or a particle filter assuming a non-linear and/or non-Gaussian state space model. Such assumption may be justified e.g. by outliers in streams of pose estimates Ŷa due to pose ambiguity issues as previously described e.g. in connection with
In some implementations, data fusion and filtering as performed by combiner 3208 relies on a spatial pose data history rather than on a temporal pose data history. This may be accomplished by fusing and filtering of pose data at a variable update rate, e.g., proportional to an estimated speed of the vehicle 406. For example, if the estimated speed of the vehicle 406 is high than the filter update rate will be also high. Conversely, if the estimated speed is low, the update rate will be also low. If the vehicle 406 stops, the filter state will be frozen.
In some implementations using a combiner 3208, the vector map processor 3206 may use, in addition to Ŷa, {circumflex over (Z)}r, {circumflex over (V)}, the outputs {circumflex over (X)}a of the combiner 3208 for modifying the vector map V0,k (r) as shown in
The positioning processor 3302 is configured to receive signals indicative for the voltage vector {circumflex over (V)}, e.g., as detected by the phase synchronization circuitry 2002 operationally connected to the magnetic field sensor 366. The phase synchronization circuitry 2002 may output a vector {circumflex over (V)} every Tp seconds (e.g. Tp=200 ms) or at rate depending on some other conditions as previously described in connection with
The vector map processor 3206 is configured to receive signals indicative for the absolute pose estimate {circumflex over (X)}a, the corresponding relative pose estimate {circumflex over (Z)}r, as well as the corresponding voltage vector {circumflex over (V)}. In some implementations, it is also configured to receive confidence information about pose estimates {circumflex over (X)}a, {circumflex over (Z)}r and voltage vector {circumflex over (V)} (not shown in
In some implementations, modifying a vector map V0,k, Ak is accomplished in a four-operation process analogously to the process as described in connection with
In some implementation, the positioning processor 3302 determines a potentially improved pose estimate {circumflex over (X)}a by finding a pose Xa that is substantially the most probable given {circumflex over (V)}, {circumflex over (R)}1, {circumflex over (R)}2, {circumflex over (R)}3, . . . , {circumflex over (R)}N, vehicle parameters K (not shown in
In some other implementations, the positioning processor 3302 determines a pose estimate {circumflex over (X)}a,i upon the current “raw” data set {circumflex over (V)}i, {circumflex over (R)}1i, {circumflex over (R)}2,i, . . . , {circumflex over (R)}N,i, the set of vehicle model parameters K, as well as upon at least one past “raw” data set {circumflex over (V)}i-1, {circumflex over (R)}1,i−1, {circumflex over (R)}2,i−1, {circumflex over (R)}3,i−1, . . . , {circumflex over (R)}N,i−1, where the index i refers to the sequence counter. It determines a pose estimate {circumflex over (X)}a,i by finding a pose Xa that is substantially the most probable given current vectors {circumflex over (V)}i, {circumflex over (R)}1,i, {circumflex over (R)}2,i, . . . , {circumflex over (R)}N,i and at least one past “raw” data set {circumflex over (V)}i−1, {circumflex over (R)}1,i−1, {circumflex over (R)}2,i−1, . . . , {circumflex over (R)}N,i−1, vehicle parameters K, and a statistical model e.g. defined by a conditional probability function p(Xa,i|{circumflex over (V)}i, {circumflex over (R)}1,i, {circumflex over (V)}i−1, {circumflex over (R)}1,i−1, . . . , {circumflex over (R)}N,i−1; K). This may be accomplished by maximizing the conditional probability function over a range of Xa where the true pose is expected. In mathematical terms, this may be expressed as
The pose Xa that maximizes p(Xa|{circumflex over (V)}i, {circumflex over (R)}1,i, . . . , {circumflex over (R)}N,i, {circumflex over (V)}i−1, {circumflex over (R)}1,i−1, . . . , {circumflex over (R)}N,i−1; K) may be considered a best estimate Xa under the constraints of available “raw” data.
In some implementations, the positioning processor 3302 employs an extended Kalman filter, a particle filter or another suitable data fusion and filtering method assuming a non-linear non-Gaussian state space model. Such assumption may be justified e.g. by the non-linear relationship between voltage vector and pose.
At block 3602, a processor (e.g., processor 2004) determines a first set of (voltage) data based on respective voltage signals generated by field sensor comprising a plurality of receive coils, wherein each of the plurality of receive coils is configured to generate a respective voltage signal in response to a wireless magnetic field generated by a field generator. In some implementations, the first set of (voltage) data corresponds to a multi-dimensional vector (e.g., a 9-dimensional vector).
At block 3604, the first set of (voltage) data is reduced to a second set of data, wherein the second set of data remains substantially constant regardless of relative rotation between the plurality of receive coils and the field generator. In some implementations, the second set of data may correspond to a multi-dimensional vector, such as a 6-dimensional vector. In some implementations, reducing the first set of voltage data to the second set of data comprises performing a non-linear transformation on the first set of voltage data.
At block 3606, a position and an orientation of the field generator with respect to the field sensor is determined, based on the first and second sets of data. In some implementations, this may comprise comparing the second set of data to a plurality of a first set of stored data each corresponding to a position with respect to the field sensor to determine a subset of the plurality of the first set of stored data. The positions corresponding to the subset of the plurality of the first set of stored data may be used to determine a subset of a second set of stored (voltage) data, which may be compared to at least one rotational transforms of a first set of (voltage) data to determine the position and orientation.
At block 3702, a sequence of absolute position and orientation estimates of a field generator with respect to a field sensor is generated, wherein each absolute position and orientation estimate is determined based upon a voltage vector derived from a set of voltage signals generated by the plurality of receive coils and a stored vector map comprising a plurality of reference vectors. In some embodiments, the voltage vector may comprise a multi-dimensional voltage vector, such as a 9D voltage vector.
At block 3704, a sequence of relative position and orientation estimates is received. In some embodiments, the relative position and orientation estimates are generated using a dead reckoning method, based upon at least one of a an inertial sensor, a wheel sensor, and a steering angle sensor. In some embodiments, the relative position and orientation estimates are generated using one or more optical systems associated with the vehicle. In some embodiments, the relative position and orientation estimates are generated using a satellite positioning system.
At block 3706, the sequence of absolute position and orientation estimates is updated, based upon the sequence of relative position and orientation estimates. In some embodiments, updating the sequence of absolute position and orientation estimates comprises determining a coordinate transformation for transforming the sequence of relative to a sequence of absolute pose estimates that most closely fits the sequence of absolute position and orientation estimates. In some embodiments, the closest fit may be determined using a LMS criterion.
At block 3708, a plurality of deviations by comparing the voltage vectors associated with the sequence of absolute position and orientation estimates with one or more corresponding reference vectors are determined, wherein each corresponding reference vector comprises a reference vector of the stored vector map most closely corresponding to an absolute position and orientation estimate of the updated sequence of absolute position and orientation estimates. In some embodiments, the voltage vectors are rotationally transformed prior to being compared with the corresponding reference vectors. In some embodiments, the corresponding reference vector is selected as a reference vector most closely corresponding to the absolute position and orientation estimate of the updated sequence of absolute position and orientation estimates, based upon a Euclidean distance between a position associated with the reference vector and the absolute position and orientation estimate.
At block 3710, modification function based upon the plurality of deviations is determined. The modification function may be determined using a function fitting process such as regression.
At block 3712, an updated vector map is generated, based on applying the modification function to the stored vector map. The updated map may be used to generate more accurate subsequent sequences of position and orientation estimates. For example, as discussed above, the updated vector map may be used to determine more accurate position and orientation estimates from voltage vectors derived from sets of voltage signals generated by a plurality of receive coils at a field sensor.
At block 3802, a plurality of receive coils may generate a set of voltage signals in response to a magnetic field generated by a magnetic field generator.
At block 3804, a first sequence of position estimates may be generated. The first sequence of position estimates may correspond to a sequence of positions of a magnetic field generator with respect to a plurality of receive coils. In some embodiments, the first sequence of position estimates may be determined based upon a voltage vector derived from the set of voltage signals generated by the plurality of receive coils in response to the magnetic field generated by the magnetic field generator. In some embodiments, the first sequence of position estimates may be derived based upon corresponding voltage vectors derived from the set of voltage signals and a plurality of reference vectors.
At block 3806, the plurality of reference vectors are updated based upon the first sequence of position estimates and a second sequence of position estimates generated based upon a source different from the plurality of receive coil circuits. In some embodiments, the second sequence of position estimates may be generated based upon a plurality of other sensors. In some embodiments, the first sequence of position estimates may correspond to absolute position estimates while the second sequence of position estimates may correspond to relative position estimates.
The various operations of methods described above may be performed by any suitable means capable of performing the operations, such as various hardware and/or software component(s), circuits, and/or module(s). Generally, any operations illustrated in the figures may be performed by corresponding functional means capable of performing the operations.
Information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality may be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the implementations.
The various illustrative blocks, modules, and circuits described in connection with the implementations disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm and functions described in connection with the implementations disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. If implemented in software, the functions may be stored on or transmitted as one or more instructions or code on a tangible, non-transitory, computer-readable medium. A software module may reside in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, hard disk, a removable disk, a CD ROM, or any other form of storage medium known in the art. A storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer readable media. The processor and the storage medium may reside in an ASIC.
For purposes of summarizing the disclosure, certain aspects, advantages and novel features have been described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular implementation. Thus, one or more implementations achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
Various modifications of the above described implementations will be readily apparent, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the implementations shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
This application claims the benefit of U.S. Provisional Application No. 62/350,653, filed Jun. 15, 2016, which is hereby incorporated by reference under 37 CFR 1.57.
Number | Date | Country | |
---|---|---|---|
62350653 | Jun 2016 | US |