System for virtual display and method of use
09726885 · 2017-08-08
Assignee
Inventors
- Timothy A. Cummings (Fort Worth, TX, US)
- David K. Hess (Dallas, TX, US)
- Marvin R. Young (Richardson, TX)
Cpc classification
H04N23/58
ELECTRICITY
G02B2027/0187
PHYSICS
H04N23/90
ELECTRICITY
G02B27/0179
PHYSICS
H04N23/69
ELECTRICITY
International classification
G06T19/00
PHYSICS
Abstract
A preferred system and method for projecting a business information model at a construction site includes a network, a system administrator connected to the network, a database connected to the system administrator, a set of registration markers positioned in the construction site, and a set of user devices connected to the network. The system includes a hard hat, a set of headsets mounted to the hard hat, a set of display units movably connected to the set of headsets, a set of cameras connected to the set of headsets, and a wearable computer connected to the set of headsets and to the network. The cameras capture an image of the set of registration markers. A position of the user device is determined from the image and an orientation is determined from motion sensors. A BIM is downloaded and projected to a removable visor based on the position and orientation.
Claims
1. A visor for a construction hard hat capable of rendering semi-transparent information comprising: a pocket rigidly attached to the hard hat; a headset removably attached to the pocket; and, a display unit, operatively connected to the headset, for displaying the semi-transparent information on an inside surface of the visor; the display unit further comprising: a set of registration cameras positioned on the hard hat; and, a computer operatively connected to the set of registration cameras and the display unit and programmed to: receive position information from the set of registration cameras; calculate a building information model (BIM) display view based in the position information; send the BIM display view to the display unit as the semi-transparent information; wherein the display unit further comprises: a verbal command translator, operatively connected to the computer; wherein the computer is further programmed to: receive a verbal command from the verbal translator; and, change the BIM display view based on the verbal command.
2. The visor of claim 1, wherein the display unit further comprises: a projector; a light guide attached to the projector; and, a view camera operatively positioned adjacent the projector and the light guide.
3. The visor of claim 2, wherein the projector further comprises: a light source; and, a lens adjacent to the light source.
4. The visor of claim 3, wherein the light guide further comprises: a set of interior surfaces; an input surface attached to the set of interior surfaces and adjacent to the projector; and, an output surface attached to the set of interior surfaces opposite the input surface.
5. The visor of claim 4, wherein the input surface is positioned at a first angle to provide total internal reflection in the light guide.
6. The visor of claim 4, wherein the output surface is positioned at a second angle to project a rendering out of the light guide.
7. The visor of claim 1, wherein the set of registration cameras are positioned on the hard hat to view a 360° arc about a vertical axis of the hard hat.
8. The visor of claim 1, wherein the semi-transparent information is one or more of the group of construction plans, queuing information, tool locations, photographs, text, equipment manuals and parts lists.
9. The visor of claim 1, wherein the semi-transparent image is displayed by the display unit as a stereoscopic image.
10. A system for projecting a business information model at a construction site comprising: a set of registration markers positioned at the construction site; and, a user device comprising: a set of headset computation modules; a set of display units operatively connected to the set of headset computation modules; a set of registration cameras operatively connected to the set of headset computation modules and directed towards the set of registration markers; a computer connected to the set of headset computation modules and programmed to carry out the steps of: receiving the business information model; receiving a position image of at least one registration marker of the set of registration markers from the set of registration cameras; determining a position and an orientation of the user device based on the position image; rendering the business information model, based on the position and orientation, as a rendered business information model; displaying the business information model as a stereoscopic image; wherein the step of rendering further comprises the steps of: rotating a business information model segment based on the position and the orientation; determining a clipped business information model segment from the position and the business information model segment; and, rendering the clipped business information model segment as a stereoscopic image.
11. The system of claim 10, wherein each registration marker of the set of registration markers further comprises: a unique position code; and, wherein the computer is further programmed to: associate the unique position code with a unique position of each registration marker of the set of registration markers.
12. The system of claim 10, further comprising: a movement sensor operatively connected to at least one headset computation module of the set of headset computation modules; and, wherein the computer is further programmed to: receive headset movement data from the movement sensor; and, determine the position and the orientation of the user device from the headset movement data.
13. The system of claim 12, wherein the computer is further programmed to: dynamically calculate a transition position of the user device from the headset movement data when the position image is unavailable.
14. The system of claim 10, wherein the system further comprises: a remote sensor; a network operatively connected to the computer; and, wherein the computer is further programmed to carry out the steps of: capturing a virtual image of a virtual object and an actual image of a physical object; and, sending the captured image and the actual image to the network.
15. The system of claim 10, wherein the computer is further programmed to carry out the steps of: capturing a first image of the rendered business information model; capturing a second image of a physical object; and, superimposing the first image and the second image.
16. In a system comprising a computer, a headset connected to the computer, a display unit connected to the headset and a set of registration cameras connected to the headset, a method comprising the steps of: receiving a business information model segment; receiving a registration image of a registration marker; determining a position of the headset based on the registration image; determining an orientation of the headset; rendering the business information model segment based on the position and the orientation as a rendered business information model segment; displaying the rendered business information model segment on the display unit; wherein the step of determining a position further comprises the steps of: locating a set of edges in the registration image; deskewing the registration image using the set of edges to determine a set of position angles to generate a deskewed image; receiving a set of dimensions; determining a distance from the set of dimensions and the deskewed image; determining the position from the set of position angles and the distance; wherein the display unit further comprises a temporal camera, and wherein the step of determining an orientation further comprises: retrieving a set of movement data from the temporal camera; and, determining a set of rotational movements from the set of movement data.
17. The method of claim 16, further comprising the steps of: reading a code from the deskewed image; locating a marker position of the registration marker; associating the marker position with the code; and, storing the marker position and the code.
18. The method of claim 16, wherein the step of deskewing further comprises the steps of: determining a set of reference lines for the set of edges; calculating a pair angle between each pair of the set of reference angles; calculating a skew angle for each pair of angles; and, rotating the registration image by the skew angle.
19. In a system comprising a computer, a headset connected to the computer, a display unit connected to the headset and a set of registration cameras connected to the headset, a method comprising the steps of: receiving a business information model segment; receiving a registration image of a registration marker; determining a position of the headset based on the registration image; determining an orientation of the headset; rendering the business information model segment based on the position and the orientation as a rendered business information model segment; displaying the rendered business information model segment on the display unit; wherein the step of rendering further comprises the steps of: rotating the business information model segment based on the position and the orientation; determining a clipped business information model segment from the position and the business information model segment; and, rendering the clipped business information model segment as a stereoscopic image.
20. In a system comprising a computer, a headset connected to the computer, a display unit connected to the headset and a set of registration cameras connected to the headset, a method comprising the steps of: receiving a business information model segment; receiving a registration image of a registration marker; determining a position of the headset based on the registration image; determining an orientation of the headset; rendering the business information model segment based on the position and the orientation as a rendered business information model segment; displaying the rendered business information model segment on the display unit; retrieving a set of data; receiving a selection of a subset of data from the set of data; receiving a position and a size for the subset of data; displaying the subset of data at the position and the size; wherein the step of rendering further comprises the steps of: rotating the business information model segment based on the position and the orientation; determining a clipped business information model segment from the position and the business information model segment; and, rendering the clipped business information model segment as a stereoscopic image.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) In the detailed description presented below, reference is made to the accompanying drawings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
DETAILED DESCRIPTION
(33) It will be appreciated by those skilled in the art that aspects of the present disclosure may be illustrated and described in any of a number of patentable classes or contexts including any new and useful process or machine or any new and useful improvement.
(34) Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++, C#, .NET, Objective C, Ruby, Python SQL, or other modern and commercially available programming languages.
(35) Referring to
(36) In a preferred embodiment, each of user devices 104 communicates with system administrator 102 to access BIM database 103 to project a BIM as will be further described below.
(37) It will be appreciated by those skilled in the art that any type of three-dimensional rendering may be employed in the disclosed embodiment and that a BIM is just one example of such a three-dimensional rendering.
(38) Referring to
(39) Wearable computer 201 includes processor 207 and memory 209 connected to processor 207, and network interface 208 connected to processor 207. Augmented reality application 210, BIM 211, and a set of videos, images, and data 212 are stored in memory 209. In one embodiment, control input device 206 is connected to wearable computer 201. In preferred embodiment control input device 206, is a remote control having a navigation pad and a selection button. Any type of control input device known in the art may be employed.
(40) Headset 202 is further connected to display unit 213 and a set of cameras 214. Headset 202 includes processor 215, a set of sensors 216 connected to processor 215, and memory 217 connected to processor 215.
(41) Referring to
(42) User 301 wears communication device 315. Communication device 315 includes earpiece speaker 316 and microphone 317. Communication device 315 is preferably connected to wearable computer 313 via a wireless connection such as a Bluetooth connection. In other embodiments, other wireless or wired connections are employed. Communication device 315 enables voice activation and voice control of an augmented reality application stored in the wearable computer 313 by user 301.
(43) In one embodiment, camera matrix 318 is detachably connected to headset 303. Camera matrix 318 includes halo 319 and halo 321, each of which is detachably connected to headset 303. A set of base cameras 320 is connected to halo 319 and in communication with headset 303. A set of angled cameras 322 is connected to halo 321 and in communication with headset 303.
(44) Referring to
(45) In another preferred embodiment, the cameras are each mounted securely to the inside surface of the hard hat and are positioned to view the outside world through the holes.
(46) In a preferred embodiment, a BIM is downloaded from a system administrator server into a memory resident in a wearable computer 313. The BIM is transmitted from wearable computer 313 through headset 303 and projector 325 for viewing adjacent eye 323 of user 301 to augment the vision of user 301, as will be further described below. The user can select different layers of the BIM to view via voice control. For example, the BIM includes an electrical layer, which shows the location of electrical conduit, connection points, and equipment. As the user moves, headset 303 and wearable computer 313 tracks the location of user 301 and the position and orientation of the user's head using camera 326 and/or camera matrix 318.
(47) In one embodiment, a set of data is downloaded, selected, and displayed to user 301. In one embodiment, the position and orientation of the user's head is not tracked in a display mode. Rather, the data is displayed without regard to the position of the user or hard hat. Any type of data content may be selected, formatted, scaled and displayed, including images, photos, text messages, videos, emails, graphics, documents, drawings, and sketches.
(48) In a preferred embodiment, processor 310 is a 2.8 GHz octa-core Snapdragon 810 processor available from QUALCOMM® Technologies, Inc. Other suitable processors known in the art may be employed.
(49) In a preferred embodiment, sensors 312 is a 9-axis motion tracking system-in-package sensor, model no. MP11-9150 available from InverSense®, Inc. In this embodiment, the 9-axis sensor combines a 3-axis gyroscope, a 3-axis accelerometer, an on-board digital motion processor, and a 3-axis digital compass. In other embodiments, other suitable sensors and/or suitable combinations of sensors may be employed.
(50) In a preferred embodiment, memory 311 is a 2 GB LPDDR3 RAM. Other suitable memory known in the art may be employed.
(51) In a preferred embodiment, each of base cameras 320 and angled cameras 322 is a 16 megapixel smartphone camera capable of recording video at 30 fps that includes a CMOS image sensor, part no. 5K3M2 available from Samsung Semiconductor. Other suitable cameras and/or image sensors known in the art may be employed.
(52) Referring to
(53) In a preferred embodiment, each of cameras 404 and 410 is a 16 megapixel smartphone camera capable of recording video at 30 fps that includes a CMOS image sensor, part no. 5K3M2 available from Samsmung Semiconductor. Other suitable cameras and/or image sensors known in the art may be employed.
(54) Referring to
(55) Likewise, display arm 469 includes a set of ridges 472 integrally formed on it. Mounting arm 471 includes flexible mounts 476 to detachably mount glasses 451 to a pocket in hard hat 407. Mounting arm 471 further includes a set of ridges 477 integrally formed on it. Connector 470 has mount portion 478 and display portion 479. Mount portion 478 includes channel 475 integrally formed in it. Channel 475 has ridge 480 integrally formed on it. Mounting arm 471 slidingly engages with channel 475. Set of ridges 477 engages with ridge 480 to enable adjustable positional movement along directions 464 and 465. Display portion 479 includes channel 473 integrally formed in it. Channel 473 includes ridge 474 integrally formed on it. Display arm 469 slidingly engages with channel 473. Set of ridges 472 engages with ridge 474 to enable adjustable positional movement along directions 466 and 467. Glasses 451 includes display light guides 405 and 411 and display units 402 and 409, as previously described. Display unit 402 is connected to headset 403 with a data connection.
(56) In a preferred embodiment, channel 458 is generally perpendicular to channel 460 and vice versa. Other arrangements may be employed.
(57) In a preferred embodiment, channel 475 is generally perpendicular to channel 473 and vice versa. Other arrangements may be employed.
(58) In a preferred embodiment, each of display anus 452 and 469, connectors 453 and 470, and mounting arms 454 and 471 is made of an injection molded plastic. Other suitable materials known in the art may be employed.
(59) In one embodiment, mount portion 456 and display portion 457 are separate pieces attached to each other with a suitable adhesive or epoxy. In another embodiment, mount portion 456 and display portion 457 are integrally formed portions of a single piece adjacent to each other. Other attachment means known in the art may be employed.
(60) In one embodiment, mount portion 478 and display portion 479 are separate pieces attached to each other with a suitable adhesive or epoxy. In another embodiment, mount portion 478 and display portion 479 are integrally formed portions of a single piece adjacent to each other. Other attachment means known in the art may be employed.
(61) Referring to
(62) In a preferred embodiment, each of cameras 503, 504, 505, and 506 is positioned approximately 90° with respect to each other around halo 501. Other angular intervals may be employed.
(63) In a preferred embodiment, each of cameras 511, 512, 513, and 514 is positioned approximately 90° with respect to each other around halo 502. Other angular intervals may be employed.
(64) In a preferred embodiment, each of field of views 507, 508, 509, and 510 is approximately 90°. Other field of view ranges may be employed.
(65) In a preferred embodiment, each of field of views 515, 516, 517, and 518 is approximately 90°. Other field of view ranges may be employed.
(66) In a preferred embodiment, camera matrix 318 provides a 360° view of the surroundings of a user. In other embodiments, other numbers of cameras, angular positions, and field of view ranges may be employed to provide a 360° view.
(67) Referring to
(68) In a preferred embodiment, angles ω and γ, are 30° and 45°, respectively. Any angles may be employed to provide TIR for light guide 601.
(69) In use, light source 605 displays an image received from headset 615. The image is represented by rays 611 and 612. Rays 611 and 612 are transmitted through collimating lens 606 and reflected off of input surface 607 for TIR. Rays 611 and 612 are further reflected off of front surface 613 and rear surface 614 and output surface 608 in field of view 610 of user eye 609.
(70) In a preferred embodiment, light source 605 is an organic light emitting diode (“OLED”) display such as the WUXGA OLED-XL Microdisplay, part no. EMA-100801-01, available from eMagin Corporation. In another embodiment, light source 605 is a light emitting diode (“LED”) display. Other suitable light sources and displays known in the art may be employed.
(71) In a preferred embodiment, light guide 601 is made of acrylic. In another embodiment, light guide 601 is made of poly (methyl methacrylate) (“PMMA”). Other suitable materials known in the art may be employed.
(72) In a preferred embodiment, input surface 607 is a flat mirror and output surface 608 is a partially-reflective mirror, such as a half-silvered mirror. In other embodiments, other combinations for input surface 607 and output surface 608 may employed and are summarized in Table 1 below.
(73) TABLE-US-00001 TABLE 1 Combinations for Input and Output Surfaces Output Surface Diffraction Single Multiple grating Diffraction Reflective Reflective (varying Grating Holographic Input Surface Surface Surfaces index) (lines) Element Single Reflective x x x x x Surface Multiple Reflective x x x x x Surfaces Combination x x x x x Refractive/Reflective Element Diffraction Grating x x x x x (varying index) Diffraction Grating x x x x x (lines) Holographic x x x x x Element
(74) Referring to
(75) Referring to
(76) In one embodiment, a set of data 719 is displayed. The set of data 719 includes image 720 and text 721. Any type of data including images, photos, text messages, videos, emails, graphics, documents, drawings, schematics, diagrams, and hand-drawn sketches may be employed. For example, image 720 is an installation diagram of real object 718 and text 721 is a set of installation instructions for real object 718.
(77) Each of the positions and sizes of image 720 and text 721 is optionally changed by the user.
(78) In one embodiment, set of data 719 is displayed simultaneously with virtual object 717. In another embodiment, set of data 719 is displayed without virtual object 717 in a display mode, as will be further described below.
(79) Referring to
(80) Each of the positions of registration markers 805, 806, and 807 is associated with a position in a BIM. Survey location 810 is precisely positioned at a known location at construction site 800 and saved in the BIM. Reference marker 811 is a master reference point based on the location of the survey location 810. Each of registration markers 805, 806, and 807 is positioned from reference marker 811 to ensure proper location of floor 801 and walls 802 and 803. At least one of registration markers 805, 806, 807, and 811 will be in view of a camera of user device 808 worn by user 809 and at any given time. The camera captures an image of at least one of registration markers 805, 806, 807, and 811. A wearable computer of user device 808 decodes the captured image to determine a real location of at least one of registration markers 805, 806, 807, and 811. The wearable computer determines a corresponding virtual location in the BIM.
(81) For example, user 809 is standing in construction site 800 wearing user device 808 and looking down at location 812 where object 813 is to be installed. Registration marker 805 is in view of user device 808. The projected BIM shows the correct installation position 814 in view of user 809 as if the user were standing inside the BIM. As user 809 tilts his or her head up to look at wall 802 the movement of the user's head is detected by user device 808 and registration marker 806 is in view of user device 808. Based on the position of registration marker 806, the BIM is moved and rotated in real time to align with the user's field of vision and provide an in-person view of the BIM to user 809. Crane 815 lowers object 813 towards location 812. Based on the projected BIM, object 813 should be installed at installation position 814. User 809 uses the projected BIM to properly lower the object 813 and precisely install object 813 at proper installation position 814, thereby saving time and money in the form of overrun construction costs.
(82) If a mistake is found, user 809 captures still images using the camera for upload to the system administrator or records or streams video back to the system administrator. In this way, the party responsible for the mistake can be easily and quickly identified.
(83) Referring to
(84) In a preferred embodiment, each of codes 904 and 906 is a two-dimensional bar code. In this embodiment, each of codes 904 and 906 includes a set of marker information, including a set of dimensions of shapes 903 and 905, and a set of x, y, z coordinates position at which registration markers 901 and 902 are placed, and a description of each shape and location. Any type of code may be employed.
(85) Shapes 903 and 905 enable detection of codes 904 and 906, respectively, at an offset angle. For example, shape 903 is an equilateral triangle and shape 905 is a rectangle. If a camera capturing an image of shapes 903 and 905 is positioned at an offset angle, shapes 903 and 905 will appear as a scalene triangle and a parallelogram, respectively, in a skewed image.
(86) Referring to
(87) In a preferred embodiment, the position of the user is determined from the set of code images 1004 by augmented reality application 1001. Augmented reality application 1001 orients BIM 1002 according to the determined position of the user. Commands 1003 determine which layers of BIM 1002 are displayed. Augmented reality application 1001 overlays the selected layers of BIM 1002 at the determined position to generate stereoscopic image overlay 1006 for display.
(88) In one embodiment, commands 1003 determine a subset of set of data 1007 to display and the size and position of the subset of the set of data. Augmented reality application 1001 overlays the selected subset of data 1007 according to the selected size and position of the set of data 1007 for display.
(89) Referring to
(90) Referring to
(91) At step 1206, state machine method 1200 turns on a set of cameras and begins to search for a registration marker in a loss of “marker lock” mode. At step 1207, a position and orientation of a user device is determined from the registration marker, as will be further described below. If the position and orientation of the user device cannot be determined, then state machine method 1200 returns to step 1206 to search for a registration marker. If the position and orientation of the user device is determined, then state machine method 1200 proceeds to step 1208. At step 1208, the augmented reality application runs in a “marker lock” mode, that is the position and orientation of the user device can repeatedly be determined within a predetermined time. In this step, a runtime loop for the augmented reality application is initiated and a BIM is displayed, as will be further described below. In a preferred embodiment, the predetermined time is 30 seconds. Other times may be employed.
(92) In one embodiment, the set of data is displayed when the augmented reality application runs in the “marker lock” mode.
(93) At step 1209, a consistency is determined. In this step, if the position and orientation of the user device can be repeatedly determined within the predetermined time, then state machine method 1200 returns to step 1208. In this step, if the BIM is properly displayed, i.e., is rotated and aligned with the user point of view, then stated machine method 1200 returns to step 1208. If the position and orientation of the user device cannot be repeatedly determined within the predetermined time or the BIM is not properly displayed, i.e., is not rotated and aligned with the user point of view, then state machine method 1200 proceeds to step 1210. At step 1210, a message is displayed to the user indicating a position and orientation consistency problem and state machine method 1200 begins a calibration process at step 1211, as will be further described below.
(94) Referring to
(95) Referring to
(96) Referring to
(97) Because of the offset position of user device 1409 and camera 1410 as defined by position angles α and β, the image of registration marker 1411 is skewed.
(98) Returning to
(99) Referring to
(100) Returning to
(101) At step 1404, the image is deskewed in order to determine a set of position angles with respect to the registration marker, as will be further described below.
(102) At step 1405 the code is read to determine the set of dimensions of the shape of the registration marker, including an actual height and an actual width. At step 1406, a distance from the camera to the registration marker is determined.
(103) At step 1407, an absolute position of the user is calculated based on the position angles and the distance from the registration marker.
(104) Referring to
(105) At step 1425, a pair angle is calculated between each pair of intersecting reference lines to generate a set of pair angles. At step 1426, a skew angle is calculated from set of pair angles by averaging the set of pair angles. At step 1427, the image is rotated about an axis by the skew angle. The skew angle is the position angle with respect to each axis, as previously described. At step 1428, whether or not the image has been deskewed for all axes is determined. If not, method 1422 advances to the next axis at step 1429 and returns to step 1424. If so, method 1422 ends at step 1430.
(106) Referring to
(107) In a preferred embodiment, each of heights 1433 and 1435 and widths 1434 and 1436 is measured by counting the number of pixels for deskewed registration marker 1444 and deskewed image 1443.
(108) Referring to
(109)
where d is distance 1441, h is height 1442, θ is angle θ of field of view 1438, and x is a height percentage of the height of the deskewed registration marker in the deskewed image to the height of the deskewed image. For example, if the height of the deskewed registration marker is 60% of the height of the deskewed image, then x=0.6.
(110) Referring to
(111) In one embodiment, a set of data is retrieved at step 1507. In this step, the set of data is downloaded from the system administrator and saved into the memory of the user device. In one embodiment, the position and the orientation function is deactivated. In another embodiment, the position and the orientation function remain activated. At step 1508, a subset of the set of data is selected for display including the size and the position of the selected set of data. At step 1509, the selected subset of data is displayed on the display unit.
(112) At step 1510, a determination is made as to whether an end command has been received. If not, runtime process returns to step 1503. If so, runtime process 1500 ends at step 1511.
(113) Referring to
(114) Referring to
(115) In a preferred embodiment, the left BIM image and the right BIM image are shifted with respect to each other, in a range of approximately 2.5 to 3 inches to compensate for the average distance between the pupils of human eyes.
(116) Referring to
(117) Referring to
(118) It will be appreciated by those skilled in the art that the described embodiments disclose significantly more than an abstract idea including technical advancements in the field of data processing and a transformation of data which is directly related to real world objects and situations in that the disclosed embodiments enable a computer to operate more efficiently and make improvements to construction management technology. Specifically, the disclosed embodiments eliminate the remanufacture of construction components and rescheduling of equipment. Further, the disclosed embodiments eliminate the reliance and use of external positioning systems, such as GPS or laser-based systems.
(119) It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept. It is understood, therefore, that this disclosure is not limited to the particular embodiments herein, but it is intended to cover modifications within the spirit and scope of the present disclosure as defined by the appended claims.