Self-contained holonomic tracking method and device for non-destructive inspection
Patent Information
- Application Number
- DE112013006826
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2013-03-12
- Filing Date
- 2013-12-19
- Publication Date
- 2025-02-06
- Estimated Expiration
- 2033-12-19
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUNDThe present disclosure relates generally to systems and methods for tracking the holonomic movement of an automated tool (such as a non-destructive inspection unit) as it moves across a target area.Portable non-destructive inspection (NDI) instruments using hand-held sensors are common for performing manufacturing and maintenance ("in-service") inspection of selected areas of composite structures. The maintenance inspection of an aircraft structure is predominantly carried out using hand sensors. Small parts or areas are also inspected in this way during production.While hand sensors are commonly used, as they are less expensive compared to automated scanning systems, an expert is necessary to interpret the resulting signal. In addition, a search for damage or defects by hand while observing a signal change is time consuming and is susceptible to operator errors or fatigue. Quantifying the damage also takes time because a point-to-point measurement is made. It is also well known that many NDI hand-held sensor units do not detect minor defects that could be detected using a scan that can produce images of the area containing the defect. This image-based scanning is based on a correlation of the position information of the sensor relative to the sensor data itself. A correlation of NDI single-point NDI data ("single-point NDI data"), which is detected by a hand sensor, with the position is difficult. Further, higher damage detection capability limits of ordinary hand-held sensor units mean that the inspection cycles are shorter (and more expensive) than they could be.Currently available solutions for tracking ("tracking") handheld scanning devices typically only track a single axis in the travel direction (i.e., a one-dimensional motion). This one-dimensional tracking is typically performed using a rotary encoder equipped with a wheel. However, since the motion for the scanning device is provided by the free motion of the operator's hand, there are no guides or orientation aids to ensure that the sensor (e.g., a linear transducer array) travels along a straight line. The result is that the one-dimensional tracking of the wheel equipped encoder may provide very poor tracking of the actual movement of the operator's hand. A skilled operator may be able to partially compensate for this by focusing on performing rectilinear movements, but human beings are not particularly well performing rectilinear movements, especially over longer distances. The result is frequently wave scans -- although this wave is not apparent to the operator during the scanning process, since the output from the one-dimensional scan fails to appear rectilinear.A real-time imaging process from hand-scanned NDI data is currently performed using some different types of position tracking methods, including: single axis rotary encoders, X-Y bridges, scan arms, track balls, and ultrasonic or optical triangulation are some of the most common. The greatest problems in hand scanning a single probe ("sample") are: data positioning (displacements occur depending on the direction of probe movement or where the probe stops) and acquiring a sufficient number of passes to cover an area. Drift is also a problem. The two-dimensional images acquired using hands-free motion are usually not very accurate representations of the actual path taken. A linear array, in some methods such as an ultrasonic array or an eddy current array, improves the image by generating bands of data that accurately represent the relative positions of the data within each band. However, the greatest problem with hand scanning using linear arrays is to maintain or determine orientation (unless this movement is limited).During NDI surface scanning applications using handheld devices, the operator usually must maintain a consistent orientation of the scanning device with respect to the direction of travel to capture an accurate representation of the scan area. In addition, the operator must maintain the speed below a maximum speed to avoid data being missed. These requirements may be difficult to achieve without a measurement system capable of providing feedback to the operator.These inaccuracies in position measurement, along with lack of orientation and velocity feedback, have a negative impact on performance. Operators of handheld scanning devices may possibly compensate for the inaccuracies in translation and rotation, as well as the lack of speed feedback by slowing motion, which may result in longer periods of time being required to obtain useful scan image data. This may sometimes result in the need for revisions to cover areas that were missed during the scan.There is a need for methods that determine sensor position and orientation to obtain accurately aligned NDI images from data acquired during a freehand motion.From document U.S. Pat. No. 5,374,879 A a wheel arrangement is known having a carrier, a cage rotatably mounted thereon, a first wheel rotatably mounted on the cage and a second wheel rotatably mounted on the cage, wherein the axes of rotation of the wheels, which are designed as ball wheels, are aligned perpendicular to an axis of rotation of the cage. A control circuit includes a photodetector signal indicative of ground contact of each wheel and a tachometer indicative of a current rotational speed of the drive shaft of the cage.Document US 2013 / 0 024 067 A1 discloses a ground vehicle with four mecanum wheels, which are each drivable independently of one another, and with a plurality of independently controlled suction arrangements.OVERVIEWThe presently disclosed subject matter is directed to methods for holonomic real-time motion tracking in surface scanning applications using a self-contained device. Holonomic motion is motion that is not subject to motion limitations and is sometimes referred to as free handed motion. As used in the present disclosure, a vehicle or device is considered to be holonomic if the controllable degrees of freedom are equal to the total number of degrees of freedom. Holonomic motion tracking refers to a position and orientation measurement on a surface where the tracked device (e.g., a scan sensor or a sensor array) can translate in any direction and rotate simultaneously. Providing a self-contained ("self-contained") device that allows tracking of the type of hands-free movement as generated by a human movement of a scanner over a surface allows accurate registration of scan image data for the generation of two-dimensional scan images. Since the movement of the tracked device is not limited by the tracking system, the concept is also applicable to integration with automated devices such as robots that creep over surfaces ("surface-sweeping robots"). The systems and methods disclosed in detail below enable accurate tracking of the position and orientation of a home-moved NDI sensor unit (hand held or automated) and conversion of the acquired tracking data to encoder pulse signals for processing by an NDI scanning system.One aspect of the presently disclosed subject matter is a method of tracking a device coupled to a plurality of omni wheels ("omni wheels"), comprising the steps of: (a) converting rotation of each omni wheel into respective encoder data; (b) calculating an absolute angle representing an orientation of the device relative to a coordinate system of the surface based in part on the encoder data; (c) calculating relative changes of an X and a Y position of the device relative to the coordinate system of the surface based in part on the encoder data; (d) calculating an absolute position of the device relative to the coordinate system of the surface based in part on the calculated absolute angle and the calculated changes in X and Y positions.Another aspect of the presently disclosed subject matter is an apparatus comprising: a frame; a plurality of omni wheels rotatably coupled to the frame; a plurality of rotary encoders coupled to respective ones of the plurality of omni wheels; and an inspection unit connected to the frame. According to an embodiment, the plurality of omni wheels are arranged in a four omni wheel double differential rectangular configuration. According to a second embodiment, the plurality of omni wheels includes three omni wheels arranged equidistantly from a common center with axes of rotation arranged at angles of 120 degrees to each other. According to a third embodiment, the plurality of omni wheels are arranged in a four omni wheel-truck configuration.Another aspect is an inspection system including a scanning device, a display device, and a computer system, wherein the scanning device and the display device are coupled to communicate with the computer system. The scanning device includes: a frame; a plurality of omni wheels rotatably coupled to the frame; a plurality of rotary encoders coupled to respective ones of the plurality of omni wheels to convert rotation of each omni wheel into respective encoder data; and an inspection unit connected to the frame. The computer system is programmed to execute the steps of: (a) calculating an absolute angle representing an orientation of the device relative to a surface coordinate system based in part on the encoder data; (b) calculating relative changes in an X and a Y position of the device relative to the surface coordinate system based in part on the encoder data; (c) calculating an absolute position of the device relative to the surface coordinate system based in part on the calculated absolute angle and the calculated changes in the X and the Y positions; (d) controlling the inspection unit to acquire inspection data; (e) controlling the display device to display an image in which the inspection data is arranged based on the absolute angle and the absolute position of the device at the time when the inspection date is acquired.Another aspect is a tracking system including a movable device and a computer system, the movable device coupled to communicate with the computer system. The movable device includes: a frame; a plurality of omni wheels rotatably coupled to the frame; and a plurality of rotary encoders coupled to respective ones of the plurality of omni wheels for converting rotation of each omni wheel into respective encoder data, and some form of motion actuation (such as drive motors and wheels). The computer system is programmed to perform the following steps or operations: (a) calculating an absolute angle representing an orientation of the device relative to a coordinate system of the surface based in part on the encoder data; (b) calculating relative changes in the X and Y positions of the device relative to the coordinate system of the surface based in part on the encoder data; and (c) calculating an absolute position of the device relative to the coordinate system of the surface based in part on the calculated absolute angle and the calculated changes in the X and Y positions. In some embodiments, the computer may also be used to control motion actuation.Further aspects of self-contained holonomic motion tracking methods and apparatus are disclosed below.BRIEF DESCRIPTION OF THE DRAWINGFIG. 1 is a diagram illustrating a plan view of some components of a holonomically movable device equipped with an encoder according to an embodiment. This device may be connected to an NDI sensor unit (not shown). FIGS. 2A and 2B are diagrams illustrating a plan view and a front view, respectively, of a hand-held scanning device having an NDI sensor unit connected to an encoder-equipped home-movable device of a type graphically illustrated in FIG. 1. FIGS. 3 and 4 are diagrams illustrating respective plan views of hand-held scanning devices having three omni-wheels according to alternative embodiments; FIGS. 5A and 5B are diagrams illustrating a plan view and a front view, respectively, of a hand-held tracking device including an NDI sensor unit connected to a holonomically movable device equipped with an encoder according to another embodiment. In this alternative embodiment, the home moving device has four omni wheels arranged in a truck configuration ("bogie configuration"). FIG. 6 is a diagram showing an omni wheel mounted to a frame by a spring loaded linear motion guide, the guide only allowing vertical displacement of the omni wheel relative to the frame; FIG. 7 is a block diagram showing major components of a system for tracking a home-movable NDI sensor unit in real time according to an embodiment. FIG. 8 is a flowchart illustrating a process for tracking a home-movable NDI sensor unit in real time according to an embodiment. FIG. 9 is a diagram showing merging ("merge") of strips of scan data from multiple passes that are slightly offset from each other to produce an accurate, continuous representation of large inspected areas using a small scan sensor array.Reference will now be made to the figures, wherein like elements in different figures bear the same reference numerals.DETAILED DESCRIPTIONThe system disclosed in detail below is a multi-dimensional differential odometry-based solution that enables true holonomic surface tracking (i.e., simultaneous multi-dimensional position and orientation tracking) using one of multiple orientations of omni-wheels rotatably mounted to the frame of a handheld or automated holonomic tracking device. Omni wheels are wheels with small rollers around the circumference, the rollers being rotatable about axes which are perpendicular to the axis about which the main wheel rotates during rolling (also known as the main wheel axis) and which are tangential to the outer edge of the main wheel (these rollers are not cylindrical. Rather, they are larger or thicker at their center, with a shape corresponding to the total radius of the wheel. The radius of curvature of the rollers is at the center of the larger main wheel). The effect is that the omni wheel rolls forward around the main wheel axis without drag, and that the omni wheel can also slide laterally with great ease by rolling on the smaller rollers that are in contact with a surface. In some embodiments disclosed herein, the holonomic tracking device is connected to an NDI sensor array or other servicing tool. A respective encoder measures the rotation of each omni wheel during the holonomic motion. A computer system is programmed with routines that convert relative wheel positions to a sensor position and orientation. The tracking methods disclosed herein can be applied to both hand-held and automated NDI scanning. The disclosed holonomic tracking device can also be used in conjunction with tools other than NDI sensor units, such as marking equipment (painting), drills, bar code scanners, cleaning equipment, lighting equipment, visual equipment and IR cameras, as well as audio speakers.Standard differential odometry using two wheels is a well known method of tracking in-plane positions (planar position tracking), but is not holonomic, meaning that the method is subject to motion constraints limiting motion in one or more directions. This limits freehand movements that would be used in handheld scanner type applications.In contrast, the systems disclosed herein have the ability to track holonomic motion of the device on a surface using differential odometry based on omni wheels. According to one embodiment, a receiver encoder of a data acquisition device performs counts from a plurality of encoders, one for each omni wheel. The data acquisition device then processes these encoder counts to derive encoder inputs therefrom using simulated encoder pulses suitable for processing by NDI scan software.In some embodiments, the data acquisition device is instructed by motion control software to generate quadrature pulses corresponding to changes in the X and Y motion of the device. In the case of ultrasonic inspection, these simulated encoder pulses are transmitted from the data acquisition device, for example, to an ultrasonic pulser / receiver. The pulse generator / receiver ("pulse generator / receiver") sends the simulated encoder pulses to the NDI scan software. The NDI scanning software application converts the simulated encoder pulses to a current X-Y coordinate position which is used to position the scan image data at its appropriate locations.FIG. 1 is a plan view of some components of a handheld holonomic motion tracking device equipped with an encoder according to a four omni-wheel double differential rectangular configuration. This tracking device may be connected to an NDI sensor unit (not shown). The apparatus shown in Fig. 1 comprises a frame 2 and four double-row omni wheels 4a-4d rotatably mounted on the frame 2 by means of respective axles 6a-6d and axle bearings (not shown). In this particular implementation, axes 6a and 6c are coaxial; axes 6b and 6d are coaxial; and axes 6a, 6c are oriented perpendicular to axes 6b, 6d. Respective encoders 8 a- 8 dmeasure rotations of the omni wheels 4 a- 4 d. As the omni wheels roll on a surface, the encoder 8a-8d sends encoder pulses representing respective encoder counts to an operation control center via an encoder cable (not shown in Figure 1, but see 36 in Figure 6) after each incremental rotation of each omni wheel. These encoder pulses are received by a computer system (not shown in Figure 1) which derives therefrom the X and Y coordinates of the device. This embodiment shows double row omni wheels (which may improve roll smoothness in some circumstances), but single row omni wheels may be used instead.Figures 2A and 2B show a planar top view and a front view, respectively, of a hand-held scanning device comprising an NDI sensor unit 10 rigidly connected to an encoder-equipped home movable device of the type graphically depicted in Figure 1. The home movable device is supported by the NDI sensor unit. The NDI sensor unit 10 has a handle 12 attached thereto by means of which the operator can manually move the scanning device in any direction with or without rotation. One or more of the omni wheels / encoder assemblies may be mounted in such a manner as to allow compliance ("compliance") between the support frame and the wheel / encoder assembly (e.g., using linear guides and springs). This allows the wheels to remain in contact with the surface even in the event that the surface is not perfectly flat. During manual scanning, the encoder 8a will output an encoder count e 0 proportional to the angle of rotation of the omni wheel 4a; the encoder 8b will output an encoder count e 1 proportional to the angle of rotation of the omni wheel 4b; the encoder 8c will output an encoder count e 2 proportional to the angle of rotation of the omni wheel 4c; and the encoder 8d will output an encoder count e 3 proportional to the angle of rotation of the omni wheel 4d.The kinematic equations of motion defining the orientation and position of the four-wheel rectangular double differential configuration shown in Fig. 1 will now be described with reference to the dimensions indicated in Fig. 1. The process includes computing the absolute angle θ and the changes in the relative positions ΔP x and ΔP Y, at each update step, and then using the absolute angle and the changes in the relative positions to compute the absolute position P x and P y at a point of the device (e.g., a common center point), as indicated below: where R is the radius of the omni wheel, where e i is the respective encoder count (i=0-3) relative to the starting location, where c is the number of encoder counts per rotation, where W is the width (i.e., the distance between one set of omni wheels) and where L is the length (the distance between the other set of omni wheels). where Δe i= e i- e i_last. Equations (2) and (3) are calculated at each update cycle. Then, using θ, ΔP x and ΔP y the absolute position can be calculated using the following rotation matrix formula:FIGS. 3 and 4 show plan views of respective hand-held scanning devices with three double-row omni-wheels 4 a- 4 cin accordance with alternative embodiments. The device shown in Fig. 3 comprises a six-sided frame 14, whereas the device shown in Fig. 4 comprises a multi-sided frame 16. In both embodiments, three double row omni wheels 4a-4c are rotatably mounted on the frame by means of respective wheel axles 6a-6c and axle bearings (not shown). In each of these implementations, the axes of the wheel axles 6a-6c are arranged at angles of 120° to each other. Respective encoders 8 a- 8 cencode incremental rotations of each omni-wheel 4 a- 4 c. In both embodiments, the frame is connected to an NDI sensor unit 10 which has a handle 12 which can be gripped by an operator, who in turn can manually move the scanning device in any direction with or without rotation. As with the four-wheel constructions, single-row omni wheels may be used instead of the double-row wheels, if necessary. Although a mechanism for allowing compliance may be included between the omni-wheel / encoder subassemblies and the frame, this is less necessary in a three wheel configuration unless the system is used on highly contoured surfaces.In a similar manner as was done above for the apparatus having a four-wheel rectangular double differential configuration, the equations of motion for a platform having three equally spaced omni-wheels arranged in a circular tangent configuration as shown in Figures 3 and 4 can be derived as follows: where the variable d is the distance from each wheel to the common center (see Figure 3).The absolute position for the three wheel system is calculated using equation (4).Other wheel configurations are possible, such as the truck configuration ("bogie configuration") shown in FIGS. 5A and 5B, as well as many other similar configurations. Although the equations for orientation and relative translation will be different, the calculation of absolute position follows the same process as the two configurations shown above, which involves the initial calculation of relative positions and absolute angle, and then using equation (4) to calculate absolute position.In contrast to the embodiments shown in FIGS. 2A, 3 and 4 using double row omni wheels, the embodiment shown in FIGS. 5A and 5B uses single row omni wheels 22 a- 22 d. The double row wheels have the advantage of rolling smoother over relatively flat surfaces, but the additional width may be a disadvantage in some situations, such as narrow spaces or on strongly curved surfaces.The embodiment shown in Figs. 5A and 5B comprises a rectangular frame 2 having a pair of wheel axle mounting brackets 20a, 20b at opposite ends. These mounting brackets 20 a, 20 bappear respective pivot axes 24 a, 24 bof each bogie to the frame 2, which in turn is connected to the NDI sensor unit 10. At the ends of the pivot axes 24a, 24b there are mounted respective brackets 18a, 18b which allow the bogies (also known as brackets) 18a, 18b to rotate relative to the frame 2. One pair of omni wheels is mounted on one bogie; the other pair of omni wheels is mounted on the other bogie. The omni wheel 22a is mounted on a shaft of a rotary encoder 8a mounted on one arm of the rotary frame 18a, whereas the omni wheel 22b is mounted on a shaft of a rotary encoder 8b mounted on the other arm of the rotary frame 18a. When the omni wheels 22 a, 22 btravel over a non-planar surface, the bogie 18 acan freely rotate as necessary to keep the omni wheels 22 a, 22 bin contact with the non-planar surface. The same applies to the rotary truck 18b which supports on one arm a rotary encoder 8c and an omni wheel 22c, while the other arm thereof supports the rotary encoder 8d and the omni wheel 22d. Preferably, the axes of rotation of the omni wheels 22a, 22b are mutually perpendicular, whereas the axes of rotation of the omni wheels 22c, 22d are mutually parallel to the axes of rotation of the omni wheels 22a, 22b.In none of Figures 1, 2A, 2B, 3, 4, 5A and 5B are shown electrical connections for sending encoder outputs to a data acquisition device or sensor outputs to an NDI processor. In an alternative, the encoder data may be wirelessly transmitted.According to alternative embodiments, each omni wheel may be pivotally mounted on a mounting bracket which is vertically slidable relative to the frame. Figure 6 shows an omni wheel 22b pivotally mounted to a mounting bracket 26 vertically slidable relative to a frame 28 by means of a spring loaded recirculating ball linear motion guide including a slide 30 and a rail 32. In this implementation, the mounting bracket 26 is attached to the slider 30, whereas the rail 32 on which the slider 30 is slidably supported is fixed to the frame 28. This allows the encoder / omni-wheel subassembly (8b / 22b) to be vertically offset relative to the frame 28. A spring 34 is mounted between the mounting bracket 26 and the frame 28 to urge the omni wheel 22b downwardly into contact with the upper surface of the scanned object, which upper surface may be uneven. The encoder 8b outputs encoder counts to a data acquisition device (not shown in Fig. 6) via electrical cables 36.FIG. 7 shows major components of a system for real-time tracking of a home moving device, which comprises a frame 2 coupled to a plurality of omni wheels 4. According to the embodiment shown in FIG. 7, the frame 2 is connected to an NDI sensor unit 10. As described above, the rotation of each omni wheel 4 is measured by a respective encoder 8. The encoder data (i.e., counts) is output from the encoders 8 to a data acquisition device 38 via electrical signal cables (not shown in Fig. 7). The data acquisition device 38 is electrically connected to a motion processor 40. The motion processor 40 receives the encoder data from the data acquisition device 38 and calculates X and Y absolute position data (defined in the coordinate system of the part being scanned) using the above-mentioned equations of motion, from which the absolute position of the NDI sensor unit 10 is derived. Motion processor 40 then converts the X and Y absolute position data to quadrature pulse form and square pulse form, respectively (which has two phase shifted series of high (1) or low (0) values). Optionally, the motion processor 40 may display the position and orientation information on a display screen 42. In alternative embodiments, the motion processor may be integrated with the data acquisition device.The data acquisition device 38 converts the quadrature pulse instructions from the motion processor 40 into electrical signals simulating encoder pulses. The simulated encoder pulses are sent to an NDI processor 44 via signal wirings. The simulated encoder pulses are received by the NDI processor 44 which decodes the simulated encoder pulses into position data representing the position of the NDI sensor unit 10 relative to the coordinate system of the part being scanned. The NDI processor 44 also receives NDI scan imaging data from the NDI sensor 10. The NDI processor 44 may also display a scan image on a display screen 46 and / or store the resulting aligned NDI scan imaging data in a data storage device 48.FIG. 8 is a flow chart showing steps of a process for tracking a home-movable NDI sensor unit in real time according to an embodiment. This process is applicable to free-form motion generated by either a hand-held device or an automated device, such as a motorized creeper. The sequence of steps includes a continuous loop. First, the NDI sensor unit is moved by the operator or by an automated process (step 50). When the NDI sensor unit moves, encoder data is received from the data acquisition device (step 52). Then, the motion processor uses this encoder data to calculate (54) the position and orientation of the NDI sensor unit. The position and orientation of the NDI sensor unit may be displayed on a display screen (step 56). Then, the motion processor calculates the X and Y position encoder pulses according to the absolute position data calculated in step 54 (step 58). The data acquisition device converts that X-Y position data to simulated encoder pulses acceptable to the NDI processor (step 60). Meanwhile, the NDI processor collects imaging scan data from the NDI sensor unit while moving it (step 64). Running on the NDI processor is an NDI application that receives the simulated encoder pulses from the data acquisition device and from the imaging scan data outputting sensor system (step 62), and then aligns the imaging scan data using the X-Y position information carried by the simulated encoder pulses (step 64). An optional display screen accessible to the operator may be mounted on the sensor platform or elsewhere to provide position and orientation feedback during operation of the system by displaying the NDI scan image (step 68).The process generally described above with reference to FIG. 8 will now be described in greater detail with reference to FIG. 7. In one implementation, the data acquisition device 38 sends the encoder data to the motion processor 40 via API function calls ("API function calls"). According to one implementation, the data acquisition device may be a USB data acquisition device for USB4 type encoder data, such as is commercially available from US Digital, Vancouver, Washington. In this implementation, the data acquisition device 38 sends the data over a USB interface (via a USB cable), but other data acquisition devices may use other communication interfaces (e.g., a PCI slot inside the computer, a serial communication interface, an express card, PCMCIA, or an Ethernet interface). The signals that the data acquisition device 38 sends to the application running on the motion processor 40 are converted in the form of encoder data. Typically, this means conversion into data packets that are sent over the communication interface to the motion processor 40 and are converted by the API to integer or floating point numbers. The application running on the motion processor 40 requests data from the data acquisition device 38 and retrieves integer numbers or floating point numbers (for an encoder, for example, the application would request the current number of counts for a particular encoder and retrieve an integer representing the number of counts in the storage register in the data acquisition device 38 associated with that encoder).The motion processor 40 may also request that the data acquisition device 38 generate electrical signals in the form of voltages. These electrical signals are then sent from the data acquisition device 38 to the NDI processor 44. Since the NDI processor is of a type that awaits pulses from an encoder, the application running on the motion processor 40 is programmed to calculate the number and frequency of the required pulses and then request that the data acquisition device 38 emit simulated encoder pulses in the form of high and low voltages.The NDI processor 44 converts the simulated encoder pulses to a current X,Y position according to the following formulas: where num_of_x_pulses_received and num_of_y_pulses_received respectively, is the number of X and Y pulses received, and where x_scale_factor and y_scale_factor respectively are the respective X and Y scale factors, and where each scale factor is a small number (e.g., on the order of 0.01 inches per pulse). This X,Y position is updated many times per second.At the same time, the NDI sensor unit 10 acquires inspection data (e.g., scan image data). In the case where ultrasound detection is used, data may be acquired from each element of a linear array of ultrasound elements. These elements form an array analogous to a row of pixels on a computer monitor (each row being offset from the next by defining the starting X,Y position of the first pixel and wherein, if all rows are displayed in proper order, a complete image can be displayed). Each time the linear array of ultrasound elements is moved a predefined distance (how far may depend on the resolution requested by the operator), the NDI processor 44 receives a new scan strip of data from the NDI sensor unit 10 (representing a "line" of pixel data) via an electrical cable (depicted as a line with an arrow from the NDI sensor 10 to the NDI processor 44 in FIG. 7 ). The scan strip data is saved in memory (i.e., data storage device 48). The NDI processor executes a program that uses the current X_pos and Y_pos data derived from the pulse data received from the data acquisition device 38 to locate the starting point in the image, i.e., where the row of pixels is to be located. The NDI processor 44 relates the position data and the scan image data to each other, and then uses the related data to assemble ("assemble") a two-dimensional image of the scanned object for display on a display screen 46.By tracking the X and Y dimensions, a more accurate representation of the motion the operator has generated during the scan can be obtained. As shown in FIG. 9, this also allows the scan application to assemble strips 72 of scan data from multiple passes that are slightly offset from each other to produce an accurate continuous ("continuous") representation of large inspected areas using a small scan sensor array.In the case where the NDI sensor unit 10 comprises an array of ultrasonic transducers, the NDI processor 44 provides activation pulses to the ultrasonic transducers, in which case the arrow between blocks 10 and 44 in Figure 7 would have to be provided with two arrow heads to indicate the flow of pulses in one direction and captured scan image data in the other direction. The NDI processor 44 sends electrical pulses to the transducers, which convert them into ultrasonic pulses. The returning ultrasonic pulses are converted back at the array into electrical pulses which are sent back to the NDI processor 44 for measurement purposes.The simulated encoder pulse method described above allows the X-Y motion data to be input to any NDI scan application that accepts encoder inputs without modifying the NDI scan application. The position update process is continuous as the user or automated system moves the NDI sensor unit over the scanned object.It should be noted that in the four-wheel double differential configuration shown in Fig. 1, it is possible to obtain approximation of the X and Y motion by using two adjacent encoders without using the data acquisition apparatus, when the system has physical limitations to prevent an orientation change from occurring. If the vehicle orientation changes, this method would result in errors that build as the orientation changes.All solutions to on-going location determination (such as the odometry-based solutions described herein) will involve measurement inaccuracies due to small errors which build up over time. These may be caused by systematic errors in the device (e.g. an omni wheel that is not perfectly aligned) or by failures ("interruptions") caused by unexpected changes in the environment. A loop-closure calibration process ("loop-closure calibration process") can be used in conjunction with this system to reduce systematic errors. Such a process can also be used during runtime to provide the operator with an estimate of the error. For example, the tracking device is placed at a starting location and then moved away and moved back again to the starting location. If the system calculates that the last location is different from the starting location, then this difference can be used to compensate for the error in the tracking data. Additional correction using external reference measurements may be used to improve the tracking of absolute position.The NDI sensor unit may be any sensor that collects inspection data from a location or area of a structure. The unit may contact or nearly contact the structure (ultrasound, eddy current, magnetic, microwave, x-ray backscatter, etc.). It may be a single transducer or an array (having a linear extent or having multiple extents).The holonomic tracking apparatus disclosed above may also be used to track holonomic movement of tools other than NDI sensor units, such as marking equipment (painting), drills, bar code scanners, cleaning equipment, lighting equipment, visual equipment and IR cameras, as well as audio loudspeakers.The method teaching for holonomic motion tracking described in detail above is applied in the same way to automated, home-movable or non-home-movable crawler vehicles. One common type of holonomic vehicle configuration uses a type of wheel called the Mecanum wheel to propel the vehicle. A mecanum wheel is a type of wheel with multiple individual rollers that, when used as pairs, allow vehicle motion in any direction (i.e., holonomic motion). In one known implementation, the creeper vehicle has a frame including four mecanum wheels, with a front pair of mecanum wheels and a rear pair of mecanum wheels, with the respective axes of the respective pairs of mecanum wheels being parallel to each other. In further embodiments, the wheel orientations with respect to the frame may be configured to have a crowning to enable non-planar surfaces (in which case the axes of opposing wheels will not be parallel). According to the present teachings, a crawler vehicle frame ("crawler vehicle") may have a set of four omni wheels for tracking vehicle motion and a set of four mecanum wheels for propelling the vehicle under control of a computer.A vehicle equipped with mecanum wheels may move in any direction while rotating simultaneously. This is possible due to the shape of the wheels. The default configuration for a vehicle with mecanum wheels includes four mecanum wheels (two type "A" and two type "B"). The mecanum wheels are arranged with their "A" pair on one diagonal and the "B" pair on the other diagonal, the diagonals passing through the center of the vehicle. The axes of the rollers on the type "A" mecanum wheels are oriented at right angles to the axes of the rollers on the type "B" mecanum wheels.Such a mecanum wheeled vehicle may be manufactured to move and rotate in any direction by varying the speed and direction of rotation of each wheel. For example, rotating all four wheels in the same direction at the same rate causes a forward or rearward movement; rotating the wheels on one side at the same rate but in the opposite rotational direction from the wheels on the other side causes the vehicle to rotate; and rotating the type "A" wheels at the same rate but in the opposite direction from the rotational direction of the type "B" wheels causes a lateral movement.While the mecanum wheel equipped vehicle is driven to move over a surface to be scanned, the rotary encoders coupled to the omni wheels provide encoder data that can be used to track vehicle motion in the manner described above.The position and orientation of other types of vehicles may also be tracked using the holonomic omni-wheel based system. This includes non-holonomic devices such as skid-controlled vehicles (tanks) and Ackermann-controlled vehicles (cars). Legged systems such as bibone, fourbone, sixbone, etc. can also be tracked by this type of system - at least on surfaces without large obstacles.The systems disclosed above combine holonomic omni-wheel tracking with NDI. These systems are self-contained (i.e., they do not require the build of additional hardware) and operate in real time. The systems may be self-calibrated using a closed loop technique. Rotary encoders coupled to omni wheels provide angle measurement data that can be used to derive the position, orientation, and speed of a home moving device and the other analysis systems and the operator.The advantages of the methodology described above are numerous. Concurrent tracking of position and orientation provides a more accurate representation of where the scanning unit is located, enabling: (1) input to hardware that receives X and Y data; (2) applications that warn operators if they miss a point on the scanned surface; and (3) applications that warn operators if they do not maintain the appropriate orientation. In addition, registration of scan data with a conventional coordinate system allows for: (1) alignment of scan stripes; and (2) use of two- or three-dimensional visualization displays.By tracking X and Y dimensions, a more accurate representation of the motion that the operator generates during the scan can be obtained. This also allows the scan application to merge ("merge") strips of multiple pass scan data that are slightly offset from each other to produce an accurate continuous representation of large areas using a sensor with a small scan array.Although the methodology for holonomic motion tracking has been described with reference to various embodiments, it will be understood by those skilled in the art that various changes may be made and may replace equivalent elements thereof without departing from the scope of the present teachings. In addition, many modifications may be made to adapt the teachings herein to a particular situation without departing from the scope thereof. The claims are not intended to be limited to the particular embodiments disclosed herein.The term "computer system" as used in the claims should be broadly construed to include a system that includes at least one computer or processor and that may have multiple computers or processors that communicate with each other over a network or bus. The terms "computer" and "processor" as used in the above sentence similarly refer to devices having a processing unit (e.g., a central processing unit) and some type of memory (e.g., a computer readable medium) for storing a program readable by the processing unit.The term "location" as used in the claims includes a position in a fixed two-dimensional coordinate system and an orientation relative to the coordinate system.The method claims set forth below are not to be construed as requiring the steps set forth therein to be performed in alphabetical order (an alphabetical order in the claims is used solely for the purpose of referencing the aforementioned steps), or in the order in which they are recited. Likewise, the claims should not be construed to exclude any portions of two or more steps being performed simultaneously or alternately.
Claims
A method of tracking a device coupled to a plurality of omni-wheels (4a-4d;4a-4c;22a-22d), comprising the steps of: (a) converting rotation of each omni-wheel (4a-4d;4a-4c;22a-22d) into respective encoder data; (b) calculating an absolute angle (θ) representing an orientation of the device relative to a coordinate system of a surface based in part on the encoder data; (c) calculating relative changes of an X and a Y position of the device relative to the coordinate system of the surface based in part on the encoder data; (d) calculating an absolute position of the device relative to the coordinate system of the surface based in part on the calculated absolute angle (θ) and the calculated changes in the X and Y positions.The method of claim 1, wherein steps (b) through (d) are repeated at regular time intervals to provide absolute angles (θ) and absolute positions of the device over a period of time.The method of claim 1, further comprising the step of using the calculated absolute angle (θ) and absolute position to position and orient a three-dimensional model of the device in a virtual environment.The method of claim 1, wherein the calculations of steps (b) to (d) take into account that the device has a rectangular four omni-wheel double differential configuration.The method of claim 1, wherein the calculations of steps (b) to (d) take into account that the apparatus has three omni wheels (4a-4c) equidistant from a common centre, with axes of rotation (6a-6c) located at angles of 120° with respect to each other.The method of claim 1, wherein the calculations of steps (b) to (d) take into account that the apparatus has a four omni-wheel-bogie configuration.The method of claim 1, wherein the device comprises an inspection unit (10), the method further comprising: acquiring inspection data; and displaying an image in which the inspection data is arranged based on the respective absolute angle (θ) and the absolute position of the device at the time when the respective inspection date is acquired.The method of claim 7, further comprising the steps of: converting the calculated absolute angles (θ) and absolute positions into simulated encoder pulses; and correlating the inspection data with the simulated encoder pulses; wherein the displaying step arranges the inspection data according to the results of the correlating step.An apparatus comprising: a frame (2;14;16;28); a plurality of omni-wheels (4a-4d;4a-4c;22a-22d) rotatably coupled to the frame (2;14;16;28); a plurality of rotary encoders (8a-8d;8a-8c) coupled to respective ones of the plurality of omni-wheels (4a-4d;4a-4c;22a-22d); and an inspection unit (10) connected to the frame (2;14;16;28).The apparatus of claim 9, wherein the plurality of omni-wheels (4a-4d) are arranged in a four omni-wheel right angle double differential configuration.The apparatus of claim 9, wherein the plurality of omni wheels (4a-4c) include three omni wheels arranged equidistant from a common center with rotational axes (6a-6c) arranged at angles of 120° to each other.The apparatus of claim 9, wherein the plurality of omni-wheels (22a-22d) are arranged in a four omni-wheel-truck configuration.The apparatus according to claim 9, wherein the inspection unit (10) comprises a sensor array.The apparatus of claim 13, wherein the sensor array includes a plurality of ultrasonic transducers.
Citation Information
Patent Citations
Flexible hand held mr scanning array for cracks / flaws
US20070096727A1
Non-destructive inspection apparatus
US20100228506A1
Holonomic Motion Vehicle for Travel on Non-Level Surfaces
US20130024067A1
Omni-directional and holonomic rolling platform with decoupled rotational and translational degrees of freedom
US5374879A
