Method, system and apparatus for mobile locationing
A computing device includes: a tracking assembly including a camera; a data capture module; and a controller connected with the tracking assembly and the data capture module, the controller configured to: control the tracking assembly to track successive poses of the computing device in a first frame of reference; control the data capture module to capture and decode an indicium placed in a facility; obtain, based on the indicium, a position of a point in the facility in a second frame of reference corresponding to the facility; detect, via the camera, features of a marker placed in the facility; determine, based on the detected features, an orientation of the marker in the second frame of reference; and generate, for each pose in the first frame of reference, a corresponding pose in the second frame of reference according to the position of the point and the orientation.
1 . A computing device, comprising:
a tracking assembly including a camera;
a data capture module; and
a controller connected with the tracking assembly and the data capture module, the controller configured to:
control the tracking assembly to track successive poses of the computing device in a first frame of reference within a facility;
control the data capture module to capture and decode an indicium placed in the facility;
obtain, based on the indicium, a position of a point of a marker, disposed in the facility, in a second frame of reference corresponding to the facility;
detect, via a field of view of the camera, simultaneously with capturing and decoding the indicium via a field of view of the data capture module, features of a marker placed in the facility;
determine, based on the detected features of the marker, an orientation of the marker in the second frame of reference; and
generate, for each pose in the first frame of reference, a corresponding pose in the second frame of reference according to the position of the point and the orientation of the marker.
2 . The computing device of claim 1 , wherein the controller is further configured to:
generate a transform between the first frame of reference and the second frame of reference based on the position of the point and the orientation;
generate the corresponding pose in the second frame of reference according to the transform; and
publish the corresponding pose in the second frame of reference.
3 . The computing device of claim 2 , wherein the controller is further configured, in order to publish the corresponding pose, to transmit the corresponding pose to a server.
4 . The computing device of claim 1 , wherein the processor is further configured, prior to tracking the successive poses, to establish the first frame of reference.
5 . The computing device of claim 1 , further comprising an input assembly; wherein the processor is configured to control the data capture module to capture and decode the indicium in response to an activation of the input assembly.
6 . The computing device of claim 5 , further comprising a memory storing a reference image of the marker; wherein the processor is further configured, in order to detect the features of the marker, to compare an image captured using the camera with the reference image.
7 . The computing device of claim 1 , wherein the point in the facility is one of the features of the marker.
8 . The computing device of claim 1 , wherein the processor is further configured to obtain, based on the indicium, the orientation in the second frame of reference.
9 . The computing device of claim 1 , wherein the processor is further configured, responsive to capturing the indicium, to:
obtain an identifier from the indicium;
transmit a request to a server containing the identifier; and
receive, from the server, the position in the second frame of reference.
10 . A method, comprising:
controlling a tracking assembly of the computing device to track successive poses of the computing device in a first frame of reference in a facility;
controlling a data capture module of the computing device to capture and decode an indicium placed in a facility;
obtaining, based on the indicium, a position of a point of a marker, disposed in the facility, in a second frame of reference corresponding to the facility;
detecting, via field of view of a camera of the computing device, simultaneously with capturing and decoding the indicium via a field of view of the data capture module, features of a marker placed in the facility;
determining, based on the detected features of the marker, an orientation of the marker in the second frame of reference; and
generating, for each pose in the first frame of reference, a corresponding pose in the second frame of reference according to the position of the point and the orientation of the marker.
11 . The method of claim 10 , further comprising:
generating a transform between the first frame of reference and the second frame of reference based on the position of the point and the orientation;
generating the corresponding pose in the second frame of reference according to the transform; and
publishing the corresponding pose in the second frame of reference.
12 . The method of claim 11 , wherein publishing the corresponding pose includes transmitting the corresponding pose to a server.
13 . The method of claim 10 , further comprising, prior to tracking the successive poses, establishing the first frame of reference.
14 . The method of claim 10 , further comprising detecting activation of an input assembly, and controlling the data capture module to capture and decode the indicium in response to detecting the activation.
15 . The method of claim 14 , further comprising:
storing a reference image of the marker;
wherein detecting the features of the marker comprises comparing an image captured using the camera with the reference image.
16 . The method of claim 10 , wherein the point in the facility is one of the features of the marker.
17 . The method of claim 10 , further comprising obtaining, based on the indicium, the orientation in the second frame of reference.
18 . The method of claim 10 , further comprising, responsive to capturing the indicium:
obtaining an identifier from the indicium;
transmitting a request to a server containing the identifier; and
receiving, from the server, the position in the second frame of reference.