Некоторое содержание этого приложения в настоящий момент недоступно.
Если эта ситуация сохраняется, свяжитесь с нами по адресуОтзывы и контакты
1. (WO2018143993) FUNCTIONAL ELEMENT POSE DETERMINATION
Примечание: Текст, основанный на автоматизированных процессах оптического распознавания знаков. Для юридических целей просьба использовать вариант в формате PDF

FUNCTIONAL ELEMENT POSE DETERMINATION

Background

The Internet of Things (loT) may include smart objects with embedded technology to sense, communicate and/or interact with their internal states, each other, and/or their external environment.

Brief Description of the Drawings

Figure 1 is a block diagram illustrating an example of a functional element.

Figure 2 is a schematic illustration of an example of a plurality of functional elements.

Figure 3 is a block diagram illustrating an example of determining a pose of a functional element.

Figures 4A, 4B, 4C schematically illustrate an example of determining a position of a functional element.

Figures 5A, 5B, 5C schematically illustrate another example of determining a position of a functional element.

Figures 6A, 6B schematically illustrate an example of determining an orientation of a functional element.

Figures 7A, 7B schematically illustrate another example of determining an orientation of a functional element.

Figures 8A and 8B are flow diagrams illustrating an example of a method of determining a pose of a functional element.

Detailed Description

Figure 1 is a block diagram illustrating an example of a functional element 100. In one implementation, functional element 100 includes a shell or housing 102 with components, such as a processor 104, memory 106, power supply 108, sensor 1 10, and wireless communication module 1 12, provided within housing 102.

Processor 104 transfers, communicates, and/or processes signals, commands, conditions, states, and/or parameters for and/or between

components of functional element 100, and may include analog and/or digital elements and/or circuits. In examples, processor 104 implements and/or executes computer-readable, computer-executable instructions for data processing functions and/or functionality of functional element 100. In examples, such instructions are stored in memory, such as memory 106.

Memory 106 may include volatile and non-volatile memory, and includes a non-transitory computer-readable storage medium suitable for tangibly embodying program instructions and data. Power supply 108 provides energy for operating components of functional element 100. In one implementation, power supply 108 is a rechargeable battery.

Sensor 1 10 provides information about one or more than one operating and/or environmental condition and/or state of functional element 100. In examples, sensor 1 10 includes one or more than one instrument or device for reading, detecting, measuring, indicating, and/or responding to a condition and/or state of functional element 100, including, for example, position, orientation, gravitational force, magnetic force, and/or ambient or environmental conditions such as temperature, humidity, and/or pressure.

Wireless communication module 1 12 facilitates the exchange and/or transmission of information and/or data between functional element 100 and another device or system, including an external device such as, for example, computing device 10. Such information and/or data may include, for example, control and/or logic instructions or commands, condition or state information, as well as other information and/or data to be exchanged with and/or transmitted to and/or from functional element 100.

In some examples, functional element 100 includes an actuator 1 14. Actuator 1 14 includes, operates, and/or controls one or more than one mechanism or mechanical element, component, or system of functional element 100.

Figure 2 is a schematic illustration of an example of a plurality of functional elements 100. In one implementation, functional elements 100 are individually addressable such that information and/or data of and/or for each functional element 100 of the plurality of functional elements 100 may be serialized or individualized. As such, information and/or data exchanged with and/or transmitted to and/or from an individual functional element 100, for example, via wireless communication module 1 12, may be recognized and/or identified as being from a specific functional element 100. For example, as described below, a pose (position/location and/or orientation) of a functional element 100 (of a plurality of functional elements 100) may be individually determined and serialized such that transmission of the determined pose may be recognized and/or identified as being of a specific functional element 100.

As illustrated in the example of Figure 2, a collection, set, accumulation, or grouping of functional elements 100 is provided or established. In one implementation, functional elements 100 are spherical in shape. Functional elements 100, however, may be of other shapes, including, for example, polyhedral shapes, such as dodecahedral. In addition, functional elements 100 may be irregularly shaped, and may be of different shapes and/or different sizes relative to each other.

In the illustrated example, functional elements 100 are held or contained by or within an enclosure or container 200. Although illustrated as being a rectangular prism, container 200 may be of other shapes and/or sizes. In other examples, functional elements 100 are accumulated, grouped, and/or maintained in a pile or mound without an enclosure or container.

It is to be understood that Figure 2 is a schematic representation of a collection, set, accumulation, or grouping of functional elements 100 within container 200. Although illustrated with a void between a top of the functional elements 100 and a top of container 200, the void may be filled with additional functional elements and/or a fill material. In addition, the number of functional elements 100 within container 200 may vary such that the number of functional elements 100 within container 200 may be more or less than that illustrated.

In one example, the collection, set, accumulation, or grouping of functional elements 100 is random such that an initial pose of each functional element 100, for example, within container 200, is unknown. In one

implementation, each functional element 100 includes six degrees of freedom, namely translation in three perpendicular axes and rotation about the three perpendicular axes. As such, a pose of each functional element 100 includes three degrees of position (location) and three degrees of orientation. For example, the three degrees of position include x, y, and z coordinates, and the three degrees of orientation include degrees of rotation about x, y, and z axes. More specifically, the three degrees of position include, for example, surge (movement forward and backward along an x-axis), sway (movement left and right along a y-axis), and heave (movement up and down along a z-axis), and the three degrees of orientation include, for example, roll (tilting side to side about the x-axis), pitch (tilting forward and backward about the y-axis), and yaw (left and right turning about the z-axis). With a collection, set, accumulation, or grouping of functional elements 100, the pose of each functional element 100 may be established relative to each other and/or relative to an environment or surrounding, such as container 200.

Figure 3 is a block diagram illustrating an example of determining a pose of a functional element. In examples, as described below, a pose determination unit or module 300 determines a pose of a functional element 100, including an individual position and an individual orientation of a respective functional element 100, based on a condition or conditions sensed by a respective functional element 100.

In one implementation, as schematically illustrated in Figure 3, pose determination module 300 includes a position unit or module 320, and an orientation unit or module 340. As described below, position module 320

determines an individual position 120 of a respective functional element 100, and orientation module 340 determines an individual orientation 140 of a respective functional element 100, such that an individual pose 160 of the respective functional element 100 may be established from individual position 120 and individual orientation 140.

Pose determination module 300 includes hardware, software, firmware, or a combination of these. In one implementation, pose determination module 300 is included in a computer, computer server, or other microprocessor-based system capable of performing a sequence of logic operations. Components of pose determination module 300, including position module 320, and/or orientation module 340, can be implemented in hardware via a microprocessor, programmable logic device, or state machine, in firmware, or in software within a given device. Position module 320, and/or orientation module 340 may be implemented, for example, as a subroutine of a computer program. Pose determination module 300, including position module 320, and/or orientation module 340, can be implemented, wholly or in part, on a respective functional element 100 or on an external device, such as computing device 10 (Figure 1 ).

In one implementation, position module 320 determines individual position 120 based on a field with a known intensity sensed by a respective functional element 100, as described below. As such, position module 320 receives, as input, a measure of a sensed field of known intensity 1 18 from a respective functional element 100. The field of known intensity may be sensed, for example, by an implementation of sensor 1 10 (Figure 1 ) of a respective functional element 100. In one implementation, the measure of the sensed field of known intensity 1 18 is transmitted or communicated to pose determination module 300, including, more specifically, position module 320, via wireless communication module 1 12 (Figure 1 ) of the respective functional element 100.

In one implementation, orientation module 340 determines individual orientation 140 based on a field with a known structure sensed by a respective functional element 100, as described below. As such, orientation module 340 receives, as input, a measure of a sensed field of known structure 138 from a respective functional element 100. The field of known structure may be sensed, for example, by an implementation of sensor 1 10 (Figure 1 ) of a respective functional element 100. In one implementation, the measure of the sensed field of known structure 138 is transmitted or communicated to pose determination module 300, including, more specifically, orientation module 340, via wireless communication module 1 12 (Figure 1 ) of the respective functional element 100.

Figures 4A, 4B, 4C schematically illustrate an example of determining a position of a functional element, such as individual position 120 of a respective functional element 100. In one example, as described above, determination of individual position 120 is based on a field with a known intensity, including, more specifically, a field with a known intensity profile, intensity gradient, or three-dimensional intensity. In one implementation, the field of known intensity is ambient pressure, including, more specifically, atmospheric pressure (i.e., air pressure or gas pressure). As such, the field of known intensity may be sensed, for example, by an altimeter, as an example of sensor 1 10 of a respective functional element 100.

As illustrated in the example of Figure 4A, container 200, with functional elements 100 therein, is positioned in or has a first orientation. With the first orientation, atmospheric pressure at a respective functional element 100 is measured such that a "depth" or position of the respective functional element 100 relative to a first surface, face, or boundary of container 200, such as boundary 201 , is resolved, as represented, for example, by arrow 401 . As such, a first positional coordinate, such as an x-coordinate, of the respective functional element 100 is determined. In one implementation, container 200 includes a transmitter or sensor 210 at one or more known locations such that a sensed measurement by a respective functional element 100 is compared with a sensed measurement by sensor 210.

As illustrated in the example of Figure 4B, container 200, with functional elements 100 therein, is positioned in or has a second orientation. With the second orientation, atmospheric pressure at the respective functional element 100 is measured such that a "depth" or position of the respective functional element 100 relative to a second surface, face, or boundary of container 200, such as boundary 202, is resolved, as represented, for example, by arrow 402.

As such, a second positional coordinate, such as a y-coordinate, of the respective functional element 100 is determined.

As illustrated in the example of Figure 4C, container 200, with functional elements 100 therein, is positioned in or has a third orientation. With the third orientation, atmospheric pressure at the respective functional element 100 is measured such that a "depth" or position of the respective functional element 100 relative to a third surface, face, or boundary of container 200, such as boundary 203, is resolved, as represented, for example, by arrow 403. As such, a third positional coordinate, such as a z-coordinate, of the respective functional element 100 is determined.

In one example, container 200, with functional elements 100 fixed therein, is re-oriented or rotated, as represented by arrow 221 , between the first orientation of Figure 4A and the second orientation of Figure 4B, and reoriented or rotated, as represented by arrow 222, between the second

orientation of Figure 4B and the third orientation of Figure 4C. In one

implementation, container 200 is rotated ninety degrees between the first orientation and the second orientation, and rotated ninety degrees between the second orientation and the third orientation such that the second orientation of Figure 4B is orthogonal to the first orientation of Figure 4A, and the third orientation of Figure 4C is orthogonal to both the first orientation of Figure 4A and the second orientation of Figure 4B. Although illustrated as being rotated ninety degrees between the first orientation and the second orientation, and rotated ninety degrees between the second orientation and the third orientation, container 200, with functional elements 100 fixed therein, may be rotated a different amount (or amounts) between the first orientation and the second orientation, and/or between the second orientation and the third orientation such that the rotation (or rotations) include a non-zero orthogonal vector component (e.g., 30 degrees, 120 degrees).

Figures 5A, 5B, 5C schematically illustrate another example of

determining a position of a functional element, such as individual position 120 of a respective functional element 100. In one example, as described above, determination of individual position 120 is based on a field with a known

intensity, including, more specifically, a field with a known intensity profile, intensity gradient, or three-dimensional intensity. In one implementation, the field of known intensity is ambient pressure, including, more specifically, liquid pressure (e.g., water pressure). As such, the field of known intensity may be sensed, for example, by a liquid pressure sensor or transducer or hydrostatic depth sensor, as an example of sensor 1 10 of a respective functional element 100.

As illustrated in the example of Figure 5A, container 200, with functional elements 100 therein, is positioned in or has a first orientation, and is filled with a liquid 230, such as water, oil, alcohol, acetone, mercury or other liquid or liquid mixture, such that functional elements 100 are submerged in liquid 230. With the first orientation, liquid pressure at a respective functional element 100 is measured such that a "depth" or position of the respective functional element 100 relative to a first surface, face, or boundary of container 200, such as boundary 201 , is resolved, as represented, for example, by arrow 401 . As such, a first positional coordinate, such as an x-coordinate, of the respective functional element number 100 is determined. In one implementation, container 200 includes a transmitter or sensor 210 at one or more known locations such that a sensed measurement by a respective functional element 100 is compared with a sensed measurement by sensor 210.

As illustrated in the example of Figure 5B, container 200, with functional elements 100 submerged in liquid 230 therein, is positioned in or has a second orientation. With the second orientation, liquid pressure at the respective functional element 100 is measured such that a "depth" or position of the respective functional element 100 relative to a second surface, face, or boundary of container 200, such as boundary 202, is resolved, as represented, for example, by arrow 402. As such, a second positional coordinate, such as a y-coordinate, of the respective functional element 100 is determined.

As illustrated in the example of Figure 5C, container 200, with functional elements 100 submerged in liquid 230 therein, is positioned in or has a third orientation. With the third orientation, liquid pressure at the respective

functional element 100 is measured such that a "depth" or position of the

respective functional element 100 relative to a third surface, face, or boundary of container 200, such as boundary 203, is resolved, as represented, for example, by arrow 403. As such, a third positional coordinate, such as a z-coordinate, of the respective functional element 100 is determined.

Similar to the example of Figures 4A, 4B, 4C, container 200, with functional elements 100 fixed and submerged in liquid 230 therein, is reoriented or rotated, as represented by arrow 221 , between the first orientation of Figure 5A and the second orientation of Figure 5B, and re-oriented or rotated, as represented by arrow 222, between the second orientation of Figure 5B and the third orientation of Figure 5C. Although illustrated as being rotated ninety degrees between the first orientation and the second orientation, and rotated ninety degrees between the second orientation and the third orientation, container 200, with functional elements 100 fixed and submerged in liquid 230 therein, may be rotated a different amount (or amounts) between the first orientation and the second orientation, and/or between the second orientation and the third orientation such that the rotation (or rotations) include a non-zero orthogonal vector component (e.g., 30 degrees, 120 degrees).

In the examples described above, the field of known intensity is ambient pressure, including, more specifically, atmospheric pressure (i.e., air pressure or gas pressure) and liquid pressure (e.g., water pressure). In other examples, the field of known intensity may include light or radio signals directed from or generated by a respective source. As such, and similar to the examples of Figures 4A, 4B, 4C, and Figures 5A, 5B, 5C, container 200, with functional elements 100 fixed therein, may be re-oriented or rotated between a first orientation, a second orientation, and a third orientation, and the field of known intensity (e.g., light intensity or radio signal strength) may be sensed by a respective functional element 100 such that a position of the respective functional element 100 may be determined.

Figures 6A, 6B schematically illustrate an example of determining an orientation of a functional element, such as individual orientation 140 of a respective functional element 100. In one example, as described above, determination of individual orientation 140 is based on a field with a known

structure. In one implementation, the field of known structure is a gravitational field. As such, the field of known structure may be sensed, for example, by an accelerometer or tilt sensor, as an example of sensor 1 10 of a respective functional element 100.

As illustrated in the example of Figure 6A, container 200, with functional elements 100 therein, is positioned in or has a first orientation. With the first orientation, a direction of the gravitational field (i.e., a direction of gravitational force), as represented, for example, by arrow 410 (i.e., "down"), is sensed by a respective functional element 100. As such, a first orientation parameter relative to the sensed direction of the gravitational field, such as roll, and a second orientation parameter relative to the sensed direction of the gravitational field, such as pitch, of the respective functional element 100 is determined.

As illustrated in the example of Figure 6B, container 200, with functional elements 100 therein, is positioned in or has a second orientation. With the second orientation, a direction of the gravitational field (i.e., a direction of gravitational force), as represented, for example, by arrow 41 1 (i.e., "down"), is sensed by the respective functional element 100. As such, a third orientation parameter relative to the sensed direction of the gravitational field, such as yaw, of the respective functional element 100 is determined.

In one example, container 200, with functional elements 100 fixed therein, is re-oriented or rotated, as represented by arrow 223, between the first orientation of Figure 6A and the second orientation of Figure 6B. In one implementation, the second orientation of Figure 6B is orthogonal to the first orientation of Figure 6A such that container 200 is rotated ninety degrees between the first orientation and the second orientation.

Figures 7A, 7B schematically illustrate another example of determining an orientation of a functional element, such as individual orientation 140 of a respective functional element 100. In one example, as described above, determination of individual orientation 140 is based on a field with a known structure. In one implementation, the field of known structure is a magnetic field. As such, the field of known structure may be sensed, for example, by a

magnetometer, as an example of sensor 1 10 of a respective functional element 100.

As illustrated in the example of Figure 7A, container 200, with functional elements 100 therein, is positioned in a magnetic field 241 having a first orientation. With the first orientation of magnetic field 241 , an orientation of the magnetic field is sensed by a respective functional element 100 such that a first orientation parameter, such as roll, and a second orientation parameter, such as pitch, of the respective functional element 100 is determined.

As illustrated in the example of Figure 7B, container 200, with functional elements 100 therein, is positioned in a magnetic field 242 having a second orientation. With the second orientation of magnetic field 242, an orientation of the magnetic field is sensed by the respective functional element 100 such that a third orientation parameter, such as yaw, of the respective functional element 100 is determined.

In one implementation, the orientation of magnetic field 242 of Figure 7B is orthogonal to the orientation of magnetic field 241 of Figure 7A, and is established by re-orienting or rotating a magnetic field ninety degrees relative to functional elements 100, for example, relative to container 200, with functional elements 100 therein. As such, the first orientation includes a first orientation of the field of known structure (i.e., magnetic field), and the second orientation includes a second orientation of the field of known structure (i.e., magnetic field) rotated relative to the first orientation of the field of known structure. In another implementation, container 200, with functional elements 100 fixed therein, is reoriented or rotated ninety degrees relative to a magnetic field to establish a first orientation of the magnetic field and a second orientation of the magnetic field relative to container 200 and functional elements 100.

Figures 8A and 8B are flow diagrams illustrating an example of a method 500 of determining a pose of a functional element, such as functional element 100, as schematically illustrated, for example, in Figure 1 .

In one example, as illustrated in Figure 8A, at 502, method 500 includes grouping a plurality of functional elements, such as functional elements 100, with each of the functional elements including a housing, such as housing 102,

and a processor, such as processor 104, memory, such as memory 106, power supply, such as power supply 108, sensor, such as sensor 1 10, and wireless communication module, such as wireless communication module 1 12, each within the housing, as schematically illustrated, for example, in Figure 1 .

As such, in one example, at 504, method 500 includes determining an individual position of a respective one of the functional elements, such as individual position 120 of a respective functional element 100. In one example, determining an individual position of a respective one of the functional elements includes sensing a field of known intensity by the respective one of the functional elements in each a first orientation, a second orientation rotated relative to the first orientation, and a third orientation rotated relative to the second orientation, as schematically illustrated, for example, in Figures 4A, 4B, 4C, and Figures 5A, 5B, 5C.

In one implementation, sensing the field of known intensity, for example, at 504, includes sensing atmospheric pressure by the respective one of the functional elements in each the first orientation, the second orientation, and the third orientation, as schematically illustrated, for example, in Figures 4A, 4B, 4C.

In another implementation, method 500 includes submerging the functional elements in liquid, such that sensing the field of known intensity, for example, at 504, includes sensing liquid pressure by the respective one of the functional elements in each the first orientation, the second orientation, and the third orientation, as schematically illustrated, for example, in Figures 5A, 5B, 5C.

In one example, as illustrated in Figure 8B, at 506, method 500 further includes determining an individual orientation of the respective one of the functional elements, such as individual orientation 140 of a respective functional element 100. In one example, determining an individual orientation of the respective one of the functional elements includes sensing a field of known structure by the respective one of the functional elements in both the first orientation and the second orientation, as schematically illustrated, for example, in Figures 6A, 6B, and Figures 7A, 7B.

In one implementation, sensing the field of known structure, for example, at 506, includes sensing a direction of a gravitational field by the respective one of the functional elements in both the first orientation and the second

orientation, as schematically illustrated, for example, in Figures 6A, 6B.

In another implementation, sensing the field of known structure, for example, at 506, includes sensing an orientation of a magnetic field by the respective one of the functional elements in both the first orientation and the second orientation, as schematically illustrated, for example, in Figures 7A, 7B.

Although illustrated and described as separate and/or sequential steps, the method may include a different order or sequence of steps, and may combine one or more steps or perform one or more steps concurrently, partially or wholly.

Although specific examples have been illustrated and described herein, a variety of alternate and/or equivalent implementations may be substituted for the specific examples shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific examples discussed herein.