Excavator with improved motion sensing
By combining visual range measurement methods of reversing cameras and vision processing systems with traditional IMU signals, hydraulic excavators achieve higher accuracy motion sensing and control, solving the problem of lower signal accuracy in traditional technologies at low speeds or low accelerations.
Patent Information
- Application Number
- CN202010780540.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-26
- Filing Date
- 2020-08-05
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2040-08-05
AI Technical Summary
It is difficult for existing hydraulic excavators to achieve high-precision motion sensing and control during operation, especially when moving slowly or at low accelerations, the signal accuracy of the traditional inertial measurement unit (IMU) is reduced, affecting operational safety and accuracy.
The reversing camera and vision processing system are used to analyze the images acquired by the reversing camera through visual range measurement, provide supplementary motion information, and combine it with the IMU signal to generate more accurate hydraulic excavator motion position information.
Improves the motion sensing accuracy of hydraulic excavators under various motion conditions, enhances operational safety and accuracy, and enables careful and precise implementation of electronic fences, especially when moving slowly or at low accelerations.
Smart Images

Figure CN112443005B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a continuation-in-part application of U.S. patent application serial number 16 / 561,556 filed on September 5, 2019 and claims priority, the contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present specification relates to an excavator used for heavy construction. More particularly, the present specification relates to improved motion sensing and control in such an excavator. Background Art
[0004] Hydraulic excavators are heavy construction equipment that typically weigh between 3,500 and 200,000 pounds. These excavators have a boom, arm, bucket, and cab on a rotating platform (sometimes called a hull). A set of tracks is located under the hull and provides movement for the hydraulic excavator.
[0005] Hydraulic excavators are used for a wide range of operations from digging holes or trenches, demolition, placing or lifting large objects, and landscaping. These excavators are also often used along roads during road construction. As can be understood, such heavy equipment is close to passing motorists and / or other environmental objects, requiring very safe operation. One way to ensure the safety of excavator operations is to utilize electronic fences. Electronic fences are electronic boundaries set by the operator so that the excavator bucket / arm will not move beyond specific limit positions. These limits can be angular (left and right stops) and / or vertical (upper and / or lower limits).
[0006] Precision excavator operation is very important in order to provide efficient operation and safety. It would be beneficial to the hydraulic excavator field to provide a system and method that increases the precision of excavator operation without significantly increasing costs.
[0007] The above discussion is provided for general background information only and is not intended to be used as an aid in determining the scope of the claimed subject matter. Summary of the invention
[0008] An excavator includes a rotatable housing and a bucket operatively coupled to the rotatable housing. The excavator also includes: one or more swing sensors configured to provide at least one rotation sensor signal indicative of rotation of the rotatable housing; and one or more controllers coupled to the sensors. The one or more controllers are configured to implement: inertia determination logic that determines inertia of a portion of the excavator and control signal generator logic that generates a control signal based on the inertia of the portion of the excavator to control the excavator.
[0009] This Summary is provided to introduce a selection of concepts in a simplified form, which are further described in the Detailed Description below. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to help determine the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that address any or all of the shortcomings noted in the Background. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a schematic diagram showing an example excavator.
[0011] Figure 2 is a schematic top view of an example excavator showing an electric fence.
[0012] Figure 3 is a block diagram illustrating an example excavator control system.
[0013] Figure 4 is a flow chart illustrating an example method of processing sensor input in a hydraulic excavator.
[0014] Figure 5 is a flow chart illustrating an example method of providing movement information based on one or more acquired images.
[0015] Figure 6 is a flow chart illustrating an example method for automatically updating geo-fence information.
[0016] Figure 7 is a schematic diagram illustrating an example computing environment for processing sensory input.
[0017] Figure 8 is a block diagram illustrating an example control system.
[0018] Fig. 9 is a flow chart illustrating example machine operation.
[0019] Fig.10 is a flow chart illustrating example machine operation.
[0020] Fig.11 is a flow chart illustrating example machine operation. DETAILED DESCRIPTION
[0021] Figure 11 is a schematic diagram showing an example excavator. The hydraulic excavator or machine 100 includes a housing 102 having a cab 104 rotatably disposed above a track section 106. The housing 102 can rotate 360 degrees about the track section 106 via a swivel bearing 108. A boom 110 extends from the housing 102 and can be raised or lowered in the direction indicated by arrow 112 based on the actuation of a hydraulic cylinder 114. An arm 116 is pivotally connected to the boom 110 via a joint 118 and can move in the direction of arrow 120 based on the actuation of a hydraulic cylinder 122. A bucket 124 is pivotally coupled to the arm 116 at a joint 126 and can rotate about the joint 126 in the direction of arrow 128 based on the actuation of a hydraulic cylinder 130.
[0022] When the operator in cab 104 needs to back up the machine 100, he or she makes the appropriate controls and automatically activates the back-up camera 140, which provides a back-up camera image corresponding to the field of view 142 on a display in cab 104. In this way, just like in a car, the operator can back up the excavator carefully and safely while watching the back-up camera video output.
[0023] Figure 21 is a top view of the machine 100, showing the operation of the limit positions 150, 152. The limit positions or electronic fences are electronic position limits generated by the operator to ensure that the machine 100 does not move past the position during operation. The limit positions are extremely important in operating scenarios where the machine 100 may be very close to structures or passing motorists. To set the limit positions, the operator typically extends the arm to its maximum reach and then rotates the housing to the first angular limit (e.g., limit position 150). Once properly positioned, the control system of the machine is given an input indication to set a specific electronic fence (in this case, the left rotation stop), and the limit position is stored by the controller of the excavator as electronic fence information. Similarly, the housing 102 is then rotated to the opposite rotation stop (indicated at label 152) and an additional limit input is provided. In this way, information is provided to the machine 100 so that during operation it will automatically prohibit any operator attempt or control input that attempts to move beyond the previously set electronic fence limit. In some examples, the machine 100 can move beyond the limit positions 1250, 152. For example, the machine 100 moves beyond limit 152 and is throttled. As shown, region 151 is a throttled zone defined by limits 149 and 150. In this region, the machine 100 can swing, but is limited to a given speed. When the machine 100 leaves region 151, control resumes normal speed. For example, this throttling may be particularly useful if a foundation wall is near limit 149 and the user needs to dig as close to the wall as possible. Similarly, region 155 may be another throttled region defined by limits 152 and 153. Region 155 may have the same throttle as region 151, or may have a different maximum speed.
[0024] During operation, the machine 100 typically uses an inertial measurement unit (IMU) 160 (shown in FIG. 1 ) mounted to the boom 110. Figure 1 ) to obtain position information relative to the upper arm 110. An IMU is an electronic device that uses a combination of accelerometers, gyroscopes, magnetometers, etc. to measure and report body-specific forces, angular rates, and sometimes orientations. To obtain position information, the accelerometer or gyroscope outputs of the IMU 160 are integrated over time. Although this approach works very well for almost all operating modes of the machine 100, it has limitations when the signals from the accelerometers and / or gyroscopes are relatively small (e.g., during slow or low-acceleration moves).
[0025] In these cases, a backup camera on the hydraulic excavator (e.g., backup camera 140 (shown in FIG. 1 ) with machine vision or suitable computer vision algorithms may be used to detect the presence of a vehicle. Figure 1)) can provide a signal that enhances a conventional IMU. Thus, compared to the prior art where the backup camera is used only when the operator is ready to back up the excavator, the backup camera 140 is continuously used and its video stream / output is processed to provide supplemental movement information to provide greater movement sensing and accuracy for the machine 100. Examples of how this improved excavator motion sensing is used are provided in at least two embodiments described below.
[0026] Figure 3 2 is a schematic diagram illustrating an example control system 200 for an excavator (e.g., machine 100). The control system 200 includes a controller 202 configured to receive one or more inputs, execute a series of program steps to generate one or more suitable machine outputs for controlling the operation of the hydraulic excavator. The controller 202 may include one or more microprocessors, or even one or more suitable general computing environments, as described in more detail below. The controller 202 is coupled to a human machine interface module 204 to receive machine control inputs from an operator in the cab 104. Examples of operator inputs include joystick movements, pedal movements, machine control settings, touch screen inputs, etc. In addition, the HMI module 204 also includes one or more operator displays to provide information about the operation of the excavator to the operator. At least one operator display of the HMI module 204 includes a video screen that, among other things, can display images from the backup camera 140. In addition, when the electronic fence limit is within the field of view 142 of the backup camera 140, the display can also provide such an indication. In essence, any suitable input from or output to an operator between the machine 100 and an operator in the cab 104 may form part of the HMI module 204. The control system 200 also includes a plurality of control outputs 206 coupled to the controller 202. The control outputs 206 represent various outputs provided to actuators (e.g., hydraulic valve controllers) to engage various hydraulic systems and other suitable systems of the machine 100 for excavator operation. As shown, the control system 200 includes an IMU 160 operatively coupled to the controller 202 such that an indication of the position of the boom 110 (and to some extent the arm 116 and bucket 124) is provided to the controller 202.
[0027] As shown, the backup camera 140 of the control system 200 is operatively coupled to a vision processing system 208 coupled to the controller 202. Although the vision processing system 208 is shown as a module separate from the controller 202, it is expressly contemplated that the vision processing system 208 may be specifically implemented as a software module executed within the controller 202. However, for ease of illustration, the vision processing system 208 will be described as a separate vision processing logic that receives video signals from the backup camera 140 and provides position information to the controller 202. Through hardware, software, or a combination thereof, the vision processing system 208 is adapted to employ visual odometry to calculate the motion of a machine based on analysis of a series of images obtained by the backup camera 140. As defined herein, visual odometry is a process of determining the position and orientation of a controlled mechanical system by analyzing associated camera images. Using visual odometry techniques, the vision processing system 208 provides an estimate of the motion of the machine to the controller 202. The controller 202 then combines the estimates of machine motion received from the vision processing system 208 and the IMU 160 and generates combined position information for the hydraulic excavator that is more accurate than using only the signal from the IMU 160. This is because the signals from the vision processing system 208 and the IMU 160 complement each other in a particularly synergistic manner. During relatively high speed or high acceleration movements, the IMU 160 provides accurate signals relative to the movement of the machine, while the backup camera 140 typically provides a series of blurred images. In contrast, when the machine 100 generates relatively slow or low acceleration movements, the signals from the IMU 160 are not as reliable or accurate. However, using visual odometry techniques, the vision processing system 208 is able to provide very accurate motion information. The two measurements of changes in the swing angle are fused using the controller 202 and appropriate calculations (e.g., calculations that weight specific input modalities based on the speed or magnitude of the movement). For example, during relatively high speed or acceleration movement, the controller 202 may use the signal from the IMU 160 to a significant extent for visual odometry (e.g., 80% to 20% weighting). In contrast, when the movement is slow and / or the acceleration is very low, the signal from the IMU 160 may be weighted significantly less (e.g., 10% to 90% weighting using the information from the vision processing system 208). In this way, in almost all contexts, the controller 202 is generally provided with enhanced position information.
[0028] Although the backup camera 140 is intended to encompass any conventional or standard backup camera, it is clearly contemplated that as embodiments of the present invention are used in more and more situations, and as camera technology improves, the backup camera 140 may be a relatively high-speed video camera that is not susceptible to motion blur, and / or may have features not currently provided in commercially available backup cameras. As used herein, the backup camera 140 is intended to include any visual system that is mounted relative to the excavator and includes a field of view that is substantially opposite to an operator sitting in the cab 104. The backup camera 140 may include any suitable image acquisition system, including an area array device such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) image device. In addition, the backup camera 140 may be coupled to any suitable optical system to increase or decrease the field of view 142 under the control of the controller 202. In addition, additional lighting such as a backup lamp or a dedicated illuminator may be provided to the backup camera so that images can be easily acquired when the excavator is operating in low light conditions. Furthermore, although a single backup camera 140 is shown, it is expressly contemplated that additional or second backup cameras may also be used in conjunction with the backup camera 140 to provide stereo vision. Thus, using stereo vision techniques, three-dimensional images and visual odometry may be employed in accordance with embodiments of the present invention.
[0029] Figure 4 300 begins at block 302, where a controller, such as controller 202, receives an IMU input. At block 304, visual odometry information is received, for example, from vision processing system 208. Although method 300 is shown as block 304 occurring after block 302, it is clearly contemplated that the order of such information acquisition in blocks 302 and 304 may be interchanged. Regardless, by block 306, the controller (e.g., controller 202) has a combination of the IMU information received via block 302 and the visual odometry information received via block 304. At block 306, the information is combined to provide position information with better accuracy than either signal alone. The combination may be accomplished simply by averaging the position signals as indicated by block 308, or by performing a weighted average based on the magnitude of acceleration and / or movement as indicated by block 310. Next, at block 312, the controller provides the combined position information as an output. The HMI module 204 (shown in FIG. Figure 3) provides the output as an indication to the operator. Additionally, optionally, the output may be provided to an electronic fence processing block 314 to determine if the combined position output is at or within a set electronic fence. In this way, even if the boom of the hydraulic excavator rotates very slowly and the accuracy of the IMU information is reduced, the combined position information provided via block 312 will still be of relatively high quality because it will be processed using the visual odometry from block 304. Thus, even during very slow machine moves, electronic fencing will be carefully and accurately implemented. The combined output helps compensate for motion blur in the reversing camera image during high speed swings and still stabilizes the swing angle at low speeds where the system would otherwise experience drift due to gyro noise integrating the IMU information from block 302.
[0030] Figure 5 4 is a flow chart illustrating an example method for providing visual odometry for an excavator. Method 400 begins at box 402, where one or more images are acquired. These images may be acquired from a back-up camera as indicated by box 404, and from one or more additional cameras as indicated by box 406. Once the images are acquired, box 400 continues at box 408, where feature detection is performed. Feature detection is an important aspect of visual odometry because it identifies one or more features in the image that can be used for motion detection. Therefore, it is important that the features are not aspects or objects of the image that are relatively transient or move on their own (e.g., a worker or animal passing by). Instead, feature detection of box 408 is performed to identify one or more features in the image that represent a stationary environment surrounding the vehicle, such that the motion of the features so detected indicates the motion of the vehicle itself.
[0031] Feature detection 408 may be accomplished using a suitable neural network detection, as indicated at block 410. Further, feature detection 408 may be performed explicitly as a user-defined operation, where the user simply identifies items in the image that the user or operator knows to be stationary, as indicated at block 412. Additionally, feature detection may also be performed using other suitable algorithms, as indicated at block 414. As an example of a known feature detection technique in visual odometry, an optical flow field may be constructed using the known Lucas-Kanade method. Further, while various different techniques are described for providing feature detection, it is also explicitly contemplated that combinations thereof may also be employed. Next, at block 416, the features detected at block 408 are used to compare successive images to estimate a motion vector indicating the movement of the machine that produced the detected feature differences in the successive images. At block 418, the estimated motion vector is provided as a visual odometry output.
[0032] When tracking an excavator, a vision system according to an embodiment described herein uses visual odometry to calculate the motion of the excavator and recalculate the swing angles associated with previously defined geo-fences as these swing angles change as the machine moves. In this way, the operator does not need to reset the geo-fences when the excavator moves. In addition to this dynamic tracking, camera images can also be processed during operation to identify new visual markers or features in the environment that are associated with extreme values of acceptable swing motion at new locations. Thus, features or visual markers can jump from one machine location to another and be used to maintain the position of the geo-fence relative to the excavator without the need for a GPS system.
[0033] Figure 6 4 is a flow chart of a method for automatically updating electronic fence information and detecting new features when an excavator moves according to an embodiment of the present invention. Method 450 begins at box 452, where excavator movement is detected. Such movement detection may be sensed via operator input as indicated by box 454, via IMU signals as indicated by box 456, via visual odometry as indicated by box 458, or via other technologies as indicated by box 460. Once movement is detected, control passes to box 462, where the new position of the excavator is calculated relative to the old position. For example, the new position may indicate that the excavator has moved forward 12 feet and the track portion has rotated 12°. It will be understood that when this occurs, the previous electronic fence information will no longer be valid. Therefore, it is important to update the electronic fence to ensure the safety of the operator and those near the excavator.
[0034] Previously, when such movement occurred, the operator would need to manually reset the electronic fence by moving to acceptable swing limits and providing operator input indicating the position of the machine at these swing limits. This is cumbersome. In contrast, using an embodiment of the present invention, the new position can be calculated using IMU information as indicated by box 464 and visual odometry information as indicated by box 466. In addition, by using prior information relative to the electronic fence (e.g., which corresponds to a highway barrier or a straight line), the position of the new electronic fence information can be calculated based on the prior electronic fence information and the new position of the excavator. Therefore, at box 468, the controller of the excavator (e.g., controller 202) automatically updates the electronic fence information based on the new position and the prior information of the electronic fence.
[0035] Next, at box 470, the method 450 automatically identifies features in the image in the output of the backup camera at the new location. As indicated, feature identification can be accomplished in a variety of ways, such as using a neural network 472, explicit user definition 474, or other techniques 476. Thus, as the excavator moves, the electronic fence can be automatically updated, and the visual odometry method can automatically identify new features at the new location to continue to provide enhanced position information for the excavator control. Therefore, embodiments of the present invention not only eliminate some of the cumbersome operations currently required by the excavator operator to ensure safety, they also provide improved position determination and control.
[0036] Thus, embodiments of the present invention generally utilize an excavator back-up camera as a vision system that automatically finds landmarks in the environment that inform the machine and operator of the excavator's movement and automatically propagates a control boundary (e.g., an electric fence) forward relative to the barrier. This significant improvement in excavator operation and control is provided without adding significant expense to the excavator.
[0037] As described above, when the prior information relative to the barrier or electronic fence is known, it can be automatically updated as the excavator position changes. According to the embodiments described herein, some prior information relative to the electronic fence or barrier can be automatically obtained using a reversing camera and a visual processing system. For example, the visual processing system can be configured to identify the kind of concrete temporary barriers and / or traffic cones used during road construction. In addition, the visual processing system can be used in combination with specially configured electronic fence markers that are physically placed in the real world to identify the electronic fence. When the visual processing system identifies these markers in its field of view, it can automatically establish prior information. Therefore, these visual markers can be set in a way that defines a curve, and the prior information will include the extrapolation of the curve between and outside the markers. In another example, the operator can simply rotate the housing so that the reversing camera sees a specific barrier or at least has a field of view covering the desired electronic fence, and an operator input can be provided, such as drawing a line or curve that automatically sets the prior information on a touch screen that displays the reversing camera image.
[0038] Figure 7 Is deployable (for example) Figure 3 An embodiment of a computing environment for an element or portion thereof. Figure 7, an exemplary system for implementing some embodiments includes a general purpose computing device in the form of a computer 810. Components of the computer 810 may include, but are not limited to, a processing unit 820 (which may include the controller 202), a system memory 830, and a system bus 821 that couples various system components including the system memory to the processing unit 820. The system bus 821 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. Figure 3 The memory and programs described may be deployed in Figure 7 in the corresponding part of .
[0039] Computer 810 generally includes various computer readable media. Computer readable media can be any available media that can be accessed by computer 810, and includes volatile and non-volatile media, removable and non-removable media. As an example and not limitation, computer readable media may include computer storage media and communication media. Computer storage media is different from and does not include modulated data signals or carrier waves. It includes hardware storage media, including volatile and non-volatile, removable and non-removable media implemented in any method or technology, for storing information such as computer readable instructions, data structures, program modules or other data. Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by computer 810. Communication media can specifically implement computer readable instructions, data structures, program modules or other data in a transmission mechanism, and include any information transmission medium. The term "modulated data signal" means a signal whose one or more characteristics are set or changed in a way that information is encoded in the signal.
[0040] The system memory 830 includes computer storage media in the form of volatile and / or nonvolatile memory, such as read-only memory (ROM) 831 and random access memory (RAM) 832. A basic input / output system 833 (BIOS), containing the basic routines that help transfer information between elements within the computer 810 (e.g., during startup), is typically stored in ROM 831. RAM 832 typically contains data and / or program modules that are immediately accessible and / or currently being operated on by the processing unit 820. By way of example and not limitation, Fig.10 Operating system 834 , application programs 835 , other program modules 836 , and program data 837 are shown.
[0041] The computer 810 may also include other removable / non-removable volatile / non-volatile computer storage media. For example only, Fig.10 A hard disk drive 841 is shown that reads from or writes to non-removable nonvolatile magnetic media, a disk drive 851, a nonvolatile disk 852, an optical drive 855, and a nonvolatile optical disk 856. The hard disk drive 841 is typically connected to the system bus 821 through a non-removable memory interface such as interface 840, and the disk drive 851 and optical drive 855 are typically connected to the system bus 821 through a removable memory interface such as interface 850.
[0042] Alternatively or additionally, the functions described herein may be performed at least in part by one or more hardware logic components. For example, and not limitation, exemplary types of hardware logic components that may be used include field programmable gate arrays (FPGAs), program-specific integrated circuits (e.g., ASICs), program-specific standard products (e.g., ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), etc.
[0043] discussed above and in Figure 7 The drives and their associated computer storage media shown in FIG. 8 provide storage of computer readable instructions, data structures, program modules, and other data for the computer 810. Figure 7 844, application programs 845, other program modules 846, and program data 847. Note that these components may be the same as or different from operating system 834, application programs 835, other program modules 836, and program data 837.
[0044] A user may enter commands and information into the computer 810 through input devices such as a keyboard 862, a microphone 863, and a pointing device 861 (e.g., a mouse, trackball, or touch pad). Other input devices (not shown) may include a joystick, a game controller, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processing unit 820 through a user input interface 860 coupled to the system bus, but may be connected by other interfaces and bus structures. A visual display 891 or other type of display device is also connected to the system bus 821 via an interface such as a video interface 890. In addition to the monitor, the computer may also include other peripheral output devices such as speakers 897 and a printer 896, which may be connected through an output peripheral interface 895.
[0045] The computer 810 operates in a networked environment using logical connections (eg, a local area network LAN or a wide area network WAN) to one or more remote computers (eg, remote computer 880 ).
[0046] When used in a LAN networking environment, the computer 810 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the computer 810 typically includes a modem 872 or other means for establishing communications via the WAN 873 (e.g., the Internet). In a networking environment, program modules may be stored in the remote memory storage device. For example, Fig.10 Remote application programs 885 are shown as residing on remote computer 880 .
[0047] Figure 8 2 is a block diagram illustrating an example control system 201. As shown, the control system 201 includes a controller 202, an HMI 204, a sensor 210, a database 215, and various logic components 216-232, and may also include other items, as indicated by box 234. Figure 3 Some of these components are described. Sensor 210 includes camera 140, IMU 160, linkage sensor 212, and may also include other sensors, as indicated by box 214. For example, a sensor that measures the torque applied at the swing motor (e.g., a pressure element on the working port). The following figure is described with respect to machine swing, however, these techniques may also be applicable to vertical or non-rotating lateral (extended) electronic fences or zones. Database 215 stores a variety of different data. For example, database 215 contains weight and size data for a given machine 100 (e.g., the mass, size, etc. of the boom, arm, bucket, and housing). Similar to all the components shown, database 215 may be located on machine 100 or away from machine 100.
[0048] The swing position determination logic 216 determines the current swing position of the housing (and therefore the linkage). The swing position determination logic 216 can calculate the swing position in a variety of different ways. For example, a sensor output is converted to a swing position (e.g., a gyroscope, a compass, a potentiometer, etc.). In another example, as previously described with respect to Figure 4 As discussed, the swing position determination logic 216 calculates the swing position based on the backup camera 140. Of course, the swing position determination logic 216 may calculate the swing position in other ways as well.
[0049] The swing motion determination logic 218 determines the swing or rotational motion of the housing 104 (and therefore, the linkage). For example, the swing motion determination logic 218 determines the swing motion by deriving the swing motion from the output of the swing position determination logic 216 over time. In another example, the swing motion determination logic 218 receives sensor signals and converts the sensor outputs into swing motion values. For example, the swing motion determination logic 218 may perform image analysis of video frames captured by a camera near the machine 100 (e.g., located on the machine or pointed at the machine) and determine the swing motion. Of course, the swing motion determination logic 218 may also calculate the swing motion in other ways.
[0050] The posture determination logic 220 determines the posture of the machine 100 (ie, the arrangement of the various linkages of the machine 100). For example, the posture of the machine 100 includes the relative positions of the boom 110, arm 116, and bucket 124 relative to each other and / or the cab 104 or some other point.
[0051] The inertia determination logic 222 may receive the attitude data from the attitude determination logic 220, the machine size and mass data from the database 215, the swing motion data from the swing motion determination logic 218, and determine the inertia of the system based on the received data. The attitude of the machine is meaningful, for example, because as the arm and boom are extended, the center of mass of the machine 100 will shift further away from the swing pivot point and the moment of inertia of the machine 100 will increase.
[0052] The payload determination logic 223 determines the mass of the material in the bucket 124. The inertia determination logic 222 may use the mass within the bucket 124 to calculate the inertia of the overall system. The mass may also be used by other logic components for other calculations. The payload determination logic 223 may determine the mass in a number of different ways. For example, the payload determination logic 223 may estimate or determine the mass of the material in the bucket 124 due to known changes in the swing speed of the machine components and the calculated inertia about the swing axis. In another example, the payload determination logic 223 determines the material in the bucket 124 by analyzing a video or image of the bucket 124. Of course, the payload determination logic 223 may calculate the payload in other ways as well.
[0053] Braking calculation logic 224 receives the inertia value from inertia determination logic 222 to calculate the time and rotational displacement required to reduce the current swing speed to a given speed or stop. Braking calculation logic 224 uses the inertia value (e.g., from inertia determination logic 222) and the known braking capacity of machine 100 to calculate the time or displacement required to reduce the speed of machine 100 to a target speed.
[0054] The control mode selection logic 226 allows a user to generate an interface or otherwise allow a user to select a control mode of the control system 201. For example, the control modes may include a manual control lock mode, a manual control zoom mode, and an automatic swing control mode.
[0055] The manual control lockout logic 228 implements a manual control lockout mode control mode. In this mode, when a user reaches a predefined zone (e.g., an electronic fence), manual controls are blocked, ignored, or otherwise locked so that the user cannot control the swinging of the machine 100 in one or more directions. For example, an example implementation of this control mode may be utilized when the machine 100 is close to a busy road such that the linkage of the machine 100 would swing into the busy road without restraint. In this example, the predefined zone would correspond to a road location, so the user can control the swinging of the machine 100 toward the edge of the road, but is blocked from swinging the machine 100 into vehicles that may be on the road.
[0056] The manual control throttle mode is implemented by the manual control throttle logic 230. In this mode, manual control is limited to a given speed when the machine enters a predefined zone. For example, there may be a predefined zone where the swing motion is limited to 10% of its maximum speed. For example, an example implementation of this control mode may be utilized when the machine 100 is digging a trench along a building foundation such that the linkage of the machine 100 may swing into the building. To reduce the risk of the operator colliding with the building at a damaging speed, the manual control throttle logic 230 may set a maximum speed within a given distance of the wall, but without necessarily preventing manual movement of the machine 100. With the reduced maximum speed, the operator may more precisely control the linkage of the machine 100 to dig in close proximity along the building foundation without damaging the building.
[0057] The automatic swing control mode is implemented by the automatic swing control logic 232. In this mode, the machine 100 automatically swings to a predefined swing position. For example, one example implementation of this control mode may be utilized when the machine 100 is digging a trench. The operator may set the trench position, and after dumping the load from the bucket 124, the machine 100 may automatically swing back to the trench position.
[0058] The control signal generator logic 233 generates control signals (eg, control outputs 206 ) to control components of the machine 100 .
[0059] Fig. 9 is a flow chart illustrating an example swing operation 500. Operation 500 begins at block 502. For example, an operator starts machine 100 and begins working at a worksite.
[0060] At block 510, the inertia of the linkage / machine 100 is calculated by the inertia determination logic 222. As indicated at block 512, the attitude of the linkage may be used to determine the inertia based on the attitude of the linkage determined by the attitude determination logic 220. As described above, attitude is related to the calculation of inertia because the attitude of the linkage directly changes the moment of inertia of the system. As shown at block 514, the inertia determination logic 222 uses the torque that initiates the swing movement to calculate the inertia of the system. Since the torque used to accelerate the machine 100 is substantially the same as the torque required to stop and decelerate the machine 100, this method may not require the use of the attitude of the system to calculate the inertia. As indicated at block 515, the inertia of the machine 100 may be calculated using the payload mass and / or position. Of course, inertia may also be determined in other ways as at block 516.
[0061] Operation 500 continues to block 520 where the position and / or motion of the machine 100 is detected or determined. As indicated by block 522, the position and / or motion of the machine 100 may be sensed by a linkage sensor (e.g., a gyroscope, a compass, an IMU, a potentiometer, etc.). As indicated by block 524, the swing position and / or motion of the machine 100 may be determined via image analysis (e.g., video from a backup camera 140 or some other camera mounted near the machine 100). Of course, the swing position and / or motion of the machine 100 may also be determined in other ways as indicated by block 526.
[0062] Operation 500 continues to block 530, where the brake calculation logic 224 calculates the angular and / or temporal displacement required to stop the swing motion of the machine 100. The angular and / or temporal displacement required to stop is typically related to one or more of the following: the current swing speed, the current machine inertia, and the torque that the braking system can apply. For example, using a kinematic algorithm, the angular and / or temporal displacement required to reduce the speed can be calculated. For example, one algorithm to calculate the angle required to stop the swing motion is 1 / 2*inertia*(swing speed)^2 / (maximum swing motor torque).
[0063] Operation 500 continues to block 540 where it is determined whether the machine is within a threshold angle of a defined stop position. For example, the threshold angle is the angular displacement or braking displacement required for the machine 100 to stop. If yes, operation 500 continues to block 550. If no, operation 500 continues again to block 510.
[0064] At block 540, a braking operation is activated or initiated. That is, the machine begins to apply brakes or otherwise slow down. For example, if the swing speed is low, simply reducing the throttle may allow friction to stop the machine swing. However, if the swing speed is high, mechanical, hydraulic, or other types of brakes may be required.
[0065] At box 560, it is determined whether the machine has stopped or is moving away from a predefined stop or limit position. If yes, operation 500 continues to box 570 where normal operation is resumed. If no, the braking operation of box 550 is continued.
[0066] Fig.10 is a flow chart illustrating an example swing operation 600 with swing throttling. As shown, operation 600 begins at block 610 where a swing operation begins (eg, machine 100 begins swinging in one direction).
[0067] Operation 600 continues to block 620, where the swing position of the machine 100 is determined by the swing position determination logic 216. The swing position of the machine 100 may be determined in a number of different ways, as indicated by blocks 622-626. As indicated by block 622, machine sensors may generate sensor outputs, which the swing position determination logic 216 converts into a swing position. As indicated by block 624, an image sensor (located on or near the machine 100) may capture an image, which the swing position determination logic 216 uses to calculate the swing position. Of course, the swing position may also be determined in other ways, as indicated by block 626.
[0068] Operation 600 continues to block 630 where it is determined whether the swing position is in the throttle region. For example, the current position determined in block 620 is compared to the throttle region position.
[0069] Operation 600 continues to block 640, where the swing speed is decelerated to a predetermined speed. In some examples, there may be a threshold region between the unlimited speed region and the throttle region where the swing is decelerated to the throttle speed. In this case, a threshold region may be used. Fig. 9 The operation 500 ensures that the machine 100 is decelerated to the throttle speed before entering the throttle region.
[0070] Operation 600 continues to block 650 where it is determined whether the swing operation is complete. If so, operation 600 ends. If not, operation 600 proceeds to block 620.
[0071] Fig.11 is a flow chart illustrating an example swing operation 700 with a return position feature. In some cases, operators are digging trenches or completing different types of work that require them to continually swing the machine 100 from a first position to another position. Operation 700 begins at block 710, where the swing operation begins (e.g., the machine 100 begins to swing in a direction).
[0072] Operation 700 continues to block 720 where the return position is set. As indicated by block 722, the return position may be set manually by an operator. For example, the operator may swing the machine 100 to a desired return position and actuate a button or other interface device to set the return position. As indicated by block 724, the return position may be set automatically. For example, the automatic swing control logic 232 monitors the swing position of the machine 100 over time and determines where the operator repeatedly stops the machine 100.
[0073] Operation 700 continues to block 730 where the swing operation continues. For example, the operator continues their ongoing work by swinging the load from a first position to another position. Automatically swinging the machine 100 to the return position may include Fig. 9 Some steps in operation 500 may be performed. For example, inertia and braking may be calculated so that the machine 100 stops in the correct position.
[0074] Then, operation 700 continues to square frame 740, wherein activates automatic swing to return position.As indicated by square frame 742, this can be manually activated by the operator.As indicated by square frame 744, also can activate swing in other ways.
[0075] Operation 700 continues to block 750 where the machine 100 automatically swings to the return position. Figure 4 The operation 500 is to ensure that the machine 100 is properly decelerated to avoid overshooting the return position.
[0076] Operation 700 continues to block 760 where it is determined whether the swing operation is complete. If so, operation 700 ends. If not, operation 700 proceeds to block 710.
[0077] It should also be noted that the different embodiments described herein may be combined in different ways. That is, parts of one or more embodiments may be combined with parts of one or more other embodiments. All of these are contemplated herein. The flow charts are shown in a given order, and it is contemplated that the steps may be performed in an order different from that shown.
[0078] Example 1 is an excavator, comprising:
[0079] A rotatable housing;
[0080] a bucket operatively coupled to the rotatable housing;
[0081] one or more swing sensors operatively coupled to the excavator and configured to provide at least one rotation sensor signal indicative of rotation of the rotatable housing; and
[0082] One or more controllers, coupled to the sensor, the one or more controllers being configured to implement:
[0083] Inertia determination logic to determine inertia of a portion of the excavator; and
[0084] A control signal generator logic is provided to generate a control signal for controlling the excavator based on the inertia of the portion of the excavator.
[0085] Example 2 is an excavator according to any or all of the previous examples, wherein the one or more controllers are configured to implement:
[0086] attitude determination logic that determines an attitude of the portion of the excavator and generates an attitude signal; and
[0087] Therein, the inertia determination logic determines the inertia of the portion of the excavator based on the attitude signal.
[0088] Example 3 is an excavator according to any or all of the previous examples, further comprising a linkage sensor coupled to the excavator and configured to provide an attitude sensor signal indicative of an attitude of the excavator; and
[0089] Therein, the posture determination logic determines the posture of the portion of the excavator based on the posture sensor signal.
[0090] Example 4 is the excavator of any or all of the previous examples, wherein the inertia determination logic retrieves machine weight and dimension data from a database, and wherein the inertia determination logic calculates the inertia based on the machine weight and dimension data.
[0091] Example 5 is an excavator according to any or all of the previous examples, wherein the one or more controllers are configured to implement:
[0092] Swing position logic that determines a swing position of the excavator based on the rotation sensor signal and generates a swing position signal; and
[0093] Therein, the excavator is controlled based on a swing position sensor.
[0094] Example 6 is an excavator according to any or all of the previous examples, wherein the one or more controllers are configured to implement:
[0095] Swing motion logic that determines a swing speed of the excavator based on the rotation sensor signal and generates a swing speed signal; and
[0096] Therein, the excavator is controlled based on the swing speed signal.
[0097] Example 7 is an excavator according to any or all of the previous examples, wherein the one or more controllers are configured to implement:
[0098] Manual control lock logic that controls the excavator to brake before reaching the extreme position.
[0099] Example 8 is an excavator according to any or all of the previous examples, wherein the one or more controllers are configured to implement:
[0100] Manual control throttling logic that controls the excavator to decelerate below a threshold speed when the excavator swings between two extreme positions.
[0101] Example 9 is an excavator according to any or all of the previous examples, wherein the one or more controllers are configured to implement:
[0102] Automatic swing control logic that controls the excavator to swing to predefined positions.
[0103] Example 10 is an excavator according to any or all of the previous examples, wherein the swing sensor includes an IMU.
[0104] Example 11 is an excavator according to any or all of the previous examples, wherein the swing sensor includes a reversing camera.
[0105] Example 12 is a method of controlling an excavator, the method comprising:
[0106] obtaining a sensor signal from a swing sensor operatively coupled to the excavator;
[0107] Get the extreme position;
[0108] determining a swing position of the excavator based on the sensor signal;
[0109] comparing the swing position to the extreme position and generating a comparison output indicative of the comparison; and
[0110] The excavator is controlled based on the comparison.
[0111] Example 13 is a method according to any or all of the previous examples, further comprising:
[0112] Obtaining braking torque;
[0113] determining a swing speed of the excavator based on the sensor signal;
[0114] calculating a brake displacement based on the brake torque and the swing velocity; and
[0115] The excavator is controlled based at least in part on the brake displacement.
[0116] Example 14 is a method according to any or all of the previous examples, wherein calculating the braking displacement comprises:
[0117] determining an inertia of the excavator based on a swing speed of the excavator; and
[0118] Therein, the braking displacement is calculated at least partially based on the inertia of the excavator.
[0119] Example 15 is a method according to any or all of the previous examples, wherein controlling the excavator comprises:
[0120] A braking operation is initiated based on the braking displacement so that the excavator stops before reaching the limit position.
[0121] Example 16 is a method according to any or all of the previous examples, wherein controlling the excavator comprises:
[0122] initiating a braking operation based on the braking displacement so that the excavator is reduced to a threshold speed before reaching the limit position; and
[0123] A throttling operation is initiated based on a comparison between the swing position and the limit position so that once the swing passes the limit position, the excavator swing speed does not exceed a threshold speed.
[0124] Example 17 is a method according to any or all of the previous examples, wherein controlling the excavator comprises:
[0125] The return operation is initiated based on the brake displacement, so that the excavator travels and stops at the limit position.
[0126] Example 18 is a control system for an excavator, the control system comprising:
[0127] a swing sensor that senses a characteristic of the excavator's swing position and generates a swing sensor signal indicative of the characteristic;
[0128] swing position determination logic that receives the swing sensor signal and determines the swing position;
[0129] swing motion determination logic that receives the swing sensor signal and determines the swing motion of the excavator and generates a swing motion signal;
[0130] a posture sensor that senses a posture of a component of the excavator and generates a posture sensor signal indicative of the posture of the component of the excavator;
[0131] attitude determination logic that receives attitude sensor signals and generates attitude signals;
[0132] inertia determination logic that receives the swing motion signal and the attitude signal and determines the swing inertia of the excavator;
[0133] a brake calculation logic that receives the swing inertia signal and determines a brake displacement the excavator will travel before braking to a threshold speed;
[0134] Manual control logic, which controls the machine based on a comparison of the current swing position, brake displacement and limit positions.
[0135] Example 19 is a method according to any or all of the previous examples, wherein the manual control logic controls the excavator by decelerating the excavator to a threshold speed before reaching the extreme position.
[0136] Example 20 is a method according to any or all of the previous examples, wherein the threshold speed is zero.
[0137] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. An excavator, comprising: A rotatable housing; a bucket operatively coupled to the rotatable housing; one or more swing sensors operatively coupled to the excavator and configured to provide at least one rotation sensor signal indicative of rotation of the rotatable housing; as well as One or more controllers, the one or more controllers coupled to the sensor, the one or more controllers configured to implement: inertia determination logic that determines inertia of a portion of the excavator, wherein the inertia determination logic retrieves machine weight and dimension data from a database, the inertia determination logic calculating the inertia based on the machine weight and dimension data; control signal generator logic that generates a control signal to control the excavator based on the inertia of the portion of the excavator; and A manual control locking logic controls the excavator to brake before reaching the limit position.
2. The excavator according to claim 1, wherein: The one or more controllers are configured to implement: attitude determination logic that determines an attitude of the portion of the excavator and generates an attitude signal; and Therein, inertia determination logic determines the inertia of the portion of the excavator based on the attitude signal.
3. The excavator of claim 2, further comprising a linkage sensor coupled to the excavator and configured to provide an attitude sensor signal indicative of an attitude of the excavator; and in, The attitude determination logic determines an attitude of the portion of the excavator based on the attitude sensor signals.
4. The excavator according to claim 1, wherein: The one or more controllers are configured to implement: swing position logic that determines a swing position of the excavator based on the rotation sensor signal and generates a swing position signal; and Wherein, the excavator is controlled based on the swing position sensor.
5. The excavator according to claim 1, wherein: The one or more controllers are configured to implement: swing motion logic that determines a swing speed of the excavator based on the rotation sensor signal and generates a swing speed signal; and Wherein, the excavator is controlled based on the swing speed signal.
6. The excavator according to claim 1, wherein: The one or more controllers are configured to implement: The manual control throttle logic controls the excavator to decelerate below a threshold speed when the excavator swings between two extreme positions.
7. The excavator according to claim 5, wherein: The one or more controllers are configured to implement: Automatic swing control logic that controls the excavator to swing to a predefined position.
8. The excavator according to claim 1, wherein: The sway sensor includes an IMU.
9. The excavator according to claim 8, wherein: The sway sensor includes a reversing camera.
10. A method for controlling an excavator, the method comprising: obtaining a sensor signal from a swing sensor operatively coupled to the excavator; Get the extreme position; determining a swing position of the excavator based on the sensor signal; comparing the swing position to the extreme position and generating a comparison output indicative of the comparison; as well as Control the excavator based on the comparison, Controlling the excavator includes: The braking operation is initiated based on the braking displacement so that the excavator stops before reaching the limit position. The excavator includes a controller configured to implement: inertia determination logic that determines inertia of a portion of the excavator, the inertia determination logic retrieving machine weight and dimension data from a database, the inertia determination logic calculating the inertia based on the machine weight and dimension data, and A manual control locking logic controls the excavator to brake before reaching the limit position.
11. The method according to claim 10, further comprising: Obtaining braking torque; determining a swing speed of the excavator based on the sensor signal; calculating a braking displacement based on the braking torque and the swing speed; as well as The excavator is controlled based at least in part on the braking displacement.
12. The method according to claim 11, wherein: Calculation of brake displacement includes: determining an inertia of the excavator based on the swing speed of the excavator; and Therein, the braking displacement is calculated at least partially based on the inertia of the excavator.
13. The method according to claim 11, wherein: Controlling the excavator includes: initiating a braking operation based on the braking displacement so that the excavator is reduced to a threshold speed before reaching a limit position; and A throttling operation is initiated based on a comparison between the swing position and the limit position such that the excavator swing speed does not exceed the threshold speed once the swing passes the limit position.
14. The method according to claim 11, wherein: Controlling the excavator includes: A returning operation is initiated based on the braking displacement, so that the excavator travels and stops at the limit position.
15. The method according to claim 13, wherein: The threshold speed is zero.
16. A control system for an excavator, the control system comprising: a swing sensor that senses a characteristic of a swing position of the excavator and generates a swing sensor signal indicative of the characteristic; swing position determination logic that receives the swing sensor signal and determines a swing position; swing motion determination logic that receives the swing sensor signal and determines the swing motion of the excavator and generates a swing motion signal; a posture sensor that senses a posture of a component of the excavator and generates a posture sensor signal indicative of the posture of the component of the excavator; attitude determination logic, the attitude determination logic receiving the attitude sensor signal and generating an attitude signal; inertia determination logic that receives the swing motion signal and the attitude signal and determines a swing inertia of the excavator, wherein the inertia determination logic retrieves machine weight and dimension data from a database, the inertia determination logic calculating the inertia based on the machine weight and dimension data; a braking calculation logic that receives the swing inertia signal and determines a braking displacement that the excavator will travel before braking to a threshold speed; A manual control logic controls the machine based on a comparison of the current swing position, the braking displacement, and the limit position, the manual control logic controlling the excavator by decelerating the excavator to the threshold speed before reaching the limit position.
Citation Information
Patent Citations
System for Work Cycle Detection
US20140107895A1
A real time method for determining the spatial pose of electric mining shovels
WO2009086601A1