Customizable rotary axis for industrial radiography systems
A customizable axis of rotation system addresses eccentric rotation issues by dynamically translating the fixture to align with the component's center, ensuring accurate 2D and 3D image generation in X-ray radiography systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- ILLINOIS TOOL WORKS INC
- Filing Date
- 2022-06-16
- Publication Date
- 2026-07-01
AI Technical Summary
Conventional X-ray radiography systems face challenges in generating accurate 2D and 3D images due to eccentric rotation of components when they are not centered relative to the rotatable fixture, which can be impractical or impossible to align, and physical modifications to fixtures are costly and unstable.
A customizable axis of rotation is implemented through programmatic control, dynamically translating the rotatable fixture during rotation to align with the component's center, using a non-temporary computer-readable medium to define a custom axis offset from the actual axis, and instructing the fixture to rotate accordingly.
This approach allows for accurate 2D and 3D image generation without physical modifications to existing systems, maintaining stability and reducing integration complexity, enabling precise inspection of industrial components.
Smart Images

Figure 0007883571000001 
Figure 0007883571000002 
Figure 0007883571000003
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to industrial radiographic systems, and more particularly to a customizable axis of rotation of an industrial radiographic system.
Background Art
[0002] X-ray radiography is often used to inspect components used in industrial applications such as, for example, aerospace, automotive, electronics, medical, pharmaceutical, military, and / or defense applications. To perform radiographic scans at different angles, the component can be rotated. Using the X-ray images generated by the radiographic scan, the component(s) can be inspected for cracks, damage, and / or defects that may not normally be visible to the human eye.
[0003] By comparing such a system with the present disclosure described in the remainder of this application with reference to the drawings, the limitations and disadvantages of conventional and traditional approaches will become apparent to those skilled in the art.
Summary of the Invention
[0004] The present disclosure relates to a customizable axis of rotation of an industrial radiographic system, which is illustrated and / or described substantially in relation to at least one of a plurality of drawings and is more fully described in the claims.
[0005] In addition to these and other advantages, aspects, and novel features of the present disclosure, the detailed content of the illustrated examples of the present disclosure will be more fully understood from the following description and the drawings.
Brief Description of the Drawings
[0006] [Figure 1a] A diagram showing an exemplary industrial X-ray radiography machine according to an aspect of the present disclosure. [Figure 1b] A diagram showing another example of an industrial X-ray radiography machine according to an aspect of the present disclosure. [Figure 2]A block diagram illustrating an exemplary industrial X-ray radiography system having the industrial X-ray radiographer shown in Figure 1a and / or Figure 1b, relating to an aspect of the present disclosure. [Figure 3] This is a flowchart illustrating the operation of an exemplary custom axis rotation process according to an aspect of this disclosure. [Figure 4a] This figure shows the eccentric rotation of a component around the actual shaft of a fastener according to an aspect of the present disclosure. [Figure 4b] This figure shows the eccentric rotation of a component around the actual shaft of a fastener according to an aspect of the present disclosure. [Figure 4c] This figure shows the centering rotation of a component around a custom axis offset from the actual axis of the fixture, according to an aspect of the present disclosure, using the custom axis rotation process shown in Figure 3. [Figure 4d] This figure shows the centering rotation of a component around a custom axis offset from the actual axis of the fixture, according to an aspect of the present disclosure, using the custom axis rotation process shown in Figure 3. [Figure 4e] This figure shows the centering rotation of a component around a custom axis offset from the actual axis of the fixture, according to an aspect of the present disclosure, using the custom axis rotation process shown in Figure 3. [Modes for carrying out the invention]
[0007] The figures are not necessarily to scale. Where appropriate, the same or similar reference numerals are used in the figures to refer to similar or identical components. For example, reference numerals with letters (e.g., radiographer 100a, radiographer 100b) refer to instances of the same reference numeral without letters (e.g., radiographer 100).
[0008] Some examples of the present disclosure relate to X-ray radiography systems that enable a user to define a custom (and / or virtual) axis of rotation that is offset from the actual axis of rotation of a rotatable fixture.
[0009] In conventional X-ray radiography systems, industrial parts can be rotated via a rotatable fixture to present them to the X-ray emitter and / or detector in different orientations. The radiation detected by the detector can be used to generate two-dimensional (2D) X-ray images, which can then be analyzed to inspect the parts for cracks, scratches, and / or defects. X-ray images captured in different orientations allow for inspection from different viewpoints, potentially revealing defects that would otherwise remain hidden. Furthermore, multiple different X-ray images of the part in different orientations can be used to generate a three-dimensional (3D) image of the part.
[0010] However, if the part is not centered relative to the rotatable fixture, rotating the fixture will cause the part to rotate eccentrically. This eccentric rotation of the part may then result in eccentric 2D X-ray images that are more difficult to analyze and / or synthesize into 3D images. In some situations, centering the part relative to the fixture may be relatively trivial, but in other situations, centering the part relative to the fixture may be impossible or impractical.
[0011] Several solutions have been proposed to this problem, but these solutions tend to focus on redesigning the physical structure of the rotatable fixture, which can be expensive, complex, and difficult to integrate into existing systems, and / or may cause instability in the component and / or fixture. Instead, the radiography system described below focuses on dynamically translating the position of the rotatable fixture during rotation using programmatic control so that the component rotates around the center of the component itself (and / or some other custom axis) rather than the center of the fixture. This solution can be applied to existing systems without necessarily involving physical modification of existing rotatable fixtures, integration of new components, or the risk of instability in the component and / or radiographer.
[0012] Some examples of the present disclosure relate to a non-temporary computer-readable medium, which includes machine-readable instructions that, when executed by a processor, define a custom rotation axis in an industrial radiography system, the custom axis being offset from a real rotation axis on which a rotatable fixture configured to hold an object is configured to rotate; determine an offset vector extending between the custom rotation axis and the real rotation axis along a plane perpendicular to both the custom rotation axis and the real rotation axis; identify an angle or angular velocity that rotates an object around the custom axis; determine the translation of the rotatable fixture in a plane perpendicular to the custom rotation axis based on the offset vector and angle, or the offset vector and angular velocity; instruct a support structure to move the rotatable fixture in the plane based on the translation; and instruct the rotatable fixture to rotate around the real axis based on the angle or angular velocity, thereby causing the translation of the rotatable fixture in the plane and the rotation of the rotatable fixture around the real axis to result in an effective rotation of an object around the custom axis.
[0013] In some examples, the custom axis of rotation is parallel to the actual axis of rotation. In some examples, the offset vector includes the offset distance and offset direction, and the support structure and rotatable fixture are commanded to move such that the offset distance remains substantially constant during movement. In some examples, the translation includes the new coordinates that move the rotatable fixture, the distance and direction of movement of the rotatable fixture, or the direction and speed of movement of the rotatable fixture.
[0014] In some examples, non-temporary computer-readable media further includes a machine-readable instruction that, when executed by the processor, causes the processor to determine a first translation of a rotatable fixture on a first axis, based on an angle and an offset vector, wherein the first axis is perpendicular to a custom rotation axis, and the translation includes the first and second translations. In some examples, the second axis is perpendicular to the custom axis and the first axis. In some examples, the offset vector includes an offset distance and an offset direction, and the non-temporary computer-readable media further includes a machine-readable instruction that, when executed by the processor, causes the processor to instruct a radiation emitter of an industrial radiography system to direct radiation through an object to a radiation detector of the industrial radiography system at several different points in time, wherein the offset distance remains constant at each of the several different points in time.
[0015] In some examples, non-temporary computer-readable media further include machine-readable instructions that, when executed by the processor, cause the processor to instruct the radiation emitter of an industrial radiography system to direct radiation through an object to a radiation detector of the industrial radiography system. In some examples, non-temporary computer-readable media further include machine-readable instructions that, when executed by the processor, cause the processor to generate a two-dimensional or three-dimensional image of the object based on radiation detected by the radiation detector. In some examples, defining a custom axis of rotation means sending a first signal to the radiation emitter of an industrial radiography system, the first signal representing a command to direct first radiation through an object to a radiation detector of the industrial radiography system, generating a first image of the object based on first radiation detected by the radiation detector, receiving a first selection of first points in the first image, instructing a rotatable fixture to rotate, and sending a second signal to the radiation emitter, the second signal representing a command to direct first radiation through an object to a radiation detector The process includes representing a command to direct a second radiation to a point, generating a second image of an object based on the second radiation detected by a radiation detector, receiving a second selection of a second point in the second image, and identifying the intersection of a first plane defined by the first point and radiation emitter and a second plane defined by the second point and radiation emitter, wherein the first and second planes are parallel to the actual axis of rotation, and defining a custom axis of rotation as a line extending through the intersection, wherein the line is parallel to the actual axis of rotation.
[0016] Some examples of the present disclosure are methods for rotating an object around a custom rotation axis in an industrial radiography system, comprising defining the custom rotation axis, which is offset from an actual rotation axis on which a rotatable fixture configured to hold an object is configured to rotate; determining an offset vector extending between the custom rotation axis and the actual rotation axis along a plane perpendicular to both the custom rotation axis and the actual rotation axis; identifying an angle or angular velocity that rotates the object around the custom axis; determining the translation of the rotatable fixture in a plane perpendicular to the custom rotation axis based on the offset vector and angle, or the offset vector and angular velocity; moving the rotatable fixture in the plane based on the translation; and rotating the rotatable fixture around the actual axis based on the angle or angular velocity, wherein the translation of the rotatable fixture in the plane and the rotation of the rotatable fixture around the actual axis result in an effective rotation of the object around the custom axis.
[0017] In some examples, the custom axis of rotation is parallel to the actual axis of rotation. In some examples, the offset vector includes the offset distance and the offset direction. In some examples, the rotatable fixture moves such that the offset distance remains approximately constant.
[0018] In some examples, moving a rotatable fixture in a plane includes moving the rotatable fixture via a support structure that holds the rotatable fixture. In some examples, the method further includes directing radiation from a radiation emitter of an industrial radiography system through an object to a radiation detector of the industrial radiography system. In some examples, the radiation is X-ray radiation.
[0019] In some examples, the method further includes generating a two-dimensional image of an object based on radiation detected by a radiation detector. In some examples, the method further includes generating a three-dimensional image of the object based on the two-dimensional image of the object and a plurality of other two-dimensional images of the object. In some examples, defining a custom rotation axis includes directing first radiation from a radiation emitter of an industrial radiographic system through the object to a radiation detector of the industrial radiographic system, generating a first image of the object based on the first radiation detected by the radiation detector, receiving a first selection of a first point in the first image, rotating a rotatable fixture, directing second radiation from the radiation emitter through the object to the radiation detector, generating a second image of the object based on the second radiation detected by the radiation detector, receiving a second selection of a second point in the second image, and identifying an intersection of a first plane defined by the first point and the radiation emitter and a second plane defined by the second point and the radiation emitter, the first plane and the second plane being parallel to a real rotation axis, and defining the custom rotation axis as a line extending through the intersection, the line being parallel to the real rotation axis.
[0020] FIG. 1a shows an exemplary industrial X-ray radiography machine 100a. The exemplary X-ray radiography machine 100a can be used to perform non-destructive testing (NDT), digital radiography (DR) scans, computed tomography (CT) scans, and / or other applications on a component 102. In some examples, the component 102 can be an industrial component and / or an assembly of components (e.g., an engine cast, a microchip, a bolt, etc.). For simplicity, mainly discussed with respect to X-rays, but in some examples, the industrial X-ray radiography machine 100 discussed herein can use radiation of other wavelengths (e.g., gamma, neutrons, etc.).
[0021] In the example of FIG. 1a, the X-ray radiography machine 100a directs X-ray radiation 104 from the X-ray emitter 106 through the component 102 to the X-ray detector 108. In some examples, the X-ray detector 108 can include a fluoroscopy detection system and / or a digital image sensor configured to indirectly receive an image through scintillation, and / or can be implemented using a sensor panel (e.g., a CCD panel, a CMOS panel, etc.) configured to directly receive X-rays and generate a digital image. In some examples, the X-ray detector 108 can use a solid-state panel coupled to a scintillation screen, the solid-state panel having pixels corresponding to portions of the scintillation screen. Exemplary solid-state panels can include CMOS X-ray panels and / or CCD X-ray panels.
[0022] In some examples, a 2D digital image (e.g., a radiography image, an X-ray image, etc.) can be generated based on the X-ray radiation 104 incident on the X-ray detector 108. In some examples, the 2D image can be generated by the X-ray detector 108 itself and / or by a computing system in communication with the X-ray detector 108. In some examples, one or more 3D images of the component 102 can be generated using multiple 2D images of the component 102. In some examples, the component 102 can be positioned at different angles with respect to the X-ray emitter 106 and / or the X-ray detector 108 to obtain 2D images in different orientations.
[0023] In the example of FIG. 1a, the component positioner 110a holds the component 102 between the X-ray emitter 106 and the detector 108 in the path of the X-ray radiation 104. In some examples, the component positioner 110a can be configured to move and / or rotate the component 102 such that the desired portion and / or orientation of the component 102 is positioned within the path of the X-ray radiation 104. As shown, the component positioner 110a includes a rotatable fixture 112a on which the component 102 is positioned upward.
[0024] In the example in Figure 1a, the rotatable fixture 112a is a circular plate. In some examples, the rotatable fixture 112a can be a clamp, fastener, gripper, and / or other retaining mechanism, either as an alternative or in addition. As shown, the rotatable fixture 112a is mounted to the motor 114 via a spindle 116, thereby allowing the rotatable fixture 112a to rotate around an axis defined by the spindle 116. In some examples, one or more alternative and / or additional rotating mechanisms may be provided.
[0025] In the example shown in Figure 1a, the rotatable fixture 112a is supported by a support structure 118. The support structure 118 comprises an arm 120, a column 122, a base 124, and a floor 126. As shown, the support structure 118 further comprises an actuator 128 configured to move the arm 120, the column 122, and / or the base 124.
[0026] In the example in Figure 1a, the rotatable fixture 112 is seated on (and / or supported by) the arm 120, and the rotatable fixture 112 is fixed but still able to rotate on the arm 120. Furthermore, the arm 120 is movably connected to a column 122. As shown in the figure, the column 122 has a column track 130 configured to guide the arm 120 in vertical movement along the column 122 (for example, along the y-axis).
[0027] In the example in Figure 1a, the support column 122 is movably connected to the base 124. The base 124 has a shelf track 132 configured to guide the support column 122 in movement along the base 124 (e.g., along the z-axis). The base 124 is movably connected to the floor 126, which has a floor track 134 configured to guide the base 124 in movement along the floor 126 (e.g., along the x-axis). The support column 122, the base 124, and the floor 126 enable the radiographer 100a to move the rotatable fixture 112 (and / or component 102) along all three axes (x, y, z).
[0028] For simplicity, the actuator 128 is represented with the shape shown in the example in Figure 1a, but in some examples, the actuator 128 can include mechanisms of varying complexity. For example, the actuator 128 can include one or more belts, pulleys, pistons, motors, drive shafts, and / or other suitable mechanisms. In the example in Figure 1a, one support track 130, shelf track 132, and floor track 134 are shown, but in some examples, there may be two or more support tracks 130, shelf tracks 132, and / or floor tracks 134. Although described as tracks, in some examples, the support track 130, shelf track 132, and / or floor track 134 can instead or additionally include rails.
[0029] Figure 1b shows an example of an alternative X-ray radiographer 100b. The alternative X-ray radiographer 100b is the same as the X-ray radiographer 100a, except that the alternative X-ray radiographer 100 is equipped with a robotic positioner 110b instead of a positioner 110a.
[0030] In the example shown in Figure 1b, the robot positioner 110b comprises a robot arm 150, the robot arm 150 having multiple segments interconnected by joints that allow the robot arm 150 to move with multiple degrees of freedom. For example, each joint may have one or more degrees of freedom, allowing the robot arm to achieve multiple orientations. The robot positioner 110 further comprises a robot list 152 at the end of the robot arm 150 and an alternative robot fixture 112b attached to the list 152 at the end of the robot arm 150.
[0031] In the example in Figure 1b, the robot positioner 110 further comprises a plurality of actuators 128 (e.g., motors) configured to move the robot positioner 110 and / or rotate the list 152 and / or the rotatable fixture 112. As shown, the alternative rotatable fixture 112b is a gripper rather than a plate. The alternative rotatable fixture 112b holds the part 102 and allows the part 102 to be rotated by the alternative rotatable fixture 112b (and / or the list 152 to which the alternative rotatable fixture 112b is mounted).
[0032] In some examples, the robot list 152 may include a spindle 116 and / or motor 114 configured to rotate a rotatable fixture 112b, similar to the one shown in the arm 120 of the positioner 110a in Figure 1a. In some examples, the alternative rotatable fixture 112b may be a different type of fixture, such as a magnetic fixture. In some examples, the robot positioner 110b (and / or its list 152) may be configured to be attached to a variety of different alternative rotatable fixtures 112b.
[0033] Figure 2 shows an example of an X-ray radiography system 200. As shown in the figure, the X-ray radiography system 200 comprises an X-ray radiographer 100, a computing system 202, a user interface (UI) 204, and a remote computing system 299. In the example in Figure 2, one X-ray radiographer 100, computing system 202, UI 204, and remote computing system 299 is shown, but in some examples, the X-ray radiography system 200 may comprise multiple X-ray radiographers 100, computing systems 202, UI 204, and / or remote computing systems 299.
[0034] In the example shown in Figure 2, the X-ray radiographer 100 has an emitter 106, a detector 108, and a positioner 110 enclosed within a housing 199. As shown, the X-ray radiographer 100 is connected to and / or communicates with computing systems 202 and UIs 204. In some examples, the X-ray radiographer 100 can also communicate electrically with remote computing systems 299. In some examples, the communication and / or connection can be electrical, electromagnetic, wired, and / or wireless.
[0035] In the example in Figure 2, the UI 204 comprises one or more input devices 206 and / or output devices 208. In some examples, the one or more input devices 206 may include one or more touchscreens, mice, keyboards, buttons, switches, slides, knobs, microphones, dials, and / or other electromechanical input devices. In some examples, the one or more output devices 208 may include one or more display screens, speakers, lights, haptic devices, and / or other devices. In some examples, the user may provide input to and / or receive output from an X-ray radiographer(s) 100, a computing system(s) 202, and / or a remote computing system(s) 299 via the UI(s) 204.
[0036] In some examples, UI(s) 204 may be part of computing system 202. In some examples, computing system 202 may implement one or more controllers for X-ray radiographers(s) 100. In some examples, remote computing system(s) 299 may be similar to or identical to computing system 202.
[0037] In the example shown in Figure 2, the computing system 202 communicates (e.g., electrically) with an X-ray radiographer(s) 100, a UI(s) 204, and a remote computing system(s) 299. In some examples, the communication can be direct (e.g., via wired and / or wireless media) or indirect (e.g., via one or more wired and / or wireless networks, e.g., a local area network and / or a wide area network). As shown, the computing system 202 comprises a processing circuit section 210, a memory circuit section 212, and a communication circuit section 214, all interconnected via a common electric bus.
[0038] In some examples, the processing circuit unit 210 may include one or more processors. In some examples, the communication circuit unit 214 may include one or more wireless adapters, wireless cards, cable adapters, wired adapters, radio frequency (RF) devices, wireless communication devices, Bluetooth® devices, IEEE 802.11 compliant devices, WiFi devices, cellular devices, GPS devices, Ethernet ports, network ports, Lightning cable ports, cable ports, etc. In some examples, the communication circuit unit 214 may be configured to facilitate communication via one or more wired media and / or protocols (e.g., Ethernet cables (may be more than one), Universal Serial Bus cables (may be more than one), etc.) and / or wireless media and / or protocols (e.g., Near Field Communication (NFC), Ultra-High Frequency Radio (commonly known as Bluetooth®), IEEE 802.11x, Zigbee®, HART, LTE, Z-Wave, WirelessHD, WiGig, etc.).
[0039] In the example in Figure 2, the memory circuit 212 includes and / or stores a custom axis rotation process 300. In some examples, the custom axis rotation process 300 can be performed by machine-readable (and / or processor-executable) instructions stored in the memory circuit 212 and / or executed by the processing circuit 210. In some examples, the custom axis rotation process 300 can control the positioner 110 of the radiographer(s) 100 to translate the rotatable fixture 112 so that, as the rotatable fixture 112 rotates, the part 102 rotates around a custom axis offset from the actual axis of rotation of the rotatable fixture 112.
[0040] Figure 3 is a flowchart illustrating the operation of an example of the custom axis rotation process 300. In the example in Figure 3, the custom axis rotation process 300 begins in block 302. In block 302, a custom axis 404 is defined (for example, as shown in Figures 4a to 4e).
[0041] In some cases, the custom axis 404 can be defined directly by the user (for example, by user input received via UI(s) 204). In some cases, the custom axis 404 can be defined automatically by the custom axis rotation process 300 based on known (and / or user-entered) measurements of the components of part 102 and / or radiographer 100, etc. In some cases, the custom axis rotation process 300 can define the custom axis 404 based on the analysis of user input.
[0042] For example, the radiography system 200 can generate two or more different 2D images via the radiographer 100, where part 102 is in a different (e.g., eccentric) rotational orientation in each image. The user can then select a point in each of the two or more 2D images. Subsequently, the custom axis rotation process 300 can define two or more planes, each plane extending through the emitter 106 and a different point among the two or more points. Finally, the custom axis rotation process 300 can define a custom axis 404 as the intersection of the two or more planes.
[0043] In some examples, the custom axis 404 can be a line and / or a vector. In some examples, the custom rotation axis 404 can be parallel to the actual rotation axis 402 of the rotatable fixture 112 (e.g., defined by the spindle 116). In some examples, the custom axis 404 can be defined to extend through the approximate center (e.g., within an error range of 5% or 10%) of the part 102 (e.g., measured in a plane approximately parallel to the x-axis). In some examples, the custom axis 404 can be defined with respect to (and / or relative to) a coordinate system, world space, virtual environment, and / or other frameworks that facilitate position / location determination. In some examples, the custom axis rotation process 300 can also define the actual rotation axis 402 of the rotatable fixture 112 using the same framework (e.g., according to known and / or user-entered information).
[0044] In the example in Figure 2, the custom axis rotation process 300 proceeds to block 304 after block 302. In block 304, the custom axis rotation process 300 determines an offset vector 406 extending between the defined custom rotation axis 404 and the actual rotation axis 402 of the rotatable fixture 112 (for example, as shown in Figures 4a to 4e). In some examples, the offset vector 406 can represent the distance (and / or direction) between the custom rotation axis 404 and the actual rotation axis 402. In some examples, the offset vector 406 can be perpendicular (and / or right-angle, orthogonal, etc.) to both the custom rotation axis 404 and the actual rotation axis 402 (and / or be located in such a perpendicular plane).
[0045] Figures 4a to 4e are top views of the rotatable fixture 112a that holds the part 102. For clarity, other parts of the radiographer 100a are omitted. Figure 4a shows an example of the actual rotation axis 402 and custom rotation axis 404 of the rotatable fixture 112a, and an offset vector 406 extending from the actual axis 402 to the custom axis 404.
[0046] In the example in Figure 4a, the actual rotation axis 402 of the rotatable fixture 112 is different from (and / or offset from) the custom axis 404. The actual axis 402 is approximately at the center of the rotatable fixture 112a, while the custom axis 404 is approximately at the center of part 102. However, the center of part 102 is not aligned with the center of the rotatable fixture 112a.
[0047] The lack of alignment may be due, for example, to an uneven distribution of the mass of part 102. If the majority of the mass of part 102 is in the circular portion of part 102, this circular portion (rather than the center of part 102) may need to be positioned more centrally on the rotatable fixture 112a in order to maintain balance. However, as mentioned above, problems may arise due to the lack of alignment between the center of the rotatable fixture 112a (e.g., the actual shaft 402) and the center of part 102 (e.g., the custom shaft 404).
[0048] In the example in Figure 4b, the rotatable fixture 112a is rotated counterclockwise around its actual axis of rotation 402. Component 102 is also rotated as a result of the rotation of the rotatable fixture 112. However, while the actual axis 402 is not moving (as indicated by the crosshairs), the custom axis 404 (and component 102) are translated along the x and z axes. The translation of component 102 due to the misalignment between the center of component 102 and the center of the rotatable fixture 112a is an undesirable outcome, and the custom axis rotation process 300 is designed to address this.
[0049] In the example shown in Figure 3, the custom axis rotation process 300 proceeds from block 304 to block 306. In block 306, the custom axis rotation process 300 identifies the angle or speed (e.g., angular velocity) at which to rotate part 102. In some examples, the direction of rotation (e.g., clockwise or counterclockwise) can also be identified.
[0050] In some cases, the custom axis rotation process 300 can use default angles, speeds, and / or directions stored in the memory circuit section 212. In some cases, the angles, speeds, and / or directions can be provided by the user (for example, via the UI(s) 204). For example, the user can directly input specific angles, speeds, and / or directions.
[0051] In some examples, the angle, speed, and / or direction can be automatically determined by the custom axis rotation process 300 (e.g., based on user input). For example, the user can choose to perform a “step” rotation, in which the rotatable fixture 112 rotates the part 102 by a set amount (and / or angle). In such an example, the user can choose the number of “steps” to perform, and the custom axis rotation process 300 can determine the angle, speed, and / or direction based on the stored / entered angle (and / or direction / speed) for each step. In some examples, the custom axis rotation process 300 can also (or alternatively) determine the angle, speed, and / or direction based on the number of selected steps. In some examples, the number of selected steps can be determined by the length of time the “step” input 206 (e.g., a button) is selected (e.g., 1 second selection = 1 step).
[0052] As another example, the user may choose to continuously rotate the rotatable fixture 112 in continuous "jog". In some examples, the "jog" can continue until a certain number of rotations (e.g., 1 / 4, 1 / 2, 1, 2, 5, 10, etc.) have been performed, until a "stop" input is received. In some examples, the jog speed can be based on a default stored value, can be set directly by the user, and / or can be determined based on the length of time the "jog" input 206 (e.g., a button) is selected. In some examples, the user may choose the length of time for which they want to perform a specific rotation (e.g., 1 / 4, 1 / 2, full), and the custom axis rotation process 300 can determine the appropriate speed based on the selection.
[0053] In the example in Figure 3, the custom axis rotation process 300 proceeds to block 308 after block 306. In block 308, the custom axis rotation process 300 determines the translation of the rotatable fixture 112 based on the offset vector 406 (and / or custom axis 404 and / or real axis 402), as well as the angle, speed, and / or direction identified in block 306. In some examples, the custom axis rotation process 300 can determine the translation based on the offset vector 406 and / or various trigonometric functions (e.g., sine, cosine, etc.) of the selected angle and / or angular velocity.
[0054] In some examples, the desired translation can take the form of coordinates (or a set of coordinates) that identify a new location to which the rotatable fixture 112 (e.g., its center) should be moved in order to rotate part 102 by an identified angle, speed, and / or direction around the custom axis 404. In some examples, the translation can take the form of a vector (or a set of vectors) that identifies the distance and / or direction to which the rotatable fixture 112 should be moved in order to rotate part 102 by an identified angle, speed, and / or direction around the custom axis 404. In some examples, the desired translation can take the form of a translational velocity (e.g., direction and / or speed) to which the rotatable fixture 112 should be moved in order to rotate part 102 by an identified angle, speed, and / or direction around the custom axis 404. In some examples, the translational coordinates (may be more than one), vectors (may be more than one), and / or velocities can be located in a plane that is perpendicular (and / or vertical, orthogonal, etc.) to the custom axis of rotation 404 and / or the actual axis of rotation 402.
[0055] In some examples, translation may include a first translation (e.g., a vector(s) / coordinate(s) / velocity) on a first axis (e.g., the X-axis) and a second translation (e.g., a vector(s) / coordinate(s)) on a second axis perpendicular to the first axis (e.g., the Z-axis). In such examples, both the first and second axes may be located in a plane that is perpendicular (and / or perpendicular, orthogonal, etc.) to the custom rotation axis 404 and / or actual rotation axis of the rotatable fixture 112. In some examples (for example, corresponding to radiographer 100a), the first translation may correspond to the movement of the rotatable fixture 112 (and / or support structure 118) along the floor 126 (and / or floor track 134) of positioner 110a shown in Figure 1, and the second translation may correspond to the movement of the rotatable fixture 112 (and / or support structure 118) along the base 124 (and / or shelf track 132) of positioner 110a. In some examples (for example, corresponding to radiographer 100b shown in Figure 2), the translation(s) may be more complex and / or can be performed on three or more axes (ultimately still resulting in a first / second axis first / second translation).
[0056] In the example in Figure 3, the custom axis rotation process 300 proceeds from block 308 to block 310. In block 310, the custom axis rotation process 300 instructs the positioner 110 to move the rotatable fixture 112 (e.g., via the support structure 118 and / or robot arm 150) according to the translation determined in block 308. As shown, the custom axis rotation process 300 then proceeds to block 312, where the custom axis rotation process 300 rotates the rotatable fixture 112 according to the direction, angle, and / or speed identified in block 306. Although shown in the example in Figure 3 as occurring in separate blocks 310 and 312, in some examples, the translation and rotation of the rotatable fixture 112 can be performed simultaneously. The combination of translation and rotation of the rotatable fixture 112 in blocks 310 and 312 causes the part 102 to rotate around the custom axis 404.
[0057] In some examples, the custom axis rotation process 300 can command rotation and / or translation in block 310 and / or block 312 (and / or can be performed by positioner 110) such that at least the distance portion of the offset vector 406 remains substantially constant (e.g., within the range of 5% and / or 10%). While the directional portion of the offset vector 406 may inevitably change in response to the rotation of the rotatable fixture 112, a constant offset distance can give (e.g., an observing user) the perception that part 102 is rotating around the custom axis 404 in smooth, coordinated motion. In some examples, the custom axis rotation process 300 can dynamically adjust the speed of movement of the support structure 110 (and / or rotation of the rotatable fixture 112) on a particular axis to give the appearance of smooth, coordinated motion. This may be particularly desirable during "jog" motions intended to perform continuous rotations that are always centered on the custom axis 404.
[0058] In contrast, if the offset distance is not kept constant (and / or variation is allowed), rotation of part 102 around custom axis 404 can be achieved by non-coordinated motion. This motion can ultimately result in rotation around custom axis 404, although it may not appear to be rotating around custom axis 404 during that time. Nevertheless, such non-coordinated motion (and / or non-constant offset distance) may be acceptable, or in some examples, even desirable.
[0059] For example, if the offset distance is allowed to change during rotation and / or translation, the implementation of the custom axis rotation process 300 may be simpler. In some cases, the custom axis rotation process 300 can operate faster and / or save the computational power required to coordinate the motion if the offset distance is allowed to change during rotation and / or translation. Also in some cases, allowing the offset distance to change during rotation and / or translation can increase the precision with which the part 102 can be rotated around the custom axis 404 (e.g., by a specific angle).
[0060] In the example in Figure 3, the custom axis rotation process 300 proceeds from block 312 to block 314. In block 314, the custom axis rotation process 300 instructs the emitter 106 to direct the X-ray radiation 104 through part 102 to the detector 108. The custom axis rotation process 300 then generates one or more 2D and / or 3D images based on the radiation received at the detector 108. In some examples, a 3D image of part 102 can be generated using multiple 2D images generated at different rotational orientations of part 102. Although it is indicated that the process ends after block 314, in some examples, the custom axis rotation process 300 can instead return to block 302 or block 306 after block 314.
[0061] Figures 4c–4e illustrate an example of the rotation of part 102 around a custom axis 404 (e.g., via translation of the custom axis rotation process 300). Figure 4c shows the starting position of the rotatable fixture 112, part 102, real axis 402, custom axis 404, and offset vector 406, similar to that shown in Figure 4a. However, in contrast to Figure 4a, Figure 4c shows the crosshairs on the custom axis 404 rather than the real axis 402, indicating that the rotation is centered on the immovable custom axis 404 rather than the immovable real axis 402.
[0062] In the example in Figure 4d, the rotatable fixture 112a (and / or the physical axis 402) is translated downward in the negative z direction and rotates counterclockwise around the physical axis 402, causing part 102 to rotate counterclockwise around the custom axis 404. As shown, the angle of rotation of the rotatable fixture 112a (and / or part 102) is the same as the angle between the new offset vector 406 and the previous offset vector 406 (those in Figures 4c and 4d, respectively). The custom axis 404 has not moved (as indicated by the crosshairs) because the rotatable fixture 112, not part 102, has been translated (as opposed to the example in Figure 4b).
[0063] Figure 4e shows the additional rotation of the rotatable fixture 112 around the custom axis 404 via additional translation and rotation. As shown, the rotatable fixture 112 is further translated upward and to the right in the positive z and x directions and rotated counterclockwise around the real axis 402. In some examples, further rotation of the part 102 around the custom axis 404 may cause the rotatable fixture 112 to translate back to its original position in Figure 4c.
[0064] The custom axis rotation process 300 allows the radiography system 200 to define a custom axis 404 and rotate part 102 around the custom axis 404. This may be particularly beneficial in situations where aligning the center of part 102 with the center of the rotatable fixture 112 (and / or the actual axis 402) is difficult, impractical, and / or impossible. The custom axis rotation process 300 can be applied to an existing radiographer 100 without necessarily involving physical modification of the radiographer 100, integration of new components into the radiographer 100, and / or the risk of destabilizing part 102 and / or the radiographer 100.
[0065] The method and / or system can be implemented in hardware, software, and / or a combination of hardware and software. The method and / or system can be implemented centrally in at least one computing system, or in a distributed manner in which different elements are distributed across several interconnected computing and / or remote computing systems. Any type of computing system or other device adapted to perform the method described herein is suitable. A typical combination of hardware and software may include a general-purpose computing system, along with a program or other code that, when loaded and executed, controls the computing system to perform the method described herein. Another typical embodiment may include an application-specific integrated circuit or chip. Some embodiments may include a non-temporary machine-readable (e.g., computer-readable) medium (e.g., flash drive, optical disk, magnetic storage disk, etc.) which stores one or more machine-executable instructions (e.g., lines of code) that cause the machine to perform a process such as that described herein.
[0066] While the Method and / or System has been described with reference to certain specific embodiments, those skilled in the art will understand that various modifications and substitutions can be made without departing from the scope of the Method and / or System. In addition, many modifications can be made without departing from the scope of the Disclosure to adapt the teachings of the Disclosure to specific circumstances or materials. Thus, the Method and / or System is not limited to the specific embodiments disclosed, but is intended to include all embodiments that fall within the scope of the appended claims.
[0067] As used herein, "and / or" means any one or more items in the list linked by "and / or". For example, "x and / or y" means any element of the three-element set {(x), (y), (x,y)}. In other words, "x and / or y" means "one or both of x and y". As another example, "x, y and / or z" means any element of the seven-element set {(x), (y), (z), (x,y), (x,z), (y,z), (x,y,z)}. In other words, "x, y and / or z" means "one or more of x, y and z".
[0068] As used herein, the term “for example” commences a list of one or more non-limiting examples, cases, or illustrations.
[0069] As used herein, the terms "coupled," "coupled to," and / or "coupled with" mean a structural and / or electrical connection, whether it be attachment, bonding, connection, joining, fastening, linking, and / or other fastening. As used herein, the terms "attach" mean bonding, bonding, connection, joining, fastening, linking, and / or other fastening. As used herein, the terms "connect" mean attaching, bonding, joining, fastening, linking, and / or other fastening.
[0070] As used herein, the terms “circuit” and “circuit section” refer to physical electronic components (i.e., hardware) and any software and / or firmware ("code") that can constitute the hardware, that the hardware can execute, and / or that can otherwise be associated with the hardware. As used herein, for example, a particular processor and memory may include a first “circuit” when executing one or more first lines of code, and a second “circuit” when executing one or more second lines of code. As used herein, whenever a circuit section includes hardware and code (if any of them are required) necessary to perform a certain function, the circuit section is “operable” and / or “configured” to perform that function, regardless of whether the performance of that function is disabled or not (e.g., by a user-configurable setting, factory trim, etc.).
[0071] As used herein, the control circuit may include digital and / or analog circuitry, discrete and / or integrated circuits, a microprocessor, a DSP, software, hardware and / or firmware, located on one or more boards used to constitute part or all of the controller and / or to control devices such as welding processes and / or power supplies and wire feeders.
[0072] As used herein, the term “processor” means a processing device, apparatus, program, circuit, component, system, and subsystem, whether implemented in hardware, in tangibly embodied software, or both, and whether programmable or not. As used herein, the term “processor” includes, but is not limited to, one or more computing devices, wired circuits, devices and systems that modify signals, devices and machines that control systems, central processing units, programmable devices and systems, field-programmable gate arrays, application-specific integrated circuits, systems on a chip, systems comprising individual elements and / or circuits, state machines, virtual machines, data processors, processing equipment, and any combination thereof. A processor may be, for example, any type of general-purpose microprocessor or general-purpose microcontroller, a digital signal processing (DSP) processor, an application-specific integrated circuit (ASIC), a graphics processing unit (GPU), a reduced instruction set computer (RISC) processor with an advanced RISC machine (ARM) core, etc. A processor may be coupled to and / or integrated into a memory device.
[0073] As used herein, the terms “memory” and / or “memory device” mean computer hardware or circuitry that stores information for use by a processor and / or other digital device. Memory and / or memory devices may be any suitable type of computer memory or any other type of electronic storage medium, such as read-only memory (ROM), random access memory (RAM), cache memory, compact disk read-only memory (CDROM), electro-optical memory, magneto-optical memory, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), computer-readable media, etc. Examples of memory include non-temporary memory, non-temporary processor-readable media, non-temporary computer-readable media, non-volatile memory, dynamic RAM (DRAM), volatile memory, ferroelectric RAM (FRAM®), first-in, first-out (FIFO) memory, last-in, first-out (LIFO) memory, stack memory, non-volatile RAM (NVRAM), static RAM (SRAM), cache, buffer, semiconductor memory, magnetic memory, optical memory, flash memory, flash card, CompactFlash® card, memory card, secure digital memory card, microcard, minicard, expansion card, smart card, memory stick, multimedia card, picture card, flash storage, subscriber identification module (SIM) card, hard drive (HDD), solid state drive (SSD), etc. Memory can be configured to store code, instructions, applications, software, firmware and / or data, and can be external, internal, or both to the processor. The inventions disclosed herein include the following: [Aspect 1] When executed by the processor, To define a custom rotation axis in an industrial radiography system, wherein the custom axis is offset from the actual rotation axis on which a rotatable fixture configured to hold an object is configured to rotate. The process involves determining an offset vector extending between the custom rotation axis and the actual rotation axis along a plane perpendicular to both the custom rotation axis and the actual rotation axis, Identifying the angle or angular velocity at which the object rotates around the custom axis, Based on the offset vector and the angle, or the offset vector and the angular velocity, the translation of the rotatable fixture in the plane perpendicular to the custom rotation axis is determined. Commanding the support structure to move the rotatable fixture in the plane based on the translation, A non-temporary computer-readable medium comprising a machine-readable instruction causing the processor to command the rotatable fixture to rotate around the real axis based on the angle or the angular velocity, such that the translation of the rotatable fixture in the plane and the rotation of the rotatable fixture around the real axis result in an effective rotation of the object around the custom axis. [Aspect 2] The non-temporary computer-readable medium according to Embodiment 1, wherein the custom rotation axis is parallel to the actual rotation axis. [Aspect 3] The non-temporary computer-readable medium according to Embodiment 1, wherein the offset vector includes an offset distance and an offset direction, and the support structure and the rotatable fixture are commanded to move such that the offset distance remains substantially constant during movement. [Aspect 4] The non-temporary computer-readable medium according to Embodiment 1, wherein the translation includes new coordinates for moving the rotatable fixture, the distance and direction of movement of the rotatable fixture, or the direction and speed of movement of the rotatable fixture. [Aspect 5] When executed by the aforementioned processor, Determining the first translation of the rotatable fixture on the first axis based on the angle and the offset vector, wherein the first axis is perpendicular to the custom rotation axis, A non-temporary computer-readable medium according to embodiment 1, further comprising a machine-readable instruction causing the processor to determine a second translation of a rotatable platform on a second axis based on the angle and the offset vector, wherein the second axis is perpendicular to the custom rotation axis, and the translation includes the first translation and the second translation. [Aspect 6] The non-temporary computer-readable medium according to embodiment 5, wherein the second axis is perpendicular to the custom axis and the first axis. [Aspect 7] The non-temporary computer-readable medium according to Embodiment 1, wherein the offset vector includes an offset distance and an offset direction, and the non-temporary computer-readable medium further includes a machine-readable instruction, when executed by the processor, causing the processor to instruct the radiation emitter of the industrial radiography system to direct radiation through the object to the radiation detector of the industrial radiography system at a plurality of different time points, wherein the offset distance remains constant at each of the plurality of different time points. [Aspect 8] The non-temporary computer-readable medium according to embodiment 1, further comprising a machine-readable instruction, when executed by the processor, causing the processor to instruct a radiation emitter of the industrial radiography system to direct radiation through the object to a radiation detector of the industrial radiography system. [Aspect 9] A non-temporary computer-readable medium according to embodiment 8, further comprising machine-readable instructions, when executed by the processor, causing the processor to generate a two-dimensional or three-dimensional image of the object based on the radiation detected by the radiation detector. [Aspect 10] Defining the aforementioned custom rotating shaft means Sending a first signal to the radiation emitter of the industrial radiography system, wherein the first signal represents a command to direct a first radiation through the object to the radiation detector of the industrial radiography system. Based on the first radiation detected by the radiation detector, a first image of the object is generated. Receiving a first selection of a first point in the first image, Commanding the aforementioned rotatable fixture to rotate, Sending a second signal to the radiation emitter, wherein the second signal represents a command to direct the second radiation through the object to the radiation detector, Based on the second radiation detected by the radiation detector, a second image of the object is generated. Receiving a second selection of a second point in the second image, Identifying the intersection of the first plane defined by the first point and the radiation emitter and the second plane defined by the second point and the radiation emitter, wherein the first plane and the second plane are parallel to the actual axis of rotation. A non-temporary computer-readable medium according to Embodiment 1, comprising defining the custom axis of rotation as a line extending through the intersection, wherein the line is parallel to the actual axis of rotation. [Aspect 11] A method for rotating an object around a custom rotation axis in an industrial radiography system, Defining the custom axis of rotation, wherein the custom axis is offset from the actual axis of rotation on which a rotatable fixture configured to hold the object is configured to rotate. The process involves determining an offset vector extending between the custom rotation axis and the actual rotation axis along a plane perpendicular to both the custom rotation axis and the actual rotation axis, Identifying the angle or angular velocity at which the object rotates around the custom axis, Based on the offset vector and the angle, or the offset vector and the angular velocity, the translation of the rotatable fixture in the plane perpendicular to the custom rotation axis is determined. Moving the rotatable fixture in the plane based on the translation, A method comprising rotating the rotatable fixture around the real axis based on the angle or angular velocity, wherein the translation of the rotatable fixture in the plane and the rotation of the rotatable fixture around the real axis result in an effective rotation of the object around the custom axis. [Aspect 12] The method according to embodiment 11, wherein the custom rotation axis is parallel to the actual rotation axis. [Aspect 13] The method according to embodiment 11, wherein the offset vector includes an offset distance and an offset direction. [Aspect 14] The method according to embodiment 13, wherein the rotatable fixture moves such that the offset distance remains substantially constant. [Aspect 15] The method according to embodiment 11, wherein moving the rotatable fixture in the plane includes moving the rotatable fixture via a support structure that holds the rotatable fixture. [Aspect 16] The method according to embodiment 11, further comprising directing radiation from a radiation emitter of the industrial radiography system through an object to a radiation detector of the industrial radiography system. [Aspect 17] The method according to embodiment 16, wherein the radiation is X-ray radiation. [Aspect 18] The method according to embodiment 16, further comprising generating a two-dimensional image of the object based on the radiation detected by the radiation detector. [Aspect 19] The method according to embodiment 18, further comprising generating a three-dimensional image of the object based on the two-dimensional image of the object and a plurality of other two-dimensional images of the object. [Aspect 20] Defining the aforementioned custom rotating shaft means To direct the first radiation from the radiation emitter of the industrial radiography system through the object to the radiation detector of the industrial radiography system, Based on the first radiation detected by the radiation detector, a first image of the object is generated. Receiving a first selection of a first point in the first image, Rotating the aforementioned rotatable fixing device, Directing the second radiation through the object to the radiation detector, Based on the second radiation detected by the radiation detector, a second image of the object is generated. Receiving a second selection of a second point in the second image, Identifying the intersection of the first plane defined by the first point and the radiation emitter and the second plane defined by the second point and the radiation emitter, wherein the first plane and the second plane are parallel to the actual axis of rotation. The method according to embodiment 11, comprising defining the custom axis of rotation as a line extending through the intersection, wherein the line is parallel to the actual axis of rotation.
Claims
[Claim 1] A method for rotating an object around a custom rotation axis in an industrial radiography system, While the object is in a first orientation with respect to the radiation emitter or radiation detector of the industrial radiography system, the first radiation from the radiation emitter is directed through the object to the radiation detector. Based on the first radiation detected by the radiation detector, a first image of the object having the first orientation is generated. The first selection of a point selected by a first user in the first image of the object is received via the user interface of the industrial radiography system. Identifying a first plane defined by the radiation emitter and a point selected by the first user in the first image, Rotating the object to a second orientation via the rotatable fixing device of the industrial radiography system, While the object is in the second orientation, the second radiation is directed through the object to the radiation detector, Based on the second radiation detected by the radiation detector, a second image of the object having the second orientation is generated. The second selection of a point selected by the second user in the second image is received via the user interface, Identifying a second plane defined by the radiation emitter and a point selected by the second user in the second image, The custom axis of rotation is defined as a line extending through the intersection of the first plane and the second plane, wherein the custom axis of rotation is offset from the actual axis of rotation on which the rotatable fixture configured to hold the object is configured to rotate. The method involves determining an offset vector extending between the custom rotation axis and the actual rotation axis along a plane perpendicular to both the custom rotation axis and the actual rotation axis, wherein the offset vector includes an offset distance and an offset direction. Identifying the angle or angular velocity at which the object rotates around the custom rotation axis, Based on the offset vector and the angle, or the offset vector and the angular velocity, the translation of the rotatable fixture in the plane perpendicular to the custom rotation axis is determined. Moving the rotatable fixture in the plane based on the translation, A method comprising rotating the rotatable fixture around the actual rotation axis based on the angle or angular velocity.