Documenting test room configurations

Techniques are described for documenting the positions of items in a room, such as in rooms that are configured for testing automated systems that perform position-related functions. A non-contact measuring tool may be placed at different reference positions within the room. At each position, measurements are made to the room corners and to items of interest within the room. Based on this information, coordinates of the reference positions are calculated. Coordinates of the items are calculated based on the determined coordinates of the reference positions.

BACKGROUND

User interfaces have traditionally relied on physical devices such as keyboards and electronic displays. Increasingly, however, it is desired to interact with users through more natural means such as speech and gestures. In addition, systems may be configured to display information on passive surfaces such as walls or other surfaces within a user environment.

When developing automated systems such as this, testing may be performed in controlled environments. When performing such testing, it may be important to have an accurate physical representation of the environment. For example, it may be important to know the dimensions of a room and the positions of loudspeakers, microphones, projection components, cameras, sensors, human listeners, human speakers, and various other physical elements.

DETAILED DESCRIPTION

Described below are techniques for efficiently documenting the positions of items within a room that is to be used for testing an automated system. Items of interest may include human listeners, human speakers, loudspeakers, microphones, projectors, cameras, sensors, devices, and other objects.

In one embodiment, the room is assumed to have intersecting walls and a ceiling. The described techniques utilize a non-contact, line-of-sight measuring tool such as a laser measurement tool, which may be mounted on a tripod at several locations within the room and aimed in different directions to measure distances between the tool and surfaces at which the tool is aimed.

Multiple corners of the room, such as formed by the intersection of the ceiling and two walls, are identified and used to form a coordinate system. Multiple reference positions within the room are also selected.

The laser measurement tool is positioned at a first of the reference positions. From this location, distance measurements are made to each of the room corners and to each item of interest within the room. The laser measurement tool is then positioned at a second of the reference positions, and distance measurements are repeated for each of the room corners and each item of interest. This process is repeated at each of the reference positions. In addition, the laser measurement tool is used to measure the height, relative to the ceiling, of the reference positions and the items of interest.

The distances measured in this manner are then used to determine the positions of the items of interest relative to the room corners. First, mathematical triangulation is used to determine the coordinates of the reference positions within the coordinate system formed by the room corners. Second, mathematical triangulation is used to determine the coordinates of the items of interest relative to the reference positions.

FIG. 1shows an example environment in which the described techniques may be used. The environment comprises a room102containing multiple items or objects of interest, which may include human listeners, human speakers, loudspeakers, microphones, projectors, cameras, sensors, devices, and other objects within the room or environment. As examples,FIG. 1shows a human user104, who may act as a listener and/or a speaker. The room102also contains electronic devices106and108, which may comprise any number of different devices or systems for interacting with users.

The device106, for example, may comprise an automated system for providing various types of content to the user104such as video, audio, speech, etc. The device106may include various components that may be used to detect and evaluate conditions and events within the room102. As examples, the device106may include one or more projectors, one or more cameras, multiple microphones, one or more speakers, and various other types of sensors and transducers, content generation devices, and so forth.

A projector of the device106may be used to project content onto surfaces of the room102for viewing by the user104. The device106may also have various cameras and other sensors that may be used to analyze objects within the room102and which may be used for 3D reconstruction and modeling of the room. The device may be capable of determining the location of the user104, detecting user gestures, determining the positions of objects within the room102, reconstructing 3D characteristics of the room and objects within the room, and so forth.

The device106may also have microphones or microphone arrays for acquiring input from the user104. Microphones may be used in conjunction with time-delay-of-arrival (TDOA) techniques, audio beamforming techniques, or other techniques to determine the locations of sounds originating from within the room102. The microphones may be used by speech recognition components, allowing the device106to respond to spoken user commands.

The device106may have speakers to provide audible output. For example, the speakers may be used to provide output from a text-to-speech module or to play pre-recorded audio.

The device108may have any one or more of the components described above, such as cameras, speakers, sensors, and so forth, and may be used to interact with the user104. The device108may be configured to detect the position of the user104and to detect user speech and user gestures. The device108may also be configured to project content for viewing by the user104, such as by projecting content onto a tabletop110.

The room102may also contain other elements used by an automated system, such as speakers112. Other elements, not specifically shown, may include illumination sources, microphones, projectors, cameras, transducers, sensors, beacons, etc.

The configuration of the room itself may be defined by walls114and a ceiling116. The walls and ceiling may form room corners118, which may be used to establish a coordinate system within which items may be mapped.

Generally, components and elements of a system may be located or distributed in various locations within a room, and may act independently or in concert to interact with a user. For example, the user104may issue a command and the system may respond to the command by projecting, speaking, or taking some other action. The system may also interact with remote systems, such as through the Internet, to initiate service or obtain information on behalf of the user104in response to commands by the user. User commands may be by means of speech, gestures, interactions with surfaces or objects within the room102, or through other means.

Various functions performed by the system may be dependent on relative positions of items within the room. For example, the system may use various techniques to determine the positions of users within the room102. Actions taken by the system may be dependent upon such positions. Positions of users and objects may be determined by optical or audio analysis, and/or in conjunction with various types of sensors.

Similarly, system output may be dependent upon positions of items within the room102. The system may project content onto a surface near the present location of the user104, for example. As another example, sound may be directed or optimized for the current position of the user104or based on detected positions of other items within the room102.

When designing a system such as this, it is desirable to perform testing in various environments in order to analyze and verify the accuracy with which the system performs location-dependent functions. When testing, each environment is carefully documented. Environment documentation may include the exact positions of items within the environment.

A measuring device or tool120may be used to determine relative positions of items within the room102. In some embodiments, the measuring device120may comprise a laser measuring device that is configured to measure the distance from the tool to a surface at which the tool is aimed or pointed. The tool120may be mounted on a stand or tripod122in such a way that the tool120may be rotated and tilted to point at different targets. The tool120may also be placed at or on different items within the room to measure distances from the items to walls, ceilings, or corners of rooms. The tool120may use a laser beam and may measure reflected characteristics of the laser beam to determine distances.

FIG. 2shows an example configuration of a room200. In this example, the room200is rectangular and has four corners that are labeled as C1, C2, C3, and C4, corresponding to vectors representing the x, y, and z coordinates of the corners. x and y represent orthogonal horizontal directions while z represents the vertical height or depth direction.

Each corner is formed by the intersection of two walls and the ceiling of the room. One of the corners, such as C1, may be used as a coordinate origin for a coordinate system. Accordingly, the corner C1may be assigned x, y, z coordinates of [0,0,0]. The room is assumed to have a flat ceiling, meaning that the z coordinate of each corner is equal to zero, and the ceiling forms a vertical coordinate origin.

Items of interest and their positions within the room200are labeled as D1, D2, D3, D4, D5and D6, corresponding to variables or vectors representing the x, y, z coordinates of the items. The items of interest may comprise various types of objects such as described above. The items may be at different heights relative to the ceiling of the room.

FIG. 3illustrates a method300of obtaining position coordinates of multiple items or other targets within a room. The method300is discussed with reference toFIG. 2, although the method300may be used for determining item coordinates in rooms having various different shapes and configurations.

An action302comprises recording or documenting the configuration of multiple landmarks within the room200. In the illustrated example, the landmarks are defined as the corners C1, C2, C3, and C4, although any other easily recognizable features may alternatively be used. The action302may comprise measuring the distances between neighboring corners and measuring the height of the ceiling to establish the x, y, z values of corners C1, C2, C3, and C4. The configuration of the room200may be measured using the laser measuring device120or using other means such as a measuring tape. Existing floor plans or other existing documentation may also be used to determine room configurations and measurements.

An action304comprises selecting multiple reference positions within the room102. In many cases, three reference positions may be selected. Such reference positions are represented as R1, R2, and R3inFIG. 2, corresponding to variables or vectors representing the x, y, z coordinates of the reference positions. The values of such x, y, z coordinates may be at first unknown, and may be calculated in accordance with techniques described below.

A laser measuring device, such as the measurement tool120shown inFIG. 1, will be used and placed at the reference positions R1, R2, and R3to obtain distance measurements. The reference positions R are selected so as to allow room to walk and maneuver around the measuring device and its stand, with clear lines of sight to all or most of the items of interest D, at reasonable distances from each other, and arranged in a triangle rather than a line.

An action or set of actions306are then performed for and at each of the reference positions R. The actions306will be described as being performed at the jthreference position Rj.

An action308may be performed in some situations. The action308comprises placing the laser measuring device at the reference position Rj. An action310comprises measuring the height of the laser measuring device when positioned on its stand at the reference position Rj. The height of the laser measuring device may be measured by the laser measuring device itself in relation to the ceiling, which is defined as the vertical coordinate origin. In other words, this measurement may be performed by aiming the laser measuring device at the ceiling and measuring the distance from the laser measuring device to the ceiling. The measured distance forms the vertical or z coordinate of the reference position Rj, relative to the origin corner C1. Although actual measurements of the vertical coordinates of the reference positions may improve accuracy, the vertical coordinates may alternatively be estimated or calculated in accordance with the action316, below.

An action312comprises, for each landmark or corner Ci, aiming the laser measuring device at the corner Cifrom the reference position Rjand measuring a reference-to-landmark or reference-to-corner distance dijbetween the reference position Rjand the corner Ciwith the laser measuring device. An action314comprises, for each item of interest Dk, aiming the laser measuring device at the item Dkfrom the reference position Rjand measuring a reference-to-item or reference-to-landmark distance gjkbetween the reference position Rjand the item Dkwith the laser measuring device.

An action316comprises calculating and determining coordinates of the reference position Rj, relative to the landmarks identified in the action302, which in this example comprise the corners C of the room200. In certain embodiments, this may be performed by minimizing a first function of the corner coordinates C and the reference-to-corner distances dij. More specifically, the action316may be performed by finding a coordinate vector Rjthat minimizes the following function:

N is the number of identified corners (4 in the described example);

Cicomprises the corner coordinates of the ithcorner;

Rjcomprises a variable representing the coordinates of the jthreference position;

dijcomprises the measured reference-to-corner distance between the jthreference position and the ithcorner;

the operator ∥ ∥L1indicates an L1norm; and

the operator ∥ ∥L2indicates an L2norm.

If vertical coordinates of the reference positions are known from measurements performed in the action308, such coordinates may be used as constraints on Rj.

This calculation is repeated for each of the reference positions to obtain the corresponding position coordinates R1, R2, and R3.

The function may be minimized using non-linear optimization techniques. One approach is to perform a grid search over the possible coordinates of the targets. The value of the function is calculated over a uniform grid of room coordinates and the coordinates with the minimal function value are selected. A second approach is to express the optimization as the task of minimizing a linear objective function under quadratic constraints. Techniques such as sequential least squares programming may be employed for performing this optimization.

Subsequent to performing the actions306, an action or set of actions318are performed for each of the items of interest D. The actions318will be described as being performed with respect to the kthitem Dk.

An action320comprises measuring the height of the item Dkwith respect to the ceiling of the room102, or measuring the distance of the item Dkfrom the ceiling. This may be performed by placing the laser measuring device at or on the item and aiming the laser measuring device at the ceiling. Although actual measurements of the vertical coordinates of the items may improve accuracy, the vertical coordinates may alternatively be estimated or calculated in accordance with the action322, below.

An action322comprises calculating coordinates of the item Dkbased on the measurements completed in the actions306. In certain embodiments, this may be performed by minimizing a second function of the coordinates of the multiple reference positions R and the reference-to-item distances gjk. More specifically, the action322may be performed by finding a coordinate vector Dkthat minimizes the following function:

M is the number of reference positions (3 in the described example);

Rjcomprises the reference coordinates of the jthreference position;

Dkcomprises a variable representing the coordinates of the kthitem;

gjkcomprises the measured reference-to-item distance between the jthreference position and the kthitem;

the operator ∥ ∥L1indicates an L1norm; and

the operator ∥ ∥L2indicates an L2norm.

If vertical coordinates of the items are known from measurements performed in the action320, such coordinates may be used as constraints on Dk.

This calculation is repeated for each item Dkto obtain x, y, z coordinates for every item of interest within the room.

In some situations, physical measurements of the distances between items may be made in order to validate the results of the above calculations.

In some situations, positions of items may be determined from only a single reference location. For example, a measuring tool may be placed at a selected reference location and measurements may be taken with respect to each item to obtain the coordinates of the item with respect to the reference location. The measured coordinates for an individual item may include distance from the reference location, the angle of a line from the reference point to the item with respect to a horizontal plane, and the angle of a line from the reference point to the item with respect to a vertical plane. The coordinates of each item are then converted to a Cartesian system using the reference location as a coordinate origin.

The described techniques allow technicians to perform measurements efficiently and accurately, using commonly available equipment, to document the three-dimensional positions of items relative to a room in which the items are located. The techniques are also easily integrated into documentation procedures that may be used again and again for rooms having different configurations.