Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MINE DIGGING TELEMETRY SYSTEMS AND METHODS
Document Type and Number:
WIPO Patent Application WO/2024/050629
Kind Code:
A1
Abstract:
A mine digging system comprises an accelerometer installed at a shovel to measure vibration during a digging cycle of the shovel. A data server is configured to acquire the vibration data. The data server comprises a diggability model relating digging difficulty to a plurality of vibration features, the diggability model produced using a machine learning algorithm. The data server also comprises a feature generation module, which is configured to compute feature values from the vibration signal, and a diggability characterization module configured to determine a diggability value representing digging difficulty using the feature values and the diggability model.

Inventors:
PASHA MOHAMMED SAUD (CA)
BABAEI MOHAMMAD (CA)
AHSAN UMAR (CA)
Application Number:
PCT/CA2023/051175
Publication Date:
March 14, 2024
Filing Date:
September 06, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TECK RESOURCES LTD (CA)
International Classes:
E21C41/00; E21C27/30; E21C35/00; E21C37/00; G01V13/00; G06N20/00
Domestic Patent References:
WO2022213191A12022-10-13
Foreign References:
US5844800A1998-12-01
US20200132882A12020-04-30
US20210318666A12021-10-14
US20130184927A12013-07-18
Other References:
KHORZOUGHI MOHAMMAD BABAEI, HALL ROBERT: "Application of vibration analysis of mining shovels for diggability assessment in open-pit operations", INTERNATIONAL JOURNAL OF MINING, RECLAMATION AND ENVIRONMENT, vol. 29, no. 5, 3 September 2015 (2015-09-03), pages 380 - 390, XP093148634, ISSN: 1748-0930, DOI: 10.1080/17480930.2015.1086551
Attorney, Agent or Firm:
SMART & BIGGAR LP (CA)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1 . A mine digging system, comprising: an accelerometer installed at a shovel to provide a vibration signal representative of vibration during a digging cycle of said shovel; a data server configured to acquire said vibration signal, said data server comprising: a diggability model relating digging difficulty to a plurality of vibration features, said diggability model produced using a machine learning algorithm; a feature generation module configured to compute values of said features using said vibration signal; a diggability characterization module configured to determine a diggability value representing digging difficulty corresponding to said vibration signal, using said values of said features and said diggability model.

2. The mine digging system of claim 1 , wherein said feature generation module is configured to compute an envelope of said vibration signal.

3. The mine digging system of claim 1 , wherein said feature generation module is configured to compute a plurality of envelopes and to align said plurality of envelopes to a common reference time.

4. The mine digging system of any one of claims 1 to 3, wherein said features comprise a calculation of peak energy.

5. The mine digging system of any one of claims 1 to 4, wherein said features comprise percentile values of said envelope.

6. The mine digging system of any one of claims 1 to 5, wherein said diggability model is a classifier.

7. The mine digging system of claim 6, wherein said diggability model is a binary classifier.

8. The mine digging system of any one of claims 1 to 7, comprising location sensors at said shovel.

. The mine digging system of claim 8, wherein said data server is configured to acquire a location from said location sensors, and to associate said diggability value with a location in a mine. 0. The mine digging system of any one of claims 1 to 9, comprising shovel status sensors at said shovel for producing status signals representative of a position of said shovel in said digging cycle. 1 .The mine digging system of claim 10, wherein said data server is configured to acquire said status signals and to compute a diggability value representative of a digging condition using said status signals. 2. The mine digging system of any one of claims 1 to 1 1 , comprising a blast design module for generating a new drill and blast pattern for the mining site based on the diggability value. 3. A mine digging telemetry system, comprising: a data server configured to acquire a vibration signal from an accelerometer at a shovel during a digging cycle of said shovel, said data server comprising: a diggability model relating digging difficulty to a plurality of vibration features, said diggability model produced using a machine learning algorithm; a feature generation module configured to compute values of said features using said vibration signal; a diggability characterization module configured to determine a diggability value representing digging difficulty corresponding to said vibration signal, using said values of said features and said diggability model. 4. The mine digging telemetry system of claim 13, wherein said feature generation module is configured to compute an envelope of said vibration signal. 5. The mine digging telemetry system of claim 13, wherein said feature generation module is configured to compute a plurality of envelopes and to align said plurality of envelopes to a common reference time. 6. The mine digging telemetry system of any one of claims 13 to 15, wherein said features comprise a calculation of peak energy. 7. The mine digging system of any one of claims 13 to 16, wherein said features comprise percentile values of said envelope. The mine digging telemetry system of any one of claims 13 to 17, wherein said diggability model is a classifier. The mine digging telemetry system of claim 18, wherein said diggability model is a binary classifier. The mine digging telemetry system of any one of claims 13 to 19, comprising location sensors at said shovel. The mine digging telemetry system of claim 20, wherein said data server is configured to acquire a location from said location sensors, and to associate said diggability value with a location in a mine. The mine digging telemetry system of any one of claims 13 to 21 , comprising shovel status sensors at said shovel for producing status signals representative of a position of said shovel in said digging cycle. The mine digging telemetry system of claim 22, wherein said data server is configured to acquire said status signals and to compute a diggability value representative of a digging condition using said status signals. A mine digging method, comprising: acquiring a vibration signal comprising measurements of vibration during a digging cycle of a shovel; computing values for a plurality of features of said vibration signal; computing a diggability value representing digging difficulty corresponding to said vibration signal, using said values of said features and a diggability model produced using a machine learning algorithm. The method of claim 24, wherein said computing values comprises computing an envelope of said vibration signal. The method of claim 24, wherein said computing values comprises computing a plurality of envelopes and aligning said plurality of envelopes to a common reference time. The method of any one of claims 24 to 26, wherein said computing values comprises calculating peak energy. The method of any one of claims 24 to 27, wherein said computing values comprises calculating percentile values of said envelope. The method of any one of claims 24 to 28, wherein said diggability model is a classifier. The method of claim 29, wherein said diggability model is a binary classifier.The method of any one of claims 24 to 30, comprising acquiring a signal representative of location of said shovel. The method of claim 31 , comprising associating said diggability value with a location in said mine. The method of any one of claims 24 to 32, comprising acquiring a status signal representative of a position of said shovel in said digging cycle of said shovel. The method of claim 33, comprising using said status signal to compute said diggability value. The method of any one of claims 24 to 34, comprising generating a new drill and blast pattern for the mining site based on the diggability value, and blasting at the mining site according to said new drill and blast pattern. A method for blasting a mining site, said method comprising: blasting said mining site with a first drill and blast pattern; digging on said mining site with a mining shovel; obtaining vibration data from one or more accelerometer sensors installed on said mining shovel; classifying a present digging condition experienced by said mining shovel using a diggability machine learning model and said vibration data; generating a new drill and blast pattern for said mining site based on said present digging condition; and blasting said mining site with said new drill and blast pattern. The method of claim 36, said diggability machine learning model comprising a plurality of features, and wherein the step of classifying said present digging condition experienced by said mining shove comprises the steps of: generating an unaligned envelope of said vibration data based on a magnitude of said vibration data; generating a plurality of aligned envelopes by aligning said unaligned envelope for each digging cycle to a defined timeframe; applying a feature equation according to each of said plurality of features in said diggability machine learning model to said aligned envelope; and classifying a present digging condition using said plurality of features and said diggability machine learning model. The method of claim 36, wherein said diggability machine learning model is generated using a machine learning algorithm, said machine learning algorithm comprising the steps of: digging on a first mining site with said mining shovel; obtaining training vibration data from said one or more accelerometer sensors installed on said mining shovel; obtaining operator feedback corresponding to said training vibration data, said operator feedback indicating an observed digging condition experienced by said mining shovel; and training said diggability machine learning model using said historical vibration data and said operator feedback, said diggability machine learning model for classifying said present digging condition experienced by said mining shovel. The method of claim 38, said diggability machine learning model comprising a plurality of features, and wherein the step of training said diggability machine learning model comprises the steps of: generating an unaligned envelope of said training vibration data based on a magnitude of said vibration data; generating a plurality of aligned envelopes by ali38gning said unaligned envelope for each digging cycle to a defined timeframe; applying a feature equation corresponding to each of said plurality of features in said diggability machine learning model to said aligned envelope; and training said diggability machine learning model using said plurality of features and said operator feedback. The method of claim 36, further comprising the step of: obtaining instantaneous position data from one or more GPS sensors installed on said mining shovel; wherein the step of classifying said present digging condition experienced by said mining shovel further comprises using said instantaneous position data to classify said present digging condition. The method of claim 40, wherein said diggability machine learning model is generated using a machine learning algorithm, said machine learning algorithm comprising the steps of: digging on a first mining site with said mining shovel; obtaining training vibration data and training instantaneous position data, said training vibration data from said one or more accelerometer sensors and said training instantaneous position data from said one or more GPS sensors installed on said mining shovel; obtaining operator feedback corresponding to said training vibration data and said training instantaneous position data, said operator feedback indicating an observed digging condition experienced by said mining shovel; obtaining an operational state from one or more processors installed on said mining shovel; determining a digging start time and a digging end time of said mining shovel using said operational state; filtering said training vibration data and said training instantaneous position data based on said digging start time and said digging end time; and training a diggability machine learning model using said training vibration data, said operator feedback and said training instantaneous position data, said diggability machine learning model for classifying said present digging condition experienced by said mining shovel.

AMENDED CLAIMS received by the International Bureau on 29 January 2024 (29.01.2024)

WHAT IS CLAIMED IS:

1. A mine digging system, comprising: an accelerometer installed at a shovel to provide a vibration signal representative of vibration during a digging cycle of said shovel; a data server configured to acquire said vibration signal, said data server comprising: a diggability model relating digging difficulty to a plurality of vibration features, said diggability model produced using a machine learning algorithm; a feature generation module configured to compute values of said features using said vibration signal; a diggability characterization module configured to determine a diggability value representing digging difficulty corresponding to said vibration signal, using said values of said features and said diggability model.

2. The mine digging system of claim 1, wherein said feature generation module is configured to compute an envelope of said vibration signal.

3. The mine digging system of claim 1, wherein said feature generation module is configured to compute a plurality of envelopes and to align said plurality of envelopes to a common reference time.

4. The mine digging system of any one of claims 1 to 3, wherein said features comprise a calculation of peak energy.

5. The mine digging system of any one of claims 1 to 4, wherein said features comprise percentile values of said envelope.

6. The mine digging system of any one of claims 1 to 5, wherein said diggability model is a classifier.

7. The mine digging system of claim 6, wherein said diggability model is a binary classifier.

8. The mine digging system of any one of claims 1 to 7, comprising location sensors at said shovel. 9. The mine digging system of claim 8, wherein said data server is configured to acquire a location from said location sensors, and to associate said diggability value with a location in a mine.

10. The mine digging system of any one of claims 1 to 9, comprising shovel status sensors at said shovel for producing status signals representative of a position of said shovel in said digging cycle.

11. The mine digging system of claim 10, wherein said data server is configured to acquire said status signals and to compute a diggability value representative of a digging condition using said status signals.

12. The mine digging system of any one of claims 1 to 11 , comprising a blast design module for generating a new drill and blast pattern for the mining site based on the diggability value.

13. A mine digging telemetry system, comprising: a data server configured to acquire a vibration signal from an accelerometer at a shovel during a digging cycle of said shovel, said data server comprising: a diggability model relating digging difficulty to a plurality of vibration features, said diggability model produced using a machine learning algorithm; a feature generation module configured to compute values of said features using said vibration signal; a diggability characterization module configured to determine a diggability value representing digging difficulty corresponding to said vibration signal, using said values of said features and said diggability model.

14. The mine digging telemetry system of claim 13, wherein said feature generation module is configured to compute an envelope of said vibration signal.

15. The mine digging telemetry system of claim 13, wherein said feature generation module is configured to compute a plurality of envelopes and to align said plurality of envelopes to a common reference time.

16. The mine digging telemetry system of any one of claims 13 to 15, wherein said features comprise a calculation of peak energy.

17. The mine digging system of any one of claims 13 to 16, wherein said features comprise percentile values of said envelope. 18. The mine digging telemetry system of any one of claims 13 to 17, wherein said diggability model is a classifier.

19. The mine digging telemetry system of claim 18, wherein said diggability model is a binary classifier.

20. The mine digging telemetry system of any one of claims 13 to 19, comprising location sensors at said shovel.

21. The mine digging telemetry system of claim 20, wherein said data server is configured to acquire a location from said location sensors, and to associate said diggability value with a location in a mine.

22. The mine digging telemetry system of any one of claims 13 to 21 , comprising shovel status sensors at said shovel for producing status signals representative of a position of said shovel in said digging cycle.

23. The mine digging telemetry system of claim 22, wherein said data server is configured to acquire said status signals and to compute a diggability value representative of a digging condition using said status signals.

24. A mine digging method, comprising: acquiring a vibration signal comprising measurements of vibration during a digging cycle of a shovel; computing values for a plurality of features of said vibration signal; computing a diggability value representing digging difficulty corresponding to said vibration signal, using said values of said features and a diggability model produced using a machine learning algorithm.

25. The method of claim 24, wherein said computing values comprises computing an envelope of said vibration signal.

26. The method of claim 24, wherein said computing values comprises computing a plurality of envelopes and aligning said plurality of envelopes to a common reference time.

27. The method of any one of claims 24 to 26, wherein said computing values comprises calculating peak energy.

28. The method of any one of claims 24 to 27, wherein said computing values comprises calculating percentile values of said envelope. 29. The method of any one of claims 24 to 28, wherein said diggability model is a classifier.

30. The method of claim 29, wherein said diggability model is a binary classifier.

31 . The method of any one of claims 24 to 30, comprising acquiring a signal representative of location of said shovel.

32. The method of claim 31 , comprising associating said diggability value with a location in said mine.

33. The method of any one of claims 24 to 32, comprising acquiring a status signal representative of a position of said shovel in said digging cycle of said shovel.

34. The method of claim 33, comprising using said status signal to compute said diggability value.

35. The method of any one of claims 24 to 34, comprising generating a new drill and blast pattern for the mining site based on the diggability value, and blasting at the mining site according to said new drill and blast pattern.

36. A method for blasting a mining site, said method comprising: blasting said mining site with a first drill and blast pattern; digging on said mining site with a mining shovel; obtaining vibration data from one or more accelerometer sensors installed on said mining shovel; classifying a present digging condition experienced by said mining shovel using a diggability machine learning model and said vibration data; generating a new drill and blast pattern for said mining site based on said present digging condition; and blasting said mining site with said new drill and blast pattern.

37. The method of claim 36, said diggability machine learning model comprising a plurality of features, and wherein the step of classifying said present digging condition experienced by said mining shove comprises the steps of: generating an unaligned envelope of said vibration data based on a magnitude of said vibration data; generating a plurality of aligned envelopes by aligning said unaligned envelope for each digging cycle to a defined timeframe; applying a feature equation according to each of said plurality of features in said diggability machine learning model to said aligned envelope; and classifying a present digging condition using said plurality of features and said diggability machine learning model.

38. The method of claim 36, wherein said diggability machine learning model is generated using a machine learning algorithm, said machine learning algorithm comprising the steps of: digging on a first mining site with said mining shovel; obtaining training vibration data from said one or more accelerometer sensors installed on said mining shovel; obtaining operator feedback corresponding to said training vibration data, said operator feedback indicating an observed digging condition experienced by said mining shovel; and training said diggability machine learning model using said historical vibration data and said operator feedback, said diggability machine learning model for classifying said present digging condition experienced by said mining shovel.

39. The method of claim 38, said diggability machine learning model comprising a plurality of features, and wherein the step of training said diggability machine learning model comprises the steps of: generating an unaligned envelope of said training vibration data based on a magnitude of said vibration data; generating a plurality of aligned envelopes by aligning said unaligned envelope for each digging cycle to a defined timeframe; applying a feature equation corresponding to each of said plurality of features in said diggability machine learning model to said aligned envelope; and training said diggability machine learning model using said plurality of features and said operator feedback.

40. The method of claim 36, further comprising the step of: obtaining instantaneous position data from one or more GPS sensors installed on said mining shovel; wherein the step of classifying said present digging condition experienced by said mining shovel further comprises using said instantaneous position data to classify said present digging condition.

41. The method of claim 40, wherein said diggability machine learning model is generated using a machine learning algorithm, said machine learning algorithm comprising the steps of: digging on a first mining site with said mining shovel; obtaining training vibration data and training instantaneous position data, said training vibration data from said one or more accelerometer sensors and said training instantaneous position data from said one or more GPS sensors installed on said mining shovel; obtaining operator feedback corresponding to said training vibration data and said training instantaneous position data, said operator feedback indicating an observed digging condition experienced by said mining shovel; obtaining an operational state from one or more processors installed on said mining shovel; determining a digging start time and a digging end time of said mining shovel using said operational state; filtering said training vibration data and said training instantaneous position data based on said digging start time and said digging end time; and training a diggability machine learning model using said training vibration data, said operator feedback and said training instantaneous position data, said diggability machine learning model for classifying said present digging condition experienced by said mining shovel.

Description:
MINE DIGGING TELEMETRY SYSTEMS AND METHODS

RELATED APPLICATIONS

[0001] This claims priority from United States provisional patent application no. 63/404,027, filed September 6, 2022, the entire contents of which is incorporated herein by reference.

FIELD

[0002] This disclosure relates to mining, and more particularly to telemetry systems and methods in mine digging, drilling and blasting.

BACKGROUND

[0003] Many mining processes involve blasting at a geological formation using explosives. Such blasting breaks rock from the formations into smaller pieces for subsequent removal and processing. Fragmented rock produced by blasting may be referred to as “muck”.

[0004] After blasting, muck may be removed, for example, by loading it into vehicles such as trucks using excavation machines referred to as shovels or diggers. Blasting may have a significant impact on the efficiency of mining. For example, blasting results may produce fragmented rock that is difficult for shovels to excavate because the muck pile includes many large rock fragments. As a result, it can take a significant amount of time for a shovel to completely remove the muck pile. Furthermore, since the muck pile contains many large rock fragments, downstream processes may also require more time or resources to fully isolate the desirable material, such as coal. Alternatively, fragmented rock may be easy to excavate because the muck pile is predominately composed of small rock fragments. Not only may it take the shovel a shorter amount of time to completely remove the muck pile, but downstream processes may also require less time or resources to fully isolate the desirable rock.

[0005] The difficulty of digging can be affected by the blast design or blast pattern for a mining site. For example, depending on the geological characteristics of a mining site, a certain blast design may result in easy digging so that a shovel may excavate the blasted material quickly. Alternatively, the same blast designs may result in hard digging so that excavation is slower.

[0006] Accurate characterization of digging difficulty resulting from a blast may offer significant operational advantages. For example, the ability to accurately assess digging difficulty may aid with planning and allocation of resources such as shovels and trucks.

[0007] Moreover, correlation of digging difficulty with characteristics of the preceding blast may aid in blast design. In particular, such correlation may permit blasting that balances digging difficulty with blast cost.

SUMMARY

[0008] An example mine digging system comprises: an accelerometer installed at a shovel to provide a vibration signal representative of vibration during a digging cycle of the shovel; a data server configured to acquire the vibration signal, the data server comprising: a diggability model relating digging difficulty to a plurality of vibration features, the diggability model produced using a machine learning algorithm; a feature generation module configured to compute values of the features using the vibration signal; a diggability characterization module configured to determine a diggability value representing digging difficulty corresponding to the vibration signal, using the values of the features and the diggability model.

[0009] An example mine digging telemetry system comprises: a data server configured to acquire a vibration signal from an accelerometer at a shovel during a digging cycle of the shovel, the data server comprising: a diggability model relating digging difficulty to a plurality of vibration features, the diggability model produced using a machine learning algorithm; a feature generation module configured to compute values of the features using the vibration signal; a diggability characterization module configured to determine a diggability value representing digging difficulty corresponding to the vibration signal, using the values of the features and the diggability model.

[0010] An example mine digging method comprises: acquiring a vibration signal comprising measurements of vibration during a digging cycle of a shovel; computing values for a plurality of features of the vibration signal; computing a diggability value representing digging difficulty corresponding to the vibration signal, using the values of the features and a diggability model produced using a machine learning algorithm.

[0011] An example method for blasting a mining site comprises: blasting said mining site with a first drill and blast pattern; digging on said mining site with a mining shovel; obtaining vibration data from one or more accelerometer sensors installed on said mining shovel; classifying a present digging condition experienced by said mining shovel using a diggability machine learning model and said vibration data; generating a new drill and blast pattern for said mining site based on said present digging condition; and blasting said mining site with said new drill and blast pattern.

[0012] Other aspects will be apparent from the detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In the figures, which illustrate example embodiments:

[0014] FIG. 1 is a schematic view of a mine;

[0015] FIG. 2 is perspective view of a mining shovel for use in the mine of FIG.

1 ;

[0016] FIG. 3 is a diagram of a telemetry system for use with the mining shovel of FIG. 2;

[0017] FIG. 4 is a block diagram of a shovel computing device in the telemetry system of FIG. 3;

[0018] FIG. 5 is a block diagram of a data collection system in the telemetry system of FIG. 3;

[0019] FIG. 6 is a block diagram of an operations platform in the telemetry system of FIG. 3;

[0020] FIG. 7 is a block diagram of a computing device in the operations platform of FIG. 6;

[0021] FIG. 8 depicts a set of diggability model features;

[0022] FIGS. 9A-9B are graphs illustrating vibration data obtained using the mining shovel of FIG. 1 ;

[0023] FIGS. 10A-10C are graphs illustrating calculation of diggability model features from the vibration data of FIG. 9A-9B;

[0024] FIG. 11 depicts a set of diggability model features with associated labels;

[0025] FIGS. 12A-12E are graphs illustrating classification impact curves for the diggability model features of FIG. 8;

[0026] FIG. 13 is a graph depicting a binary classification curve for an exemplary diggability model trained on the diggability model features of FIG. 8;

[0027] FIG. 14 shows an example graphical user interface displaying diggability classifications;

[0028] FIG. 15 is a flow chart illustrating a method for training a diggability model;

[0029] FIG. 16 is a flow chart illustrating a method for classifying diggability and blasting using the telemetry system of FIG. 3;

[0030] FIG. 17 is a flow chart illustrating calculation of diggability model features;

[0031] FIG. 18 is a flow chart illustrating calculation of diggability model features;

[0032] FIG. 19 is a flow chart illustrating another method for training a diggability model; and

[0033] FIG. 20 is a flow chart illustrating a method for creating a new drill and blast pattern using a diggability model.

DETAILED DESCRIPTION

[0034] FIG. 1 is a schematic plan view of a region 100 of a mine. Region 100 is logically divided into a plurality of blocks 102-1 , 102-2, 102-3 (individually and collectively, blocks 102) for blasting and material removal and extraction. Mining of region 100 may be conducted sequentially at each of blocks 102. Specifically, at each block, holes 104 may be drilled into the rock formation and explosives loaded into the holes and detonated (referred to as “drilling and blasting”). Each blast may produce muck 106 for removal.

[0035] A detailed three-dimensional model, referred to as a “block model”, may be produced to represent properties of the formation to be mined. The block model defines measured and estimated geological characteristics in blocks 102 of region 100. For example, the block model may identify rock types, formation geometry, cleavage planes, mineral content, vein locations and the like.

[0036] Region 100 may be mined in horizontal slices referred to as “benches”. For example, region 100 may be horizontally divided into plurality of benches 108- 1 , 108-2, 108-3 (individually and collectively, benches 108). The vertical thickness of benches and locations and spacing of blocks 102 may be defined based on the block model, e.g. on expected locations of mineral veins, expected rock hardness and the like. [0037] At each block 102, after blasting has been performed to produce muck, the muck may be removed using excavation machines referred to as shovels. Specifically, shovels dig muck and transfer the muck to vehicles for transportation. For example, rock with sufficient mineral content may be transported to a plant for processing, and waste rock may be transported for disposal. In an example, transportation is by truck. However, other modes of transport are possible.

[0038] Depending on the blast design and the geological characteristics of region 100, the muck may be easy or difficult for a shovel to excavate. The difficulty of excavating the muck may be referred to as “diggability”. For example, if after blasting the muck pile includes many small rock fragments, the muck pile may have a “soft” diggability. Alternatively, if after blasting the muck pile includes many large rock fragments, the muck pile may have a “hard” diggability. Not only can this diggability affect the time and resources required to excavate muck pile, but it can also affect the efficiency of processes downstream from blasting and excavation as well. In some embodiments diggability can include a variety of other classifications, which may indicate the digging conditions. For example, digging conditions may include a hard toe classification, a blocky crust condition, a tight condition, an easy condition or a rehandle condition. Other diggability classifications are also possible.

[0039] FIG. 2 depicts a mining shovel 200. Shovel 200 includes a multi-part boom 202 with a bucket 204. Shovel 200 also includes a body 206 with a frame (not shown) and a cab 208, in which an operator may sit to control the shovel.

[0040] Mining shovel 200 may be used to dig and excavate muck on a mining site, such as after the mining site has been blasted. During the course of such digging, boom 202 and bucket 204 may be moved through a stroke S, shown in broken line, between a lowered position S1 and a raised position S2. When moving from lowered position S1 to raised position S2, bucket 204 contacts and is pulled through muck pile 106. Strain and vibrations may be imparted on the bucket 204 as it is pulled through the muck pile, and such vibrations may be transmitted to other parts of shovel 200. [0041] The depicted shovel 200 is equipped with sensors for monitoring operations of shovel 200. For example, sensors may be used to monitor loads, movement, and vibration. In the depicted embodiment, the sensors include accelerometers 210-1, 210-2, 210-3 and 210-4 (individually and collectively, accelerometers 210). The accelerometers are located at a variety of locations on the shovel, for recording movement and vibration at the shovel’s components. For example, accelerometers 210-1 and 210-2 may be installed on the frame of mining shovel 200, below the deck of mining shovel 200 and approximately at eye level from the ground. Accelerometer 210-3 may be installed just below cabin 208, while accelerometer 210-4 may be installed inside a saddleblock of mining shovel 200. Additionally or alternatively, accelerometers may be installed at other locations on shovel 200 and more or fewer accelerometers 210 may be present. For example, in some embodiments, only a single accelerometer 210 may be present, which may be accelerometer 210-4 located at the saddleblock of shovel 200. As will become apparent, it is desirable to locate accelerometers 210 as close to bucket 204 as possible, in order to maximize the vibrations captured by accelerometers 210. Moreover, other types of sensors may be installed in addition to or instead of the accelerometers.

[0042] In some embodiments, mining shovel 200 may also include one or more positioning devices such as a GPS sensor 218. GPS sensor 218 may report the location of shovel 218, e.g. the shovel’s position in a mine. In some embodiments, GPS sensor 218 may have sufficient precision for measuring positions of components of shovel 200. For example, GPS sensor 218 may be installed on bucket 204 and may have sufficient precision to determine the position of bucket 204 as it moves through its stroke S. In some embodiments, GPS sensor 218 may be capable of resolving position within 20 cm. In further embodiments, shovel 200 may include a plurality of position devices, such as a plurality of GPS sensors or a combination of other position devices, which may each be installed at various locations of shovel 200. Performance characteristics of the GPS sensor 218 may include the update rate of the sensor and its margin of error or accuracy. For example, GPS sensor 218 may be a sensor with an update rate of 1 Hz and an accuracy of 20 cm.

[0043] Shovel 200 and sensors at shovel 200, such as accelerometers 210 and GPS sensor 218, may, along with the sensors of other shovels, form part of a mine digging system that includes a telemetry system 300 for design and control of operations such as drilling, blasting, excavation and processing. FIG. 3 depicts components of the telemetry system 300. Telemetry system 300 includes one or more shovel computing devices 302, each located at a respective shovel 200, data collection system 304 and operations platform 306. Components of telemetry system 300 may communicate with one another by way of one or more networks 308, which may comprise one or more local-area networks (LANs), wide-area networks (WANs), such as the Internet, or private WANs. Such networks may use any one or more of wired or wireless connection technologies, such as IEEE 802.1 1 (Wi-Fi), cellular, WiMax, or the like. In some embodiments, telemetry system 300 may include multiple shovel computing devices 302 at multiple shovels. Additionally or alternatively, components of telemetry system 300 may be implemented fully or partially in software executed at shared hardware. For example, data collection system 304 and operations platform 306 or portions thereof may be hosted at a common server or in a common distributed (e.g. cloud) computing environment.

[0044] FIG. 4 depicts components of a shovel computing device 302. Computing device 302 may, for example, be located in the cab 208 of shovel 200. Computing device 302 includes memory 310, a processor 312, network interface 314, interconnected sensors 316, such as accelerometers 210 and GPS sensor 218, and shovel condition sensors 315.

[0045] The processor 312 may be an intel or AMD x86-based processor, or an ARM-based processor, or any other suitable processor.

[0046] Memory 310 (e.g. RAM) includes a computer-readable storage space accessible by processor 312 for storage of working data and code. Memory 310 also includes persistent computer-readable storage containing instructions for execution by processor 312 and for storage of data collected by sensors 316 and GPS sensor 218. Memory 310 may include any one or more suitable memory types, such as flash memory, hard drives or the like.

[0047] Network interface 314 may be any suitable wired or wireless device connecting computing device 312 to a network for communication with a data host, such as data collection system 304, and operations computing device 306. Network interface 314 may be, for example, an Ethernet or IEEE 802.11 (Wi-Fi) network adapter. Network interface 314 may include an antenna for transmitting data, receiving data or both. In some embodiments, the network interface may include multiple antennas, such as antennas in a phased array, and may connect to a LAN or WAN using a steered beam.

[0048] Accelerometers 210 are configured to collect acceleration data while mining shovel 200 digs and excavates muck from the mining site. In particular, each accelerometer collects three-dimensional (x, y, and z) acceleration data at a respective location on mining shovel 200. Furthermore, accelerometers 210 may each be configured to determine an acceleration magnitude of the collected acceleration data, compensating for gravity. In particular, data collected may be processed in real time to determine and remove gravity components and to compute a magnitude of the resulting acceleration value. The orientation of some accelerometers may change during operation. For example, the orientation of an accelerometer mounted to boom 202 may change as the boom moves. The apparent orientation of gravity may likewise change. Real-time processing at the sensor location may enable compensation for gravity despite such orientation changes. Conversely, identification of and compensation for gravitational effects may be difficult if not performed in real time. Moreover, real-time processing at the sensor location may reduce the bandwidth required to transmit the acceleration data for each of accelerometer sensors 210 within or from mining shovel 200.

[0049] Accelerometers 210 may each be configured to collect acceleration data of mining shovel 200 at a defined frequency. In an example, the accelerometer frequency may be 100 Hz. However, the accelerometer frequency may be higher or lower. In some embodiments, all of accelerometers 210 are configured to collect acceleration data at the same frequency. In other embodiments, frequencies of individual accelerometers may differ from one another.

[0050] During operation of shovel 200, parts of the shovel experience acceleration, due, for example, to movement of boom 202 and bucket 204 through stroke S, and vibration caused by resistance from the muck pile. Accelerometers 210 produce signals representative of such acceleration. In particular, data from the accelerometers may be used to characterize the difficulty of digging the muck pile. Acceleration signals may be processed to isolate signals reflective of vibration from signals reflective of movement of boom 202 and bucket 204.

[0051] Acceleration data from accelerometers 210 may be aggregated or combined to create vibration data. For example, acceleration data from each of accelerometers 210-1 , 210-2, 210-3 and 210-4 may be averaged to produce vibration data that is a single data set. In alternate embodiments, vibration data may represent a multiplicity of data sets, containing distinct vibration data for each of accelerometers 210. In other embodiments, vibration data may be obtained from a single accelerometer, e.g. accelerometer 210-4 at the saddleblock of the shovel 200.

[0052] In some embodiments, GPS sensor 218 may be configured to collect instantaneous position data for bucket 204, such as while mining shovel 200 digs and excavates muck from the mining site. GPS sensor 218 may be configured to collect instantaneous position data at a GPS sensor frequency, which may be less than accelerometer sensor frequency. For example, GPS sensor frequency may be 10 Hz. In some embodiments, GPS sensor frequency may be the same as or greater than accelerometer sensor frequency.

[0053] Shovel condition sensors 315 are associated with controllers at shovel 200. For example, shovel 200 may include one or more control units (e.g. electronic control units or ECUs) interconnected on a controller-area network (CAN). Such control units may report operational conditions of shovel 200, such as motor speed, load, boom position and the like. Shovel condition sensors may obtain such data from the control units and provide the data to processor 312.

[0054] Shovel computing device 302 may be configured to determine operational status information of boom 202 and bucket 204 based on data from one or more of accelerometers 210, GPS sensor 218 and shovel condition sensors 315. For example, boom 202 and bucket 204 may move according to a digging cycle. The digging cycle may generally include three stages, namely, a dig stage, a return stage and a swing stage. In the dig stage, boom 202 and bucket 204 move downwardly through stroke S from raised position S2to lowered position S1. In the return stage, boom 202 and bucket 204 move upwardly through stroke S from lowered position S1 to raised position S2. In the swing stage, shovel 200 may pivot horizontally to position the bucket 204 as desired. The dig stage may be further subdivided into intervals such as time or position intervals.

[0055] Accelerometer data may be used to identify the beginning of a downward or upward movement of bucket 204, for example, based on the direction of instantaneous acceleration. The direction of instantaneous acceleration may also be used to determine the position of bucket 204 along stroke S.

[0056] Additionally or alternatively, data from GPS sensor 218 may be used to precisely identify the position of bucket 204 along stroke S.

[0057] Additionally or alternatively, the beginning and end of a dig stage and the position of bucket 204 may be determined from shovel condition data from shovel condition sensors 315. For example, the beginning and end of a dig stage may be determined from activation of motors driving boom 202 and bucket 204, and the position of boom 202 and bucket 204 could be determined by monitoring such motors (e.g. from a position encoder or by tracking motor revolutions).

[0058] Vibration data from accelerometers 210 may be correlated to operational status data of boom 202 and bucket 204 to identify vibrations corresponding to each stage of the digging cycle, and to individual intervals of the dig stage. [0059] Data collected by shovel computing device 302 may be sent to data collection system 304 over one or more networks. Components of data collection system 304 are shown in FIG. 5. Data collection system 304 comprises a computing device, e.g., a server, and a data store. In an example, the sever comprises a sensor data collection system 318. After being received by server or sensor data collection system 318, received data may be recorded in the data store. The data store may comprise any suitable type of data structure, stored on any suitable computer-readable medium. In an example, the data store comprises a sensor measurements database 320, e.g. a relational database. However, other data structures are possible.

[0060] Sensor measurements database 320 may correlate vibration data from accelerometers 210 and associated instantaneous position data and shovel condition data, to form a single unified data set. For example, vibration data, position data and shovel condition data may be stored in one or more linked tables of a relational database, and the data may for example, be related to one another based on time.

[0061] For example, accelerometer sensor frequency of accelerometers 210 may be 100 Hz, while GPS sensor frequency of GPS sensor 218 may be 10 Hz. Accordingly, vibration data may be joined to the instantaneous position data by matching vibration data points to the closest instantaneous position data points in time. For example, the vibration data points obtained at 5 seconds, 5.01 seconds and 5.02 seconds into the digging cycle may all be joined to the instantaneous position data point collected at 5 seconds into the digging cycle. In further embodiments, vibration points obtained at 5 seconds, 5.01 seconds and 5.02 seconds into the digging cycle may all be averaged, and the average vibration data may be joined to the instantaneous position data point collected at 5 seconds into the digging cycle. In alternate embodiments, vibration data may be filtered to remove additional vibration data points collected at an accelerometer sensor frequency greater than GPS sensor frequency by a certain factor, such as a factor of 1 , 1 .5 or 10. Instantaneous position data may be similarly joined to vibration data or filtered if GPS sensor frequency is greater than accelerometer sensor frequency.

[0062] Sensor measurements database 320 may be accessible to other computing devices on a local network or over the Internet. In particular, operations platform 306 may access sensor measurements database 320, enabling operations platform 306 to obtain vibration data, position data and bucket operational status data.

[0063] As depicted in in FIG. 6, operations platform 306 comprises a computing device 324 including software and hardware components for characterizing diggability of a muck pile, and for designing drill and blast patterns on the mining site. Although operations platform 306 and data collection system 304 are shown in FIGS. 3, 5 and 6 as comprising separate computing devices, in some embodiments, operations platform 306 and data collection system 304 may share hardware. For example, operations platform 306 and data collection system 304 may be implemented as applications executed on a single computing device such as a single server. Additionally or alternatively operations platform 306 and data collection system 304 may be virtualized machines hosted at a single device. In some embodiments, operations platform 306 and data collection system 304 may be executed in a cloud (e.g., distributed) computing environment, using shared hardware resources.

[0064] For example, computing device 324 may be a computer program or application installed on a computing device, such as a PC, phone or tablet used by a design engineer. In some embodiments, operations platform 306 may be hosted on a server and accessible from another computing device, e.g. as a web application. Additionally or alternatively, functions of operations platform 306 and computing device 324 may be partially or completely automated.

[0065] Computing device 324 comprises a plurality of application programs. Example application programs are depicted in FIG. 7. As depicted, the application programs include a model training module 326, a feature generation module 325, a diggability characterization module 328 and a blast design module 330. [0066] Computing device 324 is operable to receive input vibration data from accelerometers 210. The data may be received with or without labels. Labelled data may be used by model training module 326 along with features from feature generation module 325 to generate a model relating vibration features to diggability. Unlabelled data may be used by diggability characterization module 328 along with features from feature generation module 325 to determine a digging condition experienced by a shovel. Blast design module 330 is operable for producing a blast definition for a future blast based on parameters of a previous blast and digging conditions associated with the previous blast.

[0067] Input vibration data may comprise correlated data points from accelerometers, GPS sensors and shovel condition sensors at one or more shovels, along with associated labels identifying qualitative digging conditions. Feature generation module 325 may manipulate input data, such as by performing mathematical operations on input data, to determine mathematical characteristics of input data. These numerical characteristics of input data are also called “features” of input data, which may be used to characterize input data or train a machine learning model based on input data.

[0068] In some embodiments, feature generation module 325 may receive input data from model training module 326 or diggability characterization module 328. In further embodiments, feature generation module 325 may be instructed by model training module 326 or diggability characterization module 328 to retrieve input data from sensor measurements database 320 and to generate features for input data.

[0069] FIG. 8 depicts an example feature set 425 of features 426 generated from input vibration data. In the depicted embodiment, the features include maximum energy 426a, mean vibration value 426b, 75 th percentile vibration 426c, 95 th percentile vibration 426d and grand mean vibration 426e. However, additional features are possible and more or fewer features may be used in other embodiments. [0070] FIGS. 9-11 depict derivation of example features 426. As will be described in greater detail, input data may be broken or “windowed” into segments, each representing a point in time or interval of time. Feature generation module 325 computes a value of each feature for each segment in the input data.

[0071] FIGS. 9A-9B depict graphs of vibration data for a single digging cycle obtained by accelerometers 210 installed on mining shovel 200. Vibrations may vary with digging conditions. In particular, graph 400a depicts vibration data representative of a single digging cycle obtained while mining shovel 200 experienced hard digging conditions, while graph 400b depicts vibration data representative of a single digging cycle obtained while mining shovel 200 experienced soft or easy digging conditions.

[0072] The x-axis of graphs 400a and 400b shows the time during which vibration data was obtained, while the y-axis of graphs 400a and 400b shows the amplitude of the vibration, i.e. measured acceleration in g. Graphs 400a and 400b include hard vibration data 402a and soft vibration data 402b, which depict vibration data obtained in a digging cycle labelled by an operator as hard and soft, respectively. For example, the amplitude of hard vibration data 402a is generally larger than the amplitude of soft vibration data 402b. As will be appreciated, vibration data can vary over multiple digging cycles, even for the same digging condition (e.g. hard or soft).

[0073] In a typical digging cycle, mining shovel 200 starts digging at around 3 to 5 seconds after the start of the digging cycle. Correspondingly, digging start times may be computed for each digging cycle. For example, graphs 400a and 400b include hard digging start time marker 404a and soft digging start time marker 404b. Digging typically lasts between 10 to 15 seconds after the start of digging cycle. Correspondingly, graphs 400a and 400b also include hard digging end time marker 406a and soft digging end time marker 406b.

[0074] Digging start time markers, such as hard digging start time marker 404a and soft digging start time marker 404b, may be generated based on data from shovel condition sensors. For example, digging start time may be determined based on a reported position of a shovel boom, or from a load condition on the shovel boom. However, other approaches are possible. For example, in some embodiments the digging start time marker may be generated based on the magnitude of the vibration data, such as when the vibration data magnitude passes a certain threshold. In other embodiments, the digging start time marker may be generated based on the rate of change of vibration data, such as when there is a sudden spike in vibration data. In further embodiments, the digging start time marker may be generated based on the frequency components of vibration data, such as when the high-frequency components of vibration data reach a certain threshold magnitude. In other embodiments, digging start time may be determined by correlation with other sensors. For example, a digging start time may be inferred based on the time at which a load is detected in a truck receiving material from the shovel.

[0075] Similarly, digging end time markers, such as hard digging end time marker 406a and soft digging end time marker 406b, may be generated in a number of different ways, including those enumerated above for digging start time markers.

[0076] In some embodiments, additional pre-processing may be performed on input vibration data, such as performing mathematical calculations on vibration data, including a Fast Fourier Transform (FFT) or statistical analysis. Additional pre-processing could also include removing outliers and filtering or other signal processing to remove or suppress “noisy” vibration data or undesirable artifacts of vibration data accelerometers 210.

[0077] Input vibration data may include data from each of accelerometers 210. Processing described herein may be performed separately on data from each accelerometer. Alternatively, data from the accelerometers may be combined. For example, data from the accelerometers may be averaged. In other embodiments, processing described herein may be performed only on data from a single accelerometer, such as accelerometer 210-4 at the saddle block of a shovel. [0078] Each of graphs 400a and 400b depict vibration data for a single digging cycle. However, input data may include multiple digging cycles. Input data may be windowed, i.e. divided into sequential segments. In an example, input data is windowed into segments of duration approximately corresponding to three digging cycles, which is the number of digging cycles typically required to fully load a truck. Typically, these segments last between 40 seconds to 2 minutes. In other embodiments, windows may be smaller or larger. For example, input vibration data may be windowed into segments of duration corresponding to a single digging cycle.

[0079] The above-described pre-processing may be performed by feature generation module 325, model training module 326, diggability characterization module 328 or a combination thereof. Alternatively, such pre-processing may be performed by data collection system 304.

[0080] In exemplary embodiments input vibration data is processed to generate an “unaligned envelope” of vibration data, namely, a set of curves outlining the peak values of the vibration signal. For example, feature generation module 325 may generate an unaligned envelope of vibration data based on the magnitude of vibration data, depicted in graphs 400a and 400b, which is used to generate features for use by diggability characterization module 328 or model training module 326. FIG. 10A depicts an exemplary unaligned envelope 410 of vibration data 418. Unaligned envelope 410 includes upper unaligned envelope 414 and lower unaligned envelope 416. Upper unaligned envelope 414 may track the peaks of vibration data 418, while lower unaligned envelope 416 may track the troughs of vibration data 418.

[0081] Unaligned envelope 410 may be generated by identifying the peaks and troughs of vibration data. In particular, upper unaligned envelope 414 may include vibration data points corresponding to the peaks of vibration data, which may be identified using a number of suitable methods. Similarly, lower unaligned envelope 416 may include vibration data points corresponding to the troughs of vibration data. Various methods may be used to generate the data points in between the peaks and troughs of vibration data in upper unaligned envelope 414 and lower unaligned envelope 416. For example, in alternate embodiments curve fitting methods may be used to interpolate the data points between the peaks and troughs of vibration data. It will be appreciated that unaligned envelope 410 may be generated by other suitable methods as well.

[0082] In some embodiments, vibration data 418 may first be separated into multiple frequency-dependent vibration data components, such as low-frequency and high-frequency vibration data components. Unaligned envelope 410 may be generated based on both these vibration data components, such that unaligned envelope 410 may contain a low-frequency unaligned envelope and a high- frequency unaligned envelope. Low-frequency unaligned envelope may include low-frequency upper aligned envelope and low-frequency lower aligned envelope. Similarly, high-frequency unaligned envelope may include high-frequency upper aligned envelope and high-frequency lower aligned envelope. In some embodiments, unaligned envelope 410 may be generated based on only one of vibration data components, such as only one of low-frequency or high-frequency vibration data components.

[0083] In an exemplary embodiment, unaligned envelope 410 may be generated by aggregating low-frequency and high-frequency unaligned envelopes. For example, unaligned envelope 410 may be generated by aggregating only the high- frequency upper unaligned envelopes. In this way, telemetry system 300 may create an unaligned envelope 410 representing the absolute maxima of vibration data at a given instance of time.

[0084] In some embodiments, vibration data from different digging cycles may be related to one another by generating an “aligned envelope” for each digging cycle from the respective unaligned envelope of each digging cycle. In particular, the unaligned envelopes may be aligned to a common reference time, e.g. the start of digging. For example, if the input vibration data is windowed into segments longer that a single digging cycle, the digging cycles within each segment may be aligned to one another by alignment to the start of digging for each cycle. [0085] An aligned envelope 420 represents vibration measurements beginning at the digging cycle’s start time, such as at digging start time markers 404a and 404b, and ending at the digging cycle’s end time, such as at digging end time markers 406a and 406b. However, instead of including vibration data, as depicted for exemplary digging cycles in graphs 400a and 400b, aligned envelope 420 includes data from the unaligned envelope 410 corresponding to that digging cycle. As well, instead of including the absolute time values of vibration data, unaligned envelope includes time values relative to the start of digging cycle. It will be appreciated that aligned envelope 420 may be used to compare a plurality of unaligned envelopes to one another, irrespective of the absolute value of their digging cycle’s start and end times.

[0086] FIG. 10B depicts a plurality of aligned envelopes 420 generated by feature generation module 325, which have been generated by aligning portions of unaligned envelope 418 to a common reference time. In other words, feature generation module 325 may generate aligned envelopes 420 by justifying each unaligned envelope for every digging cycle in vibration data and superimposing all of the resulting envelopes. It will be appreciated that there may be various methods by which aligned envelopes 420 may be generated by telemetry system 300.

[0087] For example, in an exemplary embodiment, computing device 324 determines a digging start time for each digging cycle in vibration data, which may correspond to hard digging start time marker 404a and soft digging start time marker 404b in graphs 400a and 400b. Each digging cycle in vibration data is independently isolated using digging start time for that digging cycle. An alignment start time is determined for each digging cycle based on the digging start time for the digging cycle. For example, the alignment start time may be equal to the digging start time, or may occur slightly before or after the digging start time. An alignment end time is also determined for each digging cycle based on the alignment start time of the digging cycle. For example, the alignment end time may occur 12 seconds after the alignment start time for the digging cycle, or any other quantity of time after the alignment start time. It will be appreciated that the timeframe for plurality of aligned envelopes is equal to the difference between the alignment end time and alignment start time for each digging cycle, which may be a constant value.

[0088] Aligned envelopes 420 are isolated from the respective unaligned envelopes 410 using alignment start time and alignment end time for each digging cycle. For instance, aligned envelope 420a may correspond to a first digging cycle, and may be computed from unaligned envelope 410 by extracting from unaligned envelope 410 the timeframe between the alignment start time and the alignment end time for the first digging cycle. The timeframe between the alignment start time and the alignment end time for first digging cycle is adjusted such that alignment start time is shifted to aligned time 422, which may correspond to 0 seconds. The alignment end time for the first digging cycle is correspondingly set to aligned time 424, such that the difference between aligned time 422 and aligned time 424 is equal to the difference between the alignment end time and alignment start time for the first digging cycle. Feature generation module 325 may perform similar steps to generate aligned envelopes 420b and 420c, which may correspond to a second and third digging cycle, respectively. It will be appreciated that aligned envelopes 420a-420c all begin at aligned time 422 and end at a respective aligned time 424.

[0089] Features 426a-426e may be extracted by feature generation module 325 from aligned envelopes 420 using feature equations 428a-428e, respectively, as depicted in FIG. 10C. Generally, aligned envelopes data i/may be input into feature equation f(v) to generate feature F. That is, f(v) = F, wherein v is aligned envelopes 420, f(v) is one of exemplary feature equations 428a-428e and Fis one of features 426a-426e. For example, feature 426a may represent the peak energy of vibration data. Feature equation 428a may be used to determine feature 426a by calculating the sum over the squared values of the plurality of aligned envelopes 420. Feature 426b may represent the mean of aligned envelopes 420. Feature equation 428b may be used to determine feature 426b by calculating the mean value of the plurality of aligned envelopes 420. Feature 426c may represent the percentile 75 of the aligned envelope data. Feature equation 428c may be used to determine feature 426c by calculating the 75th percentile of the absolute values of the plurality of aligned envelopes 420. Feature 426d may represent the percentile 95 of the aligned envelope data. Feature equation 428d may be used to determine feature 426d by calculating the 95th percentile of the absolute values of plurality of aligned envelopes 420. Feature 426e may represent the grand mean of aligned envelope data. Feature equation 428e may be used to determine feature 426e by calculating the average proportion of each one of the plurality of aligned envelopes 420 data that exceeds the grand mean value, namely, the mean value of the respective means of each aligned envelope.

[0090] It will be appreciated that different features, which may include some or all of features 426a-426e, may be extracted from aligned envelopes 420, using different feature equations, which may include some or all of feature equations 428a-428e. It will also be appreciated that feature equations 428a-428e may use different data, such as vibration waveforms, in addition to or instead of aligned envelopes 420, to determine features 426a-426e.

[0091] Model training module 326 is operable to receive data from data collection system 304 and to invoke feature generation module 325 to compute features for the input data. Input data received by model training module 326 may be referred to as labelled input data. Labelled input data comprises correlated data points from accelerometers, GPS sensors and shovel condition sensors at one or more shovels, along with associated labels identifying qualitative digging conditions. Data may be correlated based on time, location or both.

[0092] In an example, labels in labelled input data are obtained from a human operator during digging. For example, during digging by a shovel 200, accelerometers 210, GPS 218 and shovel condition sensors 315 record data as described above. An operator at the shovel may periodically operate an input device to characterize digging conditions. In an example, digging conditions may be given a binary classification, namely, soft or hard. In other embodiments, digging conditions may be characterized according to multiple categories. The categories may represent degrees of difficulty, e.g. very soft, soft, normal, hard, very hard, or specific varieties of digging issues, e.g. “hard toe.” In other embodiments, digging conditions may be characterized according to a continuous range of values, e.g. numbers between 1 and 10. The types of labels assigned based on user input may be determined in accordance with learning algorithms used by training module 326, or may define the available algorithms.

[0093] As noted above, data from accelerometers 210 may be windowed into segments. In some embodiments, labels may be entered relatively infrequently. For example, data may be windowed into segments approximately 1 minute in duration, and labels may be entered every 5 minutes. In such embodiments, labels may be associated with data in multiple segments. For example, labels entered one every 5 minutes may be propagated to 5 different segments of data from the corresponding 5 minute period. In other words, the label “hard” may be applied to all data segments during a 5-minute period characterized by an operator as “hard” digging. In other embodiments, labels may be input at a frequency corresponding to the windowed segment duration, such that a label is explicitly entered for each segment.

[0094] Labelled input data may be passed from training module 326 to feature generation module 325, or training module 326 may cause feature generation module 325 to receive training data from data collection system 304.

[0095] Feature generation module 325 computes feature values for each data segment within the training data and returns a training data set, with data organizes into pairs, each comprising a vector of features corresponding to a particular data segment (e.g. interval of time), and an associated label. FIG. 1 1 depicts an example training data set 425’, comprising pairs of features 426 with associated labels 427. Training module 326 uses the training data set 425 as an input to a suitable machine learning algorithm. In the depicted example, each data point in training data set 425 is labelled. That is, each set of features 426 for a particular point in time or time interval is associated with a label. Accordingly, training module 326 uses a supervised machine learning algorithm. Examples of suitable algorithms are Linear Support Vector Classifier (SVC) and Multilayer Perceptron (MLP) supervised learning algorithms. However, other algorithms may be used. For example, in some embodiments, training data set 425 may include both labelled and unlabelled data points, and training module 326 may employ an unsupervised or semi-supervised machine learning algorithm.

[0096] Application of a machine learning algorithm by training module 326 produces diggability model 332 (FIG. 6), namely, a model for relating input vibration data to digging difficulty, referred to as diggability. Diggability model 332 may be stored locally at computing device 324. Alternatively, diggability model 332 may be stored on a server and accessible from computing device through a web application. In the depicted embodiment, labels in the input data set 425 are binary, i.e. “soft” or “hard”, and the resulting model is a binary classifier which denotes input vibration data as corresponding to “soft” or “hard” digging conditions.

However, in other embodiments, labels may differentiate between more than two diggability conditions, such that the resulting model classifies diggability into more than two classes. For example, the resulting model may classify diggability into soft, hard and “normal” classes. In still other embodiments, labels may be quantitative characterizations of diggability on a continuous range, such that the resulting model relates input vibration data to a quantitative diggability value.

[0097] FIGS. 12A-12E depict classification impact curves 630a-630e for each of the features 426a-426e for an exemplary embodiment of diggability model 332. In particular, each of classification impact curves 630a-630e depict features 426a- 426e, respectively, on their x-axis and corresponding SHapley Additive exPlanations (SHAP) values on their y-axis. The SHAP values of each impact curve 630a-630e depict the impact of the feature on diggability model 332 during classification.

[0098] For example, classification impact curve 630a depicts the impact of peak energy feature 426a on diggability model 332 during classification. Vibration data corresponding to peaks energy feature 426a with a value less than 1 .0 may correspond to a positive SHAP value and a soft digging condition, while a value greater than 1 .0 may correspond to a negative SHAP value and a hard digging condition.

[0099] Diggability characterization module 328 is operable to receive input data from shovel computing device 302 or data collection system 304 and to identify a corresponding digging condition using diggability model 332. Specifically, diggability characterization module 328 receives input data comprising correlated points from accelerometers 210, GPS 218 and shovel condition sensors 315, without labels. Input data received by diggability characterization module 328 may be referred to as current condition data.

[00100] The current condition data may be input to feature generation module 325 to generate corresponding values for each of features 426a-426e for each segment within the current condition data. The set of feature values may be referred to as a current condition feature set.

[00101] The current condition feature set may be input to diggability model 332 to produce a characterization of a digging condition, i.e. a diggability value.

[00102] Each of features 426a-426e in the current condition feature set may result in a different diggability score for vibration data input into diggability model 332. For example, the current condition feature set may result in the following array of diggability scores corresponding to features 426a-426e, respectively: 0.1 , 0.2, 0.7, 0.1 , 0.2. Diggability model 332 may thus be used to compute a single overall digging condition for vibration data based on the array of diggability scores, each diggability score corresponding to a different one of features 426a-426e. For example, an overall digging condition may be computed as the mean or median of the scores produced by the condition features, or by another mathematical relationship. In this way, diggability model 332 may return a single classification based on features 426a-426e for input vibration data, such as a soft digging condition or a hard digging condition.

[00103] In further embodiments, diggability model 332 may also be used to identify a normal digging condition, which may be associated with, for example, an array of diggability scores distributed evenly between 0 and 1 , a mean or median of array of diggability scores close to 0.5, or some other mathematical product of array of diggability scores indeterminate between 0 and 1 .

[00104] In other embodiments, each of features 426a-426e may be incorporated together into diggability model 332 to derive a single binary classification curve 432, as depicted in FIG. 13. For example, a diggability score of less than 0.5 may correspond to a soft digging condition classification 434 on single binary classification curve 432, while a diggability score of greater than 0.5 may correspond to a hard digging condition classification 436 on single binary classification curve 432. In a further example, a diggability score between 0 and 0.4 may correspond to a soft digging condition classification 434, a diggability score between 0.6 and 1 may correspond to a hard digging condition classification 436 and a diggability score between 0.4 and 0.6 may correspond to a normal digging condition classification. Features 426a-426e may be incorporated together as described above, such as by calculating the mean, median or some other mathematical product of the array of diggability scores corresponding to features 426a-426e, respectively.

[00105] Blast design module 330 is a platform for designing blast patterns for a mining site. Blast design module 330 is operable to receive digging condition data about the mining site from diggability characterization module 328, such that blast pattern module 330 may incorporate digging condition data into a blast pattern design. Blast design module 330 may also be operable to receive additional data about mining site, such as geographic data about mining site and data about blocks 102, holes 104 and benches 108.

[00106] For example, if digging conditions are characterized as hard, hard toe or block crust, a new pattern may be designed with greater explosive quantities, or smaller burden or spacing, such that explosives are spaced closer together. Alternatively, if digging conditions are easy, explosive quantities may be reduced or burden or spacing may be increased to reduce the cost of blasting. Accordingly, blast designs may balance cost and digging performance. [00107] FIG. 14 depicts an example graphical user interface (GUI) 438 displaying digging conditions determined by diggability characterization module 328, using diggability model 332 and vibration data. The digging conditions may be displayed in GUI 438 by diggability characterization module 328, blast design module 330 or some other application. For example, diggability characterization module 328 and blast design module 330 may be integrated into a single application with GUI 438, in addition to training module 326. In some embodiments, GUI 438 may be displayed by another computing device, such that the modules or applications containing digging conditions may be hosted by computing device 324 or a server. For example, GUI 438 may be accessible as an application stored locally on the computing device or as a web application accessible to computing device over a network or on the Internet. In this way, a design engineer or another user may access GUI 438 and digging conditions without needing to physically access computing device 324.

[00108] FIG. 15 depicts a method 500 for generating diggability model 332, using telemetry system 300.

[00109] At step S502, mining shovel 200 digs at a first location, e.g. at a block 102 at mining site 100, after blasting at the location.

[00110] At step S504, mining shovel 200 obtains vibration data from accelerometers 210 installed on mining shovel 200, while mining shovel 200 digs on mining site 100. Accelerometers 210 may collect and process acceleration data, such that processed acceleration data represents vibration data for mining shovel 200. As described above, accelerometers 210 may collect acceleration data while mining shovel 200 digs and excavates muck from mining site. In particular, each of accelerometers 210 may collect x, y, and z acceleration data for mining shovel 200. Furthermore, plurality of accelerometer sensors 210 may each determine a free- acceleration magnitude of the collected acceleration data, which may require performing real-time processing at the sensor location on mining shovel 200 to determine the magnitude of the x, y, and z acceleration data and to remove the gravity component from the acceleration data. After processing, acceleration data collected by accelerometers 210 represents vibration data for mining shovel 200.

[00111 ] Mining shovel 200 communicates with other components of telemetry system 300 to transmit vibration data to model training module 326. In some embodiments, mining shovel 200 may use network interface 314 to transmit vibration data to sensor data collection system 318, which may then transmit vibration data to sensor measurements database 320. Sensor measurements database 320 may record vibration data obtained by accelerometers 210. Computing device 324 may then access sensor measurements database 320 to extract vibration data for use by model training module 326.

[00112] At step S506, telemetry system 300 obtains operator feedback corresponding to the sensor data collected mining shovel 200. Operator feedback indicates a digging condition experienced by mining shovel 200 as mining shovel digs and excavates muck from mining site. For example, operator feedback may include a determination that mining shovel 200 is experiencing a soft digging condition or a hard digging condition. Operator feedback may be provided by the operator of mining shovel 200, which may be personnel sitting in the cab 208. In other embodiments, operator feedback may be provided by one or more personnel standing outside of cab 208 and observing mining shovel 200 perform the dig or excavation operation.

[00113] Operator feedback is transmitted to model training module 326. Operator feedback may be transmitted in a similar fashion as vibration data in step S504. For example, operator feedback may be input into mining shovel 200, which may include an input device such as a touchscreen display within cab 208 for operator to input operator feedback. Mining shovel 200 may use network interface 314 to transmit operator feedback to sensor data collection system 318, which may then transmit operator feedback to sensor measurements database 320. Sensor measurements database 320 may record operator feedback. Computing device 324 may then access sensor measurements database 320 to extract operator feedback for use by diggability characterization module 328. [00114] In other embodiments, operator feedback may be input into a computing device carried by operator, such as a computer, phone or tablet. Operator may input operator feedback into computing device, either from within our from without cab 208. Computing device may transmit operator feedback to sensor data collection system 318, which may then transmit operator feedback to sensor measurements database 320. As above, sensor measurements database 320 may record operator feedback and computing device 324 may then access sensor measurements database 320 to extract operator feedback for use by diggability characterization module 328. In further embodiments, operator feedback may be manually transferred from computing device to sensor data collection system 318, to sensor measurements database 320, or computing device 324, such as on a flash drive.

[00115] Steps S502, S504, S506 may be repeated to obtain multiple labelled data pairs, i.e. multiple sets of sensor data with associated diggability labels. The multiple sets of data may be obtained from sensors at a single shovel 200, or from sensors at multiple shovels 200, which may operate and obtain data concurrently. For example, a few hundred (e.g. 400) or more sets of data may be obtained by repeating steps S502, S504, S506.

[00116] At step S508, model training module 326 trains diggability model 332 using vibration data obtained in step S504 and operator feedback obtained in step S506, such that diggabilty model 332 may be used for classifying digging conditions experienced by mining shovel 200. For example, model training module 326 may train diggability model 332 by applying machine learning algorithms to vibration data and operator feedback.

[00117] Diggability model 332 may be an SVC or an MLP, or another suitable machine learning model.

[00118] Model training module 326 may also perform further processing on vibration data before applying machine learning algorithms to vibration data for training, such as performing mathematical calculations on vibration data, including an FFT Transform or statistical analysis.

[00119] Using either processed or un-processed vibration data and operator feedback, model training module 326 may generate diggability model 332. In the depicted embodiment, diggability model 332 is a classification model, such that diggability model 332 may output a diggability score from 0 to 1 for a given input, such that a score close to 0 represents a soft digging condition and a score close to 1 represents a hard digging condition. For example, diggability model 332 may return a score of 0.1 for a given input vibration data obtained by mining shovel 200.

[00120] In some embodiments, diggability model 332 may produce multiple diggability scores for input vibration data, each determined based on a different feature of diggability model 332. For example, input vibration data may result in the following array of diggability scores: 0.1 , 0.2, 0.7, 0.1 , 0.2. In such embodiments, diggability model 332 may determine an overall digging condition for vibration data based on the combined scores, for example, by calculating the mean or median of the array of diggability scores. Diggability model 332 may be configured to exclude outliers in the array of diggability scores to determine the overall digging condition. In further embodiments, diggability model 332 may be configured to identify a “normal” digging condition, i.e. a digging condition that is neither hard nor soft.

Such an identification may be based on an array of diggability scores distributed evenly between 0 and 1 , a mean or median of array of diggability scores close to 0.5, or other indeterminate diggability score. Alternatively, diggability model 332 may output a normal digging condition after obtaining a diggability score close to 0.5, or an array of diggability scores containing one or more diggability scores close to 0.5.

[00121] Diggability model 332 may also be configured to output a representation of the confidence of diggability model 332 for the output score.

[00122] FIG. 16 depicts a method 600 for characterizing a digging condition and mining, using telemetry system 300. At step S602, a mining site is blasted with a first drill and blast pattern, which may have been designed using blast design module 330. For example, first design pattern may specify blast points on mining site, further including a drill depth at each blast point and a quantity of explosive to include in each drill hole for blasting. Typically, a drill hole may be 50 m deep. First design pattern may encompass an area of 100 m by 100 m, although in other embodiments the area of first design pattern may be smaller or larger. In further embodiments, first design pattern may also specify a burden, spacing and powder factor for mining site.

[00123] At step S604, mining shovel 200 begins digging on mining site to excavate muck from mining site after blasting at step S602.

[00124] At step S606, mining shovel 200 obtains vibration data from accelerometers 210 installed on mining shovel 200, while mining shovel 200 digs on mining site. As described above for step S506, accelerometers 210 may collect and process acceleration data, such that processed acceleration data represents vibration data for mining shovel 200.

[00125] Mining shovel 200 communicates with other components of telemetry system 300 to transmit vibration data to diggability characterization module 328. In some embodiments, mining shovel 200 may use network interface 314 to transmit vibration data to sensor data collection system 318, which may then transmit vibration data to sensor measurements database 320. Sensor measurements database 320 may record vibration data obtained by accelerometers 210.

Computing device 324 may then access sensor measurements database 320 to extract vibration data for use by diggability characterization module 328.

[00126] At step S608, diggability characterization module 338 classifies a present digging condition experienced by mining shovel 200, using trained diggability model 332 and vibration data obtained by accelerometers 210. In particular, diggability characterization module 328 accesses trained diggability model 332 and applies it to vibration data, using vibration data to classify the present digging condition experienced by mining shovel 200. For example, the present digging condition may be a soft digging condition, a normal digging condition or a hard digging condition. In some embodiments, diggability characterization module 328 may classify the present digging condition in real time.

[00127] At step S610, blast design module 330 generates a new drill and blast pattern the next blast site, based on the present digging condition determined at step S608. For example, diggability characterization system 328 may determine that the present digging condition experienced by mining shovel 200 and produced by blasting according to a first drill and blast pattern, may not correspond to a desired digging condition. Specifically, present digging condition may correspond to a digging condition experienced by mining shovel 200 at a particular excavation site in mining site, which was blasted at step S602. First drill and blast pattern may have been designed under the assumption that blasting would form a soft digging condition at particular excavation site. However, blasting may have instead formed a hard digging condition at particular excavation site. Correspondingly, blast design module 330 may generate new drill and blast pattern for the mining site taking present digging condition into account, such that new drill and blast pattern may include more or less explosives at or around particular excavation site than were included in first drill and blast pattern.

[00128] At step S612, the mining site is blasted with the new drill and blast pattern, generated at step S610.

[00129] FIG. 17 depicts an exemplary method 700 for training diggability model 332 using vibration data as depicted in graphs 400a and 400b and operator feedback. For example, method 700 may be an exemplary embodiment of step S508.

[00130] At step S702, an unaligned envelope of vibration data is computed for each digging cycle using feature generation module 325 based on the magnitude of vibration data.

[00131] At step S704, a plurality of aligned envelopes are generated using feature generation module 325 by aligning an unaligned envelope for each digging cycle to a defined timeframe, as described above with reference to FIG. 10C. [00132] At step 706, feature generation module 325 applies a feature equation, corresponding to each feature in diggability model 332, to plurality of aligned envelopes 420. For example, diggability model 332 may include the following features: peak energy 426a, mean vibration 426b, 75 th percentile vibration 426c, 95 th percentile vibration 426d, and grand mean 426e.

[00133] It will be appreciated that machine learning model features may be different from features 426a-426e, such as by including some or all of features 426a-426e in addition to other features. For example, other features may include a Kurtosis of the aligned envelope, which measures if there are extreme aligned envelope values in ether tail end of the distribution of values, or a skewness of the aligned envelope, which provides information on how well the accelerometer data is well distributed.

[00134] At step S708, model training module 326 trains diggability model 332 using features 426a-426e and operator feedback. Diggability model 332 may be a machine learning model, such as an SVC or MLP. Model training module 326 may train diggability model 332 using various methods and tools, such as TensorFlow and XGBoost.

[00135] Variations of method 700 possible. For example, in some embodiments, additional filtering or pre-processing of vibration data, unaligned or aligned envelopes may be performed. One additional pre-processing step may include discarding outliers in vibration data.

[00136] FIG. 18 depicts an exemplary method 800 for classifying a present digging condition experienced by mining shovel 200 using vibration data as depicted in graphs 400a and 400b. For example, method 800 may be an exemplary embodiment of step S608.

[00137] Method 800 is generally similar to method 700, and it’s similar features are not described in detail. For example, steps S802-S806 may be generally similar to steps S702-S706. [00138] At step S808, diggability characterization module 328 classifies a present digging condition experienced by mining shovel using features 426a-426e and trained diggability model 332, which was trained using method 500. Specifically, the computed features are input into diggability model 332 to produce a diggability characterization.

[00139] FIG. 18 depicts method 500’, an alternate embodiment of method 500 for generating diggability model 332. As discussed above, diggability model 332 is used in method 600’ for classifying a present digging condition experienced by mining shovel 200, using vibration data obtained by accelerometers 210 and instantaneous position data obtained while mining shovel 200 digs and excavates muck from mining site. In an exemplary embodiment, instantaneous position data may be obtained by GPS sensor 218.

[00140] At step S502’, mining shovel 200 digs on a first mining site. First mining site may have been blasted using a drill and blast pattern. However, in other embodiments, first mining site may not have been blasted, such that mining shovel 200 excavates un-blasted rock from first mining site.

[00141] At step S504’, mining shovel 200 obtains vibration data from accelerometers 210 and instantaneous position data from GPS sensor 218 installed on mining shovel 200, while mining shovel 200 digs on mining site. In an exemplary embodiment, mining shovel obtains instantaneous position data from GPS sensor 218, which may include a plurality of GPS sensors, installed on mining shovel 200 as mining shovel 200 digs on mining site. In other embodiments, mining shovel 200 obtains instantaneous position data using other means. For example, mining shovel 200 could obtain instantaneous position data from accelerometer data, from shovel condition data obtained from other sensors 315, etc. It will be appreciated that instantaneous position data could be extracted at a later stage of method 500’ instead of at mining shovel 200, such as using sensor data collection system 318 or computing device 324. [00142] At step S506’, telemetry system 300 obtains operator feedback corresponding to vibration data obtained by accelerometers 210 and instantaneous position data obtained by GPS sensor 218 on mining shovel 200. Operator feedback indicates a digging condition experienced by mining shovel 200 as mining shovel digs and excavates muck from mining site. For example, operator feedback may include a determination that mining shovel 200 is experiencing a soft digging condition or a hard digging condition. Operator feedback may be provided by the operator of mining shovel 200, which may be personnel sitting in the cab 208. In other embodiments, operator feedback may be provided by one or more personnel standing outside of cab 208 and observing mining shovel 200 perform the dig or excavation operation.

[00143] Operator feedback is transmitted to model training module 326, and may be transmitted in a similar fashion as vibration data and instantaneous position data in step S504’.

[00144] At step S508’, telemetry system 300 obtains an operational state of mining shovel 200 from shovel condition sensor 315, which may be disposed within cabin 104. For example, operational state of mining shovel 200 may describe the current operation being performed by mining shovel 200, such as a rest state or a digging state of mining shovel 200.

[00145] Operational state of mining shovel 200 is transmitted to model training module 326, and may be transmitted in a similar fashion as vibration data and instantaneous position data in step S504’.

[00146] At step S510’, telemetry system 300 determines a digging start time and a digging end time using the operational state of mining shovel 200 obtained from shovel condition sensor 315. In particular, model training module 326 may determine digging start time and digging end time. In other embodiments, sensor data collection system 318 may instead determine digging start time and digging end time. In further embodiments, shovel condition sensor 315, located on mining shovel 200, may determine and transmit to model training module 326 digging start time and digging end time. For example, digging start time and digging end time may be transmitted to model training module 326 in a similar fashion as vibration data and instantaneous position data in step S504’.

[00147] Digging start time may correspond to hard digging start time marker 404a and soft digging start time marker 404b, and digging end time may correspond to hard digging end time marker 406a and soft digging end time marker 406b.

[00148] At step S512’, model training module 326 filters vibration data and instantaneous position data based on digging start time and digging end time determined in step S510’. In particular, model training module 326 may filter vibration data and instantaneous position data based on digging start time and digging end time. In other embodiments, sensor data collection system 318 may instead determine filter vibration data and instantaneous position data as it is received by sensor data collection system 318. In further embodiments, wherein shovel condition sensor 315 determines digging start time and digging end time, processor 118 may also filter vibration data and instantaneous position data based on digging start time and digging end time. Filtered vibration data and instantaneous position data may thus be transmitted to model training module 326 in a similar fashion as vibration data and instantaneous position data in step S504’.

[00149] Vibration data and instantaneous position data may also be joined together into a single data set. In some embodiments, accelerometer sensor frequency is different from GPS sensor frequency. For example, accelerometer sensor frequency of accelerometers 210 may be 100 Hz, while GPS sensor frequency of GPS sensor 218 may be 10 Hz. Accordingly, vibration data may be joined to the instantaneous position data by matching vibration data points to the closest instantaneous position data points in time. For example, the vibration data points obtained at 5 seconds, 5.01 seconds and 5.02 seconds into the digging cycle may all be joined to the instantaneous position data point collected at 5 seconds into the digging cycle. In further embodiments, vibration points obtained at 5 seconds, 5.01 seconds and 5.02 seconds into the digging cycle may all be averaged, and the average vibration data may be joined to the instantaneous position data point collected at 5 seconds into the digging cycle. In alternate embodiments, vibration data may be further filtered to remove additional vibration data points collected at an accelerometer sensor frequency greater than GPS sensor frequency by a certain factor, such as a factor of 1 , 1 .5 or 10. Instantaneous position data may be similarly joined to vibration data or filtered if GPS sensor frequency is greater than accelerometer sensor frequency.

[00150] At step S514’, model training module 326 trains diggability model 332 using vibration data and instantaneous position data obtained in step S504’, and operator feedback obtained in step S506’, such that diggability model 332 may be used for classifying a present digging condition experienced by mining shovel 200. For example, model training module 326 may train diggability model 332 by applying machine learning algorithms to vibration data, instantaneous position data and operator feedback.

[00151] FIG. 20 depicts method 600’, an alternate embodiment of method 600 for creating a new drill and blast pattern.

[00152] At step S602’, a mining site is blasted with a first drill and blast pattern, which may have been designed using blast design module 330.

[00153] At step S604’, mining shovel 200 begins digging on mining site, to excavate muck from mining site after blasting at step S602’.

[00154] At step S606’ mining shovel 200 communicates with other components of telemetry system 300 to transmit vibration data and instantaneous position data to diggability characterization module 328, such as by using network interface 314.

[00155] Vibration data and instantaneous position data may also be joined together into a single data set. In some embodiments, accelerometer sensor frequency is different from GPS sensor frequency. For example, accelerometer sensor frequency of accelerometers 210 may be 100 Hz, while GPS sensor frequency of GPS sensor 218 may be 10 Hz. Accordingly, vibration data may be joined to the instantaneous position data by matching vibration data points to the closest instantaneous position data points in time. For example, the vibration data points obtained at 5 seconds, 5.01 seconds and 5.02 seconds into the digging cycle may all be joined to the instantaneous position data point collected at 5 seconds into the digging cycle. In further embodiments, vibration points obtained at 5 seconds, 5.01 seconds and 5.02 seconds into the digging cycle may all be averaged, and the average vibration data may be joined to the instantaneous position data point collected at 5 seconds into the digging cycle. In alternate embodiments, vibration data may be filtered to remove additional vibration data points collected at an accelerometer sensor frequency greater than GPS sensor frequency by a certain factor, such as a factor of 1 , 1 .5 or 10. Instantaneous position data may be similarly joined to vibration data or filtered if GPS sensor frequency is greater than accelerometer sensor frequency.

[00156] At step S608’, diggability characterization module 328 classifies a present digging condition experienced by mining shovel 200, using vibration data obtained by accelerometers 210 and instantaneous position data obtained by GPS sensor 218. Diggability characterization module 328 accesses diggability model 332 and applies it to vibration data and instantaneous position data. Using vibration data, instantaneous position data and diggability model 332, diggability characterization module 328 classifies the present digging condition experienced by mining shovel 200. For example, the present digging condition may be a hard toe condition, a blocky crust condition, a tight condition, an easy condition or a rehandle condition. In some embodiments, diggability characterization module 328 may classify the present digging condition in real time.

[00157] At step S610’, blast design module 330 generates a new drill and blast pattern for the mining site based on the present digging condition, determined at step S608’.

[00158] At step S612’, the mining site is blasted with the new drill and blast pattern, generated at step S610’. [00159] Conveniently, the apparatus and methods described herein provide the ability to accurately and objectively characterize digging conditions in real time or near real time. Such characterization may provide substantial operational advantages. For example, digging rate and time may be accurately forecast.

Equipment may be allocated based on such a forecast. For example, more or fewer shovels may be allocated to digging at a particular location so that digging is completed at the desired rate. Similarly, trucks may be allocated according to the rate of digging, i.e. the rate at which material needs to be transported away from the digging location.

[00160] Of course, the above-described embodiments are intended to be illustrative only and in no way limiting. The described embodiments are susceptible to many modifications of form, arrangement of parts, details and order of operation. The invention is intended to encompass all such modification within its scope, as defined by the claims.