TECHNICAL FIELD
[0001] Various example embodiments generally relate to the field of drilling. Some example
embodiments relate to updating a drilling plan based on 3D models of a drilling face
and a drill rig.
BACKGROUND
[0002] Drill rigs may be used for drilling holes in a drilling surface such as for example
a rock face. For example, an underground drill rig may be configured to drill holes
for explosives in mining applications. A surface drill rig may be configured for the
same purpose at terrestrial environment. In such applications it may be desired to
carefully plan locations of the holes such that the intended result is achieved by
applying the explosives. Drill rigs may be equipped with one or more booms to enable
holes to be drilled in the planned locations.
SUMMARY
[0003] This summary is provided to introduce a selection of concepts in a simplified form
that are further described below in the detailed description. This summary is not
intended to identify key features or essential features of the claimed subject matter,
nor is it intended to be used to limit the scope of the claimed subject matter.
[0004] According to a first aspect, a drilling control apparatus is disclosed. The drilling
control apparatus may comprise: at least one processor; and at least one memory including
computer program code, the at least one memory and the computer program code configured
to, with the at least one processor, cause the apparatus at least to: obtain a three-dimensional
(3D) model of a drilling face; obtain a 3D model of at least one component of a drill
rig and a kinematic model of the drill rig; obtain a drilling plan indicative of a
plurality of start points and end points of a plurality of holes to be drilled on
the drilling face; perform a simulation of the drilling plan based on the 3D model
of the drilling face, the 3D model of the at last one component of the drill rig,
and the kinematic model of the drill rig; detect, based on the simulation, a simulated
collision between the at least one component of the drill rig and the drilling face
or between components of the drill rig, wherein the simulated collision is associated
with simulated drilling of at least one of the plurality of holes; and determine an
updated drilling plan comprising an adjusted start point of the at least one of the
plurality of holes, in response to detecting the simulated collision.
[0005] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: maintain,
in the updated drilling plan, an end point of the at least one of the plurality of
holes, wherein the end point of the at least one of the plurality of holes was included
in the drilling plan, adjust the end point of the at least one of the plurality of
holes towards the adjusted start point of the at least one of the plurality of holes,
or adjust the end point of the at least one of the plurality of holes towards the
adjusted start point such that a distance between the adjusted start point and the
end point is substantially equal to a distance between the start point and the end
point of the at least one of the plurality of holes.
[0006] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: determine,
based on the simulation, a location of a drilling unit of the drill rig, wherein the
location of the drilling unit is associated with the simulated collision; determine
a position for the drilling unit to reach the end point of the at least one of the
plurality of holes from the determined location of the drilling unit; and adjust the
start point of the at least one of the plurality of holes based on the determined
position.
[0007] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: determine
at least one candidate start point for the at least one of the plurality of holes;
perform, based on the 3D model of the drilling face, the 3D model of the at last one
component of the drill rig, and the kinematic model of the drill rig, a second simulation
of drilling the at least one of the plurality of holes with the at least one candidate
start point; and adjust the start point of the at least one of the plurality of holes
based on the second simulation such that no simulated collision occurs between the
at least one component of the drill rig and the drilling face or between the components
of the drill rig.
[0008] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: adjust,
based on the 3D model of the drilling face, the 3D model of the at least one component
of the drill rig, and the kinematic model of the drill rig, the start point of the
at least one of the plurality of holes such that no simulated collision occurs between
the at least one component of the drill rig and the drilling face or between the components
of the drill rig.
[0009] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: perform
a mapping between the plurality of start points and end points and the 3D model of
the drilling face.
[0010] According to an example embodiment of the first aspect, the at least one component
of the drill rig comprises at least one of the following: a first boom, a second boom,
a first drilling unit coupled to the first boom, a second drilling unit coupled to
the second boom, at least one boom part of the first boom, or at least one boom part
of the second boom.
[0011] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: scan
the drilling face to obtain the 3D model of the drilling face.
[0012] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: scan
the drilling face, in response to detecting the drill rig to reach a planned drilling
position.
[0013] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: initiate
drilling of the plurality of holes based on the updated drilling plan.
[0014] According to an example embodiment of the first aspect, the apparatus comprises the
drill rig.
[0015] According to an example embodiment of the first aspect, the computer program code
may be configured to, with the at least one processor, cause the apparatus to: receive
the 3D model of the drilling face from the drill rig to obtain the 3D model of the
drilling face; and transmit the updated drilling plan to the drill rig.
[0016] According to an example embodiment of the first aspect, the apparatus comprises a
drilling control device, wherein the drilling control device is external to the drill
rig.
[0017] According to a second aspect, a method for controlling a drill rig is disclosed.
The method may comprise: obtaining a three-dimensional (3D) model of a drilling face;
obtaining a 3D model of at least one component of a drill rig and a kinematic model
of the drill rig; obtain a drilling plan indicative of a plurality of start points
and end points of a plurality of holes to be drilled on the drilling face; performing
a simulation of the drilling plan based on the 3D model of the drilling face, the
3D model of the at last one component of the drill rig, and the kinematic model of
the drill rig; detecting, based on the simulation, a simulated collision between the
at least one component of the drill rig and the drilling face or between components
of the drill rig, wherein the simulated collision is associated with simulated drilling
of at least one of the plurality of holes; and determining an updated drilling plan
comprising an adjusted start point of the at least one of the plurality of holes,
in response to detecting the simulated collision.
[0018] According to an example embodiment of the second aspect, the method may comprise:
maintaining, in the updated drilling plan, an end point of the at least one of the
plurality of holes, wherein the end point of the at least one of the plurality of
holes was included in the drilling plan, adjusting the end point of the at least one
of the plurality of holes towards the adjusted start point of the at least one of
the plurality of holes, or adjusting the end point of the at least one of the plurality
of holes towards the adjusted start point such that a distance between the adjusted
start point and the end point is substantially equal to a distance between the start
point and the end point of the at least one of the plurality of holes.
[0019] According to an example embodiment of the second aspect, the method may comprise:
determining, based on the simulation, a location of a drilling unit of the drill rig,
wherein the location of the drilling unit is associated with the simulated collision;
determine a position for the drilling unit to reach the end point of the at least
one of the plurality of holes from the determined location of the drilling unit; and
adjust the start point of the at least one of the plurality of holes based on the
determined position.
[0020] According to an example embodiment of the second aspect, the method may comprise:
determining at least one candidate start point for the at least one of the plurality
of holes; performing, based on the 3D model of the drilling face, the 3D model of
the at last one component of the drill rig, and the kinematic model of the drill rig,
a second simulation of drilling the at least one of the plurality of holes with the
at least one candidate start point; and adjusting the start point of the at least
one of the plurality of holes based on the second simulation such that no simulated
collision occurs between the at least one component of the drill rig and the drilling
face or between the components of the drill rig.
[0021] According to an example embodiment of the second aspect, the method may comprise:
adjusting, based on the 3D model of the drilling face, the 3D model of the at least
one component of the drill rig, and the kinematic model of the drill rig, the start
point of the at least one of the plurality of holes such that no simulated collision
occurs between the at least one component of the drill rig and the drilling face or
between the components of the drill rig.
[0022] According to an example embodiment of the second aspect, the method may comprise:
perform a mapping between the plurality of start points and end points and the 3D
model of the drilling face.
[0023] According to an example embodiment of the second aspect, the at least one component
of the drill rig comprises at least one of the following: a first boom, a second boom,
a first drilling unit coupled to the first boom, a second drilling unit coupled to
the second boom, at least one boom part of the first boom, or at least one boom part
of the second boom.
[0024] According to an example embodiment of the second aspect, the method may comprise:
scanning the drilling face to obtain the 3D model of the drilling face.
[0025] According to an example embodiment of the second aspect, the method may comprise:
scanning the drilling face, in response to detecting the drill rig to reach a planned
drilling position.
[0026] According to an example embodiment of the second aspect, the method may comprise:
initiating drilling of the plurality of holes based on the updated drilling plan.
[0027] According to an example embodiment of the second aspect, the method may be performed
by the drill rig.
[0028] According to an example embodiment of the second aspect, the method may comprise:
receiving the 3D model of the drilling face from the drill rig to obtain the 3D model
of the drilling face; and transmitting the updated drilling plan to the drill rig.
[0029] According to an example embodiment of the second aspect, the method may be performed
by a drilling control device, wherein the drilling control device is external to the
drill rig.
[0030] According to a third aspect, an apparatus is disclosed. The apparatus may comprise
means for performing a method according to the second aspect, or any example embodiment
thereof.
[0031] According to a fourth aspect, a computer program or a computer program product is
disclosed. The computer program or computer program product may comprise instructions,
which when executed by an apparatus, cause the apparatus perform a method according
to the second aspect, or any example embodiment thereof.
[0032] According to a seventh aspect, a (non-transitory) computer readable medium is disclosed.
The (non-transitory) computer readable medium may comprise program code that, when
executed by an apparatus, cause the apparatus to perform a method according to the
second aspect, or any example thereof.
[0033] According to some aspects, there is provided the subject matter of the independent
claims. Some further aspects are defined in the dependent claims. Many of the attendant
features will be more readily appreciated as they become better understood by reference
to the following description considered in connection with the accompanying drawings.
LIST OF DRAWINGS
[0034] The accompanying drawings, which are included to provide a further understanding
of the example embodiments and constitute a part of this specification, illustrate
example embodiments and, together with the description, help to explain the example
embodiments. In the drawings:
FIG. 1 illustrates an example of a drill rig comprising a drilling controller;
FIG. 2 illustrates an example of a drill rig communicatively coupled to a remote drilling
controller;
FIG. 3 illustrates an example of a drilling unit;
FIG. 4 illustrates an example of a flow chart for determining an updated drilling
plan;
FIG. 5 illustrates an example of a simulated collision and an update of a start point
of a hole;
FIG. 6 illustrates an example of weighted control of at least one component of a drill
rig;
FIG. 7 illustrates an example of an apparatus configured to practise one or more example
embodiments; and
FIG. 8 illustrates an example of a method for controlling a drill rig.
Like references are used to designate like parts in the accompanying drawings.
DESCRIPTION
[0035] Reference will now be made to embodiments, examples of which are illustrated in the
accompanying drawings. The description provided below in connection with the appended
drawings is intended as a description of the present examples and is not intended
to represent the only forms in which the present example may be constructed or utilized.
The description sets forth the functions of the example and the sequence of steps
for constructing and operating the example. However, the same or equivalent functions
and sequences may be accomplished by different examples.
[0036] Drill rigs may be operated based on a drilling plan to achieve the desired result,
for example, to extend a tunnel by applying explosives at the drilled holes. The drilling
plan may comprise start point(s) and end point(s) for one or a plurality of holes.
A human operator may control the drill rig locally, e.g., sitting in the cabin of
the drill rig, or via remote control. The operator may monitor and manually control
boom(s) of the drill rig in order to avoid collisions between the boom(s) and the
drilling surface (e.g. walls of the tunnel) or between the booms themselves. If a
hole can not be drilled without a collision, for example, if the hole is not reachable,
the operator may use his/her own judgement to manually position the boom at an adjusted
position and to drill the hole from that position. However, in automatic drilling
control systems it may be desired to handle such situations without human intervention.
Furthermore, the adjusted positions determined by the operator may not be optimal
for blasting the surface.
[0037] Reactive boom collision monitoring/avoidance systems may be used to avoid collisions.
However, in that case the decisions may be made reactively and therefore it may not
be possible to predict whether holes of the drilling plan are reachable or drillable.
A hole may be unreachable, for example, if the start point of the planned hole is
inside the drilling face. In this case, the boom can not reach the target, regardless
of whether collision avoidance is applied or not.
[0038] Example embodiments of the present disclosure enable the drilling plan to be updated
before drilling such that the desired result is still achieved when applying explosives
at the drilled holes. Collisions may be therefore avoided and efficiency of the drilling
procedure is improved.
[0039] According to an example embodiment, an apparatus may obtain 3D models of a drilling
face and component(s) of a drill rig, a kinematic model of the drill rig, and a drilling
plan indicative of start and end points of a plurality of holes to be drilled on the
drilling face. The apparatus may perform a simulation of the drilling plan based on
the 3D models of the drilling face and the component(s) of the drill rig and the kinematic
model of the drill rig, and detect, based on the simulation, a simulated collision
between the component(s) of the drill rig and the drilling face or between the components
of the drill rig, wherein the simulated collision is associated with simulated drilling
of at least one of the plurality of holes. The apparatus may determine an updated
drilling plan comprising an adjusted start point of the at least one of the plurality
of holes, in response to detecting the simulated collision.
[0040] FIG. 1 illustrates an example of a drill rig comprising a drilling controller. Even
though drill rig 100 is illustrated as an underground drill rig, example embodiments
of the present disclosure may be applied also to other type of drilling machines,
such as for example surface drill rigs. Drill rig 100 may comprise a rock drilling
rig. Drill rig 100 may be an automated drill rig, for example an automated underground
drill rig or an automated surface drill rig. An automated mining vehicle, for example
an automated underground drill rig, operating in an automatic mode may be configured
to, for example, receive a task to be performed, perceive the environment of the mobile
mining vehicle and autonomously perform the task while taking the environment into
account. An automated mining vehicle operating in an automatic mode may be configured
to operate independently but may be taken under external control at certain operation
areas or conditions, such as during states of emergencies. Axis x represents the forward
driving direction of drill rig 100. Axis z represents the vertical direction, in this
example towards the roof of the tunnel. Drill rig 100 may comprise a movable carrier
110 and at least one boom 120 connected to movable carrier 110. Movable carrier 110
may comprise equipment for moving or stabilising drill rig 100, such as for example
a motor, wheels, or stabilizer jacks. Even though two booms 120 have been illustrated
in FIG. 1, drill rig 100 may in general comprise one or a plurality (e.g. two, three,
four,...) of booms 120.
[0041] A drilling unit 130 may be coupled to a distal end portion of boom 120. One example
of a drilling unit is provided in FIG. 3, but in general, drilling unit 130 may comprise
a feeding system configured to keep a drill bit in contact with drilling face 140
and to enable a drill rod to move along a feed beam during drilling. Boom(s) 120 may
comprise a plurality of boom parts coupled to each other, movable carrier 110, and/or
drilling unit 130 by joint(s) 122. Controllable joints enable drilling unit 130 to
be placed at a desired position and orientation with respect to drilling face 140.
Drilling face 140 may comprise at least part of the wall(s) of a tunnel, at least
part of the roof of the tunnel, and/or at least part of the floor of the tunnel, for
example near the end of the tunnel. Drilling face 140 may comprise an in-situ rock
surface of the tunnel, for example near a drilling position of drill rig 100. The
in-situ rock face may comprise the end of the tunnel and at least some of the walls,
floor, and/or roof of the tunnel near the end of the tunnel.
[0042] Drill rig 100 may comprise at least one sensor 112 for scanning environment of drill
rig 100, for example, drilling face 140. Sensor 112 may include for example one or
more of the following: a camera, a radio detection and ranging (radar) sensor, or
a light detection and ranging (lidar) sensor. Sensor 112 may be configured to scan
drilling face 140, for example to obtain a three-dimensional (3D) model of drilling
face 140. A camera may be used to extract depth information of drilling face 140,
for example by comparing two images taken at slightly different position (e.g., by
two camera units). Alternatively, sensor 112 may comprise a time-of-flight (ToF) camera,
which may be configured to determine a distance between the camera and points of drilling
face 140 by measuring a round-trip time of an artificial light signal provided by
a laser or a light-emitting diode (LED). A lidar sensor may be configured to determine
a distance to different points of drilling face 140 by targeting drilling face 140
with a laser and measuring the time for the reflected light to return to a receiver
of the lidar sensor. A radar sensor may be configured to transmit electromagnetic
energy towards drilling face 140 and to observe the echoes returned from drilling
face 140 to determine distances to different points of drilling face 140. The 3D model
of drilling face may be therefore fixed to, or known in relation to, a coordinate
system of drill rig 100.
[0043] Drill rig 100 may be configured to scan drilling face 140 using the at least one
sensor 112, for example in response to detecting drill rig 100 to reach a planned
drilling position. The 3D model of drilling face 140 may be therefore represented
with respect to the planned drilling position. This enables mapping between points
of a coordinate frame that is stationary with respect to drill rig 100 and a coordinate
frame of drilling face 140. The planned drilling position may be included in the drilling
plan, which may be locally pre-configured at drill rig 100 (e.g., stored at a memory
of drill rig 100) or received from another device (e.g., a remote drilling controller).
The 3D model of drilling face may be provided as point-cloud data indicative of the
positions of drilling face 140.
[0044] Drill rig 100 may comprise a drilling controller 114. Drilling controller 114 may
be communicatively coupled to sensor 112, for example to receive scanned sensor data
from sensor 112, or, to request sensor 112 to initiate scanning of drilling face 140.
Drilling controller 114 may be for example provided as a software application residing
on a memory and being executable by a processor. An example of an apparatus suitable
for implementing drilling controller 114 is provided in FIG. 7. Drilling controller
114 may comprise, or be communicatively coupled to, various functions, blocks, or
applications for implementing functionality of drilling controller 114. For example,
drilling controller 114 may comprise or be communicatively coupled to a data management
server, which may be configured to store information of drilling plan(s), tunnel lines,
point cloud or mesh presentations of tunnel lines or profiles, a mine map point cloud,
or the like. Drilling controller 114 may comprise a drilling navigation application
configured to control or enable a human user to control navigation of drill rig 100,
for example to move it to the planned drilling position and to determine a relative
location of the drilling plan in relation to drill rig 100 and drilling face 140.
Drilling controller 114 may comprise a drilling simulator configured to perform simulations
of movement of component(s) of drill rig, for example based on a request from the
drilling navigation application. Simulations may be used for example to obtain pre-knowledge
of boom positions for a drilling round before real movement of booms at drilling face
140. Simulation enables to determine a collision-free design for the drill plan.
[0045] Drilling controller 114 may be configured to determine and/or maintain the drilling
plan, a 3D model of at least one component of drill rig 100 (e.g., a 3D model of boom(s)
120 and/or a 3D model of drilling unit(s) 130). The 3D model of the at least one component
of drill rig 100 may comprise 3D geometry data of the component(s), obtained for example
from a computer aided design (CAD) model of the respective physical component(s).
Drilling controller 114 may be also configured to determine and/or maintain a kinematic
model of drill rig 100. The kinematic model may comprise information on dimensions
of boom(s) 120, or parts thereof, characteristics of joint(s) 122 (e.g. their degrees
of freedom), constraints between moving parts of drill rig 100, or the like. The kinematic
model may thus enable modelling movement of the component(s) of drill rig 100, for
example boom(s) 120 and/or associated drilling unit(s) 130. The 3D model(s) of the
at least one component may be provided as point cloud data indicative of the surface
of the at least one component. Point cloud data may comprise a plurality of data points
representing, for example, distances between drill rig 100 and objects in the environment
of drill rig 100 at a particular time instance. An individual point included in a
point cloud may be presented by, for example,
X and
Y coordinates, or
X, Y and Z coordinates with respect to a particular coordinate frame.
[0046] Alternatively, drilling controller 114 may be external to drill rig 100, for example
at an external drilling control device 202, as illustrated in FIG. 2. Drilling control
device 202 may be for example a server located remote from drill rig 100, for example
outside the tunnel. Functionality of drilling controller 114 may be also distributed
between drill rig 100, for example a local drilling controller of drill rig 100, and
external drilling control device 202. Information may be exchanged between drilling
controller 114 and drill rig 100 over a communication interface including any suitable
wireless or wired connection. Examples of suitable communication interfaces are described
with reference to FIG. 7. Drilling controller 114 may be configured to determine and/or
maintain the drilling plan. The 3D and kinematic models of drill rig 100 may be locally
stored at drilling controller 114, for example based on pre-configuration of the models.
Alternatively, drilling controller 114 may be configured to receive one or more of
the models from drill rig 100 or the data management server. Drilling controller 114
may also be configured to receive, for example from drill rig 100, the scanned sensor
data of sensor 112, which drilling controller 114 may be configured to use for generating
a 3D model of drilling face 140. Alternatively, drilling controller 114 may be configured
to obtain the 3D model by receiving a 3D model of drilling face 140 generated by drill
rig 100 based on the scanned sensor data. Example embodiments of the present disclosure
may be thus implemented locally at drill rig 100 and/or at a remote drilling control
system.
[0047] Referring back to FIG. 1, the drilling plan may comprise one or a plurality of holes
150 with respective start points (
sn) and end points (
en). The start and end points of the holes may be represented in a reference coordinate
frame used for planning the drilling. Using the location of drill rig 100 with respect
to the reference coordinate frame, drilling controller 114 may be configured to map
the start and end points of the holes 150 to the 3D model of drilling face 140 obtained
based the scanning of drilling face 140 by drill rig 100. Alternatively, drilling
controller 114 may be configured to map the scanned 3D model of drilling face 140
to the coordinate system used to present the start and end points of the holes 150.
In general, drilling controller 114 may be configured to perform a mapping between
start and end points and the 3D model of drilling face 140. This helps to simulate
of the drilling plan at the 3D model of drilling face 140. It is however noted that
synchronization between the reference coordinate frame and the coordinate frame of
drill rig 100 may be performed in any suitable manner.
[0048] Two examples of non-drillable holes are provided in FIG. 1. Hole 151 can not be drilled,
because its start point (
s1) is below the ground level of the tunnel. On the other hand, hole 152 can not be
drilled due to bump 142 located at the bottom surface of the tunnel, because bump
142 prevents drilling unit 130 from reaching the desired drilling position. Such situations
may be however detected by simulations using the 3D model of drilling face 140, the
3D model of component(s) of drill rig 100, and the kinematic model of drill rig 100.
Start points of these holes may be then adjusted to enable drilling to the original
end point, as will be further described below. Since drilling controller 114 may be
located at drill rig 100 or external to drill rig, the simulation may be performed
as an onboard simulation at drill rig 100 or as a remote simulation at external drilling
control device 202 comprising drilling controller 114.
[0049] FIG. 3 illustrates an example of a drilling unit. Drilling unit 130 may comprise
a feed beam 131 and a rock drilling machine 132 supported on it. The rock drilling
machine 132 may comprise a shank at a front end of the rock drilling machine 132 for
connecting a tool, such as for example drill rod 133 comprising, or configured to
be coupled to, drill bit 134. Further, drilling unit 130 may comprise one or more
rod handling devices 135, such as for example a tool hold device, a tool changing
apparatus or manipulator, and/or a tool magazine or storage. In addition to this,
one or more additional devices 136 may be supported to the feed beam 131. The 3D model
of the at least one component of drill rig 100 may comprise 3D models of any of the
above described components of drilling unit 130. It is however noted that a 3D model
of a component of drill rig 100 need not be an accurate 3D model of the component.
For example, approximate 3D model(s) may be used to represent approximate dimensions
of the component(s) for the purpose of simulating collisions. This may reduce computational
complexity, while still providing sufficient accuracy.
[0050] FIG. 4 illustrates an example of a flow chart for determining an updated drilling
plan. Some operations of the flow chart may be performed by drilling controller 114,
which may be located at drill rig 100 or external to drill rig 100, for example at
external drilling control device 202. Some of the operations, such as scanning drilling
face or the drilling itself, may be performed by drill rig 100.
[0051] At operation 401, drill rig 100 may be configured to scan drilling face 140, for
example with sensor 112. Drill rig 100 may be configured to generate a 3D model of
drilling face 140 based on sensor data obtained by scanning drilling face 140. The
3D model 402 of drilling face 140 may be provided to drilling controller 114, which
may be configured to store the model at a memory. Alternatively, drilling controller
114 may be configured to generate the 3D model of drilling face 140 based on sensor
data provided by sensor 112. Drilling controller 114 may be configured to obtain a
3D model 403 of at least one component of drill rig 100, including for example 3D
model(s) of boom 120 and/or drilling unit 130. Drilling controller 114 may be configured
to obtain kinematic model 404 of drill rig 100 or part(s)/component(s) thereof. Drilling
controller 114 may be configured to obtain drilling plan 405. 3D model 403, kinematic
model 404, and/or drilling plan 405 may be retrieved from memory of drilling controller
114 or received from another device, for example from the data management server.
As described above, drilling plan 405 may be indicative of start points (
sn) and end points (
en) of holes 150 planned to be drilled on drilling face 140.
[0052] At operation 406, drilling controller 114 may be configured to initiate analysis
of a next hole of the drilling plan.
[0053] At operation 407, drilling controller 114 may be configured to determine whether
the analysed hole is drillable. Drilling controller 114 may be configured to perform
simulation of the analysed hole of drilling plan 406. The simulation may be based
on the 3D model 402 of drilling face 140, 3D model 403 of the at least one component
of drill rig 100, and kinematic model 404 of drill rig 100. Simulation of drilling
plan 405 may include determining whether a simulated collision happens between component(s)
of drill rig 100 (e.g. drilling unit 130, boom 120, or part(s) thereof) and drilling
face 140. Simulation of drilling plan 405 may include determining whether a simulated
collision happens between components of drill rig 100. A collision may comprise unintentional
(physical) contact between a first object and a second object. The first object may
comprise a first part of drill rig 100. The second object may comprise a second part
of drill rig 100 or an object in the environment of drill rig 100. Drilling controller
114 be configured to detect a simulated collision for example between a first boom
of drill rig 100 and drilling face 140, a first boom and a second boom of drill rig
100, a first drilling unit (coupled to the first boom) and drilling face 140, a first
drilling unit (coupled to the first boom of drill rig 100) and a second drilling unit
(coupled to the second boom of drill rig 100), the first drilling unit and the second
boom (or a part thereof), or at least one boom part of the first or second boom and
drilling face 140. A simulated collision may be detected, if point cloud data of the
component(s) of drill rig 100 and/or drilling face 140 overlap when drilling unit
130 is placed, or moved to, the desired drilling position. Drilling controller 114
may be configured to determine the desired position of drilling unit 130 based on
the start and end points of the analysed hole.
[0054] FIG. 5 illustrates an example of a simulated collision. Axis x represents again the
forward driving direction of drill rig 100. Axis y represents the other horizontal
axis, in this example towards the left wall of the tunnel with respect to the forward
driving direction. Drilling controller 114 may be configured to simulate movement
of drilling unit 130 from its initial position towards the left wall. At some point,
drilling controller 114 may be configured to detect the point cloud data of drilling
unit 130 and the point cloud data of drilling face 140 to overlap. Based on the detected
collision, drilling controller 114 may be configured to determine a possible position
(e.g. the closest possible position to drilling surface 140) for drilling unit 130
for drilling the analysed hole. It is however noted that movement to the desired drilling
position may be prevented by collision of component(s) other than drilling unit 130.
For example, a simulated collision may be detected between boom 120 and drilling face
140 (or another boom), even if drilling unit 130 would fit to the desired drilling
position.
[0055] Determining whether the analysed hole is drillable may comprise determining a resulting
end point 502, when drilling from the determined possible position of drilling unit
130 and initiating drilling from the planned start point 501. If the resulting end
point 502 is not the same as, or within a threshold distance from, the planned end
point 503, drilling controller 114 may be configured to determine the hole to be non-drillable.
[0056] Referring back to FIG. 4, if drilling controller 114 determines the hole not to be
drillable (e.g., due to a simulated collision), drilling controller 114 may move back
to operation 406 to analyse a next hole of drilling plan 405. If the hole is drillable
(e.g., no simulated collision detected), drilling controller 114 may move to operation
408 to adjust the start point of the hole.
[0057] At operation 408, drilling controller 114 may be configured to adjust the start point
of the analysed hole. FIG. 5 also illustrates an update of a hole of drilling plan
405. To update drilling plan 405, drilling controller 114 may be configured to determine
an adjusted start point 504 for the analysed hole. The adjusted start point may be
determined such that drilling to the planned end point 503 is enabled from the determined
possible position of drilling unit 130. The planned end point 503 may be however maintained
in drilling plan 405. Maintaining the end point helps to get a successful blast, resulting
in, at least approximately, the desired profile of the tunnel. It might be however
possible to always maintain the end point, for example if the drill bit 134 would
not reach the planned end point 503 when starting drilling from the adjusted start
point 504. Drilling controller 114 may therefore be configured to adjust the planned
end point 503 towards the adjusted start point 504, for example based on length of
drill rod 133 or in general the available drilling depth of drilling unit 130. Drilling
controller 114 may alternatively be configured to adjust the planned end point 503
towards the adjusted start point 504 such that the distance between the adjusted start
point 504 and the adjusted end point is substantially equal to the distance between
the planned start point 501 and the planned end point 503. This helps to get a successful
blast and to keep the resulting tunnel profile at least close to the desired profile.
[0058] In one example, drilling controller 114 may be configured to determine, based on
the simulation, a location of drilling unit 130, where the location is associated
with the simulated collision. The location may be the exact location of the simulated
collision, or a location in proximity of the collision location. The location of drilling
unit 130 may be represented in any suitable manner, for example by locations of two
points of drilling unit 130, or a location of one point of drilling unit 130 associated
with a pose, for example orientation with respect to one or more axes (e.g. yaw, pitch,
roll). Based on the determined location, drilling controller 114 may be configured
to determine a position (e.g., location and/or orientation) that enables to reach
the planned end point 503 from the determined location. Drilling controller 114 may
then be configured to determine the adjusted start point 504 of the analysed hole
based on the determined rotation such that the adjusted start point 504 lies between
the planned end point 503 and the drilling unit 130 (e.g. drill bit 134) when drilling
unit 130 is rotated according to the determined rotation.
[0059] This example may comprise manipulating the positioning setpoint, by drilling controller
114, for example, to cause drill bit 134 to move to the planned start point 501. One
setpoint may represent a point within a trajectory for moving a component of drill
rig 100, for example, drill bit 134, to a target position. A set of positioning setpoints
may be defined between an initial position of the component and the target position
to define the trajectory. The target position may be the planned start point 501.
For example, a last set point may be the planned start point. A rotation setpoint
may similarly represent of a point of the component, when rotating the component to
a planned orientation. Drilling controller 114 may be configured to, for example,
simulate movement of boom 120 and/or other component(s) of drill rig 100 towards the
start point of the analysed hole, for example with a predefined speed. Drilling controller
114 may be configured to determine a target position of drilling unit 130 based on
the start point of the analysed hole. Drilling controller 114 may be configured to
determine a target rotation as a function of the planned start and end points, using
geometrical calculations. Drilling controller 114 may be configured to update the
target position to be the current position of drilling unit 130, if a simulated collision
is detected (e.g. based on a minimum threshold for the distance between drilling unit
130 and drilling face 140). Drilling controller 114 may be configured to update the
target rotation such that it is determined as a function of the planned end point
and the current position of drilling unit 130. Drilling controller 114 may be configured
to manipulate final position target opposite to obstacle if the distance falls too
low. Drilling controller 114 may be configured to split the point cloud and predefine
correct yielding direction for each point cloud. For example, the point cloud may
be split to a plurality of subsets, wherein each subset is associated with a different
yielding direction away from drilling face 140, or in general, an obstacle. Drilling
controller 104 may determine the yielding direction by the surface normal of the 3D
model of drilling face 140 at the point of collision. For example, a first subset
of the point could for which the closest portion of drilling face 140 is a first portion
of the drilling face (e.g. the left wall with respect to the forward driving direction
of drill rig 110), may be associated with a first yielding direction (e.g. to the
right). A second subset for which the closest part of drilling face is a second portion
of drilling face 140 (e.g. roof), may be associated with a second yielding direction
(e.g. down), which may be different from the first yielding direction. Different yielding
directions may be therefore associated with different subsets of the point cloud,
for example the left wall, the right wall, the roof, the floor, or the end of the
tunnel. Drilling controller 114 may determine the updated start point by moving the
start point to the yielding direction associated with the location (in the point cloud
data) of the simulated collision. This enables to speed up generation of the updated
drilling plan, because the expected direction of adjusting the start point is readily
available after detecting the simulated collision.
[0060] FIG. 6 illustrates an example of weighted control of at least one component of a
drill rig. Controlling (simulated) movement of the component(s) of drill rig 100,
such as for example boom 120 and/or drilling unit 130, may be based on weighting of
control signals of a collision avoidance system 602 configured to avoid collisions
and a positioning system 604 configured to move the component(s) in order to reach
the planned drilling position, for example such that drill rig 100 is enabled to reach
both the start and end point of the associated hole. For example, positioning system
604 may be configured to cause an attractive force via virtual (simulated) valves
606 that causes component(s) of drill rig 100 to move towards an obstacle close to
the planned drilling position, for example part of drilling face 140 or another component
of drill rig 100. Collision avoidance system 602 may be configured to cause a rejective
force via virtual valves 606 that restricts or prevents movement of the component(s)
of drill rig 100 to towards the obstacle. Hybrid positioning may be hence applied
when the component(s) are in a rejection zone (e.g. within a threshold distance from
the obstacle). A collision-free drilling position may be determined based on a stabilization
point of the attractive and rejective forces. In simulations, virtual valves 606 may
be configured to model real valves, for example by providing motion requests or position
change requests for kinematic joint(s) in desired directions. A position setpoint
may be obtained from collision avoidance system 602. A rotation setpoint may be obtained
from positioning system 604. The control signals of collision avoidance system 602
and positioning system 604 may be weighted with multiplicative weights
w1 and
w2, respectively. Results of the multiplications may be summed to obtain a combined
control signal for virtual valves 606. In one example,
w2 = 1 -
w1. For example,
w1 = 0.8 and
w2 = 0.2. This provides a good balance between the attractive and rejective forces,
thereby enabling smooth approach to a suitable position for drilling, while avoiding
a collision. This approach may be also used when detecting "collisions" in the simulation
environment.
[0061] In one example, a brute-force like approach may be used to adjust the start point
of the analysed hole. In this approach, drilling controller 114 may be configured
to test different start points to find a start point that enables collision free drilling
to the planned end point 503. Drilling controller 114 may be configured to determine
candidate start point(s), for example randomly selected point(s) around the planned
start point 501. Drilling controller 114 may then be configured to perform a second
simulation, again based on the 3D model of drilling face 140, the 3D model of the
component(s) of drill rig 100 (e.g. boom 120 and/or drilling unit 130), and the kinematic
model of drill rig 100. This simulation may be performed for one of the candidate
start points at a time to detect whether that candidate start point enables collision-free
drilling of the analysed hole.
[0062] Various approaches may be used to perform the simulation over the different candidate
start points. For example, drilling controller 114 may be configured to iterate the
simulation over the candidate start points starting from the point closest to the
planned start point 501 and continuing in an increasing order of distance to the planned
start point 501. Using this approach, drilling unit may be configured to determine
the adjusted start point to be the first identified candidate start point that enables
collision-free drilling. Alternatively, drilling controller 114 may be configured
to iterate the simulation with the different candidate start points without considering
their distance to the planned start point 501. In this case, drilling controller 114
may be configured to continue iterating the candidate start points even if it finds
a start point that enables collision-free drilling. The adjusted start point may be
selected to be the candidate start point that is closest to the planned start point
105 and that enables collision-free drilling. The start point may be therefore adjusted
such that no simulated collision occurs with the adjusted start point. In the example
of FIG. 4, the adjusted point may be point 504.
[0063] In one example, the start point of the analysed hole may be adjusted based on analytically
finding a point that enables collision-free drilling to the planned end point 503.
This analysis may include calculating, based on the 3D model of drilling face 140,
the 3D model of the component(s) of drill rig 100, and the kinematic model of drill
rig 100, a position for drilling unit 130 that is sufficiently far from drilling face
140 and that is a possible position for the drilling unit considering the kinematic
model. For example, drilling controller 114 may analytically determine the possible
position of drilling unit 130 illustrated in FIG. 5 and determine the adjusted start
point 504 accordingly.
[0064] At operation 409, drilling controller 114 may be configured to determine whether
there are more holes to analyse, in other words whether it has already analysed the
holes of drilling plan 405. If there are further holes to be analysed, drilling controller
114 may be configured to move back to operation 406 to analyse a next planned whole.
By iterating operations 407 and 408 for the holes of drilling plan 405, drilling controller
114 may be configured to determine an updated drilling plan, where a start point of
at least one of the holes is adjusted, for example as described with reference to
operation 408. Drilling controller 114 may be configured to determine the updated
drilling plan, in response to detecting at least one simulated collision. When updating
the drilling plan, drilling controller 114 may update start point(s) of hole(s) that
would cause a collision, while maintaining an identifier of the hole in the drilling
plan. Alternatively, drilling controller 114 may be configured to delete or mark as
invalid the hole(s) that would cause a collision and create a new hole having a different
identifier, the adjusted start point, and the originally planned end point or the
adjusted end point. Invalidating the original hole and replacing the original hole
by another one may help to visualize the updates in the drilling plan, for example
for documentation of the changes.
[0065] At operation 410, drilling controller 114 may be configured to cause initiation of
drilling. If drilling controller 114 is located external to drill rig 100, as in the
example of FIG. 2, drilling controller 114 may be configured to cause drill rig 100
to initiate drilling by transmitting a request or a command to drill rig 100 to initiate
drilling. Drilling controller 114 may be configured to transmit the updated drilling
plan to drill rig 100, for example prior to, or along with, transmission of the request
or command to initiate drilling. Drill rig 100 may be configured to initiate drilling,
in response to receiving a command or a request for initiating drilling from drilling
controller 114, regardless of whether drilling controller 114 is located at drill
rig 100 or external to drill rig 100. When drilling controller 114 is located external
to drill rig 100, drill rig 100 may include a local drilling controller (not shown
in FIG. 2) for controlling the component(s) of drill rig 100 in order to perform drilling
based on, or according to, the updated drilling plan received from the external drilling
controller 114. Initiating drilling after updating of drilling plan 405 may improve
efficiency of the drilling procedure, because drilling does not need to be interrupted
because of encountering non-drillable holes.
[0066] FIG. 7 illustrates an example of an apparatus configured to practise one or more
example embodiments. Apparatus 700 may be or comprise a drilling control apparatus,
such as for example a server communicatively coupled to drill rig 100, a drilling
control device located at drill rig 100, external drilling control device 202, drilling
controller 114, drill rig 100 itself, or in general any device or system configured
to implement the functionality described herein. Although apparatus 700 is illustrated
as a single device, it is appreciated that, wherever applicable, functions of apparatus
700 may be distributed to a plurality of devices.
[0067] Apparatus 700 may comprise at least one processor 702. The at least one processor
702 may comprise, for example, one or more of various processing devices, such as
for example a co-processor, a microprocessor, a controller, a digital signal processor
(DSP), a processing circuitry with or without an accompanying DSP, or various other
processing devices including integrated circuits such as, for example, an application
specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller
unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like.
[0068] Apparatus 700 may further comprise at least one memory 704. The at least one memory
704 may be configured to store, for example, computer program code or the like, for
example operating system software and application software. The memory 704 may comprise
one or more volatile memory devices, one or more non-volatile memory devices, and/or
a combination thereof. For example, the memory may be embodied as magnetic storage
devices (such as hard disk drives, , etc.), optical magnetic storage devices, or semiconductor
memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash
ROM, RAM (random access memory), etc.). Memory 704 is provided as an example of a
(non-transitory) computer readable medium. The term "non-transitory," as used herein,
is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to
a limitation on data storage persistency (e.g., RAM vs. ROM). The at least one memory
704 may be also embodied separate from apparatus 700, for example as a computer readable
(storage) medium, examples of which include memory sticks, compact discs (CD), or
the like.
[0069] When apparatus 700 is configured to implement some functionality, some component
and/or components of apparatus 700, such as for example the at least one processor
702 and/or the at least one memory 704, may be configured to implement this functionality.
Furthermore, when the at least one processor 702 is configured to implement some functionality,
this functionality may be implemented using program code 706 comprised, for example,
in the at least one memory 704.
[0070] The functionality described herein may be performed, at least in part, by one or
more computer program product components such as software components. According to
an example embodiment, apparatus 700 comprises a processor or processor circuitry,
such as for example a microcontroller, configured by the program code 706, when executed,
to execute the embodiments of the operations and functionality described herein. Program
code 706 is provided as an example of instructions which, when executed by the at
least one processor 702, cause performance of apparatus 700.
[0071] For example, drilling controller 114 may be at least partially implemented as program
code configured to cause the apparatus to perform functionality of drilling controller
114. Similarly, transmission of data (e.g. sensor data, 3D or kinematic model(s),
or the drilling plan) over an internal or external communication interface of drill
rig 100 may be controlled by software.
[0072] Alternatively, or in addition, the functionality described herein can be performed,
at least in part, by one or more hardware logic components. For example, and without
limitation, illustrative types of hardware logic components that can be used include
field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs),
application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex
programmable logic devices (CPLDs), graphics processing units (GPUs), neural processing
unit (NPU), tensor processing unit (TPU), or the like.
[0073] Apparatus 700 may comprise a communication interface 708 configured to enable apparatus
700 to transmit and/or receive information. Communication interface 708 may comprise
an internal or external communication interface, such as for example a radio interface
between drill rig 100 and external drilling control device 202. Apparatus 700 may
further comprise other components and/or functions such as for example a user interface
(not shown) comprising at least one input device and/or at least one output device.
The input device may take various forms such a keyboard, a touch screen, or one or
more embedded control buttons. The output device may for example comprise a display,
a speaker, or the like. The user interface may enable a human user to monitor various
operations, such as for example generation of the updated drilling plan, visualization
of execution of the updated drilling plan, or the like.
[0074] Apparatus 700 may be configured to perform or cause performance of any aspect of
the method(s) described herein. Further, a computer program or a computer program
product may comprise instructions for causing, when executed by apparatus 700, apparatus
700 to perform any aspect of the method(s) described herein. Further, apparatus 700
may comprise means for performing any aspect of the method(s) described herein. In
one example, the means comprises the at least one processor 702, the at least one
memory 704 including program code 706 (instructions) configured to, when executed
by the at least one processor 702, cause apparatus 700 to perform the method(s). In
general, computer program instructions may be executed on means providing generic
processing functions. Such means may be embedded for example in a computer, a server,
or the like. The method(s) may be thus computer-implemented, for example based algorithm(s)
executable by the generic processing functions, an example of which is the at least
one processor 702. Apparatus 700 may comprise means for transmitting or receiving
information, for example one or more wired of wireless (e.g. radio) transmitters or
receivers, which may be coupled or be configured to be coupled to one or more antennas,
or transmitter(s) or receiver(s) of a wired communication interface.
[0075] FIG. 8 illustrates an example of a method for controlling a drill rig. The method
may be performed by drilling controller 114 or drill rig 100, for example based on
program code 706, when executed by drilling control device 202 or drill rig 100.
[0076] At 801, the method may comprise obtaining a three-dimensional (3D) model of a drilling
face.
[0077] At 802, the method may comprise obtaining a 3D model of at least one component of
a drill rig and a kinematic model of the drill rig.
[0078] At 803, the method may comprise obtaining a drilling plan indicative of a plurality
of start points and end points of a plurality of holes to be drilled on the drilling
face
[0079] At 804, the method may comprise performing a simulation of the drilling plan based
on the 3D model of the drilling face, the 3D model of the at last one component of
the drill rig, and the kinematic model of the drill rig.
[0080] At 805, the method may comprise detecting, based on the simulation, a simulated collision
between the at least one component of the drill rig and the drilling face or between
components of the drill rig, wherein the simulated collision is associated with simulated
drilling of at least one of the plurality of holes.
[0081] At 806, the method may comprise determining an updated drilling plan comprising an
adjusted a start point of the at least one of the plurality of holes, in response
to detecting the simulated collision.
[0082] Various examples of the methods are explained above with regard to functionalities
of drilling controller 114, drilling control device 202, and/or drill rig 100, and
are therefore not repeated here. It should be understood that example embodiments
described may be combined in different ways unless explicitly disallowed.
[0083] Example embodiments of the present disclosure, enable simulation of a drilling plan
to be performed on the spot (e.g. at the tunnel), even before drilling a single hole.
Based on simulation, drilling controller 114 may identify any non-drillable holes
in the drilling plan before initiating the drilling. Drill rig 100 may be moved to
reach the holes or other actions may be taken, such as for example updating the start
and/or end points of the holes. Not being able to reach a planned hole may be caused
by an obstacle (e.g. a rock), by limitations on boom kinematics, or otherwise impossible
positions of component(s) of drill rig 100. Such situations may be detected by simulations
and avoided. The drilling plan may be updated for improving drillability, without
significantly affecting the blast result designed/verified in advance by blast modelling
tools. Efficiency of drilling may be improved, because expected problems with drilling
may be proactively avoided before they occur. For example, even severe underbreak
in the tunnel walls may not interrupt the drilling procedure and thereby drilling/blasting
of the tunnel may progress more rapidly, because the underbreak may be considered
when updating the drilling plan. The underbreak may be for example blasted separately
in the same detonation if needed.
[0084] Although the subject matter has been described in language specific to structural
features and/or acts, it is to be understood that the subject matter defined in the
appended claims is not necessarily limited to the specific features or acts described
above. Rather, the specific features and acts described above are disclosed as examples
of implementing the claims and other equivalent features and acts are intended to
be within the scope of the claims.
[0085] It will be understood that the benefits and advantages described above may relate
to one embodiment or may relate to several embodiments. The embodiments are not limited
to those that solve any or all of the stated problems or those that have any or all
of the stated benefits and advantages. It will further be understood that reference
to 'an' item may refer to one or more of those items.
[0086] The steps or operations of the methods described herein may be carried out in any
suitable order, or simultaneously where appropriate. Additionally, individual blocks
may be deleted from any of the methods without departing from the scope of the subject
matter described herein. Aspects of any of the example embodiments described above
may be combined with aspects of any of the other example embodiments described to
form further example embodiments without losing the effect sought.
[0087] The term 'comprising' is used herein to mean including the method, blocks, or elements
identified, but that such blocks or elements do not comprise an exclusive list and
a method or apparatus may contain additional blocks or elements.
[0088] As used herein, "at least one of the following: <a list of two or more elements>"
and "at least one of <a list of two or more elements>" and similar wording, where
the list of two or more elements are joined by "and" or "or", mean at least any one
of the elements, or at least any two or more of the elements, or at least all the
elements. Term "or" may be understood to cover also a case where both of the items
separated by "or" are included. Hence, "or" may be understood as an inclusive "or"
rather than an exclusive "or".
[0089] Although subjects may be referred to as 'first' or 'second' subjects, this does not
necessarily indicate any order or importance of the subjects. Instead, such attributes
may be used solely for the purpose of making a difference between subj ects.
[0090] It will be understood that the above description is given by way of example only
and that various modifications may be made by those skilled in the art. The above
specification, examples and data provide a complete description of the structure and
use of exemplary embodiments. Although various embodiments have been described above
with a certain degree of particularity, or with reference to one or more individual
embodiments, those skilled in the art could make numerous alterations to the disclosed
embodiments without departing from scope of this specification.
1. A drilling control apparatus, comprising:
at least one processor;
and at least one memory including computer program code, the at least one memory and
the computer program code configured to, with the at least one processor, cause the
apparatus at least to:
obtain a three-dimensional (3D) model of a drilling face;
obtain a 3D model of at least one component of a drill rig and a kinematic model of
the drill rig;
obtain a drilling plan indicative of a plurality of start points and end points of
a plurality of holes to be drilled on the drilling face;
perform a simulation of the drilling plan based on the 3D model of the drilling face,
the 3D model of the at last one component of the drill rig, and the kinematic model
of the drill rig;
detect, based on the simulation, a simulated collision between the at least one component
of the drill rig and the drilling face or between components of the drill rig, wherein
the simulated collision is associated with simulated drilling of at least one of the
plurality of holes; and
determine an updated drilling plan comprising an adjusted start point of the at least
one of the plurality of holes, in response to detecting the simulated collision.
2. The apparatus according to claim 1, wherein the computer program code is further configured
to, with the at least one processor, cause the apparatus to:
maintain, in the updated drilling plan, an end point of the at least one of the plurality
of holes, wherein the end point of the at least one of the plurality of holes was
included in the drilling plan,
adjust the end point of the at least one of the plurality of holes towards the adjusted
start point of the at least one of the plurality of holes, or
adjust the end point of the at least one of the plurality of holes towards the adjusted
start point such that a distance between the adjusted start point and the end point
is substantially equal to a distance between the start point and the end point of
the at least one of the plurality of holes.
3. The apparatus according to claim 1 or 2, wherein the computer program code is further
configured to, with the at least one processor, cause the apparatus to:
determine, based on the simulation, a location of a drilling unit of the drill rig,
wherein the location of the drilling unit is associated with the simulated collision;
determine a position for the drilling unit to reach the end point of the at least
one of the plurality of holes from the determined location of the drilling unit; and
adjust the start point of the at least one of the plurality of holes based on the
determined position.
4. The apparatus according to claim 1 or 2, wherein the computer program code is further
configured to, with the at least one processor, cause the apparatus to:
determine at least one candidate start point for the at least one of the plurality
of holes;
perform, based on the 3D model of the drilling face, the 3D model of the at last one
component of the drill rig, and the kinematic model of the drill rig, a second simulation
of drilling the at least one of the plurality of holes with the at least one candidate
start point; and
adjust the start point of the at least one of the plurality of holes based on the
second simulation such that no simulated collision occurs between the at least one
component of the drill rig and the drilling face or between the components of the
drill rig.
5. The apparatus according to claim 1 or 2, wherein the computer program code is further
configured to, with the at least one processor, cause the apparatus to:
adjust, based on the 3D model of the drilling face, the 3D model of the at least one
component of the drill rig, and the kinematic model of the drill rig, the start point
of the at least one of the plurality of holes such that no simulated collision occurs
between the at least one component of the drill rig and the drilling face or between
the components of the drill rig.
6. The apparatus according to any of claims 1 to 5, wherein the computer program code
is further configured to, with the at least one processor, cause the apparatus to:
perform a mapping between the plurality of start points and end points and the 3D
model of the drilling face.
7. The apparatus according to any of claims 1 to 6, wherein the at least one component
of the drill rig comprises at least one of the following:
a first boom,
a second boom,
a first drilling unit coupled to the first boom,
a second drilling unit coupled to the second boom,
at least one boom part of the first boom, or
at least one boom part of the second boom.
8. The apparatus according to any of claims 1 to 7, wherein the computer program code
is further configured to, with the at least one processor, cause the apparatus to:
scan the drilling face to obtain the 3D model of the drilling face.
9. The apparatus according to claim 8, wherein the computer program code is further configured
to, with the at least one processor, cause the apparatus to:
scan the drilling face, in response to detecting the drill rig to reach a planned
drilling position.
10. The apparatus according to any of claims 1 to 9, wherein the computer program code
is further configured to, with the at least one processor, cause the apparatus to:
initiate drilling of the plurality of holes based on the updated drilling plan.
11. The apparatus according to any of claims 1 to 10, wherein the apparatus comprises
the drill rig.
12. The apparatus according to any of claims 1 to 7, wherein the computer program code
is further configured to, with the at least one processor, cause the apparatus to:
receive the 3D model of the drilling face from the drill rig to obtain the 3D model
of the drilling face; and
transmit the updated drilling plan to the drill rig.
13. The apparatus according to claim 12, wherein the apparatus comprises a drilling control
device, wherein the drilling control device is external to the drill rig.
14. A method, comprising: :
obtaining a three-dimensional (3D) model of a drilling face;
obtaining a 3D model of at least one component of a drill rig and a kinematic model
of the drill rig;
obtaining a drilling plan indicative of a plurality of start points and end points
of a plurality of holes to be drilled on the drilling face;
performing a simulation of the drilling plan based on the 3D model of the drilling
face, the 3D model of the at last one component of the drill rig, and the kinematic
model of the drill rig;
detecting, based on the simulation, a simulated collision between the at least one
component of the drill rig and the drilling face or between components of the drill
rig, wherein the simulated collision is associated with simulated drilling of at least
one of the plurality of holes; and
determining an updated drilling plan comprising an adjusted start point of the at
least one of the plurality of holes, in response to detecting the simulated collision.
15. A computer program comprising instructions which, when executed by an apparatus, cause
the apparatus at least to:
obtain a three-dimensional (3D) model of a drilling face;
obtain a 3D model of at least one component of a drill rig and a kinematic model of
the drill rig;
obtain a drilling plan indicative of a plurality of start points and end points of
a plurality of holes to be drilled on the drilling face;
perform a simulation of the drilling plan based on the 3D model of the drilling face,
the 3D model of the at last one component of the drill rig, and the kinematic model
of the drill rig;
detect, based on the simulation, a simulated collision between the at least one component
of the drill rig and the drilling face or between components of the drill rig, wherein
the simulated collision is associated with simulated drilling of at least one of the
plurality of holes; and
determine an updated drilling plan comprising an adjusted start point of the at least
one of the plurality of holes, in response to detecting the simulated collision.