Location
Location,
location, location. One of the most important questions
to answer in the physical world is "Where is
my stuff?" Whether it's the car keys, remote
control or product shipment, timely, accurate and
relevant position information is vital for effectively
operating with physical objects.
PML
must therefore define an effective means for specifying
location information. Although simple in concept,
location is somewhat difficult to define accurately.
Position relative to what? With what level of accuracy
and resolution? Communication such as "it's on
the top shelf," or "the pallet is at the
dock" or "the check is in the mail"
must be translated unambiguously into the Physical
Markup Language.
Location
Element
To
address these issues, PML defines a loc
(location) element. In order to address "location
relative to what?", the loc
element includes an epc
attribute that defines a relative reference frame.
In other words, the location of the object is measured
relative to the epc
object. The loc
element nominally includes one, two or three msr
elements, which defines location relative to the
specified object.
<loc
epc= xx.xxxxxxx.xxxxxx.xxxxxxxx
>
A
single msr
element specifies the x-axis displacement relative
to the epc
object, two msr
elements the x-axis and y-axis displacements and
three msr
elements the x, y and z coordinates relative to
the specified object, as
shown in Figure 2, The msr
or measure element specifies the location of a physical
object relative to another, which is given by its
epc
number.
The
msr
elements are ordered so that the first msr
element of the loc
specification is always relative to the x-axis of
the given epc
object, the next is relative to the y-axis and the
third relative to the z-axis.
Recursion
The
loc
element may include another
loc element. In this way, a location may
be recursively defined. For example, the package
may be specified with respect to the pallet and
the pallet with respect to the container.
<loc
epc= xx.xxxxxxx.xxxxxx.xxxxxxxx
>
<msr m=1> float </msr>
<msr m=1> float </msr>
<msr m=1> float </msr>
<loc epc= xx.xxxxxxx.xxxxxx.xxxxxxxx
>
<msr m=1> float </msr>
<msr m=1> float </msr>
<msr m=1> float </msr>
<loc epc= xx.xxxxxxx.xxxxxx.xxxxxxxx
>
<msr m=1> float </msr>
<msr m=1> float </msr>
<msr m=1> float </msr>
. . .
</loc>
This
definition is allowed in the PML specification,
though an alternate, and perhaps more consistent
approach, would be to define the position relative
to the immediate parent object within a separate
PML files. This definition, however, was included
since the exact tree - that is the sequence of objects
- may need to be defined uniquely for a particular
object.
Global
Position
If
the epc
attribute of the loc
element is omitted, the measurements are assumed
to be with respect to a world coordinate frame.
We
define a world reference in a same manner as the
the Global Positioning System (GPS). The GPS coordinate
system is an earth-centered Cartesian system. The
coordinates produced by GPS are
geocentric coordinates based on the center
of the earth with X, Y and Z components. Also known
as Earth Centerd, Earth Fixed Cartesian (ECEF) coordinates,
the Z axis is defined from the center of the earth
through the North Pole, the X axis from the center
through the Prime meridian and the Y axis passes
through the equator perpendicular to the XZ plane,
as shown in Figure 3, The Physical Markup Language
uses the same simple earth-centered, geocentric
coordinate system as that employed by the Global
Positioning System (GPS). The exact definitions
of the North Pole, Prime Meridian and earth's center
are beyond the scope of this discussion, but may
be found in the literature [ref].
The
X, Y and Z components of the PML geocentric coordinates
are measured in meters (according to the measurement
specification). This is also consistent with the
GPS definition.
Although
the PML definition of world coordinates is not most
convenient for direct use in navigation and object
location, it is easily converted in any number of
common systems, such as latitude, longitude and
altitude; UniversalTransverse Mercator (UTM); Military
Grid Reference System (MGRS); World Geographic Reference
System (GEOREF) and local system including the Universal
Polar Stereographic (UPS) and National Grid Systems.
<msr label= "X" m=1> float
</msr>
<msr label= "Y" m=1> float
</msr>
<msr label= "Z" m=1> float
</msr>
Transform
Although
the location definition presented above provides
a good mechanism for describing an approximate position
relative to another object, there are times when
additional information is required.
This
version of PML introduces another mechanism for
represent location. A trans
element is introduced, which specifies a spatial
transformation relative to a known coordinate frame.
Thus we can specify the position and orientation
of one object relative to another.
The
trans element contains a
3x4 matrix of floating point numbers composed
of a 3x3 rotation matrix
and a 3x1 translation
vector, defined in the following way.
where
Rij are the indices
of the rotation matrix and
Ti are the indices of the translation vector
(which are defined in the same way as the coordinates
of the loc element).
The
trans element contains a pair
of msr elements indicating
the units (which are well-defined here), as well
as the accuracy of the elements of rotation matrix
and translation vector, respectively.
<trans
label=string
epc= xx.xxxxxxx.xxxxxx.xxxxxxxx
>
<msr q=1> </msr>
<msr m=1> </msr>
float
float float float,
float float float float,
float float float float
</trans>
<loc
epc= xx.xxxxxxx.xxxxxx.xxxxxxxx
>
<msr m=1> float
</msr>
<msr m=1> float
</msr>
<msr m=1> float
</msr>
<loc> . . . </loc>
</loc>
<loc>
<msr m=1> float
</msr> (Geocentric
X)
<msr m=1> float
</msr> (Geocentric
Y)
<msr m=1> float
</msr> (Geocentric
Z)
<loc> . . . </loc>
</loc>
<trans
label=string
epc=xx.xxxxxxx.xxxxxx.xxxxxxxx
>
<msr q=1> </msr>
<msr m=1> </msr>
float
float float float,
float float float float,
float float float float
</trans>
|