Devices and methods for aligning survey measurements
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- 3D TECH LTD
- Filing Date
- 2024-07-18
- Publication Date
- 2026-06-10
AI Technical Summary
Traditional surveying methods, such as using tape measures or total stations, are time-consuming, prone to errors, and costly, and they do not efficiently provide relative alignments of surveyed features in built and natural environments.
A system comprising a measuring device with multiple sensors to obtain motion data for determining positions and orientations, and a computer processor to establish a local coordinate system by determining axes and survey positions, allowing for accurate and efficient alignment of surveyed features.
The system enables accurate, efficient, and cost-effective determination of survey positions and alignments in a local coordinate system, improving the precision and speed of surveying processes compared to traditional methods.
Smart Images

Figure EP2024070456_06022025_PF_FP_ABST
Abstract
Description
[0001] DEVICES AND METHODS FOR ALIGNING SURVEY MEASUREMENTS
[0002] Technical field
[0003] The invention relates to methods and apparatus for determining a position of a survey measurement in a local coordinate system and / or relative to survey positions previously recorded. In particular, the invention may relate to, but need not be limited to, aligning surveyed features of the built and / or natural environments relative to each other.
[0004] Background
[0005] For many applications, it is necessary to have accurate survey data relating to the built and / or natural environments. In order to produce such survey data, the dimensions of a number of features of the built and / or natural environments must be measured. It is also desirable for each feature to be aligned relative to other features.
[0006] Traditional techniques for measuring the dimensions of features include the use of tape measures or other linear distance measuring devices. However, this is time consuming, can often require the involvement of two construction professionals and is prone to significant error. In addition, measuring the dimensions of the features does not provide any information as to their relative alignment. It is possible to measure linear distances between features, but this adds further time and complication to a survey.
[0007] It is known to use survey equipment, such as a total station, to provide a survey. A total station allows the dimensions of a number of features to be measured and provides their relative orientations or alignments. However, for many applications, a total station is not an appropriate tool to conduct a survey. A total station is an expensive tool requiring skilled operation and for many applications would be overkill.
[0008] There is a need for an accurate, efficient and cost effective method for surveying features of the built and natural environments and recording their relative positions and alignments in a local coordinate system. Summary
[0009] Methods and apparatus disclosed herein are directed to solving one or more problems in the prior art, including those disclosed herein.
[0010] According to the invention in an aspect, there is provided a system for determining a position of a survey measurement in a local coordinate system, the system comprising: a measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device; and a computer processor configured to: determine a first position of a measuring device based on the motion data; determine a second position of the measuring device based on the motion data; determine a first axis of a local coordinate system, wherein the first axis passes through the first location of the measuring device, determine a second axis of the local coordinate system, wherein the second axis passes through the second location of the measuring device; determine one or more survey positions of the measuring device in the local coordinate system when obtaining one or more survey measurements, based on the motion data, the first axis and the second axis.
[0011] According to the invention in an aspect, there is provided a system for determining a position of a survey measurement in a local coordinate system, the system comprising: a measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device; and a computer processor configured to: determine, based on motion data obtained when the measuring device is placed at a first location, a first position of the measuring device; determine, based on motion data obtained when the measuring device is placed at a second location, a second position of the measuring device; determine a first axis of a local coordinate system, wherein the first axis passes through the first position, determine a second axis of the local coordinate system, wherein the second axis passes through the second position; determine, based on motion data obtained when the measuring device is placed at one or more survey locations, one or more survey positions in the local coordinate system, based on the first axis and the second axis.
[0012] Optionally, the computer processor is further configured to determine the first and second axes of the local coordinate system such that they are substantially orthogonal.
[0013] Optionally, the computer processor is further configured to determine a 2-dimensional origin of the local coordinate system to be a point where the first and second axes intersect. Optionally, the computer processor is further configured to align the first and second axes horizontally.
[0014] Optionally, the second axis further also passes through the first position, such that the first position is the origin of the local coordinate system.
[0015] Optionally, the computer processor is further configured to: determine a first orientation of the measuring device at the first position; determine a second orientation of the measuring device at the second position. Optionally, aligning the first axis horizontally includes aligning the first axis with a horizontal component of the first orientation, and wherein aligning the second axis horizontally includes aligning the second axis with a horizontal component of the second orientation.
[0016] Optionally, the first position lies on a first planar feature of the built or natural environments, and wherein the second feature lies on a second planar feature of the built or natural environments that is transverse to the first planar feature, the computer processor being further configured to: determine, in a horizontal plane, a point of intersection of the first and second planar features based on the determined first and second positions and the determined first and second orientations, wherein a position of the point of intersection is known relative to one or more previously measured survey points referenced in a previous local coordinate system.
[0017] Optionally, the computer processor is further configured to: determine a local level based on the motion data; and align the first and second axes with the determined local level.
[0018] Optionally, the computer processor is further configured to: determine that the measuring device has been repositioned on the first and / or the second axis; determine a reset first position and / or a reset second position based on the motion data; determine an error in the motion data based on the first position, the second position and the reset first position and / or the reset second position.
[0019] Optionally, the computer processor is further configured to: determine, when the measuring device has been repositioned on the first and / or the second axis, a reset first position and / or a reset second position based on the motion data; and determine an error in the motion data based on the first position, the second position and the reset first position and / or the reset second position Optionally, the computer processor is further configured to determine that the reset first position and / or the reset second position are not survey positions.
[0020] Optionally, the first and second positions are located on one or more previously surveyed features.
[0021] Optionally, the one or more previously surveyed features were surveyed using the measuring device.
[0022] Optionally, the one or more features include adjacent internal or external walls of a building.
[0023] Optionally, the computer processor is further configured to: determine a third position of the measuring device based on the motion data; determine a third axis of the local coordinate system extending from the 2-dimensional origin, wherein the third axis passes through the third location of the measuring device; and determine a 3-dimensional origin of the local coordinate system based on the determined third position and the 2-dimensional origin.
[0024] Optionally, the computer processor is further configured to determine a direction of the third axis, and optionally wherein the third axis is orthogonal to the first and second axes. Optionally, the computer processor is configured to determine the direction of the third axis based on an orientation of the measuring device at the first position and / or the second position.
[0025] Optionally, the computer processor is configured to determine the first position, the second position and / or the one or more survey positions based on the motion data and using dead reckoning.
[0026] Optionally, the plurality of sensors comprise inertial sensors and optionally form part of an inertial measurement unit.
[0027] According to the invention in an aspect, there is provided a method of determining a position of a survey measurement in a local coordinate system, the method comprising: determining, by a position and orientation determiner, a first position of a measuring device, wherein the measuring device includes a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device, and wherein the first position is determined based on the motion data; determining, by the position and orientation determiner, a second position of the measuring device based on the motion data; determining, by an axis locator, a first axis of a local coordinate system, wherein the first axis passes through the first location of the measuring device, determining, by the axis locator, a second axis of the local coordinate system, wherein the second axis passes through the second location of the measuring device; determining, by the position and orientation determiner, one or more survey positions of the measuring device in the local coordinate system when obtaining one or more survey measurements, based on the motion data, the first axis and the second axis.
[0028] According to the invention in an aspect, there is provided a method of determining a position of a survey measurement in a local coordinate system using a measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device, the method comprising: determining, by a position and orientation determiner and based on motion data obtained when the measuring device is placed at a first location, a first position of a measuring device, determining, by the position and orientation determiner and based on motion data obtained when the measuring device is placed at a second location, a second position of the measuring device based on the motion data; determining, by an axis locator, a first axis of a local coordinate system, wherein the first axis passes through the first position, determining, by the axis locator, a second axis of the local coordinate system, wherein the second axis passes through the second position; determining, by the position and orientation determiner and based on motion data obtained when the measuring device is placed at one or more survey locations, one or more survey positions in the local coordinate system based on the first axis and the second axis.
[0029] According to the invention in an aspect, there is provided a processing device for determining a position of a survey measurement in a local coordinate system, the processing device comprising: a receiver configured to receive motion data from a measuring device, the measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device; and a computer processor configured to: determine a first position of a measuring device based on the motion data; determine a second position of the measuring device based on the motion data; determine a first axis of a local coordinate system, wherein the first axis passes through the first location of the measuring device, determine a second axis of the local coordinate system, wherein the second axis passes through the second location of the measuring device; determine one or more survey positions of the measuring device in the local coordinate system when obtaining one or more survey measurements, based on the motion data, the first axis and the second axis. According to the invention in an aspect, there is provided a processing device for determining a position of a survey measurement in a local coordinate system, the processing device comprising: a receiver configured to receive motion data from a measuring device, the measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device; and a computer processor configured to: determine, based on the received motion data obtained when the measuring device was placed at a first location, a first position of the measuring device; determine, based on the received motion data obtained when the measuring device was placed at a second location, a second position of the measuring device based on the motion data; determine a first axis of a local coordinate system, wherein the first axis passes through the first position, determine a second axis of the local coordinate system, wherein the second axis passes through the second position; determine, based on the received motion data obtained when the measuring device was placed at one or more survey locations, one or more survey positions in the local coordinate system, based on the first axis and the second axis.
[0030] According to the invention in an aspect, there is provided a method of determining a position of a survey measurement in a local coordinate system, the method comprising: receiving motion data from a measuring device, wherein the measuring device includes a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device, determining, by a position and orientation determiner, a first position of a measuring device based on the motion data; determining, by the position and orientation determiner, a second position of the measuring device based on the motion data; determining, by an axis locator, a first axis of a local coordinate system, wherein the first axis passes through the first location of the measuring device, determining, by the axis locator, a second axis of the local coordinate system, wherein the second axis passes through the second location of the measuring device; determining, by the position and orientation determiner, one or more survey positions of the measuring device in the local coordinate system when obtaining one or more survey measurements, based on the motion data, the first axis and the second axis.
[0031] According to the invention in an aspect, there is provided a method of determining a position of a survey measurement in a local coordinate system, the method comprising: receiving motion data from a measuring device, wherein the measuring device includes a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device, determining, by a position and orientation determiner and based on received motion data obtained when the measuring device is placed at a first location, a first position of the measuring device, determining, by the position and orientation determiner and based on received motion data obtained when the measuring device is placed at a second location, a second position of the measuring device; determining, by an axis locator, a first axis of a local coordinate system, wherein the first axis passes through the first position, determining, by the axis locator, a second axis of the local coordinate system, wherein the second axis passes through the second position; determining, by the position and orientation determiner and based on received motion data obtained when the measuring device is placed at one or more survey locations, one or more survey positions in the local coordinate system based on the first axis and the second axis.
[0032] According to the invention in an aspect, there is provided a computer program configured, when executed on a computer processor, to control a computer processor to undertake one or more of the steps of any method described herein.
[0033] Brief description of the drawings
[0034] Embodiments of the disclosed methods and apparatus will be described in detail below, with reference to the accompanying drawings, in which:
[0035] Figure 1 is a schematic representation of a system for determining topographic data;
[0036] Figure 2 is a schematic representation of a measuring device;
[0037] Figure 3 is a schematic representation of a processing device;
[0038] Figure 4 is a plan view of a room of a building;
[0039] Figure 5 is a flow diagram of a method for determining a position of a survey measurement in a local coordinate system;
[0040] Figure 6 is a flow diagram of a method for determining a position of a survey measurement in a local coordinate system; and
[0041] Figure 7 shows an exemplary determination of a local coordinate system.
[0042] Detailed Description
[0043] Generally, disclosed in this specification are methods and apparatus for determining a position of a survey measurement in a local coordinate system. In some applications, this may allow the separate features of a survey to be aligned with each other. Separate features of a survey are commonly identified in separate layers so that they may be handled independently in CAD software. Exemplary methods and apparatus may align survey positions identified in a first layer with those identified in a second layer. For example, methods and apparatus described in this document may allow:
[0044] • Aligning rooms of a building with each other
[0045] • Capturing position and orientation of objects within a room or space
[0046] • Aligning buildings relative to other buildings
[0047] • Capturing the relative position and orientation of areas, e.g. features within a garden perimeter such as patios, pools, beds and external buildings
[0048] Exemplary methods and apparatus described in this document use a measuring device including motion sensors to identify two axes of a local coordinate system. The axes may be orthogonal and may be locally level. The measuring device is placed at a first point, and then at a second point. The first and second axes are determined so as to pass through the first and second points respectively. The origin of the local coordinate system is determined to be the point at which the first and second axes intersect.
[0049] After the first and second axes are determined, the measuring device may be moved to a further location to take one or more survey measurements, for example to measure a feature of the built or natural environments. The further location is determined relative to the first and second axes. The survey measurements are thereby positioned in the local coordinate system.
[0050] When a further feature of the built or natural environments is to be measured, the measuring device may, in some exemplary embodiments, be placed again at a point on the first axis, and at a point on the second axis. These points may be the same or different to the first and second points mentioned above. For example, the first and second points may be on adjacent walls of a building and, in that case, the measuring device need not be placed at the same point on the walls as was done initially. It is sufficient for the measuring device to be place at any point on the walls. This applies equally to any survey feature that has a planar surface. Survey measurements relating to the further feature may then be taken.
[0051] In exemplary arrangements, the first and second axes may each be coincident with orthogonal elements of a feature, such as walls of building. Figure 1 shows a schematic representation of an exemplary system 100. The system 100 comprises a measuring device 102 and a processing device 104. Detailed descriptions of exemplary measuring and processing devices 102, 104 are given below. Broadly, the measuring device 102 comprises a one or more sensors arranged to obtain measured data representing its position and / or orientation. For example, the one or more sensors may be configured to record linear accelerations and rotational velocities.
[0052] The measuring device 102 is configured to transmit to the processing device 104 measured data representing its position and / or orientation.
[0053] The processing device 104 includes a processor for determining survey data based on the measured data. The processing device 104 may be configured to present an indication of the survey data to a construction worker. In some exemplary arrangements, the processing device may be configured to export data representing at least part of the determined survey data. The exported data may, for example, be suitable for representation in CAD software, or the like.
[0054] It will be appreciated that at least part of the processing of the measured motion and distance data may be undertaken at the measuring device 102 before transmission to the processing device 104. It will also be appreciated that the processing device 104 may form part of the measuring device 102 and they may be housed within a single unit.
[0055] In exemplary arrangements, the measuring device 102 may be a hand-held or otherwise portable unit suitable for being carried by a construction worker. In exemplary arrangements, the processing device 104 may be a portable processing device, such as a mobile phone, tablet or laptop computer.
[0056] The transmission of measured data from the measuring device 102 to the processing device 104 is shown in Figure 1 as a wireless transmission 106. The wireless transmission may be a radio frequency transmission using known hardware and communications protocols, such as Bluetooth (RTM), near field communication, Wi-Fi, network based communications (e.g. the internet) or mobile telecommunications protocols. The wireless transmission 106 may also use optical transmission hardware and protocols. The transmission may be at least partially wired and, in some arrangements, could be fully wired. The processing device 104 may also transmit data to the measuring device 102 via the same, or a different, communications medium and / or protocol. The transmission of measured motion data may be substantially in real time. For example, measurements may be recorded and data representing those measurements transmitted as soon as possible thereafter, e.g. on an open communications link. In some arrangements, the transmission of data may be intermittent and / or from time-to-time. For example, the measuring device may record a plurality of measurements and store data representing the plurality of measurements for transmission at a later time. In such arrangements, the transmission may be triggered manually, e.g. after all measured data has been collected, or may be triggered by the measuring device 102 detecting an open communication channel (either direct or indirect) to the processing device 104.
[0057] Figure 2 shows a schematic representation of a measuring device 102, which may be the measuring device 102 in Figure 1. The measuring device 102 comprises a transmitter 202 and, optionally, a receiver 204. The transmitter 202 and receiver 204 may be in data communication with other entities, such as the processing device 104 or servers and / or functions in a telecommunications network, and are configured to transmit and receive data accordingly.
[0058] The measuring device 102 further comprises a memory 206 and a processor 208. The memory 206 may comprise a non-volatile memory and / or a volatile memory. The memory 206 may have a computer program 210 stored therein. The computer program 210 may be configured to undertake methods disclosed herein. The computer program 210 may be loaded in the memory 206 from a non-transitory computer readable medium 212, on which the computer program is stored. The measuring device 102 may also comprise motion sensors 214 (e.g. inertial sensors). The processor 208 is configured to undertake one or more of the functions necessary for operation of one or more of the remaining elements of the measuring device 102.
[0059] The inertial sensors 214 may comprise accelerometers and / or rate gyros. The inertial sensors 214 may be arranged to measure acceleration and rotational velocity of the measuring device 102 in three orthogonal axes, typically identified as x-axis, y-axis and z-axis. The accelerations and rotational velocities may be recorded in a body frame (i.e. a frame fixed in relation to the measuring device 102 and defined by the x, y and z axes) and converted to any other reference frame (e.g. a local coordinate system or reference frame based on a land area or a construction site) using well known techniques. The inertial sensors 214 may form part of an Inertial Measurement Unit (IMU) housed within the measuring device 102. The inertial sensors 214 may incorporate micro-electro-mechanical systems (MEMS) technology. Throughout this document, inertial sensors are referred to, although it should be understood that other motion or positioning sensors may be employed. Such motion or positioning sensors include any sensor that is able to detect rotational and / or linear movement of the measuring device 102. These may include, as examples only, sensors using technology relating to GNSS, doppler, cellular positioning, wi-fi positioning, cameras, lasers etc.
[0060] Each of the transmitter 202 and receiver 204, memory 206, processor 208 and inertial sensors 214 is in data communication with the other features of the measuring device 102. The measuring device 102 can be implemented as a combination of hardware and software. In particular, software may be configured to run on the processor 208. The memory 206 stores the various programs / executable files that are implemented by the processor 208, and also provides a storage unit for any required data.
[0061] Figure 3 shows a schematic representation of a processing device 104, which may be the processing device 104 in Figure 1. The processing device 104 comprises a receiver 304 and optionally a transmitter 302. The transmitter 302 and receiver 304 may be in data communication with other entities, such as measuring device 102 or servers and / or functions in a telecommunications network, and are configured to transmit and receive data accordingly.
[0062] The processing device 104 further comprises a memory 306 and a processor 308. The memory 306 may comprise a non-volatile memory and / or a volatile memory. The memory 306 may have a computer program 310 stored therein. The computer program 310 may be configured to undertake the methods disclosed herein. The computer program 310 may be loaded in the memory 306 from a non-transitory computer readable medium 312, on which the computer program 310 is stored. The processor 308 is configured to undertake the functions of a position and orientation determiner 314, an axis locator 316, a local level determiner 318 and a plan generator 320. The processing device 104 also optionally comprises a display 322 and a user interface 324.
[0063] Each of the transmitter 302 and receiver 304, memory 306, processor 308, display 322 and user interface 324 is in data communication with the other features of the processing device 104. The processing device 104 can be implemented as a combination of hardware and software. In particular, the position and orientation determiner 314, axis locator 316, local level determiner 318 and plan generator 320 may be implemented as software configured to run on the processor 308. The memory 306 stores various programs / executable files that are implemented by the processor 308, and also provides a storage unit for any required data. The programs / executable files stored in the memory 306, and implemented by the processor 308, can include the position and orientation determiner 314, axis locator 316, local level determiner 318 and plan generator 320, but are not limited to such.
[0064] Figure 4 shows a plan 400 of a ground floor of an exemplary building. The plan includes a living / kitchen area 402, a bathroom 404 and an office / study 406. In the kitchen area, there is a fixed island 408. When surveying the interior of the building, a surveyor may want to measure the dimensions of each room 402, 404 and 406. The surveyor may also want to measure the dimensions and location of the fixed island 408. In addition to the dimensions of these features of the building, the surveyor may also want to determine their relative alignment and position. Relative alignment may be determined by establishing a local coordinate system and positioning and orienting each feature with respect to that local coordinate system.
[0065] For the purposes of this description, the term “feature” may encompass any part of the built or natural environments to be surveyed. The dimensions of one feature may be measured independently of the dimensions of another feature. The alignment of the features may not be understood from the dimensions of the features alone. For example, a feature may be a room of a building, or a permanent or semi-permanent part of a building, such as a kitchen island. Each feature may have elements, such as walls and / or edges. Each element may have a dimension that may be measured as a survey measurement.
[0066] Figure 5 shows a flow diagram of an exemplary method of determining a position of a survey measurement in a local coordinate system.
[0067] At step 500, the measuring device 102 is placed at a first location, in this case against a first wall. The wall may, for example, be an internal wall 410 of the living / kitchen area 402 of the plan 400. Motion data is recorded by the measuring device 102. In exemplary arrangements, the motion data recorded by the measuring device is transmitted to the processing device 104 for processing. This may be done in real time or at a later time. Accordingly, the steps of the flow diagram of Figure 5 may be conducted out of the order described herein.
[0068] At step 502, the position and orientation determiner 314 of the processing device 104 determines a first position of the measuring device 102 based on the motion data recorded by the measuring device 102 at step 500.
[0069] At step 504, the measuring device 102 is placed at a second location, in this case against a second wall. The second wall may be substantially perpendicular to the first wall. The wall may, for example, be a further internal wall 412 of the living / kitchen area 402 of the plan 400. Motion data is recorded by the measuring device 102.
[0070] At step 506, the position and orientation determiner 314 of the processing device 104 determines a second position of the measuring device based on the motion data recorded by the measuring device 102 at step 504. In a particular arrangement, the second position may be determined relative to the first position.
[0071] At step 508, the axis locator 316 of the processing device 104 determines a first axis 414 of a local coordinate system to be passing through the first position, and determines a second axis 416 of the local coordinate system to be passing through the second position. The axis locator 316 may be configured to determine the first and second axes to be substantially orthogonal. A 2-dimensional origin of the local coordinate system may be determined by the axis locator 316 to be the point at which the first and second axes intersect.
[0072] A specific arrangement is shown in Fig. 7. The measuring device 102 is placed at a first location 700 that lies on a first wall 702. The measuring device 102 is then placed at the second location 704 that lies on a second wall 706 that is adjacent to the first wall 702. The first position 700 is determined to be the origin of the local coordinate system. The first axis 708 (the y-axis in Fig. 7) passes through the first position 700. The second axis 710 (the x- axis in Fig. 7) passes through the second position 704. In the example shown, the second axis 710 also passes through the first position 700 as that is the origin. The first and second axes 708, 710 define the local coordinate system.
[0073] The axis locator 316 may be configured to determine that the first and second axes are horizontally aligned, for example with a local level. Accordingly, the local level determiner 318 may be configured to determine the local level based on the motion data. The motion data may include an acceleration caused by local gravity. Determining the gravity vector from the motion measurements may be done in ways known to the skilled person. Alternatively, the local level may be determined by placing the measuring device 102 at a third location, which may be a horizontal surface, such as a floor or ceiling.
[0074] It is noted that the first position may be at any location along the first wall 410 702, and the second position may be at any location along the second wall 412, 706. The first position and the second position may be at different heights. Accordingly, the axis locator 316 may be configured to project the first and second axes 414, 416, 708, 706 in 2 dimensions to provide a 2-dimensional local coordinate system. In some arrangements, the position and orientation determiner 316 may be configured to determine the orientation of the measuring device 102 as well as its position when it is placed at the first and / or second positions. In such arrangements, it may be advantageous for the measuring device 102 to include a straight edge, such as a flat surface that may be placed in alignment with the first and second axes, for example against the walls 410, 412, 702, 706.
[0075] In the exemplary arrangement of Fig.7, the position and orientation determiner 316 may, based on the orientation of the first and second walls 702, 706, determine a position of a feature, such as the corner 712 of the room in the local coordinate system - in this case as the point of intersection of the first and second walls 702, 706. In some arrangements, the corner 712 may have been surveyed previously as one of a plurality of features, such that its position is known in a previous coordinate system. By defining the axes 708, 710 as in Fig.7 and determining the position of the corner (or another feature) relative to the local coordinate system, systems and methods disclosed herein are able to align the previously surveyed features with the features surveyed in the local coordinate system.
[0076] In exemplary arrangements, the position and orientation determiner 316 may determine position and / or orientation of the measuring device 102 using dead reckoning techniques. That is, the motion data may provide data specifying motion and / or rotation in three orthogonal axes, which may be added to a last known position of the measuring device 102 to determine current position. In a specific arrangement the motion data may comprise linear accelerations and rotational velocities. Accordingly, motion data obtained while the measuring device is moving to the first location, second location and survey locations may be used to determine the corresponding positions.
[0077] A part of a structure, whether permanent or temporary, may define the first and second axes, such as adjacent walls forming a corner of a room or building. In these scenarios, the measuring device 102 may be placed against a first wall (the first location) and the position and orientation of the measuring device 102 may be determined. The axis locator 316 may then determine that the first axis is aligned with a horizontal component of the orientation of the measuring device 102 and passes through the determined position of the measuring device 102 (the first position). This process may be repeated for the second axis.
[0078] At step 510, the measuring device 102 is placed at one or more survey locations. The measuring device 102 records motion data. For example, the measuring device 102 may be positioned at the four edges of the kitchen island 408 in order to determine the position, orientation and dimensions of the kitchen island 408. Alternatively, the measuring device 102 may be positioned on the four walls of bathroom 404 or the office / study 406 to determine the position, orientation and dimensions of those rooms.
[0079] It should be noted that, in exemplary arrangements, the measuring device 102 may be configured to undertake any measurement whilst at a survey position. For example, the measuring device 102 may include a laser distance measurer, a camera, a doppler sensor or any other type of sensor and one or more of these sensors may be used to record a survey measurement at the one or more survey positions.
[0080] At step 512, the position and orientation determiner 314 determines the survey position and aligns it with respect to the local coordinate system. Survey measurements are thereby aligned with within the local coordinate system.
[0081] At step 514, it is determined whether more survey measurements are required and, if so, the measuring device 102 is positioned at further survey locations and further survey positions are determined by repeating steps 510 and 512. For example, a construction professional may wish to survey an entire feature or set of features. Alternatively, a construction professional may continue to determine survey positions until a certain time, such as lunch or the end of the day.
[0082] Optionally, once all survey positions have been determined, the measuring device 102 may be repositioned against the first and / or second wall at step 516. This allows errors to be determined at step 518 because the device 102 is placed in an at least partially known position, for example a known orientation, in a known plane (i.e. on the wall) and / or in a known position on the wall, which may be the same position as in steps 500 and 504.
[0083] In exemplary arrangements, it may be advantageous to determine an error part way through a survey. For example, when a further feature is to be surveyed the measuring device 102 may be repositioned at a point on the first axis 414 and then on the second axis 416 before being placed in one or more further survey positions to obtain one or more survey measurements. For example, if a construction professional wishes to survey the bathroom 404 after surveying the kitchen island 408, the measuring device 102 is repositioned against the first wall 410. The measuring device 102 may also be repositioned against the second wall 412. The position and orientation determiner 314 may be configured to determine when the measuring device 102 is repositioned on the first and / or second axes based on the motion data. The position and orientation determiner 314 may determine a reset first position and a reset second position based on the motion data. The position and orientation determiner 314 may determine an error in the motion data based on the first position and / or a reset second position. This allows the first and second axes of the local coordinate system to be reset. The measuring device 102 is then taken into, for example, the bathroom 404 and is placed at the survey positions necessary to survey the bathroom, e.g. placed on each of the four walls.
[0084] In this way, the surveys of the kitchen island 408 and the bathroom 404 are aligned in the local coordinate system and are therefore aligned relative to each other. Resetting the axes increases accuracy of the positions of the survey measurements in the local coordinate system. The position and orientation determiner 314 may be configured to determine that the data relating to the repositioning of the measuring device 102 on the first and second axes 414, 416 are not survey positions.
[0085] In exemplary arrangements, one or more of the survey positions determined at step 512 may be used to determine updated first and second axes. For example, steps 500-508 may be undertaken as described above. Following that, a room may be surveyed using the measuring device 102 by determining the location and orientation of each wall of the room, as described. A second room may now need to be surveyed. The second room may be adjacent to the first room, but a large distance away from the first and second axes. In such cases, one or more walls of the first room may be used as first and second axes for determining survey positions within the second room, wherein the measuring device 102 is positioned on those walls to determine updated first and second axes. It will be understood by the skilled person that the above use of walls is only an example and the principle may be generalised to any surveyed feature.
[0086] It is noted that in the example described above, the surveyed feature (kitchen island 408) and the further surveyed feature (bathroom 404) are also aligned with respect to the living / kitchen area 402 because the first and second axes 414, 416 are coincident with the first and second walls 410, 412.
[0087] The example above uses walls to define the first and second axes, but other elements of a feature may be used. In addition, the local coordinate system may be defined by elements not forming part of a feature. For example, a temporary structure defining the first and second axes may be erected or marked out. In one arrangement, the measuring device 102 may be placed at a third position, which may be used by the axis locator 316 to determine a third axis of the local coordinate system. The third position may be a floor or ceiling of a building. Accordingly, the survey position(s) may be determined in three axes relative to the local coordinate system.
[0088] In such arrangements, the first and second positions and optionally the horizontal orientations of the measuring device 102 may be used as above to determine the horizontal axes of the local coordinate system. The axis locator 316 may be configured to determine that a third axis extends from the origin of the first and second axes 414, 416. The vertical orientation of the measuring device 102 at one or both of the first and second positions may be used to determine a direction of a third axis of the local coordinate system. In some arrangements, the direction of the third axis may alternatively or additionally be determined based on the orientation of the measuring device at the third position, e.g. the direction of the third axis may be orthogonal to the orientation of the measuring device 102 at the third position. In yet further arrangements, the direction of the third axis may be determined to be substantially orthogonal to the first and second axes 414, 416.
[0089] The third position may be used to determine a 3-dimensional origin of the third axis. The origin of the local coordinate system is determined to be the position at which the first and second axes intersect at the height of the third position.
[0090] In a specific arrangement, the processing device may be configured to identify walls of a room based on a position and orientation of the measuring device. This mode of operation may be termed ‘wall detection mode’. In wall detection mode, the position and orientation determiner 314 is configured to determine a position and an orientation of the measuring device 102 when it is placed against a wall. In such arrangements, it is advantageous for the measuring device to include a flat surface on its housing that may be placed against the wall. The plan generator 320 may be arranged to determine that the wall of a building is aligned with the determined orientation of the measuring device 102 (i.e. the orientation of the flat surface) at the determined position. Corners of a room may be determined to be the locations where the walls meet.
[0091] Figure 6 shows a flow diagram of a method for determining a position of a survey measurement in a local coordinate system. In the exemplary method of Figure 6, the processing device may be in wall detection mode. At step 600, the measuring device 102 is placed against the first wall 410 in substantially the same way as for the method shown in Figure 5.
[0092] At step 602, the position and orientation determiner 314 determines the position and orientation of the measuring device 102 based on the motion data.
[0093] At step 604, the survey generator 320 determines the position and orientation of the first wall 410 based on the determined position and orientation of the measuring device 102. If a plan is required then only the horizontal orientation of the wall may be determined.
[0094] At step 606, it is determined whether there are more walls to survey. This may be determined based on user input. In some arrangements it may be determined based on whether the walls so far determined define a substantially closed loop (accounting for some closure error). If more walls are to be surveyed then steps 600-606 are repeated until no more walls remain.
[0095] Steps 608 and 610 are optional and allow errors to be reduced. At step 608, the measuring device 102 is placed against the first wall 410 for a second time. At step 610, the position and orientation determiner 314 determines the position and orientation of the measuring device 102 based on the motion data and, by comparison with the first determined position and orientation, is able to calculate an error that can be used to correct previous determinations of position and orientation. Errors can be reduced still further if the measuring device 102 is placed in substantially the same location as when it was placed against the first wall the first time.
[0096] After step 610, all walls of the living / kitchen area 402 have been positioned and a plan of that room has been determined by the plan generator 320.
[0097] Some time later, a construction professional may wish to survey a further feature (e.g. a different room or other external or internal feature). At step 612, the measuring device 102 is positioned on the first wall 410 and the second wall 412 of a surveyed room. Accordingly, the first and second axes 414, 416 of a local coordinate system are defined. It is noted that the measuring device 102 need not be placed on the first and second wall, but could be placed on the surface of any previously surveyed element of a feature. For example, the measuring device 102 may be placed on a wall and the inside of a door jamb, a wall and the inside of a window opening, or any surfaces that are transverse and optionally at right angles to each other. At step 614, further survey measurements are taken, e.g. to survey the different room or other external or internal feature. The measuring device 102 may, for example, be positioned at the four corners of the kitchen island 408 to measure its dimensions and orientation within the local coordinate system, or may be positioned on the walls of the bathroom 404.
[0098] At step 616, the measuring device 102 is repositioned on the first and / or second walls 410, 412, as discussed above and the first and second axes 414, 416 may be reset with errors calculated.
[0099] At step 618, the measuring device 102 may be positioned to take further survey measurements.
[0100] In exemplary arrangements, an algorithm operating on the processor 408 of the processing device may detect that measurements of one feature have been completed and / or that measurements of a further feature have begun. Such algorithms are not explained in detail herein. Alternatively, the construction professional may indicate through the user interface 322 that measurements of one feature have been completed and / or that measurements of a further feature have begun.
[0101] In exemplary arrangements, the measuring device 102 may include a reference point. The reference point may be a location or surface on the measuring device 102 at which the position and / or orientation of the measuring device 102 is to be calculated.
[0102] A computer program may be configured to provide any of the above described methods. The computer program may be provided on a computer readable medium. The computer program may be a computer program product. The product may comprise a non-transitory computer usable storage medium. The computer program product may have computer-readable program code embodied in the medium configured to perform the method. The computer program product may be configured to cause at least one processor to perform some or all of the method.
[0103] Various methods and apparatus are described herein with reference to block diagrams or flowchart illustrations of computer-implemented methods, apparatus (systems and / or devices) and / or computer program products. It is understood that a block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and / or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and / or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions / acts specified in the block diagrams and / or flowchart block or blocks, and thereby create means (functionality) and / or structure for implementing the functions / acts specified in the block diagrams and / or flowchart block(s).
[0104] Computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions / acts specified in the block diagrams and / or flowchart block or blocks.
[0105] A tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc readonly memory (DVD / Blu-ray).
[0106] The computer program instructions may also be loaded onto a computer and / or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and / or other programmable apparatus to produce a computer- implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions / acts specified in the block diagrams and / or flowchart block or blocks.
[0107] Accordingly, the invention may be embodied in hardware and / or in software (including firmware, resident software, micro-code, etc.) that runs on a processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
[0108] It should also be noted that in some alternate implementations, the functions / acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality / acts involved. Moreover, the functionality of a given block of the flowcharts and / or block diagrams may be separated into multiple blocks and / or the functionality of two or more blocks of the flowcharts and / or block diagrams may be at least partially integrated. Finally, other blocks may be added / inserted between the blocks that are illustrated.
[0109] It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed systems and methods. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed systems and methods. It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents.
Claims
CLAIMS1. A system for determining a position of a survey measurement in a local coordinate system, the system comprising: a measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device; and a computer processor configured to: determine, based on motion data obtained when the measuring device is placed at a first location, a first position of the measuring device; determine, based on motion data obtained when the measuring device is placed at a second location, a second position of the measuring device; determine a first axis of a local coordinate system, wherein the first axis passes through the first position, determine a second axis of the local coordinate system, wherein the second axis passes through the second position; determine, based on motion data obtained when the measuring device is placed at one or more survey locations, one or more survey positions in the local coordinate system, based on the first axis and the second axis.
2. The system of claim 1 , wherein the computer processor is further configured to determine the first and second axes of the local coordinate system such that they are substantially orthogonal.
3. The system of claim 1 or 2, wherein the computer processor is further configured to determine a 2-dimensional origin of the local coordinate system to be a point where the first and second axes intersect.
4. The system of any preceding claim, wherein the second axis further also passes through the first position, such that the first position is the origin of the local coordinate system.
5. The system of any preceding claim, wherein the computer processor is further configured to: determine a first orientation of the measuring device at the first position, based on the motion data; determine a second orientation of the measuring device at the second position, based on the motion data.
6. The system of claim 5, wherein the first position lies on a first planar feature of the built or natural environments, and wherein the second feature lies on a second planar feature of the built or natural environments that is transverse to the first planar feature, the computer processor being further configured to: determine, in a horizontal plane, a point of intersection of the first and second planar features based on the determined first and second positions and the determined first and second orientations, wherein a position of the point of intersection is known relative to one or more previously measured survey points referenced in a previous local coordinate system.
7. The system of any preceding claim, wherein the computer processor is further configured to: determine, when the measuring device has been repositioned on the first and / or the second axis, a reset first position and / or a reset second position based on the motion data; and determine an error in the motion data based on the first position, the second position and the reset first position and / or the reset second position.
8. The system of any preceding claim wherein the first and second positions are located on one or more previously surveyed features.
9. The system of claim 8, wherein the one or more previously surveyed features include adjacent internal and / or external walls of a building.
10. The system of any preceding claim, wherein the computer processor is further configured to determine a direction of a third axis, and optionally wherein the third axis is orthogonal to the first and second axes.
11. The system of claim 10, wherein the computer processor is configured to determine the direction of the third axis based on an orientation of the measuring device at the first position and / or the second position.
12. The system according to any preceding claim, wherein the computer processor is configured to determine the first position, the second position and / or the one or more survey positions based on the motion data and using dead reckoning.
13. The system according to any preceding claim, wherein the plurality of sensors comprise inertial sensors and optionally form part of an inertial measurement unit.
14. A method of determining a position of a survey measurement in a local coordinate system using a measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device, the method comprising: determining, by a position and orientation determiner and based on motion data obtained when the measuring device is placed at a first location, a first position of a measuring device, determining, by the position and orientation determiner and based on motion data obtained when the measuring device is placed at a second location, a second position of the measuring device based on the motion data; determining, by an axis locator, a first axis of a local coordinate system, wherein the first axis passes through the first position, determining, by the axis locator, a second axis of the local coordinate system, wherein the second axis passes through the second position; determining, by the position and orientation determiner and based on motion data obtained when the measuring device is placed at one or more survey locations, one or more survey positions in the local coordinate system based on the first axis and the second axis.
15. A computer program configured, when executed on a computer processor, to control a computer processor to undertake one or more of the steps of the method of claim 14.
16. A processing device for determining a position of a survey measurement in a local coordinate system, the processing device comprising: a receiver configured to receive motion data from a measuring device, the measuring device including a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device; and a computer processor configured to: determine, based on the received motion data obtained when the measuring device was placed at a first location, a first position of the measuring device; determine, based on the received motion data obtained when the measuring device was placed at a second location, a second position of the measuring device based on the motion data;determine a first axis of a local coordinate system, wherein the first axis passes through the first position, determine a second axis of the local coordinate system, wherein the second axis passes through the second position; determine, based on the received motion data obtained when the measuring device was placed at one or more survey locations, one or more survey positions in the local coordinate system, based on the first axis and the second axis.
17. A method of determining a position of a survey measurement in a local coordinate system, the method comprising: receiving motion data from a measuring device, wherein the measuring device includes a plurality of sensors configured to obtain motion data representing position and optionally orientation of the measuring device based on rotational and / or linear movement of the measuring device, determining, by a position and orientation determiner and based on received motion data obtained when the measuring device is placed at a first location, a first position of the measuring device, determining, by the position and orientation determiner and based on received motion data obtained when the measuring device is placed at a second location, a second position of the measuring device; determining, by an axis locator, a first axis of a local coordinate system, wherein the first axis passes through the first position, determining, by the axis locator, a second axis of the local coordinate system, wherein the second axis passes through the second position; determining, by the position and orientation determiner and based on received motion data obtained when the measuring device is placed at one or more survey locations, one or more survey positions in the local coordinate system based on the first axis and the second axis.
18. A computer program configured, when executed on a computer processor, to control a computer processor to undertake one or more of the steps of the method of claim 17.