Virtual track model for mining machines
Patent Information
- Application Number
- CN202280037463.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-29
- Filing Date
- 2022-03-28
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2042-03-28
AI Technical Summary
[0013]本文所描述的其它实施例提供了通过根据铲斗到履带的当前接近程度在摆动运动、推拉运动和/或提升运动方面限制铲斗移动来缓解或避免铲斗与绳铲的履带之间的此类碰撞的实施例系统和方法。至少一些实施例通过为摆动运动、推拉运动和提升铲斗运动中的每一个定义铲斗周围的虚拟三维场来提供碰撞预防和缓解。当铲斗的这些虚拟场中的一个或多个虚拟场与绳铲的虚拟履带模型重叠时,与一个或多个重叠的虚拟场相关联的一个或多个铲斗运动被限制。铲斗越靠近履带,这些铲斗运动越受限制,这可能被操作者感觉到,就像具有相同磁极的两个磁体的端部的排斥力随着它们靠近而增加。通过限制一个或多个铲斗运动,本文所描述的系统和方法使得碰撞缓解(例如,与以其它方式发生的碰撞相比该碰撞的严重程度降低),并且在一些情况下,预防碰撞(即,避免了本来会发生的碰撞)。
Smart Images

Figure CN117377803B_ABST
Abstract
Description
[0001] Related applications
[0002] This application claims the benefit of U.S. Patent Application Serial No. 17 / 216,180, filed March 29, 2021; U.S. Patent Application Serial No. 17 / 216,198, filed March 29, 2021; and U.S. Patent Application Serial No. 17 / 216,218, filed March 29, 2021, the entire contents of each of which are hereby incorporated by reference. Technical Field
[0003] The embodiments described herein relate to systems and methods for preventing or mitigating collisions between the bucket and tracks of a mining machine. Summary of the Invention
[0004] A rope shovel includes a bucket, which is typically controlled by an operator to move in at least three modes of motion: lifting (up / down), pushing / pulling (inward / outward), and swinging (left / right). During mining operations, the operator may inadvertently control the bucket in a manner that causes it to collide with the rope shovel's tracks. Such collisions can damage the undercarriage, the bucket, or both.
[0005] The embodiments described herein provide systems and methods for generating three-dimensional virtual track models. This track model can be used in various collision prevention and mitigation systems and methods, such as those described herein, as well as other collision prevention and mitigation systems and other mining systems that utilize virtual track models. In some embodiments herein, the described systems and methods provide a simplified modeling process that enables rapid and accurate modeling of the tracks of mining machines, taking into account customized tracks whose dimensions vary depending on the specific mining machine.
[0006] In one embodiment, a method is provided for modeling the track of a mining machine including a bucket. The method includes moving the bucket to a first position associated with the track by an electronic processor; and determining a first data point associated with the first position by the electronic processor. The method further includes moving the bucket to a second position associated with the track by the electronic processor; determining a second data point associated with the second position by the electronic processor; and generating a virtual model of the track by the electronic processor inferring virtual boundaries of the track from the first data point and the second data point.
[0007] In another embodiment, a mining machine with a virtual track modeling system is provided. The mining machine includes: a frame; tracks supporting the frame and configured to be driven to move the frame above ground; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to move the bucket by bucket motion selected from: swinging motion, pushing-pull motion, and lifting motion; and a bucket position sensor configured to determine the position of the bucket relative to a three-dimensional mining machine coordinate system. The mining machine further includes an electronic controller including an electronic processor and a memory, coupled to the bucket driver and the bucket position sensor. The electronic controller is configured to move the bucket to a first position associated with the track and determine a first data point associated with the first position. The electronic controller is further configured to move the bucket to a second position associated with the track; determine a second data point associated with the second position; and generate a virtual model of the track by inferring virtual boundaries of the track from the first data point and the second data point.
[0008] In another embodiment, a control system for modeling a virtual track of a mining machine is provided, the mining machine comprising: a frame; a track supporting the frame and configured to be driven to move the frame above ground; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to move the bucket by bucket motion selected from: swinging motion, pushing-pull motion, and lifting motion; and a bucket position sensor configured to determine the position of the bucket relative to a three-dimensional mining machine coordinate system. The control system includes an electronic controller comprising an electronic processor and a memory, coupled to the bucket driver and the bucket position sensor. The electronic controller is configured to move the bucket to a first position associated with the track; and determine a first data point associated with the first position. The electronic controller is further configured to move the bucket to a second position associated with the track; determine a second data point associated with the second position; and generate a virtual model of the track by inferring virtual boundaries of the track from the first data point and the second data point.
[0009] Further embodiments described herein provide systems and methods for mitigating or avoiding such collisions between a bucket and a restricted area by limiting bucket movement in terms of swinging, pushing, and / or lifting movements based on the bucket's current proximity to the restricted area. At least some embodiments provide collision prevention and mitigation by defining a virtual three-dimensional field around the bucket for each of the swinging, pushing, and lifting bucket movements. When one or more of these virtual fields of the bucket overlap with a virtual restricted area model of the rope shovel, one or more bucket movements associated with the one or more overlapping virtual fields are restricted. The closer the bucket is to the restricted area, the more restricted these bucket movements become, which may be perceived by the operator as similar to the increasing repulsive force between the ends of two magnets with the same magnetic poles as they approach each other. By restricting one or more bucket movements, the systems and methods described herein mitigate collisions (e.g., reduce the severity of the collision compared to collisions that occur otherwise) and, in some cases, prevent collisions (i.e., avoid collisions that would otherwise occur).
[0010] In one embodiment, a method is provided for preventing and mitigating collisions between a bucket and a restricted area taught to a mining machine. The method includes moving the bucket to a plurality of locations associated with the restricted area by an electronic processor; and determining data points for the restricted area, each data point being associated with one of the plurality of locations. The method further includes generating a virtual model of the restricted area by the electronic processor by inferring a virtual boundary of the restricted area from the data points; and receiving bucket position data indicating the position of the bucket. The method further includes setting motion command limits for bucket movement by the electronic processor based on a distance between the bucket of the mining machine and the restricted area inferred from the bucket position data, the bucket movement being selected from: swinging motion, pushing / pulling motion, and lifting motion; and controlling the bucket movement according to bucket movement commands limited by the motion command limits.
[0011] In another embodiment, a mining machine with a collision prevention and mitigation system is provided. The mining machine includes: a frame; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to move the bucket by bucket motion selected from: swinging motion, pushing-pull motion, and lifting motion; and a bucket position sensor configured to determine the position of the bucket. The mining machine further includes an electronic controller comprising an electronic processor and a memory, coupled to the bucket driver and the bucket position sensor. The electronic controller is configured to move the bucket to a plurality of locations associated with restricted areas; determine data points for the restricted areas, each data point associated with one of the plurality of locations; and generate a virtual model of the restricted areas by inferring virtual boundaries of the restricted areas from the data points. The electronic controller is further configured to receive bucket position data indicating the position of the bucket; set movement command restrictions for the bucket movement based on the distance between the bucket of the mining machine and the restricted area inferred from the bucket position data, the bucket movement being selected from: swinging movement, pushing and pulling movement, and lifting movement; and control the bucket movement according to the bucket movement commands restricted by the movement command restrictions.
[0012] In another embodiment, a collision prevention and mitigation control system for a mining machine is provided, the mining machine having: a frame; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to move the bucket by bucket motion selected from: swing motion, push-pull motion, and lifting motion; and a bucket position sensor configured to determine the position of the bucket. The control system includes an electronic controller comprising an electronic processor and a memory, the electronic controller being coupled to the bucket driver and the bucket position sensor. The electronic controller is configured to move the bucket to a plurality of locations associated with restricted areas; determine data points for the restricted areas, each data point being associated with one of the plurality of locations; and generate a virtual model of the restricted areas by inferring virtual boundaries of the restricted areas from the data points. The electronic controller is further configured to receive bucket position data indicating the position of the bucket; set movement command restrictions for the bucket movement based on the distance between the bucket of the mining machine and the restricted area inferred from the bucket position data, the bucket movement being selected from: swinging movement, pushing and pulling movement, and lifting movement; and control the bucket movement according to the bucket movement commands restricted by the movement command restrictions.
[0013] Other embodiments described herein provide systems and methods for mitigating or avoiding such collisions between a bucket and the track of a cable shovel by limiting bucket movement in terms of swinging, pushing, and / or lifting movements based on the current proximity of the bucket to the track. At least some embodiments provide collision prevention and mitigation by defining a virtual three-dimensional field around the bucket for each of the swinging, pushing, and lifting bucket movements. When one or more of these virtual fields of the bucket overlap with a virtual track model of the cable shovel, one or more bucket movements associated with the one or more overlapping virtual fields are restricted. The closer the bucket is to the track, the more restricted these bucket movements become, which may be perceived by the operator as similar to the repulsive force between the ends of two magnets with the same magnetic poles increasing as they approach each other. By restricting one or more bucket movements, the systems and methods described herein mitigate collisions (e.g., reduce the severity of the collision compared to collisions that occur otherwise) and, in some cases, prevent collisions (i.e., avoid collisions that would otherwise occur).
[0014] In one embodiment, a method is provided for preventing and mitigating collisions between a bucket and the track of a mining machine. The method includes receiving bucket position data indicating the position of the bucket by an electronic processor; and determining, based on the bucket position data, a distance between the bucket and the track of the mining machine by the electronic processor. The method further includes setting motion command limits for bucket movement based on the distance by the electronic processor, the bucket movement being selected from: swinging motion, pushing / pulling motion, and lifting motion; and controlling the bucket movement by the electronic processor according to the bucket movement commands limited by the motion command limits.
[0015] In another embodiment, a mining machine with a collision prevention and mitigation system is provided. The mining machine includes: a frame; tracks supporting the frame and configured to be driven to move the frame above ground; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to move the bucket by bucket motion selected from: swinging motion, pushing-pull motion, and lifting motion; and a bucket position sensor configured to determine the position of the bucket. The mining machine further includes an electronic controller including an electronic processor and a memory, coupled to the bucket driver and the bucket position sensor. The electronic controller is configured to receive bucket position data indicating the position of the bucket from the bucket position sensor; and to determine the distance between the bucket and the tracks of the mining machine based on the bucket position data. The electronic controller is further configured to set motion command limits for the bucket motion based on the distance, and to control the bucket motion via the bucket driver according to the bucket motion commands limited by the motion command limits.
[0016] In another embodiment, a collision prevention and mitigation control system for a mining machine is provided, the mining machine having: a frame; tracks supporting the frame and configured to be driven to move the frame above ground; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to move the bucket by bucket motion selected from: swinging motion, pushing-pull motion, and lifting motion; and a bucket position sensor configured to determine the position of the bucket. The control system includes an electronic controller comprising an electronic processor and a memory, the electronic controller being coupled to the bucket driver and the bucket position sensor. The electronic controller is configured to receive bucket position data indicating the position of the bucket from the bucket position sensor; and to determine the distance between the bucket and the tracks of the mining machine based on the bucket position data. The electronic controller is further configured to set motion command limits for the bucket motion based on the distance, and to control the bucket motion via the bucket driver according to the bucket motion commands limited by the command limits.
[0017] Other aspects of the embodiments will become apparent from consideration of the following detailed description and accompanying drawings. Attached Figure Description
[0018] Figure 1 This is a perspective view of a mining machine according to some embodiments.
[0019] Figure 2 yes Figure 1 A side view of a mining machine.
[0020] Figures 3A-3B According to some embodiments Figure 1 A block diagram of a mining machine.
[0021] Figure 4 yes Figure 1 A schematic top view of a mining machine.
[0022] Figure 5 A flowchart illustrating a method for preventing or mitigating collisions between the bucket and tracks of a mining machine, according to some embodiments, is shown.
[0023] Figure 6 Demonstrates some embodiments Figure 1 A virtual model of a mining machine.
[0024] Figures 7A-7C Example constraint functions for bucket movement according to some embodiments are shown.
[0025] Figure 8 A flowchart illustrating the modeling of the tracks of a mining machine, according to some embodiments, is shown.
[0026] Figure 9 Demonstrates some embodiments Figure 1 The schematic top view of the mining machine shows the first and second positions of the track.
[0027] Figures 10A-10B Examples of some embodiments are shown respectively. Figure 1 The schematic top view of the mining machine shows the first and second positions of the track.
[0028] Figure 11 Demonstrates some embodiments Figure 1 A perspective view of a virtual model of the tracks of a mining machine.
[0029] Figure 12 Showing Figure 1 An embodiment of a mining machine in which the front end of the left track extends further than the right track.
[0030] Figure 13 Demonstrates some embodiments Figure 12 A 3D virtual model of the tracks of a mining machine.
[0031] Figure 14 Demonstrates some embodiments Figure 1 The location of the four tracks in a schematic top view of a mining machine.
[0032] Figure 15 Demonstrates some embodiments Figure 1 The location of the six tracks in a schematic top view of a mining machine.
[0033] Figure 16 and 17 Demonstrates a method for using, according to some embodiments, in Figure 1 The track positions of track models with unknown heights and unknown widths are generated in a schematic top view of a mining machine.
[0034] Figure 18 Demonstrates some embodiments Figure 1 A schematic side view of a mining machine.
[0035] Figure 19 A method for calibrating a wobbling sensor according to some embodiments is shown. Figure 1 A schematic top view of a mining machine.
[0036] Figure 20 A flowchart illustrating a method for preventing or mitigating collisions between a bucket and a restricted area, according to some embodiments, is shown.
[0037] Figure 21 Demonstrates a restricted area according to some embodiments Figure 1 A schematic top view of a mining machine. Detailed Implementation
[0038] Before explaining any embodiment in detail, it should be understood that the embodiments are not intended to limit their application to the configuration details and component arrangements set forth in the following description or shown in the following figures. The embodiments can be practiced or implemented in a variety of different ways. It should also be understood that the wording and terminology used herein are for illustrative purposes only and should not be considered restrictive. The terms “comprising,” “including,” or “having,” and variations thereof are intended to cover the items listed below and their equivalents, as well as additional items. Unless otherwise specified or limited, the terms “installation,” “connection,” “support,” and “coupling,” and variations thereof, are used generally and cover direct and indirect installation, connection, support, and coupling.
[0039] Additionally, it should be understood that embodiments may include hardware, software, and electronic components or modules, which, for the purposes of discussion, may be shown and described as being implemented primarily in hardware. However, those skilled in the art will recognize from this detailed description that, in at least one embodiment, the electronic aspects may be implemented in software (e.g., stored on a non-transitory computer-readable medium) that can be executed by one or more electronic processors (such as microprocessors and / or application-specific integrated circuits (“ASICs”)). Thus, it should be noted that embodiments may be implemented using multiple hardware and software-based devices and multiple different structural components. For example, “server,” “computing device,” “controller,” “processor,” etc., described in the specification may include one or more electronic processors, one or more computer-readable medium modules, one or more input / output interfaces, and various connectors (e.g., system buses) for connecting components.
[0040] Related terms used in conjunction with quantities or conditions, such as “about,” “approximately,” “substantially,” etc., will be understood by those skilled in the art to include the stated value and have the meaning prescribed by the context (e.g., the term includes at least the degree of error associated with measurement accuracy, tolerances associated with a particular value [e.g., manufacturing, assembly, use, etc.]). Such terms should also be considered to disclose a range defined by the absolute values of the two endpoints. For example, expressing “about 2 to about 4” also discloses a range of “2 to 4.” Relative terms may refer to positive or negative percentages of the indicated value (e.g., 1%, 5%, 10%, or more).
[0041] Functionality described herein as being performed by a single component can be performed by multiple components in a distributed manner. Similarly, functionality performed by multiple components can be combined and performed by a single component. Likewise, a component described as performing a specific function can also perform additional functions not described herein. For example, a device or structure "configured" in a certain way is at least configured in that way, but it can also be configured in a way not explicitly listed.
[0042] like Figure 1 and 2 As shown, the rope shovel 10 rests on a supporting surface or floor and includes a base or frame 22, a boom 26, a first member or stick 30, a bucket or digging bucket 34, and a pivot actuator 36. The base 22 includes a lifting drum 40. Figure 1 ), for winding and unwinding cable or lifting rope 42. The boom 26 includes a first end 46 connected to the base 22, a second end 50 opposite the first end 46, a boom pulley 54, a saddle slider 58, and a transport shaft 62 ( Figure 1A boom pulley 54 is connected to the second end 50 of the boom 26 and guides the rope 42 across the second end 50. The rope 42 is connected to the bucket 34 via a lifting ring 66. The bucket 34 rises or falls as the rope 42 is wound in or released by the lifting drum 40. The up-and-down movement of the bucket 34 due to the rotation of the lifting drum 40 is called the lifting motion, which may include both lifting and lowering.
[0043] A saddle-shaped slider 58 is rotatably connected to a boom 26 via a transport shaft 62 positioned between a first end 46 and a second end 50 of the boom 26 and extending through the boom 26. A stick 30 is movably connected to the boom 26 via the saddle-shaped slider 58. The transport shaft 62 includes a splined pinion for engaging a rack 90 of the stick 30. A first end 82 of the stick 30 is movably housed in the saddle-shaped slider 58, and the stick 30 passes through the saddle-shaped slider 58, such that the stick 30 is configured to rotate and translate relative to the boom 26. Figure 1 In other words, the boom 30 can extend and retract linearly relative to the saddle-shaped slider 58 and can rotate about the transport shaft 62. The inward and outward movement of the bucket 34 due to the extension and retraction of the boom 30 is referred to as push-pull motion, which may include squeezing and extrusion.
[0044] Bucket 34 is pivotally connected to stick 30 at wrist joint 70. Lifting ring 66 is connected to rope 42 that passes over stick pulley 54 and is pivotally connected to bucket 34. Pivot actuator 36 controls the position of bucket 34 by rotating bucket 34 about wrist joint 70. In the illustrated embodiment, pivot actuator 36 includes a pair of hydraulic cylinders directly connected between the lower portion of stick 30 and the lower portion of bucket 34. In other embodiments, different types of actuators may be used.
[0045] In the illustrated embodiment, bucket 34 is a clamshell bucket comprising a body 72 and a rear wall 74. The body 72 is pivotally connected to the rear wall 74 around a bucket joint and can be opened by a hydraulic cylinder to discharge the contents of bucket 34. In other embodiments, instead of a clamshell bucket, bucket 34 is a digger bucket with a pivoting tipper door that locks and selectively opens to dump the contents of bucket 34.
[0046] The shovel 10 further includes tracks 80 configured to be driven to move the shovel 10 forward, backward, or overturn above the ground. Track 80 may include a first track (or right-side track) 80a and a second track (or left-side track) 80b. The term track 80 may be used herein to refer generally to one of tracks 80a or 80b, or as a collective term for both tracks 80a and 80b. The base 22 may be further operable to rotate relative to the tracks 80 about a rotation axis 84.
[0047] Figure 1 and Figure 2 The shovel 10 is one embodiment of a rope shovel, which can implement one or more embodiments described herein. However, in some embodiments, rope shovels with different configurations may be used. For example, some configurations of the shovel 10 do not include a cab 120 or one or more other components as described above. Other configurations of the shovel 10 may include... Figure 1 and 2 Other components not shown.
[0048] Figure 3A A block diagram of shovel 10 is shown. Shovel 10 includes a controller 200, which is an electronic controller electrically and / or communicatively connected to various modules or components of shovel 10. For example, the controller 200 shown is connected to one or more indicators 205, a user interface 210, a push-pull actuator 215, a lift actuator 220, a swing actuator 225, a track actuator 227, a database 230, a power supply 235, and one or more sensors 240.
[0049] The controller 200 comprises a combination of hardware and software, including but not limited to hardware and software configured, operable, and / or programmed to control the operation of the shovel 10, generate multiple sets of control signals to activate one or more indicators 205 (e.g., liquid crystal displays [“LCD”], one or more light sources [e.g., LEDs], etc.), monitor the operation of the shovel 10, etc. One or more sensors 240 include, but are not limited to, load pins, strain gauges, one or more inclinometers, bench pins, one or more motor-related modules (e.g., measuring motor parameters such as current, voltage, power, etc.), one or more rope tension sensors, one or more rotary transformers, radio detection systems (RADAR), lidar (LIDAR), one or more cameras, one or more infrared sensors, etc.
[0050] Controller 200 includes multiple electrical and electronic components that provide power, operational control, and protection to the components and modules within controller 200 and / or shovel 10. For example, controller 200 includes, but is not limited to, an electronic processor 250 (e.g., a microprocessor, microcontroller, or other suitable programmable device), memory 255, input unit 260, and output unit 265. Electronic processor 250 includes, but is not limited to, a control unit 270, an arithmetic logic unit (“ALU”) 275, and multiple registers 280 (in... Figure 3AThe controller 200 is shown as a set of registers and is implemented using a known computer architecture (e.g., a modified Harvard architecture, a von Neumann architecture, etc.). The electronic processor 250, memory 255, input unit 260, and output unit 265, as well as various modules connected to the controller 200, are connected via one or more control buses and / or data buses (e.g., a common bus 285). For illustrative purposes, the control buses and / or data buses are typically... Figure 3A As shown in the figure. Those skilled in the art, upon learning of the embodiments described herein, will understand the manner in which various modules and components are interconnected and communicated with each other using one or more control buses and / or data buses.
[0051] Memory 255 is a non-transitory computer-readable medium that includes areas such as program storage and data storage. The program storage and data storage areas may contain combinations of different types of memory, such as read-only memory (“ROM”), random access memory (“RAM”) (e.g., dynamic RAM [“DRAM”], synchronous DRAM [“SDRAM”], etc.), electrically erasable programmable read-only memory (“EEPROM”), flash memory, hard disk, memory card (SD card) or other suitable magnetic storage, optical storage, physical storage, or electronic storage devices. Electronic processor 250 is connected to memory 255 and executes software instructions stored in the random access memory (RAM) of memory 255 (e.g., during execution), in the read-only memory (ROM) of memory 255 (e.g., under normal long-term conditions), or in another non-transitory computer-readable medium such as another memory or disk. The software included in the embodiment of 10 may be stored in the memory 255 of controller 200. The software includes, for example, firmware, one or more application programs, program data, filters, rules, one or more program modules, and other executable instructions. The controller 200, particularly the electronic processor 250, is configured to retrieve from memory and execute instructions, including but not limited to, for implementing or otherwise relating to the control processes and methods described herein. In other configurations, the controller 200 may include additional, fewer, or different components.
[0052] Power source 235 provides nominal alternating current (AC) or direct current (DC) voltage to controller 200 and other components or modules of shovel 10. Power source 235 receives power from an engine-driven generator and regulates (e.g., step-down, step-up, filter) the power, supplying the regulated power to the components of shovel 10 and controller 200. For example, power source 235 may comprise multiple power sources providing different power levels to different components of shovel 10. For instance, a first power source of power source 235 may provide a lower voltage to operate circuitry and components within controller 200 or shovel 10, and a second power source may provide power to drives 215, 220, 225, and 227. In other configurations, other components and modules within controller 200 or shovel 10 are powered by line voltage provided by power cables connected to an external power station outside shovel 10, one or more batteries or battery packs, or other grid-independent power sources (e.g., solar panels).
[0053] User interface 210 is used to control or monitor shovel 10. User interface 210 includes a combination of digital and analog input or output devices to enable desired levels of control and monitoring of shovel 10. For example, user interface 210 includes displays (e.g., main display, auxiliary display, etc.) and input devices such as touchscreen displays, multiple knobs, dashboards, switches, buttons, etc. Displays are such as liquid crystal displays (“LCDs”), light-emitting diode (“LED”) displays, organic LED (“OLED”) displays, electroluminescent displays (“ELDs”), surface-conducting electron emission displays (“SEDs”), field emission displays (“FEDs”), thin-film transistor (“TFT”) LCDs, etc. User interface 210 is also configured to display conditions or data associated with shovel 10 in real time or substantially in real time. For example, user interface 210 is configured to display measured electrical characteristics of shovel 10, the status of shovel 10, etc. In some embodiments, one or more indicators 205 (e.g., LEDs, speakers, etc.) are used to control the user interface 210 to provide visual or auditory indications of the status or condition of the shovel 10 (e.g., a horn from the shovel 10). In some embodiments, at least a portion of the user interface 210 is not on the shovel 10 and includes control inputs that allow the shovel 10 to be remotely controlled by an operator not in the cab.
[0054] The push-pull actuator 215, lift actuator 220, swing actuator 225, and track actuator 227 may each include a corresponding motor and drive controller, the drive controller being configured to drive the motor based on commands from the controller 200. These commands may be generated in response to input received from the operator of the shovel 10 via a user interface 210.
[0055] Figure 3BA block diagram 300 of shovel 10 is provided, showing the parts of shovel 10 in more detail. For example, Figure 3B A bucket motion command input device 305, a bucket drive 310, and a bucket position sensor 315, all connected to the controller 200, are shown. The bucket motion command input device 305 is part of the user interface 210 and includes a push-pull motion command input 305a, a lift motion command input 305b, and a swing motion command input 305c. Each of the push-pull motion command input 305a, lift motion command input 305b, and swing motion command input 305c may be referred to as the bucket motion command input device 305, or all three may be collectively referred to as the bucket motion command input device 305. Each bucket motion command input device 305 is a human-machine interface (HMI) device that allows an operator to input motion commands to ultimately manipulate the position of the bucket 34. For example, each bucket motion command input device 305 may include manually operable control elements, such as joysticks or levers, that generate output signals provided to the controller 200, indicating the requested motion of the control elements. The electronic processor 250 of the controller 200 receives the output signal from the bucket motion command input device 305 and converts the signal into a corresponding motion command for the bucket drive 310. The corresponding motion command may be in the form of a speed command, a torque command, or another form.
[0056] The bucket drive 310 includes a push-pull drive 215, a lifting drive 220, and a swing drive 225, which also... Figure 3A As shown in the diagram. Each of the push-pull actuator 215, the lift actuator 220, and the swing actuator 225 may be referred to as bucket actuator 310, or all three may be collectively referred to as bucket actuator 310. Each bucket actuator 310 may include a drive controller and a motor or other actuator capable of controlling the corresponding movement of the bucket. More specifically, please refer to... Figure 2The push-pull actuator 215 controls the bucket 34 to push and pull inward and outward by extending and retracting the stick 30, the lift actuator 220 controls the bucket 34 to rise or fall by winding the lift rope 42 up and down, and the swing actuator 225 controls the bucket to swing left and right by rotating the base 22 relative to the track 80 about the axis 84. As described above, the motion command from the controller 200 can be in the form of a speed command or a torque command. In one embodiment, in response to a speed command to the push-pull actuator 215, which may include both amplitude and directional components, the push-pull actuator 215 controls the bucket 34 to push and pull in the required direction at the required speed by: (1) increasing the torque of the motor of the push-pull actuator 215 until the required speed is reached, (2) reducing the speed by decreasing the torque of the motor, controlling the motor regenerative braking, or reversing the motor until the required speed is reached, and (3) maintaining the current torque of the motor when the speed is at the required speed. In another embodiment, in response to a torque command to the oscillating actuator 225, which may include both amplitude and direction components, the oscillating actuator 225 controls its motor with torque of the required amplitude and direction. In some embodiments, the push-pull actuator 215 and the lift actuator 220 receive speed commands from the controller 200, and the oscillating actuator 225 receives torque commands.
[0057] In some embodiments, the bucket drive 310 implements closed-loop feedback to control the corresponding movement of the bucket 34 based on motion commands received from the controller 200. Feedback (e.g., sensed speed or torque) can be provided to the bucket drive 310 directly from the sensor 240 or via the controller 200.
[0058] Bucket position sensor 315 includes push-pull sensor 315a, lift sensor 315b, and oscillation sensor 315c. Bucket position sensor 315 is part of sensor 240 (see [link]). Figure 3A It includes a push-pull sensor 315a, a lift sensor 315b, and a swing sensor 315c. Each of the push-pull sensor 315a, lift sensor 315b, and swing sensor 315c may be referred to as a bucket position sensor 315, or all three may be collectively referred to as bucket position sensor 315. Each bucket position sensor 315 senses the position of the bucket based on the corresponding bucket movement. More specifically, please refer to... Figure 2Push-pull sensor 315a senses the push-pull position, which is the degree to which the bucket 34 is pushed or pulled (e.g., between minimum and maximum extension), lift sensor 315b senses the lift position, which is the degree to which the bucket 34 is lifted (e.g., between minimum and maximum lift), and oscillation sensor 315 senses the oscillation position, which is the rotational position of the bucket 34 about axis 84 (e.g., between 0 degrees and 360 degrees). In some embodiments, in addition to position data, the bucket position sensors 315 also indicate the velocity, acceleration, or both velocity and acceleration of the bucket 34 for the corresponding push-pull, lift, and oscillation movements. In some embodiments, each bucket position sensor 315 includes a rotary transformer configured to indicate the rotational position of the associated bucket drive 310 (e.g., push-pull sensor 315a includes a rotary transformer indicating the rotational position of the push-pull motor of push-pull drive 215). In some embodiments, the bucket position sensor 315 is a non-contact sensor, such as a Hall sensor or an optical sensor, which senses the rotational position of the associated bucket drive 310. In some embodiments, the controller 200 is configured to infer the speed of each bucket drive 310 by calculating the amount of rotation of each bucket drive 310 over a period of time using a timer circuit and the changing position data provided by the bucket position sensor 315.
[0059] Similarly, Figure 3B As shown, memory 255 further includes model data 325, constraint function 330, push-pull constraint 335, lift constraint 340, and swing constraint 345. As explained in further detail below, model data 325 may include a virtual model of bucket 34, a virtual model of track 80, a coordinate system for shovel 10, and position information of shovel 10 within the coordinate system. Additionally, constraint function 330 may define one or more virtual fields for bucket 34. Similarly, as explained in further detail below, push-pull constraint 335, lift constraint 340, and swing constraint 345 may limit the motion commands provided by controller 200 to bucket drive 310 (e.g., limit them to a level below the operator's desired level).
[0060] In addition to the virtual models of bucket 34 and track 80, model data 325 may also contain dimensional data associated with any other components of bucket 34, track 80, and cable shovel 10. For example, model data 325 may contain dimensional data associated with base 22. Similarly, model data 325 may contain support structures or bucket support members 350 associated with bucket 34 (see [link to model data]). Figure 4The associated dimensional data refers to the combination of rope shovel assemblies (e.g., boom 26, stick 30, etc.) that support the movement and positioning of the bucket 34. The dimensional data for the various components of the rope shovel 10 can be a series of dimensions (e.g., length, width, height), points, and / or other definitions of the boundaries of the rope shovel assemblies. For example, the dimensional data associated with the bucket 34 can include information such as the length of the bucket edge, the length of the bucket's cross-section, and the distance between the corresponding side of the bucket 34 and its center. In another embodiment, the dimensional data associated with the bucket support 350 can include information such as the length of the boom 26, the length of the stick 30, the length of the rope 42, and the dimensions of the boom pulley 54. In another embodiment, the dimensional data associated with the track 80 can include track width, track height, track curvature, etc.
[0061] Controller 200 may also be referred to as a control system, such as a collision prevention and mitigation control system (e.g., when implementing method 500) or a virtual track modeling system (e.g., when implementing the following regarding...). Figure 8 (As described in method 800). In some embodiments, the controller 200 described above, which includes an electronic processor 250 and a memory 255, is one or more components of an accessory control system. In such embodiments, the accessory control system is configured to be installed in an existing mining machine, such as a wire rope shovel 10, to provide additional control to the mining machine to which it is installed. When the accessory control system is installed in the wire rope shovel 10, the controller 200 is coupled to an indicator 205, a user interface 210, a track drive 227, a database 230, a power supply 235, one or more sensors 240, a bucket motion command input device 305, a bucket drive 310, and a bucket position sensor 315, and the controller 200 controls the operation of the aforementioned components. That is, when the accessory control system is installed in the wire rope shovel 10, the controller 200 included in the accessory control system is operable to control the operation of any of the above-described components of the wire rope shovel 10. In some embodiments, one or more of the above-described components of the wire rope shovel 10 are included in the accessory control system. For example, database 230, track drive 227, one or more sensors 240 and / or bucket drive 310 can be included as components of the accessory control system.
[0062] Figure 4 A top view of the rope shovel 10 is shown. (For example...) Figure 4As shown, the local coordinate system 400 of the rope shovel 10 can be defined relative to points on or near the rope shovel 10. That is, points on or near the rope shovel 10 can be used as reference points or origins of the local coordinate system 400. In the illustrated embodiment, the origin 405 of the local coordinate system 400 is defined as the center point of the rope shovel track 80, hereinafter referred to as "track center 405". In other embodiments, other points on or near the rope shovel 10 can be defined as the origin of the local coordinate system 400. Furthermore, the local coordinate system 400 of the rope shovel 10 is shown and described herein as a Cartesian coordinate system comprising an x-axis, a y-axis, and a z-axis. Therefore, a position or point within the local coordinate system 400 includes x-components, y-components, and z-components. Please refer to... Figure 4 In the local coordinate system 400, the x-component of a point indicates the distance of the point "to the right" or "to the left" relative to the track center 405. Similarly, the y-component of a point represents the distance of the point "forward" or "backward" relative to the track center 405. Likewise, the z-component of a point represents the distance of the point "above (outside the page)" or "below (inside the page)" relative to the track center 405. Although shown and described as a Cartesian coordinate system, the local coordinate system 400 may additionally or alternatively be defined as a cylindrical coordinate system, a spherical coordinate system, or any other desired coordinate system.
[0063] The electronic processor 250 can be configured to determine the position or (x,y,z) coordinates of a point on the cable shovel 10 relative to the track center 405 based on a combination of one or more sensor readings and / or dimensional data stored in the memory 255. The sensor readings used to determine the coordinates of the point on the cable shovel 10 may include, but are not limited to, readings generated by the bucket position sensor 315. The dimensional data used to determine the coordinates of the point on the cable shovel 10 may include, but are not limited to, dimensional data associated with the base 22, bucket 34, track 80, and bucket support 350.
[0064] As an example, Figure 4 The positions of one or more reference points or bucket reference points 410 associated with bucket 34 shown can be determined relative to track center 405. Bucket reference points 410 include, but are not limited to, bucket center 410a, right front bucket apex 410b, right rear bucket apex 410c, left front bucket apex 410d, and left rear bucket apex 410e. Although Figure 4 This is a two-dimensional schematic diagram, but it can be assumed that bucket reference points 410a-410e are located on the bottom surface of bucket 34. That is, bucket center 410a is the center of the bottom surface of bucket. Similarly, bucket vertices 410b-410e are the vertices that connect the bottom surface of bucket to the side surface of bucket 34. Bucket reference points 410a-410e together form a virtual bucket model 412, which is a virtual model of bucket 34 (stored as...). Figure 3B (Part of model data 325). Although the virtual bucket model 412 is in Figure 4 The illustration is two-dimensional, but in some embodiments, the virtual bucket model 412 is three-dimensional and defined by additional reference points. For example, in some embodiments, the virtual bucket model 412 is defined in a computer-aided design (CAD) program, having sufficient resolution to be represented as [image missing] during rendering. Figure 1 The bucket 34. In some embodiments, a lower resolution model can also be used as a virtual bucket model 412.
[0065] The electronic processor 250 can be configured to determine the corresponding (x, y, z) coordinates of each bucket reference point (e.g., reference points 410a-410e) constituting the virtual bucket model 412 based on a combination of dimensional data stored in memory 255 and swing, push, and lift data measured by bucket position sensor 315. When bucket 34 moves to a new position, the electronic processor 250 can operate to determine a new set of (x, y, z) coordinates for each bucket reference point 410a-410e based on a combination of dimensional data and updated swing, push, and lift data measured by bucket position sensor 315. Therefore, regardless of the degree to which bucket 34 is lifted, pushed, or rotated, the electronic processor 250 can be configured to determine the position of bucket reference point 410 relative to track center 405.
[0066] Although bucket reference points 410a-410e have been described, the electronic processor 250 can also be configured to determine a set of (x, y, z) coordinates or the position relative to the track center 405 of any point on or near the assembly of the rope shovel 10. For example, the electronic processor 250 can be configured to determine the (x, y, z) coordinates of a point on the surface of the boom 26 or the surface of the stick 30. Additionally, as will be described in more detail below, the electronic processor 250 can be configured to obtain or determine the (x, y, z) coordinates of a point on the surface of the track 80 based on the (x, y, z) coordinates of the bucket reference point 410. Regarding Figure 4 The (x, y, z) coordinates of point 415 located on the upper surface of the right front apex of track 80a can be determined by moving the bucket 34 so that the bucket reference point 410 is aligned with and / or in contact with point 415 on track 80a. For example, if it is assumed that the bucket center 410a is aligned with and / or in contact with point 415, the electronic processor 250 can be configured to determine the (x, y, z) coordinates of point 415, which are equivalent to the (x, y, z) coordinates of the bucket center 410a when the bucket center 410a is aligned with and / or in contact with point 415.
[0067] In some embodiments, the data defining the coordinate system 400 and the position information of the shovel 10 on the coordinate system 400 can be stored as part of the model data 325. The position information includes the current position of each reference point of the virtual model constituting the bucket 34 and the virtual model of the track 80, including the swing position, push-pull position and lifting position of the bucket 34, and the position information of the bucket support 350.
[0068] Preventing and mitigating collisions between the bucket and tracks of mining machinery
[0069] Figure 5 A method 500 for preventing and mitigating collisions between the bucket and tracks of a mining machine is illustrated, the method comprising blocks 505, 515, and 520. The method 500 is described with reference to a rope shovel 10, a bucket 34, a track 80, and an electronic processor 250; however, in some embodiments, the method 500 may be implemented by other rope shovels or mining machines having tracks and buckets with push-pull, lifting, and swinging movements. Additionally, although the actions within the method 500 are described as being performed by the electronic processor 250, the actions may also be described as being performed by an electronic controller 200 having the electronic processor 250. Furthermore, in some embodiments, the controller 200 and the electronic processor 250 implementing the method 500 are included in the rope shovel 10 as original equipment (e.g., installed during the manufacture of the rope shovel 10), and in some embodiments, one or more of the components such as the controller 200, the electronic processor 250, and the software contained thereon are included in an accessory control system installed in the rope shovel 10 to implement the method 500.
[0070] In block 505, electronic processor 250 receives bucket position data indicating the position of bucket 34. The bucket position data is provided to electronic processor 250 by one or more bucket position sensors 315. For example, the bucket position data may include outputs from one or more sensors among push-pull sensor 315a, lift sensor 315b, and swing sensor 315c. The output of push-pull sensor 315a indicates the push-pull position of bucket 34, the output of lift sensor 315b indicates the lift position of bucket 34, and the output of swing sensor 315 indicates the swing position of bucket 34.
[0071] Still refer to Figure 5 In block 515, the electronic processor 250 sets motion command limits for the bucket movement based on the distance between the bucket 34 and the track 80 of the mining machine 10, inferred from bucket position data, wherein the bucket movement is selected from swinging, pushing, and lifting movements. In some embodiments, to set motion command limits based on the distance inferred from the bucket position data, the electronic processor 250 may use one or more limit functions 330 stored in memory 255 to determine the limit value (see [link to relevant documentation]). Figure 3B For example, in some embodiments, the constraint function 330 includes a distance-based function that defines motion command constraints based on the distance between the bucket 34 and the track 80, such that it uses the distance between the bucket 34 and the track 80 as input and provides a constraint value as output. In other embodiments, the constraint function 330 includes a position-based function that defines motion command constraints based on bucket position data, wherein the position-based function is defined based on a relationship between (i) a potential bucket position and (ii) the associated distance between the potential bucket position and the track 80 of the mining machine 10. In other words, the distance between each potential position of the bucket 34 and the track 80 can be predetermined (e.g., during the setup phase); then, in subsequent operation phases, when the bucket 34 is determined to be in a particular position, the distance between the bucket 34 and the track 80 is inferred based on the previously determined relationship. The position-based function can be generated based on the potential relationship between the position of the bucket 34 and the associated distance between the bucket 34 and the track 80. Therefore, the position-based function uses the current position of the bucket 34, indicated by the bucket position data, as input (and as a representation of the distance between the bucket 34 and the track 80), and provides a limit value as output. Then, continue to refer to... Figure 3B After determining the limit value, the electronic processor 250 can store the limit value in the memory 255 as a motion command limit (e.g., as one or more of the push-pull limit 335, lift limit 340, and swing limit 345).
[0072] As indicated, the distance between bucket 34 and track 80 can be used directly as input to a constraint function, or it can be used indirectly in advance to generate the constraint function, such that the current position of bucket 34 can be used as input to the constraint function. In some embodiments, the electronic processor 250 determines the distance between the bucket 34 and track 80 of the mining machine based on bucket position data. In some embodiments, the distance can be the shortest distance between bucket 34 and track 80 (e.g., the distance between the two closest points of bucket 34 and track 80). The distance can be a length measurement across three-dimensional space (e.g., x, y, and z dimensions), and therefore can be referred to as a three-dimensional distance.
[0073] Figure 6 A virtual model 600 of the rope shovel 10 is depicted (located in...). Figure 4The same local coordinate system 400 shown illustrates a technique for determining the distance between bucket 34 and track 80. In this example, to determine the distance, electronic processor 250 determines the position of bucket 34, determines the position of track 80, and then determines the shortest distance between bucket 34 and track 80 based on their respective determined positions. In some embodiments, to determine the position of bucket 34, electronic processor 250 determines the position of a three-dimensional virtual bucket model (the virtual model of bucket 34) in the three-dimensional coordinate system of the rope shovel 10 based on bucket position data. More specifically, electronic processor 250 may transform the bucket position data (received in the preceding box 505) to calculate the position of bucket 34 in the local coordinate system 400 of the rope shovel 10. For example, bucket position data can indicate the degree to which bucket 34 is lifted, pushed, pulled, and rotated about rotation axis 84, and electronic processor 250 can use this information in conjunction with model data 325 (e.g., dimensional data associated with bucket support 350) to infer the position of bucket 34 in local coordinate system 400. Therefore, as Figure 6 As shown, the electronic processor 250 is configured to map a virtual model 605 of the bucket 34 at the inferred bucket position onto a local coordinate system 400.
[0074] Similar to Figure 4 The virtual bucket model 412 and the virtual bucket model 605 of the bucket 34 can be, for example, a series of dimensions, points, or other definitions of the outer boundary of the bucket 34. The virtual bucket model 605 can be obtained from a computer-aided drawing (CAD) file of the bucket 34. In some embodiments, model data 325, containing dimensional data of the virtual bucket model 605 of the bucket 34 and the bucket support 350, can be received and stored in memory 255 during the setup phase. Although in Figure 4 and Figure 6 They are marked separately, but virtual bucket model 412 and virtual model 605 can be the same virtual model.
[0075] Additionally, in some embodiments, in order to determine the position of track 80, electronic processor 250 determines the position of a three-dimensional virtual track model (a virtual model of track 80) in a three-dimensional coordinate system (e.g., local coordinate system 400). Figure 6As shown, the electronic processor 250 is configured to map a virtual model of track 80 onto a local coordinate system 400, the virtual model comprising a virtual track model 610a of track 80a and a virtual track model 610b of track 80b. Virtual track models 610a and 610b can be collectively referred to as virtual track model 610, although virtual track model 610 may also refer specifically to one of virtual track models 610a or 610b. The virtual track model 610 and its position in the local coordinate system 400 can be received and stored in memory 255 as part of model data 325 during the setup phase. In some embodiments, the virtual track model 610 is, for example, a series of dimensions, points, or other definitions of the outer boundary of the track 80 (e.g., one or both of tracks 80a and 80b) defined about the origin of a three-dimensional coordinate system (e.g., the origin 405 of the local coordinate system 400). The virtual model of track 80 (e.g., virtual track model 610) and the position of track 80 in a three-dimensional coordinate system can be obtained from the computer-aided drawing (CAD) file of track 80, or during the calibration process, as will be described in further detail below (e.g., see [link to documentation]). Figure 8 Therefore, in order to determine the position of the three-dimensional virtual track model (e.g., virtual track model 610) in a three-dimensional coordinate system (e.g., local coordinate system 400), the electronic processor 250 can access such information in the model data 325 of the memory 255.
[0076] With the positions of bucket 34 and track 80 determined, electronic processor 250 can then determine the distance between bucket 34 and track 80. For example, in some embodiments, electronic processor 250 can determine the shortest distance 615 between a virtual bucket model 605 and a virtual track model 610 in a three-dimensional coordinate system 400, wherein the shortest distance representation is used in method 500 to indicate the distance between bucket 34 and track 80. For example, as described above, electronic processor 250 is configured to determine the positions of the three-dimensional model 605 of bucket 34 and the three-dimensional model 610 of track 80 in coordinate system 400, respectively. Electronic processor 250 can then execute a nearest neighbor algorithm or a similar known algorithm to determine the shortest distance 615 between the three-dimensional models 605 and 610 in coordinate system 400. When the distance between the two three-dimensional models 605 and 610 in three-dimensional coordinate system 400 is determined, the distance is a length measurement across three dimensions (e.g., x, y, and z dimensions). This three-dimensional distance measurement (also known as three-dimensional distance) contrasts with length measurements in a two-dimensional coordinate system (e.g., considering only push-pull and lift motions) or length measurements between two points in a one-dimensional coordinate system (e.g., considering only push-pull or lift motions).
[0077] In some embodiments, the electronic processor 250 implements other techniques to determine the distance between the bucket 34 and the track 80.
[0078] In some embodiments, the limiting function 330 includes a slow-range function and a stop-range function for each of the push-pull, lifting, and swinging movements. In such embodiments, the electronic processor 250 may select a stop-range function for the bucket movement in response to determining that a distance 615 is below a stop-range threshold for the bucket movement, and may select a slow-range function for the bucket movement in response to determining that a distance 615 is above the stop-range threshold but below the slow-range threshold for the bucket movement. By determining that a distance 615 is above the slow-range threshold, the electronic processor 250 may return a default limiting value for the movement command limiting. In some embodiments, the slow-range threshold, stop-range threshold, and default limiting value for each of the lifting, push-pull, and swinging movements are stored in memory 255 (e.g., as part of the limiting function 330).
[0079] Figure 7A -C demonstrates an example of the constraint function 330 used for bucket motion. More specifically, Figure 7A The slow-speed region curve 700 shows an example of a slow-speed region function used for bucket motion. Figure 7B Stop region curve 705 shows an example of a stop region function used for bucket motion, and... Figure 7C A motion limitation curve is shown, generated by a combination of a slow region function and a stop region function. The specific motion limitation function, threshold, motion command limit, and distance value are merely examples. In other embodiments, one or more different functions, thresholds, limits, and values are used in method 500.
[0080] In some embodiments, the slow region function (see...) Figure 7A The curve in graph 700 includes a function that receives distance values as input and outputs motion command limits, wherein the function defines an S-shaped curve. For example, in some embodiments, the slow region function includes an arctangent function that offsets positive integers to align the bottom portion of the S-shaped curve with the zero-position motion command limit. In some embodiments of the slow region function ( Figure 7A (Not shown in the diagram), the slow region is further divided into an S-shaped curve portion corresponding to the lower values within the distance 615 and a linear portion corresponding to the larger values within the distance 615. In some embodiments, the slow region function is not an S-shaped curve, but a linear curve or a curve of another shape (e.g., a parabolic function).
[0081] exist Figure 7BIn the illustrated embodiment, the stop region function (see graph 705) provides a setpoint independent of the distance 615, which is approximately 10%. In some embodiments, the setpoint may be a different value than shown, such as 0%, 2%, 5%, or 15%. Figure 7B The stop zone function provides a negative setpoint (e.g., -5% or -10%) to provide a reverse torque to the bucket 34 (i.e., in the direction that pushes the bucket 34 away from the track 80).
[0082] Figure 7C The motion limit function generated by the combination of the slow zone function and the stop zone function is shown (see graph 710). As shown, the stop zone function applies to "x" values (distance 615) less than the stop zone threshold 720, and the slow zone function applies to "x" values (distance 615) between the stop zone threshold 720 and the slow zone threshold 725. When the distance value 615 is greater than the slow zone threshold 725, the motion command limit is the default value, such as 100%. As will be explained more clearly below, when at 100%, the motion command limit does not limit the bucket movement associated with the motion command limit.
[0083] In some embodiments, Figure 7AThe -C limiting function applies to one or more of the lifting, pushing-pull, and swinging movements. In some embodiments, specific thresholds, the slope of the limiting curve in the slow region, and the limiting in the stop region can vary depending on the specific movement. For example, in some embodiments, the limiting value in the stop region for the lifting, pushing-pull, or both lifting and pushing-pull movements is a non-zero value (e.g., 10%), while the limiting value in the stop region for the swinging movement can be set to zero (i.e., 0%). In some embodiments, the curves of the limiting values in the slow region of one or more bucket movements have different shapes or are linear. In some embodiments, the swinging movement has a stop region function but no slow region function. Different limiting functions can be used for the swinging movement because in some embodiments, the swing motor does not have sufficient power in most cases to stop the momentum of the bucket 34 swinging toward the track 80. However, when the operator of the rope shovel 10 manipulates the bucket 34 near the track 80 (e.g., clearing rocks near the track), the limiting value (e.g., zero) for the swinging movement in the stop region will prevent the swinging movement requested by the operator, which would otherwise cause the bucket 34 to collide with the track 80. Furthermore, when the bucket enters the stop zone, if the operator unintentionally swings the bucket 34 at an increased speed, the limit value (e.g., zero) of the swing motion in the stop zone can eliminate the torque in the swing motion, thus stopping the swing torque before the collision and preventing the driving of swing motion even after the bucket 34 collides with the track 80. Therefore, although a collision may be unavoidable, the damage caused can be mitigated by preventing further swing torque when in the stop zone.
[0084] In some embodiments, the constraint function 330 includes one or more equations (e.g., defining...). Figure 7C The one or more equations (as shown in the diagram) are calculated by the electronic processor 250 during operation to generate limit values as output. In some embodiments, the limit function 330 includes one or more lookup tables that take potential inputs (e.g., in...) Figure 7C The function (shown on the x-axis) is mapped to a pre-computed output (e.g., in...). Figure 7C (Shown on the y-axis of the function). In some embodiments, the constraint function 330 comprises a combination of one or more equations and one or more lookup tables.
[0085] In block 520, electronic processor 250 controls bucket movement according to bucket movement commands restricted by movement command limits. For example, by responding to operator input to one of the movement command input devices 305 (see...). Figure 3BElectronic processor 250 receives bucket movement command inputs (e.g., lift, push-pull, or swing command inputs). Electronic processor 250 then determines the lower of (a) a movement command limit and (b) a bucket movement command input. Electronic processor 250 then provides a bucket movement command to a bucket drive 310 (e.g., lift drive 220) associated with the movement command limit, wherein the bucket movement command is the lower of (a) the movement command limit and (b) the bucket movement command input. The bucket drive 310 receiving the movement command then controls the bucket movement of bucket 34 according to the command. For example, when electronic processor 250 provides a push-pull movement command to push-pull drive 215 to perform a push-pull at 20% speed, push-pull drive 215 controls bucket 34 to perform a push-pull at 20% speed.
[0086] In some embodiments of method 500, in block 515, the electronic processor 250 sets motion command limits for two or three bucket movements based on the distance between the bucket 34 and the track 80, instead of setting a motion command limit for a single bucket movement, wherein the bucket movements are selected from swinging, pushing, and lifting movements. In these embodiments, a similar process for setting a motion command limit for one bucket movement is used to set motion command limits for other bucket movements. For example, to set motion command limits for bucket movements, the electronic processor 250 may utilize one or more limit functions 330 stored in memory 255 (see...). Figure 3B The distance (directly or indirectly) between the bucket 34 and the track 80 is used to determine the limit values for each bucket movement. The limit function 330 may contain custom functions (or multiple functions) for each movement, such as a push-pull limit function for push-pull movements, a lift limit function for lifting movements, and a swing limit function for swing movements. Then, continue to refer to... Figure 3B The electronic processor 250 can store the corresponding limit values in memory 255 as push-pull limit 335, lift limit 340, and swing limit 345. Therefore, in these embodiments, in block 520, the electronic processor 250 is configured to control the bucket movement of the bucket 34 according to bucket movement commands (e.g., push-pull command, lift command, and swing command) limited by each of the push-pull limit, lift limit, and swing limit.
[0087] In other words, in some embodiments of method 500, the bucket movement is a push-pull movement, and the movement command constraint is a push-pull movement command constraint, and in block 515, the electronic processor 250 further sets one or both of the following: (a) a lift movement command constraint for distance-based lifting movement, and (b) a swing movement command constraint for distance-based swing movement. Then, in block 520, the electronic processor 250 is configured to control the bucket movement of the bucket 34 by bucket movement commands (e.g., push-pull command, lift command, and swing command) constrained by each of the push-pull movement command constraints, lift movement command constraints, and swing movement command constraints.
[0088] In some embodiments, after block 520, the electronic processor 250 loops back to block 505, causing the electronic processor 250 to repeatedly execute method 500. By repeatedly executing method 500, the electronic processor 250 can take into account changes in the position of the bucket 34 over time and changes in the bucket movement commands received via the bucket movement command input device 305 over time. Therefore, in some embodiments, as the bucket 34 moves, the electronic processor 250 repeatedly determines the distance between the bucket 34 and the track 80 over time, and updates the movement command limits based on the distance 615 as the distance 615 is repeatedly determined.
[0089] Therefore, in some embodiments, during the first run of method 500, in order to set the motion command limit for the bucket movement based on distance (in block 515), the electronic processor 250 determines the motion command limit to decrease as the distance 615 decreases according to a defined function (e.g., based on...). Figure 7C The function of the curve in graph 710 reduces the motion command limit from its initial value to a reduced value. Further, during the second operation method 500 after the bucket 34 has moved further from the track 80, the electronic processor 250 receives updated bucket position data indicating the updated position of the bucket (box 505); based on the updated distance between the bucket 34 and the track 80 according to the updated bucket position data, the motion command limit is set to an updated value, wherein the updated distance is greater than the distance during the first operation method 500, and wherein the updated value is greater than the reduced value (box 515); and the bucket movement is controlled according to additional bucket movement commands limited by the updated motion command limit (box 520).
[0090] To help illustrate method 500, corresponding information is provided in Table I below. Figure 7C The graph 710 shows several example scenarios. Table I generally describes a bucket motion, but it applies to one or more of the lifting, pushing, and swinging motions of mining machines such as the rope shovel 10.
[0091]
[0092]
[0093] In scenario 1, the distance 615 between the track 80 and the bucket 34 is 0.5 meters (m), and the electronic processor 250 receives 75% of the bucket movement command input. Therefore, refer to Figure 7C Bucket 34 is determined to be in the stop zone, and the motion command limit is set to 10% (e.g., in block 515). Electronic processor 250 then determines that the motion command limit (10%) is less than the bucket motion command input (75%), and therefore sets the bucket motion command to the motion command limit of 10%. Electronic processor 250 then provides the bucket motion command of 10% to the bucket drive 305 associated with the bucket motion command. (Refer to the above text.) Figure 3B The bucket movement command explained can be a speed command (e.g., for push-pull or lifting movements) or a torque command (e.g., for swing movements).
[0094] In scenario 2, the distance 615 between the track 80 and the bucket 34 is 0.5 meters (m), and the electronic processor 250 receives a 5% bucket movement command input. Therefore, refer to Figure 7C Bucket 34 is determined to be in the stop zone, and the motion command limit is set to 10% (e.g., in block 515). Electronic processor 250 then determines that the bucket motion command input (5%) is less than the 10% motion command limit, and therefore sets the bucket motion command as the bucket motion command input. Electronic processor 250 then provides the 5% bucket motion command to the bucket drive 305 associated with the bucket motion command.
[0095] In scenarios 3, 4, and 5 of Table I, the bucket movement command restrictions and bucket movement commands are generated using a similar technique as explained in scenarios 1 and 2, and therefore will not be explained further in detail.
[0096] As previously referenced Figure 3BIn some embodiments, push-pull actuator 215 and lift actuator 220 receive speed commands from electronic processor 250, while swing actuator 225 receives torque commands from electronic processor 250. Therefore, considering scenario 1 for push-pull actuator 215 as an example, when electronic processor 250 provides a 10% bucket movement command to push-pull actuator 215, push-pull actuator 215 uses closed-loop feedback speed control to control its speed at 10%. Now, considering scenario 1 for swing actuator 225 as an example, when electronic processor 250 provides a 10% bucket movement command to swing actuator 225, swing actuator 225 uses closed-loop feedback torque control to control the torque applied to swing actuator 225 at 10%. In some embodiments, to control the speed or torque of the actuator, the controller of bucket actuator 310 may adjust the duty cycle of a pulse width modulation (PWM) signal used to control the switching elements of bucket actuator 310, which provide power to the rotor or stator of the motor of bucket actuator 310. For example, the duty cycle can be a value between 0 and 100%. To increase torque or speed, the duty cycle is increased, and to decrease torque or speed, the duty cycle can be decreased. Additionally, as previously mentioned, to reduce the speed of the bucket drive 310, the controller of the bucket drive 310 can implement regenerative braking (e.g., by selectively controlling the switching elements of the bucket drive 310 to generate regenerative current) or can reverse drive the bucket drive 310 (e.g., by selectively controlling the switching elements of the bucket drive 310 to provide reverse torque).
[0097] Based on the above discussion, it should be clear that, as a general rule, when the bucket 34 is controlled to move closer to the track 80, the movement commands are further restricted. Therefore, in some embodiments, when the bucket 34 is very close to the track 80, one or more bucket movements are restricted, causing the bucket 34 to move slowly or not at all in response to movement command input from the operator. Additionally, in some embodiments, when the bucket 34 is controlled by the operator to rapidly push (or pull) (or lower) inward toward the track 80, the electronic processor 250 will increasingly restrict the push-pull (or lift) movement commands, causing the bucket 34 to gradually decelerate to prevent collision with the track 80 or at least mitigate the impact of such a collision.
[0098] In some embodiments, regarding Figure 5The motion restrictions described in method 500 apply to all directions of a particular bucket movement. For example, when the electronic processor 250 determines that the commanded motion restriction of the push-pull drive 215 is 10%, the 10% restriction on the push-pull movement is always applied, regardless of whether the bucket 34 is commanded to push inward or outward. In some embodiments, particularly for lifting and push-pull movements, the motion restriction applies only to one direction. For example, when the electronic processor 250 determines that the commanded motion restriction of the push-pull drive 215 is 10%, the 10% restriction is applied to the push-pull movement when the bucket 34 is commanded to push inward (towards the track 80), but the restriction is not applied when the bucket 34 is commanded to push outward.
[0099] In practice, at least in some embodiments, the constraint function 330 of the rope shovel 10 defines a virtual three-dimensional field around the bucket 34 for each of the swing bucket movement, push-pull bucket movement, and lifting bucket movement. When one or more of these virtual fields of the bucket 34, which can be mapped onto a coordinate system 400 around the virtual bucket 605, overlap with the virtual track model 610, one or more bucket movements associated with the one or more overlapping virtual fields are constrained. The closer the bucket 34 is to the track 80, the more constrained these bucket movements are. Therefore, as the overlapping virtual fields of the bucket 34 become closer to the track 80, more constraints imposed by the electronic processor 250 are perceived, analogous to the repulsive force between the ends of two magnets with the same magnetic poles. That is, the repulsive force of the magnetic field increases when the like poles of two magnets approach each other. From the operator's perspective, the constraint function is applied smoothly in a natural and intuitive way without inhibiting productivity. Furthermore, because, at least in some embodiments, the constraint function is applied independently to each bucket movement (lifting, push-pull, and swing), there is no unnecessary constraint on the bucket movements. For example, if the bucket 34 is close enough to the track that the virtual field for pushing and pulling motion and lifting motion overlaps with the track 80, but the virtual field for swinging motion does not overlap with the track 80, the operator can continue to control the bucket 34 to swing without restriction.
[0100] Modeling the tracks of mining machines
[0101] As described above regarding method 500, a virtual model of the track 80 used in the collision prevention and mitigation system can be obtained during calibration used to model the tracks of the mining machine. Figure 8A method 800 for modeling the tracks of a mining machine is illustrated, and includes blocks 805, 810, 815, 820, and 825. Method 800 is described herein with reference to the rope shovel 10, bucket 34, track 80, and electronic processor 250; however, in some embodiments, method 800 may be implemented in other rope shovels or other mining machines with tracks. Furthermore, although actions within method 800 are described as being performed by the electronic processor 250, these actions may also be described as being performed by an electronic controller 200 having the electronic processor 250. Additionally, in some embodiments, the controller 200 and electronic processor 250 implementing method 800 are included in the rope shovel 10 as original equipment (e.g., installed during the manufacture of the rope shovel 10), and in some embodiments, one or more of the controller 200, electronic processor 250, and the software thereon are included in an accessory control system installed in the rope shovel 10 for implementing method 800.
[0102] In block 805, electronic processor 250 moves bucket 34 to a first position associated with track 80 of cable shovel 10. For example, using bucket motion command input device 305, the cable shovel operator can input a command to move bucket 34 to the first position associated with track 80. Electronic processor 250 receives the operator input signal from bucket motion command input device 305 and converts the signal into a corresponding motion command for bucket drive 310. In response to receiving the motion command from electronic processor 250, bucket drive 310 controls bucket 34 to move to the first position associated with track 80.
[0103] In some embodiments, the first position or first track position associated with track 80 is located near the front end of track 80. For example, as Figure 9 and Figure 10A As shown, the first track position can be a first track position 900a located at the apex connecting the front surface, upper surface, and right (outer) surface of the right track 80a, hereinafter referred to as the "front-upper-right apex of the right track 80a". It should be understood that the first track position 900a is an exemplary first track position, and the first track position can be located at any other point on or near the right track 80a. For example, the first track position can be located at the middle portion or rear end of the right track 80a. Furthermore, the first track position does not necessarily need to be located at a point on or near the right track 80a. For example, the first track position can be located at or near a point on or near the left track 80b. In some embodiments, the first track position can be located between tracks 80, in front of tracks 80, behind tracks 80, or outside tracks 80.
[0104] The process of moving the bucket 34 to the first track position 900a may include aligning and / or contacting the first track position 900a with a specific point on the surface of the bucket 34. For example, the electronic processor 250 may be configured to move the bucket 34 such that one of the bucket reference points 410 is aligned and / or contacted with the first track position. Figure 10A As shown, the bucket 34 moves to the first track position 900a, such that the bucket center 410a is aligned and in contact with the front upper right apex of the right track 80a, while the bucket 34 is located at the first track position 900a. Although the bucket center 410a has been shown and described, it should be understood that any of the bucket reference points 410 can be used to align and / or contact the first track position 900a with the bucket 34. For example, the electronic processor 250 can alternatively be configured to align and / or contact the front upper right apex of the right track 80a with the front right bucket apex 410b, the rear right bucket apex 410c, the front left bucket apex 410d, the rear left bucket apex 410e, or any other reference point defined on the surface of the bucket 34.
[0105] In block 810, electronic processor 250 determines a first data point associated with or indicating the first track position 900a. The first data point may include, but is not limited to, one or more measurements taken by bucket position sensor 315 when bucket 34 is at the first track position 900a. For example, when bucket 34 is at the first track position 900a, electronic processor 250 may determine the degree to which bucket 34 is pushed or pulled, the degree to which bucket 34 is lifted, and / or the rotational position of bucket 34 based on measurements taken by bucket position sensor 315. The push-pull, lift, and rotation measurements acquired by bucket position sensor 315 may be included in and / or stored in association with the first data point.
[0106] Additionally, the electronic processor 250 can be configured to determine a set of (x, y, z) coordinates representing a first track position 900a, which may be included in and / or stored in association with a first data point. As described above with respect to the local coordinate system 400 of the rope shovel, the electronic processor 250 can be configured to determine or obtain the (x, y, z) coordinates of a point on or near the track 80 based on the (x, y, z) coordinates of a specific bucket reference point 410. Therefore, when the bucket 34 is located at the first track position 900a, the (x, y, z) coordinates of the first track position 900a can be obtained from the (x, y, z) coordinates of the specific bucket reference point 410.
[0107] about Figure 9 and 10AThe electronic processor 250 can be configured to determine the (x, y, z) coordinates of a first track position 900a by determining the (x, y, z) coordinates of a bucket reference point 410 aligned with and / or in contact with the front-upper-right apex of the right track 80a, the first track position 900a being a point located at the front-upper-right apex of the right track 80a. For example, as Figure 10A As shown, the bucket center 410a is aligned and in contact with the front-upper-right apex of the right track 80a, while the bucket 34 is located at the first track position 900a. Therefore, when the bucket center 410a contacts the front-upper-right apex of the right track 80a, the electronic processor 250 can be configured to determine the (x, y, z) coordinates of the first track position 900a, which are equal to the (x, y, z) coordinates of the bucket center 410a. Therefore, after the electronic processor 250 determines the (x, y, z) coordinates of the first track position 900a, these coordinates can be included in and / or stored in association with a first data point.
[0108] Although the (x, y, z) coordinates of the first track position 900a are shown and described as equivalent to the (x, y, z) coordinates of the bucket center 410a, it should be understood that the (x, y, z) coordinates of the first track position 900a can be obtained from any corresponding (x, y, z) coordinates of the bucket reference point 410. For example, if the right front apex 410b of the bucket is aligned and / or in contact with the front-upper-right side of the right track 80a, the electronic processor can be configured to determine that the (x, y, z) coordinates of the first track position 900a are equivalent to the (x, y, z) coordinates of the right front bucket apex 410b. In other cases, the electronic processor 250 can obtain the (x, y, z) coordinates of the first track position 900a from the corresponding (x, y, z) coordinates of the right rear bucket apex 410c, the left front bucket apex 410d, the left rear bucket apex 410e, or any other reference point defined on the surface of the bucket 34.
[0109] In block 815, electronic processor 250 moves bucket 34 to a second position associated with track 80 of cable shovel 10. For example, a cable shovel operator can input a command to move bucket 34 to the second position associated with track 80 using bucket motion command input device 305. Electronic processor 250 receives the operator input signal from bucket motion command input device 305 and converts the signal into a corresponding motion command for bucket drive 310. In response to receiving the motion command from electronic processor 250, bucket drive 310 controls bucket 34 to move to the second position associated with track 80.
[0110] In some embodiments, the second position or second track position associated with track 80 is located near the rear end of track 80. For example, as Figure 9 and Figure 10B As shown, the second track position can be a second track position 900b located at the apex connecting the rear surface, upper surface, and right (outer) surface of the right track 80a, hereinafter referred to as the "rear-upper-right apex of the right track 80a". It should be understood that the second track position 900b is an exemplary second track position, and the second track position can be located at any other point on or near the right track 80a. For example, in some cases, the second track position can be located at the middle portion or the front end of the right track 80a. Furthermore, the second track position does not necessarily need to be located at a point on or near the right track 80a. For example, the second track position can be located at or near a point on the left track 80b. In some embodiments, the second track position is selected based on the positioning of the first track position. For example, if the first track position is located at or near the front end of track 80, the second track position can be located at or near the middle portion or the rear end of track 80. In some embodiments, the second track position may be located between tracks 80, in front of tracks 80, behind tracks 80, or outside tracks 80.
[0111] The process of moving the bucket 34 to the second track position 900b may include aligning and / or contacting the second track position 900b with a specific point on the surface of the bucket 34. For example, the electronic processor 250 may be configured to move the bucket 34 such that one of the bucket reference points 410 is aligned and / or contacted with the second track position 900b. Figure 10B As shown, the bucket 34 moves to the second track position 900b, such that the bucket center 410a is aligned and in contact with the rear-upper-right apex of the right track 80a, while the bucket 34 is located at the second track position 900b. Although the bucket center 410a has been shown and described, it should be understood that any of the bucket reference points 410 can be used to align and / or contact the second track position 900b with the bucket 34. For example, the electronic processor 250 can alternatively be configured to align and / or contact the rear-upper-right apex of the right track 80a with the right front bucket apex 410b, right rear bucket apex 410c, left front bucket apex 410d, left rear bucket apex 410e, or any other reference point defined on the surface of the bucket 34.
[0112] In block 820, electronic processor 250 determines a second data point associated with or capable of indicating the second track position 900b. The second data point may include, but is not limited to, one or more measurements taken by bucket position sensor 315 when bucket 34 is at the second track position 900b. For example, when bucket 34 is at the second track position 900b, electronic processor 250 may determine the degree to which bucket 34 is pushed or pulled, the degree to which bucket 34 is lifted, and / or the rotational position of bucket 34 based on measurements taken by bucket position sensor 315. The push-pull, lift, and rotation measurements acquired by bucket position sensor 315 may be included in and / or stored in association with the second data point.
[0113] Additionally, the electronic processor 250 can be configured to determine a set of (x, y, z) coordinates representing the second track position 900b, which may be included in and / or stored in association with a second data point. As described above with reference to the local coordinate system 400 of the rope shovel, the electronic processor 250 can be configured to determine or obtain the (x, y, z) coordinates of a point on or near the track 80 based on the (x, y, z) coordinates of a specific bucket reference point 410. Therefore, when the bucket 34 is located at the second track position 900b, the (x, y, z) coordinates of the second track position 900b can be obtained from the (x, y, z) coordinates of the specific bucket reference point 410.
[0114] about Figure 9 and Figure 10B The electronic processor 250 can be configured to determine the (x, y, z) coordinates of the second track position 900b by determining the (x, y, z) coordinates of the bucket reference point 410 aligned with and / or in contact with the rear-upper-right apex of the right track 80a. For example, as Figure 10B As shown, the bucket center 410a is aligned and in contact with the top of the rear-upper-right apex of the right track 80a, while the bucket 34 is located at the second track position 900b. Therefore, when the bucket center 410a contacts the rear-upper-right apex of the right track 80a, the electronic processor 250 can be configured to determine that the (x, y, z) coordinates of the second track position 900b are equivalent to the (x, y, z) coordinates of the bucket center 410a. Accordingly, after the electronic processor 250 determines the (x, y, z) coordinates of the second track position 900b, the (x, y, z) coordinates of the second track position 900b can be included in and / or stored in association with the second data point.
[0115] Although the (x, y, z) coordinates representing the second track position 900b are shown and described as equivalent to the (x, y, z) coordinates of the bucket center 410a, it should be understood that the (x, y, z) coordinates of the second track position 900b can be obtained from any (x, y, z) coordinates representing the bucket reference point 410. For example, if the right front apex 410b of the bucket is aligned and / or in contact with the rear-upper-right apex of the right track 80a, the electronic processor 250 can be configured to determine that the (x, y, z) coordinates of the second track position 900b are equivalent to the (x, y, z) coordinates of the right front bucket apex 410b. In other cases, the electronic processor 250 can obtain the (x,y,z) coordinates of the second track position 900b from the corresponding (x,y,z) coordinates of the right rear bucket apex 410c, the left front bucket apex 410d, the left rear bucket apex 410e, or any other reference point defined on the surface of the bucket 34.
[0116] In block 825, electronic processor 250 generates a virtual model of track 80 based on first and second data points. For example, electronic processor 250 may be configured to infer virtual boundaries of track 80 from data contained in the first and second data points. The virtual boundaries of track 80 collectively form a virtual model of track 80 and define the three-dimensional volume of track 80 in the local coordinate system 400 of the rope shovel. In some embodiments, electronic processor 250 may also be configured to combine the first and second data points with dimensional data stored in memory 255 when inferring the virtual boundaries of track 80.
[0117] In some embodiments, the electronic processor 250 may be configured to define a virtual track boundary as one or more points within a local coordinate system 400, the points representing coordinates of a first track position and a second track position, and / or inferred from the coordinates representing the first track position and the second track position. In such embodiments, the electronic processor 250 may be configured to generate a virtual model of track 80 defined by one or more boundary points inferred from the coordinates representing the first track position and the second track position. In some embodiments, the electronic processor 250 may be configured to define a virtual track boundary as one or more line segments within a local coordinate system 400, the line segments intersecting or inferred from the coordinates of the first track position and / or the second track position. In such embodiments, the electronic processor 250 may be configured to generate a virtual model of track 80 defined by the intersections or junctions of line segments representing the virtual track boundary. In some embodiments, the electronic processor 250 may be configured to define a virtual track boundary as one or more arcs within a local coordinate system 400, said arcs intersecting or being inferred from coordinates representing a first track position and / or a second track position. In such embodiments, the electronic processor 250 may be configured to generate a virtual model of track 80 defined by the intersections or junctions of arcs representing the virtual track boundary. In some embodiments, the electronic processor 250 may be configured to define a virtual track boundary as one or more curves (e.g., straight lines, parabolas, ellipses, circles, etc.) within a local coordinate system 400, said curves intersecting or being inferred from coordinates representing a first track position and / or a second track position. In such embodiments, the electronic processor 250 may be configured to generate a virtual model of track 80 defined by the intersections of curves representing the virtual track boundary. In some embodiments, the electronic processor 250 may be configured to define a virtual track boundary as a plane within a local coordinate system 400, which intersects with or is inferred from coordinates representing a first track position and / or a second track position within the local coordinate system 400. In such embodiments, the electronic processor 250 may be configured to generate a virtual model of track 80, which is defined by the intersection of planes representing the virtual track boundary. In some embodiments, the electronic processor 250 may be configured to define a virtual track boundary as a combination of one or more points, line segments, arcs, curves, and / or planes within the local coordinate system 400, which intersect with or are inferred from coordinates representing a first track position and / or a second track position within the local coordinate system 400.In such embodiments, the electronic processor 250 can be configured to generate a virtual model of the track 80, the virtual model being defined by the intersection of points, line segments, arcs, curves, and / or planes representing the virtual track boundary. It should be understood that the examples of defining the track boundary described above are not limiting, as the electronic processor 250 can be configured to use alternative means to define the virtual track boundary. Furthermore, it should be understood that the electronic processor 250 can be further configured to generate the virtual track boundary using dimensional data stored in memory 255, combining a first data point and a second data point.
[0118] Figure 11 A perspective view of a virtual model or track model 1100 of a track 80 generated by an electronic processor 250 according to some embodiments is shown. Specifically, Figure 11 A virtual model of the right track 80a, or right track model 1100a, and a virtual model of the left track 80b, or left track model 1100b, are shown. As will be described in more detail below, the electronic processor 250 can be configured to infer virtual boundaries from data points associated with the first track position 900a and the second track position 900b when generating the track model 1100. It should be understood that... Figure 11 The track model 1100 shown and described herein is merely one example of a virtual model of track 80 that can be generated by electronic processor 250, and various other embodiments of the virtual track model can be generated by electronic processor 250. Furthermore, it should be understood that the process described below for inferring virtual boundaries from first and second data points is only one example of how electronic processor 250 can be configured to infer virtual boundaries from data points associated with first track position 900a and second track position 900b. Accordingly, in other embodiments, electronic processor 250 may be configured to employ additional or alternative processes to infer virtual track boundaries when generating the virtual model of track 80.
[0119] refer to Figure 11 The first track position 900a and the second track position 900b are represented as points in the local coordinate system 400 of the rope shovel. Specifically, the first track position 900a is represented as having a first set of Cartesian coordinates (x, y, y). a ,y a ,z a The first set of Cartesian coordinates is determined by the electronic processor 250 in step 810 of the track modeling method 800. Similarly, the second track position 900b is represented as having a second set of Cartesian coordinates (x...). b ,y b ,z b The second set of Cartesian coordinates is determined by the electronic processor 250 in step 820 of the track modeling method 800.
[0120] like Figure 11 As shown, the electronic processor 250 can be configured to generate a box-shaped right track model 1100a and a left track model 1100b. Specifically, the electronic processor 250 can be configured to generate a box-shaped right track model 1100a defined by eight boundary vertices. As described above with respect to steps 805 and 810, the first track position 900a is located at the vertex connecting the front surface, upper surface, and right (outer) surface of the right track 80a. Therefore, when generating the virtual track model, the electronic processor 250 can be configured to define the first track position 900a as the boundary vertex connecting the front surface, upper surface, and right surface of the right track model 1100a. Figure 11 As shown, the first track position 900a is the vertex connecting the front surface 1105, upper surface 1110, and right surface 1115 of the right track model 1100a. Similarly, as described above regarding steps 815 and 820, the second track position 900b is located at the vertex connecting the rear surface, upper surface, and right (outer) surface of the right track 80a. Therefore, as Figure 11 As shown, the electronic processor 250 can be configured to define the second track position 900b as the boundary vertex connecting the rear surface 1120, upper surface 1110 and right surface 1115 of the right track model 1100a.
[0121] The electronic processor 250 can also be configured to infer the six remaining boundary vertices of the box-shaped right track model 1100a from a first set of Cartesian coordinates representing the first track position 900a, a second set of Cartesian coordinates from the second track position 900b, and dimensional data associated with the track 80 stored in the memory 255.
[0122] For example, the electronic processor 250 can be configured to determine the Cartesian coordinates of the boundary vertex (hereinafter referred to as "front-bottom-right vertex 1130") connecting the front surface 1105, bottom surface 1125, and right surface 1115 of the right track model 1100a, based on a first set of Cartesian coordinates and the known height of the right track 80a stored in memory 255. Specifically, the electronic processor 250 can determine that the front-bottom-right vertex 1130 has the following set of Cartesian coordinates: (x a ,y a ,(z a–height)), where the z-component of the front-bottom-right vertex 1130 is equal to the difference between the z-component of the first track position 900a and the known height of the right track 80a. Similarly, the electronic processor 250 can be configured to infer the Cartesian coordinates of the boundary vertex (hereinafter referred to as “rear-bottom-right vertex 1135”) connecting the rear surface 1120, bottom surface 1125 and right surface 1115 of the right track model 1100a based on a second set of Cartesian coordinates and the known height of the right track 80a. Specifically, the electronic processor 250 can determine that the rear-bottom-right vertex 1135 has the following set of Cartesian coordinates: (x b ,y b ,(z b –height)), where the z-component of the rear-bottom-right vertex 1135 is equal to the difference between the z-component of the second track position 900b and the known height of the right track 80a.
[0123] The electronic processor 250 can be further configured to determine the Cartesian coordinates of the boundary vertex (hereinafter referred to as "front-top-left vertex 1145") connecting the front surface 1105, upper surface 1125, and left surface 1140 of the right track model 1100a, based on a first set of Cartesian coordinates and the known width of the right track 80a stored in memory 255. Specifically, the electronic processor 250 can determine that the front-top-left vertex 1145 has the following set of Cartesian coordinates: ((x a –width), y a ,z a ), where the x-component of the front-top-left vertex 1145 is equal to the difference between the x-component of the first track position 900a and the known width of the right track 80a. Similarly, the electronic processor 250 can be further configured to determine the Cartesian coordinates of the boundary vertex (hereinafter referred to as "back-top-left vertex 1150") connecting the rear surface 1120, upper surface 1125, and left surface 1140 of the right track model 1100a, based on a second set of Cartesian coordinates and the known width of the right track 80a. Specifically, the electronic processor 250 can determine that the back-top-left vertex 1150 has the following set of Cartesian coordinates: ((x b –width), y b ,z b ), where the x-component of the rear-up-left vertex 1150 is equal to the difference between the x-component of the first track position 900a and the known width of the right track 80a.
[0124] Additionally, the electronic processor 250 can be configured to determine the Cartesian coordinates of the boundary vertex (hereinafter referred to as "front-bottom-left vertex 1155") connecting the front surface 1105, bottom surface 1125, and left surface 1140 of the right track model 1100a, based on a first set of Cartesian coordinates, the known height of the right track 80a, and the known width of the right track 80a. Specifically, the electronic processor 250 can determine that the front-bottom-left vertex 1155 has the following set of Cartesian coordinates: ((x a –width), y a ,(z a –height). The x-component of the front-bottom-left vertex 1155 is equal to the difference between the x-component of the first track position 900a and the known width of the right track 80a, and the z-component of the front-bottom-left vertex 1155 is equal to the difference between the z-component of the first track position 900a and the known height of the right track 80a. Similarly, the electronic processor 250 can be further configured to determine the Cartesian coordinates of the boundary vertex (hereinafter referred to as "rear-bottom-left vertex 1160") connecting the rear surface 1120, bottom surface 1125 and left surface 1140 of the right track model 1100a based on a second set of Cartesian coordinates, the known height of the right track 80a and the known width of the right track 80a. Specifically, the electronic processor 250 can determine that the rear-bottom-left vertex 1160 has the following set of Cartesian coordinates: ((x b –width), y b ,(z b – Height)). The x-component of the rear-bottom-left vertex 1160 is equal to the difference between the x-component of the second track position 900b and the known width of the right track 80a, and the z-component of the rear-bottom-left vertex 1160 is equal to the difference between the z-component of the second track position 900b and the known height of the right track 80a.
[0125] In view of the above, the right track model 1100a generated by the electronic processor 250 includes six boundary faces and eight boundary vertices, wherein each boundary face is defined by a corresponding set or group of four boundary vertices. The front surface 1105 of the right track model 1100a is defined by the first track position 900a, the front-bottom-right vertex 1130, the front-top-left vertex 1145, and the front-bottom-left vertex 1155. The top surface 1110 of the right track model 1100a is defined by the first track position 900a, the second track position 900b, the front-top-left vertex 1145, and the rear-top-left vertex 1150. The right surface 1120 of the right track model 1100a is defined by the first track position 900a, the second track position 90b, the front-bottom-right vertex 1130, and the rear-bottom-right vertex 1135. The rear surface 1120 of the right track model 1100a is defined by the second track position 900b, the rear-bottom-right vertex 1135, the rear-top-left vertex 1150, and the rear-bottom-left vertex 1160. The bottom surface 1125 of the right track model 1125 is defined by the front-bottom-right vertex 1130, the rear-bottom-right vertex 1135, the front-bottom-left vertex 1155, and the rear-bottom-left vertex 1160. The left surface 1140 of the right track model 1100a is defined by the front-top-left vertex 1145, the rear-top-left vertex 1150, the front-bottom-left vertex 1155, and the rear-bottom-left vertex 1160.
[0126] In some cases, the track 80 may have a curved shape (see, for example, see...). Figure 2 and Figure 18 (Side view). If track 80 has a curved shape, the height of the front end and / or rear end of track 80 may be less than the height of the middle portion of track 80. Relative to the example provided above, if the right track 80a is curved, the height of the front end of the right track 80a may be less than the height of the middle portion of the right track 80a. Therefore, the electronic processor 250 can be configured to modify the right track model 1100a to accommodate the height difference between the middle and end portions of the right track 80a. For example, track model 1100a is not defined by straight boundaries, and one or more boundaries may be defined as curves. For example, the vertex connecting the first track position 900a and the second track position 900b could be a curve with endpoints at positions 900a and 900b, and the height of its midpoint above the z-coordinate of position 900a or 900b, based on the known height difference between the middle and end portions of the right track 80a. A similar curve could serve as the vertex connecting points 1145 and 1150. Alternatively, the electronic processor 250 can maintain... Figure 11The track model 1100a shown has a general cuboid shape, but the boundary vertices of the right track model 1100a are moved along the z-axis as a function of the height difference between the middle and end of the right track 80a. For example, if it is known that the height of the first track position 900a is half the height of the middle portion of track 80a, the electronic processor 250 can move the right track model 1100a upward along the z-axis by a distance equal to half the height of the middle portion of the right track 80a. Therefore, the electronic processor 250 is operable to modify the virtual track model 1100 to accurately represent the right track 80a and the left track 80b, even if the track 80 is curved.
[0127] If it can be assumed that the size of the right track 80a is approximately equal to that of the left track 80b, then the electronic processor 250 can be configured to generate the left track model 1100b by mirroring or reflecting the boundary vertices included in the right track model 1100a along the yz plane of the local coordinate system 400. In other words, if the sizes of the right track 80a and the left track 80b are approximately equal, then the electronic processor 250 can be configured to define a set of boundary vertices of the left track model 1100b by flipping the sign of the x-components of the boundary vertices contained in the right track model 1100a (e.g., from positive to negative). For example, the Cartesian coordinates (-x) of the front-top-left vertex of the left track model 1100b. a ,y a ,z a The value is determined by flipping the sign of the x-component in the Cartesian coordinates representing the first track position 900a.
[0128] Although the virtual track model 1100 is described herein as generally box-shaped in several embodiments, in some embodiments, the virtual track model can be generated in various different shapes. For example, as described above, the electronic processor 250 can be configured to generate a virtual track model composed of any combination of one or more boundary points, line segments, arcs, curves, and / or planes that define a three-dimensional volume representing the track 80.
[0129] The virtual track model 1100 generated by the electronic processor 250 can be used in the collision prevention and mitigation system described in method 500 above. For example, the virtual track model 1100 can be generated and stored in memory 255 as part of model data 325. Therefore, determining the distance between the bucket 34 and the track 80 and using it as part of step 515 may include receiving the virtual track model 1100 from memory 255. In some embodiments, step 515 of method 500 includes generating and using the virtual track model 1100 by the electronic processor 250 without storing the virtual track model 1100 in memory 255.
[0130] Referring again to the virtual track model generation process, in some cases, it is assumed that the size of the right track 80a is not approximately equal to that of the left track 80b. For example, the corresponding front ends of the right track 80a and the left track 80b can be configured to extend and / or retract individually. Therefore, sometimes the right track 80a may be shorter than the left track 80b, sometimes the same length, or longer than the left track 80b. Therefore, while executing the track modeling method 800, the electronic processor 250 can also be configured to move the bucket 34 to a third track position and determine a third data point associated with the third track position to accommodate the difference in track length.
[0131] Figure 12 An embodiment of the rope shovel 10 is shown, wherein the front end of the left track 80b has extended, making the left track 80b longer than the right track 80a. Because the right track 80a and the left track 80b have different lengths, the virtual model of the left track 80b generated by the electronic processor 250 by mirroring the virtual model of the right track 80a along the yz plane is inaccurate. Therefore, in some embodiments of the track modeling method 800, the electronic processor 250 can be configured to move the bucket 34 and determine corresponding data points indicating the three positions 1200a, 1200b, and 1200c associated with the track 80. Figure 12 The first track position 1200a and the second track position 1200b shown are similar to the first track position 900a and the second track position 900b described herein. That is, the first track position 1200a is located at the front-upper-right apex of the right track 80a, and the second track position 1200b is located at the rear-upper-right apex of the right track 80a. As described above, the electronic processor 250 can determine a first data point, which includes measurements obtained by the bucket position sensor 315 when the bucket 34 is located at the first track position 1200a and a set of Cartesian coordinates representing the first track position 1200a. Similarly, the electronic processor 250 can determine a second data point, which includes measurements obtained by the bucket position sensor 315 when the bucket 34 is located at the second track position 1200b and a set of Cartesian coordinates representing the second track position 1200b.
[0132] Furthermore, the electronic processor 250 can be configured to move the bucket 34 to the third track position 1200c (e.g., in...). Figure 8 (After box 820 in method 800). For example... Figure 12As shown, the third track position 1200c is located at the front-upper-left apex of the left track 80b. When the bucket 34 is in the third track position 1200c, the electronic processor 250 determines a third data point, which includes the measurement results obtained by the bucket position sensor 315 and a set of Cartesian coordinates representing the third track position 1200c.
[0133] In these embodiments of method 800, in block 825, electronic processor 250 is operable to generate a virtual model of track 80 using first data points, second data points, and third data points associated with track positions 1200a-1200c. Specifically, by using the first data point associated with the first track position 1200a and the second data point associated with the second track position 1200, electronic processor 250 is able to generate right track model 1300a in a manner similar to that used to generate right track model 1100a. Figure 13 However, instead of generating the left track model by mirroring the right track model 1300a along the yz plane, the electronic processor 250 is configured to generate the left track model 1300b based on a second data point associated with the second track position 1200b and a third data point associated with the third track position 1200c.
[0134] like Figure 13 As shown, the third track position 1200c is represented as a coordinate point in the local coordinate system 400 of the rope shovel. Specifically, the third track position 1200c is represented as having a third set of coordinates (x... c ,y c ,z c The points, which are included in the third data points determined by the electronic processor 250, are the coordinates (x, y) representing the third track position 1200c. The third track position 1200c is located at the vertex connecting the front surface, upper surface, and left surface of the left track model 1300b, or at the front-upper-left boundary vertex of the left track model 1300b. In a manner similar to that used to generate the virtual track model 1100, the electronic processor 250 can be configured to start from the coordinates (x, y) representing the third track position 1200c. c ,y c ,z c Infer the coordinates of the three remaining front boundary vertices (e.g., front-top-right vertex, front-bottom-left vertex, and front-bottom-right vertex) of the left track model 1300b.
[0135] Furthermore, in some embodiments (e.g., where the rear end of track 80 cannot extend or retract independently), it can be assumed that the distance from track center 405 to the rear-top-right vertex of right track 80a (e.g., second track position 1200b) is equal to the distance from track center 405 to the rear-top-left vertex of left track 80b. Therefore, electronic processor 250 can be configured to infer the coordinates of the rear-top-left boundary vertex 1305 from the coordinates representing the second track position 1200b. Specifically, electronic processor 250 can infer the coordinates of the rear-top-left boundary vertex 1305 by flipping the coordinates contained in the second set of coordinates (x... b ,y b ,z b The sign of the x-component in the equation is used to obtain the coordinates (-x) of the back-top-left boundary vertex 1305. b ,y b ,z b In a manner similar to that described above, the electronic processor 250 can be configured to use the coordinates (-x) of the back-top-left boundary vertex 1305. b ,y b ,z b The coordinates of the three remaining rear boundary vertices (e.g., rear-top-right vertex, rear-bottom-left vertex, rear-bottom-right vertex) of the left track model 1300b are inferred. Therefore, the track modeling method 800 can be modified to generate virtual models of tracks 80 with different lengths. Although the described rope shovel track 80 has a front end that can be extended or retracted individually, it should be understood that the track modeling method described above can also be used to generate tracks with rear ends that can be extended or retracted individually. Furthermore, it should be understood that the track modeling method described above can be used to generate virtual models of tracks that cannot be extended or retracted individually. In such embodiments, the third data point associated with the third track position is redundant and provides additional accuracy when generating the virtual track model.
[0136] In some embodiments, both the front and rear ends of a single track 80 can be configured to extend and retract. In such embodiments, the electronic processor 250 may not assume that the distance from the track center 405 to a point on the rear surface of the right track 80a is equal to the distance from the track center 405 to the corresponding point on the rear surface of the left track 80b. Instead, while executing the track modeling method 800, the electronic processor 250 can be configured to generate a virtual track model based on the four track positions to accommodate differences in track length.
[0137] For example, Figure 14Four track positions 1400a-1400d are shown, which can be used by the electronic processor 250 when generating a virtual track model. As shown, the first track position 1400a is located at the front-upper-right vertex of the right track 80a, and the second track position 1400b is located at the rear-upper-right vertex of the right track 80a. Similarly, the third track position 1400c is located at the front-upper-left vertex of the left track 80b, and the fourth track position 1400d is located at the rear-upper-left vertex of the left track 80b. This is similar to the above description regarding... Figures 9-13 In the manner described, the electronic processor 250 can be configured to determine a corresponding data point indicating each of the four track positions 1400a-1400d. Furthermore, the electronic processor 250 can be configured to operate in a manner similar to that described above. Figures 9-14 When generating a virtual model of the track 80 using the described process, virtual boundaries are inferred from data points 1400a-1400d indicating the track positions. Therefore, the track modeling method 800 can be modified to generate a virtual model of a rope shovel track 80 with a front and rear end that can be extended or retracted separately.
[0138] In some embodiments, the electronic processor 250 can be configured to generate a virtual track model based on data points associated with four or more track locations. In such embodiments, a virtual track boundary inferred from four or more track locations can provide a more accurate track model compared to a virtual track boundary inferred from four or fewer track locations. For example, the track modeling method 800 can be modified such that the electronic processor 250 is configured to infer virtual track boundaries from up to five, six, eight, ten, twelve, or more track locations when generating the virtual track model. However, in some cases, if the virtual track boundary is inferred from too many locations associated with track 80, method 800 may require excessive time to complete. That is, the process of moving bucket 34 to data points and acquiring data points from a large number of track locations before generating the virtual track model may be inefficient and does not provide the improved accuracy worth the extra time spent. Therefore, to prevent the track modeling method 800 from requiring too much time to complete, it may be desirable to generate a virtual model of track 80 from fewer than 12 locations associated with track 80. In some embodiments, it may be desirable to generate a virtual model of track 80 from fewer than 10, 8, or 6 locations associated with track 80, or from a range of 3 to 6, 3 to 8, 3 to 10, 3 to 12, 4 to 6, 4 to 10, or 4 to 12 locations associated with track 80. These example ranges include endpoints; for example, a range between 3 and 6 includes 3, 4, 5, and 6. As another example, Figure 15The diagram shows six track positions 1500a-1500f that the electronic processor 250 can use when generating the virtual track model. The first four positions 1500a-1500d are similar to... Figure 14 The track positions 1400a-1400d are shown in the diagram. Specifically, the first track position 1500a is located at the front-upper-right apex of the right track 80a, and the second track position 1500b is located at the rear-upper-left apex of the right track 80a. Similarly, the third track position 1500c is located at the front-upper-left apex of the left track 80b, and the fourth track position 1500d is located at the rear-upper-left apex of the left track 80b. However, a fifth track position 1500e is located at a point on the right track 80a, between the first position 1500a and the second position 1500b. Specifically, the fifth track position 1500e is located at the midpoint of the right or outer edge of the upper surface of the right track 80a. Similarly, a sixth track position 1500f is located at the midpoint of the left or outer edge of the upper surface of the left track 80b.
[0139] As described above Figures 9-14 Similarly, in other embodiments, the electronic processor 250 can be configured to determine a corresponding data point associated with each of the six track positions 1500a-1500e. Furthermore, the electronic processor 250 can be configured to infer virtual boundaries from the data points associated with track positions 1500a-1500f when generating a virtual model of the track 80. It should be understood that the respective positions of the six track positions 1500a-1500f are not limited to… Figure 15 The positions shown are not necessarily located at the outer corners of track 80. For example, the first four track positions 1500a-1500d are not necessarily located at the outer corners of track 80. Instead, track positions 1500a-1500d can be moved to any other desired position associated with track 80. Similarly, the fifth track position 1500e and the sixth track position 1500f are not limited to being located at the midpoints of the outer edges of the right track 80a and the left track 80b, respectively. Instead, the fifth track position 1500e and the sixth track position 1500f can be moved to any other desired position associated with track 80.
[0140] In some embodiments, the corresponding position of the track position is determined based on information associated with the track 80 known prior to the processing. For example, in the embodiments described above, the virtual track boundary is derived in part from known dimensional data associated with the track 80, such as track height and / or track width. However, in some embodiments, predetermined values for track height and / or track width are not pre-stored in memory 255. Therefore, in such embodiments, the corresponding position of the track position can be selected such that the electronic processor 250 can operate to infer the track size from data points indicating the track position.
[0141] Figure 16 An embodiment is shown in which the position associated with track 80 is selected for generating a virtual track model when the height of track 80 is unknown. The track modeling method 800 can be modified such that, while generating the virtual track model, the electronic processor 250 is configured to move the bucket 34 and determine the corresponding Cartesian coordinate sets representing track positions 1600a-1600c. As shown, the corresponding positions of the first track position 1600a and the second track position 1600b are similar to the positions of the first track position 900a and the second track position 900b described above. Specifically, the first track position 1600a is located at the front-upper-right vertex of the right track 80a, and the second track position 1600b is located at the rear-upper-right vertex of the right track 80a.
[0142] The third track position 1600c is located on the upper surface of the right track 80a. Specifically, the third track position 1600c is located on the upper surface of the right track 80a at its highest point, or at its maximum displacement along the z-axis relative to the track center 405. For example, when the right track 80a is bent, the middle portion of the right track 80a is higher than its front and / or rear ends. Therefore, the third track position 1600c can be located at the top of the middle portion of the right track 80a to enable the electronic processor to determine the height of the right track 80a.
[0143] The electronic processor 250 can be configured to derive the height of the right track 80a from the relationship between the z-component of the third track position 1600c and the z-component of the first track position 1600a. In some embodiments, it can be assumed that the height or z-component of the first track position 1600a is a fraction of the height of the third track position 1600c. Therefore, the electronic processor 250 can be configured to determine that the height of the right track 80a is equal to a multiple of the difference between the z-component of the third track position 1600c and the z-component of the first track position 1600a. For example, if it is assumed that the height of the first track position 1600a is half the height of the third track position 1600c, then the height of the right track 80a is calculated by doubling the difference between the z-components of the first track position 1600a and the third track position 1600c.
[0144] Although the derivation of track height is relative to... Figure 16The embodiments shown are described, but it should be understood that alternative and / or additional track positions may be used by the electronic processor 250 to determine the height of track 80. For example, the electronic processor 250 may be configured to move bucket 34 to a position where the bottom surface of bucket 34 contacts the surface on which track 80 rests. Therefore, the electronic processor 250 may determine that the height of track 80 is equal to the difference between the z-component of the top surface of the right track 80a and the z-component of the surface on which track 80 rests. As another example, the electronic processor 250 may be configured to... Figure 15 The track height is derived from the coordinates of track positions 1500a-1500f shown. As another example, the electronic processor 250 can be configured to determine the track height based on the corresponding position associated with the left track 80b.
[0145] In some cases, it can be assumed that the height of the right track 80a is approximately equal to the height of the left track 80b. Accordingly, in such cases, the electronic processor 250 can be configured to determine, when generating the virtual model of the track 80, that the calculated height of the right track 80a is equal to the height of the left track 80b. As a first example, if it can be assumed that the heights and other boundary dimensions (e.g., length and width) of the right track 80a and left track 80b are equal, the electronic processor 250 can be configured to generate the virtual model of the left track 80b by mirroring or reflecting the virtual model of the right track 80a relative to the yz plane of the local coordinate system 400. As another example, if it can be assumed that the heights of the right track 80a and left track 80b are approximately equal but their lengths are not equal, the electronic processor 250 can be configured to use the calculated height of the right track 80a and the height described above. Figure 12 and Figure 13 The modeling process generates a virtual model of the left track 80b. In some cases, it may not be assumed that the heights of the right track 80a and the left track 80b are approximately equal. In such cases, the electronic processor 250 can also be configured to determine the height of the left track 80b in a manner similar to that used to determine the height of the right track 80a. Therefore, the electronic processor 250 can be configured to move the bucket 34 to an additional position associated with the left track 80b and derive data points therefrom when generating virtual models of tracks 80 with unequal heights.
[0146] Figure 17An embodiment is shown in which a position associated with track 80 is selected for generating a virtual track model when the width of track 80 is unknown. The track modeling method 800 can be modified such that, while generating the virtual track model, the electronic processor 250 is configured to move the bucket 34 to and determine the corresponding Cartesian coordinate set representing track positions 1700a-1700c within the local coordinate system 400. As shown, the corresponding positions of the first track position 1700a and the second track position 1700b are similar to the positions of the first track position 900a and the second track position 900b described above. Specifically, the first track position 1700a is located at the front-upper-right vertex of the right track 80a, and the second track position 1700b is located at the rear-upper-right vertex of the right track 80a. The position of the third track position 1700c is selected to be located at the front-upper-left vertex of the right track 80a. Therefore, the electronic processor 250 can determine the width of the right track 80a by calculating the difference between the x-component of the first track position 1700a and the x-component of the third track position 1700c. In some embodiments, alternative and / or additional track positions are used to determine the width of the track 80. For example, the electronic processor 250 can be configured to determine the track width based on the position associated with the left track 80b.
[0147] In some cases, it can be assumed that the width of the right track 80a is approximately equal to the width of the left track 80b. Therefore, in such cases, the electronic processor 250 can be configured to determine, when generating the virtual model of the track 80, that the calculated width of the right track 80a is equal to the width of the left track 80b. As a first example, if it can be assumed that the widths and other boundary dimensions (e.g., length and height) of the right track 80a and left track 80b are equal, the electronic processor 250 can be configured to generate the virtual model of the left track 80b by mirroring or reflecting the virtual model of the right track 80a relative to the yz plane of the local coordinate system 400. As another example, if it can be assumed that the widths of the right track 80a and left track 80b are approximately equal but their lengths are not equal, the electronic processor 250 can be configured to use the calculated width of the right track 80a and the aforementioned... Figure 12 and Figure 13 The modeling process generates a virtual model of the left track 80b. In some cases, it may not be assumed that the widths of the right track 80a and the left track 80b are approximately equal. In such cases, the electronic processor 250 can also be configured to determine the width of the left track 80b in a manner similar to that used to determine the width of the right track 80a. Therefore, the electronic processor 250 can be configured to move the bucket 34 to an additional position associated with the left track 80b and derive data points therefrom when generating virtual models of tracks 80 with unequal widths.
[0148] In some embodiments, the track modeling method 800 can be modified to enable the electronic processor 250 to determine the curvature of the track 80. For example, Figure 18 A right-side view of an embodiment of a rope shovel is shown, wherein the rope shovel 10 includes a curved track 80. As shown, three positions associated with the track 80 are selected such that the curvature of the track 80 can be derived from Cartesian coordinates representing track positions 1800a-1800c.
[0149] The first track position 1800a is located at the right front apex of the right track 80a. The second track position 1800b is located at the midpoint of the upper surface of the right track 80a. That is, the second track position 1800b is located at the center between the front and rear ends of the upper surface of the right track 80a. The third track position 1800c is located at the center of the right surface of the right track 80a. That is, the third track position 1800c is located on the right surface of the right track 80a, at the center between the upper and bottom surfaces of the right track 80a. Furthermore, the third track position 1800c is located at the center between the front and rear ends of the right track 80a.
[0150] While determining the curvature of the right track 80a, the electronic processor 250 is configured to move the bucket 34 and determine the corresponding Cartesian coordinate set representing track positions 1800a-1800c. In at least some embodiments, the shape of the right surface of the right track 80a can be approximately modeled as an ellipse. Therefore, the electronic processor 250 can be configured to infer the virtual boundary of the right track 80a from the corresponding coordinates of track positions 1800a-1800c and the equation of the ellipse.
[0151] For example, relative to Equation 1 below, the electronic processor 250 can be configured to determine that a first radius R1 of the right track 80a is equal to the difference between the corresponding y-components of the first track position 1800a and the third track position 1800c. Similarly, the electronic processor 250 can be configured to determine that a second radius R2 of the right track 80a is equal to the difference between the respective z-components of the second track position 1800b and the third track position 1800c. Thus, by using Equation 1, the electronic processor 250 can be configured to infer the virtual track boundary from the Cartesian coordinates of points on the surface of the curved track 80.
[0152]
[0153] Oscillating encoder calibration
[0154] In some embodiments, the electronic processor 250 may be additionally configured to calibrate the oscillation sensor 315c (e.g., an oscillation encoder) of the rope shovel 10 based on position coordinates associated with the track 80. As described above, the oscillation sensor 315c (see...) Figure 3B The bucket 34 is configured to indicate the direction of rotation of the bucket 34 relative to the axis of rotation 84 (see figure 84). Figure 2 The rotational position of ). For example, refer to Figure 19 In this configuration, the bucket 34 is centered in front of the cable shovel 10, and the oscillation sensor 315c can be positioned and configured to indicate a 0-degree rotational position. As another example, in this configuration, when the bucket 34 is centered in the opposite rearward direction, the oscillation sensor 315c indicates a 180-degree rotational position. Due to component tolerances, component wear over time, and other factors, the oscillation sensor 315c may not accurately indicate 0 degrees when the bucket 34 is centered in front of the cable shovel 10. Instead, the oscillation sensor 315c may output a rotational position offset from 0 degrees (e.g., 0.5 degrees, 2 degrees, 5 degrees, 355 degrees, 358 degrees, etc.).
[0155] To ensure that the oscillation sensor 315c provides accurate rotational position information, it is desirable to calibrate the oscillation sensor 315c during the initial setup phase, periodically after a certain period of time, or after using the rope shovel 10, or both, to account for this offset. For example, the electronic processor 250 can determine the offset angle of the oscillation sensor 315c and calibrate it. For instance, the oscillation sensor 315c can be reprogrammed based on the offset angle to provide the expected rotational angle for a given oscillation position of the bucket 34 (e.g., 0 degrees when the bucket is centered in front of the rope shovel 10) or the offset angle can be stored on the controller 200 so that the controller 200 can combine the rotational position (e.g., oscillation angle R) received from the oscillation sensor 315c with the offset angle (e.g., +2.5 degrees) to calculate the actual rotational position of the bucket 34 (e.g., R + 2.5 degrees).
[0156] Figure 19 An embodiment is shown in which the offset angle of the oscillation sensor 315c can be derived from the track positions 1900a-1900f. In a manner similar to that described above, the electronic processor 250 can be configured to move the bucket 34 to and determine the corresponding Cartesian coordinate set representing the track positions 1900a-1900f within the local coordinate system 400.
[0157] The electronic processor 250 can also be configured to infer a pair of lines that have passed through or are approaching tracks at positions 1900a-1900f. Specifically, as... Figure 19As shown, the electronic processor 250 can be configured to infer a first track 1905a that passes through or nearly passes through a position associated with the outer edge of the right track 80a (e.g., first track position 1900a, second track position 1900b, and fifth track position 1900e). Similarly, the electronic processor 250 can be configured to infer a second track 1905b that passes through or nearly passes through a position associated with the outer edge of the left track 80b (e.g., third track position 1900c, fourth track position 1900d, and sixth track position 1900f).
[0158] The electronic processor 250 then infers a third line 1910, which passes through the second track position 1900b and is perpendicular to the first line 1905a. The electronic processor 250 then determines the angle (θ) between the third line 1910 and the second line 1905b. When the oscillation sensor 315c is correctly calibrated, the third line 1910 intersects the second line 1905b at a right angle (i.e., angle (θ) = 90 degrees). However, when the third line 1910 does not intersect the second line 1905b at a right angle, the electronic processor 250 determines an offset angle equal to the difference between 90 degrees and angle θ, which is the angle at which the third line 1910 intersects the second line 1905b. The electronic processor 250 then uses the determined offset angle to calibrate the oscillation sensor 315c, as described above.
[0159] Subsequently, a swing sensor 315c is used to determine the rotational position of the bucket 34. This swing sensor 315c is calibrated by the offset angle, improving the accuracy of the determined rotational position. Although, as described, the calibration of the swing sensor ensures that when the bucket 34 is centered in front of the rope shovel 10, the swing sensor 315c indicates a rotational position of 0 degrees, in some embodiments, the reference system used for the swing angle is altered so that 0 degrees indicates another reference point (e.g., where the bucket 34 is centered in the rear direction of the rope shovel 10).
[0160] Compared to Figure 19 The electronic processor 250 can be configured to derive the offset angle of the oscillation sensor 315c using alternative methods. For example, in some embodiments, the electronic processor 250 is configured to determine the corresponding rotational position or rotation angle of the bucket 34 as it moves to each of the front track positions and rear track positions 1900a, 1900b, 1900c, and 1900d. That is, when the bucket 34 is in track position 1900a, the electronic processor 250 determines the amount of rotation (e.g., 30 degrees) of the bucket 34 relative to the track center 405. Similarly, when the bucket 34 is in each of the track positions 1900b, 1900c, and 1900d, the electronic processor 250 determines the corresponding rotation angle of the bucket 34.
[0161] After determining the rotation angles of the bucket 34 at the front track positions and the rear track positions 1900a, 1900b, 1900c, and 1900d, the electronic processor 250 is configured to sum the four rotation angles and divide the sum by the total number of rotation angles, i.e., four. Therefore, the electronic processor 250 determines that the offset angle of the oscillation sensor 315c is equal to the sum of the rotation angles divided by the total number of rotation angles. As an example, if the rotation angles of the bucket 34 are determined to be 30 degrees at track position 1900a, 150 degrees at track position 1900b, -29.5 degrees at track position 1900c, and -149.5 degrees at track position 1900d, then the electronic processor 250 will determine that the offset angle of the oscillation sensor 315c is equal to 0.25 degrees. Although four rotational positions relative to the bucket 34 are described, it should be understood that the electronic processor 250 can be configured to use more (e.g., six) or fewer (e.g., two) rotational positions of the bucket 34 when determining the offset angle of the swing sensor 315c.
[0162] Preventing and mitigating collisions between the bucket and the restricted area
[0163] Figure 20 A method 2000 for preventing or mitigating collisions between a bucket and a restricted area is illustrated according to some embodiments. Typically, a restricted area is an area or volume defining the location of an object that the bucket 34 should avoid colliding with. In method 2000, the restricted area is taught to an electronic processor 250 by the movement of the bucket 34.
[0164] Figure 21 Showing Figure 1 This is a top-down schematic diagram of a mining machine, showing examples of restricted zones 2100a-e. As shown, a restricted zone can define, for example, the location of the tracks 80a and 80b of the wire rope shovel, the power cable reel 2105 of the wire rope shovel, the hopper 2110 of the wire rope shovel 10 for loading ore, the truck 2115 of the wire rope shovel for loading ore, the power supply station 2120, or other obstacles that the bucket should avoid contact with. The power cable reel 2105 is a reel of the power cable 2122 used to supply power to the wire rope shovel 10. As shown, the power cable 2122 is connected to the power supply station 2120. The power supply station 2120 may include a pole extending vertically from a base. The pole may include mechanical couplings to secure the power cable 2122 in an elevated position. Several power supply stations 2120 from a power source (e.g., a transformer) may be provided to support the power cable 2122 running through the mine.
[0165] Restricted area 2100a corresponds to power cable reel 2105, restricted area 2100b corresponds to hopper 2110, restricted area 2100c corresponds to truck 2115, restricted area 2100d corresponds to power supply station 2120, and restricted area 2100e corresponds to tracks 80a and 80b. Restricted areas 2100a-e can be referred to as restricted area 2100, and they can also be collectively referred to as restricted area 2100. Additionally, in some embodiments, Figure 8 The track model described by the method can be used as a no-go zone (see, for example, Figure 11 (The tracked models 1100a and 1100b). Furthermore, although the restricted area is... Figure 21 The area is displayed as a two-dimensional region in the top-down view, but the restricted area can be a three-dimensional volume, similar to... Figure 11 The tracked models 1100a and 1100b are shown in the image.
[0166] Return to Figure 20 The method 2000 is described with respect to the rope shovel 10, bucket 34, restricted area 2100, and electronic processor 250; however, in some embodiments, the method 2000 is implemented with respect to other rope shovels or mining machines with buckets having push-pull, lifting, and swinging movements, and with respect to restricted areas 2100 with different arrangements. Additionally, although the actions within the method 2000 are described as being performed by the electronic processor 250, the actions can also be described as being performed, for example, by an electronic controller 200 having the electronic processor 250. Furthermore, in some embodiments, the controller 200 and the electronic processor 250 implementing the method 2000 are included in the rope shovel 10 as original equipment (e.g., installed during the manufacture of the rope shovel 10). In some embodiments, one or more of the controllers 200, the electronic processor 250, and the software included thereon are included in an accessory control system in the rope shovel 10 to implement the method 2000.
[0167] In block 2005, electronic processor 250 moves the bucket to multiple locations associated with restricted areas, such as one of restricted areas 2100a-e (collectively referred to as restricted area 2100). For example, using bucket movement command input device 305, a rope shovel operator can input commands to move the bucket 34 to a location 2125 associated with restricted area 2100 (e.g., four locations 2125 of restricted area 2100c or five locations 2125 of restricted area 2100d). Electronic processor 250 receives operator input signals from bucket movement command input device 305 and converts these signals into corresponding movement commands for bucket drive 310. In response to receiving movement commands from electronic processor 250, bucket drive 310 controls the movement of bucket 34 to iteratively move the bucket to each location 2125 associated with restricted area 2100.
[0168] In block 2010, electronic processor 250 determines data points for the restricted area, each data point being associated with one of a plurality of locations. Each data point may include, but is not limited to, one or more measurements taken by bucket position sensor 315 when bucket 34 is positioned at a corresponding location of the plurality of locations. For example, when bucket 34 is at each location of a particular restricted area 2125, electronic processor 250 may determine the degree of push-pull of bucket 34, the degree to which bucket 34 is lifted, and / or the rotational position of bucket 34 based on measurements taken by bucket position sensor 315. The push-pull, lifting, and rotation measurements taken by bucket position sensor 315 may be included in and / or stored in association with each data point. Additionally, electronic processor 250 may be configured to determine a set of (x, y, z) coordinates representing each location 2125 of restricted area 2100, which may be included in and / or stored in association with each corresponding data point. As described above. Figure 4 Described in the local coordinate system 400 of the reference rope shovel, the electronic processor 250 can be configured to determine or derive the (x, y, z) coordinates of each position 2125 based on the (x, y, z) coordinates of a specific bucket reference point 410. Therefore, when the bucket 34 is located at each corresponding position 2125, the (x, y, z) coordinates of each position 2125 can be derived from the (x, y, z) coordinates of the specific bucket reference point 410.
[0169] In box 2015, electronic processor 250 generates a virtual model of the restricted area by inferring the virtual boundaries of the restricted area from data points. For example, as in Figure 8 In block 825, electronic processor 250 can be configured to infer the virtual boundary of restricted area 2100 from data contained in data points. The virtual boundaries of restricted area 2100 collectively constitute a virtual model of restricted area 2100 and define a three-dimensional volume representing restricted area 2100 in the local coordinate system 400 of the rope shovel. In some embodiments, electronic processor 250 can also be configured to combine data points with dimensional data stored in memory 255 when inferring the virtual boundary of restricted area 2100. In other words, in some embodiments, some data points forming the virtual boundary are inferred based on known or assumed dimensions or the symmetry of certain objects (e.g., trucks, hoppers, etc.), rather than being taught to electronic processor 250 as in blocks 2005 and 2010. Figure 8 The process of generating the virtual track model in box 825 provides a further explanation of the technique for inferring virtual models from data points.
[0170] In block 2020, electronic processor 250 receives bucket position data indicating the position of bucket 34. The bucket position data is provided to electronic processor 250 by one or more bucket position sensors 315. For example, the bucket position data may include outputs from one or more sensors among push-pull sensor 315a, lift sensor 315b, and yaw sensor 315c. The output of push-pull sensor 315a indicates the push-pull position of bucket 34, lift sensor 315b indicates the lift position of bucket 34, and yaw sensor 315 indicates the yaw position of bucket 34.
[0171] In block 2025, electronic processor 250 sets motion command limits for bucket movement, selected from swinging, pushing, and lifting movements, based on the distance between the bucket 34 of the mining machine and the restricted area 2100 inferred from bucket position data. In some embodiments, to set motion command limits based on the distance inferred from bucket position data, electronic processor 250 may use one or more limit functions 330 stored in memory 255 to determine the limit value (see [link to relevant documentation]). Figure 3B For example, in some embodiments, the constraint function 330 includes a distance-based function that defines motion command constraints based on the distance between bucket 34 and restricted area 2100, such that they use distance as input and provide constraint values as output. As another example, in some embodiments, the constraint function 330 includes a position-based function that defines motion command constraints based on bucket position data, wherein such a position-based function is defined based on a relationship between (i) potential bucket positions and (ii) relevant distances between potential bucket positions and restricted area 2100. In other words, the distance between each potential position of bucket 34 and restricted area 2100 can be predetermined (e.g., during the setup phase); then, in a subsequent phase of operation, when bucket 34 is determined to be in a particular position, the distance between bucket 34 and restricted area 2100 is inferred based on the previously determined relationship. The position-based function can be generated based on these potential relationships between the position of bucket 34 and the relevant distances between bucket 34 and restricted area 2100. Therefore, the position-based function uses the current position of bucket 34, indicated by bucket position data, as input (and as a representation of the distance between bucket 34 and restricted area 2100) and provides a limit value as output. Then, after determining the limit value, the electronic processor 250 can store the limit value in memory 255 (see...). Figure 3B ) as movement command restrictions for bucket movement (e.g., as one or more of push-pull restriction 335, lift restriction 340 and swing restriction 345).
[0172] As previously mentioned, the distance between the bucket 34 and the restricted area 2100 can be directly used as input to the constraint function, or it can be used indirectly in advance to generate the constraint function, such that the current position of the bucket 34 can be used as input to the constraint function. In some embodiments, the electronic processor 250 uses Figure 5 Method 500 describes a similar technique for determining the distance between bucket 34 and restricted area 2100, and the distance between bucket 34 and track 80. For example, in some embodiments, electronic processor 250 determines the current position of bucket 34 (based on bucket position data from box 2020), determines the position of the restricted area (from box 2015), and then determines the shortest distance between bucket 34 and restricted area 2100 (e.g., the distance between the two nearest points of bucket 34 and restricted area 2100). Electronic processor 250 may use a nearest neighbor algorithm or a similar known algorithm to determine the shortest distance. The distance may be a length measurement across three-dimensional space (e.g., x, y, and z dimensions), and therefore may be referred to as a three-dimensional distance.
[0173] In some embodiments, the restricted area 2100 is associated with a slow region function and a stop region function for bucket movement. In such embodiments, when the distance between the bucket and the restricted area 2100 is below a stop region threshold for the bucket movement, the electronic processor 250 can select a stop region function for the bucket movement, and in response, when the distance between the bucket and the restricted area 2100 is above the stop region threshold but below the slow region threshold for the bucket movement, a slow region function can be selected for the bucket movement. When the distance between the bucket and the restricted area 2100 is above the slow region threshold, the electronic processor 250 can return a default limit value for the movement command restriction. In some embodiments, the slow region threshold, stop region threshold, and default limit value for each of the lifting, pushing, pulling, and swinging movements are stored in memory 255 (e.g., as part of the restriction function 330). In some embodiments, the slow region function and stop region function associated with the restricted area 2100 are similar to Figure 7A and Figure 7B The function shown (in) Figure 7C (Chinese combination).
[0174] In block 2030, the electronic processor 250 controls the bucket movement according to the bucket movement command restricted by the movement command limit. Block 2030 can be configured in conjunction with the above. Figure 5 The middle frame 520 is implemented in a similar manner. For example, in response to an operator's operation of one of the motion command input devices 305 (see...). Figure 3BElectronic processor 250 receives bucket movement command inputs (e.g., lift, push-pull, or swing command inputs). Electronic processor 250 then determines the lower of (a) a movement command limit (set in block 2025) and (b) a bucket movement command input. Electronic processor 250 then provides a bucket movement command to a bucket actuator 310 (e.g., lift actuator 220) associated with the movement command limit, wherein the bucket movement command is the lower of (a) the movement command limit and (b) the bucket movement command input. The bucket actuator 310 receiving the movement command then controls the bucket movement of bucket 34 according to the command. For example, when electronic processor 250 provides a push-pull movement command to push-pull actuator 215 to perform a push-pull at 20% speed, push-pull actuator 215 controls bucket 34 to perform a push-pull at 20% speed.
[0175] In some embodiments of method 2000, at block 2025, instead of setting motion command restrictions for one bucket movement, the electronic processor 250 sets motion command restrictions for two or three bucket movements based on the distance between bucket 34 and restricted area 2100, wherein the bucket movements are selected from swing movements, push-pull movements, and lifting movements. In these embodiments, a similar process for setting motion command restrictions for one bucket movement is used to set the bucket movements for other bucket movements. Therefore, in these embodiments, at block 2030, the electronic processor 250 is configured to control the bucket movement of bucket 34 according to bucket movement commands (e.g., push-pull commands, lifting commands, and swing commands) restricted by each of the push-pull restrictions, lifting restrictions, and swing restrictions.
[0176] In some embodiments, after block 2030, the electronic processor 250 loops back to block 2005, causing the electronic processor 250 to repeatedly execute method 2000. By repeatedly executing method 2000, the electronic processor 250 can take into account changes in the position of the bucket 34 over time and changes in the bucket movement commands received via the bucket movement command input device 305. Therefore, in some embodiments, as the bucket 34 moves, the electronic processor 250 repeatedly updates the movement command limits based on the time-varying distance between the bucket 34 and the restricted areas 2100 (or between multiple restricted areas 2100), and in turn controls the bucket movement based on the updated movement command limits.
[0177] Given the foregoing discussion, it should be apparent that, as a general rule, movement commands are further restricted as bucket 34 is controlled to approach the restricted area 2100. Thus, in some embodiments, when bucket 34 is very close to the restricted area 2100, movement of one or more buckets is restricted, and bucket 34 moves slowly or not at all in response to movement command input from the operator. Furthermore, in some embodiments, when bucket 34 is controlled to be rapidly pushed (or lifted) inward by the operator into the restricted area 2100, the electronic processor 250 will increasingly restrict the push-pull (or lift) movement commands, causing bucket 34 to gradually slow down to prevent collision with the restricted area 2100 or at least mitigate the impact of a collision with the track 80.
[0178] Each restricted area can be associated with a specific set of limiting functions 330. For example, restricted area 2100b for hopper 2110 can be associated with six limiting functions 330, including separate slow-range and stop-range functions for each lifting, pushing, and swinging motion. Similarly, each other restricted area 2100 can be associated with another six limiting functions 330, including separate slow-range and stop-range functions for each lifting, pushing, and swinging motion. In some embodiments, the limiting functions 330 for one restricted area 2100 are more restrictive than those for another. For example, restricted areas 2100d and 2100a may be more restrictive than other restricted areas 2100b, 2100c, and 2100e because restricted areas 2100a and 2100d are for objects with high-voltage power (power cable 2122). For example, see reference... Figure 7C This constraint function 330 is more restrictive and can have higher stop zone thresholds and slow zone thresholds (i.e., restricting the movement command to begin when the bucket 34 is far from the restricted area 2100). In addition, this constraint function 330 has stricter restrictions and can prevent or block movement commands that would lead the bucket 34 toward the restricted area 2100 (instead of reducing it to a non-zero value) when in the stop zone.
[0179] In some embodiments, blocks 2005, 2010, and 2015 are executed multiple times to teach multiple restricted areas 2100 to the electronic processor 250. In such embodiments, after generating a virtual model of each restricted area 2100, the electronic processor 250 continues with the operations of blocks 2020, 2025, and 2030. Thus, in block 2025, the electronic processor 250 can determine a limit value for each restricted area 2100 (based on the associated limit function 330 for each restricted area 2100) and then set the motion command limit to the lowest (i.e., most restrictive) limit value from each restricted area 2100. In some embodiments, this limit is repeatedly selected for each bucket movement (e.g., for lifting, pushing, and swinging movements) such that each bucket movement has a corresponding set of motion command limits, which is the minimum limit value of the limit function 330 for the various restricted areas 2100 associated with a particular bucket movement.
[0180] In practice, at least in some embodiments, the constraint function 330 of the rope shovel 10 defines a virtual three-dimensional field around each restricted area 2100 for the swing bucket motion, push-pull bucket motion, and lifting bucket motion. When one or more of these virtual fields of the bucket 34 overlap with the restricted area 2100, one or more bucket motions associated with the one or more overlapping virtual fields are constrained, and one or more of the virtual fields of the bucket 34 can be mapped onto a coordinate system 400 around the virtual bucket 605.
[0181] Therefore, the embodiments described herein provide systems and methods for preventing and mitigating collisions between the bucket and tracks of mining machinery, such as rope shovels.
Claims
1. A method for modeling the tracks of a mining machine including a bucket, characterized in that, The method includes: The electronic processor moves the bucket to a first position associated with the track; The electronic processor determines a first data point associated with the first location; The electronic processor moves the bucket to a second position associated with the track; The electronic processor determines a second data point associated with the second location; and The electronic processor generates a virtual model of the track by inferring the virtual boundary of the track from the first data point and the second data point.
2. The method according to claim 1, characterized in that, The first position corresponds to the front end of the track; and the second position corresponds to the rear end of the track.
3. The method according to claim 1, characterized in that, The method further includes generating a virtual model of the track by the electronic processor, in part based on the known dimensions of the track.
4. The method according to claim 3, characterized in that, The known dimensions of the track are selected from the group consisting of the track height and the track width.
5. The method according to claim 1, characterized in that, The method further includes: The electronic processor moves the bucket to a third position associated with the tracks; and The electronic processor determines a third data point associated with the third location. The generation of the virtual model of the track by the electronic processor by inferring the virtual boundary of the track includes inferring the virtual boundary of the track from the first data point, the second data point, and the third data point.
6. The method according to claim 5, characterized in that, The first position corresponds to the front end of the first track in the track; The second position corresponds to the rear end of the first track in the track; and The third position corresponds to the front end of the second track in the track.
7. The method according to claim 5, characterized in that, The first position corresponds to the front end of the track; The second position corresponds to the middle portion of the track; and The third position corresponds to the rear end of the track.
8. The method according to claim 7, characterized in that, The method further includes the electronic processor determining the height of the track based on the second data point.
9. The method according to claim 1, characterized in that, The method further includes calibrating the swing encoder of the mining machine by the electronic processor based on a virtual model of the track.
10. The method according to claim 9, characterized in that, Calibrating the oscillating encoder includes determining the offset angle of the oscillating encoder by the electronic processor.
11. The method according to claim 1, characterized in that, The first data point includes information related to the degree to which the bucket is pushed, pulled, lifted, or rotated when the bucket is in the first position.
12. The method according to claim 1, characterized in that, The method further includes the electronic processor using a virtual model of the track to implement a collision prevention and mitigation system, wherein implementing the collision prevention and mitigation system includes: The electronic processor uses a virtual model of the track to determine the distance between the bucket and the track of the mining machine; The electronic processor sets motion command limits for the bucket movement based on the distance; and The electronic processor controls the bucket movement according to the bucket movement command restricted by the movement command limit.
13. A mining machine with a virtual track modeling system, characterized in that, The mining machine includes: frame; Tracks that support the frame and are configured to be driven to move the frame above the ground; Bucket, the bucket being supported by the frame; A bucket drive, connected to the bucket and configured to cause the bucket to perform bucket motion, the bucket motion being selected from swing motion, push-pull motion and lifting motion; A bucket position sensor, configured to determine the position of the bucket relative to a three-dimensional mining machine coordinate system; and An electronic controller, including an electronic processor and a memory, is connected to the bucket drive and the bucket position sensor, and is configured to: Move the bucket to a first position associated with the track; Determine the first data point associated with the first location; Move the bucket to a second position associated with the track; Determine the second data point associated with the second location; and A virtual model of the track is generated by inferring the virtual boundary of the track from the first data point and the second data point.
14. The mining machine according to claim 13, characterized in that, The first position corresponds to the front end of the track; and The second position corresponds to the rear end of the track.
15. The mining machine according to claim 13, characterized in that, The electronic controller is further configured to generate a virtual model of the track, in part, based on the known dimensions of the track.
16. The mining machine according to claim 15, characterized in that, The known dimensions of the track are selected from the group consisting of the track height and the track width.
17. The mining machine according to claim 13, characterized in that, The electronic controller is further configured to: Move the bucket to a third position associated with the track; and Determine the third data point associated with the third location. Generating a virtual model of the track by inferring its virtual boundary includes inferring the virtual boundary of the track from the first data point, the second data point, and the third data point.
18. The mining machine according to claim 17, characterized in that, The first position corresponds to the front end of the first track in the track; The second position corresponds to the rear end of the first track in the track; and The third position corresponds to the front end of the second track in the track.
19. The mining machine according to claim 17, characterized in that, The first position corresponds to the front end of the track; The second position corresponds to the middle portion of the track; and The third position corresponds to the rear end of the track.
20. The mining machine according to claim 19, characterized in that, The electronic controller is further configured to determine the height of the track based on the second data point.
21. The mining machine according to claim 13, characterized in that, The electronic controller is further configured to calibrate the swing encoder of the mining machine based on a virtual model of the track.
22. The mining machine according to claim 21, characterized in that, The electronic controller is further configured to determine the offset angle of the oscillating encoder when calibrating the oscillating encoder.
23. The mining machine according to claim 13, characterized in that, The first data point includes information related to the degree to which the bucket is pushed, pulled, lifted, or rotated when the bucket is in the first position.
24. The mining machine according to claim 13, characterized in that, The electronic controller is further configured to implement a collision prevention and mitigation system using a virtual model of the track.
25. A virtual track modeling and control system for a mining machine, the mining machine having: a frame; tracks supporting the frame and configured to be driven to move the frame above the ground; Bucket, the bucket being supported by the frame; A bucket drive, connected to the bucket and configured to cause the bucket to perform bucket motion, the bucket motion being selected from swing motion, push-pull motion and lifting motion; A bucket position sensor, configured to determine the position of the bucket, characterized in that the control system includes: An electronic controller, including an electronic processor and a memory, is connected to the bucket drive and the bucket position sensor, and is configured to: Move the bucket to a first position associated with the track; Determine the first data point associated with the first location; Move the bucket to a second position associated with the track; Determine the second data point associated with the second location; and A virtual model of the track is generated by inferring the virtual boundary of the track from the first data point and the second data point.
26. The control system according to claim 25, characterized in that, The first position corresponds to the front end of the track; and The second position corresponds to the rear end of the track.
27. The control system according to claim 25, characterized in that, The electronic controller is further configured to generate a virtual model of the track, in part, based on the known dimensions of the track.
28. The control system according to claim 27, characterized in that, The known dimensions of the track are selected from the group consisting of the track height and the track width.
29. The control system according to claim 25, characterized in that, The electronic controller is further configured to: Move the bucket to a third position associated with the track; and Determine the third data point associated with the third location. Generating a virtual model of the track by inferring its virtual boundary includes inferring the virtual boundary of the track from the first data point, the second data point, and the third data point.
30. The control system according to claim 29, characterized in that, The first position corresponds to the front end of the first track in the track; The second position corresponds to the rear end of the first track in the track; and The third position corresponds to the front end of the second track in the track.
31. The control system according to claim 29, characterized in that, The first position corresponds to the front end of the track; The second position corresponds to the middle portion of the track; and The third position corresponds to the rear end of the track.
32. The control system according to claim 31, characterized in that, The electronic controller is further configured to determine the height of the track based on the second data point.
33. The control system according to claim 25, characterized in that, The electronic controller is further configured to calibrate the swing encoder of the mining machine based on a virtual model of the track.
34. The control system according to claim 33, characterized in that, The electronic controller is further configured to determine the offset angle of the oscillating encoder when calibrating the oscillating encoder.
35. The control system according to claim 25, characterized in that, The first data point includes information related to the degree to which the bucket is pushed, pulled, lifted, or rotated when the bucket is in the first position.
36. The control system according to claim 33, characterized in that, The electronic controller is further configured to implement a collision prevention and mitigation system using a virtual model of the track.
37. A method for preventing and mitigating collisions between a bucket and the tracks of a mining machine, characterized in that, The method includes: Receive bucket position data indicating the position of the bucket; Based on the bucket position data, motion command restrictions for bucket movement are set, wherein the bucket movement is selected from swinging motion, pushing and pulling motion, and lifting motion; Compare the bucket movement command input with the movement command limit; When the input bucket movement command is less than the movement command limit, the bucket movement is controlled according to the first bucket movement command; and When the input of the bucket movement command exceeds the movement command limit, a second bucket movement command is generated and the bucket movement is controlled according to the second bucket movement command.
38. The method according to claim 37, characterized in that, To set motion command restrictions for bucket movement based on the bucket position data, the method further includes at least one of the following: (i) Calculate the distance between the bucket and the track of the mining machine and use the distance as input to a distance-based function that defines the motion command constraints based on the distance, and (ii) Using the bucket position data as input to a position-based function that defines the motion command constraints based on the bucket position data, wherein the position-based function is defined based on the relationship between the potential bucket position and the associated distance between the potential bucket position and the track of the mining machine.
39. The method according to claim 37, characterized in that, The method further includes: The position of the three-dimensional virtual bucket model of the mining machine in the three-dimensional coordinate system is determined based on the bucket position data. Determine the position of the three-dimensional virtual track model in the three-dimensional coordinate system; and Determine the shortest distance between the three-dimensional virtual bucket model and the three-dimensional virtual track model, wherein the shortest distance represents the distance between the bucket and the track.
40. The method according to claim 39, characterized in that, The distance is a three-dimensional distance indicating the length across three-dimensional space.
41. The method according to claim 37, characterized in that, Setting the motion command limit for the bucket movement based on the bucket position data includes: reducing the motion command limit from an initial value to a reduced value according to a function, wherein the function is defined as the motion command limit decreasing as the distance between the bucket and the track of the mining machine decreases.
42. The method according to claim 41, characterized in that, The method further includes: Receive updated bucket position data, the updated bucket position data indicating the updated position of the bucket; An updated distance between the bucket and the track of the mining machine is determined based on the updated bucket position data, wherein the updated distance is greater than the original distance; The motion command limit is set to an updated value based on the updated distance, wherein the updated value is greater than the decreased value; and The bucket movement is controlled according to an additional bucket movement command that is restricted by the movement command restriction having the updated value.
43. The method according to claim 41, characterized in that, The function defines a virtual three-dimensional field around the bucket for the movement of the bucket.
44. The method according to claim 37, characterized in that, The restrictions on the movement commands for the bucket movement based on the bucket position data include: When the distance between the bucket and the track of the mining machine is lower than the stop zone threshold, the motion command limit is set according to the stop zone function, and When the distance is higher than the stop region threshold and lower than the slow region threshold, the motion command limit is set according to the slow region function.
45. The method according to claim 37, characterized in that, The bucket movement is a push-pull movement, and the movement command limitation is a push-pull movement command limitation. The method further includes: The lifting motion command limit for the lifting motion is set based on the distance between the bucket and the tracks of the mining machine.
46. The method according to claim 45, characterized in that, The swing motion command limit for the swing motion is set based on the distance between the bucket and the tracks of the mining machine.
47. The method according to claim 37, characterized in that, The method further includes: As the bucket moves, the bucket position data is repeatedly received, indicating the bucket's position over time; and When the bucket position data is received repeatedly, the motion command limit is updated based on the bucket position data.
48. The method according to claim 37, characterized in that, The method further includes: The shortest distance between the three-dimensional virtual bucket model and the three-dimensional virtual track model is determined by an electronic processor, wherein the shortest distance represents the distance between the bucket and the track; and the three-dimensional virtual track model is generated in the following manner: Move the bucket to a first position associated with the track; Determine the first data point associated with the first location; Move the bucket to a second position associated with the track; Determine the second data point associated with the second location; and A virtual model of the track is generated by inferring the virtual boundary of the track from the first data point and the second data point.
49. A mining machine with a collision prevention and mitigation system, characterized in that, The mining machine includes: frame; Tracks that support the frame and are configured to be driven to move the frame above the ground; Bucket, the bucket being supported by the frame; A bucket drive, connected to the bucket and configured to cause the bucket to perform bucket motion, the bucket motion being selected from swing motion, push-pull motion and lifting motion; Bucket position sensor, the bucket position sensor being configured to determine the position of the bucket; and An electronic controller, including an electronic processor and a memory, is connected to the bucket drive and the bucket position sensor, and is configured to: Receive bucket position data indicating the position of the bucket from the bucket position sensor; Based on the bucket position data, set motion command restrictions for the bucket movement; Compare the bucket movement command input with the movement command limit; When the bucket movement command input is less than the movement command limit, the bucket driver controls the bucket movement based on the first bucket movement command; and When the input of the bucket movement command exceeds the movement command limit, a second bucket movement command is generated and the bucket movement is controlled based on the second bucket movement command.
50. The mining machine according to claim 49, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is configured to select at least one of the following: (i) Calculate the distance between the bucket and the track of the mining machine and use the distance as input to a distance-based function that defines the motion command constraints based on the distance, and (ii) Using the bucket position data as input to a position-based function that defines the motion command constraints based on the bucket position data, wherein the position-based function is defined based on the relationship between the potential bucket position and the associated distance between the potential bucket position and the track of the mining machine.
51. The mining machine according to claim 49, characterized in that, The electronic controller is further configured as follows: The position of the three-dimensional virtual bucket model of the mining machine in the three-dimensional coordinate system is determined based on the bucket position data. Determine the position of the three-dimensional virtual track model in the three-dimensional coordinate system; and Determine the shortest distance between the three-dimensional virtual bucket model and the three-dimensional virtual track model, wherein the shortest distance represents the distance between the bucket and the track.
52. The mining machine according to claim 51, characterized in that, Setting motion command restrictions for bucket movement based on the bucket position data includes: reducing the motion command restrictions from an initial value to a reduced value according to a function, wherein the function is defined as the motion command restrictions decreasing as the distance between the bucket and the track of the mining machine decreases.
53. The mining machine according to claim 52, characterized in that, The electronic controller is further configured as follows: Receive updated bucket position data, the updated bucket position data indicating the updated position of the bucket; An updated distance between the bucket and the track of the mining machine is determined based on the updated bucket position data, wherein the updated distance is greater than the original distance; The motion command limit is set to an updated value based on the updated distance, wherein the updated value is greater than the decreased value; as well as The bucket movement is controlled according to an additional bucket movement command that is restricted by the movement command restriction having the updated value.
54. The mining machine according to claim 52, characterized in that, The function defines a virtual three-dimensional field around the bucket for the movement of the bucket.
55. The mining machine according to claim 49, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is configured to: When the distance between the bucket and the track of the mining machine is lower than the stop zone threshold, the motion command limit is set according to the stop zone function, and When the distance is higher than the stop region threshold and lower than the slow region threshold, the motion command limit is set according to the slow region function.
56. The mining machine according to claim 49, characterized in that, The bucket movement is a push-pull movement, and the movement command limitation is a push-pull movement command limitation, wherein the electronic controller is further configured to: The lifting motion command limit for the lifting motion is set based on the distance between the bucket and the tracks of the mining machine.
57. The mining machine according to claim 56, characterized in that, The electronic controller is further configured to set swing motion command limits for the swing motion based on the distance between the bucket and the tracks of the mining machine.
58. The mining machine according to claim 49, characterized in that, The electronic controller is further configured to: As the bucket moves, the bucket position data is repeatedly received, indicating the bucket's position over time; and When the bucket position data is received repeatedly, the motion command limit is updated based on the bucket position data.
59. A control system for preventing and mitigating collisions in a mining machine, the mining machine having: a frame; tracks supporting the frame and configured to be driven to move the frame above ground; Bucket, the bucket being supported by the frame; A bucket drive, connected to the bucket and configured to cause the bucket to perform bucket motion, the bucket motion being selected from swing motion, push-pull motion and lifting motion; A bucket position sensor, configured to determine the position of the bucket, characterized in that the control system includes: An electronic controller, including an electronic processor and a memory, is connected to the bucket drive and the bucket position sensor, and is configured to: Receive bucket position data indicating the position of the bucket from the bucket position sensor; Based on the bucket position data, set motion command restrictions for the bucket movement; Compare the bucket movement command input with the movement command limit; When the bucket movement command input is less than the movement command limit, the bucket driver controls the bucket movement according to the first bucket movement command; and When the input of the bucket movement command exceeds the movement command limit, a second bucket movement command is generated and the bucket movement is controlled according to the second bucket movement command.
60. The control system according to claim 59, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is configured to select at least one of the following: (i) Calculate the distance between the bucket and the track of the mining machine and use the distance as input to a distance-based function that defines the motion command constraints based on the distance, and (ii) Using the bucket position data as input to a position-based function that defines the motion command constraints based on the bucket position data, wherein the position-based function is defined based on the relationship between the potential bucket position and the associated distance between the potential bucket position and the track of the mining machine.
61. The control system according to claim 59, characterized in that, The electronic controller is further configured as follows: The position of the three-dimensional virtual bucket model of the mining machine in the three-dimensional coordinate system is determined based on the bucket position data. Determine the position of the three-dimensional virtual track model in the three-dimensional coordinate system; and Determine the shortest distance between the three-dimensional virtual bucket model and the three-dimensional virtual track model, wherein the shortest distance represents the distance between the bucket and the track.
62. The control system according to claim 61, characterized in that, Setting motion command restrictions for bucket movement based on the bucket position data includes: reducing the motion command restrictions from an initial value to a reduced value according to a function, wherein the function is defined as the motion command restrictions decreasing as the distance between the bucket and the track of the mining machine decreases.
63. The control system according to claim 62, characterized in that, The electronic controller is further configured as follows: Receive updated bucket position data, the updated bucket position data indicating the updated position of the bucket; An updated distance between the bucket and the track of the mining machine is determined based on the updated bucket position data, wherein the updated distance is greater than the original distance; The motion command limit is set to an updated value based on the updated distance, wherein the updated value is greater than the decreased value; as well as The bucket movement is controlled according to an additional bucket movement command that is restricted by the movement command restriction having the updated value.
64. The control system according to claim 62, characterized in that, The function defines a virtual three-dimensional field around the bucket for the movement of the bucket.
65. The control system according to claim 59, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is configured to: When the distance between the bucket and the track of the mining machine is lower than the stop zone threshold, the motion command limit is set according to the stop zone function, and When the distance is higher than the stop region threshold and lower than the slow region threshold, the motion command limit is set according to the slow region function.
66. The control system according to claim 59, characterized in that, The bucket movement is a push-pull movement, and the movement command limitation is a push-pull movement command limitation, wherein the electronic controller is further configured to: The lifting motion command limit for the lifting motion is set based on the distance between the bucket and the tracks of the mining machine.
67. The control system according to claim 66, characterized in that, The electronic controller is further configured to set swing motion command limits for the swing motion based on the distance between the bucket and the tracks of the mining machine.
68. The control system according to claim 59, characterized in that, The electronic controller is further configured to: As the bucket moves, the bucket position data is repeatedly received, indicating the bucket's position over time; and When the bucket position data is received repeatedly, the motion command limit is updated based on the bucket position data.
69. A method for preventing and mitigating collisions between a bucket and a restricted area taught to a mining machine, characterized in that, The method includes: The bucket is moved to multiple locations to establish data points defining the restricted area; A virtual model of the restricted area is generated by inferring the virtual boundary of the restricted area from the data points; Receive bucket position data indicating the position of the bucket; Based on the bucket position data, motion command restrictions for bucket movement are set, wherein the bucket movement is selected from swinging motion, pushing and pulling motion, and lifting motion; Compare the bucket movement command input with the movement command limit; and The bucket movement is controlled according to the bucket movement command restricted by the movement command limit.
70. The method according to claim 69, characterized in that, The restricted area is based on a physical structure selected from at least one of the following: the tracks of the mining machine; the power cable reel of the mining machine; a power supply station; a hopper configured to receive a load from the bucket; and a truck configured to receive a load from the bucket, wherein the data points defining the restricted area are established by one of the following methods: bringing the surface of the bucket into contact with the physical structure, and positioning the bucket at a position offset from the physical structure by a required distance.
71. The method according to claim 69, characterized in that, The method further includes: The bucket is moved to a second plurality of locations to establish data points defining a second restricted area, the second restricted area including the power supply line for the mining machine; A second virtual model of the second restricted area is generated by inferring the virtual boundary of the second restricted area from the data points; Receive additional bucket position data, which indicates the updated position of the bucket; The movement command restrictions for the bucket movement are updated based on the distance between the mining machine's bucket and the second restricted area, inferred from the additional bucket position data; and The bucket movement is controlled by additional bucket movement commands restricted by the movement command restrictions updated based on the distance between the bucket and the second restricted area.
72. The method according to claim 71, characterized in that, The motion command limit for the bucket movement based on distance includes reducing the motion command limit from an initial value to a reduced value according to a first function, wherein the first function adjusts the motion command limit as the distance decreases, and The motion command restriction based on distance update of the bucket motion includes reducing the motion command restriction from an initial value to a reduced value according to a second function, the second function adjusting the motion command restriction as the distance decreases, wherein the second function is more restrictive on the motion than the first function.
73. The method according to claim 69, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the method further includes at least one of the following: (v) Calculate the distance between the bucket and the restricted area and use the distance as input to a distance-based function that defines the motion command restrictions based on the distance, and (vi) Using the bucket position data as input to a position-based function that defines the motion command restrictions based on the bucket position data, wherein the position-based function is defined based on the relationship between the potential bucket position and the associated distance between the potential bucket position and the restricted area.
74. The method according to claim 69, characterized in that, The method further includes: The position of the three-dimensional virtual bucket model of the mining machine in the three-dimensional coordinate system is determined based on the bucket position data. Determine the shortest distance between the three-dimensional virtual bucket model and the virtual model of the restricted area, wherein the shortest distance represents the distance between the bucket and the restricted area.
75. The method according to claim 69, characterized in that, Distance is a three-dimensional distance that indicates the length across three-dimensional space.
76. The method according to claim 69, characterized in that, The restrictions on the movement commands for the bucket movement based on the bucket position data include: When the distance between the bucket and the restricted area is lower than the stop area threshold, the movement command restriction is set according to the stop area function, and When the distance is higher than the stop region threshold and lower than the slow region threshold, the motion command limit is set according to the slow region function.
77. The method according to claim 69, characterized in that, The bucket movement is a push-pull movement, and the movement command restriction is a push-pull movement command restriction; the method further includes: The lifting movement command limit is set based on the distance between the bucket and the restricted area; and The swing motion command limit is set based on the distance.
78. The method according to claim 69, characterized in that, The method further includes: As the bucket moves, the bucket position data is repeatedly received, indicating the bucket's position over time; and When the bucket position data is repeatedly determined, the motion command restrictions are updated based on the bucket position data.
79. A mining machine with a collision prevention and mitigation system, characterized in that, The mining machine includes: frame; Bucket, the bucket being supported by the frame; A bucket drive, connected to the bucket and configured to cause the bucket to perform bucket motion, the bucket motion being selected from swing motion, push-pull motion and lifting motion; A bucket position sensor, configured to determine the position of the bucket; An electronic controller, including an electronic processor and a memory, is connected to the bucket drive and the bucket position sensor, and is configured to: The bucket is moved to multiple locations to establish data points defining the restricted area; A virtual model of the restricted area is generated by inferring the virtual boundary of the restricted area from the data points; Receive bucket position data from the bucket position sensor, indicating the position of the bucket; The movement command restrictions for the bucket movement are set based on the distance between the bucket of the mining machine and the restricted area, inferred from the bucket position data; and The bucket drive controls the bucket movement according to the bucket movement command restricted by the movement command limit.
80. The mining machine according to claim 79, characterized in that, The restricted area is based on a physical structure selected from at least one of the following: the tracks of the mining machine; the power cable reel of the mining machine; a power supply station; a hopper configured to receive a load from the bucket; and a truck configured to receive a load from the bucket, wherein the data points defining the restricted area are established by one of the following methods: bringing the surface of the bucket into contact with the physical structure, and positioning the bucket at a position offset from the physical structure by a required distance.
81. The mining machine according to claim 79, characterized in that, The electronic controller is further configured to: The bucket is moved to a second plurality of locations to establish data points defining a second restricted area, the second restricted area including the power supply line for the mining machine; A second virtual model of the second restricted area is generated by inferring the virtual boundary of the second restricted area from the data points; Receive additional bucket position data, which indicates the updated position of the bucket; The movement command restrictions for the bucket movement are updated based on the distance between the mining machine's bucket and the second restricted area, inferred from the additional bucket position data; and The bucket movement is controlled by additional bucket movement commands restricted by the movement command restrictions updated based on the distance between the bucket and the second restricted area.
82. The mining machine according to claim 81, characterized in that, The motion command limit for the bucket movement based on distance includes reducing the motion command limit from an initial value to a reduced value according to a first function, wherein the first function adjusts the motion command limit as the distance decreases, and The motion command restriction based on distance update of the bucket motion includes reducing the motion command restriction from an initial value to a reduced value according to a second function, the second function adjusting the motion command restriction as the distance decreases, wherein the second function is more restrictive on the motion than the first function.
83. The mining machine according to claim 79, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is further configured to perform at least one of the following: (iii) Calculate the distance between the bucket and the restricted area and use the distance as input to a distance-based function that defines the motion command restrictions based on the distance, and (iv) Using the bucket position data as input to a position-based function that defines the motion command restrictions based on the bucket position data, wherein the position-based function is defined based on the relationship between the potential bucket position and the associated distance between the potential bucket position and the restricted area.
84. The mining machine according to claim 79, characterized in that, The electronic controller is further configured to: The position of the three-dimensional virtual bucket model of the mining machine in the three-dimensional coordinate system is determined based on the bucket position data. Determine the shortest distance between the three-dimensional virtual bucket model and the virtual model of the restricted area, wherein the shortest distance represents the distance between the bucket and the restricted area.
85. The mining machine according to claim 79, characterized in that, The distance is a three-dimensional distance indicating the length across three-dimensional space.
86. The mining machine according to claim 79, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is configured to: When the distance is lower than the stop region threshold, the motion command limit is set according to the stop region function, and When the distance is higher than the stop region threshold and lower than the slow region threshold, the motion command limit is set according to the slow region function.
87. The mining machine according to claim 79, characterized in that, The bucket movement is a push-pull movement, and the movement command limitation is a push-pull movement command limitation; the electronic controller is further configured to: The lifting movement command limit is set based on the distance between the bucket and the restricted area; and The swing motion command limit is set based on the distance.
88. The mining machine according to claim 79, characterized in that, The electronic controller is further configured to: As the bucket moves, the bucket position data is repeatedly received, indicating the bucket's position over time; and When the bucket position data is repeatedly determined, the motion command restrictions are updated based on the bucket position data.
89. A collision prevention and mitigation control system for a mining machine, the mining machine having: a frame; a bucket supported by the frame; a bucket driver coupled to the bucket and configured to cause the bucket to perform a bucket movement selected from swinging, pushing, and lifting movements; A bucket position sensor, configured to determine the position of the bucket, characterized in that... The control system includes: An electronic controller, including an electronic processor and a memory, is connected to the bucket drive and the bucket position sensor, and is configured to: The bucket is moved to multiple locations to establish data points defining the restricted area; A virtual model of the restricted area is generated by inferring the virtual boundary of the restricted area from the data points; Receive bucket position data indicating the position of the bucket; The movement command restrictions for the bucket are set based on the distance between the bucket of the mining machine and the restricted area, inferred from the bucket position data; and The bucket drive controls the bucket movement according to the bucket movement command restricted by the movement command limit.
90. The control system according to claim 89, characterized in that, The restricted area is based on a physical structure selected from at least one of the following: the tracks of the mining machine; the power cable reel of the mining machine; a power supply station; a hopper configured to receive a load from the bucket; and a truck configured to receive a load from the bucket, wherein the data points defining the restricted area are established by one of the following methods: bringing the surface of the bucket into contact with the physical structure, and positioning the bucket at a position offset from the physical structure by a required distance.
91. The control system according to claim 89, characterized in that, The electronic controller is further configured to: The bucket is moved to a second plurality of locations to establish data points defining a second restricted area, the second restricted area including the power supply line for the mining machine; A second virtual model of the second restricted area is generated by inferring the virtual boundary of the second restricted area from the data points; Receive additional bucket position data, which indicates the updated position of the bucket; The movement command restrictions for the bucket movement are updated based on the distance between the mining machine's bucket and the second restricted area, inferred from the additional bucket position data; and The bucket movement is controlled by additional bucket movement commands restricted by the movement command restrictions updated based on the distance between the bucket and the second restricted area.
92. The control system according to claim 91, characterized in that, The motion command limit for the bucket movement based on distance includes reducing the motion command limit from an initial value to a reduced value according to a first function, wherein the first function adjusts the motion command limit as the distance decreases, and The motion command restriction based on distance update of the bucket motion includes reducing the motion command restriction from an initial value to a reduced value according to a second function, the second function adjusting the motion command restriction as the distance decreases, wherein the second function is more restrictive on the motion than the first function.
93. The control system according to claim 89, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is further configured to perform at least one of the following: (vii) Calculate the distance between the bucket and the restricted area and use the distance as input to a distance-based function that defines the motion command restrictions based on the distance, and (viii) Using the bucket position data as input to a position-based function that defines the motion command restrictions based on the bucket position data, wherein the position-based function is defined based on the relationship between the potential bucket position and the associated distance between the potential bucket position and the restricted area.
94. The control system according to claim 89, characterized in that, The electronic controller is further configured to: The position of the three-dimensional virtual bucket model of the mining machine in the three-dimensional coordinate system is determined based on the bucket position data. Determine the shortest distance between the three-dimensional virtual bucket model and the virtual model of the restricted area, wherein the shortest distance represents the distance between the bucket and the restricted area.
95. The control system according to claim 89, characterized in that, The distance is a three-dimensional distance indicating the length across three-dimensional space.
96. The control system according to claim 89, characterized in that, In order to set the motion command restrictions for the bucket movement based on the bucket position data, the electronic controller is configured to: When the distance between the bucket and the restricted area is lower than the stop area threshold, the motion command restriction is set according to the stop area function, and When the distance is higher than the stop region threshold and lower than the slow region threshold, the motion command limit is set according to the slow region function.
97. The control system according to claim 89, characterized in that, The bucket movement is a push-pull movement, and the movement command limitation is a push-pull movement command limitation; the electronic controller is further configured to: The lifting movement command limit is set based on the distance between the bucket and the restricted area; and The swing motion command limit is set based on the distance.
98. The control system according to claim 89, characterized in that, The electronic controller is further configured to: As the bucket moves, the bucket position data is repeatedly received, indicating the bucket's position over time; and When the bucket position data is repeatedly determined, the motion command restrictions are updated based on the bucket position data.
Citation Information
Patent Citations
Crane maneuvering assistance
CN103298728A