PIPE TRAVERSING APPARATUS, SENSING, AND CONTROLS
A system for detecting radial movement of a robotic apparatus on a pipe, comprising distance sensors configured to measure a distance between their respective fixed positions and a surface of the pipe, and a processor configured to detect a change and determine whether the change is indicative of radial movement. A system for tracking a position of a robotic apparatus on a pipe, comprising mirrored, freely-rotating mecanum wheels, a sensor(s) configured to measure rotation of the mecanum wheels, and a processor configured to calculate a linear displacement of each mecanum wheel and resulting axial and circumferential positions of the robotic apparatus. A method for navigating a bend or curve of a pipe, comprising generating computer models of the robotic apparatus and the pipe, performing a computer simulation to identify a combination of wheel speeds that keeps the wheels in constant contact with the pipe, and operating the wheels accordingly.
This application is a Continuation Application of U.S. application Ser. No. 17/471,134, filed Sep. 9, 2021, which is a Continuation Application of U.S. application Ser. No. 17/032,771, filed Sep. 25, 2020, now U.S. Pat. No. 11,154,989, which claims the benefit of and priority to U.S. Provisional Application No. 62/906,910, filed Sep. 27, 2019, U.S. Provisional Application No. 63/042,886, filed Jun. 23, 2020, and U.S. Provisional Application No. 63/063,769, filed Aug. 10, 2020, all of which are hereby incorporated herein by reference in its entirety for all purposes.
BACKGROUNDMany existing pipe crawling apparatuses are designed to either travel inside of pipes or are not equipped to travel around obstacles it may encounter on the outside of pipes. In view of limitations of current technologies, a need remains for pipe-crawling apparatus that are effective in driving on horizontal and vertical pipes and navigating around and/or over potential obstacles—e.g., obstacles that present a change in the effective diameter of the pipe, a change in the effective curvature of the pipe, and/or obstacles that protrude from the pipe in one or more radial directions. More particularly, pipe-crawling apparatus are needed that are effective in navigating around and/or over flanges, valves, tees, bends, supports and the like. In addition, a need remains for pipe-crawling apparatus that are effective in traveling relative to pipes without magnets, vacuum or aerodynamic forces. Additionally, a need remains for pipe-crawling apparatus and associated systems that are effective in performing desired functions relative to the pipe itself, e.g., corrosion detection, wall thickness measurements, or based on travel along the path but independent of the pipe itself, e.g., imaging and/or sensing of locations accessible through travel along a pipe. These and other needs are advantageously satisfied by the apparatus and systems disclosed herein.
SUMMARYThe present disclosure is directed to a system for detecting radial movement of a robotic apparatus on a pipe. The system, in various embodiments, may comprise a first distance sensor and a second distance sensor, each configured to be coupled with the robotic apparatus at a fixed position and to measure a distance between its respective fixed position and a surface of the pipe; and a processor configured to monitor the distance measurements provided by the first distance sensor and the second distance sensor as the robotic apparatus moves along the pipe; detect a change in the distance measurements provided by at least one of the first distance sensor and the second distance sensor; and determine whether a diameter of the pipe changed at the axial location at which the processor detected the change in the distance measurements, and if not, determine that the change in distance measurements are indicative of radial movement of the robotic apparatus on the pipe.
In some embodiments, at least one of the first distance sensor and the second distance sensor may be a laser or ultrasonic time-of-flight sensor. In some embodiments, at least one of the first distance sensor and the second distance sensor may be a contact sensor comprising a contact member biased to maintain contact with the surface of the pipe and a sensor configured to measure a position of the contact member as a proxy for the distance measurement. The contact member, in some embodiments, may be an angularly-deflecting member or a linearly deflecting member.
The first distance sensor and the second distance sensor, in various embodiments, may be offset from a centerline of the robotic apparatus and may configured to measure the distance between their respective fixed positions and surfaces on either side of a centerline of the pipe. The processor, in an embodiment, may be configured to determine a direction and magnitude of the radial movement based on the distance measurements provided by the first distance sensor and the second distance sensor. In an embodiment, the processor may be configured to determine a diameter of the pipe based on the distance measurements provided by the first distance sensor and the second distance sensor.
The system, in various embodiments, may further comprise a third distance and a fourth distance sensor, each configured to be coupled with the robotic apparatus at a fixed position and to measure a distance between its respective fixed position and a surface of the pipe. The first distance sensor and the second distance sensor may be positioned proximate a first end of the robotic apparatus and the third distance sensor and the fourth distance sensor are positioned proximate a second, opposing end of the robotic apparatus. The processor may be configured to monitor the distance measurements provided by the first distance sensor, the second distance sensor, the third distance sensor, and the fourth distance sensor as the robotic apparatus moves along the pipe; detect a change in the distance measurements provided by at least one of the first distance sensor, the second distance sensor, the third distance sensor, and the fourth distance sensor; and determine whether a diameter of the pipe changed at the axial location at which the processor detected the change in the respective distance measurements, and if not, determine that the change in the respective distance measurements are indicative of radial movement of a corresponding end of the robotic apparatus on the pipe. The processor, in an embodiment, may be configured to determine a direction and magnitude of radial movement at the first end of the pipe based on the distance measurements provided by the first distance sensor and the second distance sensor and to determine a direction and magnitude of radial movement at the second end of the pipe based on the distance measurements provided by the third distance sensor and the fourth distance sensor. The processor, in an embodiment, may be configured to determine a diameter of the pipe at the axial location associated with the first end of the pipe based on the distance measurements provided by the first distance sensor and the second distance sensor, and to determine a diameter of the pipe at the axial location associated with the second end of the pipe based on the distance measurements provided by the third distance sensor and the fourth distance sensor.
The first distance sensor and the second distance sensor, in various embodiments, may be positioned proximate opposing ends of the robotic apparatus. The processor may be configured to monitor the distance measurements provided by the first distance sensor and the second distance sensor as the robotic apparatus moves along the pipe, detect a change in the distance measurements provided by at least one of the first distance sensor and the second distance sensor, and determine whether a diameter of the pipe changed at the axial location at which the processor detected the change in the respective distance measurements, and if not, determine that the change in the respective distance measurements are indicative of radial movement of a corresponding end of the robotic apparatus on the pipe.
The processor, in various embodiments, may be configured to determine whether a diameter of the pipe changed at the axial location at which the processor detected the change in the distance measurements by comparing an axial location of the robotic apparatus on the pipe with a known axial location(s) of any diameter changes in the pipe. The processor, in various embodiments, may be configured to determine whether a diameter of the pipe changed at the axial location at which the processor detected the change in the distance measurements by measuring a diameter of the pipe at the axial location and comparing the diameter measurement to a known or measured diameter of the pipe upstream from the axial location.
The processor, in various embodiments, may be further configured to automatically correct the radial movement by (i) estimating a magnitude and direction of the radial movement based on the measured distances provided by each respective distance sensor, (ii) determining, based on the estimated magnitude and direction of the radial movement, a respective direction, speed, and duration for which to operate one or more wheels of the robot to overcome the radial movement, and (iii) operating the one or more wheels according to the estimated direction, speed, and duration.
In another aspect, the present disclosure is directed to a system for tracking a position of a robotic apparatus on a pipe, comprising a first mecanum wheel and a second mecanum wheel, each mecanum wheel configured to be freely-rotating and including a plurality of rollers disposed about a circumference of the respective mecanum wheel, the rollers of the first mecanum wheel having an orientation mirroring that of the rollers of the second mecanum wheel; at least one sensor configured to measure rotation of the first mecanum wheel and the second mecanum wheel; and a processor configured to calculate a linear displacement of each respective mecanum wheel based on the measured rotation of each respective wheel and a diameter of each respective wheel, and calculate a resulting axial position and circumferential position of the robotic apparatus on the pipe based on the calculated linear displacements of the first mecanum wheel and the second mecanum wheel.
The first mecanum wheel and the second mecanum wheel, in various embodiments, may have axes of rotation parallel to one another and perpendicular to a longitudinal axis of the pipe. The at least one sensor, in various embodiments, may include at least one rotary encoder. The system may further comprise one or more members configured to bias the first and second mecanum wheels against a surface of the pipe.
In yet another aspect, the present disclosure is directed to a method for navigating a bend or curve of a pipe with a robotic apparatus, comprising generating a computer model of the robotic apparatus and a computer model of the bend or curve of the pipe; performing a computer simulation to identify a combination of wheel speeds at which to rotate respective wheels of the computer model of the robotic device that results in each wheel of the model of the robotic apparatus remaining in constant contact with a surface of the model of the pipe throughout the length of the bend or curve of the model of the pipe; and operating the wheels of the robotic apparatus according to the identified combination of respective wheel speeds to navigate the bend or curve in the pipe without losing contact between each of the wheels and the surface of the pipe.
The robotic apparatus, in various embodiments, may include a first wheel configured for positioning on a first side of the pipe corresponding with an outer radius of the bend or curve in the pipe, and a second wheel and a third wheel, each configured for positioning on a second, opposing side of the pipe corresponding with an inner radius of the bend or curve in the pipe. The identified combination of respective wheel speeds, in various embodiments, may include slowing sharply the second wheel as it enters the bend or curve and gradually accelerating the second wheel to the same speed of the first wheel, and slowing gradually the third wheel as it enters the bend or curve and accelerating sharply the third wheel the same speed of the first wheel.
Illustrative, non-limiting example embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.
Embodiments of the present disclosure are directed to a robotic apparatus for traversing the exterior of piping systems, such as ones commonly found in chemical plants, power plants, manufacturing plants, and infrastructure. Piping systems can be complex and present various obstacles that can make it difficult to traverse individual pipes in an efficient and effective manner. For example, as shown in
Embodiments of the present disclosure are directed to a robotic apparatus that may also traverse the exterior of other structures that are similarly shaped, such as structural cables (e.g. on suspension bridges), structural beams, powerlines, underwater cables and underwater piping systems.
Embodiments of the present disclosure may be useful in many applications including, without limitation:
-
- Pipeline inspection using cameras, non-destructive testing (NDT or NDI), or other sensors;
- Inspecting equipment in the vicinity of the piping system
- Performing maintenance on the piping system (e.g., cleaning the external surface, removing insulation, applying a patch/clamp to stop a leak)
- Transporting tools or equipment along the piping system (e.g., facilitating installation of sensors on the pipe).
Various embodiments of the robotic apparatus may be capable of traversing pipes arranged in any orientation (including horizontal and vertical), and pipes made of any material (e.g., steel, aluminum), even those with insulation about the exterior of the pipe. Insulation is typically a semi-rigid material, such as a mineral wool or calcium silicate, protected by a thin metal jacket, such as aluminum or stainless steel.
Generally speaking, embodiments of the robotic apparatus of the present disclosure may attach to a pipe by applying a clamping force on opposing sides of the pipe. Various embodiments may be capable of holding a static position on the pipe and may support its own weight on a range of pipe sizes in any orientation (e.g., horizontal or vertical). The robotic apparatus, in various embodiments, may be configured to drive along a path in the longitudinal direction of the pipe, as well as along a helical path (i.e., circumferential and longitudinal), on pipes of varying sizes and orientation. Such maneuvering, in combination with the ability to expand or contract the clamping mechanism around the pipe, and an open-sided architecture, may allow the robotic apparatus to navigate a variety of bends and obstacles encountered along the length of the pipe. A low profile of the robotic apparatus may enable it to drive along pipes in close proximity to other pipes or obstacles situated close by, and an optional fail-safe mechanism may be included to prevent the robotic apparatus from falling to the ground in the event its wheels decoupled from the pipe. The robotic apparatus may additionally be capable of actively sensing and controlling the amount of clamping force it exerts on the pipe, thereby minimizing the risk that its wheels slip along the pipe while ensuring that the robotic apparatus does not damage the pipe or insulation. Further, the robotic apparatus may be capable of actively sensing whether the wheels slip on the pipe surface and actively control individual wheels to steer the robotic apparatus back to the centerline of the pipe.
In various embodiments, the robotic apparatus may be configured to carry and deploy a payload along the pipe, such as cameras (e.g. visual spectrum and IR cameras), various sensors like NDT sensors (e.g., ultrasonic testing probes, pulsed eddy current probes, digital radiography equipment, acoustic sensors) and gas monitors for the purpose of inspecting the piping system or equipment in its vicinity, and/or other payloads like tools and equipment. The robotic apparatus, in various embodiments, may include an onboard power supply (e.g., batteries) and operate via wireless communication with an operator, thereby obviating the need for a power cord or tether.
High-Level ArchitectureReferring now to
Still referring to
Wheel 110, in various embodiments, may include any rotatable body suitable for engaging and rotating along an outer surface of pipe 10. To that end, wheel 110 may generally include a rotating body with a contact surface 112, and may be rotatably coupled with a wheel frame 114.
Wheel 110 may be of any shape and construction suitable for the aforementioned purpose such as, without limitation, disc- or cylindrical-shaped. While standard wheels may be utilized, in various embodiments, it may be advantageous for wheel 110 to have a shape specifically designed to accommodate, and thereby more effectively engage, the rounded shape of the outer surface of pipe 10. To that end, in various embodiments, contact surface 112 may be substantially inverted (e.g., v-shaped, hourglass shaped), with contact surface 112 having a concave curvature dimensioned to conform to the rounded shape of pipe 10. As best shown in
Further, the hourglass shape of contact surface 112, in various embodiments, may act to automatically center wheel 110 along a longitudinal centerline of pipe 10, as shown in
The shape of contact surface 112 may be especially suitable for helical motion around a pipe, including the helical motion that robotic apparatus 100 may exhibit. Consider the plane that includes the central axis of the wheel and a vector that is normal to the surface of the pipe. When the wheel is oriented to drive straight along the longitudinal axis of the pipe the cross-section of the pipe in the aforementioned plane is a circle. When the wheel is oriented to drive at an angle with respect to the longitudinal axis of the pipe the cross-section of the pipe in the aforementioned plane is an ellipse. This effectively changes the curvature of the section of the pipe that the wheel is driving on, similar to how a change in pipe size changes the pipe's curvature. Similar to how the wheel can adapt to a range of pipe sizes, it can also adapt to a range of turning angles that effectively change the curvature of the pipe under the wheel. In general, the contact area between the wheel and the pipe increases as the curvature decreases. Hence, the contact area increases as the pipe size increases and as the angle between the wheel's direction of travel and the longitudinal axis of the pipe increases.
Alignment mechanism 120, in various embodiments, may include any mechanism suitable for adjusting an orientation of wheel 110, and thereby define a path to be followed by robotic apparatus as it traverses pipe 10. In particular, alignment mechanism 120, in various embodiments, may be configured to adjust the orientation of an associated wheel 110 rotationally, with respect to an axis that is normal to pipe 10, to steer robotic apparatus along pipe 10. That is, alignment mechanism 120, in various embodiments, may adjust the orientation of an associated wheel 110 about a yaw axis 103 of robotic apparatus 100 (shown in
Referring to
In certain scenarios, one or more alignment mechanisms 120 may be configured to individually adjust the respective orientations of wheels 110 by different amounts and/or in different directions. When all wheels 110 are turned by the same amount in the same clockwise or counter-clockwise direction, robotic apparatus 100 may travel along a helical pathway. In contrast, when wheels 110 are oriented in opposite directions, such that the wheels 110 on one side of pipe 10 turn in one direction (e.g. clockwise) and the wheels on the opposite side of pipe 10 turn in the opposite direction (e.g. counter-clockwise), robotic apparatus 100 may travel along a different pathway. In the latter case, wheels 110 may travel such that robotic apparatus 100 moves along the longitudinal axis of pipe 10 and translates sideways with respect to the same axis. This may be beneficial if wheels 110 slip, for example due to the weight of robotic apparatus 100, away from the centerline of pipe 10. This method for self-adjusting the position of robotic apparatus 100 on the pipe is later illustrated in
According to exemplary embodiments of the present disclosure, the angular orientation of the wheels may “lock” once axial movement of robotic apparatus 100 on pipe 10 commences. In this way, the desired travel pattern, e.g., helical travel with a 5° off-axis alignment of wheels 110, may be maintained as robotic apparatus 100 moves along pipe 10. Various locking features may be employed to detachably secure wheel frame 114 (and thus wheel 110) in the desired angular orientation, as will be apparent to persons skilled in the art.
Wheel assembly 101, in various embodiments, may further include a motor 130 for driving rotation of wheel 110. Motor 130 may include any motor such as, without limitation, a brushed or brushless DC motor or the like, suitable for driving rotation of an associated wheel 110 of wheel assembly 101.
As shown in
Wheel assembly 101 may further include one or more controllers (not shown) for controlling operation of motor(s) 130, such as rotational speed, torque, and the like. The controllers may receive commands from various locations. For example, one of the controllers mounted with respect to robotic apparatus 100 may function as a “master” controller, and the other controllers may function as “slave” controllers, such that the slave controllers respond to commands received from the master controller. Alternatively, each of the controllers may operate independently and may receive independent commands. The commands may be remotely transmitted, e.g., by wireless (or wired) communication, as is known in the art. The commands may also be pre-programmed, in whole or in part, in the controller(s), e.g., time-based commands to operate according to clock-based criteria.
Although exemplary robotic apparatus 100 is depicted with three motors 130, the disclosed apparatus may be implemented such that a motor is provided for less than all wheels associated with the apparatus. For example, a single drive motor 130 associated with a single wheel 110 may be provided, and the other wheels 110 may rotate in response to movement that is initiated by the single motor 130 (and associated wheel 110). Similarly, a pair of motors 130 may be provided for an apparatus that includes three wheels 110, such that two wheels 110 may receive drive force from associated motors 130, while the third wheel 110 rotates in response to movement of the apparatus relative to the pipe 10.
In exemplary embodiments of the present disclosure, the relative speed of the individual wheels 110 may be controlled so as to enhance the operation of the apparatus. For example, it may be desired to drive the center wheel (e.g., that of wheel assembly 101a) faster than either of the outer wheels (e.g., those of wheel assemblies 101b, 101c) when navigating a turn or bend in the pipe 10. In such circumstance, the controllers may be programmed to increase the drive force to the center wheel 110 and/or reduce the drive force to outer wheel(s) 110. Alternatively, it may be desirable to drive the outer wheels 110 faster than the center wheel 110 when navigating a turn or bend in the pipe 10. In such circumstance, the controllers may be programmed to increase the drive force to the outer wheel(s) 110 and/or reduce the drive force to the center wheel 110. The noted adjustments may be initiated manually, e.g., by an operator, or may be initiated automatically, e.g., based on sensing mechanism(s) associated with the assembly that identify a turn/bend in the pipe 10 (e.g., based on sensing of the angular orientation of one or more aspects of the apparatus).
Clamping Mechanism 150Referring ahead to
Arm members 152, in various embodiments, may be arranged in pairs, with the members of a given pair arranged parallel to one another and separated by a gap, as shown in
For example, in
Of course, in various embodiments, a single arm member 152 (as opposed to the aforementioned pairs) may be used connect two wheel assemblies 101. In such embodiments (not shown), alternative approaches may be employed to maintain the connected wheel assemblies 101 in parallel alignment, if desired. For example, a single arm member 152 may be used with a pair of wires in the same plane as the aforementioned pairs. The wires may attach directly to wheel assemblies 101 on each side of arm member 152. While arm member 152 would provide the necessary structural integrity, the wires would engage when arm member 152 pivoted and (based on the same kinematics as the parallelogram-shaped linkage) keep the connected wheel assemblies 101 in parallel alignment with one another. It should be recognized that two wires may be needed since wires typically only carry loads in tension, not compression.
Biasing members 154, in various embodiments, may be configured to apply a force for pulling opposing wheel assemblies 101 toward opposing sides of pipe 10 to secure robotic apparatus 100 to pipe 10. Biasing members 154 may include any mechanism suitable for this purpose such as, without limitation, a gas tension spring (shown in
Clamping mechanism 150 as configured may automatically adjust the positions of wheel assemblies 101 relative to one another to accommodate pipes of varying diameters. For example, robotic apparatus 100 may compress significantly to accommodate small diameter pipes, resulting in a configuration in which wheel assemblies 101b, 101c are nearly coplanar with wheel assembly 101a along a longitudinal axis of pipe 10 (i.e., separated by the small diameter of pipe 10), but are situated far away from wheel assembly 101a along a longitudinal axis of pipe 10, as shown in
Referring back to
Referring ahead to
In an alternative embodiment the biasing member(s) is an actively controlled actuator, such as a linear actuator (lead/ball/roller screw), rack-and-pinion, worm drive, or hydraulic/pneumatic actuator. The advantages of an actively controlled biasing member include the lower likelihood of exerting a force that is too small or too large. If the clamping force is too small the wheels will start to slip on the pipe. If the clamping force is too large it places unnecessary stress on the clamping mechanism and it increases the risk of deforming and/or damaging the pipe, the pipe insulation, or other equipment. With an actively controlled biasing member the force exerted can be adjusted in real time based on sensor values (e.g. wheel slip sensors), based on environmental conditions (e.g. higher clamping force is needed if rain makes the pipes slippery), and/or visual observations from the operator (e.g. lower clamping force is recommended if insulation deformation is observed). An actively controlled biasing member can also facilitate the process of attaching and detaching the robotic apparatus to the pipe, while a passive biasing member necessitates the use of a clamp or similar device to attach and detach the apparatus to the pipe. An actively controlled biasing member can also be designed to exert the appropriate force on a wide range of pipe sizes, while a passive biasing member usually has a more limited range of pipe sizes on which it exerts the appropriate amount of force. The two main disadvantages of an actively controlled biasing member are the following. Firstly, actively controlled actuators typically don't move as fast as passive biasing members. When the robotic apparatus drives around a bend it is especially important to be able to close the clamping mechanism quickly to maintain contact between the wheels and the pipe. Secondly, actively controlled apparatuses are mechanically and electronically more complex, and are therefore more prone to failure.
Referring ahead to
In this embodiment, clamping mechanism 150 may generally include a motor 180 for driving a lead screw 181, which in turn moves a plurality of linear arm pairs 182a, 182b, 182c to expand or compress clamping mechanism 150. More specifically, wheel assemblies 101a and 101b may be coupled to a first frame 183a, thereby defining a first frame assembly 184a, and wheel assemblies 101c, 101d may be coupled to a second frame 183b, thereby defining a second frame assembly 184b. Each of the linear arms 182 may have a first end 185 rotatably coupled to either the first frame 183a or the second frame 183b, and a second end 186 rotatably and slidably coupled to a linear guide 187, as shown. Second ends 186 of at least some of the plurality of linear arms 182 may be operably coupled to lead screw 181 such that rotation of lead screw 181 causes the operably coupled second ends 186 to move from a first position on linear guide 187 to a second position on linear guide 187, thereby changing the angle of each of the linear arms 182 in each pair relative to one another. As the angle between of linear arm 182 of each pair changes, the distance between first frame assembly 184a and second frame assembly 184b is adjusted. For example, driving lead screw 181 in a first direction may cause the operably coupled second ends 186 to move inwards along linear guide 187, causing the angle between the linear arms 182 of each pair to increase as each arm 182 becomes more perpendicular to linear guide 187. This may cause first frame assembly 184a and second frame assembly 184b to move further away from linear guide 187, thereby expanding robotic apparatus 100. Conversely, driving lead screw 181 in a second, opposing direction may cause the operably coupled second ends 186 to move outwards along linear guide 187, causing the angle between the linear arms 182 of each pair to decrease as each arm 182 becomes more parallel to linear guide 187. This may cause first frame assembly 184a and second frame assembly 184b to move closer to linear guide 187, thereby compressing robotic apparatus 100. By adjusting the distance between the first frame assembly 184a and the second frame assembly 184b, clamping mechanism 150 can accommodate various diameter pipes 10 and navigate bends as shown in
Referring now to
In operation, robotic apparatus 100 may be mounted on an exterior surface of pipe 10 and traverse pipe 10 to deliver, perform, and/or support various functionalities, such as inspecting pipe 10 for structural defects or corrosion, and sampling the surrounding environment for traces of fluids that may have leaked from pipe 10. In doing so, robotic apparatus 100 may at times may need to reposition itself circumferentially on pipe 10 to, for example, navigate one or more obstacles extending from pipe 10 or to inspect a particular side(s) of pipe 10. Similarly, at times it may be advantageous for robotic apparatus to corkscrew or otherwise follow a helical pattern about the exterior of pipe 10 when attempting to inspect the majority of the exterior of pipe 10 or the surrounding environment. Accordingly, robotic apparatus 100 of the present disclosure may be configured to traverse pipe 10 along straight and helical paths. Generally speaking, travel along these paths may be accomplished by driving one or more of wheels 110 using motor(s) 130 and steering wheels 110 using alignment mechanisms 120, as further described in more detail below.
To follow a straight path along pipe 10, alignment mechanisms 120 may orient wheels 110 to be aligned with the longitudinal axis of pipe, as shown in
Referring now to
Alignment mechanisms 120, in various embodiments, may also adjust the orientation of wheels 110 to any suitable degree to control a pitch of the resulting helical path. For example, adjusting the orientation of wheels 110 to the left or right by a small amount (e.g., degrees) may cause the resulting helical pathway to have a large pitch (i.e., large distance between adjacent coils), while adjusting the orientation of wheels 110 to the left or right by a large amount (e.g., 30 degrees) may cause the resulting helical pathway to have a small pitch (i.e., small distance between adjacent coils). Alignment mechanism 120, in various embodiments, may be configured to adjust the orientation of wheels 110 by up to 89 degrees relative to a longitudinal axis of pipe 10 and still follow a helical pattern; however, alignment mechanism 120 may more preferably be configured to adjust the orientation of wheels 110 from center by between about 1 degree and about 60 degrees. The greater the angle to which the wheels 110 are turned, the further apart the contact areas move on the wheel surface 112. In other words, if the wheel 110 is to stay in contact with the pipe 10 (and not only contact along the outer rims of the wheels 110) the total width of the wheel 110, the and the diameter of the pipe 10 put an upper limit on the angle to which the wheel 110 can be turned.
Referring now to
Referring first to
To that end, rotating joint 164, in various embodiments, may include a biasing mechanism 166, such as torsion spring or other mechanism/assembly configured to apply a restorative force for returning arm member 162 to the neutral state after an obstacle is passed. In the embodiment shown in
Notably, rotating joint 164, in various embodiments, may be constrained to rotation within the plane of open side 102 only, and thus not permitted to rotate transverse to (e.g., away from or towards pipe 10) said plane, such that fail-safe mechanism 160 does not permit pipe 10 to pass through open side 102 in the event robotic apparatus 100 were to decouple from pipe 10.
Sensor 176, in various embodiments, may include one of a variety of sensors suitable for inspecting or otherwise gathering information concerning pipe 10 and/or the surrounding environment. For example, in an embodiment, sensor 176 may include an ultrasonic sensor or other sensor suitable for non-destructive inspection (NDI) of structural aspects of pipe 10, such as measuring wall thickness or detecting cracks/corrosion. In another embodiment, sensor 176 may include a sensor configured to sample air proximate to pipe 10 for traces of fluids (e.g., natural gas, oil) that may have leaked out of pipe 10. Such traces may be indicative of cracks or corrosion in pipe 10, and thus may be used for structural inspection purposes. While inspection sensor assembly 170 of the present disclosure may be described in the context of positioning a sensor 176 for pipeline inspection purposes, it should be recognized that any sensor 170 may be used in connection with sensor assembly 170 for any suitable purpose.
Arm(s) 172, in various embodiments, may couple sensor 176 to robotic apparatus 100 and be moved to position sensor 176 relative to pipe 10. In particular, a first end of arm(s) 172 may be rotatably coupled to robotic apparatus 100, for example, on strut 156 as shown. As configured, arm(s) 172 may be pivoted up and down on strut 156 and thereby position sensor 176 away from or close to pipe 10, respectively. In an embodiment (shown), the second end of arm(s) 172 may also be rotatably coupled to sensor 176, thereby allowing sensor 176 to pivot relative to arm(s) 172 and thus remain parallel to the surface of pipe 10 if desired or necessary for sensor 176 to function optimally.
Actuator 174, in various embodiments, may be used to move arm(s) 172 in positioning sensor 176. Actuator 174 may include any actuator, motor, and associated assemblies (e.g., pulleys, gear trains). In the exemplary embodiment shown, actuator 174 includes a linear actuator having a proximal end rotatably coupled to wheel assembly 101a of robotic apparatus 100 and having a distal end coupled to arm(s) 172, and specifically here to a cross-bar member extending between arms 172 that freely rotates to maintain alignment with linear actuator 172, as shown, regardless of whether linear actuator 172 is in an extended or retracted position. Of course, one of ordinary skill in the art will recognize alternative actuators that may be suitable for the described purpose within the scope of the present disclosure. For example, in another embodiment (not shown), actuator 174 may include a motor configured to wind in/out a cable or pulley assembly positioning arm(s) 172 and sensor 176 coupled thereto.
Further, first rotating joint 193 may be rotated to a greater extent for positioning articulated arm 190 out in front of either end of robotic apparatus 100, as shown in
It should be recognized that the amount of torque produced for adjusting alignment of wheel 110 may differ between the present embodiment of
Similar to the embodiments of
Many industrial environments in which robotic apparatus 100 may operate are dense with pipes and other structures. This can make it difficult for some embodiments of robotic apparatus 100 to traverse and rotate pipe 10 without running into one of these nearby pipes or structures. In various embodiments, certain adaptations may be made to components and the configuration of robotic apparatus 100 to decrease the required clearance such that robotic apparatus 100 can drive and rotate around pipes 10 that are closer to such other pipes and structures.
Modified alignment mechanism 120, in various embodiments, may generally include a curved track 128 and a wheel post 129 configured to slide within curved track 128. Curved track 128, in an embodiment, may be positioned to the side of wheel 110 and oriented such that the inside of its curvature faces the side of wheel 110, as shown. Wheel post 129, in an embodiment, may extend laterally from wheel 110 (e.g., along an axis of rotation of wheel 110) and slidably couples with curved track 128 such that wheel post 129 is aligned with the radius of curvature of curved track 128. Stated otherwise, wheel post 129 constantly points towards the focal point of the arc defined by curved track 128 and pivots about this focal point as wheel post 129 slides to various positions along curved track 128. The resulting change in orientation of wheel post 129 effectively steers wheel 110 about a yaw axis of robotic apparatus 100 for side-to-side for helical maneuvers or to run straight along pipe 10.
In various embodiments, the position of wheel post 129 along curved track 128 can be controlled by extending and retracting a actuation member 127 using a linear actuator 126. As best shown in
Due to the curvature of track 128, the orientation of actuation member 127 should remain predominately tangential to curved track 128 at the point where actuation member 127 couples with wheel post 129, otherwise the forces applied to wheel post 129 by actuation member 127 will not be substantially aligned with the pathway of curved track 128. If the applied forces become too misaligned, the assembly may jam. Manufacturing curved track 128 to tight tolerances, along with coating it with an oil film, low friction plastic, or other friction-reducing material or mechanism can help minimize jamming. By rotatably coupling linear actuator 126 about an axis transverse to curved track 128, as best shown in
It should be recognized that, while described in the context of reducing the amount of clearance necessary for robotic apparatus 100 to avoid nearby pipes and structures, the preceding embodiments are not necessarily limited to tight-clearance applications, but rather may be utilized in any suitable application.
Testing indicates that some embodiments of fail-safe mechanism 160 may be pushed away from their neutral orientation unintentionally. For example, if robotic apparatus is slowly slipping off of pipe 10, friction between pipe 10 and arm members 162 can cause arm members 162 to swing away from their neutral position as robotic apparatus 100 continues to move forward. If arm members 162 swing far enough, they may not catch robotic apparatus 100 as it falls off of pipe 10.
Fail-safe mechanism 160, in various embodiments, may include a locking mechanism 600 configured to actively lock and unlock swinging motion of arms 162. In the embodiment of
Similar to the embodiment of
It should be recognized that the pin-and-track and lever-and-cog mechanisms described herein are merely representative embodiments of locking mechanism 600 and that one of ordinary skill in the art benefitting from the present disclosure will recognize alternative constructions of locking mechanism 600 that may be suitable or actively controlling when arm members 162 are permitted to swing and when they are not.
Positioning of Sensor AssembliesSimilar to other embodiments described herein, the alternative inspection sensor assembly 170 may include arms 172 comprising a four-bar linkage which keeps sensor 176 parallel to is mounting points. Instead of using active biasing elements, arms 172 of the alternative inspection sensor assembly 170 now described may be biased by passive elements 178, such as compression springs, to push sensor 176 against pipe 10 and passively adjust. As configured, sensor 176 and arms 172 are permitted to move up and down to adjust for changes in pipe diameter, and also allow robotic apparatus 100 to slip off of the centerline of pipe 10 without sensor 176 losing contact with pipe 10. A cable 179 may connect sensor 176 to other electronics onboard robotic apparatus 100, such as processor 1030 (later described).
Inspection sensor assembly 170, in various embodiments, may be mounted parallel to and halfway up and down (i.e., at the vertical midpoint of) clamping mechanism 150, as best shown in the embodiments of
It should be further recognized that architecture 1000 may optionally include one or more human-machine interfaces (not shown), such as a handheld remote and a laptop computer, to provide input to robotic apparatus 100 (e.g., send instructions to processor 1030) and/or to receive and monitor real-time output from sensors 1010. Representative inputs include, without limitation, joystick controls and button-presses on a handheld remote and text input on a laptop. Representative output includes, without limitation, information collected by sensors 1010 (whether or not preprocessed by processor 1030), live video feed from an onboard camera(s), and text-based outputs from onboard sensors 1010 relaying information such as distance, speed, and orientation.
Sensor(s) 1010, in various embodiments, may include one or more onboard and/or offboard sensors configured to provide information about robotic apparatus 100 and its interactions with the surrounding environment. In various embodiments, sensors 1010 may include any one or combination of those sensors provided in sensor assemblies 200, 300, 400, 500, depending on the particular sensing and/or controls application at hand. Representative information collected by sensors 1010 about robotic apparatus 100 may include, for example, relative positions of wheel assemblies 101; relative speeds of wheels 110; orientations of wheels 110; and positions of actuator(s) 1040. Representative information about interactions between robotic apparatus 100 in its environment may include the position, speed, acceleration, and orientation of robotic apparatus 100 on pipe 10; forces applied to or exerted by robotic apparatus 100 such as clamping forces and wheel traction. Of course, the preceding examples are merely representative and sensor(s) 1010 may collect any other information relevant to operating robotic apparatus 100 in accordance with the present disclosure.
Memory(s) 1020, in various embodiments, may include any hardware suitable for storing computer-readable instructions relevant to executing the various sensing methodologies presented herein, such as volatile and/or non-volatile memory units. For example, with reference ahead to
Memory(s) 1020, in various embodiments, may additionally or alternatively store computer-readable instructions relevant to executing the various controls methodologies presented herein. For example, with reference ahead to
Processor 1030, in various embodiments, may include any hardware suitable for executing the computer-readable instructions stored in memory 1020 to perform the various sensing and controls methodologies presented herein. Processor 1030, for example, may in various embodiments monitor information provided by relevant sensors 1010 to detect certain thresholds, triggers, trends, and other indicia of conditions relevant to a particular sensing methodology described herein. In embodiments involving robotic controls, processor 1030 may also use such information to, in turn, control motion of robotic apparatus 100 using actuators or motors 1040 (e.g., relevant actuators or motors described throughout the present disclosure) and its components in accordance with control laws provided in the instructions stored on the memory. As configured, processor 1030 may function as a controller. It should be recognized that references herein to a controller may refer to embodiments of processor 1030 that are configured in this way.
Measuring Diameter of Pipe 10Sensing and control system 1000, in various embodiments, may be configured in part to measure the diameter of pipe 10 on which robotic apparatus 100 is travelling. Knowing the diameter of pipe 10 at any given time may provide can facilitate many important sensing and control operations. For example, the diameter of pipe 10 may be used in calculating the circumferential and longitudinal distance robotic apparatus 100 has travelled during a helical maneuver, such as when positioning robotic apparatus 100 to navigate an upcoming obstacle or bend or when indexing robotic apparatus to follow a subsequent segment of a raster path (as later described in the context of
Sensor assembly 200, in various embodiments, may generally include one or more distance sensors 210 mounted rigidly to robotic apparatus 100 at known positions and orientations. For example, in the embodiment shown, distance sensors 210 may be attached to base plate 124 of wheel assembly 101, amongst other suitable locations on robotic apparatus 100. Using more than one distance sensor 210 may be beneficial in that comparing measurements from multiple distance sensors 210 may provide for differentiating between changes in pipe diameter and radial displacement (e.g., radial slip) resulting in wheels 110 no longer centered on pipe 10, as later described in more detail.
Distance sensor 210, in various embodiments, may include any sensor or sensors suitable for measuring (or providing measurements suitable for the estimating or calculating) a distance between the location where distance sensor 210 is mounted on robotic apparatus 100 and a surface of pipe 10. Distance sensor 210, in some embodiments, may utilize technologies do not contact the surface of pipe 10, such as time-of-flight technologies (e.g., optical distance sensors such as laser rangefinders; ultrasonic proximity sensors), capacitive displacements sensors, and the like. As later described in more detail, in some other embodiments, distance sensor 210 may include a contact member configured to physically contact the surface of pipe 10 and measure the relative position of the contact member to measure the distance between the surface and the location of the distance sensor as mounted to robotic apparatus 100.
Generally speaking, when correctly installed, the particular architecture and geometry of robotic apparatus 100 should situate distance sensor 210 at a predicable location relative the centerline of pipe 10 regardless of pipe diameter. Accordingly, the expected vector and distance between the predicted location and the centerline of pipe 10 can be predetermined. In some embodiments, distance sensor 210 may be oriented on robotic apparatus 100 to take distance measurements along the expected vector. As configured, the diameter of pipe 10, in an embodiments, can be determined by subtracting the measured distance between distance sensor 210 and the surface of pipe 10 from the expected distance between the predicted location and the centerline of pipe 10.
More specifically, the distances measured by each distance sensor 210 may be used as inputs in a mathematical model that calculates pipe diameter based on known information about the geometry of robotic apparatus 100, including the size of wheels 110 and locations at which distance sensors 210 are mounted. The mathematical model is based on the geometry in the 2-dimensional cross-sectional plane that is normal to the longitudinal axis of the pipe and is parallel with the axis of rotation of the wheel. In this plane there are three unknown variables that describes the pipe position and size (x-coordinate, y-coordinate, diameter). As described in linear algebra, a system of three independent equations can be used to find a unique solution for three unknown variables. In the aforementioned mathematical model, the three independent equations specify that (i) the coordinates extrapolated from the first distance sensor mounting point, angle, and measured distance must coincide with a first point on the circumference of the pipe, that (ii) the coordinates extrapolated from the second distance sensor mounting point, angle, and measured distance must coincide with a second point on the circumference of the pipe, and that (iii) the pipe circumference must be tangent to the wheel.
Additionally or alternatively, multiple distance sensors 210, in various embodiments, may be used to recalibrate processor 1030 to measure the diameter of pipe 10 should robotic apparatus 100 be incorrectly installed on pipe 10 or experience radial displacement thereon. In particular, processor 1030, in an embodiment, may be configured to detect a relative change in the various distance measurements generated by the distance sensors (e.g., some might get shorter and others longer in different ratios) and, based on the known architecture and geometry of robotic apparatus 100, apply triangulation or similar techniques to these distance measurements to determine how far robotic apparatus may have shifted from correct positioning on pipe 10 (e.g., with wheel 110 centered laterally on pipe 10). Processor 1030, in an embodiment, may then calculate and apply an appropriate correction factor to account for the shift when determining the diameter of pipe 10.
Sensor assembly 300, in various embodiments, may generally include a rotary encoder 310 coupled to one of the joints of clamping mechanism 150 of robotic apparatus 100. As configured, rotary encoder 300 can measure rotation of the joint and thus calculate how far clamping mechanism 150 has expanded or contracted to accommodate the diameter of the particular pipe 10 on which robotic apparatus is traversing. The angle measured by rotary encoder 310 may be used as an input into a mathematical model that calculates the diameter of pipe 10 based on known geometry of robotic apparatus 100, including the size of wheels 110 and the dimensions of clamping mechanism 150. More specifically, in an embodiment, the diameter of the pipe, D, can be calculated using the length of arms 152, l, the angle between the arms 152 and the projected longitudinal axis of the pipe, θ, the offset (perpendicular to the longitudinal axis of the pipe) between the joints of the arms 152 and the axis of rotation of the wheel, m, and the radii of the wheels 110, r, according to the equation: D=l·sin(θ)+2·m−2·r
Use of rotary encoder 310 versus distance sensors 210 may beneficial from a reliability standpoint (e.g., optical distance sensors are sensitive to lighting conditions) and may provide for a potentially lower profile design. Conversely, distance sensors 210 may have advantages over rotary encoders 310 including potentially more precise measurements due to higher resolution and fewer losses due to mechanical backlash and tire wear. Further, distance sensors 210 can serve an additional function—measuring slip, as later described in more detail.
Absolute Position of Robotic Apparatus 100 on Pipe 10As shown in
It should be recognized that, in an embodiment, the method could rely on absolute position measurements alone rather than all four sources of data so long as the absolute position measurements are precise enough for a given application. However, in practice, most systems capable of measuring absolute position precisely can be expensive and time consuming to set up in a new environment (e.g., video tracking), and/or require specialized equipment that may not work in GPS-denied areas (e.g., RTK GPS). Accordingly, the method presented herein uses a combination of less expensive and readily-available sensors.
The method, in a representative embodiment, may begin by calculating an absolute starting position of robotic apparatus 100 on pipe 10 using a conventional GPS or manually entered coordinates. Next, the absolute orientation of pipe 10 may be calculated based on a measured orientation of robotic apparatus 100, since we generally how the robotic apparatus 100 is oriented with respect to pipe 10. This absolute orientation can be refined while robotic apparatus 100 traverses pipe 10 since pipe 10 is assumed to be stationary. Robotic apparatus 100 may continuously measure its relative position on pipe 10 (e.g., relative to the starting position) by measuring is axial and circumferential movement as described above, and using pipe diameter measurements to convert circumferential movement to angular position. With a known starting point, known pipe orientation, and known movement along the surface of the same pipe, the robotic apparatus' 100 absolute position in 3-dimensional space can be calculated. As configured, the method can be used to produce a 3-dimensional map illustrating the movement of robotic apparatus 100 along pipe 10. The method can be repeated for several connected pipes, and their known sequence and orientations can be used to create a 3-dimensional map of an entire piping system.
Measuring Axial and Circumferential Movement of Robotic Apparatus 100 on Pipe 10As illustrated by
Mecanum wheel(s) 410 of sensor assembly 400, in various embodiments, may be constructed as a wheel with a series of rollers 412 attached at a an angle (e.g., 45 degree angle) along the circumference of the wheel. Since the rollers are spinning freely, mecanum wheel(s) 410 can slide without spinning on its main axis at a 45 degree angle from the axis of rotation. Conversely, mecanum wheel 410 has maximum traction in a direction that is at a 45 degree angle in the opposite direction from the axis of rotation (i.e., 90 degrees from the freely sliding direction). When sensor(s) 420, such as rotary encoder(s), is attached to the central axis of mecanum wheel 410 it will measure mecanum wheel's 410 motion in the direction of maximum traction. In some embodiments, encoder 420 may be configured to measure angular displacement of the mecanum wheel 410 to which it is attached, but this can be easily converted to linear displacement by multiplying the angular displacement (in radians) with the radius of mecanum wheel 410.
Sensor assembly 400, in some embodiments, may further include a spring-loaded arm 430 or similar mechanism to which mecanum wheel 410 and rotary encoder 420 are coupled. Spring-loaded arm 430 may be configured to bias mecanum wheel 410 against pipe 10 and thereby maintain consistent contact between mecanum wheel 410 and pipe 10 despite changes in pipe diameter, uneven pipe surface, or slipping of robotic apparatus 100 on pipe 10.
As best shown in
Referring to
A system 1000 for tracking the position of robotic apparatus 100 on pipe 10, in various embodiments, may generally include sensor assembly 400 comprising first mecanum wheel 410a and a second mecanum wheel 410b, each mecanum wheel 410a, 410b configured to be freely-rotating and including a plurality of rollers 412a, 412b disposed at 45-degree angles about a circumference of the respective mecanum wheel 410a, 410b, the rollers 412a of the first mecanum wheel 410a having an orientation mirroring that of the rollers 412b of the second mecanum wheel 410b; at least one sensor 420 (shown here as encoders 420a, 420b) configured to measure rotation of each of the first mecanum wheel 410a and the second mecanum wheel 410b; a processor 1030 configured to: calculate a linear displacement of each respective mecanum wheel 410a, 410b based on the measured rotation of each respective wheel 410a, 410b and a diameter of each respective wheel 410a, 410b, and calculate a distance and an associated direction of axial and circumferential movement of robotic apparatus 100 on the pipe 10 based on the calculated linear displacements of the first mecanum wheel 410a and the second mecanum wheel 410b. In an embodiment, processor 1030 may be configured to execute computer-readable instructions stored in memory 1020 configured to perform the preceding operations. In an embodiment, the first mecanum wheel 410a and the second mecanum wheel 410b have axes of rotation parallel to one another and configured to be perpendicular to a longitudinal axis of the pipe 10. In an embodiment, two sensors 420 such as rotary encoders may measure rotation of mecanum wheels 410a, 410b. Processor 1030, in an embodiment, may calculate the distance and an associated direction of axial and circumferential movement of the robotic apparatus 100 on the pipe 10 based on the calculated linear displacements of the first mecanum wheel 410a and the second mecanum wheel 410b by vector addition. Each rotary encoder 420 attached to a mecanum wheel 410 will measure the robotic apparatus' 100 motion as projected on a vector at an angle (most commonly 45 degrees) with respect to the rotary encoder's 420 axis of rotation. With two mecanum wheels 410a, 410b, the robotic apparatus' 100 motion along a 2-dimensional surface can be calculated, as long as the mecanum wheels 410a, 410b are not measuring the motion as it is projected on the same vector. For example, if the two wheels 410a, 410b have parallel axes of rotation but are mirrored, they will measure motion along perpendicular vectors. To calculate the robotic apparatus' 100 axial and circumferential movement, the axial and circumferential components of the vectors associated with the mecanum wheels are added, respectively. System 1000, in an embodiment, may further include at least one spring loaded arm 430 configured to bias at least one of the first and second mecanum wheels against a surface of the pipe. In an embodiment, system 1000 may be mounted at a vertical midpoint of the robotic apparatus 100.
Additionally or alternatively, other sensors 500 such as encoders 510, inertial measurement units (IMUs) 520, and optical flow sensors 530, and the like may be used to measure axial and circumferential translation of robotic apparatus 100 along pipe 10. For example, robotic apparatus 100, in an embodiment, may be equipped with one or more encoders 510 coupled to the drive shafts of motors 130 and/or motor 122 of the various wheel assemblies 101 described herein such that each encoder 510 can measure the degree of rotation of its respective motor 130, 122. For example, in the context of embodiments utilizing alignment motors to rotate wheel assembly 114 and base plate 124 relative to one another (as in
As another example, in the context of embodiments utilizing differential steering (as in
Robotic apparatus 100, in other embodiments, may additionally or alternatively be equipped with one or more inertial measurement units (IMUs) 520 to measure axial and circumferential movement of robotic apparatus 100. IMU 520 is preferably a 9-axis IMU (i.e., 3-axis accelerometer+3-axis gyroscope+3-axis magnetometer) with an onboard sensor fusion processor that can calculate absolute orientation by combing data from all three sensors in IMU 520. Circumferential movement can be measured with IMU 520 by measuring the change in robot orientation associated with moving circumferentially around pipe 10. IMU 520 may measure the orientation of robotic apparatus 100 by measuring the change in the direction of the gravitational acceleration, the angular displacement by integrating the angular velocity from the gyroscopes, and by measuring the change in the direction of the earth's magnetic field. Any orientation of robotic apparatus 100 is uniquely associated with the angular position of robotic apparatus 100, because robotic apparatus 100 can only clamp to the pipe along a specific plane. The angular position can easily be translated to the circumferential position by multiplying by the pipe radius (if the angle is in radians). It should be recognized that IMU 520 may be able to measure circumferential position around pipe 10 with considerably higher precision if robotic apparatus 100 is traversing a horizontal pipe 10 compared with a vertical pipe 10 because the gravitational accelerations serves as an effective reference to measure the orientation of IMU 520 on horizontal pipes 10.
In order to measure axial movement with IMU 520, acceleration measurements collected by IMU 520 can be integrated twice to approximate axial movement. In practice, various embodiments of robotic apparatus 100 may accelerate slowly though, so a signal-to-noise ratio from the accelerometer of IMU 520 may be low in such instances. Further, since the acceleration measurements are integrated twice, the error grows exponentially with time. Even with low precision, however, IMU 520 can be used to detect significant radial movement (e.g., slipping) if all wheels 110 start to spin in place on pipe 10 because robotic apparatus is stuck on an obstacle.
Robotic apparatus 100, in other embodiments, may additionally or alternatively be equipped with one or more optical flow sensors 530 to measure axial and circumferential movement of robotic apparatus 100. Optical flow sensors 530, in an embodiment, may be similar to those used in a computer mouse peripheral and may operate in similar fashion to track movement of robotic apparatus as they would track movement of a computer mouse peripheral. Such sensors have the benefit of being very simple to mount to robotic apparatus 100 from a mechanical design standpoint, but may be sensitive to the surface properties of pipe and ambient lighting conditions.
Robotic apparatus 100, in various embodiments, may be equipped with a combination of at least two of the above referenced sensors 500 and/or sensor assembly 400. For example, in an embodiment, robotic apparatus 100 may utilize sensor assembly 400 to measure axial movement, while circumferential movement may be calculated as a weighted average between movement approximated by IMU 520 and movement measured by sensor assembly 400. This can also be a dynamic weighted average that, for example, gives IMU 520 more weight on horizontal pipes and less weight on vertical pipes. Even more sophisticated methods, such as an Extended Kalman filter, can be used to combine measurements form several sensors 510 and weight them according to their variance in order to measure axial and circumferential movement.
Navigation of Predetermined Path
There may be scenarios in which it is preferable to manually control robotic apparatus 100, while there may be other scenarios in which automatic control is preferred. As used in the present disclosure, “manual” control refers to a control scheme in which the operator is giving robotic apparatus 100 real-time instructions to control its speed and direction in that moment. This control scheme, in some embodiments, may still include features such as automatic slip adjustment, which corrects the motion of robotic apparatus 100 if it is deviating from the movement instructed by the operator. As used in the present disclosure, “automatic” control refers to a control scheme in which a human operator plots or otherwise identifies a particular path prior for robotic apparatus to follow and then provides all instructions needed for robotic apparatus 100 to then automatically traverse the path without further instructions from the operator.
A representative use case for automatic control involves data collection activities, such as using inspection sensors assembly 170 to inspect pipe 10. The operator may wish robotic apparatus 100 to drive along a path that allows an entire region of pipe 10 to be inspected. At the same time, the operator may also want the path to be as short as possible to minimize inspection time. A raster path 20, in various embodiments, can be used to satisfy these criteria.
In either case, when robotic apparatus 100 reaches the end of a given longitudinal line 22 of the raster path 20, robotic apparatus 100 may be configured to “index” to the next adjacent longitudinal line 22 of the raster path by driving along a helical path 24 between the two adjacent longitudinal lines 22. In various embodiments, each longitudinal line 22 may start and stop at the same longitudinal position on pipe 10, as shown. Helical path 24, in various embodiments, may include a first portion 25 in which robotic apparatus 100 travels along a first helical path oriented back towards the longitudinal direction from which it came and a second portion 26 in which robotic apparatus 100 travels along a second helical path oriented in the opposing direction longitudinal direction of the first portion. Assuming the first portion 25 and the second portion 26 of helical path 24 meet halfway between the adjacent longitudinal paths and have the same helical curvature, robotic apparatus 100 will join the adjacent longitudinal path 22 at the same longitudinal position at which it left the preceding longitudinal path 22, as shown. In another embodiment, the helical path 24 can be inverted to similar effect, assuming there is room on pipe 10 beyond the longitudinal paths 22 to execute the maneuver without driving off of the end of pipe 10 or encountering an obstacle. That is, the first helical path can continue in a forward direction rather than backwards, and second helical path can travel backwards rather than forwards, such that helical pathway 24 still joins the adjacent longitudinal path 22 at the same longitudinal position at which it left the preceding longitudinal path 22. Data may be collected throughout travel along the raster path 20, typically while robotic apparatus 100 traverses the longitudinal lines 22.
Raster path 20, in various embodiments, may be effected through manual control, automatic control, or a combination thereof. In an embodiment, raster path 20 may be divided into segments and subroutines applied to effect each. When several subroutines are performed in consecutive order, the entire raster path 20 can be achieved. Such an approach may similarly be employed for any suitable path, not just for raster path 20. In the context of raster path 20, processor 1030 may be configured to repeatedly compare the current position of robotic apparatus 100 (as measured by onboard sensors (e.g., sensor assemblies 400 and/or 500) with the desired end position of the current subroutine. Processor 1030 may then calculate the appropriate wheel angle and speed to follow a corresponding portion of raster path 20 and/or to index to a subsequent portion, and may send commands to the respective motors 122 and/or 130, depending on the particular configuration. This may be repeated until the end position is reached, the subroutine ends, and the next subroutine begins. It should be recognized that a single routine including waypoints at the start/end points of each aforementioned subroutine could be used to similar effect. A series of subroutines can also be used to drive the robotic apparatus 100 around a known obstacle such as a pipe support or a bend.
Navigating Bends and Curves in Pipe 10As previously described, robotic apparatus 100 can expand and contract to accommodate and traverse a bend or a curve in pipe 10. More specifically, in various embodiments, prior to traversing the bend or the curve robotic apparatus 100 may be oriented on pipe 10 such that wheel assemblies 101b, 101c will drive along the centerline of the inner radius of the curve or bend (the shorter path) and wheel assembly 101a will drive along the centerline of the outer radius of the curve or bend (the longer path) as shown in
The ability of clamping mechanism 150 to smoothly but quickly expand and contract allows robotic apparatus 100 to maintain pressure and traction between wheels 110 and pipe 10 throughout the bend or curve. The clamping mechanism 150, whether passive (e.g., gas tension spring as shown in
Through testing, it has been demonstrated that robotic apparatus 100 can drive through bends and curves with all wheels 110 driving at the same speed; however, the path of wheel assembly 101a is longer than the paths of wheel assemblies 101b, 101c. Thus, driving all wheels 110 at the same speed can result in slipping between wheel 110b of wheel assembly 101b and pipe 10, and between wheel 110c of wheel assembly 101b and pipe 10.
For optimum performance, wheel 110b of wheel assembly 101b (assuming it enters the bend or curve first) should be slowed sharply as it enters the bend or curve and gradually accelerated back to 100% speed relative to that of wheel 110a of wheel assembly 101a. Meanwhile, wheel 110c of wheel assembly 101c (assuming it enters the bend or curve last) should be slowed gradually as it enters the bend or curve and sharply accelerated back to 100% speed relative to that of wheel 110a of wheel assembly 101a.
In practice, the exact geometries of pipe 10 and even robotic apparatus 100 may not be known, so geometric simplifications are made to enable these calculations. In many cases, using simplified geometries instead of exact geometries has only nominal effect on the optimality of resulting wheel speed profiles, but in some cases the effect may be more pronounced, possibly to the point where robotic apparatus 100 starts to slip because one or more of wheels 110 lose contact with or traction on the surface of pipe 10. In such cases, the previously-described automatic slip correction feature may compensate.
Notwithstanding the foregoing, in some embodiments, an alternative approach can be employed to generate optimal wheel speed profiles without having to make any geometric simplifications. This approach generally involves creating three-dimensional models of robotic apparatus 100 and pipe 10, and performing simulations in which the robot model traverses the pipe model while varying wheel speed in a manner that keeps each wheel 110 of the robot model in constant contact with the surface of the pipe model. As configured, the simulation will identify combinations of wheel speeds that satisfy this constraint a various points of the maneuver. These wheel speeds can then be applied by the real-world robotic apparatus 100 to successfully navigate a corresponding real-world bend without its wheels 110 losing contact or traction with real-world pipe 10.
A method for navigating a bend or curve of a pipe with a robotic apparatus 100 may include, in various embodiments, performing a computer simulation to identify a combination of wheel speeds that results in each wheel 110 of a model of the robotic apparatus 100 remaining in constant contact with a surface of a model of the pipe 10 throughout the bend or curve, and operating the wheels 110 of the robotic apparatus 100 according to the identified combination of wheel speeds to navigate the bend or curve in the pipe 10 without losing contact between each of the wheels and the surface of the pipe. In embodiments in which robotic apparatus 100 includes a first wheel configured for positioning on a first side of a pipe corresponding with an outer radius of a bend or a curve in the pipe, and a second wheel and a third wheel, each configured for positioning on a second, opposing side of the pipe corresponding with an inner radius of a bend or a curve in the pipe, the identified combination of wheel speeds may include slowing sharply the second wheel as it enters the bend or curve and gradually accelerating the second wheel to the same speed of the first wheel, and slowing gradually the third wheel as it enters the bend or curve and accelerating sharply the third wheel the same speed of the first wheel.
Detecting Radial Movement of Robotic Apparatus 100 on Pipe 10With reference back to
System 1000, in various embodiments, may be configured to detect radial movement of robotic apparatus 100 on pipe 10 and, in some embodiments, automatically correct it. Generally speaking, in various embodiments, two or more sensors 1010 may be coupled with robotic apparatus 100 at fixed positions and oriented towards the pipe to measure the distance between their respective positions and corresponding points on the surface of pipe Processor 1030, in various embodiments, may be configured to monitor the distance measurements provided by the two or more sensors 1010 as robotic apparatus 100 moves along pipe 10 to detect a change in the distance measurements provided by at least one of the sensors 1010. Changes in one or more of the distance measurements may, in some cases, be indicative of radial slip since the distance between the sensors 1010 (which are attached to robotic apparatus 100) and pipe 10 may increase or decrease depending on the direction robotic apparatus is slipping. That said, in other cases, changes in the diameter of pipe 10 may also result in increases or decreases in the measured distances depending on whether the diameter of the pipe is getting smaller or bigger and thus changes in the measured distances may not necessarily be the result of a radial slip condition. Accordingly, in various embodiments, processor 1030 may be configured determine if there was a change in the diameter of pipe 10 at the axial location along the pipe at which the processor 1030 detected the change in measured distance. If the processor 1030 determines that there was no such change in pipe diameter, processor 1030 may then determine that the change in measured distance is indicative of radial movement of robotic apparatus 100 on pipe 10.
Processor 1030, in various embodiments, may take a variety of approaches to determining whether there was a change in the diameter of pipe 10 at the axial location along the pipe at which the processor 1030 detected the change in measured distance. For example, in some embodiments, processor 1030 may access information stored in memory 1020 regarding the existence and location(s) of any diameter changes on pipe 10 (e.g., a schematic or lookup table uploaded into memory 1020 by a user). If the stored information indicates that the diameter of pipe 10 is constant, then processor 1030 may be configured to determine that any change in measured distance is indicative of radial movement. If however the stored information indicates that there are areas in which the diameter of pipe 10 changes, then processor 1030 may be configured to determine whether the axial location along the pipe at which the processor 1030 detected the change in measured distance corresponds with any of the locations of such areas included in the accessed information. In some other embodiments, rather than look up known information concerning the diameter of pipe 10, processor 1030 may be configured to utilize measurements from sensors 1010 and/or other onboard sensors to determine the diameter of pipe 10 and any associated changes therein at the axial location along the pipe at which the processor 1030 detected the change in measured distance. For example, processor 1030 may utilize measurements from sensor assembly 200 (e.g., laser rangefinders) and/or sensor assembly 300 (e.g., encoder on clamping mechanism 150) to determine the diameter of pipe 10 in accordance with the previous teachings herein. Processor 1030, in various embodiments, may continuously measure, calculate, or otherwise determine the diameter of pipe 10 to detect a change in pipe diameter much like processor 1030 may monitor the distance measurements provided by sensors 1010 to detect changes therein. As configured, processor 1030 may differentiate changes in distance measurements associated with radial movement from changes in distance measurements associated with pipe diameter changes.
As later described in more detail, sensors 1010 may be arranged on robotic apparatus 100 in various different configurations, many offering the capability to detect radial slip regardless of the direction of travel of robotic apparatus 100 on pipe 10, as well as the capability to determine whether the radial slip is uniform (i.e., both the front and the back of robotic apparatus 100 are slipping) or non-uniform (i.e., just the front or the back is slipping, or both are slipping but one is slipping at a significantly greater rate than the other). For example, in various embodiments, one or more sensors 1010 may be positioned at opposing ends of robotic apparatus 100 such that the aforementioned processes may be performed at each end of robotic apparatus 100. As configured, processor 1030 may determine whether radial movement is occurring at the first end, the second end, or at both ends of the robotic apparatus. This information can be useful in determining the specific corrective action required to overcome the associated radial slip. Additionally or alternatively, in various embodiments, one or more sensors 1010 may be positioned on opposing sides of robotic apparatus 100 so as to provide distance readings from either side of pipe 10 at a given location along a length of robotic apparatus 100. As configured, processor 1030 may compare multiple distance measurements at a particular axial location along pipe 10 to improve robustness when evaluating whether radial slip is occurring at the particular locations, as well as in measuring the diameter of pipe 10 at the particular axial location on pipe 10 (as applicable).
Referring first to
With two distance sensors 210, radial movement can be measured at one point along the longitudinal length of robotic apparatus 100. While sufficient in many cases, it can be desirable to utilize more distance sensors 210 so as to measure radial movement at multiple points along the longitudinal length of robotic apparatus 100, especially since robotic apparatus 100 may slip by different magnitudes along the longitudinal length as shown in
Robotic apparatus 100, in various embodiments, may additionally or alternatively be configured to use one or more contact sensor assemblies 700 for detecting radial slip of robotic apparatus 100. Each contact sensor assembly 700, in various embodiments, may include one or more contact members 710 biased towards pipe 10 to maintain contact with a surface of pipe 10 as robotic apparatus 100 moves along pipe 10, such as a spring-loaded contact member. As configured, when robotic apparatus 100 experiences radial slip, spring-loaded contact members 710 may deflect inwards and/or outwards to maintain contact with the surface of the pipe 10 depending on the direction of the radial slip. Sensors 720 may measure these deflections and provide them to processor 1030 to detect and measure the corresponding radial slip, as later described in more detail. In various embodiments, spring-loaded contact member 710 may include those that pivot or otherwise deflect at an angle during a radial slip condition (“angularly-deflecting”) such as spring-loaded arm 171 of sensor assembly 170 and spring-loaded arm 430 of sensor assembly 400, those that deflect linearly (“linearly-deflecting) such as spring-loaded pin 710 of
Each spring-loaded arm(s) 430, in various embodiments, may generally comprise an arm 432 and a passive biasing element 438. The number and configurations of spring-loaded arms 430 may vary—for example, in various embodiments, there may be one or more standalone spring-loaded arms 430 (as shown in
Sensor assembly 400, in various embodiments, may be mounted parallel to and halfway up and down (i.e., at the vertical midpoint of) clamping mechanism 150, as best shown in the embodiment of
In various embodiments, robotic apparatus 100 may comprise two sensor assemblies 700, with one positioned more forward along the pipe than the other. A representative example of such a configuration is illustrated in
Accordingly, in various embodiments, processor 1030 may be configured to monitor the respective angular positions of the leading spring-loaded arm (e.g., arm 430 in
As previously mentioned,
In various embodiments, processor 1030 may be configured to determine if robotic apparatus 100 is merely traversing a pipe diameter change without directly measuring pipe diameter or comparing the distance measurements of two or more distance sensors at a particular longitudinal location of robotic apparatus 100. Generally speaking, if robotic apparatus 100 is merely traversing a transition in pipe diameter (e.g., pipe gets bigger or smaller), initially the leading distance sensor(s) 1010—rather than both the leading and trailing distance sensors 1010—will rotate to accommodate the diameter change. The trailing distance sensor 1010 will measure the same distance until it subsequently reaches the diameter change as robotic apparatus 100 continues to move forward. Accordingly, in various embodiments, processor 1030 may be configured to monitor the respective angular positions of the leading spring-loaded arm (e.g., arm 430 in
Of course, the controller can be programmed to ignore changes in angular position of one or both angular position sensors that fall below a predetermined threshold to avoid false detections of radial slip or to avoid taking corrective action for only nominal radial slip.
In another embodiment, controller may be configured to differentiate situations of radial slip from mere changes in pipe diameter by comparing the measured angular position of one or both spring-loaded arms to a corresponding reference angular position(s). The reference angular position(s) can be set by the operator (or automatically by the controller) at a given time at which robotic apparatus 100 is known not to be experiencing radial slip (e.g., upon installation of robotic apparatus 100 on pipe 10) and the controller may monitor measurements of angular position thereafter to detect deviations from the reference angular position(s). If both arms are identical, they may share a common reference angular position indicative of a no slip condition, whereas if both arms are not identical, each may have its own respective reference angular position indicative of a no slip condition. As before, if there are deviations from the reference angular position in only that of the leading spring-loaded arm, the controller may determine that: (i) the pipe has either changed diameter and radial slip is not occurring, or (ii) there may be an asymmetric slip condition in which only the front of robotic apparatus 100 is slipping and the rear is not; conversely, if there are simultaneous or near-simultaneous deviations from the reference angular position(s) of both the leading and trailing spring-loaded arms, the controller may determine that robotic apparatus 100 is experiencing radial slip. Of course, the controller can be programmed to ignore deviations with magnitudes that fall below a predetermined threshold to avoid false detections of radial slip or to avoid taking corrective action for only nominal radial slip. If the pipe diameter changes, the operator or the controller may set a new reference angular position(s) indicative of a no slip condition. In another embodiment, pipe diameter may be provided as an input to the controller (either directly by the operator or as determined by the controller by cross-referencing its position with a model or lookup table containing pipe diameter at various positions) and the controller may calculate appropriate reference angular position(s) based on knowledge of its own geometric configuration.
In various embodiments, the controller can use a combination of any one or more of the techniques described in this section to detect radial slip. In an embodiment, the controller may be configured to select a particular technique for use in certain conditions. For example, distance sensors 210 and associated slip detection methods may be selected when conditions are conducive to taking laser or ultrasonic distance measurements, whereas sensors spring-loaded arms and associated slip detection methods may be selected when conditions are unfavorable for taking laser or ultrasonic distance measurements or when such methods are otherwise preferable. Depending on the configuration, and operator may select the particular technique to be used, or the controller may select the particular technique to be used, such as by using one or more sensors to assess relevant conditions to determine whether a particular distance sensor 210 (e.g., laser, ultrasonic) will work reliably. Distance sensors (e.g., laser rangefinders, other time-of-flight technologies, ultrasonic proximity sensors, capacitive displacement sensors) each have their own shortcomings and inaccuracies. For example, laser rangefinders can be prone to error in some lighting conditions and ultrasonic proximity sensors have a certain “dead band” in front of the sensing face within which they may not be able to measure distance accurately. Likewise, laser rangefinders work best at certain angles of incidence, and current pipe size and radial slip (as measured by the angular position sensor 434) can be used to calculate the current angle of incidence and determine whether the laser rangefinder or arm mechanism is preferable. Properties of the pipe surface (e.g., reflectivity, insulation jacketing material) can also be instructive since certain distance sensors 210 may not work as well with energy-absorbing materials versus reflective materials, for example.
In another embodiment, both techniques can be used simultaneously, with one acting as a secondary check on the other to ensure robustness. For example, distance sensors 210 and associated slip detection methods may be designated as the primary technique; however, upon detecting a slip condition using distance sensors 210, the controller may then reference the spring-loaded arms to verify the slip condition. If the angular positions of the spring-loaded arms also indicate a slip condition, the controller may then take corrective action; whereas if the angular positions of the spring-loaded arms do not indicate a slip condition, the controller may opt not to take corrective action and instead alert and await instructions from the operator. Likewise, if both techniques indicate a slip condition but differ in terms of severity or other parameter, the controller may opt to alert and await instructions from the operator. In yet another embodiment, both techniques can be used simultaneously and rather than having one check the other, input from each is combined in a weighted average and weighted based on the variance of their respective measurements over time.
Regardless of how radial slip is measured, it should be recognized that a system 1000 controlling robotic apparatus 100 may also be configured to automatically correct associated slip. Embodiments of system 1000 utilizing sensor assembly 400, in various embodiments, may include a controller configured to automatically correct the identified radial slip condition by (i) estimating a magnitude and direction of the radial slip based on the measured positions of each respective contact member, (ii) determining, based on the estimated magnitude and direction of the radial slip, a respective direction, speed, and duration for which to operate one or more wheels of the robot to overcome the radial slip, and (iii) operating the one or more wheels according to the estimated direction, speed, and duration. Likewise, embodiments of system 1000 utilizing sensor assembly 200 (e.g., distance sensors 210), in various embodiments, may include a controller configured to automatically correct the identified radial slip condition by (i) estimating a magnitude and direction of the radial slip based on the measured distances provided by each respective distance sensor, (ii) determining, based on the estimated magnitude and direction of the radial slip, a respective direction, speed, and duration for which to operate one or more wheels of the robot to overcome the radial slip, and (iii) operating the one or more wheels according to the estimated direction, speed, and duration.
Automatic Detection and Correction of Slip, GenerallyThe method, in a representative embodiment, may begin with the primary controller measuring any longitudinal slip and the secondary controller measuring any circumferential slip and radial slip. The slip, referred to as error (e) in
The secondary controller may then account for the direction of travel of robotic apparatus 100 by querying the primary controller for the direction of travel. The correction is unchanged if robotic apparatus 100 is travelling forwards, but the correction is inversed (multiplied by −1) if robotic apparatus 100 travels in reverse. If the direction of travel reverses, alignment motor 122 must also reverse direction to provide the same intended correction.
Both controllers may then output a final correction to their respective motors 130, 122. As soon as the correction has been output, the process may start over with measuring the error to determine if further correction is necessary in a closed-loop control approach.
Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present disclosure. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
Claims
1. A system for tracking a position of a robotic apparatus on a pipe, comprising:
- a robotic apparatus;
- at least one optical flow sensor mounted on the robotic apparatus and configured to measure axial and circumferential translation of the robotic apparatus on the pipe; and
- a processor configured to determine, based on the measured axial and circumferential translation, an axial and circumferential position of the robotic apparatus on the pipe.
2. The system of claim 1, wherein the at least one optical flow sensor is configured to measure an apparent motion of a surface of the pipe within a field of view of the optical flow sensor.
3. The system of claim 2, wherein measuring the apparent motion of the surface of the pipe is based on a distance between the optical flow sensor and the surface of the pipe, dimensions of the field of view of the optical flow sensor, and pixel displacement in the field of view of the optical flow sensor.
4. The system of claim 1, wherein the at least one optical flow sensor is mounted on the robotic apparatus such that it remains at a fixed distance from the surface of the pipe.
5. The system of claim 1,
- wherein the at least one optical flow sensor is mounted at a first fixed position on the robotic apparatus, and
- further comprising at least one distance sensor mounted at a second fixed position on the robotic apparatus and configured to measure a distance between the second fixed position and a surface of the pipe.
6. The system of claim 1, wherein the axial translation and circumferential translation of the robotic apparatus on the pipe is determined as equal in magnitude and opposite in direction of the measured apparent motion of the surface of the pipe.
7. The system of claim 1, wherein the processor is further configured to calculate, based on the axial translation and the circumferential translation of the robotic apparatus along the pipe and a diameter of the pipe, a relative position of the robotic apparatus on the pipe.
8. The system of claim 7, wherein, in calculating the relative position of the robotic apparatus on the pipe, the processor uses the pipe diameter to convert the circumferential translation to angular position of the robotic apparatus on the pipe.
9. The system of claim 7, further comprising at least one sensor configured to measure the diameter of the pipe, and wherein the processor uses the measured diameter of the pipe in calculating the relative position of the robotic apparatus on the pipe.
10. The system of claim 7, wherein the diameter of the pipe is predetermined and stored in a memory accessed by the processor.
11. The system of claim 7, wherein the processor is further configured to calculate an absolute position of the robotic apparatus on the pipe based on an absolute starting position from which the robotic apparatus began traversing the pipe, the relative position of the robotic apparatus on the pipe, and an absolute orientation of the pipe.
12. A system for measuring a diameter of a pipe traversed by a robotic apparatus, comprising:
- a robotic apparatus;
- a sensor coupled to the robotic apparatus at a fixed position and orientation and configured to measure a distance between the fixed position and a surface of the pipe when the robotic apparatus is coupled to the pipe; and
- a processor configured to: calculate, based on a known geometry of the robotic apparatus, an expected vector between the sensor and the centerline of the pipe and an expected distance between the sensor and a centerline of the pipe; and calculate a diameter of the pipe based on the measured distance, the expected vector, and the expected distance.
13. The system of claim 12, wherein the sensor comprises a time-of-flight sensor.
14. The system of claim 12, wherein the sensor comprises a capacitive displacement sensor.
15. The system of claim 12, wherein the sensor is configured to measure a position of a contact member configured to physically contact the surface of the pipe relative to the fixed position.
16. The system of claim 15,
- wherein the contact member has a first end rotationally coupled to the robotic apparatus and a second end biased towards the surface of the pipe,
- wherein the sensor is configured to measure a rotation angle of the contact member for use in calculating the distance between the fixed position and the surface of the pipe based on the measured rotation angle and a known length of the contact member.
17. The system of claim 15,
- wherein the sensor is oriented on the robotic apparatus to measure the distance between the fixed position and a surface of the pipe along the expected vector, and
- wherein calculating the diameter of the pipe comprises subtracting the measured distance from the expected distance.
18. A system for measuring a diameter of a pipe traversed by a robotic apparatus, comprising:
- a robotic apparatus comprising a first wheel configured for positioning on a first side of a pipe, a second wheel configured for positioning on a second, opposing side of the pipe, and a clamping member coupling the first wheel and the second wheel;
- a sensor configured to measure a rotation of at least one element of the clamping member; and
- a processor configured to calculate a diameter of the pipe based on the measured rotation and a known geometry of the robotic apparatus.
19. The system of claim 18, wherein the sensor comprises a rotary encoder.
20. The system of claim 18,
- wherein the clamping member comprises an arm having a first end rotationally coupled to the first wheel and a second end rotationally coupled to the second wheel;
- wherein the sensor is configured to measure the rotation of at least one of the first end and the second end; and
- wherein calculating the diameter of the pipe is based on the measured rotation of the first end and/or second end and a length of the arm.
Type: Application
Filed: Sep 29, 2023
Publication Date: Jan 25, 2024
Inventors: Karl Petter Wehlin (Houston, TX), Bryan R. Duerfeldt (Houston, TX), Conner S. George (Houston, TX), Hassan Zargarzadeh (Beaumont, TX), Dianna D. Liu (Jackson, LA)
Application Number: 18/375,286