Systems and methods for defining and transmitting subsurface commands
A method may include receiving a selection of a command of a plurality of commands, where the command is part of the plurality of commands and is associated with controlling one or more operations of a downhole tool, and where the plurality of commands is organized according to a JavaScript Object Notation (JSON) schema. The method may also include generating a downlink signal based on the command and transmitting the downlink signal to the downhole tool when the downhole tool is disposed within a wellbore of a geological formation, where the downhole tool is configured to implement a change in the one or more operations in response to receiving downlink signal. The method may further include receiving feedback data from the downhole tool after the downhole tool implements the command, where the feedback data includes one or more measurements associated with the downhole tool implementing the command.
1 . A method, comprising:
receiving, via a processing system, a selection of a command for a downhole tool disposed within a wellbore of a geological formation wherein the command is part of a plurality of commands associated with controlling one or more operations of the downhole tool;
retrieving, via the processing system, a JavaScript Object Notation (JSON) contract of a plurality of JSON contracts associated with the command from a JSON schema, wherein the JSON contract comprises a plurality of JSON objects configured to cause the downhole tool to perform the command, and wherein the JSON schema comprises a multi-level hierarchical mapping of the plurality of JSON contracts that is organized based on a first level comprising one or more characteristics of a plurality of downhole tools, a second level comprising a plurality of drilling operations, and a third level comprising a plurality of conditions associated with the downhole tool performing the plurality of drilling operations;
generating, via the processing system, a downlink signal based on the JSON contract;
transmitting, via the processing system, the downlink signal to the downhole tool while the downhole tool is disposed within the wellbore of the geological formation, wherein the downhole tool is configured to implement a change in the one or more operations of the downhole tool in response to receiving the downlink signal, and wherein the change in the one or more operations of the downhole tool comprises the downhole tool changing a steering mode, a drilling mode, a direction, a speed, or any combination thereof; and
receiving, via the processing system, feedback data from the downhole tool after the downhole tool implements the command, wherein the feedback data comprises one or more measurements associated with the downhole tool implementing the command.
2 . The method of claim 1 , wherein the JSON contact comprises a page number associated with the downlink signal, one or more conditions associated with implementing the command, and one or more data points associated with a performance of the commands by the downhole tool.
3 . The method of claim 1 , comprising:
receiving, via the processing system, an additional selection of an additional command of the plurality of commands;
identifying, via the processing system, one or more conditions associated with the additional command;
in response to identifying the one or more conditions associated with the additional command, analyzing, via the processing system, the feedback data to determine whether the downhole tool satisfies the one or more conditions associated with the additional command;
in response to the feedback data indicating that the downhole tool satisfies the one or more conditions associated with the additional command, generating, via the processing system, an additional downlink signal based on the additional command; and
transmitting, via the processing system, the additional downlink signal to the downhole tool.
4 . The method of claim 3 , comprising analyzing the feedback data to determine that one or more data points corresponding to one or more measurements acquired via the downhole tool satisfies the one or more conditions associated with the additional command.
5 . The method of claim 4 , comprising generating, via the processing system, the additional selection of the additional command based at least in part on applying an artificial intelligence (AI) algorithm to the feedback data to determine a status of the downhole tool implementing the command.
6 . The method of claim 3 , comprising in response to the feedback data indicating that the downhole tool does not satisfy the one or more conditions associated with the additional command, generating, via the processing system, a suggestion for one or more alternative commands based on a similarity to the additional command, a current status of the downhole tool based on the feedback data, or both.
7 . The method of claim 1 , wherein the feedback data is at least partially based on electromagnetic measurements (EM) of the wellbore collected by an EM acquisition system of the downhole tool.
8 . A system, comprising:
a downhole tool; and
a surface operating system comprising processing circuitry configured to:
receive a selection of a command for the downhole tool disposed within a wellbore of a geological formation, wherein the command is part of a plurality of commands associated with controlling one or more operations of the downhole tool;
retrieve a JavaScript Object Notation (JSON) contract of a plurality of JSON contracts is associated with the command from a JSON schema, wherein the JSON contract comprises a plurality of a JSON objects configured to cause the downhole tool to perform the command, and wherein the JSON schema comprises a multi-level hierarchical mapping of the plurality of JSON contracts that is organized based on a first level comprising one or more characteristics of a plurality of downhole tools, a second level comprising a plurality of drilling operations, and a third level comprising a plurality of conditions associated with the downhole tool performing the plurality of drilling operations;
generate a downlink signal based on the JSON contract;
transmit the downlink signal to the downhole tool while the downhole tool is disposed within the wellbore of the geological formation, wherein the downhole tool is configured to implement a change in the one or more operations of the downhole tool in response to receiving the downlink signal, and wherein the change in the one or more operations of the downhole tool comprises the downhole tool changing a steering mode, a drilling mode, a direction, a speed, or any combination thereof; and
receive feedback data from the downhole tool after the downhole tool implements the command, wherein the feedback data comprises one or more measurements associated with the downhole tool implementing the command.
9 . The system of claim 8 , wherein the JSON contract comprises a page number associated with the downlink signal, one or more conditions associated with implementing the command, and one or more data points associated with a performance of the command by the downhole tool.
10 . The system of claim 8 , wherein the downhole tool comprises an electromagnetic measurement (EM) acquisition system that is configured to collect electromagnetic measurements of the wellbore.
11 . The system of claim 8 , wherein the downhole tool comprises a logging-while-drilling (LWD) tool or a measurement-while-drilling (MWD) tool.
12 . The system of claim 8 , wherein the surface operating system is configurable to determine the feedback data based on processing one or more mud pulse telemetry signals transmitted by the downhole tool.
13 . The system of claim 8 , wherein the processing circuitry of the surface operating system is further configured to:
receive an additional selection of an additional command of the plurality of commands;
identify one or more conditions associated with the additional command; and
in response to the feedback data indicating that the downhole tool does not satisfy the one or more conditions associated with the additional command,
generate a graphical user interface (GUI) alert based on the feedback data indicating that the downhole tool does not satisfy the one or more conditions associated with the additional command,
wherein the GUI alert comprises a suggestion for one or more alternative commands based on a similarity to the additional command, a current status of the downhole tool based on the feedback data, or both.
14 . A non-transitory, computer-readable medium, comprising computer-readable instructions that, when executed by one or more processors of one or more computers, cause the one or more computers to:
receive a selection of a command for a downhole tool disposed within a wellbore of a geological formation, wherein the command is part of a plurality of commands associated with controlling one or more operations of the downhole tool;
retrieve a JavaScript Object Notation (JSON) contract associated with the command from a JSON schema, wherein the JSON contract comprises a plurality of JSON objects configured to cause the downhole tool to perform the command, and wherein the JSON schema comprises a multi-level hierarchical mapping of a plurality of JSON contracts that is organized based on a first level comprising one or more characteristics of a plurality of downhole tools, a second level comprising a plurality of drilling operations, and a third level comprising a plurality of conditions associated with the downhole tool performing the plurality of drilling operations;
generate a downlink signal based on the JSON contract;
transmit the downlink signal to the downhole tool while the downhole tool is disposed within the wellbore of the geological formation, wherein the downhole tool is configured to implement a change in the one or more operations of the downhole tool in response to receiving the downlink signal, and wherein the change in the one or more operations of the downhole tool comprises the downhole tool changing a steering mode, a drilling mode, a direction, a speed, or any combination thereof; and
receive feedback data from the downhole tool after the downhole tool implements the command, wherein the feedback data comprises one or more measurements associated with the downhole tool implementing the command.
15 . The non-transitory, computer-readable medium of claim 14 , wherein the JSON contract comprises a page number associated with the downlink signal, one or more conditions associated with implementing the command, and one or more data points associated with a performance of the command by the downhole tool.
16 . The non-transitory, computer-readable medium of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the one or more computers to:
receive an additional selection of an additional command of the plurality of commands;
identify one or more conditions associated with the additional command;
in response to identifying the one or more conditions associated with the additional command, analyze the feedback data to determine whether the downhole tool satisfies the one or more conditions associated with the additional command; and
in response to the feedback data indicating that the downhole tool satisfies the one or more conditions associated with the additional command:
generate an additional downlink signal based on the additional command; and
transmit the additional downlink signal to the downhole tool; or in response to the feedback data indicating that the downhole tool does not satisfy the one or more conditions associated with the additional command:
generate a graphical user interface (GUI) alert based on the feedback data indicating that the downhole tool does not satisfy the one or more conditions associated with the additional command.
17 . The non-transitory, computer-readable medium of claim 16 , wherein the GUI alert comprises a suggested alternative command.
18 . The non-transitory, computer-readable medium of claim 17 , wherein the suggested alternative command is based on a similarity to the additional command, the feedback data, or any combination thereof.
19 . The non-transitory, computer-readable medium of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the one or more computers to generate the additional selection of the additional command based at least in part on applying an artificial intelligence (AI) algorithm to the feedback data to determine a status of the downhole tool implementing the command.
20 . The non-transitory, computer-readable medium of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the one or more computers to update the JSON schema to include one or more additional JSON contracts associated with a new downhole tool or a new version of one of the plurality of downhole tools.