The present disclosure generally relates to in-pipe localization of pipeline inspection gadgets.
Pipelines are important assets for transporting liquids or gases. Pipelines are exposed to harsh internal or external conditions that cause degradation in the quality of the pipelines leading to corrosion, wall loss, or even leakage. Therefore, pipelines are periodically inspected to assess the health of the pipeline and to detect possible signs of damages before they become more severe. The inspection of pipelines is usually carried out by a robot or a gadget that travels inside the pipelines with the objective of detecting signs of defects while traveling through the pipeline. These inspection practices are used in the oil and gas industry to assess the integrity of assets. An accurate localization of a traveling robot or gadget within the pipeline allows correct positioning of any identified defects.
This specification describes systems and methods for monitoring, tracking, and determining the location of devices, such as, a pipeline inspection gadget (PIG) when traveling through a pipeline. The system uses electromagnetic sensors mounted on the traveling device (e.g., PIG) to detect landmarks (e.g., welds) in a pipeline. The sensor data is processed via artificial intelligence for increased accuracy in distinguishing the responses that correspond to in-pipe landmarks from the other responses. The localization is achieved by recording the timestamp when a landmark is detected and using a known distance between landmarks to calculate an average velocity. The system also uses an onboard inertial measurement unit to estimate a velocity and traveled distance along the pipeline. A data processing system correlates the calculated average velocity from the landmark detection with the estimated average velocity from the inertial measurement unit to estimate the location of the traveling device and reduce error buildup in the estimated velocity and position based on the inertial measurement unit measurements.
The methods and systems enable one or more of the following technical advantages. This system and method are independent of the requirement for installing external sensors and associated supporting infrastructure outside of the pipeline, reducing the cost to maintain and operate this system. This system and method have a contactless interaction with the pipe by using electromagnetic sensors. The landmark detection provides an independent reference of the velocity of the traveling device, improving localization accuracy by reducing error buildup that occurs when using an inertial measurement unit alone.
One or more of these advantages are enabled by one or more of the following embodiments.
In one aspect, a system for localizing a traveling device in a pipeline includes a traveling device comprising a plurality of electromagnetic sensors and an inertial measurement unit; at least one processor; and a memory storing instructions that when executed by the at least one processor cause the at least one processor to perform operations including acquiring a plurality of measurements from the inertial measurement unit; estimating a velocity and an orientation of the traveling device based on the plurality of measurements from the inertial measurement unit; acquiring a plurality of measurements from the plurality of electromagnetic sensors; detecting a plurality of landmarks of the pipeline based on the plurality of measurements from the plurality of electromagnetic sensors; calculating an average velocity of the traveling device based on the detected plurality of landmarks; and determining a location and an orientation of the traveling device based on the estimated velocity, the estimated orientation, and the calculated average velocity.
In one aspect, a method for localizing a traveling device in a pipeline, the traveling device including an inertial measurement unit and a plurality of electromagnetic sensors, the method includes acquiring a plurality of measurements from the inertial measurement unit; estimating a velocity and an orientation of the traveling device based on the plurality of measurements from the inertial measurement unit; acquiring a plurality of measurements from the plurality of electromagnetic sensors; detecting a plurality of landmarks of the pipeline based on the plurality of measurements from the plurality of electromagnetic sensors; calculating an average velocity of the traveling device based on the detected plurality of landmarks; and determining a location and an orientation of the traveling device based on the estimated velocity, the estimated orientation, and the calculated average velocity.
In one aspect, one or more non-transitory machine-readable storage devices storing instructions for localizing a traveling device in a pipeline, the traveling device comprising an inertial measurement unit and a plurality of electromagnetic sensors, the instructions being executable by one or more processing devices to cause performance of operations including accessing, from a data store, a plurality of measurements from the inertial measurement unit and a plurality of measurements from the plurality of electromagnetic sensors; estimating a velocity and an orientation of the traveling device based on the plurality of measurements from the inertial measurement unit; detecting a plurality of landmarks of the pipeline based on the plurality of measurements from the plurality of electromagnetic sensors; calculating an average velocity of the traveling device based on the detected plurality of landmarks; and determining a location and an orientation of the traveling device based on the estimated velocity, the estimated orientation, and the calculated average velocity.
Embodiments of these aspects may include one or more of the following features.
In some embodiments, the traveling device is a pipeline inspection gadget.
In some embodiments, the operations include determining a location of a defect in the pipeline based on the determined location and orientation of the traveling device.
In some embodiments, the plurality of electromagnetic sensors is regularly distributed in a ring shape, the ring shape having a diameter smaller than an inner diameter of the pipeline.
In some embodiments, the inertial measurement unit includes an accelerometer and a gyroscope. In some cases, the plurality of measurements from the inertial measurement unit includes linear acceleration and angular velocity.
In some embodiments, the plurality of landmarks includes a plurality of weld joints joining adjacent pipe segments.
In some embodiments, the determining a location and an orientation of the traveling device includes using an extended Kalman filter and a Rauch-Tung-Striebel smoother.
In some embodiments, detecting a plurality of landmarks includes a neural network having inputs and outputs, the inputs of the neural network comprise time-series of induced signature from the plurality of electromagnetic sensors, the outputs of the neural network comprise time stamps of detected landmarks.
In some embodiments, estimating a velocity and an orientation of the traveling device comprises using an extended Kalman filter to combine the plurality of measurements from the inertial measurement unit with an estimated acceleration of the traveling device based on the motion dynamics of the traveling device.
In some embodiments, estimating a velocity and an orientation of the traveling device includes using an extended Kalman filter to combine the plurality of measurements from the inertial measurement unit with an estimated acceleration of the traveling device based on the motion dynamics of the traveling device.
The details of one or more embodiments of these systems and methods are set forth in the accompanying drawings and the description to be presented. Other features, objects, and advantages of these systems and methods will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
This specification describes systems and methods for monitoring, tracking, and determining the location of devices such as a pipeline inspection gadget (PIG) traveling through a pipeline. The traveling device includes electromagnetic sensors to detect landmarks that are regularly positioned within the pipeline, for example, welds. These welds are present as a result of joining pairs of pipe segments, also known as spools, which are of a standard length that is readily known. The traveling device and an associated data processing system record a timestamp whenever a weld is detected. The average velocity and traveled distance of the moving device is determined from two consecutive landmark detections. Additionally, the traveling device includes an onboard inertial measurement unit, which in some embodiments includes an accelerometer and a gyroscope to measure acceleration and angular velocity of the traveling device. The data processing system combines the estimated average velocity and traveled distance obtained from the detection of landmarks with the readings obtained from the inertial measurement unit to determine the location of the traveling device inside the pipeline using an extended Kalman filter and Rauch-Tung-Striebel smoother.
The systems and methods of this specification enable the localization of PIGs, or robots, traveling through pipelines in global positioning system (GPS) denied environments, for example, pipelines deeply buried underground. These systems provide a self-reliant in-pipe localization via detection of welds that connect pipeline segments or other regularly occurring landmarks in the pipeline; combined with an inertial navigation system (INS) based on inertial measurement unit measurements for accurate localization and without the need to confer with any external-to-the-pipeline devices or landmarks. These systems and methods provide higher accuracy, and lower computational complexity and hardware cost when compared to other existing systems that require both in-pipe and out-of-pipe interaction dependency for an accurate localization. These systems and methods are attachable to and/or integrate-able with standard PIGs, robots, or other inspection tools.
In one illustration, the transmitter, responsible for emitting the initial electromagnetic signal for inspection of the target pipeline, is configured to operate at a frequency selected to interact with the material composition of the target pipeline to inspect the integrity of the pipe wall. In some cases, the material composition includes carbon steel, for example API 5L X60. The receivers, responsible for collecting the transmitted signal after its interaction with the wall of the target pipeline, are configured to couple to this transmitted signal interacting with the wall in a manner that decouples and distinguishes defective segments of the pipe and/or welds in the pipe.
In some implementations, capsules 112, 114, and 116 are mounted at the front end or the back end of a PIG. For example, capsules 112, 114, 116, and 118 are coaxially mounted with respect to the PIG. As illustrated, the transmitter (e.g., 112T) is mounted towards the center of the capsule, which emits EM signals in the form of, for example, pulsed waveforms, or almost continuous wave (CW). The transmitter can be configured as a coiled antenna, a dipole antenna, or a combination thereof. The radiation pattern of the transmitter can be omni-directional in the circumferential aspect so that the cross-section of the pipe that is co-planar with the capsule receives relatively uniform EM radiation.
The receivers (e.g., 112R) are positioned on the circumference of the capsule to be in close proximity to, but without contacting, the inner surface of the pipe. In some cases, the receivers are evenly distributed around the circumference of the capsule. The receivers may be stationary relative to the PIG and spaced at equal distances from the transmitter. The receivers may be tuned to encompass a larger bandwidth than the transmitter. The receivers are configured to receive EM signals in response to radiated EM signals from the transmitter in the surrounding of the inner wall of the pipe for detection of welds within the pipe. In some implementations, the sensors serve a dual purpose, detection of welds and assessment of the integrity of the wall, where losses in the inner and outer surfaces as well as full wall-losses, can significantly affect the reception. Some implementations assess situations varying from inner and outer surface losses (e.g., erosion) to full wall-losses (e.g., total loss).
Data collected and recorded by the traveling device (e.g., PIG) can be processed by a data processing system onboard the traveling device. Alternatively, the data can be stored in a memory on the traveling device and accessed by a data processing system after the traveling device has been recovered from the pipeline. In some implementations, the data may be transmitted to another device while the traveling device is traveling through the pipeline. For example, the data may be transmitted to a second device that is tracking the traveling device (e.g., an accompanying vehicle such as a crawler, robot, or drone). The data processing system may reside on the second device.
Localization of an in-pipe PIG (e.g., 102) is a challenging task, particularly in buried pipelines. In buried pipelines, there is no GPS signal connectivity, such pipelines are sometimes designated as GPS denied territories. A localization system in buried pipelines cannot rely on the use of GPS navigation systems. In addition, it is not practical to dig underground to install external sensors around a pipeline. It is advantageous that localization systems of PIGs/robots traveling through pipelines rely on self-contained sensors. For example, self-contained sensors such as accelerometers can be integrated, attached to, or placed on-board a device without the need for external references to correctly operate them.
The data processing system estimates a velocity and an orientation of the traveling device based on the plurality of measurements from the inertial measurement unit (step 204). In some implementations, a data processing system numerically integrates a measured angular velocity ωb to determine an orientation of the traveling device or PIG. The data processing system determines the attitude of the PIG based on the determined orientation. The data processing system also transforms an acceleration ab measured in a body frame of reference of the traveling device into a global navigation frame. The transformation is based on the determined orientation. The data processing system numerically integrates the measured acceleration, expressed in the navigation frame, to determine a velocity of the PIG. The data processing system also numerically integrates the velocity to determine a position of the PIG within the pipeline. Due to the numerical integration, positioning errors can accumulate and grow quickly with time. To reduce this source of localization errors, in some implementations, the data processing system accounts for the motion dynamics of the PIG inside the pipeline.
ma
Referring to
Pipelines carrying product are composed of pipe segments that are manufactured with standard lengths and shapes. These standard pipe segments are joined using welds. The electromagnetic-based sensors onboard the traveling device interact with the pipe and a processor records the response data. Regularly spaced landmarks in the pipeline such as welds at joints between pipe segments can be detected by the electromagnetic sensors since the electric and magnetic properties of the weld are different than the electric and magnetic properties of the pipe. When the PIG passes by a weld, there is a detectable change in the measured signal across a plurality of the electromagnetic sensors. By detecting this change in the measured signal, the welds are recognized. The data processing system also records the time stamps at which a PIG passes by each weld. The electromagnetic sensors serve a dual purpose, general inspection, and diagnostics of the pipeline, and detecting weld joints in the pipelines.
The data processing system detects a plurality of landmarks of the pipeline based on the plurality of measurements acquired from the plurality of electromagnetic sensors (step 208). In some implementations, the data processing system uses an artificial intelligence (AI) model to detect landmarks in the pipeline (e.g., welds) based on the plurality of measurements acquired from the plurality of electromagnetic sensors. The artificial intelligence model can be for example a neural network or a recurrent neural network. The artificial intelligence model is trained on data of the electromagnetic sensors. The AI model can also be trained using measurements acquired from a PIG traveling through a pipeline that have been manually labeled to identify landmarks. Data extracted from the electromagnetic sensors and correctly labeled by the AI model can also be used to further update and train the AI model. The inputs to the AI model are the measured time-series signals from the plurality of electromagnetic sensors. The outputs of the AI model are timestamps of detected landmarks. The AI model increases accuracy and reliability in distinguishing responses that correspond to the in-pipe landmarks from the other responses as compared with detections by other techniques, such as a cross-correlation technique
The data processing system calculates an average velocity of the traveling device based on the detected plurality of landmarks of the pipeline (step 210). In some implementations, the data processing system calculates an average velocity between each pair of detected landmarks.
The data processing system determines a location and an orientation of the traveling device in the pipeline by combining the estimated velocity and estimated orientation based on the inertial measurement unit measurements with the calculated average velocity based on the landmark detections (step 210). In some implementations, the inertial measurement unit has a fixed update rate, and the weld detection algorithm has a varying update rate that depends on the velocity of the traveling device, (e.g., PIG/robot). In some implementations, the data processing system combines the estimated velocity from the inertial measurement unit and the calculated velocity from the weld detection technique using a Rauch-Tung-Striebel (RTS) smoother algorithm with an extended Kalman filter (EKF).
In some implementations, the data processing system determines a location of a defect in the pipeline based on the determined location and orientation of the traveling device (step 212).
In some implementations, these systems and methods localize a device, such as a PIG, that is traveling through a pipeline by means of detecting welds that join the pipeline segments. The method utilizes a set of advanced electromagnetic sensing techniques combined with AI to detect the welds. An inertial measurement unit is used to obtain the acceleration and the angular velocity of the moving device (e.g., PIG). The device (e.g., PIG) is equipped with a ring of electromagnetic sensors and an inertial measurement unit that includes an accelerometer and a gyroscope. An inertial navigation system (INS) estimates the position and velocity of the device, PIG, via the inertial measurement unit measurements. An extended Kalman filter (EKF) combines the INS estimates with the motion dynamics to improve the localization accuracy. An EKF is combined with a Rauch-Tung-Striebel (RTS) smoother to further improve the localization accuracy via using the weld detection mechanism.
The systems and methods of this specification have advantages over other methods of mitigating error buildup based on measurements form an inertial measurement unit. The method 200 is contactless and only depends on detecting welds via on-board electromagnetic sensors. This allows for higher accuracy as the solution does not require maintaining a contact with the wall of a pipeline reducing scratches that may be caused by for example a wheel encoder.
The computer 602 can serve in a role as a client, a network component, a server, a database, a persistency, or components of a computer system for performing the subject matter described in the present disclosure. The illustrated computer 602 is communicably coupled with a network 630. In some implementations, one or more components of the computer 602 can be configured to operate within different environments, including cloud-computing-based environments, local environments, global environments, and combinations of environments.
At a high level, the computer 602 is an electronic computing device operable to receive, transmit, process, store, and manage data and information associated with the described subject matter. According to some implementations, the computer 602 can also include, or be communicably coupled with, an application server, an email server, a web server, a caching server, a streaming data server, or a combination of servers.
The computer 602 can receive requests over network 630 from a client application (for example, executing on another computer 602). The computer 602 can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer 602 from internal users (for example, from a command console), external (or third) parties, automated applications, entities, individuals, systems, and computers.
Each of the components of the computer 602 can communicate using a system bus 603. In some implementations, any or all of the components of the computer 602, including hardware or software components, can interface with each other or the interface 604 (or a combination of both), over the system bus 603. Interfaces can use an application programming interface (API) 612, a service layer 613, or a combination of the API 612 and service layer 613. The API 612 can include specifications for routines, data structures, and object classes. The API 612 can be either computer-language independent or dependent. The API 612 can refer to a complete interface, a single function, or a set of APIs.
The service layer 613 can provide software services to the computer 602 and other components (whether illustrated or not) that are communicably coupled to the computer 602. The functionality of the computer 602 can be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer 613, can provide reusable, defined functionalities through a defined interface. For example, the interface can be software written in JAVA, C++, or a language providing data in extensible markup language (XML) format. While illustrated as an integrated component of the computer 602, in alternative implementations, the API 612 or the service layer 613 can be stand-alone components in relation to other components of the computer 602 and other components communicably coupled to the computer 602. Moreover, any or all parts of the API 612 or the service layer 613 can be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of the present disclosure.
The computer 602 includes an interface 604. Although illustrated as a single interface 604 in
The computer 602 includes a processor 605. Although illustrated as a single processor 605 in
The computer 602 also includes a database 606 that can hold data (for example, measurement data 616) for the computer 602 and other components connected to the network 630 (whether illustrated or not). For example, database 606 can be an in-memory, conventional, or a database storing data consistent with the present disclosure. In some implementations, database 606 can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to particular needs, desires, or particular implementations of the computer 602 and the described functionality. Although illustrated as a single database 606 in
The computer 602 also includes a memory 607 that can hold data for the computer 602 or a combination of components connected to the network 630 (whether illustrated or not). Memory 607 can store any data consistent with the present disclosure. In some implementations, memory 607 can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to particular needs, desires, or particular implementations of the computer 602 and the described functionality. Although illustrated as a single memory 607 in
The application 608 can be an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer 602 and the described functionality. For example, application 608 can serve as one or more components, modules, or applications. Further, although illustrated as a single application 608, the application 608 can be implemented as multiple applications 608 on the computer 602. In addition, although illustrated as internal to the computer 602, in alternative implementations, the application 608 can be external to the computer 602.
The computer 602 can also include a power supply 614. The power supply 614 can include a rechargeable or non-rechargeable battery that can be configured to be either user- or non-user-replaceable. In some implementations, the power supply 614 can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply 614 can include a power plug to allow the computer 602 to be plugged into a wall socket or a power source to, for example, power the computer 602 or recharge a rechargeable battery.
There can be any number of computers 602 associated with, or external to, a computer system containing computer 602, with each computer 602 communicating over network 630. Further, the terms “client,” “user,” and other appropriate terminology can be used interchangeably, as appropriate, without departing from the scope of the present disclosure. Moreover, the present disclosure contemplates that many users can use one computer 602 and one user can use multiple computers 602.
Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Software implementations of the described subject matter can be implemented as one or more computer programs. Each computer program can include one or more modules of computer program instructions encoded on a tangible, non transitory, computer-readable computer-storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively, or additionally, the program instructions can be encoded in/on an artificially generated propagated signal. The example, the signal can be a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The computer-storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of computer-storage mediums.
The terms “data processing apparatus,” “computer,” and “electronic computer device” (or equivalent as understood by one of ordinary skill in the art) refer to data processing hardware. For example, a data processing apparatus can encompass all kinds of apparatus, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also include special purpose logic circuitry including, for example, a central processing unit (CPU), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some implementations, the data processing apparatus or special purpose logic circuitry (or a combination of the data processing apparatus or special purpose logic circuitry) can be hardware- or software-based (or a combination of both hardware- and software-based). The apparatus can optionally include code that creates an execution environment for computer programs, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of execution environments. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, for example, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, or IOS.
The methods, processes, or logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, or logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.
Computer readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data can include all forms of permanent/non-permanent and volatile/non-volatile memory, media, and memory devices. Computer readable media can include, for example, semiconductor memory devices such as random access memory (RAM), read only memory (ROM), phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices. Computer readable media can also include, for example, magnetic devices such as tape, cartridges, cassettes, and internal/removable disks.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented, in combination, in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations, separately, or in any suitable sub-combination. Moreover, although previously described features may be described as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims as will be apparent to those skilled in the art. While operations are depicted in the drawings or claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed (some operations may be considered optional), to achieve desirable results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) may be advantageous and performed as deemed appropriate.
Moreover, the separation or integration of various system modules and components in the previously described implementations should not be understood as requiring such separation or integration in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Accordingly, the previously described example implementations do not define or constrain the present disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of the present disclosure.
Furthermore, any claimed implementation is considered to be applicable to at least a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer system comprising a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method or the instructions stored on the non-transitory, computer-readable medium.
A number of embodiments of these systems and methods have been described. Nevertheless, it will be understood that various modifications may be made without departing from the scope of this disclosure. Accordingly, other embodiments are within the scope of the following claims.