A simulation test method for unmanned driving in underground mines based on cluster hardware-in-the-loop
By building vectorized operation maps and building cluster hardware in-loop simulation systems, parallel simulation and real-time scheduling simulation of underground unmanned vehicles are realized, and the problem of low simulation testing efficiency of underground unmanned vehicles in the existing technology is solved, and efficient, low-cost and safe simulation testing is achieved.
Patent Information
- Application Number
- CN202411874692.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2044-12-19
AI Technical Summary
The prior art is difficult to conduct simulation tests of underground autonomous vehicles efficiently, at low cost and safely, especially in complex unstructured environments.
By building a vectorized operation map simulation environment and building a cluster hardware in-loop simulation system with a distributed computing framework, parallel simulation of mine laying machines, shaft slips, shovelers and transport vehicles are realized, and real-time scheduling and simulation is carried out according to the status of loading and unloading equipment and vehicle location, solving the optimal destination and path of the vehicle through multi-objective optimization problems.
It significantly improves the efficiency of downhole simulation testing, reduces costs, ensures safety, and can simulate downhole operation scenarios more refinedly, improving the physical fidelity and environmental adaptability of the simulation.
Smart Images

Figure CN119323143B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of unmanned driving simulation, and in particular to an unmanned driving simulation test method for underground mining based on cluster hardware-in-the-loop. Background Art
[0002] With the continuous advancement of modern mining technology, the application of unmanned driving technology in underground mining production is becoming more and more extensive. Unmanned mining vehicles, such as unmanned mining trucks, can autonomously navigate and operate in complex underground environments, greatly improving the efficiency of ore transportation, reducing personnel input, and improving the safety conditions of operators. On the one hand, the harsh environmental conditions underground pose a threat to the physical and mental health of drivers. On the other hand, the manual driving efficiency of mining vehicles is low and prone to safety accidents. Therefore, unmanned driving technology is considered to be an effective way to solve the safety, efficiency, cost and other problems faced by traditional mining vehicles. It is of great significance to improve mining efficiency, reduce production costs, and ensure the safety of practitioners.
[0003] In order to truly implement the unmanned driving technology in underground mines, many technical problems need to be overcome. First, it is necessary to achieve accurate positioning and navigation of unmanned vehicles in complex unstructured environments; second, it is necessary to establish a collaborative working mechanism between unmanned vehicles and equipment such as chutes, scrapers, and ore-dropping machines; third, it is necessary to build a production scheduling system covering multiple processes such as mining, loading, transportation, and unloading. This places high demands on the algorithms for environmental perception, motion control, trajectory planning, and production scheduling of unmanned vehicles. At the same time, the complex environment of the mine, which is narrow, dark, and dusty, also poses great challenges to algorithm testing and verification.
[0004] At present, a large number of studies related to unmanned mining vehicles have been carried out at home and abroad, and a number of environmental perception and positioning navigation technologies based on multi-source heterogeneous sensors such as vision and lidar, trajectory tracking control technology based on kinematic models, and various production scheduling algorithms such as heuristic and intelligent optimization have emerged. However, limited by the complex and changeable environmental conditions underground, the testing and verification of various technologies of unmanned vehicles mainly rely on continuous real vehicle experiments. There are many limitations to conducting a large number of tests at the actual underground operation site: first, due to the limited underground space, the conditions for conducting large-scale experiments at the same time are limited; second, the cost of real vehicle experiments is high and the progress is slow; third, the algorithm iteration is frequent, and each modification must be verified by real vehicles, which seriously restricts the efficiency of technological progress; fourth, accidents such as collisions are inevitable in testing under complex environments, and there are certain safety hazards.
[0005] Therefore, there is an urgent need for an efficient, low-cost, and safe simulation test method to complete the development, debugging, and performance evaluation of various technologies of the unmanned driving system before the actual vehicle experiment. At present, virtual simulation has become a common means of developing autonomous vehicles, but it is mainly aimed at urban structured road environments and lacks modeling of special unstructured environments underground. The models of open source simulation platforms such as Gazebo, which are commonly used in the field of robotics, are not detailed enough and it is difficult to reflect underground operation scenes with a high degree of realism. Commercial simulation software is expensive and lacks secondary development capabilities, making it difficult to implement personalized functions according to needs. Hardware-in-the-loop simulation is widely used in the field of vehicle engineering, but it is mainly limited to single-vehicle-level dynamic simulation and lacks large-scale parallel simulation capabilities at the fleet level. Summary of the invention
[0006] In response to the problem of low efficiency of simulation testing of underground unmanned vehicles in the prior art, the present application provides an underground mining unmanned driving simulation testing method based on cluster hardware-in-the-loop. By constructing a vectorized operation map simulation environment and setting up a cluster hardware-in-the-loop simulation system with a distributed computing framework, parallel simulations are performed on ore-dropping machines, chutes, shovel loaders and transport vehicles respectively. At the same time, real-time scheduling simulation is performed according to the status of loading and unloading equipment and the location of the vehicle. By solving multi-objective optimization problems, the optimal destination and path of the vehicle are obtained, thereby improving the efficiency of underground simulation testing.
[0007] The purpose of this application is achieved through the following technical solutions.
[0008] The present application provides a simulation test method for unmanned driving in underground mines based on cluster hardware-in-the-loop, including: constructing a simulation environment for an operation map, the operation map including road information, location information of loading and unloading points, and obstacle information; wherein the road information includes outbound and return roads, road width, speed limit, slope, and traffic control facilities; the obstacle information includes the location, size, direction of movement, speed, and time of appearance and disappearance of the obstacle; the data format of the operation map adopts vector graphics, and spatial indexing is used to organize and store data. On the constructed operation map simulation environment, a cluster hardware-in-the-loop simulation system is built, and the ore-dropping machine, chute, transport vehicle and shovel loader are simulated respectively on the simulation system; when there are multiple loading points or unloading points in the constructed operation map simulation environment, the optimal loading point, unloading point and driving route of each transport vehicle are calculated according to the status of the ore-dropping machine at each loading point, the status of the chute at each unloading point and the position and status data of the transport vehicle during the simulation process to realize the transport vehicle scheduling simulation; the cluster hardware-in-the-loop simulation system adopts a distributed computing architecture to perform parallel simulation calculations on multiple ore-dropping machines, chutes, shovel loaders and transport vehicles, and the data in the simulation process is kept consistent through a data synchronization mechanism.
[0009] Furthermore, the ore-dropping machine is simulated, including: based on the loading point location information in the operation map, obtaining the initial state data of the ore-dropping machine at each loading point, the initial state data including the normal working state, fault state, open state and closed state of the ore-dropping machine; establishing a simulation model of the ore-dropping machine according to the initial state data of the ore-dropping machine at the loading point, the simulation model of the ore-dropping machine including the physical parameters and control logic of the ore-dropping machine; in the simulation process, updating the open and closed states of the ore-dropping machine according to the material scheduling requirements of the loading point; and updating the normal working state and fault state of the ore-dropping machine according to the fault occurrence and maintenance completion events of the ore-dropping machine; associating the updated state data of the ore-dropping machine simulation model with the location information of the corresponding loading point in the operation map to form the simulated position and state data of the ore-dropping machine; in the transport vehicle scheduling simulation, using the simulated position and state data of the ore-dropping machine as scheduling constraints, when the ore-dropping machine is in normal working state and open state, the vehicles at the corresponding loading point are allowed to perform loading operations; when the ore-dropping machine is in a fault state or closed state, the vehicles at the corresponding loading point are not allowed to perform loading.
[0010] Furthermore, the chute is simulated, including: based on the unloading point location information in the operation map, obtaining the chute initial state data of each unloading point, the chute initial state data including the normal working state, fault state and empty or full load state of the chute bin; according to the chute initial state data, establishing a chute simulation model, the chute simulation model including the physical parameters of the chute, control logic and bin capacity parameters; during the simulation process, according to the material unloading speed of the chute and the unloading frequency of the transport vehicle, updating the empty state and full load state of the chute bin; according to the occurrence of faults and completion of maintenance of the chute, updating the normal working state and fault state of the chute; comparing the updated state data of the chute simulation model with the operation map, The location information of the corresponding unloading point in the map is associated and stored to form the simulated position and status data of the chute; in the transport vehicle scheduling simulation, the simulated position and status data of the chute are used as scheduling constraints. When the chute is in normal working condition and the bin is not fully loaded, the vehicle is allowed to unload at the unloading point; when the chute is in a faulty state or the bin is fully loaded, the vehicle is not allowed to unload at the corresponding unloading point; in the unloading point scheduling simulation, the updated chute bin empty state is used as the trigger condition for allowing new vehicles to unload. When the chute bin is fully loaded and becomes empty, an unloading instruction is sent to the target transport vehicle according to the scheduling algorithm to guide the target computing vehicle to the corresponding unloading point for unloading.
[0011] Furthermore, the transport vehicle is simulated, including: establishing a corresponding target vehicle simulation model on the hardware-in-the-loop platform according to the type of transport vehicle to be simulated, the transport vehicle types including Ackerman vehicles and articulated vehicles; when the target simulated vehicle is an Ackerman vehicle, by establishing an Ackerman vehicle kinematic model, the motion parameters of the target simulated vehicle are calculated according to cloud control instructions, and the motion parameters include the speed, acceleration, yaw angular velocity, heading angle and position of the target vehicle; when the target simulated vehicle is an articulated vehicle, by establishing an articulated vehicle kinematic model, the motion parameters of the target simulated vehicle are calculated according to cloud control instructions and preset configuration parameters; the simulation system subscribes to the posture topic and speed topic published by the target simulated vehicle through the subscription communication interface, and obtains the position coordinates, vehicle head heading angle and speed of the target simulated vehicle.
[0012] The simulation system subscribes to the obstacle information topic published by the operation map through the subscription communication interface to obtain the position and size of the obstacle; the simulation system reads the position information and status information of the target simulation vehicle from the cloud control instruction configuration based on the real-time position and status of the target simulation vehicle. The position information includes the expected coordinates, expected heading angle and corresponding expected error range of the target simulation vehicle receiving the cloud control instruction, and the status information includes whether the vehicle is in motion and the minimum time interval from the last receipt of the cloud control instruction; the simulation system determines whether the position coordinates and heading angle of the target simulation vehicle are within the error range of the configured coordinates and heading angle, and whether the vehicle status meets the configured status; when the determined position, heading angle and status all meet the configuration, the simulation system sends the corresponding cloud control instruction to the planning control algorithm of the target simulation vehicle according to the motion cloud control instruction configuration, and the target simulation vehicle model receives the cloud control instruction and performs kinematic calculations to perform motion simulation.
[0013] Furthermore, the cloud control instructions include the accelerator pedal opening, brake pedal opening, expected acceleration, gear position and left and right cylinder control amounts; when the target simulated vehicle is an Ackerman vehicle, the preset configuration parameters include the maximum driving force, maximum braking force, vehicle mass, ground slope, rolling resistance coefficient, vehicle inherent resistance coefficient and vehicle wheelbase; when the target simulated vehicle is an articulated vehicle, the preset configuration parameters include the maximum driving force, maximum braking force, vehicle mass, ground slope, rolling resistance coefficient, vehicle inherent resistance coefficient and the distance from the front and rear axles to the hinge point;
[0014] Furthermore, the simulation system determines whether the position coordinates and heading angle of the target simulated vehicle are within the error range of the configured coordinates and heading angle, and whether the vehicle state satisfies the configured state, including: the simulation system reads the expected coordinates, expected heading angle, and the corresponding expected error range in the position information; and extracts the conditions of whether the vehicle is in motion and the minimum time interval from the last receipt of the cloud control command in the state information; the simulation system obtains the real-time position coordinates, the vehicle head heading angle, and the speed of the target simulated vehicle; the simulation system calculates the distance difference between the real-time position coordinates and the expected coordinates, and the angle difference between the real-time vehicle head heading angle and the expected heading angle, and determines whether the distance difference is less than or equal to the error range of the coordinates in the position information, and whether the angle difference is less than or equal to the error range of the heading angle in the position information; the simulation system determines whether the speed information meets the condition of whether the vehicle is in motion in the state information; the simulation system obtains the time interval between the current moment and the last moment when the cloud control command was sent to the target simulated vehicle, and determines whether the corresponding time interval is greater than or equal to the minimum time interval configured in the state information from the last receipt of the motion cloud control command;
[0015] Furthermore, when the position, heading angle and state meet the configuration, the simulation system sends the corresponding cloud control command to the planning control algorithm of the target simulation vehicle according to the motion cloud control command configuration, and the target simulation vehicle model receives the cloud control command and performs kinematic calculations to perform motion simulation, including: when the position coordinates, motion state conditions and time interval conditions are met, the simulation system generates a collision-free motion trajectory of the corresponding period through the dynamic window method, artificial potential field method, lattice algorithm or RRT algorithm according to the cloud control command configuration, combined with the acquired obstacle position and size information; the simulation system The generated collision-free motion trajectory is discretized into a series of timestamps and corresponding positions, velocities and accelerations, forming a cloud-based control instruction sequence, which is sent to the target simulated vehicle through the communication interface; the target simulated vehicle receives the cloud-based control instruction and extracts the parameters corresponding to each timestamp, which include the accelerator pedal opening, brake pedal opening, expected acceleration, gear position and left and right cylinder control quantities; the extracted parameters and preset configuration parameters are input into the Ackerman kinematic model or the articulated vehicle kinematic model, and the kinematic differential equations are solved by the fourth-order Runge-Kutta method to calculate the motion parameters of the target simulated vehicle at the next moment of the corresponding timestamp.
[0016] Among them, the Lattice algorithm is a path planning algorithm based on state space sampling. It generates a state lattice by discretizing the robot's state space (such as position, direction, speed, etc.). Each state point represents a possible state of the robot. The algorithm searches this state lattice to find the optimal path from the starting point to the target point. The RRT algorithm is a random incremental path planning algorithm. It quickly explores the entire state space by randomly sampling in the state space, and gradually builds a random search tree covering the state space.
[0017] Furthermore, the loader is simulated, including: based on the kinematic model of the articulated vehicle, the co-simulation mechanism is used to simulate the extension and contraction of the hydraulic cylinder to achieve the simulation of the lifting, falling and flipping of the loader bucket. Among them, co-simulation is a simulation mechanism that integrates and coordinates multiple different simulation tools or models to achieve the overall simulation of complex systems. It allows simulation models from different disciplines and fields to couple and interact in the same simulation environment.
[0018] Furthermore, when there are multiple loading points or unloading points in the constructed operation map simulation environment, the optimal loading point, unloading point and driving route of each transport vehicle are calculated according to the state of the ore-laying machine at each loading point, the state of the chute at each unloading point and the position and state data of the transport vehicle during the simulation process to realize the transport vehicle scheduling simulation; the simulation system obtains the simulated position and state data of the ore-laying machine at each loading point, obtains the simulated position and state data of the chute at each unloading point, and obtains the real-time position coordinates, vehicle head heading angle and speed of each transport vehicle; according to the state of the ore-laying machine and the chute state, the loading point and the unloading point to be loaded are determined; and in combination with the operation map, the path distance and travel time from the current position of the transport vehicle to each loading point and the unloading point to be loaded are calculated; according to the obtained loading and unloading state of the transport vehicle, combined with the calculated path distance and travel time, the production efficiency index of different combinations of loading points and unloading points to be loaded are calculated; according to the calculated production efficiency index, the loading point and unloading point with the highest generation efficiency index are selected as the optimal destination of the target transport vehicle, and the shortest path is used as the recommended route, and the optimal destination and recommended route are sent to the target transport vehicle;
[0019] Furthermore, production efficiency indicators, including single-vehicle transport volume, single-vehicle transport distance, round-trip time and energy consumption, are solved by a multi-objective optimization algorithm.
[0020] Compared with the prior art, the advantages of this application are:
[0021] By constructing a vectorized operation map simulation environment containing rich information such as roads, loading and unloading points, obstacles, etc., and organizing and storing them in a spatial indexing manner, it is possible to achieve refined modeling of the complex underground environment, facilitate rapid retrieval and dynamic update of environmental information. When obstacles change during the simulation process, the path planning constraints can be quickly modified to improve the environmental adaptability of the simulation.
[0022] A cluster hardware-in-the-loop simulation system is built using a distributed computing architecture to perform parallel simulations on multiple objects such as ore loader, chute, scraper, and transport vehicles. Real-time interaction through data synchronization mechanisms can significantly improve the computational efficiency and real-time performance of large-scale fleet simulations. Hardware-in-the-loop closed-loop interaction with actual equipment can reduce the modeling workload of on-board sensors and actuators to a certain extent, and improve the physical fidelity of the simulation.
[0023] According to the real-time status of the ore loader and chute and the location of the transport vehicle, the transport vehicle is dynamically optimized and dispatched to generate the optimal destination and driving path for the vehicle. On the one hand, the impact of the production scheduling strategy on the ore transportation efficiency can be quickly evaluated, and the fleet operation plan can be optimized by adjusting the scheduling algorithm parameters; on the other hand, combined with actual production needs, the scheduling strategy can be customized for specific working conditions to improve the working condition adaptability and emergency response capabilities of the fleet.
[0024] For the two common Ackerman and articulated vehicles in the mine, kinematic models are established and differential equations are solved to achieve motion simulation. By setting different working condition parameters, the dynamic performance indicators of the unmanned vehicle, such as power, smoothness, steering stability, and the adaptability to complex road conditions such as ramps, muddy roads, and narrow lanes can be comprehensively evaluated, and the vehicle parameters can be optimized to improve safety and reliability.
[0025] By using the co-simulation mechanism, the lifting, lowering and flipping of the bucket can be achieved by simulating the extension and contraction of the hydraulic cylinder of the scraper. This can realize the seamless collaborative operation of the scraper, the ore loader and the chute, optimize the scraper bucket trajectory and action sequence, avoid collision risks while ensuring loading and unloading efficiency, and flexibly respond to fault conditions, thus improving the flexibility and intelligence level of equipment operation.
[0026] Construct production efficiency indicators covering multiple dimensions such as single vehicle transport volume / distance, round-trip time, and energy consumption, and use multi-objective optimization algorithms to solve them. On the one hand, it can scientifically evaluate the impact of factors such as different vehicle models, number of vehicles, and task scheduling on the efficiency of the entire production system, and optimize the fleet composition and scheduling plan; on the other hand, it can establish an energy consumption model to evaluate the energy utilization efficiency of vehicles and fleets, and optimize path planning and vehicle speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 Vehicle kinematic model for Ackerman steering;
[0028] Figure 2 It is the kinematic model of the articulated vehicle;
[0029] Figure 3 Describes how the left and right cylinders of an articulated truck control the steering of the articulated truck;
[0030] Figure 4 This is the system architecture diagram of this application. DETAILED DESCRIPTION
[0031] The method and system provided in the embodiments of the present application are described in detail below with reference to the accompanying drawings.
[0032] In the unmanned driving simulation test of underground mines, a simulation environment for operation maps is constructed, and a transportation road network is constructed in the simulation environment according to the actual layout of underground mines. For each road, its starting and ending nodes are marked, and the following attributes are recorded: Outbound and return roads: According to the driving direction of the road, the outbound road and return road are marked to guide the driving of the unmanned vehicle. Road width: Measure and record the width data of the road to determine whether the vehicle can pass safely and avoid. Speed limit: According to the road line shape and safety requirements, set the maximum speed limit for each road, accurate to each section. Slope: Measure the slope change of the road and record the slope values of uphill, downhill and flat sections. Traffic control: Identify the location and type of control facilities such as traffic signs and traffic lights on the road. Identify the location coordinates of each loading point and unloading point in the operation map, and record the following attributes: Loading point: Identify the location of the ore placing machine corresponding to each loading point, and record the model and capacity parameters of the ore placing machine. Unloading point: Identify the location of the chute corresponding to each unloading point, and record the model and capacity parameters of the chute. Identify obstacles that may affect the operation of unmanned vehicles in underground mining environments and mark their attributes in the map: Position and size: Measure the spatial position coordinates and geometric dimensions of the obstacles, accurately within a certain tolerance range. Motion attributes: For obstacles that move, such as other vehicles, record the time series of their movement direction and speed. Appearance and disappearance time: For temporary obstacles, record the time of their appearance and disappearance to dynamically update the map. Map vectorization: Use vector graphics format to vectorize map elements such as roads, loading and unloading points, and obstacles, and use geometric primitives such as line segments and polygons to characterize their spatial shapes and topological relationships. Spatial indexing: Use spatial indexing methods such as grids, quadtrees, and R-trees to establish a multi-level index of map data to achieve rapid retrieval and neighborhood analysis of roads, loading and unloading points, and obstacles.
[0033] On the constructed operation map simulation environment, a cluster hardware-in-the-loop simulation system is built, and the ore-dropping machine, the chute, the transport vehicle, and the shovel loader are simulated on the simulation system; the ore-dropping machine is simulated, including: First, we need to clearly define the location information of each loading point in the mine operation map. The loading point can be represented by a structure, which contains attributes such as the loading point ID, name, type, latitude and longitude coordinates, and elevation. The coordinate information can use a universal coordinate system such as WGS84, or a local coordinate system of the mine area. We store these loading point location data in a hash table with the loading point ID as the key to facilitate subsequent rapid retrieval. Next, we need to obtain the initial state data of the ore-dropping machine for each loading point. These state data can be collected by PLC or SCADA devices of the industrial control system, or they can be obtained by manual entry. We use Boolean variables to represent the normal working state (true is normal, false is faulty) and the open state (true is open, false is closed) of the ore-dropping machine. These state variables are encapsulated in a structure, associated with the loading point ID, and stored in another hash table.
[0034] With the basic data of the loading point location and the state of the ore loader, we can build a simulation model of the ore loader. We use a class to define the ore loader model, whose attributes include: loading point ID: identifies the loading point to which the ore loader belongs; physical parameters: describes the physical characteristics of the ore loader, such as hopper capacity (m³), unloading speed (m³ / s), rotation speed (rad / s), height (m), inclination (°), etc., which can be stored in a structure or dictionary. State variables: that is, the state data of the ore loader obtained earlier, such as normal working state, open state, etc. Control logic: describes the workflow and state transition rules of the ore loader, which can be modeled using a finite state machine (FSM). The states in FSM include idle, loading, unloading, pause, fault, etc.; state transitions are triggered by events such as material level sensors and fault sensors. Production counter: records the loading volume of the ore loader during the simulation cycle, which can be represented by an integer variable. During the simulation run, we periodically update the working status of the ore loader according to the production scheduling plan of the mining area. We can represent the scheduling plan as a two-dimensional array, with rows representing time periods (such as every hour), columns representing loading points, and values representing the load required at the loading point during the time period. If the load is greater than 0 and the ore loader was in the on state at the end of the previous cycle, keep the ore loader on; if the load is equal to 0, or the ore loader was in the off state in the previous cycle, turn off the ore loader. We can use a scheduler program to perform this update process, and the cycle time can be set to 5 to 10 minutes. At the same time, we also need to simulate the random failure of the ore loader. We can use exponential distribution to simulate the time interval between failures and use lognormal distribution to simulate the duration of each failure. The parameters of these probability distributions can be fitted by the historical operation data of the equipment. In the simulation process, we use a random number generator to generate fault events. Once a fault occurs, the working state variable of the ore loader is set to false until the fault duration ends, and then it is restored to true.
[0035] At the end of each simulation step, we write the updated ore loader state variables back to the hash table and associate them with the location data of the corresponding loading point. In this way, the simulated position and status data of the ore loader form a complete snapshot, which can reflect the working conditions of the loading equipment in the mining area in real time. Finally, when simulating the scheduling of transport vehicles, we use the simulated position and status data of the ore loader as scheduling constraints. When planning the route for each vehicle, the scheduling algorithm will query the ore loader status of the target loading point. Only when the ore loader is in normal working and open state will the loading point be added to the candidate queue. If the ore loader is in a faulty or closed state, the scheduling algorithm will skip the loading point to avoid the vehicle waiting in vain. In addition, the scheduling algorithm will also track the changes in the loading capacity of the ore loader in real time: if the loading capacity of the ore loader drops to 0 within a certain period, it means that its silo is empty. At this time, the vehicle dispatch should be suspended in time to allow the ore loader time to load; on the contrary, if the loading capacity of the ore loader increases rapidly, the scheduling algorithm should increase the dispatched vehicles in time to improve the output utilization rate of the loading point.
[0036] To simulate the chute, we need to obtain the initial state data of the chute at each unloading point. Through the PLC control system of the field equipment, we can collect the real-time operation status of the chute, mainly including: Normal working state: represented by a Boolean variable (normal_state), true for normal operation, false for fault shutdown. Bin state: represented by a Boolean variable (bin_state), true for full bin load, false for empty bin. Material level height: represented by a floating point number (level_height), in meters, indicating the height of the material surface in the chute from the bottom of the well. Cumulative unloading volume: represented by an integer variable (total_unload), in tons, indicating the cumulative weight of unloaded materials in the chute since its construction. Secondly, we need to build the corresponding physical model in the simulation system according to the model and parameters of the chute. The key physical parameters of the chute include: Well diameter: The inner diameter of the chute, in meters, determines its maximum capacity. Common chute diameters include 5 meters, 7 meters, 10 meters and other specifications. Well depth: The height of the well, measured in meters, determines the well capacity together with the well diameter. Common well heights include 15 meters, 20 meters, and 30 meters. Unloading speed: The discharge speed of the discharge port at the bottom of the well, measured in tons per hour, determines the unloading efficiency of the well. The unloading speed is related to the size of the discharge port and the gate opening, and is generally between 500 and 2,000 tons per hour. Level-volume curve: describes the corresponding relationship between the material level height and the material volume in the well. Since the well wall has a certain inclination angle, the material level height is not linearly related to the volume and needs to be calculated using a formula or interpolation table.
[0037] We can use the parametric modeling method to dynamically generate the geometric model of the chute in the 3D simulation engine according to the above physical parameters. At the same time, we also need to define the control logic of the chute, which mainly includes: Material level measurement: Use sensors such as level meters or laser scanners to measure the material level height in the chute in real time, and convert the current material volume and weight according to the material level-volume curve. Bin status judgment: According to the material level height and chute capacity, judge whether the current bin is full. Generally, when the material volume reaches more than 80% of the chute capacity, the bin is considered to be full; when the material volume is less than 20%, the bin is considered to be empty. Unloading control: According to the vehicle dispatching instructions, control the gate opening of the unloading port at the bottom of the chute and adjust the unloading speed. When the unloading vehicle is detected to be in place, open the gate for unloading; when the vehicle is full or leaves, close the gate to stop unloading.
[0038] During the simulation, the chute model will dynamically update its state variables according to the unloading operation of the vehicle. The specific rules are as follows: When the unloading vehicle unloads the material into the chute, the material level height (level_height) of the chute will rise with the increase of the unloading amount, and the volume and weight of the material will also increase accordingly. When the material level height of the chute exceeds the bin full load threshold, the bin state (bin_state) is updated to true, indicating that the chute is full; when the material level height is lower than the empty load threshold, it is updated to false, indicating that the chute is empty. When the gate of the chute is opened, the material level height will decrease with the set value of the unloading speed until the material level height drops to a safe height or the vehicle is full. The cumulative unloading amount (total_unload) of the chute increases after each unloading operation is completed, and the increment is equal to the loading amount of the unloading vehicle this time. For the fault simulation of the chute, we use a method similar to that of the ore loader. According to the mean time between failures (MTBF) and mean time to repair (MTTR) of the chute, the exponential distribution and lognormal distribution are used to generate the fault occurrence interval and repair time respectively. Once a fault occurs, the working state (normal_state) of the chute is set to false, and all unloading operations are suspended; when the fault is repaired, the working state is restored to true and unloading tasks continue to be accepted.
[0039] At the end of each simulation step, we write the updated chute state variables back to the hash table to form a complete snapshot of the unloading point. The scheduling simulation module can query these snapshots in real time to obtain information such as the working status, bin status, material level height, etc. of each chute, and use it as a scheduling constraint. The specific scheduling rules are as follows: Only when the chute is in normal working condition (normal_state is true) and the bin is not fully loaded (bin_state is false), the vehicle is allowed to go to the unloading point for unloading operations. If the chute fails (normal_state is false) or the bin is fully loaded (bin_state is true), the scheduling module will suspend dispatching vehicles to the unloading point until the fault is restored or the bin is empty. When selecting the unloading point, the scheduling module not only considers the chute status, but also evaluates the unloading time of the vehicle at that point.
[0040] The unloading time can be estimated based on factors such as the vehicle's load, travel distance, and the unloading speed of the chute. The scheduling module tracks the changes in the bin state of each chute in real time. Once it is detected that the bin of a chute changes from full to empty (bin_state changes from true to false), and the material demand of the chute is greater than 0, the scheduling module will immediately add it to the list of available unloading points and select the appropriate vehicle to unload according to the scheduling strategy (such as the shortest time, the smallest queue, etc.). Simulating the transport vehicle includes: First, we need to build a corresponding dynamic model on the simulation platform according to the specific model of the target vehicle. Taking a certain model of Ackerman vehicle as an example, its key technical parameters are as follows: Vehicle mass: 35 tons, up to 60 tons when fully loaded. Maximum driving force: 280 kN, powered by a 450-horsepower diesel engine. Maximum braking force: 300 kN, equipped with a pneumatic brake system and a hydraulic retarder. Vehicle size: 8.5 meters long, 3.5 meters wide, 3.8 meters high, and a wheelbase of 5.2 meters. Steering system: The front axle is a steering axle, using hydraulic power steering, with a maximum turning angle of 38 degrees. Transmission system: It uses an automatic transmission consisting of a torque converter + planetary gear, with a total of 6 forward gears and 2 reverse gears.
[0041] like Figure 1 As shown in the figure, for a vehicle with Ackerman steering structure, its kinematic model can be described as: ; ; ; ; ; ; where v is the vehicle speed, It is the driving force. It is the braking force. is the rolling resistance, is the air resistance; ω is the yaw angular velocity, is the wheel radius, is the steering torque; β is the sideslip angle of the center of mass, γ is the front wheel turning angle; x, y, ψ are the vehicle position and heading angle respectively; and is the distance from the front and rear axles to the center of mass, m is the mass of the vehicle, is the moment of inertia about the Z axis.
[0042] In the simulation cycle, the vehicle model updates according to the cloud control instructions received in real time. , For example, the throttle signal is mapped to a normalized value between 0 and 1, multiplied by the maximum driving force of the engine to obtain the actual driving force ; The brake signal is mapped to a normalized value between 0 and 1, multiplied by the maximum braking force to obtain the actual braking force ; The steering wheel angle signal is directly used as the input of the front wheel angle γ. At the same time, the model also needs to calculate the impact of factors such as tire cornering stiffness and self-aligning torque on the vehicle force in real time based on the vehicle speed and steering angle. A commonly used tire model is the "Magic Formula", which is in the form of: ;in, is the tire lateral force, α is the tire slip angle, and B, C, D, and E are empirical parameters related to tire characteristics, vertical loads, etc. In each simulation step, the slip angles of the front and rear axles are used. and , calculate the lateral forces on the front and rear wheels and , substituting it into the kinematic equation, the lateral force and the righting moment at the center of mass of the vehicle can be obtained: ; ; Substitute the above forces and torques into the kinematic model of the Ackerman car, and solve the differential equations by numerical integration to obtain the vehicle's velocity v, yaw rate ω, sideslip angle β, position x and y, heading angle ψ and other state quantities at the next moment. These state quantities will be published in real time through ROS topics, which are used to update the vehicle's visual model and sensor data on the one hand, and for the perception, positioning, decision-making and other modules of the autonomous driving algorithm on the other.
[0043] like Figure 2 As shown, an articulated vehicle is connected by two front and rear carriages through a hinge point. Compared with conventional vehicles, its kinematic model needs to consider the relative motion and internal force coupling between the carriages. The kinematic model of the double-axle articulated vehicle used in this application is: ; ; ; ; ; ; ; ; ; ; ; ; ; Wherein, subscripts 1 and 2 represent the parameters of the front and rear compartments respectively; is the force at the hinge point; θ is the hinge angle; b and c are the distances from the hinge points of the front and rear carriages to their respective centers of mass; , They are the distances from the front axle of the front carriage and the rear axle of the rear carriage to their respective centers of mass; and It is the front wheel turning angle of the front and rear carriages.
[0044] like Figure 3 As shown, it can be seen that the kinematic equations of the articulated vehicle add the coupling term between the two compartments on the basis of the conventional vehicle. The movement of the front compartment is affected by its own drive, steering, and resistance, as well as the articulation torque; the rear compartment has no active steering, and its movement is completely determined by the traction and articulation torque of the front compartment. In order to solve this set of differential equations, it is necessary to first determine the internal force F_hinge at the hinge point. According to Newton's third law, the forces on the front and rear compartments at the hinge point are equal in magnitude and opposite in direction, and just balance the lateral and rotational motion of the two compartments, so: Will be obtained Substituting the kinematic equations of the front and rear compartments, the speed, heading angular velocity, sideslip angle, articulation angle, position and heading angle of the two compartments at the next moment can be obtained by numerical integration. It should be noted that due to the existence of multiple mutually coupled differential equations, a higher-precision numerical integration method such as the fourth-order Runge-Kutta method needs to be used in the solution process to ensure numerical stability. In addition to the kinematic equations, the tire side slip characteristics of articulated vehicles are also different from those of conventional vehicles. Due to the existence of articulated degrees of freedom, the side slip stiffness of the front and rear compartments is no longer independent, but affects each other. In order to accurately describe the nonlinearity of tire force, it is necessary to introduce a correction coefficient according to the articulation angle to adjust the parameters such as cornering stiffness and camber stiffness of the tire. Whether it is an Ackerman vehicle or an articulated vehicle, its kinematic model contains a large number of parameters that reflect the characteristics of the vehicle, such as mass, moment of inertia, tire stiffness, drag coefficient, etc.
[0045] In order to make the simulation results closer to the real vehicle, these parameters need to be identified and calibrated. The bench test method can be used: install the whole vehicle or parts on a dedicated test bench, measure various performance indicators through loading, acceleration, steering and other tests, and fit the relevant parameters. For example, the tire lateral force under different loads and sideslip angles is measured on the drum test bench, and the B, C, D, E and other parameters of Magic Formula can be fitted. Road test method: Carry out a running test on the vehicle on the actual road, collect sensor signals such as vehicle speed, acceleration, steering angle, heading angle, etc., and estimate the model parameters offline. Common estimation methods include least squares method, Kalman filter method, neural network, etc. CAE simulation method: Use commercial multi-body dynamics software such as ADAMS, CarSim, etc. to create a simulation model based on the vehicle's CAD model and known parameters, and obtain unknown parameters through parameter scanning and optimization. This method can replace the more expensive physical tests to a certain extent.
[0046] After completing the vehicle dynamics modeling, we also need to equip it with a sensor model and a control interface. In the simulation environment, one of the following two methods can be selected to achieve sensor data generation: If conditions permit, the same sensors as the real vehicle can be installed on the simulated vehicle, including positioning equipment, inertial measurement units (IMUs), wheel speed meters, etc. These sensors will directly measure the vehicle's motion state in the simulation environment and output real sensor data streams. This method can simulate the perception ability of the real vehicle to the greatest extent, but requires additional hardware support. Another method is not to install real sensors, but to simulate and generate corresponding sensor data streams based on the vehicle's motion state in the simulation environment. According to the measurement principle and error characteristics of each sensor, a data generation model can be written to calculate the sensor output corresponding to the vehicle's position, speed, acceleration, angular velocity and other state quantities in real time. This method does not require additional hardware support, but requires the development of accurate data generation algorithms to ensure the authenticity of the simulation. Regardless of which method is used, it is ultimately necessary to ensure that the simulated vehicle model can output sensor data streams equivalent to the real vehicle, including position, IMU acceleration and angular velocity, wheel speed meter speed, etc. These data streams will be sent to the perception, positioning, decision-making and planning modules of the unmanned driving system through communication interfaces such as ROS, CAN bus or Ethernet for autonomous navigation and control of the vehicle.
[0047] In order to enable the simulated vehicle to accurately execute the motion cloud control instructions in the cloud, we proposed a complete set of instruction parsing and trajectory tracking solutions: the simulation system obtains the position and velocity information of the target vehicle in real time through the topic subscription mechanism of ROS (Robot Operating System). The kinematic model of the vehicle publishes the pose information through the topic named "vehicle / pose", including the position (x, y) and heading angle ψ of the vehicle in the global coordinate system. The position is in meters and the heading angle is in radians, ranging from -π to π. The message type of the topic is geometry_msgs / Pose. The kinematic model of the vehicle publishes the velocity information through the topic named "vehicle / velocity", including the linear velocity v and angular velocity ω of the vehicle. The linear velocity is in meters per second and the angular velocity is in radians per second. The message type of the topic is geometry_msgs / Twist. The simulation system subscribes to the above two topics and receives messages at a frequency of 20Hz. Whenever a new message is received, the position, heading angle, and velocity data are parsed out and the state variables of the vehicle are updated. At the same time, the timestamp of the received message is recorded for subsequent judgment on whether the vehicle has not received the cloud control command for a long time. The simulation system obtains the information of obstacles in the scene in real time by subscribing to the topic published by the operation map module. The operation map module publishes obstacle information through a topic named "map / obstacles", including the type, location, size, etc. of the obstacle. The message type of the topic is map_msgs / ObstacleArray. The simulation system subscribes to the obstacle topic and receives messages at a frequency of 5Hz. Whenever a new message is received, the obstacle position and size information is extracted, converted into a polygon or circle in the vehicle coordinate system, and added to the collision detection module to determine whether the vehicle collides with the obstacle. The simulation system obtains cloud control instructions from the cloud and determines whether the vehicle has reached the state required by the instruction. Specifically: The simulation system reads the following contents from the cloud control command configuration file (such as JSON format) in the cloud through the HTTP protocol: target vehicle ID: used to identify the vehicle corresponding to the cloud control command; expected position coordinates (x, y): the target position that the vehicle expects to reach after receiving the cloud control command; expected heading angle ψ: the target heading angle that the vehicle expects to reach after receiving the cloud control command; position error threshold (dx, dy): the allowable deviation between the actual position and the expected position; heading angle error threshold dψ: the allowable deviation between the actual heading angle and the expected heading angle; expected speed state: indicates whether the vehicle should be stationary (v=0) or moving (v>0); minimum control period: the minimum time interval between the vehicle receiving two cloud control commands, as shown in Table 1.
[0048] Table 1 Cloud control command configuration
[0049]
[0050] In each control cycle, the simulation system determines whether the sending conditions in the control configuration are met based on the previously subscribed vehicle status and environmental information, mainly including: Whether the vehicle position is close to the expected position: Calculate the Euclidean distance between the current vehicle position and the expected position in the control configuration to determine whether it is less than the allowable error range. Whether the vehicle heading angle is close to the expected heading angle: Calculate the difference between the current vehicle heading angle and the expected heading angle in the control configuration to determine whether it is less than the allowable error range. Whether the vehicle speed is within the expected range: Simply compare the current vehicle speed with the minimum and maximum speed thresholds. Whether the minimum interval is exceeded from the last control: Record the timestamp of the last cloud control command sent, subtract the timestamp from the current time, and determine whether it is greater than the minimum time interval. Whether there are obstacles around the vehicle: Traverse all obstacles and determine the distance between their vertices or centers and the vehicle position respectively. If it is less than the safety threshold, it is considered that there is a collision risk. If the vehicle status and environmental information meet all the above conditions at the same time, the simulation system will send a cloud control command to the target vehicle. The content can be the expected speed, steering wheel angle, etc., or directly the ROS standard cmd_vel and ackermann_cmd messages.
[0051] According to the control configuration conditions, the motion cloud control command is sent to the target vehicle, and the vehicle kinematic model executes the complete simulation process, including: As mentioned above, the simulation system must determine whether the following conditions are met at the same time in each control cycle: Whether the vehicle position is close to the expected position, that is, whether the distance between the current coordinates and the configured coordinates is within the allowable error range. Whether the vehicle heading angle is close to the expected heading angle, that is, whether the difference between the current heading angle and the configured heading angle is within the allowable error range. Whether the vehicle speed is within the expected range, that is, whether the current speed is between the configured minimum and maximum speed thresholds. Whether the minimum interval from the last control is exceeded, that is, whether the time difference between the current moment and the last control moment is greater than the configured minimum control interval. Whether there are obstacles around the vehicle, that is, whether the distance between the vertex or center of the obstacle and the vehicle position is greater than the safety threshold. Only when the above five conditions are met at the same time, the simulation system will enter the stage of generating motion cloud control commands. This ensures the real-time, continuity and safety of the control process, and avoids frequent and drastic control changes caused by vehicle state fluctuations or obstacle interference.
[0052] Generate a collision-free motion trajectory. When the control conditions are met, the simulation system begins to plan the collision-free motion trajectory of the vehicle in the next cycle based on the vehicle state and environmental information. Common local path planning algorithms include: Dynamic Window Approach: Search for the optimal feasible speed in the vehicle speed space so that the vehicle can reach the target position within a limited time without colliding with obstacles. The range of the search window is determined by the current speed and acceleration limits. Artificial Potential Field: Define the target position as a gravitational field and the obstacle as a repulsive field. The vehicle moves in the direction of the minimum potential energy under the action of the combined force. The magnitude of the gravitational and repulsive forces is proportional to the distance from the vehicle to the target and the obstacle. The main steps of the Lattice algorithm include: defining the state space and the control space, generating a state lattice, and using a graph search algorithm (such as A*) to search for the optimal path in the state lattice. Rapidly-exploring Random Tree: Randomly sample in the vehicle state space, starting from the current state of the vehicle each time, and moving a distance in the direction of the sampling point until it reaches the target state or encounters an obstacle. All path points are connected into a tree, from which the path with the minimum cost is selected.
[0053] Taking the dynamic window method as an example, the basic steps are as follows: Sample multiple groups of velocities in the vehicle velocity space (v, w), each group of velocities contains linear velocity v and angular velocity w. The sampling range is as follows: , ;in, and The maximum deceleration of the vehicle and maximum acceleration and current speed Sure: , ; and Similarly, with the maximum angular acceleration related: , ; For each set of sampled speeds (v, w), assuming that the vehicle maintains the same speed in the next control period dt, predict the vehicle's next position : , , ; Calculate the motion cost of each predicted position. The cost function contains three items: Cost of distance to target position: Euclidean distance between predicted position and target position. Cost of distance to obstacle: distance between predicted position and nearest obstacle. Cost of speed deviation: difference between linear speed and expected speed. ;in, is the weight coefficient. and Based on the predicted location and target location and obstacle location calculate: ; ; ; Select (v, w) with the smallest motion cost as the optimal speed and use it as the cloud control instruction at the next moment. Since the environment and target are dynamically changing, the dynamic window method only executes the current optimal speed for one cycle and then replans. The optimal speed sequence of multiple consecutive cycles constitutes a collision-free motion trajectory.
[0054] Convert the trajectory into cloud control instructions. Since vehicle actuators such as throttle and brake cannot directly receive speed instructions, the planned speed trajectory needs to be converted into cloud control instructions. Generally, the trajectory is discretized into a series of time points, and corresponding control variables are attached to each time point, such as: 0.1s, throttle=0.2, brake=0.0, gear=1, steer=-0.1; 0.2s, throttle=0.3, brake=0.0, gear=1, steer=-0.2; 1.0s, throttle=0.1, brake=0.1, gear=1, steer=0.0; where throttle and brake represent the opening of the accelerator pedal and brake pedal respectively (0-1), gear represents the gear position, and steer represents the steering wheel angle (radian). They satisfy the following relationship with the planned speed trajectory: the throttle opening is proportional to the linear acceleration: ; ; Braking opening is proportional to linear deceleration: ; ; The gear is determined by the speed, generally divided into: Neutral (N): v=0; Forward gear (D): v>0; Reverse gear (R): v<0; The steering wheel angle is proportional to the angular velocity: , where L is the vehicle wheelbase. Limit the turning angle to the maximum turning angle: ; ;Finally, the simulation system sends discrete cloud control command sequences to the target vehicle in real time through network interfaces such as WebSocket, MQTT, etc.
[0055] After the target vehicle receives the cloud control command sequence, it extracts the control variables at each time point, inputs the kinematic model, and calculates the vehicle position and posture at the next moment. There are two common vehicle kinematic models: the Ackerman steering model and the two-axle four-wheel steering model. In the Ackerman steering model, the front wheels use the Ackerman steering mechanism, and the left and right wheel steering angles are equal. The vehicle dynamics equation is: ; ; Where m is the vehicle mass, J is the moment of inertia, v is the velocity, and w is the angular velocity. As driving force, is the driving resistance, is the steering torque. They satisfy: ; ; ;in, and are the maximum driving force and torque respectively, g is the acceleration of gravity, slope is the road slope, is the rolling resistance coefficient, is the air resistance coefficient. Convert the dynamic equation into the kinematic equation: ; ; ; Where (x, y) is the vehicle position, θ is the heading angle, L is the wheelbase, and steer is the steering wheel angle.
[0056] The two-axle four-wheel steering model can steer the front and rear wheels independently, which is suitable for articulated vehicles such as mining trucks. Assume that the distance from the front and rear axles to the hinge point is and , the articulation angle (i.e. the angle between the front compartment and the rear compartment) is φ, then the kinematic equation is: ; ; ; ; ; ; ; where subscripts f and r represent the front and rear axes respectively. The dynamics part is similar to the Ackerman model.
[0057] In this application, the simulation system uses numerical integration such as the fourth-order Runge-Kutta method to solve the above differential equations to obtain the position and posture of the vehicle at the next moment: Calculation : ;calculate : ;calculate : ;calculate : ; Update state variables: ;in, is the integration step length. It can be seen that The slope estimates at four moments are t, t+Δt / 2, t+Δt / 2, and t+Δt. The weighted average of these four values can give a more accurate increment. In this embodiment, the vehicle is initially located at the origin, facing the x-axis, traveling at a constant speed (1m / s), and the front wheel angle is fixed at 30°. The simulation duration is 10 seconds, and the step length is 0.1 seconds. The vehicle position and heading angle are recorded at each moment. The vehicle performs uniform circular motion with a turning radius of 3.46m, which is consistent with the theoretical value. The heading angle increases monotonically, and finally increases by 5.24 radians, which is close to the theoretical value. The position coordinates (x, y) rotate around the center of the circle (1.73, 1.73), which is consistent with the arc trajectory. This shows that the use of the fourth-order Runge-Kutta method to numerically integrate the kinematic differential equations can better approximate the continuous solution and obtain a discrete sequence of vehicle postures.
[0058] A scraper is a typical articulated engineering vehicle, which is connected by a front and rear frame through an articulated device. The front frame is equipped with a boom and a bucket, which can be lifted, lowered, and flipped by the extension and retraction of the hydraulic cylinder to complete loading, transportation, and unloading operations. In order to establish a simulation model for a scraper, its kinematic relationship needs to be analyzed first. Figure 4 As shown in the figure, the motion of the scraper can be decomposed into two parts: the overall motion of the chassis and the relative motion of the bucket. The chassis motion includes three degrees of freedom: longitudinal, lateral and steering. The traction force, braking force and steering force can be used as inputs to solve the posture change through the dynamic equation. The bucket motion includes three degrees of freedom: lifting, falling and flipping, which are controlled by the lifting cylinder, rotating cylinder and flipping cylinder respectively. The posture of the bucket can be calculated based on the extension and contraction of the hydraulic cylinder.
[0059] Specifically, the kinematic equation of the bucket relative to the chassis can be expressed as: ; ;in, is the position of the bucket hinge point in the chassis coordinate system, are the lengths of the lower chain rod, upper chain rod and bucket of the boom, are the rotation angles of the boom, upper chain rod and bucket, which have geometric constraints on the extension and retraction of the hydraulic cylinder: ; ; ;in, They are the length of the lifting cylinder, the articulation distance with the boom, and the height. is the articulation distance between the slewing cylinder, the boom and the upper chain rod, They are the length of the tilt cylinder and the articulation distance with the bucket respectively.
[0060] Therefore, as long as the extension and retraction of the three hydraulic cylinders are obtained, the position and posture of the bucket can be solved by the kinematic equation. The extension and retraction of the hydraulic cylinder is controlled by the hydraulic system, which mainly includes hydraulic pumps, solenoid valves, pressure sensors and other components. By establishing a mathematical model of the hydraulic system, the dynamic response of the hydraulic cylinder under different loads and controls can be simulated. The hydraulic cylinder model used in this application is the flow continuity equation and the pressure balance equation: ; ; ;in, are the pressures of the rodless cavity and the rod cavity respectively, , is the corresponding cavity volume, β is the bulk modulus of the oil, is the effective area on both sides of the piston, v is the piston speed, are the external leakage and internal leakage coefficients respectively, is the flow coefficient of the oil inlet and return port, u is the opening of the solenoid valve, are the pressures of the oil tank and accumulator respectively, M is the equivalent mass of the piston and the load, Bv is the viscous damping coefficient, For external load force.
[0061] By solving the above differential equations together, the displacement response of the hydraulic cylinder under a given control can be obtained. Substituting it into the kinematic equation of the bucket, the motion trajectory of the bucket can be simulated. In order to improve the calculation efficiency and accuracy, professional multi-body dynamics software such as MSC.Adams is generally used in conjunction with hydraulic simulation software such as AMESim to achieve the whole machine simulation of the scraper through co-simulation. In this embodiment, a multi-rigid body dynamics model of the scraper is built in Adams, including components such as the frame, tires, suspension, steering, boom, bucket, and the like, and the kinematic constraints between them are defined. A hydraulic system model of the scraper is built in AMESim, including components such as oil source, actuator, control valve, and the logical connection between them is defined. The two softwares realize data exchange through standard interfaces (such as FMI), Adams provides load force and displacement boundaries to AMESim, and AMESim returns the driving force of the hydraulic cylinder to Adams. Through co-simulation, the dynamic performance of the scraper under actual working conditions, such as bucket trajectory, speed, acceleration, etc., can be obtained to evaluate its operating efficiency and stability. It is also possible to optimize the hydraulic system and control strategy, such as selecting appropriate pump, valve, and cylinder parameters, and designing efficient electro-hydraulic proportional control and load-sensitive control, thereby improving the power, maneuverability, and fuel economy of the scraper.
[0062] like Figure 4 As shown in the figure, in underground mines, multiple loading and unloading points such as mining faces, chutes, and ore bins are arranged, which are connected by underground tunnel networks to form a complex transportation system. Transportation equipment (such as electric locomotives, trackless rubber-wheeled vehicles, etc.) needs to load ore at the loading point, transport it to the unloading point through several tunnels, and then return to the loading point, repeating the cycle. The core issue of underground mine transportation scheduling is to reasonably dispatch transportation equipment based on production plans, equipment status, tunnel conditions and other factors to improve production efficiency, reduce costs and energy consumption while meeting process requirements.
[0063] First, it is necessary to build a three-dimensional geological model and tunnel engineering model of the underground mine, including the ore body, surrounding rock, fault, tunnel layout, support method, etc., as well as corresponding attribute data, such as tunnel length, section size, slope, lithology, etc. Generally, geological modeling, mine surveying and other technologies are used to obtain data and import them into the mine design and production management system. Secondly, it is necessary to establish the kinematic and dynamic models of underground mining equipment to simulate its operating status in the tunnel.
[0064] Thirdly, it is necessary to obtain the real-time status data of vehicles and equipment to generate scheduling decisions. The simulation system periodically updates the position coordinates (such as UTM coordinates), the heading angle of the vehicle head (such as 0360°) and the driving speed (such as 050km / h) of each transport vehicle by calling the positioning algorithm. By calling the industrial bus, OPC and other communication protocols, the status parameters of each loading equipment are read in real time, such as the boom elevation angle (such as 070°), bucket inclination angle (such as -4545°), bucket load (such as 012t), cylinder pressure (such as 030MPa), etc. of the loader to determine whether it is in a loadable state; read the status parameters of the unloading equipment, such as the material level of the chute (such as 05m), the operating status of the belt conveyor (such as 1 running / 0 stopping), the vibration frequency of the crusher (such as 01500Hz), etc., to determine whether it is in an unloading state.
[0065] Then, according to the vehicle position and equipment status, determine the set of loading points and unloading points for each vehicle. For an empty vehicle, find all loading devices with a loading status of "yes" and add their loading point coordinates to the set of loading points; for a heavy vehicle, find all unloading devices with an unloading status of "yes" and add their unloading point coordinates to the set of unloading points. Using the road network topology and applying the shortest path algorithm (such as Dijkstra, A*, etc.), calculate the path (such as Link sequence), distance (such as 0.5km) and travel time (such as 0.10min) from the current position of the vehicle to each loading point and unloading point.
[0066] In this embodiment, the Dijkstra algorithm is used to calculate the shortest path from the vehicle location to the loading and unloading point. Specifically, using the concept of graph theory, the road network of the mine is abstracted into a weighted directed graph G = (V, E), where the vertex V represents the road intersection, the edge E represents the road section, and the edge weight W represents the length of the road section (or travel time). The starting point and end point of the vehicle are also added to the graph as vertices. Using a linked storage structure such as an adjacency list, the topological relationship of the graph G is converted into internal data that can be processed by a computer. Create a pointer array Adj[] of length |V|, each element Adj[i] of the array points to a single linked list, which stores all outgoing edges (i, j) of vertex i and their weights . Create an array Dist[*] of length |V| to store the shortest distance from the starting point to each vertex. Initialize all elements of Dist[] to infinity (or a sufficiently large constant), indicating that all vertices are unreachable at first; initialize Dist[s] of the starting point s to 0, indicating that the distance from the starting point to itself is 0. Create an empty set S to store vertices for which the shortest path has been obtained. Add the starting point s to the S set, indicating that the shortest distance of the starting point has been determined. In VS (that is, the vertices that have not yet been added to the S set), select the vertex u with the smallest Dist[u], that is, the undetermined point closest to the starting point. Add u to the S set. Examine all outgoing edges (u, v) of vertex u. If the distance Dist[u]+Wuv from the starting point s to v via u is less than the previously recorded Dist[v], then use the former to update the latter, that is, . Intuitively speaking, it is to see whether the shortest distance from the starting point to v can be shortened by passing through u. Repeat until the set S contains all the vertices of the graph G, and the algorithm ends; or until the set S contains the end point t, and ends early. All elements of the Dist[] array are the shortest distances from the starting point s to each vertex. In order to obtain the shortest path from the starting point s to the end point t (not just the shortest distance), it is necessary to additionally record the predecessor vertex Prev[v] of each vertex v during the relaxation operation, that is, the vertex u that causes the Dist[v] value to be updated. Starting from the end point t, continuously querying the Prev[] array, you can reversely trace out a shortest path from the starting point s to the end point t. All edges (u, v) on this path are stored in a Link sequence in sequence.
[0067] Finally, according to the combination of points to be loaded and unloaded, the production efficiency indicators of different scheduling schemes are calculated, the optimal scheme is selected, and the scheduling instructions are generated. Specifically, for vehicle classification and task pairing, the scheduling algorithm automatically determines whether the vehicle is empty or loaded according to the vehicle status, and includes the empty and heavy vehicles in the to-be-loaded set A and the to-be-unloaded set B, respectively. The constraints include: based on the rated load M (such as 60t) and actual load m of the mining truck, the vehicle is considered as a pairing candidate only when m≤M, otherwise it is pruned. According to the road design standards, the vehicle type restrictions for each road are obtained (such as only vehicles of 30t and below are allowed to pass), and only the pairings that meet both the traffic conditions between loading and unloading points and the vehicle type matching are selected, and infeasible paths are pruned. Record the serviceable time windows of loading point i and unloading point j and , only the pairs that can satisfy both the loading point time window and the unloading point time window are selected, and the pairs with time conflicts are pruned.
[0068] Calculation of production efficiency indicators, single vehicle transport volume, transport distance and round-trip time: directly determined by the parameters of the loading and unloading points, these three KPI indicators can be accurately calculated based on the compartment volume V (such as 50m³) of the mining truck, the bucket capacity B (such as 6m³) of the loader, the digital map of the road network, the efficiency of loading and unloading equipment (such as 3min / vehicle), etc. Trip fuel consumption prediction: Estimation of section fuel consumption rate: According to the road type (highway, dirt road, hardened road, etc.) and slope (uphill 3%, downhill -2%, etc.), a multivariate regression model is established to fit the relationship between vehicle type, speed and fuel consumption rate. The model is trained using historical driving record data to continuously optimize the regression coefficient. Load-fuel consumption correction: According to vehicle dynamics theory, the larger the load, the higher the fuel consumption rate. A piecewise linear correction function is introduced to give the linear correction coefficient of the fuel consumption rate in the empty, half-loaded, and fully loaded intervals, and the predicted value of the section fuel consumption rate is corrected. Idle fuel consumption superposition: Taking into account the loading and unloading time and the waiting time, the idle fuel consumption is estimated and added to the total fuel consumption of the trip.
[0069] Select the optimal dispatching plan, construct a judgment matrix and calculate the weights to obtain the weight vectors of the four KPIs: transportation volume, transportation distance, time, and fuel consumption . A fuzzy evaluation matrix is established and combined with the hierarchical analysis method to modify the weight vector. Factors such as the current production plan completion rate p (%) and the key equipment start-up rate q (%) are introduced to construct a linear weight adjustment model. , dynamically update the weight vector to match the scheduling strategy with the production rhythm.
[0070] In this application, the objective function is constructed: ; Where: S represents a specific scheduling scheme, that is, the solution set of vehicle task pairing and path planning; represents the comprehensive evaluation value of the scheduling scheme S, The larger the value, the better the solution S is; represents the ore transportation volume (tons / month) of Scheme S, taking into account the sum of the planned transportation volumes of all mining trucks involved in the scheme during the evaluation period; The ore turnover of Scheme S (ton-km / month) is expressed by multiplying the transport volume and the transport distance of each train, and then calculating the cumulative value of each train; It represents the mining truck utilization rate (%) of Scheme S, considering the average utilization rate of all mining trucks involved in the scheme during the evaluation period; It represents the fuel consumption per ton of ore (L / ton) of Scheme S, considering the ratio of total fuel consumption to total transportation volume; Respectively represent the dynamic weight values of the four indicators of transport volume, turnover, utilization rate and fuel consumption. The largest solution S* is taken as the optimal scheduling solution and submitted for execution.
[0071] The cluster hardware-in-the-loop simulation system adopts a distributed computing architecture to perform parallel simulation calculations on multiple ore-droppers, chutes, loaders and transporters. The data in the simulation process is kept consistent through a data synchronization mechanism. Specifically, the hardware cluster architecture: a master-slave distributed cluster is adopted, consisting of a master node (Master) and multiple computing nodes (Workers). The master node is responsible for task scheduling, data aggregation and synchronization, and the computing node is responsible for parallel simulation calculations. The global environment state of the system is maintained on the master node, including all entity objects such as created ore-droppers, chutes, loaders, transporters, and unchanging information such as road networks and mining terrain. According to the vehicle scheduling plan, the master node divides a batch of shovel loading tasks into multiple independent subtask packages and sends them to each computing node. Each computing node independently performs local step simulation deduction based on the assigned task package, during which only the local state of the entities involved in the task package is updated. After each computing node completes the localstep calculation, it sends a synchronization ready signal to the master node. After receiving all ready signals, the master node broadcasts the global step synchronization instruction to all nodes. At the synchronization point, each computing node sends the entity state changed in the local step to the master node in parallel through the distributed snapshot technology. The master node updates all the local state snapshots received to the global environment state according to the predefined data structure and merging rules. The global tick moves forward one step and enters the next round of local step calculation.
Claims
1. A simulation test method for unmanned driving in underground mines based on cluster hardware-in-the-loop, characterized in that: include: Construct a simulation environment for the operation map. The operation map contains road information, location information of loading and unloading points, and obstacle information. The road information includes outbound and return roads, road width, speed limit, slope, and traffic control facilities. The obstacle information includes the location, size, direction of movement, speed, and time of appearance and disappearance of obstacles. The data format of the operation map adopts vector graphics, and spatial indexing is used to organize and store data. On the constructed operation map simulation environment, a cluster hardware-in-the-loop simulation system is built, and the ore placing machine, the chute, the transport vehicle, and the scraper are simulated on the simulation system. When there are multiple loading points or unloading points in the constructed operation map simulation environment, the optimal loading point, unloading point and driving route of each transport vehicle are calculated according to the status of the ore placing machine at each loading point, the status of the chute at each unloading point and the position and status data of the transport vehicle during the simulation process to realize the transport vehicle scheduling simulation; The cluster hardware-in-the-loop simulation system adopts a distributed computing architecture to perform parallel simulation calculations on multiple ore-dropping machines, chutes, loaders and transporters. The data in the simulation process is kept consistent through a data synchronization mechanism. Transport vehicle scheduling simulation, including: Use Dijkstra algorithm to calculate the shortest path from vehicle location to loading and unloading point; According to the combination of the points to be loaded and the points to be unloaded, the production efficiency indicators of different scheduling schemes are calculated, the optimal scheme is selected, and the scheduling instructions are generated: determine whether the vehicle is empty or loaded, and put the empty vehicle and the loaded vehicle into the set to be loaded A and the set to be unloaded B respectively; The constraints include: according to the rated load M and actual load m of the mining truck, the truck is considered as a pairing candidate only when m≤M, otherwise it is pruned; according to the road design standards, the vehicle type restrictions of each road are obtained, and only the pairings that meet both the traffic conditions between loading and unloading points and the vehicle type matching are selected, and the infeasible paths are pruned; the serviceable time windows of loading point i and unloading point j are recorded and , only the pairs that can satisfy both the loading point time window and the unloading point time window are selected, and the pairs with time conflicts are pruned; Construct the objective function: ;其中, S represents a specific scheduling scheme; Represents the comprehensive evaluation value of the scheduling scheme S; represents the ore transportation volume of Scheme S; represents the ore turnover of Scheme S; Indicates the mining card utilization rate of scheme S; It represents the fuel consumption per ton of ore of Scheme S; Respectively represent the dynamic weight values of the four indicators of transport volume, turnover, utilization rate, and fuel consumption; select The largest solution S* is taken as the optimal scheduling solution and submitted for execution.
2. The unmanned driving simulation test method for underground mines based on cluster hardware-in-the-loop according to claim 1 is characterized by: Simulate the ore placing machine, including: Based on the loading point location information in the operation map, the initial state data of the ore placing machine at each loading point is obtained, and the initial state data includes the normal working state, fault state, open state and closed state of the ore placing machine; According to the initial state data of the ore-dropping machine at the loading point, a simulation model of the ore-dropping machine is established, and the simulation model of the ore-dropping machine includes the physical parameters and control logic of the ore-dropping machine; During the simulation, the on and off status of the ore-dropping machine is updated according to the material scheduling requirements of the loading point; and the normal working status and fault status of the ore-dropping machine are updated according to the fault occurrence and maintenance completion events of the ore-dropping machine; The updated state data of the ore-dropping machine simulation model is associated and stored with the position information of the corresponding loading point in the operation map to form the simulation position and state data of the ore-dropping machine; During the transport vehicle scheduling simulation, the simulated position and status data of the ore-dropping machine are used as scheduling constraints. When the ore-dropping machine is in normal working condition and turned on, vehicles at the corresponding loading points are allowed to carry out loading operations; when the ore-dropping machine is in a faulty state or turned off, vehicles at the corresponding loading points are not allowed to load.
3. The unmanned driving simulation test method for underground mines based on cluster hardware-in-the-loop according to claim 2 is characterized by: Simulate the chute, including: Based on the unloading point location information in the operation map, the initial state data of the chute at each unloading point is obtained, and the initial state data of the chute includes the normal working state, fault state and empty or full load state of the chute; According to the initial state data of the chute, a chute simulation model is established, and the chute simulation model includes the physical parameters, control logic and storage capacity parameters of the chute; During the simulation, the empty and full states of the chute bins are updated according to the material unloading speed of the chute and the unloading frequency of the transport vehicles; the normal working state and fault state of the chute are updated according to the failure occurrence and maintenance completion events of the chute; The updated state data of the chute simulation model is associated with the position information of the corresponding unloading point in the action map and stored to form the simulation position and state data of the chute; In the transport vehicle scheduling simulation, the simulated position and status data of the chute are used as scheduling constraints. When the chute is in normal working condition and the bin is not fully loaded, the vehicle is allowed to unload at the unloading point; when the chute is in a fault state or the bin is fully loaded, the vehicle is not allowed to unload at the corresponding unloading point. During the scheduling simulation at the unloading point, the empty state of the updated chute is used as the trigger condition for allowing new vehicles to unload. When the chute becomes empty from a fully loaded state, an unloading instruction is sent to the target transport vehicle according to the scheduling algorithm to guide the target operation vehicle to the corresponding unloading point for unloading operations.
4. The unmanned driving simulation test method for underground mines based on cluster hardware-in-the-loop according to claim 3 is characterized by: Simulate transport vehicles, including: According to the type of transport vehicle to be simulated, a corresponding target vehicle simulation model is established on the hardware-in-the-loop platform. The transport vehicle types include Ackerman vehicles and articulated vehicles. When the target simulated vehicle is an Ackerman car, the kinematic model of the Ackerman car is established, and the motion parameters of the target simulated vehicle are calculated according to the cloud control instructions. The motion parameters include the speed, acceleration, yaw rate, heading angle and position of the target vehicle. When the target simulated vehicle is an articulated vehicle, the kinematic model of the articulated vehicle is established, and the motion parameters of the target simulated vehicle are calculated according to the cloud control instructions and preset configuration parameters; The simulation system subscribes to the position and speed topics published by the target simulation vehicle through the subscription communication interface to obtain the position coordinates, vehicle head heading angle and speed of the target simulation vehicle; The simulation system subscribes to the obstacle information topic published by the operation map through the subscription communication interface to obtain the location and size of the obstacle; The simulation system reads the position information and status information of the target simulated vehicle from the cloud control command configuration based on the real-time position and status of the target simulated vehicle. The position information includes the expected coordinates, expected heading angle and corresponding expected error range of the target simulated vehicle receiving the cloud control command. The status information includes whether the vehicle is in motion and the minimum time interval from the last receipt of the cloud control command. The simulation system determines whether the position coordinates and heading angle of the target simulation vehicle are within the error range of the configured coordinates and heading angle, and whether the vehicle state satisfies the configured state; When the judged position, heading angle and state all meet the configuration, the simulation system sends the corresponding cloud control command to the planning control algorithm of the target simulation vehicle according to the cloud control command configuration. The target simulation vehicle model receives the cloud control command and performs kinematic calculations to perform motion simulation.
5. The unmanned driving simulation test method for underground mines based on cluster hardware-in-the-loop according to claim 4 is characterized by: The cloud control instructions include the accelerator pedal opening, brake pedal opening, expected acceleration, gear position and steering or left and right cylinder control values; When the target simulation vehicle is an Ackerman car, the preset configuration parameters include maximum driving force, maximum braking force, vehicle mass, ground slope, rolling resistance coefficient, vehicle inherent resistance coefficient, and vehicle wheelbase; When the target simulated vehicle is an articulated vehicle, the preset configuration parameters include the maximum driving force, the maximum braking force, the vehicle mass, the ground slope, the rolling resistance coefficient, the vehicle inherent resistance coefficient, and the distance from the front and rear axles to the articulation point.
6. The unmanned driving simulation test method for underground mines based on cluster hardware-in-the-loop according to claim 5 is characterized by: When the position, heading angle and state meet the configuration, the simulation system sends the corresponding cloud control command to the planning control algorithm of the target simulation vehicle according to the cloud control command configuration. The target simulation vehicle model receives the cloud control command and performs kinematic calculations to perform motion simulation, including: When the position coordinates, motion state conditions and time interval conditions are all met, the simulation system generates a collision-free motion trajectory of the corresponding period through the dynamic window method, artificial potential field method, lattice algorithm or RRT algorithm according to the cloud control command configuration and the acquired obstacle position and size information; The simulation system discretizes the generated collision-free motion trajectory into a series of timestamps and corresponding positions, velocities, accelerations, as well as steering, throttle, and brakes, forming a cloud control command sequence, which is sent to the target simulation vehicle through the communication interface; The target simulated vehicle receives the cloud control command and extracts the parameters corresponding to each timestamp. The parameters include the accelerator pedal opening, brake pedal opening, expected acceleration, gear position and steering wheel angle or left and right cylinder control amount; The extracted parameters and preset configuration parameters are input into the Ackerman kinematic model or the articulated vehicle kinematic model, and the kinematic differential equations are solved by the fourth-order Runge-Kutta method to calculate the motion parameters of the target simulated vehicle at the next moment of the corresponding timestamp.
7. The unmanned driving simulation test method for underground mines based on cluster hardware-in-the-loop according to any one of claims 2 to 6, characterized in that: Simulate a loaders, including: According to the kinematic model of the articulated truck, the co-simulation mechanism is used to simulate the extension and contraction of the hydraulic cylinder to achieve the simulation of the lifting, falling and flipping of the scraper bucket.
Citation Information
Patent Citations
Strip mine driverless single-marshalling transportation hardware-in-the-loop simulation test system and method
CN112987702A
Simulation test method based on vehicle position and state
CN118605225A