Test system and method for autonomous machines
Through the collaboration between the electronic control module and the subsystem ECM, effective testing and troubleshooting of individual subsystems or groups of subsystems of the autonomous machine are achieved, solving the problems of testing and troubleshooting in the prior art and improving the reliability and operational stability of the autonomous machine.
Patent Information
- Application Number
- CN202110235312.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-06
- Filing Date
- 2021-03-03
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2041-03-03
AI Technical Summary
Existing technologies struggle to effectively test and troubleshoot individual subsystems or groups of subsystems of autonomous machines, particularly posing challenges for seamless troubleshooting and testing during autonomous operation.
The system employs an electronic control module (ECM) that collaborates with the subsystem ECM. It receives input through a control interface, initiates test modes, identifies associated subsystems, and generates instructions to execute test actions, ensuring collision avoidance and enabling subsystem testing of the autonomous machine.
It enables effective testing and troubleshooting of individual subsystems or groups of subsystems of autonomous machines, improving troubleshooting efficiency and the reliability of autonomous machines, reducing human error, and providing more consistent performance and operational stability.
Smart Images

Figure CN113359658B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the testing of machines. More specifically, this disclosure relates to the testing of machines (e.g., construction machinery) that can operate autonomously or semi-autonomously. Background Technology
[0002] Machines such as cold milling machines, tractor-trailers, asphalt pavers, compactors, excavators, wheel loaders, and other machinery are frequently used in paving, construction, mining, and other activities. For example, compactors are used to compact soil, gravel, freshly laid asphalt, and other compactable materials associated with the work site surface.
[0003] In the context of a compactor, the task can be to compact a surface at a work site, whereby the weight of the compactor and the vibration of its drum compress the surface material to a solidified mass. In some instances, loose bitumen is deposited and dispersed on the work site surface, and one or more compactors can travel over the loose bitumen to produce a dense, hard asphalt pad. The hard, compacted bitumen can have the strength to withstand heavy vehicular traffic and also provides a smooth, contoured surface that can guide rainwater and other precipitation from the compacted surface. These and other tasks can be performed autonomously or semi-autonomously without continuous human operator control.
[0004] Autonomous operation offers advantages over traditional methods in laying, construction, or mining activities because autonomous processes do not rely on operator judgment and / or perception when performing such tasks. Therefore, these tasks can be performed by autonomous machines with reduced operator training and / or experience levels. Consequently, human error can be reduced when performing construction and mining tasks. Furthermore, autonomous machines can provide more consistent performance and operate efficiently over relatively long periods. Therefore, autonomous machines, such as autonomous compactors, bulldozers, and excavators, offer advantages in terms of work quality, efficiency, and cost.
[0005] However, autonomous machines present challenges in troubleshooting and / or testing when they do not operate as expected. Because the autonomous operation of these machines can involve seamlessly operating multiple subsystems (e.g., propulsion, steering, etc.) during operation, pinpointing the root cause of a problem when a failure occurs can be challenging for maintenance personnel. Additionally, individual testing of subsystems may be necessary to meet ongoing operational and maintenance requirements.
[0006] One method for improving the testing of construction equipment is described in Korean Patent No. 101922222 (hereinafter referred to as "'222 Reference"). '222 Reference describes a remote diagnostic system used with construction equipment. As described in '222 Reference, maintenance personnel can remotely diagnose the construction equipment without inspecting the construction site. The construction equipment has a diagnostic module that can perform diagnostics on the construction equipment and provide results remotely via network technology. However, the system described by '222 Reference does not involve autonomous machines and does not allow local or remote operators to test the functionality of individual subsystems or groups of subsystems of the construction equipment. For example, the system described in '222 Reference cannot test specific subsystems by controlling subsystems to perform test actions that can be used to troubleshoot the construction equipment.
[0007] This disclosure aims to overcome the shortcomings of such systems. Summary of the Invention
[0008] In one aspect of this disclosure, an electronic control module (ECM) includes: one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to receive, via a control interface, a first input indicating that an autonomous machine will be tested. The processors also initiate a test mode, at least in part, based on the first input, in which the autonomous machine is operable to perform one or more test actions; and receive, via the control interface, a second input indicating the first test action to be performed, the first test action including a first operation. The processors further identify a first subsystem ECM associated with the first test action; generate a first instruction indicating the first operation to be performed by the first subsystem ECM; and provide the first instruction to the first subsystem ECM, wherein the first instruction causes the first subsystem ECM to perform the first operation.
[0009] In another aspect of this disclosure, a method for testing an autonomous machine includes: receiving, via a test interface displayed on a control interface, a first input indicating a first test action to be performed, the first test action including a first one or more operations; and identifying a first subsystem ECM associated with the first test action. The method further includes: generating, by the main ECM, a first instruction indicating a first operation among the first one or more operations to be performed by the first subsystem ECM; and receiving data from one or more sensors. The method further includes: determining, at least in part, that the first test action avoids a collision based on data from the one or more sensors; and sending, by the main ECM, the first instruction to the first subsystem ECM, wherein the first instruction causes the first subsystem ECM to perform the first operation.
[0010] In another aspect of this disclosure, an autonomous machine includes a control interface and a main ECM configured to receive, via the control interface, an indication to test the autonomous machine; and to initiate a test mode, at least in part, based on the first input, in which the autonomous machine is operable to perform one or more test actions. The main ECM is also configured to receive, via the control interface, a second input indicating a first test action to be performed, the first test action including a first one or more operations, and to determine a first subsystem ECM associated with the first test action. The main ECM is further configured to generate a first instruction indicating a first operation of the first one or more operations to be performed by the first subsystem ECM, and to send the first instruction to the first subsystem ECM. The autonomous machine also includes the first subsystem ECM configured to receive the first instruction and to initiate one or more mechanical devices, at least in part, based on the first instruction, to perform the first operation. Attached Figure Description
[0011] Figure 1 This is a schematic diagram of the machine to be tested configured according to this disclosure.
[0012] Figure 2 Based on this disclosure Figure 1 The diagram illustrates the communication links between various components of the machine's control system.
[0013] Figure 3 According to this disclosure, users can interact with it to test. Figure 1 A schematic diagram of an example user interface (UI) of the machine depicted in the image.
[0014] Figure 4 It is based on the description in this disclosure for testing. Figure 1A flowchart of an example method for the machine.
[0015] Figure 5 Based on the description in this disclosure, at least in part, the determination of the appropriateness of the test action is made. Figure 1 The flowchart shows an example method for initiating a test action on the machine.
[0016] Figure 6 It is based on the description in this disclosure for testing. Figure 1 A flowchart illustrating an example method of communication between the machine's main electronic control module (ECM) and subsystem ECM.
[0017] Figure 7 It is based on the description of this disclosure for use in Figure 1 The flowchart shows an example method for performing test actions on a machine.
[0018] Figure 8 Control based on this disclosure Figure 1 A block diagram of an example main electronic control module (EMC) for testing the machine. Detailed Implementation
[0019] In all the accompanying drawings, the same reference numerals will be used as much as possible to denote the same or similar parts.
[0020] Figure 1 This is a schematic diagram of a machine 100 configured for testing according to this disclosure. The machine 100 can be tested according to the systems and methods disclosed herein. For example, the various subsystems of the machine 100 can be tested by performing test actions using the systems and methods described herein. As described herein, any machine 100 operates as an autonomous machine, where an operator instructs the machine 100 to perform a task (e.g., compacting a predefined plot of land), and the machine 100 continues to perform the task with little or no subsequent operator involvement.
[0021] Machine 100 is illustrated as a compactor, used for applications such as road construction, highway construction, parking lot construction, and other paving and / or construction applications. Although discussed in the context of a compactor, the testing system and methods are applicable to testing other types of machines 100, such as bulldozers, loaders, excavators, pavers, cold milling machines, backhoes, drilling machines, trenchers, tractor trucks, or any other construction or transport vehicle. Machine 100 is used in situations where loose stones, gravel, soil, asphalt, sand, concrete, and / or other materials on a work site surface 102 need to be compressed to a greater compaction and / or density state. As machine 100 traverses the work site surface 102, the vibrational forces generated by machine 100 and transmitted to the work site surface 102, in conjunction with the weight of machine 100, compress such loose materials. Machine 100 passes through the work site surface 102 in one or more passes to provide the desired level of compaction. In an example of this disclosure, machine 100 is configured to compact newly deposited bitumen and / or other materials disposed on and / or associated with the work site surface 102.
[0022] like Figure 1 As shown, the example machine 100 includes a frame 104, a first vibrating wheel 106, and a second vibrating wheel 108. The first vibrating wheel 106 and the second vibrating wheel 108 include substantially cylindrical vibrating wheels and / or other compaction elements of the machine 100, and are configured to apply vibration and / or other forces to the work area surface 102 to assist in compacting the work area surface 102. Although in Figure 1 The first vibrating wheel 106 is shown as having a generally smooth circumference or outer surface, but in other instances, the first vibrating wheel 106 and / or the second vibrating wheel 108 include one or more teeth, spikes, extensions, bosses, pads, and / or other ground-engaging tools (not shown) extending from their outer surfaces. Such ground-engaging tools help break up at least some of the material associated with the work area surface 102 and / or otherwise help compact the work area surface 102. The first vibrating wheel 106 and the second vibrating wheel 108 are rotatably coupled to the frame 104 such that the first vibrating wheel 106 and the second vibrating wheel 108 roll on the work area surface 102 as the machine 100 travels.
[0023] The first vibrating wheel 106 may have the same or different construction as the second vibrating wheel 108. In some instances, the first vibrating wheel 106 and / or the second vibrating wheel 108 may be elongated hollow cylinders with cylindrical vibrating wheel shells surrounding the internal volume. The first vibrating wheel 106 defines a first central axis about which it can rotate, and similarly, the second vibrating wheel 108 may define a second central axis about which it can rotate. To withstand rolling contact with and compact loose material on the work surface 102, the respective vibrating wheel shells of the first vibrating wheel 106 and the second vibrating wheel 108 are made of a coarse, rigid material, such as cast iron or steel. The machine 100 is shown having a first vibrating wheel 106 and a second vibrating wheel 108. However, other types of machines 100 or other machines 108 are suitable for use in the context of this disclosure. For example, variations of the machine 100 include belt compactors or compactors having, for example, a single rotating vibrating wheel or more than two vibrating wheels. It is not the automatic propulsion machine 100 shown in the figure. Machine 100 may be a towing or push-pull unit configured to be connected to a tractor (not shown).
[0024] The first vibrating wheel 106 includes a first vibrating mechanism 110, and the second vibrating wheel 108 includes a second vibrating mechanism 112. Vibrating mechanism 110 can be tested by the systems and methods described herein. Such vibrating mechanisms 110 and 112 are respectively disposed within the internal volumes of the first vibrating wheel 106 and the second vibrating wheel 108. According to an example, such vibrating mechanisms 110 and 112 include one or more weights or masses disposed at an off-center position relative to a respective central axis of rotation of the first vibrating wheel 106 and the second vibrating wheel 108. When the first vibrating wheel 106 and the second vibrating wheel 108 rotate, the off-center or off-center position of the mass causes oscillating or vibrating forces in the first vibrating wheel 106 and the second vibrating wheel 108, and such forces are transmitted to the work surface 102. The weights are off-center positioned relative to the respective central axes of rotation of the first vibrating wheel 106 and the second vibrating wheel 108, and these weights are generally movable relative to each other (e.g., around the respective central axes) to produce different degrees of imbalance during rotation of the first vibrating wheel 106 and the second vibrating wheel 108. The amplitude of the vibrations generated by the arrangement of such centrifugal rotating weights is altered by modifying and / or otherwise controlling the position of the centrifugal weights relative to each other, thereby changing the average distribution of the mass (i.e., the center of mass) relative to the axis of rotation of the weights. In this system, the vibration amplitude increases as the center of mass moves away from the axis of rotation of the weights and decreases toward zero as the center of mass moves toward the axis of rotation. Therefore, the vibration amplitude and / or vibration frequency can be controlled during operation. In other cases, the first vibration mechanism 110 and the second vibration mechanism 112 are replaced by any other mechanism that alters the compaction action of the first vibration wheel 106 or the second vibration wheel 108. The vibration mechanism, such as the vibration amplitude and / or vibration frequency, can be tested using the disclosed system and method.
[0025] Sensor 114 is located on the first vibrating wheel 106, and / or sensor 116 is located on the second vibrating wheel 108. Alternatively, multiple sensors 114, 116 are located on the first vibrating wheel 106, the second vibrating wheel 108, the frame 104, and / or other components of the machine 100. In such examples, sensors 114, 116 include compaction sensors configured to measure, sense, and / or otherwise determine the density, stiffness, compactability, compactability, and / or other properties of the work surface 102. Such properties of the work surface 102 are based on the composition, dryness, and / or other properties of the material being compacted. Such properties of the work surface 102 are also based on the operation and / or characteristics of the first vibrating wheel 106 and / or the second vibrating wheel 108. For example, sensor 114 coupled to the first vibrating wheel 106 is configured to sense, measure, and / or otherwise determine the material type, material density, material stiffness, and / or other properties of the work surface 102 adjacent to the first vibrating wheel 106. Additionally, sensor 114, connected to the first vibrating wheel 106, measures, senses, and / or otherwise determines the operating characteristics of the first vibrating wheel 106, including vibration amplitude, vibration frequency, the velocity of the eccentric weight associated with the first vibrating wheel 106, the distance of such eccentric weight from the axis of rotation, and the rotational speed of the first vibrating wheel 106. Furthermore, it should be understood that sensor 116, connected to the second vibrating wheel 108, is configured to determine the material type, material density, material stiffness, and / or other characteristics of the working surface 102 adjacent to the second vibrating wheel 108, as well as vibration amplitude, vibration frequency, the velocity of the eccentric weight associated with the second vibrating wheel 108, the distance of such eccentric weight from the axis of rotation, and the rotational speed of the second vibrating wheel 108. It is not necessary to measure all the operating characteristics of the first vibrating wheel 106 or the second vibrating wheel 108 listed herein; rather, these characteristics are listed for illustrative purposes.
[0026] Continue to refer to Figure 1 The machine 100 also includes an operator station 118. The operator station 118 includes a steering system 120, which includes a steering wheel, a lever, and / or other controllers (not shown) for steering and / or otherwise operating the machine 100. In such examples, various components of the steering system 120 are connected to one or more actuators, a throttle valve of the machine 100, the compactor's engine, braking components, and / or other such compactor components, and the steering system 120 is used by the operator of the machine 100 to adjust the speed, direction of travel, and / or other aspects of the machine 100 during use. The operator station 118 also includes a control interface 122 for controlling various functions of the machine 100. The control interface 122 includes analog, digital, and / or touchscreen displays, and this control interface 122 is configured to display, for example, at least a portion of the travel path and / or at least a portion of the compaction plan of this disclosure.
[0027] Machine 100 also includes a positioning sensor 124 connected to the canopy of operator station 118 and / or at one or more other locations on frame 104. Positioning sensor 124 is capable of determining the positioning of machine 100 and includes components of a Global Positioning System (GPS). For example, positioning sensor 124 includes a GPS receiver, transmitter, transceiver, or other such device, and positioning sensor 124 communicates with one or more GPS satellites (not shown) to determine the positioning of machine 100 continuously, substantially continuously, or at various time intervals.
[0028] Machine 100 also includes a communication device 126 configured to enable machine 100 to communicate with one or more other machines, and / or with one or more remote servers, processors, or control systems / interfaces located remotely from machine 100 and / or using the work site location of machine 100. This communication device 126 is configured to enable machine 100 to communicate with one or more electronic devices located at and / or remotely from the work site location. In some instances, communication device 126 includes a receiver configured to receive various electronic signals, including location data, navigation commands, real-time information, and / or project-specific information. In some instances, communication device 126 is configured to receive signals including information indicating compaction requirements specific to work site surface 102. Such compaction requirements include, for example, the number of passes required to complete the compaction of work site surface 102, the required stiffness, density, and / or compaction of work site surface 102, the required efficiency level corresponding to the compaction operation, and / or other requirements. The communication device 126 may also include a transmitter configured to transmit location data indicating the relative or geographic location of the machine 100, as well as electronic data, such as data acquired via one or more sensors of the machine 100.
[0029] Machine 100 includes a camera 128. Camera 128 provides visual feeds and supports other functional features of machine 100. In some instances, camera 128 includes a digital camera configured to record and / or transmit digital video of the work surface 102 and / or other parts of the work area in real time. In other instances, camera 128 includes an infrared sensor, a thermal imager, or other similar device configured to record and / or transmit thermal images of the work surface 102 in real time. In some instances, machine 100 may include more than one camera 128 (e.g., a camera at the front of machine 100 and a camera at the rear of machine 100).
[0030] Machine 100 also includes a main electronic control module (ECM) 130 that communicates with control interface 122, positioning sensor 124, communication device 126, camera 128, sensors 114, 116 and / or other components of machine 100. These components are used in the autonomous operation of machine 100 and may also be used to determine whether a requested test action results in a collision and / or machine 100 crossing a avoidance zone. The main ECM 130 is configured to cooperate with one or more subsystem ECMs, such as steering ECM 132(1), propulsion ECM 132(2), transmission ECM 132(3), vibration ECM 132(4), etc., to control the subsystems of machine 100. Subsystem ECMs 132(1), 132(2), 132(3), 132(4) are referred to individually or in combination below as “subsystem ECM 132” or “several subsystem ECMs 132”. Although four separate subsystems ECM 132 are shown herein, it should be understood that there exists any suitable number of subsystems ECM 132 corresponding to any suitable number of subsystems of machine 100. Furthermore, for other machines 100 (e.g., excavators, bulldozers, etc.), there exists a different number of subsystems ECM 132 corresponding to any number of subsystems of machine 100.
[0031] The main ECM 130 can generate compaction plans, one or more travel paths for machine 100, and / or other information useful to the operator of machine 100. The main ECM 130 can also receive user input, for example via control interface 122 and / or other remote control interfaces, to initiate various actions, including autonomous operation and / or testing actions. The main ECM 130 can also be configured to update the display on control interface 122 to show the current status of machine 100 and / or provide action options that can be performed by machine 100.
[0032] As disclosed herein, the master ECM 130 collaborates with the subsystem ECM 132 to test the machine 100. For example, the master ECM 130 is configured to break down complex test actions into individual operations that will be controlled by the subsystem ECM 132. In other words, the master ECM 130 can coordinate and / or control the operation of the machine 100, for example by sending messages that include action parameters that will be controlled by the individual subsystem ECM 132 that controls those actions. For example, if the machine 100 moves forward and turns to the left at a specific angle, the master ECM 130 can send a message to the propulsion ECM 132 (2) and / or the transmission ECM 132 (3) containing parameters that can control the forward propulsion speed of the machine 100. The message may include parameters for controlling the speed of the machine 100. Additionally, the master ECM 130 can send a message to the steering ECM 132 (1) containing parameters that can instruct the machine to turn to the left at a specific angle. In this way, the main ECM 130 and the subsystem ECM 132 cooperate to coordinate the operation of the machine 100. The main ECM 130 is also configured to perform complex tasks, such as automatically compacting a work site surface 102, and generate a set of sub-operations (e.g., propulsion actions, aerial navigation actions, compaction actions, etc.) to carry out the complex task.
[0033] According to this disclosure, the main ECM 130 and the subsystem ECM 132 are also configured to test the subsystems of machine 100. During the automatic operation of machine 100, it is difficult to troubleshoot and / or test the subsystems of machine 100 when machine 100 is accidentally operated. As disclosed herein, machine 100 can be placed into test mode, for example, by an operator input via control interface 122 or via a remote control interface such as received by the main ECM 130. The main ECM 130 is also configured to receive additional user input to test individual subsystems of machine 100. For example, the main ECM 130 can be configured to receive input to test the reverse propulsion of machine 100. In this case, the main ECM 130 can, for example, instruct the propulsion ECM 132 (2) and the transmission ECM 132 (3) to move machine 100 in the reverse direction. Therefore, the main ECM 130 receives user input to perform test actions in test mode, identifies the subsystem ECM 132 that will participate in performing the test actions, and generates instructions and sends them to those subsystem ECM 132 to perform the test actions.
[0034] In the example scenario, the master ECM 130 is configured to provide interlocks associated with the test action if it could cause the machine 100 to enter a avoidance zone or cause a collision. In other words, the master ECM 130 can receive data from various components such as positioning sensor 124, camera 128, sensors 114, 116, etc., and use this data to determine whether the requested test action is appropriate to perform. If the master ECM 130 determines that the test action is appropriate, it can continue to cooperate with other entities, such as the associated subsystem ECM 132, to perform the requested test action. On the other hand, if it is determined that the requested test action would cause a collision or cause the machine 100 to enter a avoidance zone, the master ECM 130 may not perform the requested test action and / or, for example, indicate on the control interface 122 that the requested test action is inappropriate.
[0035] As described herein, subsystem ECM 132 is configured to receive messages and / or instructions (e.g., messages instructing one or more actions) from master ECM 130 during testing. Messages may include parameters related to the test action, such as steering angle, engine throttle / rotation per minute (RPM), speed, vibration frequency, vibration amplitude, or any number of suitable test parameters. Subsystem ECM 132 can receive test-related messages and execute the requested actions based on the provided parameters. Subsystem ECM 132 can control various electrical, mechanical, and / or electromechanical components, such as solenoids, hydraulic systems, pneumatic systems, motors, actuators, valves, power transistors, switches, etc., to perform test-related actions.
[0036] In some example scenarios, test machine 100 may need to test communication between the master ECM 130 and one or more of the machine's subsystem ECMs 132. For example, the test may include testing whether the master ECM 130 and the compaction ECM 132 (4) can communicate with each other normally. To enable communication testing, the master ECM 130 is configured to send messages to one or more subsystem ECMs 132 in response to a response message. If the master ECM 130 receives the expected information from each subsystem ECM 132, it is determined that communication between the master ECM 130 and the subsystem ECM 132 is functioning normally. However, if the expected response message is not received from a particular subsystem ECM 132, it is determined that communication between that subsystem ECM 132 and the master ECM is not functioning normally.
[0037] The main ECM 130 and / or subsystem ECM 132 may include one or more microprocessors, field-programmable gate arrays (FPGAs), digital signal processors (DSPs), and / or other components configured to control the autonomous operation of machine 100. Many commercially available microprocessors can be configured to perform the functions of the main ECM 130 and / or subsystem ECM 132. Various known circuits are associated with the main ECM 130 and / or subsystem ECM 132, including power supply circuitry, signal conditioning circuitry, actuator driver circuitry (i.e., circuitry for powering solenoids, motors, or piezoelectric actuators), and communication circuitry. This disclosure is not in any way limited to the type of main ECM 130 and / or subsystem ECM 132 or its location relative to machine 100.
[0038] Figure 2 Based on this disclosure Figure 1 The diagram illustrates the communication links between various elements of the control system 200 of the machine 100 depicted herein. In any of the examples described herein, the control system 200 includes a main ECM 130 that communicates with various entities of the machine 100, such as subsystem ECM 132, steering system 120, control interface 122, positioning sensor 124, communication device 126, camera 128, sensors 114, 116, and / or any other sensors or components of the machine 100. In such examples, the main ECM 130 is configured to receive corresponding signals from such components.
[0039] As discussed herein, the main ECM 130 is configured to receive user input via control interface 122. For example, an operator can use control interface 122 to place machine 100 into test mode and further request test actions to troubleshoot machine 100. The main ECM 130 can receive these user inputs for performing test actions and perform these test actions in accordance with the disclosures herein.
[0040] The control system 200 may also include a remote control interface 204 configured to receive user input from a remote operator 202. Although the remote control interface 204 is depicted as a laptop computer, it should be understood that the remote control interface 204 is any suitable computing device, such as a desktop computer, server, netbook computer, smartphone, personal digital assistant (PDA), tablet computer, etc. The remote control interface 204 is located at a remote location of machine 100 in the workplace or remotely from the workplace. In some cases, the main ECM 130 is configured to receive multiple inputs from the control interface 122 and the remote control interface 204, such as test-related inputs. The main ECM 130 may also receive requests to perform autonomous tasks via the control interface 122 and / or the remote control interface 204. In any of the instances described herein, the main ECM 130 receives from one or both of the control interface 122 and / or the remote control interface 204 information indicating the location of the perimeter of the work area surface 102, information indicating the perimeter of the avoidance zone, compaction schedule, the travel path of the machine 100, vibration amplitude, vibration frequency, density, stiffness, or compactability of the work area surface 102, and / or any other information regarding the execution of a task (e.g., an autonomous task). The main ECM 130 may also be configured to provide updates on the status of the machine 100 (e.g., location, speed, etc.) via the control interface 122 and / or the remote control interface 204.
[0041] The remote control interface 204 is configured to interact with the main ECM via a network 206, such as the Internet, through a communication device 126. Network 206 can be any suitable network, such as a local area network (“LAN”), a wide area network (“WAN”), or a collection of networks, for example, the Internet. Protocols used for network communication, such as WiFi, TCP / IP, and / or other suitable protocols and standards, are used to implement network 206. Although examples described herein use networks such as the Internet, other distributed technologies can be implemented to transmit information wirelessly or via memory cards, flash memory, or other portable storage devices.
[0042] In the example scenario, the primary ECM 130 is configured to receive various data to determine whether a requested test action is appropriate. For example, the primary ECM 130 may receive one or more signals from the positioning sensor 124, including information indicating the positioning of the machine 100. The positioning sensor 124 may be configured to determine the positioning of the machine 100 when the machine 100 crosses the perimeter of the work area surface 102 and / or when the machine 100 travels to any other work area location. The positioning sensor 124 may be connected to and / or otherwise communicate with one or more satellites or other GPS components configured to assist the positioning sensor 124 in determining the positioning of the machine 100 in any of the example processes described herein. In some cases, the positioning sensor 124 may also include one or more inertial sensors, such as accelerometers, gyroscopes, etc., to determine the location of the machine 100. The main ECM 130 can be configured to receive data from the positioning sensor 124 to determine the positioning of the machine 100 and to determine whether a requested test action will cause the machine 100 to enter a avoidance zone and / or may cause damage to the machine 100. Such avoidance zones may include, for example, ditches, trenches, bodies of water, safety holes, electrical connections, wooded areas, and / or any other areas that may cause damage to the machine 100 if crossed.
[0043] When the machine operates in autonomous mode, the master ECM 130 uses information indicating the location of the perimeter of the work area surface 102, information indicating the location of the perimeter of one or more avoidance zones, information indicating one or more compaction requirements specific to the work area surface 102, and / or any other received information to generate a compaction plan for the machine 100 associated with the work area surface 102. Such a compaction plan may include a travel path of the machine 100 extending substantially within the perimeter of the work area surface. In such instances, this travel path may keep the machine 100 outside one or more avoidance zones. Such a compaction plan may include visual markings that specifically indicate the perimeter of the work area surface 102, the perimeter of one or more avoidance zones, and / or the travel path of the machine 100. This compaction plan may also include the speed of the machine 100, the vibration frequency of the first vibrating wheel 106 and / or the second vibrating wheel 108, the vibration amplitude of the first vibrating wheel 106 and / or the second vibrating wheel 108, and / or other operating parameters of the machine 100. In such instances, the compaction plan may also include visual markers indicating one or more such operating parameters. The main ECM 130 may use one or more compaction plan models, algorithms, neural networks, lookup tables, and / or one or more additional methods to determine the compaction plan, travel path, speed of machine 100, vibration frequency of the first vibrating wheel 106 and / or the second vibrating wheel 108, vibration amplitude of the first vibrating wheel 106 and / or the second vibrating wheel 108, and / or other operating parameters of machine 100. In an exemplary embodiment, the main ECM 130 may have associated memory in which various compaction plan models, algorithms, lookup tables, and / or other components may be stored for determining the compaction plan, travel path, and / or operating parameters of machine 100 based on one or more inputs. Such inputs may include, for example, the circumference and / or width of the first vibrating wheel 106 and the second vibrating wheel 108, the mass of the machine 100, information indicating the location of the perimeter of the work site surface 102, information indicating the location of the perimeter of the avoidance zone, information indicating one or more compaction requirements specific to the work site surface 102, and / or any other received information.
[0044] The main ECM 130 can use other data to determine whether the parameters for performing the automation task and / or the requested test actions are suitable for execution. The main ECM 130 can also receive corresponding signals from sensors 114 and 116. As described above, sensors 114 and 116 can be configured to determine the density, stiffness, compactability, and / or other characteristics of the work surface 102. Such sensors 114 and 116 can also be configured to determine the vibration frequency, vibration amplitude, and / or other operating characteristics of the first vibrating wheel 106 and the second vibrating wheel 108, respectively. In some instances, sensor 114 can determine the density, stiffness, compactability, and / or other characteristics of a portion of the work surface 102 located near the first vibrating wheel 106 and / or along the travel path of the machine 100. Sensor 114 can send one or more signals to the main ECM 130 including information indicating such characteristics, and the main ECM 130 can, at least in part based on this information, control the vibration mechanism 110 to modify at least one of the vibration frequency and vibration amplitude of the first vibrating wheel 106 as the machine 100 traverses the travel path. In such an example, sensor 116 can determine one or more of the same characteristics of a portion of the work area surface 102 located near the second vibrating wheel 108 and / or along the travel path of the machine 100. Sensor 116 can send one or more signals to the main ECM 130 including information indicating such characteristics, and the main ECM 130 can, at least in part based on this information, control the vibration mechanism 112 to modify at least one of the vibration frequency and vibration amplitude of the second vibrating wheel 108 as the machine 100 traverses the travel path. Data received from sensors 116, 118 can also be used to determine whether a requested test action is appropriate. For example, data from sensors 114 and 116 can indicate whether compacting a particular type of work site surface 102 may cause damage to machine 100 or other infrastructure.
[0045] Camera 128 can provide data that can be processed to determine whether a proposed test action is appropriate to perform. For example, the main ECM 130 can receive image data from camera 128 and use image processing to determine whether the test action might cause machine 100 to collide with another object. In this way, camera 128 provides a mechanism for preventing undesirable consequences from the test action. Additionally, although not shown here, other collision avoidance sensors, such as radio detection and ranging (RADAR), light detection and ranging (LIDAR), and sound navigation ranging (SONAR), may be present to determine whether the requested test action is appropriate to perform.
[0046] Figure 3 Based on the schematic diagram of the example user interface (UI) 300 of this disclosure, a user can interact with the user interface to test... Figure 1 The machine 100 is depicted in the image. A UI 300 is displayed on a control interface 122 and / or a remote control interface 204. The UI 300 may include various icons and / or display fields. The operator 202 can interact with at least some of the icons and / or display fields via any suitable means, such as a touchscreen of the control interface 122 and / or the remote control interface 204, or alternatively a touch pen, mouse, trackball, etc. The UI 300 may include one or more navigation icons 302 for displaying a previous display or home display (e.g., a default display or home display). The UI 300 may display various icons indicating the status of the machine 100. For example, icon 304 may indicate that the autonomous machine is receiving GPS satellite signals. Icons 306, 308 may indicate the status of the machine 100 (e.g., automatic mode, activated, etc.). Icon 310 may indicate that the autonomous machine is in test mode. This mode may have been selected by the operator 202 from a previous screen of the control interface 122 and / or the remote control interface 204. Display field 312 can display a timer or clock, such as a timer that indicates the operating time of an autonomous machine.
[0047] Icons 320, 322, 324, and 326 can be selected by operator 202 to perform test actions for forward navigation, reverse navigation, left turn, or right turn, respectively. If the operator selects one of these icons 320, 322, 324, and 326 on control interface 122 and / or remote control interface 204, the corresponding test action can be indicated to the master ECM 130 upon request. Field 330 can indicate the vibration amplitude of the machine 100 that can be tested. If icons 332, 334, and 336 are selected on control interface 122 and / or remote control interface 204, a test action of high vibration amplitude, low vibration amplitude, or no vibration can be indicated to the master ECM 130 accordingly. Although some embodiments of UI 300 are shown herein, in other instances, any suitable type and variation of UI 300 can be used to receive input from operator 202 to perform test actions on machine 100, such as machine 100, or any other type of machine 100.
[0048] Figure 4 It is based on the description in this disclosure for testing. Figure 1 The flowchart shows an example method 400 of machine 100. Method 400 is performed by the main ECM 130 in cooperation with one or more other entities of machine 100.
[0049] At box 402, the master ECM receives user input instructing the autonomous machine to be placed in test mode. This input can be received via control interface 122 and / or remote control interface 204 when provided by the operator. The operator may observe malfunctions in the autonomous machine and therefore decide to place it in test mode. In other cases, test mode may be requested for planned maintenance purposes. In some situations, the master ECM may receive user input instructions as messages.
[0050] At box 404, the master ECM places the autonomous machine into a test mode, at least in part, based on user input. In this test mode, machine 100 is configured to perform one or more test actions as described herein. In the test mode, the master ECM 130 is ready to receive test action requests, for example, from control interface 122 and / or remote control interface 204.
[0051] At box 406, the master ECM receives additional user input to perform test actions associated with the autonomous machine's subsystems. As shown on control interface 122 and / or remote control interface 204, this test action can be requested by operator 202 interacting with UI 300. For example, operator 202 might wish to select... Figure 3 The UI 300 uses icon 320 to test forward propulsion. As another example, operator 202 might want to test high-amplitude vibration by selecting icon 332.
[0052] At box 408, the master ECM identifies the subsystem ECM associated with the subsystem to be tested. The requested test action may involve a series of operations to perform the test action. Each of these operations may be associated with a subsystem ECM 132. For example, for a navigation task, the master ECM 130 may identify propulsion ECM 132 (2) as the subsystem ECM that performs the operation (e.g., moving forward) of the test action. In some cases, the association between the test action and individual subsystem ECMs within the subsystem ECMs may be stored in the memory and / or storage device of the master ECM. Some test actions may involve multiple operations, where different operations may have to be performed by two or more subsystem ECMs 132. The master ECM 130 may have a mapping (e.g., a lookup table stored in memory) for determining the subsystem ECM 132 associated with a particular test action in the requested test action. For example, the master ECM 130 may access the lookup table to determine if a vibration test may require the invocation of compaction ECM 132 (4).
[0053] At box 410, the master ECM sends a message to the subsystem ECM to perform a test action. The message may provide instructions to the subsystem ECM 132 to perform one or more operations of the test action. If more than one subsystem ECM 132 is associated with a test action, a message may be sent to each subsystem ECM 132 to perform the operation associated with the requested test action. For example, if the test action includes moving forward and turning right, the master ECM 130 may send corresponding messages with instructions to the propulsion ECM 132 (2) and the turning ECM 132 (1). The message may include various parameters that will be implemented by the subsystem ECM 132 in the operation of performing the requested test action. In some cases, the parameter values are previously associated with the test action. For example, a forward propulsion test action may be performed at 7 miles per hour (MPH), and thus a speed of 7 MPH is provided as a parameter for performing the test action. In other cases, the parameter values may be selected by the operator 202. Some parameters include, for example, speed, distance, acceleration, direction, duration of action, steering angle, force to be applied, work to be completed, throttle valve position / angle, rotations per minute (RPM), vibration amplitude, vibration frequency, and combinations thereof.
[0054] At box 412, the master ECM determines whether the test action was successfully executed. In some cases, the master ECM 130 receives, for example, an indication from subsystem ECM 132 that the requested test action has been successfully completed. Similarly, if more than one subsystem ECM 132 is involved in executing the requested test action, the master ECM 130 requests and / or receives indications from each subsystem ECM 132 that the corresponding operation of the test action was successful. In other cases, the master ECM 130 determines whether the test action was successfully executed, for example, by using sensor data and / or other feedback mechanisms. For example, if the test action involves moving machine 100 forward by 200 feet, the master ECM 130 processes positioning data received from positioning sensor 124 to evaluate the success of the test action in order to determine whether the test action was successful.
[0055] At box 414, the master ECM can indicate whether the test action was successfully executed. The master ECM 130 causes the control interface 122 and / or the remote control interface 204 to display an indication of whether the test action was successful or not. It should be understood that the procedures in boxes 412 and 414 can be optional, and in some cases, the master ECM 130 may not provide any indication of whether the test action was successful. In other alternatives, the master ECM 130 may, for example, confirm on the control interface 122 and / or the remote control interface 204 that the requested test action has been attempted, and the operator 202 can assess whether the requested test action was successful.
[0056] At box 416, the main ECM determines if there is any additional user input to perform any additional test actions. If it is determined that there is additional user input to perform additional test actions, method 400 can return to box 408 to perform the next requested test action. On the other hand, if there is no additional user input to perform additional test actions, method 400 can end at box 418.
[0057] It should be noted that some operations of method 400 may not be performed in the order shown, may have additional components, and / or may not have some components. Some operations of method 400 may also be performed substantially simultaneously, and therefore may end in a different order than the order of operations shown above. It should also be noted that in some cases, other components of machine 100 may be involved in one or more operations as described herein.
[0058] Figure 5 Based on the description in this disclosure, at least in part, the determination of the appropriateness of the test action is made. Figure 1 The flowchart shows an example method 500 for initiating a test action on the machine. Method 500 is executed by the main ECM 130 in cooperation with one or more other entities on the machine 100.
[0059] At box 502, the master ECM receives user input to perform test actions associated with the autonomous machine's subsystems. As shown on control interface 122 and / or remote control interface 204, this test action can be requested by operator 202 interacting with UI 300. For example, operator 202 might wish to select... Figure 3 The UI 300 icon 322 is used to test the reverse push.
[0060] At box 504, the master ECM identifies the subsystem ECM associated with the subsystem to be tested. The requested test action may involve a series of operations to complete the test action. Each of these operations may be associated with subsystem ECM 132. For example, for a navigation task, the master ECM 130 identifies propulsion ECM 132(2) as the subsystem ECM that performs the operation (e.g., moving forward) of the test action. Some test actions may involve multiple operations, where different operations may have to be performed by two or more subsystem ECMs 132. The master ECM 130 may have a mapping (e.g., a lookup table stored in memory) for determining the subsystem ECM 132 associated with a particular test action in the requested test action.
[0061] At box 506, the main ECM receives sensor data associated with the test action. This sensor data may include any suitable data and / or information, such as positioning data from positioning sensor 124, image data from a camera, vibration data from sensors 114, 116, or any other sensor data, such as ranging data from a LiDAR, RADAR, and / or SONAR device. This type of sensor data may be suitable for processing and / or analysis (e.g., image analysis) by the main ECM 130 to make predictions related to the appropriateness of the requested test action.
[0062] At box 508, the master ECM determines, at least in part, whether conditions are suitable for performing a test action based on data from one or more sensors. The sensor data may be used by the master ECM 130 to predict whether performing the requested test action before doing so could result in any collision, entry into a avoidance zone, or further damage to machine 100. Therefore, the master ECM 130 predicts the future positioning and / or consequences associated with performing the test action, and whether such positioning and / or other consequences could lead to undesirable outcomes. For example, the master ECM 130 may determine whether machine 100 is likely to cross a avoidance zone by performing the test action. As another example, the master ECM may predict whether it is likely to collide with another object (e.g., another machine) by performing the requested test action.
[0063] At block 510, if the master ECM determines that the conditions are suitable for executing a test action, then at block 512, a message to execute the test action can be sent to the subsystem ECM. At block 512, the message can provide instructions to the subsystem ECM 132 to execute one or more operations of the test action. If more than one subsystem ECM 132 is associated with a test action, a message can be sent to each subsystem ECM 132 to execute the operation associated with the requested test action. The message can include various parameters that will be implemented by the subsystem ECM 132 in the operation of executing the requested test action. Similar to blocks 412 and 414 of method 400, in some cases, the master ECM 130 may optionally provide confirmation that the requested test action was attempted and / or whether the test action was successful.
[0064] However, if it is determined at block 510 that the conditions are not suitable for performing the test action, then at block 514, an indication can be provided that the conditions are not suitable for performing the requested test action. In some cases, the interlocking system can prevent the execution of the test action. In other cases, the master ECM 130 may indicate, for example, on the control interface 122 and / or the remote control interface 204, that it may be concerned to perform the requested test action.
[0065] It should be noted that some operations of method 500 may not be performed in the order shown, may have additional components, and / or may not have some components. Some operations of method 500 may also be performed substantially simultaneously, and therefore may end in a different order than that shown above. It should also be noted that in some cases, other components of machine 100 may be involved in one or more operations as described herein.
[0066] Figure 6 It is based on the description in this disclosure for testing. Figure 1 A flowchart of an example method 600 for communication between the main electronic control module (ECM) 130 of machine 100 and the subsystem ECM 132. Method 600 is performed by the main ECM 130 in cooperation with one or more other entities of machine 100.
[0067] At box 602, the main ECM receives user input to perform a communication test action associated with a subsystem of the autonomous machine. As shown on control interface 122 and / or remote control interface 204, this test action can be requested by the operator 202 interacting with UI 300.
[0068] At box 604, the master ECM identifies the subsystem ECM associated with performing the communication test action. The subsystem and / or subsystem ECM 132 may be indicated in the test action request. In some cases, the master ECM 130 may determine the associated subsystem ECM 132 of the subsystem from a mapping table (e.g., a lookup table).
[0069] At box 606, the master ECM sends a message to the subsystem ECM in response to a response message. In some cases, the response instruction can be explicitly provided in the message. In other cases, the subsystem ECM 132 may know to send a response message in response to receiving a message from the master ECM 130.
[0070] At block 608, the master ECM determines whether a response message has been received. If a response is received, then at block 610, it can be indicated on control interface 122 and / or remote control interface 204 that communication with subsystem ECM 132 is functioning normally. However, if no response message is received, method 600 can proceed to block 612, where it can be indicated on control interface 122 and / or remote control interface 204 that communication with subsystem ECM 132 is not functioning normally.
[0071] It should be noted that some operations of method 600 may not be performed in the order shown, may have additional components, and / or may not have some components. Some operations of method 600 may also be performed substantially simultaneously, and therefore may end in a different order than that shown above. It should also be noted that in some cases, other components of machine 100 may be involved in one or more operations as described herein.
[0072] Figure 7 The description of the example situation based on this disclosure is intended for use in Figure 1 The flowchart shows an example method 700 for performing test actions on machine 100. Method 700 is performed by subsystem ECM 132 in cooperation with one or more other entities on machine 100.
[0073] At box 702, the subsystem ECM receives a message from the master ECM to execute a test action. This message can be generated by... Figure 4 The process in block 410 of method 400 is sent from the main ECM 130 to the subsystem ECM 132. This message may include instructions related to the operation of the requested test action.
[0074] In block 704, the subsystem ECM performs test actions at least in part based on messages. Subsystem ECM 132 can control any kind of electrical, mechanical and / or electromechanical components, such as solenoids, hydraulic systems, pneumatic systems, motors, actuators, valves, power transistors, switches, etc., to perform test actions and / or operations.
[0075] At box 706, the subsystem ECM determines whether to receive an additional message to perform additional test actions. If no additional message to perform additional test actions is received, method 700 can terminate at box 708. However, if an additional message to perform another test action is received, method 700 can return to box 702.
[0076] It should be noted that some operations of method 700 may not be performed in the order shown, may have additional components, and / or may not have some components. Some operations of method 700 may also be performed substantially simultaneously, and therefore may end in a different order than that shown above. It should also be noted that in some cases, other components of machine 100 may be involved in one or more operations as described herein.
[0077] Figure 8 This illustrates an example of a controllable situation according to this disclosure. Figure 1A block diagram of an example main electronic control module (EMC) 130 for testing machine 100. The description of the components of subsystem ECM 132 can be similar to the description of the components of main ECM 130. Main ECM 130 includes one or more processors 802, one or more input / output (I / O) interfaces 802, one or more communication interfaces 806, one or more storage interfaces 808, and computer-readable medium 810.
[0078] In some implementations, processor 802 may include a central processing unit (CPU), a graphics processing unit (GPU), both a CPU and a GPU, a microprocessor, a digital signal processor, or other processing units or components known in the art. Alternatively or additionally, the functions described herein may be performed at least in part by one or more hardware logic components. For example, but not limited to, illustrative types of hardware logic components that may be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), etc. Additionally, each processor 802 may have its own local memory, which may also store program modules, program data, and / or one or more operating systems. One or more processors 802 may include one or more cores.
[0079] One or more input / output (I / O) interfaces 804 enable the master ECM 130 to detect interactions with the user. For example, the user may be able to maintain, update, and / or operate the master ECM 130. Therefore, the I / O interfaces may include and / or enable control interface 122 and / or remote control interface 204.
[0080] Network interface 604 enables the main ECM 130 to communicate via one or more networks. Network interface 806 may include a combination of hardware, software, and / or firmware, and may include software drivers for implementing any variety of protocol-based communications and any variety of wired and / or wireless ports / antennas. For example, network interface 806 may include WiFi, cellular radio, wireless (e.g., IEEE 802.1x type) interfaces, One or more of the following: interfaces, etc.
[0081] Storage interface 808 enables processor 802 to interface with and exchange data with computer-readable medium 810 and any storage device external to main ECM 130. Storage interface 808 also enables access to removable media.
[0082] Computer-readable medium 810 may include volatile and / or non-volatile memory, 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. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage devices, magnetic tape cassettes, magnetic tape, disk storage devices or other magnetic storage devices, RAID storage systems, or any other medium that can be used to store desired information and is accessible by a computing device. Computer-readable medium 810 may be implemented as a computer-readable storage medium (CRSM), which may be any available physical medium accessible to processor 802 to execute instructions stored on memory 810. In one basic embodiment, CRSM may include random access memory (RAM) and flash memory. In other embodiments, CRSM may include, but is not limited to, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), or any other tangible medium that can be used to store desired information and is accessible by processor 802. Computer-readable medium 810 may have an operating system (OS) and / or various suitable applications stored thereon. When the OS is executed by the processor 802, it can manage the hardware and / or software resources of the main ECM 130.
[0083] Several components, such as instruction and data storage, may be stored in computer-readable medium 810 and configured to execute on processor 802. Computer-readable medium 810 may already store a control manager 812, a test user interface (UI) manager 814, a subsystem manager 816, a sensor data manager 818, a communication manager 820, and a collision avoidance manager 822. It should be understood that each component 812, 814, 816, 818, 820, 822 may store instructions that, when executed by processor 802, can perform various functions related to the test machine 100 as described herein.
[0084] The instructions stored in the control manager 812, when executed by the processor 802, can configure the main ECM 130 to control various aspects of the machine 100, such as placing the machine in a test mode, where the machine is configured to perform one or more test actions that the operator 202 may request. The processor 802 can also be configured to provide instructions to various subsystems ECM 132, not only for testing purposes but also during autonomous operation.
[0085] Instructions stored in the UI manager 814, when executed by the processor 802, can configure the main ECM 130 to receive user input via the UI 300, as shown on the control interface 122 and / or the remote control interface 204. The processor 802 can also be configured to display the system status of the machine 100 on the UI 300.
[0086] Instructions stored in the subsystem manager 816, when executed by the processor 802, can configure the main ECM 130 to identify subsystems of machine 100 and / or their corresponding subsystem ECMs 132 participating in user-requested test actions. The correspondence between test actions and one or more subsystem ECMs can be stored in a computer-readable medium 810 and accessed by the processor 802 to identify the subsystem ECM 132 participating in performing the test action.
[0087] Instructions stored in the sensor data manager 818, when executed by the processor 802, can configure the main ECM 130 to receive sensor data from various sensors, such as positioning sensors 124, sensors 114 and 116, camera 128, LiDAR sensors, etc. This sensor data can be managed and / or stored by the processor 802 to perform autonomous operations, test actions, and / or evaluate the appropriateness of requested test actions.
[0088] Instructions stored in the communication manager 820, when executed by the processor 802, can configure the master ECM 130 to test its communication with one or more subsystem ECMs 132. The processor 802 can be configured to send messages to the subsystem ECM 132 to which the communication is being tested. The master ECM 130 can determine, at least in part, whether the communication with the subsystem ECM 132 is functioning correctly based on receiving a response message after sending the communication test message.
[0089] Instructions stored in the collision avoidance manager 822, when executed by the processor 802, can configure the main ECM 130 to process received sensor data, such as image data from the camera 128, to determine whether a requested test action is appropriate to perform. The processor 802 can be configured to perform analysis, such as image analysis, to determine any number of undesirable consequences resulting from performing the requested test action, such as a collision with another object. Other undesirable consequences may include crossing a avoidance zone (e.g., a pit lane) where the machine 100 might get stuck.
[0090] Industrial applicability
[0091] This disclosure describes systems, apparatus, and methods for testing machine 100, such as a construction machine (e.g., a compactor) capable of operating in autonomous mode to perform one or more tasks. For example, this disclosure describes a testing system in which a master ECM receives user input to test subsystems of machine 100 by performing test actions. The master ECM identifies one or more subsystem ECMs 132 that will perform the test actions. The master ECM 130 instructs the subsystem ECMs 132 to perform the task actions. Thus, an operator is able to test individual subsystems of machine 100.
[0092] The feasibility of using autonomous machines in construction, mining, agriculture, and other activities is improved through the testing systems and methods disclosed in this paper. Therefore, autonomous machines can be deployed on-site, and they can also be diagnosed and repaired on-site. This helps improve worker skill levels and capital efficiency, increase the uptime of construction equipment, and improve the efficiency of construction projects.
[0093] Although the systems and methods for testing machine 100 are discussed in the context of machine 100, it should be understood that the systems and methods discussed herein can be applied to a wide range of machines and vehicles across a broad spectrum of industries, such as construction, mining, agriculture, transportation, military, and combinations thereof. For example, the testing system disclosed herein can be applied to excavators in the mining industry or harvesters in the agricultural industry.
[0094] While various aspects of this disclosure have been specifically shown and described with reference to the foregoing examples, those skilled in the art will understand that various additional examples can be conceived through modifications to the disclosed machines, systems, and methods without departing from the spirit and scope of the disclosure. These examples should be understood to fall within the scope of this disclosure as defined by the claims and any equivalents thereof.
[0095] Unless otherwise indicated herein, the description of value ranges herein is intended only as a shorthand method for referring to each independent value falling within the range, and each independent value is incorporated into the specification as if described separately herein. All methods described herein may be performed in any suitable order unless otherwise specified herein.
Claims
1. An electronic control module (ECM) comprising: one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to: receive, via a control interface, a first input indicative of a test autonomous machine; initiate a test mode based at least in part on the first input, in which test mode the autonomous machine is operable to perform one or more test actions; receive, via the control interface, a second input indicative of a first test action to be performed, the first test action corresponding to an action to be performed by the autonomous machine according to a predetermined task plan; determine, according to an execution sequence, a plurality of operations required to be performed by one or more systems of the autonomous machine to complete the first test action; identify a first subsystem ECM programmed to cause a first subsystem of the autonomous machine to perform a first operation of the plurality of operations according to the execution sequence; receive sensor data associated with the first test action; determine, based on the sensor data, whether a condition is suitable for performing the first test action; wherein, in response to determining that the condition is suitable for performing the first test action, the computer-executable instructions, when executed by the one or more processors, further cause the one or more processors to: generate a first instruction indicative of the first operation to be performed by the first subsystem; provide the first instruction to the first subsystem ECM, wherein the first instruction causes the first subsystem ECM to control the first subsystem to perform the first operation based on the execution sequence; receive, from the first subsystem ECM, information indicative of whether the first operation is complete; determine, based at least in part on the information, whether the first test action was performed; cause the control interface to display an indication of whether the first test action was performed; and wherein, in response to determining that the condition is not suitable for performing the first test action, the computer-executable instructions, when executed by the one or more processors, further cause the one or more processors to: provide an indication that the condition is not suitable for performing the first test action. in response to determining that the condition is suitable for performing the first test action, the computer-executable instructions, when executed by the one or more processors, cause the one or more processors to:
2. The electronic control module of claim 1, wherein, determine a second subsystem ECM associated with the first test action; generate a second instruction indicative of a second operation to be performed by the second subsystem ECM; and send the second instruction to the second subsystem ECM, wherein the second instruction causes the second subsystem ECM to perform the second operation.
3. The electronic control module of claim 1, wherein the first test action comprises a steering test action, the first subsystem ECM is a steering ECM, and the first instruction is indicative of one or more parameters describing the steering test action including a steering direction. 4. The electronic control module of claim 1, wherein the computer-executable instructions, when executed by the one or more processors, cause the one or more processors to: receive, via the control interface, a third input indicative of a second test action to be performed, the second test action comprising a second one or more operations; determine a second subsystem ECM associated with the second test action; generate a second instruction indicative of a second operation of the second one or more operations to be performed by the second subsystem ECM; and send the second instruction to the second subsystem ECM, wherein the second instruction causes the second subsystem ECM to perform the second operation.
5. The electronic control module of claim 4, wherein the autonomous machine is a compactor, the second test action is a compaction test action, the second subsystem ECM is a compaction ECM, and the second instruction is indicative of at least one of: (i) a vibration amplitude; or (ii) a vibration frequency of the compaction test action.
6. A method for testing an autonomous machine, comprising: receiving, by a host electronic control module (ECM), via a test interface displayed on a control interface, a first input indicative of a first test action to be performed, the first test action corresponding to an action to be performed by the autonomous machine according to a predetermined task plan; determining, according to an execution sequence, a plurality of operations that need to be performed by one or more systems of the autonomous machine to complete the first test action; identifying a first subsystem ECM programmed to cause a first subsystem of the autonomous machine to perform a first operation of the plurality of operations according to the execution sequence; receiving, by the host electronic control module, sensor data associated with the first test action; determining, based on the sensor data, whether a condition is suitable for performing the first test action; wherein, in response to determining that the condition is suitable for performing the first test action: generating, by the host electronic control module, a first instruction indicative of the first operation of the plurality of operations to be performed by the first subsystem; sending, by the host electronic control module, the first instruction to the first subsystem ECM, wherein the first instruction causes the first subsystem ECM to control the first subsystem to perform the first operation based on the execution sequence; receiving sensing information from one or more sensors; determining, based at least in part on the sensing information, whether the first test action was performed; causing the control interface to display an indication of whether the first test action was performed; wherein, in response to determining that the condition is not suitable for performing the first test action: providing an indication that the condition is not suitable for performing the first test action.
7. The method for testing an autonomous machine of claim 6, further comprising: receiving, via the control interface, a second input indicative of the autonomous machine is to be tested prior to the first input; and based at least in part on the second input, initiating the autonomous machine in a test mode in which the autonomous machine is operable to perform one or more test actions, the one or more test actions including the first test action.
8. The method for testing an autonomous machine of claim 6, wherein the first test action comprises a propulsion test action, the first subsystem ECM is a navigation ECM, and the first instruction indicates at least one of: (i) a direction of propulsion; (ii) a speed of propulsion; or (iii) a distance of propulsion.
9. The method for testing an autonomous machine of claim 6, wherein the step of determining that the condition is suitable for performing the first test action comprises determining that the first test action avoids a collision, comprising: receiving image data from a camera; analyzing the image data; and based at least in part on analyzing the image data, determining that the first test action avoids any collision with other objects.
10. The method for testing an autonomous machine of claim 6, wherein the control interface is disposed remotely from the autonomous machine.
Citation Information
Patent Citations
Test system and method
CN110618910A
Systems and methods for automated testing of autonomous vehicles
US10466705B1