From 3a9a53921e686edddf3d1db4be1d232b4f771967 Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Thu, 5 Nov 2026 16:43:07 +0100 Subject: [PATCH 1/7] Hydraulics calibrated against PWRI's ZX200 step tests Swing speed, friction, relief and house inertia, boom and arm flows per direction, and an optional command response (dead time and lag) were identified from PWRI's ZX200 measurements (Abe et al., ISARC 2025, doi:10.22260/ISARC2025/0054). Relief-based values are provisional. In clay the face planner also sets aside a strip whose pass carries less than half a bucket to the carrier, and set-aside strips are a fallback. Co-Authored-By: Claude Opus 5.5 --- phase2/RESULTS.md | 67 +++++++++++++- phase2/excavator_server.py | 87 ++++++++++++++----- phase2/hydraulics.py | 57 ++++++++---- .../haul_bench_pwri_long_clay_1carrier.json | 1 + ...aul_bench_pwri_long_dry-sand_1carrier.json | 1 + .../haul_bench_pwri_long_loam_1carrier.json | 1 + ...ul_bench_pwri_soil_long_clay_1carrier.json | 1 + ...ench_pwri_soil_long_dry-sand_1carrier.json | 1 + ...ul_bench_pwri_soil_long_loam_1carrier.json | 1 + phase2/ros_server.py | 3 +- 10 files changed, 182 insertions(+), 38 deletions(-) create mode 100644 phase2/logs/haul_bench_pwri_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_long_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_long_loam_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_soil_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_soil_long_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_soil_long_loam_1carrier.json diff --git a/phase2/RESULTS.md b/phase2/RESULTS.md index 21223a9..c07cf89 100644 --- a/phase2/RESULTS.md +++ b/phase2/RESULTS.md @@ -1242,7 +1242,7 @@ Part 4 put the late slowdown down to the pit being dug out. That was wrong: at t **The fix:** before each pass the operator looks at the pit and chooses where to cut (`_plan_face`). - **The choice:** seven swing directions (+20° to −40°, negative toward the truck side) along the standard dig path (cutting edge 4.4–7.4 m from the swing axis), each a bucket-width strip. - **The score:** the soil the cut can take. The cut goes 0.42 m into the strip but stays 0.08 m above the highest hard floor under it, which matters on the sloped sides. -- **Learning from poor passes:** a strip whose pass brings back less than 30 % of a full bucket is set aside for 12 passes. +- **Learning from poor passes:** a strip whose pass brings back less than 30 % of a full bucket is set aside for 12 passes. (Since the PWRI calibration, also, in clay, one that carries less than half a bucket to the carrier; set-aside strips come back when no other has a cut worth taking.) - **Finishing:** when no strip's cut holds 0.3 m³, the excavation is finished within reach. The operator stops and sends the carrier off. **What did not work, found with per-pass logs:** @@ -1397,3 +1397,68 @@ With bulking in, the autopilot's bucket came up only 65–70 % full by volume in - **Loam runs heavy:** its lumps compact in the bucket, and it overshoots the preset target (1.24 t) by about 18 %. - **Delivered tonnes are not comparable with earlier runs:** they now follow from realistic loose volumes, so loose soil fills the carrier sooner (clay: 10–12 passes per load instead of 9–10 before bulking). + +## Calibration against PWRI's ZX200 step tests + +PWRI (the OPERA team) recorded single-joint velocity steps on a real ZX200 under its automation controller: free air, empty bucket, 1800 min⁻¹, eco mode. The model parameters below were identified from those measurements (Abe, Matsusaka, Endo, Yamauchi, Hashimoto, "Dynamics Model of an Excavator in an Open Source Physical Simulator for Developing Autonomous Construction", ISARC 2025, [doi:10.22260/ISARC2025/0054](https://doi.org/10.22260/ISARC2025/0054)). The recordings themselves are PWRI's and are not published here. + +The joint angles and speeds are the reliable part of the recordings. The pressure channels are not verified yet, so the parameters that rest on them are marked provisional. + +**Method.** The simulator ran each recorded step from the same start pose, in free air. A full-command step is full lever; a ±0.3 rad/s step opens the lever to the share of the model's speed at that pose. Each joint and direction was compared on steady speed, delay to 10 % of it, and for the swing, acceleration, braking, the time to 90° and the stopping angle. + +**What changed** (`hydraulics.py`, `excavator_server.py`): + +| | Before | Now | Source | +|---|---|---|---| +| Swing speed at full lever | 1.39 rad/s (13.3 min⁻¹ spec, full power) | 1.17 rad/s | joint speed | +| Swing relief | 30.4 MPa (brochure) | 34.3 MPa, so 77.9 kN·m at 2.27 L/rad | peak motor pressure, accelerating and braking (**provisional**) | +| Swing friction | none | 16 kN·m (Coulomb) | the house speeds up more slowly than it brakes | +| House inertia about the swing axis | about 60 t·m² in total, boom raised and arm in (mesh shells) | about 112 t·m² (house Izz +52.8 t·m²) | acceleration and braking at that torque (**provisional**, scales with the relief) | +| Boom flow, raise / lower | 388 / 388 L/min | 375 / 270 L/min | joint speed per direction | +| Arm flow, crowd / out | 388 / 388 L/min | 495 / 265 L/min (crowd regenerates rod oil, so it exceeds the pumps) | joint speed per direction | +| Bucket flow | 194 L/min | unchanged | see below | +| Command response | none | optional: dead time 0.30 s swing (+0.30 s from rest), 0.42 / 0.62 s boom up / down, 0.55 / 0.45 s arm crowd / out, 0.33 s bucket; 0.15 s lag | delay to 10 % speed | +| Port relief | 39.2 MPa | unchanged | the boom's head side spikes to the 41 MPa sensor limit for about 0.05 s when a lowering boom stops: overshoot, not a setting | + +The auto operator plans swing stops with friction included: the house brakes at (relief torque + friction) / inertia. It measures the inertia online from relief torque less friction while speeding up. + +The command response is off by default (`ExcavatorSim(command_response=True)`, `ros_server.py --command-response`). The dead time is mostly PWRI's controller and the pilot circuit, so it belongs with velocity commands, not with the browser's levers. + +**Result.** The simulator ran PWRI's steps with the command response on (`command_response=True`), and its response was compared with what was measured: + +| Full-command step | Speed, model now | Speed, before | Delay to 10 %, now (before: about 0) | +|---|---|---|---| +| Swing | 1.17 rad/s, within 0.5 % | +19 % | within 0.05 s | +| Boom up | within 1 % | +13 % | within 0.04 s | +| Boom down | within 4 % | +43 % | within 0.03 s | +| Arm crowd | within 1 % | −17 % | within 0.03 s | +| Arm out | within 1 % | +46 % | within 0.03 s | +| Bucket curl / dump | −31 % / −6 % | not comparable (see below) | within 0.03 s | + +Swing details, model now against measured: acceleration within 4 %, braking within 3 %, 90° from the command 0.13 s sooner, stopping angle 4° longer. Before, the house accelerated twice as hard, braked 1.4 times as hard, and reached 90° 1.4 s sooner. + +**The bucket isn't matched yet.** Near the ends of the four-bar's stroke the model's bucket speed jumps (the 5 cm floor on the moment arm), so its speed over a full step isn't comparable with the machine's. The bucket keeps one pump each way until its linkage near the stroke ends is fixed. + +**Benchmarks** (default settings: the command response off): + +| | Before | Now | +|---|---|---| +| Trench (`bench_trench.py 8`), passes 1–6 | 15.4–17.9 s per pass (mean 16.4) | 16.0–19.2 s (mean 17.7) | +| 130 s cycle (`bench_zone.py 130`) | 7–8 passes, 8.7–9.2 t (two runs) | 7 passes, 7.8 t | +| 1500 s haul, s per pass: dry sand / loam / clay | 19.8 / 19.5 / 19.6 | 20.6 / 20.3 / 21.1 | +| 1500 s haul, per pass into the carrier | 1.30 / 1.49 / 0.93 t | 1.27 / 1.28 / **0.81** t | +| 1500 s haul, loaded | 161 / 168 / 141 t/h | 149 / 163 / **119** t/h | +| 1500 s haul, stages skipped | 16 / 12 / 17 | 7 / 10 / 12 | + +Haul logs: `logs/haul_bench_fill_long__1carrier.json` (before) and `logs/haul_bench_pwri_soil_long__1carrier.json` (now, with the face planner change below). `logs/haul_bench_pwri_long__1carrier.json` is the new hydraulics with the old planner. + +- **Passes take about 1 s longer** (5 %): the swing is slower and gentler, as on the machine. +- **Fewer stages time out** in every soil. +- **Clay passes come up light:** 0.81 t against the handbooks' 0.92–1.04 t and 0.93 t before. Loam moved from 5 % over its range to inside it (1.0–1.4 t). +- **Clay and the face planner.** With the new hydraulics and the old planner, clay fell to 0.71 t a pass and one load took 25 passes. Per-pass traces showed no steady difference in what the bucket held at the start of the swing. The planner kept choosing one strip whose cut took slabs the bucket lost on the way out, at about 0.43 t a pass for some 30 passes. It brought back more than 30 % of a bucket at the start of the swing, so the planner never set it aside. Now, in clay, a pass that carries less than half a bucket to the carrier also sets its strip aside (`POOR_CARRIED`), and in every soil, strips set aside are taken again only when no other strip has a cut worth taking. That brought clay to 0.81 t and the longest load to 16 passes. The half-bucket rule hurt dry sand (1.11 t a pass): what spills on the swing there is no sign of a poor strip, so it applies to clay only. The remaining gap in clay is open. + +**Limits:** +- Every value is for 1800 min⁻¹ in eco mode. At full power the pumps deliver more: the spec swing speed is 19 % higher. +- The swing relief, and so the absolute inertia, depend on unverified pressure channels and on the 2.27 L/rad displacement derived from the spec sheet. The speeds and the ratio of torque to inertia come from joint data alone. +- The real swing's pressure falls as the house speeds up, while its acceleration stays nearly constant. The model accelerates at the relief torque. This doesn't affect the times above but would show in the pressures. +- Nothing here checks digging forces: the tests are in free air. diff --git a/phase2/excavator_server.py b/phase2/excavator_server.py index d290b98..1d8774e 100644 --- a/phase2/excavator_server.py +++ b/phase2/excavator_server.py @@ -13,8 +13,10 @@ * relief valve - the torque is capped at relief pressure x piston area x moment arm, separately for pushing (head side) and pulling (rod side); the reference can't run further ahead than that torque can pull, so a joint that meets more resistance slows down - and stalls instead of pushing through. Swing is a joint-space motor with a fixed - torque limit. + and stalls instead of pushing through. Swing is a hydraulic motor: speed from its + flow, torque capped at the swing relief, with friction. + * response - optional (command_response=True): the levers reach the spools through the dead time + and lag PWRI measured on their ZX200 under velocity commands (hydraulics.py). The arm is a Newton articulation solved with MuJoCo; its bucket is a dynamic MPM collider, so the sand pushes back on the arm (two-way coupling as in Newton's mpm_twoway_coupling example). @@ -34,6 +36,7 @@ import argparse import asyncio +import collections import json import math import struct @@ -111,7 +114,12 @@ def _heaped_profile(): # from the area-weighted shells of the OPERA meshes, scaled to these masses (plate structures). MASS = {"house": 9800.0, "boom": 1450.0, "stick": 680.0, "bucket": 640.0} COM = {"house": (-0.48, 0.17, 0.79), "boom": (2.00, 0.01, 1.95), "stick": (0.34, -0.01, 0.73), "bucket": (0.29, -0.01, 0.72)} -INERTIA = {"house": (10518.0, 17319.0, 20667.0), "boom": (1028.0, 3635.0, 2661.0), "stick": (304.0, 673.0, 383.0), "bucket": (131.0, 159.0, 183.0)} +# The house's inertia about its vertical axis (and its pitch axis, as mass further out behind the swing axis +# adds to both) is raised by 52.8 t m2 over the mesh shells: the total about the swing axis then matches PWRI's +# ZX200 swing tests (about 112 t m2 with the boom raised, arm in, bucket empty, at the swing torque in +# hydraulics.py; ISARC 2025, doi:10.22260/ISARC2025/0054), where the mesh-based masses gave about 60. The +# counterweight sits further out than a uniform house shell puts it. +INERTIA = {"house": (10518.0, 70149.0, 73497.0), "boom": (1028.0, 3635.0, 2661.0), "stick": (304.0, 673.0, 383.0), "bucket": (131.0, 159.0, 183.0)} JOINTS = ["swing", "boom", "stick", "bucket"] LINKS = ["house", "boom", "stick", "bucket"] GLB_NODES = {"house": "body_link", "boom": "boom_link", "stick": "arm_link", "bucket": "bucket_link"} @@ -123,7 +131,7 @@ def _heaped_profile(): LEVER_SIGN = np.array([1.0, -1.0, -1.0, -1.0]) # swing: a joint-space actuator (swing motor); boom, stick and bucket are driven by their cylinders # (hydraulics.py), whose flow and relief set the joint speed and torque limits for each pose -SWING_VMAX, SWING_TAU = hyd.SWING_SPEED, hyd.SWING_TORQUE # 13.3 min^-1, 68.9 kN m (hydraulics.py) +SWING_VMAX, SWING_TAU, SWING_FRICTION = hyd.SWING_SPEED, hyd.SWING_TORQUE, hyd.SWING_FRICTION # 1.17 rad/s, 77.9 kN m, 16 kN m (hydraulics.py) KP = {"swing": 2.0e6, "boom": 3.0e7, "stick": 8.0e6, "bucket": 1.5e6} KD = {"swing": 8.0e5, "boom": 3.0e6, "stick": 6.0e5, "bucket": 4.0e4} @@ -354,6 +362,7 @@ def hydraulics_kernel( tau_hi: wp.array[float], q_lo: wp.array[float], q_hi: wp.array[float], + friction: wp.array[float], dt: float, joint_f: wp.array[float], torque: wp.array[float], @@ -373,7 +382,8 @@ def hydraulics_kernel( over = wp.max(q - q_hi[j], 0.0) - wp.max(q_lo[j] - q, 0.0) if over != 0.0: tau = tau - 10.0 * kp[j] * over - kd[j] * joint_qd[j] - joint_f[j] = tau + # Coulomb friction against the motion (smoothed over 0.02 rad/s); the actuator torque above doesn't include it + joint_f[j] = tau - friction[j] * wp.tanh(joint_qd[j] / 0.02) @wp.kernel @@ -527,9 +537,12 @@ class ExcavatorSim: ("swing back", 0, 6.0, 2.6 + DIG_Z, -95), # lowers while swinging, once clear of the truck ] - def __init__(self, voxel=0.08, ppc=2, soil=soils.DEFAULT_SOIL, iterations=None, fps=60.0, pool=POOL, mpm_every=MPM_EVERY, haul=True, dozer=True, carriers=1): + def __init__(self, voxel=0.08, ppc=2, soil=soils.DEFAULT_SOIL, iterations=None, fps=60.0, pool=POOL, mpm_every=MPM_EVERY, haul=True, dozer=True, carriers=1, command_response=False): wp.init() - self.kwargs = {"voxel": voxel, "ppc": ppc, "soil": soil, "iterations": iterations, "fps": fps, "pool": pool, "mpm_every": mpm_every, "carriers": carriers} + self.kwargs = {"voxel": voxel, "ppc": ppc, "soil": soil, "iterations": iterations, "fps": fps, "pool": pool, "mpm_every": mpm_every, "carriers": carriers, "command_response": command_response} + # levers reach the spools through the dead time and lag of PWRI's ZX200 under velocity commands + # (hydraulics.COMMAND_DEAD; off: the spools follow the levers at once, as before) + self.command_response = command_response self.soil = soil material = soils.SOILS[soil] density, friction = material["density"], material["friction"] @@ -736,6 +749,7 @@ def add_boxes(body, boxes, cfg): # actuator parameters on the GPU arr = lambda d: wp.array([float(d[j]) for j in JOINTS], dtype=float) # noqa: E731 self.kp, self.kd = arr(KP), arr(KD) + self.friction = wp.array([SWING_FRICTION, 0.0, 0.0, 0.0], dtype=float) self.tau_lo, self.tau_hi = wp.zeros(4, dtype=float), wp.zeros(4, dtype=float) self.linkage = hyd.Linkage(self.link_frames, pitch) self.vmax = self.nominal_vmax() @@ -783,6 +797,8 @@ def reset(self): self.rigid_graph = None # new state buffers: record the rigid graph again self.q_ref.assign(self.q0.astype(np.float32)) self.levers = np.zeros(4) + self.spool = np.zeros(4) # spool openings (-1..1, sign = joint direction) after the command response + self.lever_log = collections.deque(maxlen=int((max(max(d) for d in hyd.COMMAND_DEAD.values()) + hyd.SWING_START_DEAD) * self.kwargs["fps"]) + 2) self.auto = False self.fleet.reset() self.dozer.reset() @@ -802,7 +818,7 @@ def reset(self): self.swing_inertia = self.SWING_INERTIA_GUESS self._z_cache = {} self._faces, self.face_log, self.pit_done = {}, [], False - self.face_rest, self.pass_fill = {}, 0.0 # strips set aside after a poor pass (until pass n); this pass's best fill + self.face_rest, self.pass_fill, self.pass_carried = {}, 0.0, 0.0 # strips set aside after a poor pass (until pass n); this pass's best fill and what it carried self.stage_time = 0.0 self.auto_wait = 0.0 self.low_prev, self.low_rate, self.swing_held, self.arm_held = None, 0.0, 0.0, 0.0 @@ -916,6 +932,10 @@ def _stage_z(self, wp_): STRIP_HALF_W = 0.55 # m: half the bucket width PIT_DONE_M3 = 0.3 # no strip's cut holds more than this: the excavation is finished (within reach) POOR_PASS, POOR_REST = 0.3, 12 # a pass bringing back less than this fraction of a full bucket sets its strip aside for this many passes + # in these soils, also a pass carrying less than this fraction to the carrier. A clay strip whose cut takes + # slabs the bucket loses on the way out kept being chosen at about 0.4 t a pass, since its soil stays in the + # pit. Not in sand: what spills on the swing is no sign of a poor strip (resting on it took dry sand from 1.37 to 1.11 t a pass) + POOR_CARRIED = {"clay": 0.5} def _face(self, p): """The cut for pass p: swing offset, reach shift, deepen and the lowest the bucket may go (None in @@ -935,7 +955,9 @@ def _plan_face(self, p): hard = ground_height(cx, cy) dx, dy = cx - SWING_POS[0], cy - SWING_POS[1] best, best_score = None, -1.0 - for psi in self.FACE_PSI: + for psi, rested in ((psi, rested) for rested in (False, True) for psi in self.FACE_PSI): + if rested and best is not None and best["avail_m3"] >= self.PIT_DONE_M3: + break # strips set aside are a fallback, when no other strip has a cut worth taking # psi = 0 digs toward -x, positive toward -y (swing + left) ux, uy = -math.cos(math.radians(psi)), -math.sin(math.radians(psi)) along, across = dx * ux + dy * uy, -dx * uy + dy * ux @@ -943,7 +965,7 @@ def _plan_face(self, p): if shift < 0 and abs(psi) > 10.0: continue # reaching in is for the slope under the machine, straight ahead band = (along > self.EDGE_REACH[0] + shift) & (along < self.EDGE_REACH[1] + shift) & (np.abs(across) < self.STRIP_HALF_W) - if band.sum() < 10 or self.face_rest.get((psi, shift), -1) > p: + if band.sum() < 10 or (self.face_rest.get((psi, shift), -1) > p) != rested: continue # free-flowing soil: from the strip's median surface (the high edges of an earlier cut would set # the cut too shallow and the bucket would pass through the trench); cohesive soil: from its @@ -1064,7 +1086,7 @@ def _clearance(self, local, psi): def _sweep(self, direction, steps=8, ahead=0.07): """House angles it passes through if it brakes from now, plus `ahead` rad more.""" - v, brake = abs(self.qd[0]), SWING_TAU * self.relief / self.swing_inertia + v, brake = abs(self.qd[0]), self._swing_brake() t = np.linspace(0.0, v / brake, steps) d = v * t - 0.5 * brake * t * t return self.q[0] + direction * np.append(d, d[-1] + ahead) @@ -1081,21 +1103,25 @@ def _swing_allowance(self, local, target, direction, rise_to_end): return math.inf k = bad[0] dist = max(abs(psi[k] - self.q[0]) - 0.07, 0.0) - v = math.sqrt(2.0 * SWING_TAU * self.relief / self.swing_inertia * dist) + v = math.sqrt(2.0 * self._swing_brake() * dist) deficit = -float(m[k:].min()) if self.low_rate > 0.02 and deficit <= rise_to_end + 0.02: v = min(v, dist * self.low_rate / deficit) return v - SWING_INERTIA_GUESS = 55e3 # kg m2 about the swing axis, until measured (boom raised, bucket empty) + SWING_INERTIA_GUESS = 110e3 # kg m2 about the swing axis, until measured (boom raised, bucket empty) SWING_STAGE_DEG = 20 # stages that turn the house further than this are swung like an operator does + def _swing_brake(self): + """Deceleration (rad/s2) of the house in neutral: the cross-over reliefs and friction both stop it.""" + return (SWING_TAU * self.relief + SWING_FRICTION) / self.swing_inertia + def _swing_lever(self, target, allow=None): """Operator swing: full lever, then neutral once the house would coast to the target on the cross-over reliefs; small corrections once it has nearly stopped. `allow(direction)` is the fastest the bucket's clearance lets the house swing: the lever is eased to it, or neutral (brake) above it.""" err, v = target - self.q[0], self.qd[0] - brake = SWING_TAU * self.relief / self.swing_inertia + brake = self._swing_brake() stop = v * v / (2 * brake) * 1.1 + 0.02 if abs(v) > 0.15: lever = math.copysign(1.0, err) if (err * v < 0 or abs(err) > stop) else 0.0 @@ -1284,6 +1310,8 @@ def allow(direction): self.shaking = 0.0 # sticky load still in the bucket: shake it out before swinging back self.shakes += 1 return + if b[0] == "swing to truck": + self.pass_carried = self._bucket_fill() # what this pass brings to the carrier if b[0] == "dump": self._after_dump() self.auto_stage = (self.auto_stage + 1) % n @@ -1293,12 +1321,14 @@ def allow(direction): self.low_prev, self.low_rate = None, 0.0 if self.auto_stage == 0: face = self._faces.get(self.passes) if self.adaptive_face else None - if face is not None and self.pass_fill < self.POOR_PASS * self.full_kg: + carried = self.POOR_CARRIED.get(self.soil) + if face is not None and (self.pass_fill < self.POOR_PASS * self.full_kg + or carried is not None and self.pass_carried < carried * self.full_kg): self.face_rest[(face["psi"], face["shift"])] = self.passes + self.POOR_REST # little came out of it for f in self.face_log[-2:]: if f["pass"] == self.passes: f["poor_kg"] = round(self.pass_fill) - self.pass_fill = 0.0 + self.pass_fill, self.pass_carried = 0.0, 0.0 self.passes += 1 self.ease = 0.0 self.curl_out, self.curl_from = None, None @@ -1327,6 +1357,9 @@ def _hydraulics(self): """Levers -> joint speed commands and torque limits for this frame, from the cylinders.""" self.cyl_pts, self.cyl_L, self.cyl_J = self.linkage.state(self.q) spool = self.levers * LEVER_SIGN # desired joint direction and opening + if self.command_response: + spool = self._respond(spool) + self.spool = spool omega, v_cyl = hyd.speeds(spool, self.cyl_J) # swing and cylinders share the pumps J = np.where(np.abs(self.cyl_J) < hyd.J_MIN, np.copysign(hyd.J_MIN, self.cyl_J), self.cyl_J) v_cmd = np.concatenate([[omega], v_cyl / J]) @@ -1336,6 +1369,19 @@ def _hydraulics(self): self.tau_lo.assign(np.concatenate([[-tau], lo]).astype(np.float32)) self.tau_hi.assign(np.concatenate([[tau], hi]).astype(np.float32)) + def _respond(self, cmd): + """Spool openings from the lever history: each joint's dead time for the direction it was asked to move + (a longer one when the swing starts from rest), then a first-order lag.""" + self.lever_log.append(cmd.copy()) + n, fps = len(self.lever_log), self.kwargs["fps"] + target = np.zeros(4) + for j, name in enumerate(JOINTS): + extra = hyd.SWING_START_DEAD if j == 0 and abs(self.qd[0]) < 0.02 and abs(self.spool[0]) < 0.01 else 0.0 + ago = [int(round((d + extra) * fps)) for d in hyd.COMMAND_DEAD[name]] # frames, for +/- direction + up, down = (self.lever_log[-1 - k][j] if k < n else 0.0 for k in ago) + target[j] = up if up > 0 else min(down, 0.0) + return self.spool + (target - self.spool) * min(1.0, self.frame_dt / hyd.COMMAND_LAG) + def part_poses(self): """Zone-frame poses (xyz, quaternion xyzw) of the cylinder barrels, rods and linkage plates.""" psi = self.q[0] @@ -1354,7 +1400,7 @@ def _rigid_substeps(self): wp.launch( hydraulics_kernel, dim=4, - inputs=[self.state_0.joint_q, self.state_0.joint_qd, self.v_cmd, self.q_ref, self.kp, self.kd, self.tau_lo, self.tau_hi, self.q_lo, self.q_hi, self.sim_dt], + inputs=[self.state_0.joint_q, self.state_0.joint_qd, self.v_cmd, self.q_ref, self.kp, self.kd, self.tau_lo, self.tau_hi, self.q_lo, self.q_hi, self.friction, self.sim_dt], outputs=[self.control.joint_f, self.torque], ) self.collision.collide(self.state_0, self.contacts) @@ -1557,11 +1603,12 @@ def step(self): self.tau = self.torque.numpy().astype(float) # house inertia about the swing axis, measured while the swing runs at relief (for the auto operator) acc = (self.qd[0] - qd_prev[0]) / self.frame_dt - if abs(self.tau[0]) > 0.95 * SWING_TAU * self.relief and abs(acc) > 0.3 and acc * self.tau[0] > 0: - self.swing_inertia += 0.1 * (abs(self.tau[0] / acc) - self.swing_inertia) + # (speeding up: the relief torque less friction) + if abs(self.tau[0]) > 0.95 * SWING_TAU * self.relief and abs(acc) > 0.3 and acc * self.tau[0] > 0 and acc * self.qd[0] > 0: + self.swing_inertia += 0.1 * ((abs(self.tau[0]) - SWING_FRICTION) / abs(acc) - self.swing_inertia) self.cyl_p, self.cyl_head = hyd.pressures(self.tau[1:], self.cyl_J) # gauges: loaded-side pressure as a fraction of the nominal relief setting - self.press = np.concatenate([[abs(self.tau[0]) / SWING_TAU], self.cyl_p / hyd.P_RELIEF]) # swing: of its 30.4 MPa relief + self.press = np.concatenate([[abs(self.tau[0]) / SWING_TAU], self.cyl_p / hyd.P_RELIEF]) # swing: of its relief BUCKET_LOCAL_BOX = ( np.array([min(BUCKET_SHELL[:, 0].min(), TOOTH_TIP[0]) - PLATE, -BUCKET_W / 2 - PLATE, min(BUCKET_SHELL[:, 1].min(), TOOTH_TIP[1]) - PLATE]), diff --git a/phase2/hydraulics.py b/phase2/hydraulics.py index b7d406a..20b637c 100644 --- a/phase2/hydraulics.py +++ b/phase2/hydraulics.py @@ -4,9 +4,16 @@ * cylinders (Hitachi ZAXIS 200 brochure): boom 2 x bore 120 / rod 85 mm, arm 135 / 95 mm, bucket 115 / 80 mm; implement relief 34.3 MPa (36.3 MPa power boost), swing relief 30.4 MPa; two main pumps of 194 L/min each - * swing: 13.3 min^-1 and 68.9 kN m (ZX200-3 and ZX210-6 spec listings). At the 30.4 MPa swing relief that - torque means 2.27 L/rad at the house, and 13.3 min^-1 then takes 189 L/min, about one pump + * swing: 13.3 min^-1 and 68.9 kN m (ZX200-3 and ZX210-6 spec listings). At the brochure's 30.4 MPa swing + relief that torque means 2.27 L/rad at the house, and 13.3 min^-1 then takes 189 L/min, about one pump * port (overload) reliefs: 39.2 MPa, typical for this class; not confirmed for the ZX200 + * identified from PWRI's ZX200 step-test measurements (1800 min^-1, eco mode, free air; Abe, Matsusaka, + Endo, Yamauchi, Hashimoto, "Dynamics Model of an Excavator in an Open Source Physical Simulator for + Developing Autonomous Construction", ISARC 2025, doi:10.22260/ISARC2025/0054): SWING_*, CYLINDERS and + COMMAND_* below, and phase2/RESULTS.md "Calibration against PWRI's ZX200 step tests". From joint angles and speeds: + swing speed, swing friction, the cylinder flows per direction and the command delays. From the motor + pressures, which are not yet verified (provisional): the swing relief, and so the swing torque and the + house inertia that goes with it * pin positions: found in the PWRI OPERA ZX200 meshes (zx200_ros2, Apache-2.0) by voting for the bore axes of the pin bosses; each mesh is in its URDF link frame (x forward, z up, pins along y). Over the URDF joint limits they give cylinder travels of 1.28 m (boom), 1.465 m (arm) and 1.04 m @@ -23,9 +30,12 @@ * port reliefs: the pump feeds the side the spool opens, capped by the main relief; the other side (or both, with the spool closed) holds an outside load up to the port relief, then gives way * flow: a lever opens its spool in proportion; the cylinder speed is flow / area of the side being - filled, and when the open spools ask for more than the two pumps deliver, all are slowed alike + filled, with its own maximum flow for each side (the valve meters each direction differently, and arm + crowd regenerates rod oil into the head side, so it takes more than the pumps). When the open spools ask + the pumps for more than they deliver, all are slowed alike * swing: a fixed-displacement motor through the swing reduction; speed = flow / displacement, torque - capped at the swing relief both ways (cross-over reliefs: they also brake the house in neutral) + capped at the swing relief both ways (cross-over reliefs: they also brake the house in neutral), and a + Coulomb friction torque (bearing, gear, motor) against the motion * the bucket cylinder drives the bucket through a four-bar: guide link (arm pin G) and side link (bucket pin K) meet the cylinder rod at pin C """ @@ -36,21 +46,35 @@ P_RELIEF = 34.3e6 # Pa, implement circuit P_POWER_BOOST = 36.3e6 -P_PORT = 39.2e6 # Pa, port (overload) reliefs on the cylinder lines -P_SWING = 30.4e6 # Pa, swing relief -SWING_TORQUE = 68.9e3 # N m at the house -SWING_SPEED = 13.3 * 2 * math.pi / 60 # rad/s -SWING_DISP = SWING_TORQUE / P_SWING # m3/rad at the house (motor displacement x reduction) -SWING_FLOW = SWING_SPEED * SWING_DISP # m3/s at full lever +# Pa, port (overload) reliefs on the cylinder lines. PWRI's recordings show the boom's head side briefly at the +# sensor's 41 MPa full scale when a lowering boom is stopped: a spike above the setting, so they don't pin it down +P_PORT = 39.2e6 +SWING_DISP = 68.9e3 / 30.4e6 # m3/rad at the house (motor displacement x reduction): spec torque at the brochure relief +P_SWING = 34.3e6 # Pa, swing relief: peak motor pressure accelerating and braking (PWRI; provisional, brochure 30.4 MPa) +SWING_TORQUE = P_SWING * SWING_DISP # N m at the house, 77.9 kN m +SWING_FRICTION = 16e3 # N m at the house: why the house speeds up more slowly than it brakes (PWRI) +SWING_SPEED = 1.17 # rad/s at full lever (PWRI, 1800 min^-1 eco; the spec's 13.3 min^-1 = 1.39 rad/s is full power) +SWING_FLOW = SWING_SPEED * SWING_DISP # m3/s at full lever, 159 L/min PUMP_FLOW = 2 * 194.0 / 60000.0 # m3/s, two main pumps LINKS = ("house", "boom", "stick", "bucket") +LPM = 1 / 60000.0 # m3/s per L/min -# name: joint index, cylinders, bore, rod, max spool flow (m3/s), head pin (link, x, z), rod pin (link, x, z) +# name: joint index, cylinders, bore, rod, max spool flow (m3/s) (head side, rod side), head pin (link, x, z), +# rod pin (link, x, z). Boom and arm flows give the joint speeds PWRI measured in each direction at full command +# (1800 min^-1, eco; ISARC 2025 above); their flow channels, read as indicative, agree for the arm. The bucket +# keeps one pump each way: its measured speeds aren't matched yet (the four-bar's speed near its stroke ends). CYLINDERS = { - "boom": (1, 2, 0.120, 0.085, PUMP_FLOW, ("house", 0.686, 0.247), ("boom", 1.776, 2.249)), - "arm": (2, 1, 0.135, 0.095, PUMP_FLOW, ("boom", 2.276, 2.789), ("stick", -0.778, -0.367)), - "bucket": (3, 1, 0.115, 0.080, PUMP_FLOW / 2, ("stick", -0.248, 0.733), None), # rod end: linkage pin C + "boom": (1, 2, 0.120, 0.085, (375 * LPM, 270 * LPM), ("house", 0.686, 0.247), ("boom", 1.776, 2.249)), # raise, lower + "arm": (2, 1, 0.135, 0.095, (495 * LPM, 265 * LPM), ("boom", 2.276, 2.789), ("stick", -0.778, -0.367)), # crowd, out + "bucket": (3, 1, 0.115, 0.080, (PUMP_FLOW / 2, PUMP_FLOW / 2), ("stick", -0.248, 0.733), None), # rod end: linkage pin C } + +# command -> spool response of PWRI's ZX200 under its automation controller (velocity commands), for a +# simulator driven the same way: dead time (s) per joint for (+, -) joint direction, a first-order lag (s) on +# the spool, and a dead time on starting the swing from rest (swing parking-brake release) on top of its own +COMMAND_DEAD = {"swing": (0.30, 0.30), "boom": (0.62, 0.42), "stick": (0.55, 0.45), "bucket": (0.33, 0.33)} # boom +: lowering +COMMAND_LAG = 0.15 +SWING_START_DEAD = 0.30 GUIDE_PIN = ("stick", 1.577, 1.878) # guide link on the arm SIDE_PIN = ("bucket", -0.328, 0.548) # side link on the bucket GUIDE_LEN, SIDE_LEN = 0.561, 0.583 @@ -136,8 +160,9 @@ def speeds(spool, J): a_head, a_rod = area(name) extend = spool[k + 1] * J[k] > 0 a = a_head if extend else a_rod - flow[k] = abs(spool[k + 1]) * c[4] - v[k] = math.copysign(flow[k] / a, spool[k + 1] * J[k]) + q = abs(spool[k + 1]) * c[4][0 if extend else 1] + v[k] = math.copysign(q / a, spool[k + 1] * J[k]) + flow[k] = min(q, PUMP_FLOW) # from the pumps: arm crowd tops up from its own rod side omega = spool[0] * SWING_SPEED total = flow.sum() + abs(spool[0]) * SWING_FLOW if total > PUMP_FLOW: diff --git a/phase2/logs/haul_bench_pwri_long_clay_1carrier.json b/phase2/logs/haul_bench_pwri_long_clay_1carrier.json new file mode 100644 index 0000000..fc2d360 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_long_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.387, "loads": [{"carrier": 0, "departed_s": 292.4, "load_kg": 10959, "loading_s": 292.4, "passes": 13}, {"carrier": 0, "departed_s": 624.0, "load_kg": 10794, "loading_s": 273.5, "passes": 13}, {"carrier": 0, "departed_s": 1167.5, "load_kg": 10643, "loading_s": 485.0, "passes": 25}, {"carrier": 0, "departed_s": 1434.3, "load_kg": 10805, "loading_s": 208.1, "passes": 10}], "trips": [{"depart_t": 292.43, "stages": {"loading": 292.43, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.93, "lower": 5.0, "return": 4.75, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 310, "away_s": 58.14}, {"depart_t": 624.05, "stages": {"loading": 273.48, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.32, "lower": 5.0, "return": 4.65, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 248, "away_s": 58.42}, {"depart_t": 1167.47, "stages": {"loading": 485.0, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.65, "lower": 5.0, "return": 4.57, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 229, "away_s": 58.66}, {"depart_t": 1434.27, "stages": {"loading": 208.13, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.6, "lower": 5.0, "return": 4.58, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 280, "away_s": 58.63}], "delivered_t": 42.13, "loaded_t": 44.45, "loaded_t_per_hour": 106.7, "mean_departure_interval_s": 380.6, "t_per_hour": 101.1, "mean_load_kg": 10800.0, "mean_loading_s": 314.8, "carry_back_kg": [310, 248, 229, 280], "mean_away_s": 58.5, "excavator_wait_s": 197.2, "passes": 65, "spoil_settled_t": 34.67, "lost_particles": 1582, "pool_short": 0, "skipped": [{"t": 269.43, "stage": "swing back", "max_err_rad": 0.0}, {"t": 273.45, "stage": "approach", "max_err_rad": 1.196}, {"t": 285.95, "stage": "curl", "max_err_rad": 0.064}, {"t": 407.62, "stage": "penetrate", "max_err_rad": 0.183}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 233.9, "pit_left_t": 131.6, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0]], "dozer": {"passes": 21, "push_m": 154.66, "work_MJ": 3.15, "load_lifts": 52, "lifts_raised": 1, "parked_s": 999.45, "working_s": 500.57, "peak_kN": 83.07, "slip_s": 1.27, "futile_passes": 4, "mean_push_kN": [24.1, 17.2, 12.0, 15.3, 15.9, 15.6, 14.9, 14.4, 26.3, 17.9, 22.6, 14.3, 20.5, 16.0, 23.4, 20.8, 23.1, 22.8, 24.3, 0.5, 23.7]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 43.1, "rms_from_grade_m": 0.519, "max_above_grade_m": 1.65, "at_grade_fraction": 0.19, "unspread_m3": 5.48}} diff --git a/phase2/logs/haul_bench_pwri_long_dry-sand_1carrier.json b/phase2/logs/haul_bench_pwri_long_dry-sand_1carrier.json new file mode 100644 index 0000000..08010f8 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_long_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.379, "loads": [{"carrier": 0, "departed_s": 160.6, "load_kg": 10800, "loading_s": 160.6, "passes": 8}, {"carrier": 0, "departed_s": 355.4, "load_kg": 10347, "loading_s": 138.1, "passes": 7}, {"carrier": 0, "departed_s": 558.4, "load_kg": 9992, "loading_s": 146.3, "passes": 7}, {"carrier": 0, "departed_s": 756.0, "load_kg": 10600, "loading_s": 140.9, "passes": 7}, {"carrier": 0, "departed_s": 1010.5, "load_kg": 10192, "loading_s": 197.0, "passes": 9}], "trips": [{"depart_t": 160.58, "stages": {"loading": 160.58, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 73, "away_s": 56.72}, {"depart_t": 355.42, "stages": {"loading": 138.12, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 130, "away_s": 56.71}, {"depart_t": 558.4, "stages": {"loading": 146.27, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 182, "away_s": 56.72}, {"depart_t": 756.0, "stages": {"loading": 140.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.12, "lower": 5.0, "return": 4.97, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 237, "away_s": 57.53}, {"depart_t": 1010.52, "stages": {"loading": 196.98, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.35, "lower": 5.0, "return": 4.9, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 426, "away_s": 57.7}], "delivered_t": 50.88, "loaded_t": 62.21, "loaded_t_per_hour": 149.3, "mean_departure_interval_s": 212.5, "t_per_hour": 122.1, "mean_load_kg": 10386.0, "mean_loading_s": 156.6, "carry_back_kg": [73, 130, 182, 237, 426], "mean_away_s": 57.1, "excavator_wait_s": 221.5, "passes": 64, "spoil_settled_t": 50.79, "lost_particles": 6114, "pool_short": 119, "skipped": [{"t": 894.37, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 898.38, "stage": "drag", "max_err_rad": 0.182}, {"t": 1022.23, "stage": "penetrate", "max_err_rad": 0.122}, {"t": 1026.25, "stage": "drag", "max_err_rad": 0.209}, {"t": 1148.35, "stage": "penetrate", "max_err_rad": 0.122}, {"t": 1152.37, "stage": "drag", "max_err_rad": 0.209}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 285.4, "pit_left_t": 78.3, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0]], "dozer": {"passes": 18, "push_m": 103.27, "work_MJ": 0.95, "load_lifts": 3, "lifts_raised": 1, "parked_s": 1110.83, "working_s": 389.18, "peak_kN": 57.56, "slip_s": 0.03, "futile_passes": 2, "mean_push_kN": [11.7, 5.0, 7.8, 8.1, 12.1, 3.7, 0.1, 8.4, 3.2, 5.9, 14.2, 8.1, 6.7, 7.6, 4.3, 2.0, 14.1, 10.1]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 55.0, "rms_from_grade_m": 0.141, "max_above_grade_m": 0.45, "at_grade_fraction": 0.57, "unspread_m3": 0.6}} diff --git a/phase2/logs/haul_bench_pwri_long_loam_1carrier.json b/phase2/logs/haul_bench_pwri_long_loam_1carrier.json new file mode 100644 index 0000000..290eb98 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_long_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.396, "loads": [{"carrier": 0, "departed_s": 178.0, "load_kg": 10850, "loading_s": 178.0, "passes": 8}, {"carrier": 0, "departed_s": 423.1, "load_kg": 11631, "loading_s": 188.4, "passes": 9}, {"carrier": 0, "departed_s": 602.0, "load_kg": 9692, "loading_s": 122.0, "passes": 6}, {"carrier": 0, "departed_s": 854.9, "load_kg": 10839, "loading_s": 195.8, "passes": 10}, {"carrier": 0, "departed_s": 1103.9, "load_kg": 10226, "loading_s": 190.8, "passes": 9}, {"carrier": 0, "departed_s": 1374.9, "load_kg": 12278, "loading_s": 213.0, "passes": 10}, {"carrier": 0, "departed_s": 1482.7, "load_kg": 3075, "loading_s": 49.8, "passes": 3}], "trips": [{"depart_t": 177.95, "stages": {"loading": 177.95, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 210, "away_s": 56.72}, {"depart_t": 423.1, "stages": {"loading": 188.43, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.27, "lower": 5.0, "return": 5.18, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 348, "away_s": 56.9}, {"depart_t": 602.03, "stages": {"loading": 122.03, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.58, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 265, "away_s": 57.14}, {"depart_t": 854.95, "stages": {"loading": 195.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.92, "lower": 5.0, "return": 4.77, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 211, "away_s": 58.13}, {"depart_t": 1103.93, "stages": {"loading": 190.85, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.68, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 197, "away_s": 57.95}, {"depart_t": 1374.88, "stages": {"loading": 213.0, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.73, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 254, "away_s": 58.0}], "delivered_t": 64.03, "loaded_t": 68.59, "loaded_t_per_hour": 164.6, "mean_departure_interval_s": 217.5, "t_per_hour": 153.7, "mean_load_kg": 9799.0, "mean_loading_s": 162.5, "carry_back_kg": [210, 348, 265, 211, 197, 254], "mean_away_s": 57.5, "excavator_wait_s": 286.3, "passes": 61, "spoil_settled_t": 63.04, "lost_particles": 2005, "pool_short": 46, "skipped": [{"t": 101.42, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 105.43, "stage": "drag", "max_err_rad": 0.135}, {"t": 310.57, "stage": "penetrate", "max_err_rad": 0.146}, {"t": 314.58, "stage": "drag", "max_err_rad": 0.172}, {"t": 318.6, "stage": "drag-curl", "max_err_rad": 0.203}, {"t": 587.4, "stage": "drag", "max_err_rad": 0.123}, {"t": 930.47, "stage": "penetrate", "max_err_rad": 0.185}, {"t": 934.48, "stage": "drag", "max_err_rad": 0.213}, {"t": 938.5, "stage": "drag-curl", "max_err_rad": 0.26}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 362.2, "pit_left_t": 100.6, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [20.0, 0.0]], "dozer": {"passes": 24, "push_m": 142.07, "work_MJ": 2.12, "load_lifts": 33, "lifts_raised": 2, "parked_s": 972.68, "working_s": 527.33, "peak_kN": 95.11, "slip_s": 0.78, "futile_passes": 5, "mean_push_kN": [15.6, 18.1, 0.3, 0.1, 8.8, 11.3, 15.6, 24.5, 5.9, 0.3, 17.5, 15.8, 15.0, 21.7, 11.8, 13.0, 12.4, 22.4, 5.3, 21.5, 18.3, 7.4, 1.5, 3.3]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 54.3, "rms_from_grade_m": 0.413, "max_above_grade_m": 1.59, "at_grade_fraction": 0.25, "unspread_m3": 2.69}} diff --git a/phase2/logs/haul_bench_pwri_soil_long_clay_1carrier.json b/phase2/logs/haul_bench_pwri_soil_long_clay_1carrier.json new file mode 100644 index 0000000..0d7e647 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_soil_long_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.409, "loads": [{"carrier": 0, "departed_s": 333.3, "load_kg": 11048, "loading_s": 333.3, "passes": 15}, {"carrier": 0, "departed_s": 626.7, "load_kg": 11120, "loading_s": 235.2, "passes": 11}, {"carrier": 0, "departed_s": 1017.6, "load_kg": 11553, "loading_s": 332.3, "passes": 16}, {"carrier": 0, "departed_s": 1316.3, "load_kg": 9853, "loading_s": 239.6, "passes": 12}], "trips": [{"depart_t": 333.3, "stages": {"loading": 333.3, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.07, "lower": 5.0, "return": 4.72, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 254, "away_s": 58.23}, {"depart_t": 626.73, "stages": {"loading": 235.2, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.63, "lower": 5.0, "return": 4.57, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 318, "away_s": 58.65}, {"depart_t": 1017.65, "stages": {"loading": 332.27, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.22, "lower": 5.0, "return": 4.4, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 195, "away_s": 59.07}, {"depart_t": 1316.35, "stages": {"loading": 239.63, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.02, "lower": 5.0, "return": 4.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 218, "away_s": 59.63}], "delivered_t": 42.59, "loaded_t": 49.41, "loaded_t_per_hour": 118.6, "mean_departure_interval_s": 327.7, "t_per_hour": 102.2, "mean_load_kg": 10894.0, "mean_loading_s": 285.1, "carry_back_kg": [254, 318, 195, 218], "mean_away_s": 58.9, "excavator_wait_s": 188.2, "passes": 64, "spoil_settled_t": 42.97, "lost_particles": 1620, "pool_short": 0, "skipped": [{"t": 105.4, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 109.42, "stage": "drag", "max_err_rad": 0.136}, {"t": 153.9, "stage": "penetrate", "max_err_rad": 0.169}, {"t": 157.92, "stage": "drag", "max_err_rad": 0.191}, {"t": 161.93, "stage": "drag-curl", "max_err_rad": 0.139}, {"t": 528.33, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 532.35, "stage": "drag", "max_err_rad": 0.135}, {"t": 940.07, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 944.08, "stage": "drag", "max_err_rad": 0.123}, {"t": 1327.25, "stage": "penetrate", "max_err_rad": 0.142}, {"t": 1331.27, "stage": "drag", "max_err_rad": 0.168}, {"t": 1335.28, "stage": "drag-curl", "max_err_rad": 0.227}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 235.6, "pit_left_t": 116.8, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-40.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [-20.0, 0.0]], "dozer": {"passes": 21, "push_m": 137.58, "work_MJ": 2.78, "load_lifts": 51, "lifts_raised": 1, "parked_s": 1035.17, "working_s": 464.85, "peak_kN": 74.48, "slip_s": 0.97, "futile_passes": 2, "mean_push_kN": [19.7, 24.8, 12.1, 11.9, 14.4, 16.0, 17.2, 15.5, 23.5, 24.3, 23.3, 26.3, 14.3, 15.4, 21.3, 16.2, 18.8, 10.7, 6.2, 29.0, 23.5]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 52.2, "rms_from_grade_m": 0.313, "max_above_grade_m": 1.83, "at_grade_fraction": 0.31, "unspread_m3": 1.9}} diff --git a/phase2/logs/haul_bench_pwri_soil_long_dry-sand_1carrier.json b/phase2/logs/haul_bench_pwri_soil_long_dry-sand_1carrier.json new file mode 100644 index 0000000..5c4bf38 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_soil_long_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.403, "loads": [{"carrier": 0, "departed_s": 160.6, "load_kg": 10658, "loading_s": 160.6, "passes": 8}, {"carrier": 0, "departed_s": 354.8, "load_kg": 10389, "loading_s": 137.4, "passes": 7}, {"carrier": 0, "departed_s": 570.9, "load_kg": 10902, "loading_s": 159.5, "passes": 8}, {"carrier": 0, "departed_s": 790.3, "load_kg": 10475, "loading_s": 162.6, "passes": 8}, {"carrier": 0, "departed_s": 1091.6, "load_kg": 10975, "loading_s": 243.6, "passes": 11}], "trips": [{"depart_t": 160.63, "stages": {"loading": 160.63, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 51, "away_s": 56.72}, {"depart_t": 354.75, "stages": {"loading": 137.4, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 155, "away_s": 56.72}, {"depart_t": 570.93, "stages": {"loading": 159.47, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.18, "lower": 5.0, "return": 5.2, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 213, "away_s": 56.84}, {"depart_t": 790.33, "stages": {"loading": 162.57, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.28, "lower": 5.0, "return": 4.93, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 221, "away_s": 57.67}, {"depart_t": 1091.6, "stages": {"loading": 243.6, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.27, "lower": 5.0, "return": 4.93, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 289, "away_s": 57.65}], "delivered_t": 52.47, "loaded_t": 61.94, "loaded_t_per_hour": 148.7, "mean_departure_interval_s": 232.7, "t_per_hour": 125.9, "mean_load_kg": 10680.0, "mean_loading_s": 172.7, "carry_back_kg": [51, 155, 213, 221, 289], "mean_away_s": 57.1, "excavator_wait_s": 232.0, "passes": 64, "spoil_settled_t": 52.16, "lost_particles": 6127, "pool_short": 48, "skipped": [{"t": 927.38, "stage": "penetrate", "max_err_rad": 0.127}, {"t": 931.4, "stage": "drag", "max_err_rad": 0.235}, {"t": 935.42, "stage": "drag-curl", "max_err_rad": 0.317}, {"t": 1205.87, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 1209.88, "stage": "drag", "max_err_rad": 0.211}, {"t": 1319.33, "stage": "penetrate", "max_err_rad": 0.123}, {"t": 1323.35, "stage": "drag", "max_err_rad": 0.211}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 285.6, "pit_left_t": 78.3, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0]], "dozer": {"passes": 21, "push_m": 112.09, "work_MJ": 0.99, "load_lifts": 4, "lifts_raised": 1, "parked_s": 1075.62, "working_s": 424.4, "peak_kN": 56.86, "slip_s": 0.02, "futile_passes": 4, "mean_push_kN": [12.1, 5.3, 8.0, 8.0, 12.3, 3.4, 0.0, 9.0, 4.7, 6.6, 15.0, 2.5, 0.3, 7.8, 6.9, 7.2, 4.7, 1.8, 13.7, 0.6, 10.6]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 55.8, "rms_from_grade_m": 0.141, "max_above_grade_m": 0.43, "at_grade_fraction": 0.57, "unspread_m3": 0.66}} diff --git a/phase2/logs/haul_bench_pwri_soil_long_loam_1carrier.json b/phase2/logs/haul_bench_pwri_soil_long_loam_1carrier.json new file mode 100644 index 0000000..744f3f0 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_soil_long_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.428, "loads": [{"carrier": 0, "departed_s": 176.1, "load_kg": 10545, "loading_s": 176.1, "passes": 8}, {"carrier": 0, "departed_s": 364.7, "load_kg": 10864, "loading_s": 131.9, "passes": 7}, {"carrier": 0, "departed_s": 557.7, "load_kg": 10802, "loading_s": 135.8, "passes": 7}, {"carrier": 0, "departed_s": 795.6, "load_kg": 10095, "loading_s": 180.9, "passes": 9}, {"carrier": 0, "departed_s": 1022.9, "load_kg": 11011, "loading_s": 169.7, "passes": 8}, {"carrier": 0, "departed_s": 1239.7, "load_kg": 11002, "loading_s": 159.0, "passes": 8}, {"carrier": 0, "departed_s": 1419.1, "load_kg": 3671, "loading_s": 121.4, "passes": 6}], "trips": [{"depart_t": 176.07, "stages": {"loading": 176.07, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.05, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 295, "away_s": 56.73}, {"depart_t": 364.75, "stages": {"loading": 131.95, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.62, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 270, "away_s": 57.17}, {"depart_t": 557.7, "stages": {"loading": 135.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.42, "lower": 5.0, "return": 5.13, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 206, "away_s": 57.0}, {"depart_t": 795.57, "stages": {"loading": 180.87, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.3, "lower": 5.0, "return": 4.92, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 396, "away_s": 57.66}, {"depart_t": 1022.92, "stages": {"loading": 169.68, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.45, "lower": 5.0, "return": 4.88, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 228, "away_s": 57.78}, {"depart_t": 1239.73, "stages": {"loading": 159.03, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.63, "lower": 5.0, "return": 4.83, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 228, "away_s": 57.92}, {"depart_t": 1419.07, "stages": {"loading": 121.42, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.05, "lower": 5.0, "return": 4.73, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 166, "away_s": 58.23}], "delivered_t": 66.2, "loaded_t": 68.0, "loaded_t_per_hour": 163.2, "mean_departure_interval_s": 207.2, "t_per_hour": 158.9, "mean_load_kg": 9713.0, "mean_loading_s": 153.5, "carry_back_kg": [295, 270, 206, 396, 228, 228, 166], "mean_away_s": 57.5, "excavator_wait_s": 272.3, "passes": 59, "spoil_settled_t": 61.49, "lost_particles": 1861, "pool_short": 3, "skipped": [{"t": 101.02, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 105.03, "stage": "drag", "max_err_rad": 0.135}, {"t": 961.37, "stage": "penetrate", "max_err_rad": 0.13}, {"t": 965.38, "stage": "drag", "max_err_rad": 0.194}, {"t": 969.4, "stage": "drag-curl", "max_err_rad": 0.308}, {"t": 1251.45, "stage": "penetrate", "max_err_rad": 0.122}, {"t": 1255.47, "stage": "drag", "max_err_rad": 0.206}, {"t": 1337.7, "stage": "penetrate", "max_err_rad": 0.122}, {"t": 1341.72, "stage": "drag", "max_err_rad": 0.234}, {"t": 1345.73, "stage": "drag-curl", "max_err_rad": 0.322}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 402.5, "pit_left_t": 102.4, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [20.0, 0.0]], "dozer": {"passes": 27, "push_m": 169.26, "work_MJ": 2.25, "load_lifts": 38, "lifts_raised": 2, "parked_s": 901.48, "working_s": 598.53, "peak_kN": 84.27, "slip_s": 1.62, "futile_passes": 7, "mean_push_kN": [20.4, 10.8, 12.9, 19.3, 19.3, 18.8, 13.5, 3.6, 21.2, 14.3, 9.1, 1.1, 5.3, 13.7, 16.5, 22.4, 5.3, 21.9, 15.4, 7.9, 2.6, 2.9, 1.0, 0.7, 1.3, 11.0, 3.9]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 53.9, "rms_from_grade_m": 0.447, "max_above_grade_m": 1.6, "at_grade_fraction": 0.26, "unspread_m3": 4.43}} diff --git a/phase2/ros_server.py b/phase2/ros_server.py index 725012a..d9d9032 100644 --- a/phase2/ros_server.py +++ b/phase2/ros_server.py @@ -155,7 +155,7 @@ async def run(self): async def main_async(args): - sim = ex.ExcavatorSim(soil=args.soil, carriers=args.carriers) + sim = ex.ExcavatorSim(soil=args.soil, carriers=args.carriers, command_response=args.command_response) sim.auto = args.autopilot server = Server(sim, sensors.SensorRig(sim), fast=args.fast) srv = await asyncio.start_server(server.handle, args.host, args.port) @@ -172,6 +172,7 @@ def main(): ap.add_argument("--carriers", type=int, default=1, choices=(1, 2), help="crawler carriers in the haul cycle") ap.add_argument("--autopilot", action="store_true", help="start with the built-in operator driving") ap.add_argument("--fast", action="store_true", help="run as fast as possible instead of in real time") + ap.add_argument("--command-response", action="store_true", help="levers reach the spools with the measured ZX200 dead time and lag (hydraulics.COMMAND_DEAD)") asyncio.run(main_async(ap.parse_args())) From 45f2f91e645c73aed9afe940ff8917e9d944e22a Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Thu, 5 Nov 2026 18:42:13 +0100 Subject: [PATCH 2/7] Bucket calibrated against PWRI's step tests; moment-arm floor smoothed PWRI's constant-pilot bucket steps show how speed changes with angle, and the model's four-bar follows that curve when PWRI's bucket angle is read as the URDF angle + 0.622 rad (provisional, not confirmed by PWRI). With that reading the bucket takes 332 / 315 L/min to curl / dump, within 1 % of the measured speeds (Abe et al., ISARC 2025, doi:10.22260/ISARC2025/0054). Speed commands now ease onto the 5 cm moment-arm floor instead of jumping at it. Co-Authored-By: Claude Opus 5.5 --- phase2/RESULTS.md | 30 +++++++++++++++++++++++++++--- phase2/excavator_server.py | 3 +-- phase2/hydraulics.py | 19 ++++++++++++++++--- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/phase2/RESULTS.md b/phase2/RESULTS.md index c07cf89..8bda62d 100644 --- a/phase2/RESULTS.md +++ b/phase2/RESULTS.md @@ -1416,7 +1416,8 @@ The joint angles and speeds are the reliable part of the recordings. The pressur | House inertia about the swing axis | about 60 t·m² in total, boom raised and arm in (mesh shells) | about 112 t·m² (house Izz +52.8 t·m²) | acceleration and braking at that torque (**provisional**, scales with the relief) | | Boom flow, raise / lower | 388 / 388 L/min | 375 / 270 L/min | joint speed per direction | | Arm flow, crowd / out | 388 / 388 L/min | 495 / 265 L/min (crowd regenerates rod oil, so it exceeds the pumps) | joint speed per direction | -| Bucket flow | 194 L/min | unchanged | see below | +| Bucket flow, curl / dump | 194 / 194 L/min | 332 / 315 L/min | joint speed per direction, with PWRI's bucket angle read as ours + 0.622 rad (**provisional**, see below) | +| Moment-arm floor for speed commands | a hard 5 cm floor: joint speed jumps where dL/dq crosses it | eases onto 5 cm, (J⁴ + J_min⁴)^¼: no kink, within 1.5 % of J above 10 cm | boom and bucket near their stroke ends | | Command response | none | optional: dead time 0.30 s swing (+0.30 s from rest), 0.42 / 0.62 s boom up / down, 0.55 / 0.45 s arm crowd / out, 0.33 s bucket; 0.15 s lag | delay to 10 % speed | | Port relief | 39.2 MPa | unchanged | the boom's head side spikes to the 41 MPa sensor limit for about 0.05 s when a lowering boom stops: overshoot, not a setting | @@ -1433,11 +1434,33 @@ The command response is off by default (`ExcavatorSim(command_response=True)`, ` | Boom down | within 4 % | +43 % | within 0.03 s | | Arm crowd | within 1 % | −17 % | within 0.03 s | | Arm out | within 1 % | +46 % | within 0.03 s | -| Bucket curl / dump | −31 % / −6 % | not comparable (see below) | within 0.03 s | +| Bucket curl / dump | within 1 % / within 1 % (**provisional** angle reading) | −31 % / −6 % (angle read as ours, 194 L/min) | within 0.03 s | Swing details, model now against measured: acceleration within 4 %, braking within 3 %, 90° from the command 0.13 s sooner, stopping angle 4° longer. Before, the house accelerated twice as hard, braked 1.4 times as hard, and reached 90° 1.4 s sooner. -**The bucket isn't matched yet.** Near the ends of the four-bar's stroke the model's bucket speed jumps (the 5 cm floor on the moment arm), so its speed over a full step isn't comparable with the machine's. The bucket keeps one pump each way until its linkage near the stroke ends is fixed. +**The bucket: its angle and its moment arm (provisional).** In PWRI's ±0.3 rad/s bucket steps the pilot pressure stays constant over the whole sweep, so the valve opening and the flow are fixed. The bucket's speed then changes with angle only through the four-bar's moment arm dL/dq, and curl and dump give the same curve. With PWRI's bucket angle read as our URDF angle, the model can't follow that curve. Toward curl the machine's moment arm falls to 46 % of its peak at 1.92 rad; the model's falls to 8 %, close to toggle. + +- **Read as ours + 0.622 rad,** the model's own geometry follows the curve to about 10 % rms over 0.1–1.9 rad. Fitting the offset to the curve alone gives 0.585–0.625 rad. The lowest bucket angle in every PWRI run (0.007) then falls on the URDF's dump limit (−0.622). +- **Moving pins instead** would put the bucket's link pin 0.31 m off its boss in the mesh, and the digging force would drop to about 120 kN against the published 151–158 kN. + +So the geometry stays, and the comparison reads PWRI's bucket angle as ours + 0.622 rad (`hydraulics.PWRI_BUCKET_OFFSET`). PWRI hasn't confirmed this convention yet. One check disagrees: in free air the bucket cylinder's force (from the unverified pressure channels) changes sign at about 1.15 rad of PWRI's angle, while the URDF bucket's centre of mass passes under its pin at 0.98 rad of ours (1.6 rad of theirs). The URDF masses aren't verified either. + +With that reading, the bucket takes 332 L/min to curl and 315 L/min to dump. Both are well above PWRI's bucket flow channels (about 230 and 215 L/min, indicative), so through the measured range the model's moment arm may be about a quarter too long. Full-command steps against the machine: + +| | Curl | Dump | +|---|---|---| +| Speed over the last 40 % of the step | −0.6 % | +0.6 % | +| Peak speed | +6 % | +18 % | +| Travel during the step | −2 % | +15 % | +| Delay to 10 % | within 0.03 s | within 0.03 s | + +The model's dump reaches speed sooner than the machine's and peaks higher, so it travels further in the 1.2 s step. The ±0.3 rad/s bucket steps aren't compared: there the real controller holds the speed, which the open-loop lever can't reproduce. Boom, arm and swing came out as before. The house inertia in the swing test changed by about 2 % because the bucket now starts more open. + +Benchmarks after the bucket change (default settings), against the "Now" column below: +- Trench (`bench_trench.py 8`), passes 1–6: 15.7–22.2 s, mean 17.7 s, unchanged. Pass 5 timed out one stage. +- 130 s cycle (`bench_zone.py 130`): 7 passes, 7.6 t (7.8 t before), within the spread between runs. +- `test_env.py` passes. +- The 1500 s haul benches weren't re-run. **Benchmarks** (default settings: the command response off): @@ -1462,3 +1485,4 @@ Haul logs: `logs/haul_bench_fill_long__1carrier.json` (before) and `logs/h - The swing relief, and so the absolute inertia, depend on unverified pressure channels and on the 2.27 L/rad displacement derived from the spec sheet. The speeds and the ratio of torque to inertia come from joint data alone. - The real swing's pressure falls as the house speeds up, while its acceleration stays nearly constant. The model accelerates at the relief torque. This doesn't affect the times above but would show in the pressures. - Nothing here checks digging forces: the tests are in free air. +- The bucket flows rest on reading PWRI's bucket angle as ours + 0.622 rad, which PWRI hasn't confirmed. If the reading is wrong, the four-bar's geometry is wrong instead, and so is the bucket's digging force. diff --git a/phase2/excavator_server.py b/phase2/excavator_server.py index 1d8774e..938c940 100644 --- a/phase2/excavator_server.py +++ b/phase2/excavator_server.py @@ -1361,8 +1361,7 @@ def _hydraulics(self): spool = self._respond(spool) self.spool = spool omega, v_cyl = hyd.speeds(spool, self.cyl_J) # swing and cylinders share the pumps - J = np.where(np.abs(self.cyl_J) < hyd.J_MIN, np.copysign(hyd.J_MIN, self.cyl_J), self.cyl_J) - v_cmd = np.concatenate([[omega], v_cyl / J]) + v_cmd = np.concatenate([[omega], v_cyl / hyd.speed_arm(self.cyl_J)]) lo, hi = hyd.torque_limits(self.cyl_J, hyd.P_RELIEF * self.relief, spool[1:]) tau = SWING_TAU * self.relief self.v_cmd.assign(v_cmd.astype(np.float32)) diff --git a/phase2/hydraulics.py b/phase2/hydraulics.py index 20b637c..a154d54 100644 --- a/phase2/hydraulics.py +++ b/phase2/hydraulics.py @@ -62,12 +62,18 @@ # name: joint index, cylinders, bore, rod, max spool flow (m3/s) (head side, rod side), head pin (link, x, z), # rod pin (link, x, z). Boom and arm flows give the joint speeds PWRI measured in each direction at full command # (1800 min^-1, eco; ISARC 2025 above); their flow channels, read as indicative, agree for the arm. The bucket -# keeps one pump each way: its measured speeds aren't matched yet (the four-bar's speed near its stroke ends). +# flows match its curl and dump speeds with PWRI's bucket angle read as PWRI_BUCKET_OFFSET + ours (provisional); +# they are well above its flow channels (about 230 / 215 L/min), so the four-bar's moment arm may be too long. CYLINDERS = { "boom": (1, 2, 0.120, 0.085, (375 * LPM, 270 * LPM), ("house", 0.686, 0.247), ("boom", 1.776, 2.249)), # raise, lower "arm": (2, 1, 0.135, 0.095, (495 * LPM, 265 * LPM), ("boom", 2.276, 2.789), ("stick", -0.778, -0.367)), # crowd, out - "bucket": (3, 1, 0.115, 0.080, (PUMP_FLOW / 2, PUMP_FLOW / 2), ("stick", -0.248, 0.733), None), # rod end: linkage pin C + "bucket": (3, 1, 0.115, 0.080, (332 * LPM, 315 * LPM), ("stick", -0.248, 0.733), None), # curl, dump; rod end: linkage pin C } +# rad: PWRI's bucket angle less the URDF bucket angle. Their angle reads 0.007 at the dump end of every run and +# is 0.62 more than ours wherever the model's four-bar matches the speed-vs-angle shape of their constant-pilot +# steps (with no offset the model's moment arm collapses toward curl while the machine's doesn't). Not confirmed +# by PWRI yet (provisional); the free-air pressures, also unverified, put the bucket's balance point elsewhere +PWRI_BUCKET_OFFSET = 0.622 # command -> spool response of PWRI's ZX200 under its automation controller (velocity commands), for a # simulator driven the same way: dead time (s) per joint for (+, -) joint direction, a first-order lag (s) on @@ -149,7 +155,14 @@ def torque_limits(J, p_relief, spool=(0.0, 0.0, 0.0), p_port=P_PORT): return lo, hi -J_MIN = 0.05 # m/rad: moment arm floor for speed commands near a stroke end (the boom nears toggle there) +J_MIN = 0.05 # m/rad: moment arm floor for speed commands near a stroke end (boom and bucket near toggle there) + + +def speed_arm(J): + """Moment arm dL/dq used to turn cylinder speed into joint speed: J itself away from the stroke ends, easing + onto the J_MIN floor near toggle without a kink, so joint speed stays smooth (within 1.5 % of J above + 2 J_MIN, 0.3 % above 3 J_MIN).""" + return np.copysign((np.abs(J) ** 4 + J_MIN**4) ** 0.25, J) def speeds(spool, J): From cce07875e4b9709a0d9dd557bf2613e76d05cd9e Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Thu, 5 Nov 2026 20:58:16 +0100 Subject: [PATCH 3/7] Haul benches re-run with the calibrated bucket Faster curl trims every cycle; sand and loam fill better per pass, clay worse. Co-Authored-By: Claude Opus 5.5 --- phase2/RESULTS.md | 5 ++++- phase2/logs/haul_bench_pwri_bucket_long_clay_1carrier.json | 1 + .../logs/haul_bench_pwri_bucket_long_dry-sand_1carrier.json | 1 + phase2/logs/haul_bench_pwri_bucket_long_loam_1carrier.json | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 phase2/logs/haul_bench_pwri_bucket_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_bucket_long_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_bucket_long_loam_1carrier.json diff --git a/phase2/RESULTS.md b/phase2/RESULTS.md index 8bda62d..0cc6aae 100644 --- a/phase2/RESULTS.md +++ b/phase2/RESULTS.md @@ -1460,7 +1460,10 @@ Benchmarks after the bucket change (default settings), against the "Now" column - Trench (`bench_trench.py 8`), passes 1–6: 15.7–22.2 s, mean 17.7 s, unchanged. Pass 5 timed out one stage. - 130 s cycle (`bench_zone.py 130`): 7 passes, 7.6 t (7.8 t before), within the spread between runs. - `test_env.py` passes. -- The 1500 s haul benches weren't re-run. +- 1500 s haul benches (one carrier; before → now): dry sand 20.6 → 20.3 s per pass, 1.27 → 1.55 t per pass, 149 → 168 t/h loaded; + loam 20.3 → 19.7 s, 1.28 → 1.50 t, 163 → 166 t/h; clay 21.1 → 20.5 s, 0.81 → 0.69 t, 119 → 104 t/h. Stages skipped 7/10/12 → 13/5/13. + Cycles are slightly faster everywhere; the faster curl fills sand and loam better but clay worse, and the skip counts move both + ways, so these single runs show the trend, not a settled figure. Logs: `logs/haul_bench_pwri_bucket_long__1carrier.json`. **Benchmarks** (default settings: the command response off): diff --git a/phase2/logs/haul_bench_pwri_bucket_long_clay_1carrier.json b/phase2/logs/haul_bench_pwri_bucket_long_clay_1carrier.json new file mode 100644 index 0000000..dab8804 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_bucket_long_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.189, "loads": [{"carrier": 0, "departed_s": 251.7, "load_kg": 11572, "loading_s": 251.7, "passes": 12}, {"carrier": 0, "departed_s": 643.1, "load_kg": 11015, "loading_s": 332.9, "passes": 16}, {"carrier": 0, "departed_s": 1028.7, "load_kg": 11258, "loading_s": 326.3, "passes": 16}, {"carrier": 0, "departed_s": 1465.3, "load_kg": 9703, "loading_s": 377.9, "passes": 19}], "trips": [{"depart_t": 251.68, "stages": {"loading": 251.68, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.43, "lower": 5.0, "return": 4.62, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 306, "away_s": 58.5}, {"depart_t": 643.07, "stages": {"loading": 332.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.55, "lower": 5.0, "return": 4.32, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 262, "away_s": 59.31}, {"depart_t": 1028.68, "stages": {"loading": 326.3, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.68, "lower": 5.0, "return": 4.55, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 333, "away_s": 58.69}], "delivered_t": 42.39, "loaded_t": 43.55, "loaded_t_per_hour": 104.5, "mean_departure_interval_s": 404.5, "t_per_hour": 101.7, "mean_load_kg": 10887.0, "mean_loading_s": 322.2, "carry_back_kg": [306, 262, 333], "mean_away_s": 58.8, "excavator_wait_s": 170.7, "passes": 67, "spoil_settled_t": 42.67, "lost_particles": 1884, "pool_short": 0, "skipped": [{"t": 83.1, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 87.12, "stage": "drag", "max_err_rad": 0.137}, {"t": 540.28, "stage": "swing back", "max_err_rad": 0.127}, {"t": 833.5, "stage": "penetrate", "max_err_rad": 0.186}, {"t": 837.52, "stage": "drag", "max_err_rad": 0.211}, {"t": 841.53, "stage": "drag-curl", "max_err_rad": 0.229}, {"t": 1175.12, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 1179.13, "stage": "drag", "max_err_rad": 0.13}, {"t": 1349.62, "stage": "swing back", "max_err_rad": 0.0}, {"t": 1353.63, "stage": "approach", "max_err_rad": 1.642}, {"t": 1360.82, "stage": "curl", "max_err_rad": 0.243}, {"t": 1364.83, "stage": "swing to truck", "max_err_rad": 0.573}, {"t": 1378.28, "stage": "swing back", "max_err_rad": 0.001}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 211.3, "pit_left_t": 127.6, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-40.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0]], "dozer": {"passes": 10, "push_m": 79.49, "work_MJ": 1.86, "load_lifts": 47, "lifts_raised": 1, "parked_s": 1206.82, "working_s": 293.2, "peak_kN": 74.72, "slip_s": 1.92, "futile_passes": 1, "mean_push_kN": [18.0, 25.3, 19.3, 18.8, 21.1, 23.1, 21.4, 25.1, 28.5, 26.6]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 39.3, "rms_from_grade_m": 0.569, "max_above_grade_m": 2.65, "at_grade_fraction": 0.29, "unspread_m3": 7.31}} diff --git a/phase2/logs/haul_bench_pwri_bucket_long_dry-sand_1carrier.json b/phase2/logs/haul_bench_pwri_bucket_long_dry-sand_1carrier.json new file mode 100644 index 0000000..cf2cdda --- /dev/null +++ b/phase2/logs/haul_bench_pwri_bucket_long_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.187, "loads": [{"carrier": 0, "departed_s": 172.6, "load_kg": 9364, "loading_s": 172.6, "passes": 8}, {"carrier": 0, "departed_s": 322.1, "load_kg": 9947, "loading_s": 92.8, "passes": 5}, {"carrier": 0, "departed_s": 474.4, "load_kg": 9580, "loading_s": 95.6, "passes": 5}, {"carrier": 0, "departed_s": 648.9, "load_kg": 10433, "loading_s": 117.7, "passes": 6}, {"carrier": 0, "departed_s": 825.7, "load_kg": 10513, "loading_s": 119.4, "passes": 6}, {"carrier": 0, "departed_s": 1077.7, "load_kg": 10795, "loading_s": 194.4, "passes": 9}], "trips": [{"depart_t": 172.63, "stages": {"loading": 172.63, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 179, "away_s": 56.72}, {"depart_t": 322.12, "stages": {"loading": 92.77, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 119, "away_s": 56.71}, {"depart_t": 474.45, "stages": {"loading": 95.62, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 205, "away_s": 56.72}, {"depart_t": 648.9, "stages": {"loading": 117.73, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.97, "lower": 5.0, "return": 5.0, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 340, "away_s": 57.42}, {"depart_t": 825.7, "stages": {"loading": 119.38, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.17, "lower": 5.0, "return": 4.95, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 367, "away_s": 57.57}, {"depart_t": 1077.72, "stages": {"loading": 194.45, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.15, "lower": 5.0, "return": 4.97, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 369, "away_s": 57.56}], "delivered_t": 59.05, "loaded_t": 70.01, "loaded_t_per_hour": 168.0, "mean_departure_interval_s": 181.0, "t_per_hour": 141.7, "mean_load_kg": 10105.0, "mean_loading_s": 132.1, "carry_back_kg": [179, 119, 205, 340, 367, 369], "mean_away_s": 57.1, "excavator_wait_s": 286.4, "passes": 63, "spoil_settled_t": 58.84, "lost_particles": 5636, "pool_short": 463, "skipped": [{"t": 137.02, "stage": "swing back", "max_err_rad": 0.064}, {"t": 141.03, "stage": "approach", "max_err_rad": 1.246}, {"t": 145.05, "stage": "penetrate", "max_err_rad": 1.242}, {"t": 149.07, "stage": "drag", "max_err_rad": 1.235}, {"t": 153.08, "stage": "drag-curl", "max_err_rad": 1.218}, {"t": 157.1, "stage": "curl", "max_err_rad": 1.174}, {"t": 167.33, "stage": "swing to truck", "max_err_rad": 0.395}, {"t": 1037.12, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 1041.13, "stage": "drag", "max_err_rad": 0.236}, {"t": 1045.15, "stage": "drag-curl", "max_err_rad": 0.311}, {"t": 1428.7, "stage": "penetrate", "max_err_rad": 0.127}, {"t": 1432.72, "stage": "drag", "max_err_rad": 0.236}, {"t": 1436.73, "stage": "drag-curl", "max_err_rad": 0.311}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 342.7, "pit_left_t": 75.2, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0]], "dozer": {"passes": 25, "push_m": 113.43, "work_MJ": 0.9, "load_lifts": 5, "lifts_raised": 2, "parked_s": 1032.08, "working_s": 467.93, "peak_kN": 57.02, "slip_s": 0.02, "futile_passes": 7, "mean_push_kN": [10.0, 3.8, 7.3, 7.6, 12.0, 2.9, 0.1, 7.7, 3.7, 5.5, 14.3, 0.7, 7.1, 6.6, 6.6, 16.0, 0.6, 9.9, 3.3, 3.0, 0.4, 0.6, 0.3, 0.1, 0.2]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 54.2, "rms_from_grade_m": 0.345, "max_above_grade_m": 0.44, "at_grade_fraction": 0.24, "unspread_m3": 1.19}} diff --git a/phase2/logs/haul_bench_pwri_bucket_long_loam_1carrier.json b/phase2/logs/haul_bench_pwri_bucket_long_loam_1carrier.json new file mode 100644 index 0000000..fd09815 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_bucket_long_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.189, "loads": [{"carrier": 0, "departed_s": 153.0, "load_kg": 10306, "loading_s": 153.0, "passes": 7}, {"carrier": 0, "departed_s": 346.6, "load_kg": 10233, "loading_s": 136.6, "passes": 7}, {"carrier": 0, "departed_s": 570.4, "load_kg": 10533, "loading_s": 166.7, "passes": 8}, {"carrier": 0, "departed_s": 759.9, "load_kg": 10995, "loading_s": 132.5, "passes": 7}, {"carrier": 0, "departed_s": 932.9, "load_kg": 10413, "loading_s": 115.2, "passes": 6}, {"carrier": 0, "departed_s": 1114.3, "load_kg": 10267, "loading_s": 123.4, "passes": 6}, {"carrier": 0, "departed_s": 1249.9, "load_kg": 6481, "loading_s": 77.5, "passes": 5}], "trips": [{"depart_t": 153.02, "stages": {"loading": 153.02, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.35, "lower": 5.0, "return": 5.15, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 311, "away_s": 56.95}, {"depart_t": 346.55, "stages": {"loading": 136.58, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.57, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 224, "away_s": 57.12}, {"depart_t": 570.37, "stages": {"loading": 166.7, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.5, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 410, "away_s": 57.06}, {"depart_t": 759.92, "stages": {"loading": 132.48, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.45, "lower": 5.0, "return": 4.88, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 261, "away_s": 57.78}, {"depart_t": 932.87, "stages": {"loading": 115.17, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.75, "lower": 5.0, "return": 4.8, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 148, "away_s": 58.0}, {"depart_t": 1114.32, "stages": {"loading": 123.45, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.8, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 264, "away_s": 58.03}, {"depart_t": 1249.88, "stages": {"loading": 77.53, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.73, "lower": 5.0, "return": 4.53, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 32, "away_s": 58.72}], "delivered_t": 67.58, "loaded_t": 69.23, "loaded_t_per_hour": 166.1, "mean_departure_interval_s": 182.8, "t_per_hour": 162.2, "mean_load_kg": 9890.0, "mean_loading_s": 129.3, "carry_back_kg": [311, 224, 410, 261, 148, 264, 32], "mean_away_s": 57.7, "excavator_wait_s": 285.6, "passes": 52, "spoil_settled_t": 66.54, "lost_particles": 2382, "pool_short": 0, "skipped": [{"t": 98.23, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 102.25, "stage": "drag", "max_err_rad": 0.137}, {"t": 508.23, "stage": "penetrate", "max_err_rad": 0.232}, {"t": 512.25, "stage": "drag", "max_err_rad": 0.249}, {"t": 516.27, "stage": "drag-curl", "max_err_rad": 0.196}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 403.7, "pit_left_t": 89.2, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0]], "dozer": {"passes": 29, "push_m": 168.61, "work_MJ": 2.16, "load_lifts": 54, "lifts_raised": 2, "parked_s": 863.23, "working_s": 636.78, "peak_kN": 87.25, "slip_s": 2.02, "futile_passes": 10, "mean_push_kN": [21.7, 14.9, 21.0, 7.1, 17.1, 12.0, 4.4, 19.2, 23.5, 9.0, 6.4, 10.5, 13.4, 10.4, 22.9, 4.1, 21.0, 14.0, 5.1, 1.4, 3.1, 0.9, 0.9, 21.5, 5.8, 2.4, 1.9, 1.5, 0.8]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 54.0, "rms_from_grade_m": 0.385, "max_above_grade_m": 1.31, "at_grade_fraction": 0.33, "unspread_m3": 2.65}} From 3371b1cd0c7e8d8b7ba43b0548ddb3841f54cf72 Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Thu, 5 Nov 2026 23:35:07 +0100 Subject: [PATCH 4/7] Autopilot: curl gain not learned from slab tears; poor strips set aside at once A curl that loses more than a quarter of the load tore out a slab and is no longer learned from: one such curl in clay pulled the learned gain to 18 kg, and curling only an overfull bucket tore out more slabs. A poor strip is now set aside when the bucket reaches the carrier, before the next strip is planned, not one pass late. bench_haul.py logs every pass and can stop after PASSES=N passes. The 25-pass check against main doesn't show a gain yet: loam dumped 19 % less per pass, clay 5 % less (RESULTS.md). Co-Authored-By: Claude Opus 5.5 --- phase2/RESULTS.md | 27 ++++++++++ phase2/bench_haul.py | 54 +++++++++++++++++-- phase2/excavator_server.py | 40 ++++++++++---- .../logs/haul_quick25_fix_clay_1carrier.json | 1 + .../haul_quick25_fix_dry-sand_1carrier.json | 1 + .../logs/haul_quick25_fix_loam_1carrier.json | 1 + .../logs/haul_quick25_main_clay_1carrier.json | 1 + .../haul_quick25_main_dry-sand_1carrier.json | 1 + .../logs/haul_quick25_main_loam_1carrier.json | 1 + 9 files changed, 113 insertions(+), 14 deletions(-) create mode 100644 phase2/logs/haul_quick25_fix_clay_1carrier.json create mode 100644 phase2/logs/haul_quick25_fix_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_quick25_fix_loam_1carrier.json create mode 100644 phase2/logs/haul_quick25_main_clay_1carrier.json create mode 100644 phase2/logs/haul_quick25_main_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_quick25_main_loam_1carrier.json diff --git a/phase2/RESULTS.md b/phase2/RESULTS.md index 0cc6aae..04906e3 100644 --- a/phase2/RESULTS.md +++ b/phase2/RESULTS.md @@ -1483,6 +1483,33 @@ Haul logs: `logs/haul_bench_fill_long__1carrier.json` (before) and `logs/h - **Clay passes come up light:** 0.81 t against the handbooks' 0.92–1.04 t and 0.93 t before. Loam moved from 5 % over its range to inside it (1.0–1.4 t). - **Clay and the face planner.** With the new hydraulics and the old planner, clay fell to 0.71 t a pass and one load took 25 passes. Per-pass traces showed no steady difference in what the bucket held at the start of the swing. The planner kept choosing one strip whose cut took slabs the bucket lost on the way out, at about 0.43 t a pass for some 30 passes. It brought back more than 30 % of a bucket at the start of the swing, so the planner never set it aside. Now, in clay, a pass that carries less than half a bucket to the carrier also sets its strip aside (`POOR_CARRIED`), and in every soil, strips set aside are taken again only when no other strip has a cut worth taking. That brought clay to 0.81 t and the longest load to 16 passes. The half-bucket rule hurt dry sand (1.11 t a pass): what spills on the swing there is no sign of a poor strip, so it applies to clay only. The remaining gap in clay is open. +**Autopilot changes after the bucket calibration.** Two changes for clay, which loaded less with the new hydraulics: + +- **The curl gain isn't learned from a slab tear.** The operator learns how much the curl adds and curls that much short of a full bucket. In one 1500 s clay run, one curl lost 842 of 882 kg, and that single sample pulled the learned gain down. It ended at 18 kg, against 357 kg on the old hydraulics. So the bucket was curled only once overfull, and that tore out more slabs (11 against 6). A curl losing more than a quarter of the load (`CURL_TEAR`) is now counted (`curl_tears`) and not learned from. In that run the gain then stayed at 410–430 kg, and clay went from 0.81 to 0.85 t a pass. +- **A poor strip is set aside at the carrier** (`_rest_if_poor`), not at the next approach. The next pass's strip is planned as the bucket swings back, so a poor strip used to be dug once more before its rest began. A log of the planner over 40 clay passes shows each poor strip set aside at once, and none taken again as a fallback. + +`bench_haul.py` now logs every pass (`pass_log`: strip, most held while digging, at the swing, carried, left after the dump) and stops after `PASSES=N` passes for a quick check. + +25-pass check against `main` (one run each, about 600 s; kg per pass, since t/h over 25 passes depends on where each run stops in a load): + +| | Carried to the carrier | Dumped | Thin passes (under half a bucket at the swing) | +|---|---|---|---| +| Dry sand: main / with the changes | 1336 / 1332 kg | 1331 / 1329 kg | 1 / 1 | +| Loam | 1220 / 1010 kg | 1116 / **906** kg | 3 / 6 | +| Clay | 1180 / 1107 kg | 1025 / 973 kg | 2 / 3 | + +The check doesn't show the changes helping: + +- **Loam** dumped 19 % less with them. Two of its curls counted as tears, and its learned gain fell to −69 kg. +- **Clay** dumped 5 % less, which is within the run-to-run spread. +- **The collapse they guard against hadn't happened yet** on `main`: clay's learned gain was still 60 kg after 25 passes. + +Whether the tear rule suits loam, and whether either change helps over a long shift, needs several runs per soil. + +**Open: the clay strip 20° left.** The planner expects 0.8–1.2 m³ in that strip, but its passes bring out 3–59 kg. When its rest ends it is chosen again, and it fails again. Most thin clay passes come from it. + +Logs: `logs/haul_quick25___1carrier.json`. + **Limits:** - Every value is for 1800 min⁻¹ in eco mode. At full power the pumps deliver more: the spec swing speed is 19 % higher. - The swing relief, and so the absolute inertia, depend on unverified pressure channels and on the 2.27 L/rad displacement derived from the spec sheet. The speeds and the ratio of torque to inertia come from joint data alone. diff --git a/phase2/bench_haul.py b/phase2/bench_haul.py index b420cb0..6a65ee3 100644 --- a/phase2/bench_haul.py +++ b/phase2/bench_haul.py @@ -2,11 +2,17 @@ dumps it and comes back, for N simulated seconds. Reports what a site engineer would look at: loads, load mass, passes per load, loading time, the carrier's time away and its stages, the excavator's waiting time, and tonnes per hour delivered; the dozer's passes, blade forces and how flat it left the spread layer, and -how long the carrier waited for it; plus the real-time factor. +how long the carrier waited for it; plus the real-time factor. Each pass is logged too (`pass_log`): its strip, +the most the bucket held while digging, what it held at the swing, what it carried to the carrier and what it +left after the dump, so one run shows where a soil's loads go. + +A quick check stops after a number of passes instead (PASSES=25 is about 500 s): enough to compare two +versions of the autopilot pass by pass, in a quarter of the time. Progress goes to stderr every 100 s. ../phase0/.venv-newton/bin/python bench_haul.py 600 # dry sand SOIL=loam ../phase0/.venv-newton/bin/python bench_haul.py 600 SOIL=loam CARRIERS=2 ../phase0/.venv-newton/bin/python bench_haul.py 600 # two carriers sharing the road + SOIL=clay PASSES=25 ../phase0/.venv-newton/bin/python bench_haul.py 1500 # quick check: the first 25 passes """ import json @@ -21,6 +27,7 @@ secs = float(sys.argv[1]) if len(sys.argv) > 1 else 600.0 soil = os.environ.get("SOIL", ex.soils.DEFAULT_SOIL) n_carriers = int(os.environ.get("CARRIERS", "1")) +max_passes = int(os.environ.get("PASSES", "0")) or None sim = ex.ExcavatorSim(soil=soil, carriers=n_carriers) sim.auto = True fleet = sim.fleet @@ -28,8 +35,36 @@ t0 = time.perf_counter() prev = {c.index: c.stage for c in fleet} idle_spot = 0.0 -while sim.sim_time < secs: +pass_log, cur, prev_stage, next_report = [], None, None, 100.0 +DIG = ("penetrate", "drag", "drag-curl", "curl") +while sim.sim_time < secs and (max_passes is None or sim.passes < max_passes): sim.step() + if sim.stage_name != prev_stage: + st, fill = sim.stage_name, round(sim._bucket_fill()) + if st == "approach" and cur is not None: + pass_log.append(cur) + cur = None + if cur is None: + n = sim.passes + (st == "approach") # the count goes up as the approach ends + f = sim._faces.get(n) if sim.adaptive_face else None + cur = {"pass": n, "t": round(sim.sim_time, 1), "face": None if f is None else [f["psi"], f["shift"], round(f["avail_m3"], 2)], + "dig_max_kg": 0, "early_curl": False, "skips": len(sim.skipped)} + if prev_stage in DIG: + cur["dig_max_kg"] = max(cur["dig_max_kg"], fill) + if st == "curl" and prev_stage not in ("drag-curl", "curl"): + cur["early_curl"] = True # curled before the planned curl point (the load was there) + if st == "swing to truck": + cur["at_swing_kg"] = fill + elif st == "dump": + cur["carried_kg"] = fill + elif st == "swing back": + cur["left_kg"] = fill + prev_stage = st + if cur is not None and prev_stage in DIG: + cur["dig_max_kg"] = max(cur["dig_max_kg"], round(sim.auto_fill)) + if sim.sim_time >= next_report: + print(f"{sim.sim_time:.0f} s: {sim.passes} passes, {sum(x['load_kg'] for x in loads) / 1000:.1f} t in {len(loads)} loads", file=sys.stderr, flush=True) + next_report += 100.0 if fleet.at_spot is None: idle_spot += sim.frame_dt # no carrier at the loading spot for c in fleet: @@ -42,12 +77,19 @@ prev[c.index] = c.stage wall = time.perf_counter() - t0 sim.measure() +if cur is not None and "left_kg" in cur: + pass_log.append(cur) +for x, nxt in zip(pass_log, pass_log[1:] + [{"skips": len(sim.skipped)}]): + x["skips"] = nxt["skips"] - x["skips"] # stages skipped in this pass +secs = sim.sim_time # a quick check stops early +done = [x for x in pass_log if "carried_kg" in x] trips = fleet.trips delivered_t = fleet.delivered_kg / 1000.0 out = { "soil": soil, "carriers": n_carriers, - "sim_s": secs, + "sim_s": round(secs, 1), + "stopped_after_passes": max_passes, "realtime_factor": round(secs / wall, 3), "loads": loads, "trips": trips, @@ -74,6 +116,12 @@ "pit_left_t": round(float((sim.zones.count_np * sim._pit_cols).sum()) * sim.particle_mass / 1000, 1), "pit_done": sim.pit_done, "faces": [(f["psi"], f["shift"]) for f in sim.face_log], + "curl_gain_kg": round(sim.curl_gain), + "curl_tears": sim.curl_tears, + "mean_carried_kg": round(float(np.mean([x["carried_kg"] for x in done]))) if done else None, + "mean_dumped_kg": round(float(np.mean([x["carried_kg"] - x["left_kg"] for x in done]))) if done else None, + "thin_passes": sum(1 for x in done if x["at_swing_kg"] < 0.5 * sim.full_kg), + "pass_log": pass_log, "dozer": {**{k: round(v, 2) for k, v in sim.dozer.counters.items()}, "mean_push_kN": sim.dozer.push_force}, "spread": sim.dozer.spread_report(sim._surface), } diff --git a/phase2/excavator_server.py b/phase2/excavator_server.py index 938c940..472326d 100644 --- a/phase2/excavator_server.py +++ b/phase2/excavator_server.py @@ -811,7 +811,7 @@ def reset(self): self.auto_s = 0.0 self.passes = 0 self.skipped = [] - self.ease, self.seg_from, self.auto_frame, self.auto_fill, self.early_curls = 0.0, None, 0, 0.0, 0 + self.ease, self.seg_from, self.auto_frame, self.auto_fill, self.early_curls, self.curl_tears = 0.0, None, 0, 0.0, 0, 0 self.curl_out = None # curl waypoint replaced for this pass (lifting out of a full cohesive cut) self.curl_gain = self.CURL_GAIN_GUESS * self.payload_kg if self.heap_check else 0.0 self.curl_from = None # load when this pass's early curl began @@ -947,6 +947,23 @@ def _face(self, p): self._faces[p] = self._plan_face(p) return self._faces[p] + def _rest_if_poor(self): + """Over the carrier: if little came out of this pass's strip, set it aside. Now, not at the next + approach: the next pass's strip is planned as the bucket swings back, so a strip judged later was + dug once more before the rest took hold (a clay strip losing its soil in the drag gave three thin + passes in a row).""" + face = self._faces.get(self.passes) if self.adaptive_face else None + carried = self.POOR_CARRIED.get(self.soil) + if face is None or (self.pass_fill >= self.POOR_PASS * self.full_kg + and (carried is None or self.pass_carried >= carried * self.full_kg)): + return + self.face_rest[(face["psi"], face["shift"])] = self.passes + self.POOR_REST + for f in self.face_log[-2:]: + if f["pass"] == self.passes: + f["poor_kg"] = round(self.pass_fill) + if self._faces.pop(self.passes + 1, None) is not None: + self.face_log = [f for f in self.face_log if f["pass"] != self.passes + 1] # planned already: again + def _plan_face(self, p): z = self.zones has = self._pit_cols & (z.count_np > 0) @@ -1137,6 +1154,7 @@ def _swing_lever(self, target, allow=None): return lever CURL_GAIN_GUESS = 0.3 # of the payload a cohesive load gains (< 0: loses) curling out, until measured + CURL_TEAR = 0.25 # a curl losing more than this fraction of the load tore out a slab: not learned from SHAKE_IF = 0.25 # fraction of a full bucket still in it after the dump that makes the operator shake it out SHAKE_S, SHAKE_PERIOD = 2.5, 0.32 # most time spent shaking; one rap: dump to the stop, then a short curl back @@ -1304,14 +1322,21 @@ def allow(direction): return if timed_out or (self.auto_s >= 1.0 and np.max(np.abs(q_end - self.q)) < tol): if b[0] == "curl" and self.curl_from is not None: - # learn how much the curl adds (< 0: the heap fell off), to curl that much short next time - self.curl_gain += 0.5 * (self._bucket_fill() - self.curl_from - self.curl_gain) + # learn how much the curl adds (< 0: the heap fell off), to curl that much short next time. Not + # from a curl that tore out a slab: one losing most of a clay load set the gain so low that the + # bucket was curled only once overfull, which tore out more slabs + gain = self._bucket_fill() - self.curl_from + if gain > -self.CURL_TEAR * self.curl_from: + self.curl_gain += 0.5 * (gain - self.curl_gain) + else: + self.curl_tears += 1 if b[0] == "dump" and self._bucket_fill() > self.SHAKE_IF * self.full_kg: self.shaking = 0.0 # sticky load still in the bucket: shake it out before swinging back self.shakes += 1 return if b[0] == "swing to truck": self.pass_carried = self._bucket_fill() # what this pass brings to the carrier + self._rest_if_poor() if b[0] == "dump": self._after_dump() self.auto_stage = (self.auto_stage + 1) % n @@ -1320,14 +1345,6 @@ def allow(direction): self.seg_from = None self.low_prev, self.low_rate = None, 0.0 if self.auto_stage == 0: - face = self._faces.get(self.passes) if self.adaptive_face else None - carried = self.POOR_CARRIED.get(self.soil) - if face is not None and (self.pass_fill < self.POOR_PASS * self.full_kg - or carried is not None and self.pass_carried < carried * self.full_kg): - self.face_rest[(face["psi"], face["shift"])] = self.passes + self.POOR_REST # little came out of it - for f in self.face_log[-2:]: - if f["pass"] == self.passes: - f["poor_kg"] = round(self.pass_fill) self.pass_fill, self.pass_carried = 0.0, 0.0 self.passes += 1 self.ease = 0.0 @@ -1855,6 +1872,7 @@ def stats(self): "active": self.zones.n_active, "ease_m": round(self.ease, 2), "early_curls": self.early_curls, + "curl_tears": self.curl_tears, "payload_kg": round(self.payload_kg), "curl_gain_kg": round(self.curl_gain), "zone": dict(self.zones.counters), diff --git a/phase2/logs/haul_quick25_fix_clay_1carrier.json b/phase2/logs/haul_quick25_fix_clay_1carrier.json new file mode 100644 index 0000000..7d94314 --- /dev/null +++ b/phase2/logs/haul_quick25_fix_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 581.8, "stopped_after_passes": 25, "realtime_factor": 0.202, "loads": [{"carrier": 0, "departed_s": 217.0, "load_kg": 10604, "loading_s": 217.0, "passes": 10}, {"carrier": 0, "departed_s": 434.2, "load_kg": 9887, "loading_s": 158.9, "passes": 8}], "trips": [{"depart_t": 216.97, "stages": {"loading": 216.97, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.15, "lower": 5.0, "return": 4.7, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 298, "away_s": 58.3}, {"depart_t": 434.2, "stages": {"loading": 158.93, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.67, "lower": 5.0, "return": 4.57, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 202, "away_s": 58.68}], "delivered_t": 19.99, "loaded_t": 26.05, "loaded_t_per_hour": 161.2, "mean_departure_interval_s": 217.2, "t_per_hour": 123.7, "mean_load_kg": 10246.0, "mean_loading_s": 187.9, "carry_back_kg": [298, 202], "mean_away_s": 58.5, "excavator_wait_s": 96.9, "passes": 25, "spoil_settled_t": 20.44, "lost_particles": 1130, "pool_short": 0, "skipped": [{"t": 101.87, "stage": "penetrate", "max_err_rad": 0.235}, {"t": 105.88, "stage": "drag", "max_err_rad": 0.251}, {"t": 109.9, "stage": "drag-curl", "max_err_rad": 0.199}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 117.0, "pit_left_t": 162.8, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0]], "curl_gain_kg": 138, "curl_tears": 2, "mean_carried_kg": 1107, "mean_dumped_kg": 973, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1215, "early_curl": true, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1225, "left_kg": 102}, {"pass": 1, "t": 16.0, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1127, "early_curl": true, "skips": 0, "at_swing_kg": 1096, "carried_kg": 1135, "left_kg": 38}, {"pass": 2, "t": 34.4, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1265, "early_curl": true, "skips": 0, "at_swing_kg": 1252, "carried_kg": 1299, "left_kg": 109}, {"pass": 3, "t": 55.3, "face": [-10.0, 0.0, 1.29], "dig_max_kg": 1255, "early_curl": true, "skips": 0, "at_swing_kg": 257, "carried_kg": 463, "left_kg": 104}, {"pass": 4, "t": 74.2, "face": [-30.0, 0.0, 1.18], "dig_max_kg": 1248, "early_curl": true, "skips": 0, "at_swing_kg": 1240, "carried_kg": 1276, "left_kg": 79}, {"pass": 5, "t": 92.4, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1246, "early_curl": false, "skips": 3, "at_swing_kg": 50, "carried_kg": 79, "left_kg": 32}, {"pass": 6, "t": 121.5, "face": [-30.0, 0.0, 0.75], "dig_max_kg": 1176, "early_curl": false, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1264, "left_kg": 109}, {"pass": 7, "t": 143.6, "face": [-30.0, 0.0, 0.74], "dig_max_kg": 1166, "early_curl": false, "skips": 0, "at_swing_kg": 1002, "carried_kg": 992, "left_kg": 12}, {"pass": 8, "t": 159.0, "face": [-30.0, 0.0, 1.07], "dig_max_kg": 1217, "early_curl": true, "skips": 0, "at_swing_kg": 1183, "carried_kg": 1183, "left_kg": 54}, {"pass": 9, "t": 175.3, "face": [0.0, 0.0, 0.69], "dig_max_kg": 1205, "early_curl": false, "skips": 0, "at_swing_kg": 1136, "carried_kg": 1143, "left_kg": 399}, {"pass": 10, "t": 200.8, "face": [0.0, 0.0, 1.01], "dig_max_kg": 1177, "early_curl": true, "skips": 0, "at_swing_kg": 1144, "carried_kg": 1169, "left_kg": 340}, {"pass": 11, "t": 218.9, "face": [10.0, 0.0, 0.55], "dig_max_kg": 1177, "early_curl": false, "skips": 0, "at_swing_kg": 1255, "carried_kg": 1235, "left_kg": 50}, {"pass": 12, "t": 283.5, "face": [10.0, 0.0, 1.11], "dig_max_kg": 1228, "early_curl": true, "skips": 0, "at_swing_kg": 1201, "carried_kg": 1219, "left_kg": 69}, {"pass": 13, "t": 301.6, "face": [10.0, 0.0, 0.6], "dig_max_kg": 1299, "early_curl": false, "skips": 0, "at_swing_kg": 1297, "carried_kg": 1302, "left_kg": 95}, {"pass": 14, "t": 319.0, "face": [10.0, 0.0, 1.16], "dig_max_kg": 1299, "early_curl": true, "skips": 0, "at_swing_kg": 1179, "carried_kg": 1179, "left_kg": 145}, {"pass": 15, "t": 338.3, "face": [10.0, 0.0, 0.58], "dig_max_kg": 1204, "early_curl": false, "skips": 0, "at_swing_kg": 1187, "carried_kg": 1176, "left_kg": 183}, {"pass": 16, "t": 357.6, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1277, "early_curl": true, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1250, "left_kg": 187}, {"pass": 17, "t": 376.4, "face": [20.0, 0.0, 0.79], "dig_max_kg": 1264, "early_curl": true, "skips": 0, "at_swing_kg": 1148, "carried_kg": 1182, "left_kg": 96}, {"pass": 18, "t": 395.3, "face": [10.0, 0.0, 0.62], "dig_max_kg": 1230, "early_curl": false, "skips": 0, "at_swing_kg": 1224, "carried_kg": 1158, "left_kg": 284}, {"pass": 19, "t": 417.2, "face": [10.0, 0.0, 1.02], "dig_max_kg": 1228, "early_curl": false, "skips": 0, "at_swing_kg": 1090, "carried_kg": 1042, "left_kg": 190}, {"pass": 20, "t": 436.1, "face": [10.0, 0.0, 0.62], "dig_max_kg": 1807, "early_curl": false, "skips": 0, "at_swing_kg": 1796, "carried_kg": 1828, "left_kg": 193}, {"pass": 21, "t": 503.2, "face": [10.0, 0.0, 1.18], "dig_max_kg": 1721, "early_curl": true, "skips": 0, "at_swing_kg": 349, "carried_kg": 367, "left_kg": 318}, {"pass": 22, "t": 520.7, "face": [-30.0, 0.0, 0.54], "dig_max_kg": 939, "early_curl": false, "skips": 0, "at_swing_kg": 914, "carried_kg": 966, "left_kg": 35}, {"pass": 23, "t": 542.2, "face": [0.0, 0.0, 0.54], "dig_max_kg": 1214, "early_curl": false, "skips": 0, "at_swing_kg": 1168, "carried_kg": 1358, "left_kg": 82}, {"pass": 24, "t": 562.6, "face": [0.0, 0.0, 0.77], "dig_max_kg": 1026, "early_curl": true, "skips": 0, "at_swing_kg": 994, "carried_kg": 1177, "left_kg": 43}], "dozer": {"passes": 9, "push_m": 62.35, "work_MJ": 1.26, "load_lifts": 31, "lifts_raised": 0, "parked_s": 371.32, "working_s": 210.48, "peak_kN": 65.03, "slip_s": 0.73, "futile_passes": 2, "mean_push_kN": [24.6, 13.5, 21.3, 5.8, 8.6, 15.8, 26.8, 23.3, 24.0]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 37.3, "rms_from_grade_m": 0.166, "max_above_grade_m": 1.08, "at_grade_fraction": 0.31, "unspread_m3": 0.83}} diff --git a/phase2/logs/haul_quick25_fix_dry-sand_1carrier.json b/phase2/logs/haul_quick25_fix_dry-sand_1carrier.json new file mode 100644 index 0000000..e38527d --- /dev/null +++ b/phase2/logs/haul_quick25_fix_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 623.8, "stopped_after_passes": 25, "realtime_factor": 0.207, "loads": [{"carrier": 0, "departed_s": 128.5, "load_kg": 10426, "loading_s": 128.5, "passes": 7}, {"carrier": 0, "departed_s": 338.8, "load_kg": 8878, "loading_s": 153.6, "passes": 7}, {"carrier": 0, "departed_s": 558.6, "load_kg": 9549, "loading_s": 163.1, "passes": 7}], "trips": [{"depart_t": 128.52, "stages": {"loading": 128.52, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 39, "away_s": 56.71}, {"depart_t": 338.8, "stages": {"loading": 153.57, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 183, "away_s": 56.72}, {"depart_t": 558.63, "stages": {"loading": 163.12, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 211, "away_s": 56.72}], "delivered_t": 28.42, "loaded_t": 29.9, "loaded_t_per_hour": 172.6, "mean_departure_interval_s": 215.1, "t_per_hour": 164.0, "mean_load_kg": 9618.0, "mean_loading_s": 148.4, "carry_back_kg": [39, 183, 211], "mean_away_s": 56.7, "excavator_wait_s": 141.1, "passes": 25, "spoil_settled_t": 24.94, "lost_particles": 3886, "pool_short": 468, "skipped": [{"t": 303.72, "stage": "swing back", "max_err_rad": 0.058}, {"t": 307.73, "stage": "approach", "max_err_rad": 1.755}, {"t": 311.75, "stage": "penetrate", "max_err_rad": 1.927}, {"t": 315.77, "stage": "drag", "max_err_rad": 1.924}, {"t": 319.78, "stage": "drag-curl", "max_err_rad": 1.903}, {"t": 323.8, "stage": "curl", "max_err_rad": 1.741}, {"t": 333.27, "stage": "swing to truck", "max_err_rad": 0.287}, {"t": 522.07, "stage": "swing back", "max_err_rad": 0.061}, {"t": 526.08, "stage": "approach", "max_err_rad": 1.423}, {"t": 530.1, "stage": "penetrate", "max_err_rad": 1.418}, {"t": 534.12, "stage": "drag", "max_err_rad": 1.412}, {"t": 538.13, "stage": "drag-curl", "max_err_rad": 1.407}, {"t": 542.15, "stage": "curl", "max_err_rad": 1.34}, {"t": 553.3, "stage": "swing to truck", "max_err_rad": 0.504}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.2, "pit_left_t": 120.8, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1332, "mean_dumped_kg": 1329, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 908, "early_curl": false, "skips": 0, "at_swing_kg": 899, "carried_kg": 594, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.47], "dig_max_kg": 1601, "early_curl": false, "skips": 0, "at_swing_kg": 1601, "carried_kg": 1337, "left_kg": 1}, {"pass": 2, "t": 31.1, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1589, "early_curl": false, "skips": 0, "at_swing_kg": 976, "carried_kg": 682, "left_kg": 0}, {"pass": 3, "t": 48.6, "face": [-20.0, 0.0, 1.45], "dig_max_kg": 1578, "early_curl": false, "skips": 0, "at_swing_kg": 1578, "carried_kg": 1265, "left_kg": 0}, {"pass": 4, "t": 64.9, "face": [-20.0, 0.0, 1.4], "dig_max_kg": 1718, "early_curl": false, "skips": 0, "at_swing_kg": 1718, "carried_kg": 1545, "left_kg": 1}, {"pass": 5, "t": 80.3, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1883, "early_curl": false, "skips": 0, "at_swing_kg": 1883, "carried_kg": 1591, "left_kg": 2}, {"pass": 6, "t": 96.6, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1912, "early_curl": false, "skips": 0, "at_swing_kg": 1912, "carried_kg": 1462, "left_kg": 10}, {"pass": 7, "t": 113.6, "face": [-20.0, 0.0, 1.51], "dig_max_kg": 1979, "early_curl": false, "skips": 0, "at_swing_kg": 1979, "carried_kg": 1693, "left_kg": 1}, {"pass": 8, "t": 129.9, "face": [-20.0, 0.0, 1.49], "dig_max_kg": 1946, "early_curl": false, "skips": 0, "at_swing_kg": 1758, "carried_kg": 1383, "left_kg": 1}, {"pass": 9, "t": 192.3, "face": [-20.0, 0.0, 1.53], "dig_max_kg": 1936, "early_curl": false, "skips": 0, "at_swing_kg": 1936, "carried_kg": 1555, "left_kg": 3}, {"pass": 10, "t": 209.8, "face": [-20.0, 0.0, 1.54], "dig_max_kg": 1947, "early_curl": false, "skips": 0, "at_swing_kg": 1947, "carried_kg": 1707, "left_kg": 1}, {"pass": 11, "t": 225.9, "face": [-20.0, 0.0, 1.53], "dig_max_kg": 1944, "early_curl": false, "skips": 0, "at_swing_kg": 1944, "carried_kg": 1616, "left_kg": 20}, {"pass": 12, "t": 243.8, "face": [-20.0, 0.0, 1.59], "dig_max_kg": 1944, "early_curl": false, "skips": 0, "at_swing_kg": 1944, "carried_kg": 1433, "left_kg": 1}, {"pass": 13, "t": 261.9, "face": [0.0, 0.0, 1.46], "dig_max_kg": 1942, "early_curl": false, "skips": 0, "at_swing_kg": 1480, "carried_kg": 1137, "left_kg": 1}, {"pass": 14, "t": 280.3, "face": [0.0, 0.0, 1.62], "dig_max_kg": 1826, "early_curl": false, "skips": 1, "at_swing_kg": 1826, "carried_kg": 1406, "left_kg": 3}, {"pass": 15, "t": 303.8, "face": [10.0, 0.0, 1.51], "dig_max_kg": 1815, "early_curl": false, "skips": 6, "at_swing_kg": 1258, "carried_kg": 1285, "left_kg": 1}, {"pass": 16, "t": 340.6, "face": [10.0, 0.0, 1.52], "dig_max_kg": 1312, "early_curl": false, "skips": 0, "at_swing_kg": 1028, "carried_kg": 851, "left_kg": 0}, {"pass": 17, "t": 402.6, "face": [10.0, 0.0, 1.67], "dig_max_kg": 1773, "early_curl": false, "skips": 0, "at_swing_kg": 1773, "carried_kg": 1329, "left_kg": 0}, {"pass": 18, "t": 419.1, "face": [-20.0, 0.0, 1.55], "dig_max_kg": 1993, "early_curl": false, "skips": 0, "at_swing_kg": 1993, "carried_kg": 1537, "left_kg": 11}, {"pass": 19, "t": 442.5, "face": [-10.0, 0.0, 1.55], "dig_max_kg": 1684, "early_curl": false, "skips": 0, "at_swing_kg": 1684, "carried_kg": 1410, "left_kg": 1}, {"pass": 20, "t": 459.8, "face": [-20.0, 0.0, 1.6], "dig_max_kg": 1917, "early_curl": false, "skips": 0, "at_swing_kg": 1917, "carried_kg": 1549, "left_kg": 10}, {"pass": 21, "t": 478.2, "face": [-10.0, 0.0, 1.67], "dig_max_kg": 1909, "early_curl": false, "skips": 0, "at_swing_kg": 1884, "carried_kg": 1456, "left_kg": 1}, {"pass": 22, "t": 497.3, "face": [-10.0, 0.0, 1.72], "dig_max_kg": 2023, "early_curl": false, "skips": 1, "at_swing_kg": 2023, "carried_kg": 1567, "left_kg": 6}, {"pass": 23, "t": 522.1, "face": [-10.0, 0.0, 1.56], "dig_max_kg": 382, "early_curl": false, "skips": 6, "at_swing_kg": 382, "carried_kg": 910, "left_kg": 2}, {"pass": 24, "t": 560.5, "face": [10.0, 0.0, 1.45], "dig_max_kg": 1722, "early_curl": false, "skips": 0, "at_swing_kg": 1312, "carried_kg": 1002, "left_kg": 0}], "dozer": {"passes": 8, "push_m": 38.21, "work_MJ": 0.33, "load_lifts": 2, "lifts_raised": 1, "parked_s": 464.23, "working_s": 159.55, "peak_kN": 58.65, "slip_s": 0.02, "futile_passes": 2, "mean_push_kN": [12.1, 5.1, 7.2, 7.0, 11.3, 0.4, 0.1, 7.4]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 39.4, "rms_from_grade_m": 0.254, "max_above_grade_m": 0.59, "at_grade_fraction": 0.19, "unspread_m3": 0.77}} diff --git a/phase2/logs/haul_quick25_fix_loam_1carrier.json b/phase2/logs/haul_quick25_fix_loam_1carrier.json new file mode 100644 index 0000000..975c067 --- /dev/null +++ b/phase2/logs/haul_quick25_fix_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 574.0, "stopped_after_passes": 25, "realtime_factor": 0.204, "loads": [{"carrier": 0, "departed_s": 259.1, "load_kg": 11397, "loading_s": 259.1, "passes": 12}, {"carrier": 0, "departed_s": 451.3, "load_kg": 10735, "loading_s": 135.3, "passes": 7}], "trips": [{"depart_t": 259.05, "stages": {"loading": 259.05, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.32, "lower": 5.0, "return": 5.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 170, "away_s": 56.93}, {"depart_t": 451.32, "stages": {"loading": 135.33, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.55, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 361, "away_s": 57.1}], "delivered_t": 21.6, "loaded_t": 26.25, "loaded_t_per_hour": 164.7, "mean_departure_interval_s": 192.2, "t_per_hour": 135.5, "mean_load_kg": 11066.0, "mean_loading_s": 197.2, "carry_back_kg": [170, 361], "mean_away_s": 57.0, "excavator_wait_s": 94.5, "passes": 25, "spoil_settled_t": 21.57, "lost_particles": 1532, "pool_short": 0, "skipped": [{"t": 97.1, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 101.12, "stage": "drag", "max_err_rad": 0.141}, {"t": 181.47, "stage": "penetrate", "max_err_rad": 0.242}, {"t": 185.48, "stage": "drag", "max_err_rad": 0.258}, {"t": 189.5, "stage": "drag-curl", "max_err_rad": 0.208}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 114.0, "pit_left_t": 152.6, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": -69, "curl_tears": 2, "mean_carried_kg": 1010, "mean_dumped_kg": 906, "thin_passes": 6, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1110, "early_curl": true, "skips": 0, "at_swing_kg": 1074, "carried_kg": 1158, "left_kg": 59}, {"pass": 1, "t": 14.7, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1200, "early_curl": true, "skips": 0, "at_swing_kg": 1150, "carried_kg": 1176, "left_kg": 32}, {"pass": 2, "t": 32.2, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1229, "early_curl": true, "skips": 0, "at_swing_kg": 103, "carried_kg": 192, "left_kg": 23}, {"pass": 3, "t": 50.6, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1166, "early_curl": true, "skips": 0, "at_swing_kg": 1157, "carried_kg": 1246, "left_kg": 79}, {"pass": 4, "t": 71.0, "face": [-10.0, 0.0, 1.17], "dig_max_kg": 1210, "early_curl": true, "skips": 0, "at_swing_kg": 51, "carried_kg": 57, "left_kg": 3}, {"pass": 5, "t": 88.6, "face": [20.0, 0.0, 0.74], "dig_max_kg": 474, "early_curl": false, "skips": 2, "at_swing_kg": 461, "carried_kg": 582, "left_kg": 6}, {"pass": 6, "t": 115.0, "face": [20.0, 0.0, 1.01], "dig_max_kg": 1239, "early_curl": true, "skips": 0, "at_swing_kg": 1034, "carried_kg": 1104, "left_kg": 55}, {"pass": 7, "t": 131.7, "face": [-30.0, 0.0, 0.6], "dig_max_kg": 1168, "early_curl": false, "skips": 0, "at_swing_kg": 1157, "carried_kg": 1291, "left_kg": 52}, {"pass": 8, "t": 153.0, "face": [-30.0, 0.0, 1.12], "dig_max_kg": 1343, "early_curl": true, "skips": 0, "at_swing_kg": 1138, "carried_kg": 1125, "left_kg": 290}, {"pass": 9, "t": 172.0, "face": [20.0, 0.0, 0.53], "dig_max_kg": 8, "early_curl": false, "skips": 3, "at_swing_kg": 0, "carried_kg": 1, "left_kg": 5}, {"pass": 10, "t": 203.3, "face": [0.0, 0.0, 0.46], "dig_max_kg": 533, "early_curl": false, "skips": 0, "at_swing_kg": 516, "carried_kg": 674, "left_kg": 121}, {"pass": 11, "t": 223.1, "face": [0.0, 0.0, 0.75], "dig_max_kg": 1392, "early_curl": false, "skips": 0, "at_swing_kg": 1385, "carried_kg": 1439, "left_kg": 541}, {"pass": 12, "t": 241.6, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1392, "early_curl": true, "skips": 0, "at_swing_kg": 1311, "carried_kg": 1325, "left_kg": 320}, {"pass": 13, "t": 260.9, "face": [10.0, 0.0, 0.51], "dig_max_kg": 1333, "early_curl": false, "skips": 0, "at_swing_kg": 1130, "carried_kg": 1130, "left_kg": 11}, {"pass": 14, "t": 323.2, "face": [10.0, 0.0, 1.16], "dig_max_kg": 1299, "early_curl": true, "skips": 0, "at_swing_kg": 1056, "carried_kg": 1087, "left_kg": 38}, {"pass": 15, "t": 338.9, "face": [-40.0, 0.0, 0.42], "dig_max_kg": 1072, "early_curl": false, "skips": 0, "at_swing_kg": 416, "carried_kg": 512, "left_kg": 1}, {"pass": 16, "t": 360.4, "face": [0.0, 0.0, 0.42], "dig_max_kg": 1249, "early_curl": false, "skips": 0, "at_swing_kg": 1249, "carried_kg": 1354, "left_kg": 15}, {"pass": 17, "t": 382.3, "face": [0.0, 0.0, 1.16], "dig_max_kg": 1438, "early_curl": true, "skips": 0, "at_swing_kg": 1389, "carried_kg": 1531, "left_kg": 88}, {"pass": 18, "t": 398.7, "face": [0.0, 0.0, 0.49], "dig_max_kg": 1574, "early_curl": false, "skips": 0, "at_swing_kg": 1568, "carried_kg": 1669, "left_kg": 71}, {"pass": 19, "t": 416.4, "face": [0.0, 0.0, 1.15], "dig_max_kg": 1571, "early_curl": true, "skips": 0, "at_swing_kg": 1310, "carried_kg": 1371, "left_kg": 60}, {"pass": 20, "t": 433.1, "face": [0.0, 0.0, 0.55], "dig_max_kg": 1491, "early_curl": false, "skips": 0, "at_swing_kg": 1489, "carried_kg": 1439, "left_kg": 589}, {"pass": 21, "t": 453.0, "face": [0.0, 0.0, 1.08], "dig_max_kg": 1491, "early_curl": true, "skips": 0, "at_swing_kg": 1030, "carried_kg": 1000, "left_kg": 50}, {"pass": 22, "t": 517.3, "face": [20.0, 0.0, 0.54], "dig_max_kg": 1011, "early_curl": false, "skips": 0, "at_swing_kg": 800, "carried_kg": 963, "left_kg": 51}, {"pass": 23, "t": 536.1, "face": [20.0, 0.0, 0.96], "dig_max_kg": 796, "early_curl": false, "skips": 0, "at_swing_kg": 676, "carried_kg": 816, "left_kg": 6}, {"pass": 24, "t": 554.1, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1258, "early_curl": true, "skips": 0, "at_swing_kg": 1036, "carried_kg": 1005, "left_kg": 36}], "dozer": {"passes": 5, "push_m": 38.32, "work_MJ": 0.78, "load_lifts": 13, "lifts_raised": 0, "parked_s": 437.47, "working_s": 136.52, "peak_kN": 68.57, "slip_s": 0.3, "futile_passes": 0, "mean_push_kN": [11.5, 20.6, 11.1, 24.4, 23.5]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 45.1, "rms_from_grade_m": 0.201, "max_above_grade_m": 1.38, "at_grade_fraction": 0.32, "unspread_m3": 1.56}} diff --git a/phase2/logs/haul_quick25_main_clay_1carrier.json b/phase2/logs/haul_quick25_main_clay_1carrier.json new file mode 100644 index 0000000..802a13b --- /dev/null +++ b/phase2/logs/haul_quick25_main_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 577.8, "stopped_after_passes": 25, "realtime_factor": 0.203, "loads": [{"carrier": 0, "departed_s": 219.1, "load_kg": 9366, "loading_s": 219.1, "passes": 10}, {"carrier": 0, "departed_s": 436.6, "load_kg": 10449, "loading_s": 159.6, "passes": 8}], "trips": [{"depart_t": 219.05, "stages": {"loading": 219.05, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.57, "lower": 5.0, "return": 4.85, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 160, "away_s": 57.87}, {"depart_t": 436.57, "stages": {"loading": 159.65, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.55, "lower": 5.0, "return": 4.58, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 255, "away_s": 58.58}], "delivered_t": 19.4, "loaded_t": 25.37, "loaded_t_per_hour": 158.1, "mean_departure_interval_s": 217.5, "t_per_hour": 120.9, "mean_load_kg": 9908.0, "mean_loading_s": 189.3, "carry_back_kg": [160, 255], "mean_away_s": 58.2, "excavator_wait_s": 99.8, "passes": 25, "spoil_settled_t": 19.37, "lost_particles": 935, "pool_short": 0, "skipped": [{"t": 102.95, "stage": "penetrate", "max_err_rad": 0.236}, {"t": 106.97, "stage": "drag", "max_err_rad": 0.252}, {"t": 110.98, "stage": "drag-curl", "max_err_rad": 0.2}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.4, "pit_left_t": 162.4, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0]], "curl_gain_kg": 60, "curl_tears": null, "mean_carried_kg": 1180, "mean_dumped_kg": 1025, "thin_passes": 2, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1206, "early_curl": true, "skips": 0, "at_swing_kg": 1195, "carried_kg": 1217, "left_kg": 92}, {"pass": 1, "t": 15.7, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1199, "early_curl": true, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1176, "left_kg": 95}, {"pass": 2, "t": 34.4, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1190, "early_curl": true, "skips": 0, "at_swing_kg": 1146, "carried_kg": 1170, "left_kg": 108}, {"pass": 3, "t": 55.3, "face": [-10.0, 0.0, 1.27], "dig_max_kg": 1299, "early_curl": true, "skips": 0, "at_swing_kg": 1289, "carried_kg": 1341, "left_kg": 92}, {"pass": 4, "t": 75.3, "face": [-30.0, 0.0, 1.22], "dig_max_kg": 1299, "early_curl": true, "skips": 0, "at_swing_kg": 1095, "carried_kg": 1093, "left_kg": 64}, {"pass": 5, "t": 93.5, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1106, "early_curl": false, "skips": 3, "at_swing_kg": 50, "carried_kg": 47, "left_kg": 41}, {"pass": 6, "t": 124.4, "face": [20.0, 0.0, 1.08], "dig_max_kg": 1090, "early_curl": true, "skips": 0, "at_swing_kg": 1063, "carried_kg": 1103, "left_kg": 110}, {"pass": 7, "t": 141.7, "face": [-30.0, 0.0, 0.82], "dig_max_kg": 1180, "early_curl": false, "skips": 0, "at_swing_kg": 1162, "carried_kg": 1277, "left_kg": 504}, {"pass": 8, "t": 165.0, "face": [-30.0, 0.0, 0.9], "dig_max_kg": 1165, "early_curl": false, "skips": 0, "at_swing_kg": 1142, "carried_kg": 1253, "left_kg": 90}, {"pass": 9, "t": 180.8, "face": [-30.0, 0.0, 1.09], "dig_max_kg": 1287, "early_curl": true, "skips": 0, "at_swing_kg": 1263, "carried_kg": 1290, "left_kg": 109}, {"pass": 10, "t": 198.3, "face": [0.0, 0.0, 0.77], "dig_max_kg": 1269, "early_curl": false, "skips": 0, "at_swing_kg": 1237, "carried_kg": 1296, "left_kg": 263}, {"pass": 11, "t": 220.8, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1241, "early_curl": true, "skips": 0, "at_swing_kg": 1180, "carried_kg": 1133, "left_kg": 123}, {"pass": 12, "t": 286.9, "face": [0.0, 0.0, 0.64], "dig_max_kg": 1246, "early_curl": false, "skips": 0, "at_swing_kg": 1209, "carried_kg": 1291, "left_kg": 79}, {"pass": 13, "t": 304.9, "face": [0.0, 0.0, 1.14], "dig_max_kg": 1218, "early_curl": true, "skips": 0, "at_swing_kg": 1104, "carried_kg": 1116, "left_kg": 79}, {"pass": 14, "t": 321.3, "face": [0.0, 0.0, 0.67], "dig_max_kg": 1395, "early_curl": false, "skips": 0, "at_swing_kg": 1381, "carried_kg": 1314, "left_kg": 125}, {"pass": 15, "t": 340.0, "face": [0.0, 0.0, 1.11], "dig_max_kg": 1389, "early_curl": true, "skips": 0, "at_swing_kg": 1262, "carried_kg": 1217, "left_kg": 227}, {"pass": 16, "t": 359.0, "face": [10.0, 0.0, 0.55], "dig_max_kg": 1286, "early_curl": false, "skips": 0, "at_swing_kg": 1129, "carried_kg": 1281, "left_kg": 278}, {"pass": 17, "t": 378.7, "face": [10.0, 0.0, 1.0], "dig_max_kg": 1235, "early_curl": true, "skips": 0, "at_swing_kg": 1222, "carried_kg": 1280, "left_kg": 104}, {"pass": 18, "t": 397.5, "face": [20.0, 0.0, 0.73], "dig_max_kg": 1125, "early_curl": true, "skips": 0, "at_swing_kg": 1105, "carried_kg": 1085, "left_kg": 85}, {"pass": 19, "t": 417.0, "face": [0.0, 0.0, 0.55], "dig_max_kg": 1612, "early_curl": false, "skips": 0, "at_swing_kg": 1551, "carried_kg": 1567, "left_kg": 403}, {"pass": 20, "t": 438.3, "face": [0.0, 0.0, 1.06], "dig_max_kg": 1551, "early_curl": true, "skips": 0, "at_swing_kg": 501, "carried_kg": 504, "left_kg": 263}, {"pass": 21, "t": 505.0, "face": [0.0, 0.0, 1.08], "dig_max_kg": 1460, "early_curl": false, "skips": 0, "at_swing_kg": 1430, "carried_kg": 1463, "left_kg": 54}, {"pass": 22, "t": 521.7, "face": [-20.0, 0.0, 0.54], "dig_max_kg": 1448, "early_curl": false, "skips": 0, "at_swing_kg": 1118, "carried_kg": 1254, "left_kg": 55}, {"pass": 23, "t": 539.9, "face": [-20.0, 0.0, 1.15], "dig_max_kg": 1364, "early_curl": true, "skips": 0, "at_swing_kg": 1348, "carried_kg": 1387, "left_kg": 107}, {"pass": 24, "t": 556.9, "face": [-10.0, 0.0, 0.79], "dig_max_kg": 1352, "early_curl": false, "skips": 0, "at_swing_kg": 1165, "carried_kg": 1345, "left_kg": 320}], "dozer": {"passes": 10, "push_m": 63.0, "work_MJ": 1.08, "load_lifts": 21, "lifts_raised": 0, "parked_s": 365.8, "working_s": 212.02, "peak_kN": 64.32, "slip_s": 0.37, "futile_passes": 2, "mean_push_kN": [24.8, 15.0, 13.4, 10.7, 0.0, 18.7, 18.3, 16.6, 24.2, 12.3]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 35.5, "rms_from_grade_m": 0.224, "max_above_grade_m": 1.35, "at_grade_fraction": 0.32, "unspread_m3": 2.16}} diff --git a/phase2/logs/haul_quick25_main_dry-sand_1carrier.json b/phase2/logs/haul_quick25_main_dry-sand_1carrier.json new file mode 100644 index 0000000..437c561 --- /dev/null +++ b/phase2/logs/haul_quick25_main_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 612.5, "stopped_after_passes": 25, "realtime_factor": 0.204, "loads": [{"carrier": 0, "departed_s": 182.6, "load_kg": 9512, "loading_s": 182.6, "passes": 8}, {"carrier": 0, "departed_s": 315.4, "load_kg": 9165, "loading_s": 76.0, "passes": 4}, {"carrier": 0, "departed_s": 489.9, "load_kg": 10367, "loading_s": 117.9, "passes": 6}], "trips": [{"depart_t": 182.62, "stages": {"loading": 182.62, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 113, "away_s": 56.71}, {"depart_t": 315.35, "stages": {"loading": 76.02, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 81, "away_s": 56.72}, {"depart_t": 489.93, "stages": {"loading": 117.87, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 282, "away_s": 56.72}], "delivered_t": 28.57, "loaded_t": 35.47, "loaded_t_per_hour": 208.5, "mean_departure_interval_s": 153.6, "t_per_hour": 167.9, "mean_load_kg": 9681.0, "mean_loading_s": 125.5, "carry_back_kg": [113, 81, 282], "mean_away_s": 56.7, "excavator_wait_s": 143.4, "passes": 25, "spoil_settled_t": 28.53, "lost_particles": 4163, "pool_short": 139, "skipped": [{"t": 136.47, "stage": "swing to truck", "max_err_rad": 0.134}, {"t": 146.78, "stage": "swing back", "max_err_rad": 0.062}, {"t": 150.8, "stage": "approach", "max_err_rad": 1.417}, {"t": 154.82, "stage": "penetrate", "max_err_rad": 1.413}, {"t": 158.83, "stage": "drag", "max_err_rad": 1.407}, {"t": 162.85, "stage": "drag-curl", "max_err_rad": 1.391}, {"t": 166.87, "stage": "curl", "max_err_rad": 1.346}, {"t": 177.28, "stage": "swing to truck", "max_err_rad": 0.414}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.2, "pit_left_t": 117.1, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": null, "mean_carried_kg": 1336, "mean_dumped_kg": 1331, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 902, "early_curl": false, "skips": 0, "at_swing_kg": 894, "carried_kg": 588, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1629, "early_curl": false, "skips": 0, "at_swing_kg": 1629, "carried_kg": 1326, "left_kg": 7}, {"pass": 2, "t": 31.2, "face": [-10.0, 0.0, 1.42], "dig_max_kg": 1603, "early_curl": false, "skips": 0, "at_swing_kg": 1245, "carried_kg": 947, "left_kg": 1}, {"pass": 3, "t": 48.3, "face": [-10.0, 0.0, 1.49], "dig_max_kg": 1711, "early_curl": false, "skips": 0, "at_swing_kg": 1711, "carried_kg": 1319, "left_kg": 2}, {"pass": 4, "t": 65.6, "face": [0.0, 0.0, 1.49], "dig_max_kg": 1703, "early_curl": false, "skips": 0, "at_swing_kg": 1642, "carried_kg": 1307, "left_kg": 1}, {"pass": 5, "t": 82.9, "face": [0.0, 0.0, 1.63], "dig_max_kg": 1914, "early_curl": false, "skips": 0, "at_swing_kg": 1914, "carried_kg": 1417, "left_kg": 8}, {"pass": 6, "t": 99.7, "face": [-10.0, 0.0, 1.65], "dig_max_kg": 1841, "early_curl": false, "skips": 0, "at_swing_kg": 1841, "carried_kg": 1351, "left_kg": 1}, {"pass": 7, "t": 118.6, "face": [-10.0, 0.0, 1.8], "dig_max_kg": 2064, "early_curl": false, "skips": 2, "at_swing_kg": 2064, "carried_kg": 1595, "left_kg": 13}, {"pass": 8, "t": 146.8, "face": [-10.0, 0.0, 1.65], "dig_max_kg": 2054, "early_curl": false, "skips": 6, "at_swing_kg": 551, "carried_kg": 908, "left_kg": 2}, {"pass": 9, "t": 184.0, "face": [-10.0, 0.0, 1.65], "dig_max_kg": 2003, "early_curl": false, "skips": 0, "at_swing_kg": 1768, "carried_kg": 1312, "left_kg": 15}, {"pass": 10, "t": 246.7, "face": [-10.0, 0.0, 1.7], "dig_max_kg": 2025, "early_curl": false, "skips": 0, "at_swing_kg": 2025, "carried_kg": 1730, "left_kg": 28}, {"pass": 11, "t": 264.4, "face": [-10.0, 0.0, 1.63], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 2028, "carried_kg": 1605, "left_kg": 3}, {"pass": 12, "t": 282.0, "face": [-10.0, 0.0, 1.63], "dig_max_kg": 2019, "early_curl": false, "skips": 0, "at_swing_kg": 2019, "carried_kg": 1526, "left_kg": 2}, {"pass": 13, "t": 299.9, "face": [-10.0, 0.0, 1.69], "dig_max_kg": 2038, "early_curl": false, "skips": 0, "at_swing_kg": 2038, "carried_kg": 1708, "left_kg": 5}, {"pass": 14, "t": 316.9, "face": [-10.0, 0.0, 1.63], "dig_max_kg": 2030, "early_curl": false, "skips": 0, "at_swing_kg": 1797, "carried_kg": 1409, "left_kg": 1}, {"pass": 15, "t": 379.3, "face": [-10.0, 0.0, 1.62], "dig_max_kg": 2017, "early_curl": false, "skips": 0, "at_swing_kg": 2002, "carried_kg": 1544, "left_kg": 1}, {"pass": 16, "t": 398.0, "face": [10.0, 0.0, 1.46], "dig_max_kg": 1996, "early_curl": false, "skips": 0, "at_swing_kg": 962, "carried_kg": 688, "left_kg": 0}, {"pass": 17, "t": 416.6, "face": [10.0, 0.0, 1.64], "dig_max_kg": 1670, "early_curl": false, "skips": 0, "at_swing_kg": 1670, "carried_kg": 1250, "left_kg": 4}, {"pass": 18, "t": 433.6, "face": [10.0, 0.0, 1.57], "dig_max_kg": 1831, "early_curl": false, "skips": 0, "at_swing_kg": 1831, "carried_kg": 1239, "left_kg": 0}, {"pass": 19, "t": 451.0, "face": [-10.0, 0.0, 1.59], "dig_max_kg": 2045, "early_curl": false, "skips": 0, "at_swing_kg": 2045, "carried_kg": 1678, "left_kg": 5}, {"pass": 20, "t": 471.6, "face": [10.0, 0.0, 1.52], "dig_max_kg": 2029, "early_curl": false, "skips": 0, "at_swing_kg": 1784, "carried_kg": 1377, "left_kg": 2}, {"pass": 21, "t": 491.8, "face": [10.0, 0.0, 1.57], "dig_max_kg": 1892, "early_curl": false, "skips": 0, "at_swing_kg": 1584, "carried_kg": 1229, "left_kg": 1}, {"pass": 22, "t": 554.1, "face": [-10.0, 0.0, 1.6], "dig_max_kg": 2005, "early_curl": false, "skips": 0, "at_swing_kg": 2005, "carried_kg": 1679, "left_kg": 10}, {"pass": 23, "t": 574.1, "face": [0.0, 0.0, 1.52], "dig_max_kg": 1982, "early_curl": false, "skips": 0, "at_swing_kg": 1767, "carried_kg": 1300, "left_kg": 10}, {"pass": 24, "t": 592.6, "face": [0.0, 0.0, 1.64], "dig_max_kg": 2027, "early_curl": false, "skips": 0, "at_swing_kg": 2027, "carried_kg": 1371, "left_kg": 1}], "dozer": {"passes": 9, "push_m": 43.9, "work_MJ": 0.35, "load_lifts": 1, "lifts_raised": 1, "parked_s": 422.43, "working_s": 190.1, "peak_kN": 49.22, "slip_s": 0.0, "futile_passes": 2, "mean_push_kN": [9.9, 4.5, 7.3, 7.1, 10.7, 0.3, 0.3, 8.7, 4.7]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 40.0, "rms_from_grade_m": 0.216, "max_above_grade_m": 0.28, "at_grade_fraction": 0.29, "unspread_m3": 0.21}} diff --git a/phase2/logs/haul_quick25_main_loam_1carrier.json b/phase2/logs/haul_quick25_main_loam_1carrier.json new file mode 100644 index 0000000..81bce56 --- /dev/null +++ b/phase2/logs/haul_quick25_main_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 618.2, "stopped_after_passes": 25, "realtime_factor": 0.209, "loads": [{"carrier": 0, "departed_s": 207.6, "load_kg": 10443, "loading_s": 207.6, "passes": 9}, {"carrier": 0, "departed_s": 354.3, "load_kg": 10045, "loading_s": 89.9, "passes": 5}, {"carrier": 0, "departed_s": 552.4, "load_kg": 10065, "loading_s": 141.2, "passes": 7}], "trips": [{"depart_t": 207.6, "stages": {"loading": 207.6, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 50, "away_s": 56.72}, {"depart_t": 354.27, "stages": {"loading": 89.95, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.35, "lower": 5.0, "return": 5.15, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 440, "away_s": 56.95}, {"depart_t": 552.42, "stages": {"loading": 141.2, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.7, "lower": 5.0, "return": 5.07, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 152, "away_s": 57.21}], "delivered_t": 29.91, "loaded_t": 32.17, "loaded_t_per_hour": 187.4, "mean_departure_interval_s": 172.4, "t_per_hour": 174.2, "mean_load_kg": 10184.0, "mean_loading_s": 146.2, "carry_back_kg": [50, 440, 152], "mean_away_s": 57.0, "excavator_wait_s": 141.8, "passes": 25, "spoil_settled_t": 20.47, "lost_particles": 1405, "pool_short": 0, "skipped": [{"t": 79.38, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 83.4, "stage": "drag", "max_err_rad": 0.134}, {"t": 146.88, "stage": "penetrate", "max_err_rad": 0.241}, {"t": 150.9, "stage": "drag", "max_err_rad": 0.257}, {"t": 154.92, "stage": "drag-curl", "max_err_rad": 0.207}, {"t": 476.63, "stage": "penetrate", "max_err_rad": 0.15}, {"t": 480.65, "stage": "drag", "max_err_rad": 0.176}, {"t": 484.67, "stage": "drag-curl", "max_err_rad": 0.188}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.9, "pit_left_t": 144.5, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "curl_gain_kg": 120, "curl_tears": null, "mean_carried_kg": 1220, "mean_dumped_kg": 1116, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1113, "early_curl": true, "skips": 0, "at_swing_kg": 1075, "carried_kg": 1170, "left_kg": 12}, {"pass": 1, "t": 14.8, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1191, "early_curl": true, "skips": 0, "at_swing_kg": 1138, "carried_kg": 1164, "left_kg": 15}, {"pass": 2, "t": 32.6, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1235, "early_curl": true, "skips": 0, "at_swing_kg": 364, "carried_kg": 463, "left_kg": 91}, {"pass": 3, "t": 51.3, "face": [-10.0, 0.0, 1.23], "dig_max_kg": 1560, "early_curl": false, "skips": 0, "at_swing_kg": 1525, "carried_kg": 1546, "left_kg": 22}, {"pass": 4, "t": 70.4, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1554, "early_curl": false, "skips": 2, "at_swing_kg": 765, "carried_kg": 978, "left_kg": 12}, {"pass": 5, "t": 97.0, "face": [-30.0, 0.0, 0.83], "dig_max_kg": 1185, "early_curl": false, "skips": 0, "at_swing_kg": 1162, "carried_kg": 1265, "left_kg": 87}, {"pass": 6, "t": 118.6, "face": [-30.0, 0.0, 1.09], "dig_max_kg": 1410, "early_curl": false, "skips": 0, "at_swing_kg": 1214, "carried_kg": 1377, "left_kg": 399}, {"pass": 7, "t": 137.4, "face": [20.0, 0.0, 0.73], "dig_max_kg": 1230, "early_curl": false, "skips": 3, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 1}, {"pass": 8, "t": 166.7, "face": [20.0, 0.0, 0.74], "dig_max_kg": 1382, "early_curl": false, "skips": 0, "at_swing_kg": 1350, "carried_kg": 1475, "left_kg": 323}, {"pass": 9, "t": 186.5, "face": [0.0, 0.0, 0.69], "dig_max_kg": 1354, "early_curl": false, "skips": 0, "at_swing_kg": 1083, "carried_kg": 1298, "left_kg": 326}, {"pass": 10, "t": 209.2, "face": [0.0, 0.0, 1.17], "dig_max_kg": 1468, "early_curl": false, "skips": 0, "at_swing_kg": 1554, "carried_kg": 1503, "left_kg": 97}, {"pass": 11, "t": 272.0, "face": [-10.0, 0.0, 0.61], "dig_max_kg": 1376, "early_curl": false, "skips": 0, "at_swing_kg": 1364, "carried_kg": 1500, "left_kg": 55}, {"pass": 12, "t": 289.1, "face": [-10.0, 0.0, 1.16], "dig_max_kg": 1376, "early_curl": true, "skips": 0, "at_swing_kg": 1282, "carried_kg": 1400, "left_kg": 28}, {"pass": 13, "t": 304.8, "face": [-20.0, 0.0, 0.62], "dig_max_kg": 1389, "early_curl": false, "skips": 0, "at_swing_kg": 1378, "carried_kg": 1409, "left_kg": 108}, {"pass": 14, "t": 321.9, "face": [-20.0, 0.0, 1.11], "dig_max_kg": 1389, "early_curl": true, "skips": 0, "at_swing_kg": 1089, "carried_kg": 1292, "left_kg": 67}, {"pass": 15, "t": 337.8, "face": [-30.0, 0.0, 0.8], "dig_max_kg": 1521, "early_curl": false, "skips": 0, "at_swing_kg": 1458, "carried_kg": 1528, "left_kg": 86}, {"pass": 16, "t": 355.4, "face": [-20.0, 0.0, 0.58], "dig_max_kg": 1526, "early_curl": false, "skips": 0, "at_swing_kg": 1617, "carried_kg": 1556, "left_kg": 79}, {"pass": 17, "t": 418.4, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1526, "early_curl": true, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1332, "left_kg": 20}, {"pass": 18, "t": 434.3, "face": [-20.0, 0.0, 0.57], "dig_max_kg": 1429, "early_curl": false, "skips": 0, "at_swing_kg": 1428, "carried_kg": 1408, "left_kg": 19}, {"pass": 19, "t": 450.8, "face": [-20.0, 0.0, 1.1], "dig_max_kg": 1429, "early_curl": true, "skips": 0, "at_swing_kg": 1128, "carried_kg": 1207, "left_kg": 42}, {"pass": 20, "t": 467.7, "face": [20.0, 0.0, 0.88], "dig_max_kg": 1129, "early_curl": false, "skips": 3, "at_swing_kg": 194, "carried_kg": 381, "left_kg": 216}, {"pass": 21, "t": 497.0, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1129, "early_curl": false, "skips": 0, "at_swing_kg": 1115, "carried_kg": 1190, "left_kg": 27}, {"pass": 22, "t": 515.7, "face": [10.0, 0.0, 0.53], "dig_max_kg": 1129, "early_curl": false, "skips": 0, "at_swing_kg": 1070, "carried_kg": 1256, "left_kg": 117}, {"pass": 23, "t": 535.5, "face": [10.0, 0.0, 1.15], "dig_max_kg": 1251, "early_curl": true, "skips": 0, "at_swing_kg": 1092, "carried_kg": 1313, "left_kg": 303}, {"pass": 24, "t": 554.1, "face": [0.0, 0.0, 0.73], "dig_max_kg": 1501, "early_curl": false, "skips": 0, "at_swing_kg": 1551, "carried_kg": 1482, "left_kg": 45}], "dozer": {"passes": 5, "push_m": 42.95, "work_MJ": 0.76, "load_lifts": 15, "lifts_raised": 1, "parked_s": 455.55, "working_s": 162.62, "peak_kN": 85.7, "slip_s": 0.32, "futile_passes": 0, "mean_push_kN": [12.2, 19.9, 12.6, 12.7, 24.0]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 39.1, "rms_from_grade_m": 0.355, "max_above_grade_m": 0.9, "at_grade_fraction": 0.18, "unspread_m3": 1.4}} From 5bc1d2d5673f33c2bc6106ee84ddfb0c9c940a72 Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Thu, 5 Nov 2026 23:37:37 +0100 Subject: [PATCH 5/7] Haul logs from the clay autopilot investigation Co-Authored-By: Claude Opus 5.5 --- phase2/RESULTS.md | 2 +- phase2/logs/haul_bench_pwri_face_long_clay_1carrier.json | 1 + phase2/logs/haul_bench_pwri_face_long_dry-sand_1carrier.json | 1 + phase2/logs/haul_bench_pwri_face_long_loam_1carrier.json | 1 + phase2/logs/haul_bench_pwri_rest_long_clay_1carrier.json | 1 + phase2/logs/haul_bench_pwri_tear_long_clay_1carrier.json | 1 + phase2/logs/haul_bench_pwri_tear_long_loam_1carrier.json | 1 + 7 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 phase2/logs/haul_bench_pwri_face_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_face_long_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_face_long_loam_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_rest_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_tear_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_pwri_tear_long_loam_1carrier.json diff --git a/phase2/RESULTS.md b/phase2/RESULTS.md index 04906e3..ee6df7a 100644 --- a/phase2/RESULTS.md +++ b/phase2/RESULTS.md @@ -1508,7 +1508,7 @@ Whether the tear rule suits loam, and whether either change helps over a long sh **Open: the clay strip 20° left.** The planner expects 0.8–1.2 m³ in that strip, but its passes bring out 3–59 kg. When its rest ends it is chosen again, and it fails again. Most thin clay passes come from it. -Logs: `logs/haul_quick25___1carrier.json`. +Logs: `logs/haul_quick25___1carrier.json`. The 1500 s runs before the bucket calibration are `logs/haul_bench_pwri_face_long__1carrier.json`, with the half-bucket rule in every soil, and `logs/haul_bench_pwri_tear_long__1carrier.json`, with the tear guard. `logs/haul_bench_pwri_rest_long_clay_1carrier.json` adds the earlier set-aside. **Limits:** - Every value is for 1800 min⁻¹ in eco mode. At full power the pumps deliver more: the spec swing speed is 19 % higher. diff --git a/phase2/logs/haul_bench_pwri_face_long_clay_1carrier.json b/phase2/logs/haul_bench_pwri_face_long_clay_1carrier.json new file mode 100644 index 0000000..bc482b9 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_face_long_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.414, "loads": [{"carrier": 0, "departed_s": 294.0, "load_kg": 10596, "loading_s": 294.0, "passes": 13}, {"carrier": 0, "departed_s": 639.0, "load_kg": 10880, "loading_s": 286.9, "passes": 14}, {"carrier": 0, "departed_s": 993.2, "load_kg": 10860, "loading_s": 295.6, "passes": 14}, {"carrier": 0, "departed_s": 1280.0, "load_kg": 10273, "loading_s": 227.9, "passes": 11}], "trips": [{"depart_t": 294.02, "stages": {"loading": 294.02, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.85, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 250, "away_s": 58.08}, {"depart_t": 638.97, "stages": {"loading": 286.87, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.65, "lower": 5.0, "return": 4.57, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 347, "away_s": 58.66}, {"depart_t": 993.22, "stages": {"loading": 295.58, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.9, "lower": 5.0, "return": 4.5, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 281, "away_s": 58.85}, {"depart_t": 1280.02, "stages": {"loading": 227.95, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.1, "lower": 5.0, "return": 4.15, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 270, "away_s": 59.7}], "delivered_t": 41.46, "loaded_t": 48.7, "loaded_t_per_hour": 116.9, "mean_departure_interval_s": 328.7, "t_per_hour": 99.5, "mean_load_kg": 10652.0, "mean_loading_s": 276.1, "carry_back_kg": [250, 347, 281, 270], "mean_away_s": 58.8, "excavator_wait_s": 197.0, "passes": 64, "spoil_settled_t": 42.17, "lost_particles": 1375, "pool_short": 0, "skipped": [{"t": 104.35, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 108.37, "stage": "drag", "max_err_rad": 0.136}, {"t": 192.88, "stage": "penetrate", "max_err_rad": 0.239}, {"t": 196.9, "stage": "drag", "max_err_rad": 0.255}, {"t": 200.92, "stage": "drag-curl", "max_err_rad": 0.204}, {"t": 910.32, "stage": "swing back", "max_err_rad": 0.037}, {"t": 1241.18, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 1245.2, "stage": "drag", "max_err_rad": 0.148}, {"t": 1487.27, "stage": "penetrate", "max_err_rad": 0.123}, {"t": 1491.28, "stage": "drag", "max_err_rad": 0.164}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 235.3, "pit_left_t": 125.6, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0]], "dozer": {"passes": 18, "push_m": 132.19, "work_MJ": 2.58, "load_lifts": 33, "lifts_raised": 1, "parked_s": 1062.28, "working_s": 437.73, "peak_kN": 78.44, "slip_s": 1.07, "futile_passes": 1, "mean_push_kN": [27.5, 11.8, 10.0, 12.6, 16.9, 21.2, 16.9, 10.6, 22.7, 27.2, 15.8, 18.7, 22.2, 13.1, 6.0, 28.4, 16.8, 20.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 51.0, "rms_from_grade_m": 0.26, "max_above_grade_m": 0.93, "at_grade_fraction": 0.36, "unspread_m3": 1.1}} diff --git a/phase2/logs/haul_bench_pwri_face_long_dry-sand_1carrier.json b/phase2/logs/haul_bench_pwri_face_long_dry-sand_1carrier.json new file mode 100644 index 0000000..497542d --- /dev/null +++ b/phase2/logs/haul_bench_pwri_face_long_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.401, "loads": [{"carrier": 0, "departed_s": 236.0, "load_kg": 10116, "loading_s": 236.0, "passes": 11}, {"carrier": 0, "departed_s": 445.5, "load_kg": 10826, "loading_s": 152.8, "passes": 8}, {"carrier": 0, "departed_s": 625.3, "load_kg": 10023, "loading_s": 123.1, "passes": 6}, {"carrier": 0, "departed_s": 864.7, "load_kg": 10562, "loading_s": 182.7, "passes": 9}, {"carrier": 0, "departed_s": 1205.4, "load_kg": 10732, "loading_s": 283.1, "passes": 13}], "trips": [{"depart_t": 236.0, "stages": {"loading": 236.0, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 22, "away_s": 56.72}, {"depart_t": 445.48, "stages": {"loading": 152.77, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 232, "away_s": 56.72}, {"depart_t": 625.3, "stages": {"loading": 123.1, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 248, "away_s": 56.72}, {"depart_t": 864.73, "stages": {"loading": 182.72, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.13, "lower": 5.0, "return": 4.97, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 267, "away_s": 57.55}, {"depart_t": 1205.37, "stages": {"loading": 283.08, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.25, "lower": 5.0, "return": 4.93, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 416, "away_s": 57.63}], "delivered_t": 51.07, "loaded_t": 56.26, "loaded_t_per_hour": 135.0, "mean_departure_interval_s": 242.4, "t_per_hour": 122.6, "mean_load_kg": 10452.0, "mean_loading_s": 195.5, "carry_back_kg": [22, 232, 248, 267, 416], "mean_away_s": 57.1, "excavator_wait_s": 233.1, "passes": 64, "spoil_settled_t": 51.03, "lost_particles": 5800, "pool_short": 439, "skipped": [{"t": 159.6, "stage": "swing back", "max_err_rad": 0.067}, {"t": 163.62, "stage": "approach", "max_err_rad": 1.4}, {"t": 167.63, "stage": "penetrate", "max_err_rad": 1.397}, {"t": 171.65, "stage": "drag", "max_err_rad": 1.394}, {"t": 175.67, "stage": "drag-curl", "max_err_rad": 1.379}, {"t": 179.68, "stage": "curl", "max_err_rad": 1.22}, {"t": 189.57, "stage": "swing to truck", "max_err_rad": 0.401}, {"t": 231.22, "stage": "swing to truck", "max_err_rad": 0.138}, {"t": 1147.55, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 1151.57, "stage": "drag", "max_err_rad": 0.208}, {"t": 1373.4, "stage": "penetrate", "max_err_rad": 0.168}, {"t": 1377.42, "stage": "drag", "max_err_rad": 0.236}, {"t": 1381.43, "stage": "drag-curl", "max_err_rad": 0.311}, {"t": 1385.45, "stage": "curl", "max_err_rad": 0.404}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 285.3, "pit_left_t": 76.3, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0]], "dozer": {"passes": 20, "push_m": 108.56, "work_MJ": 0.95, "load_lifts": 1, "lifts_raised": 1, "parked_s": 1090.78, "working_s": 409.23, "peak_kN": 52.41, "slip_s": 0.0, "futile_passes": 3, "mean_push_kN": [10.8, 4.6, 8.1, 8.0, 12.8, 3.5, 0.1, 8.2, 2.7, 6.4, 15.7, 2.5, 0.3, 6.3, 7.0, 7.7, 4.3, 2.0, 12.7, 10.0]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 55.3, "rms_from_grade_m": 0.142, "max_above_grade_m": 0.39, "at_grade_fraction": 0.57, "unspread_m3": 0.6}} diff --git a/phase2/logs/haul_bench_pwri_face_long_loam_1carrier.json b/phase2/logs/haul_bench_pwri_face_long_loam_1carrier.json new file mode 100644 index 0000000..518f2a4 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_face_long_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.419, "loads": [{"carrier": 0, "departed_s": 214.4, "load_kg": 10453, "loading_s": 214.4, "passes": 10}, {"carrier": 0, "departed_s": 405.0, "load_kg": 11390, "loading_s": 133.6, "passes": 7}, {"carrier": 0, "departed_s": 624.9, "load_kg": 10623, "loading_s": 162.8, "passes": 8}, {"carrier": 0, "departed_s": 856.2, "load_kg": 10740, "loading_s": 174.1, "passes": 9}, {"carrier": 0, "departed_s": 1071.5, "load_kg": 10043, "loading_s": 157.6, "passes": 8}, {"carrier": 0, "departed_s": 1358.8, "load_kg": 11193, "loading_s": 229.2, "passes": 10}, {"carrier": 0, "departed_s": 1445.3, "load_kg": 2008, "loading_s": 28.4, "passes": 2}], "trips": [{"depart_t": 214.37, "stages": {"loading": 214.37, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.5, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 242, "away_s": 57.06}, {"depart_t": 405.02, "stages": {"loading": 133.58, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.6, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 155, "away_s": 57.15}, {"depart_t": 624.95, "stages": {"loading": 162.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.67, "lower": 5.0, "return": 5.08, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 226, "away_s": 57.2}, {"depart_t": 856.22, "stages": {"loading": 174.07, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.4, "lower": 5.0, "return": 4.9, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 345, "away_s": 57.75}, {"depart_t": 1071.53, "stages": {"loading": 157.57, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.83, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 145, "away_s": 58.07}, {"depart_t": 1358.85, "stages": {"loading": 229.25, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.77, "lower": 5.0, "return": 4.8, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 332, "away_s": 58.02}], "delivered_t": 64.97, "loaded_t": 66.45, "loaded_t_per_hour": 159.5, "mean_departure_interval_s": 205.2, "t_per_hour": 155.9, "mean_load_kg": 9493.0, "mean_loading_s": 157.2, "carry_back_kg": [242, 155, 226, 345, 145, 332], "mean_away_s": 57.5, "excavator_wait_s": 268.7, "passes": 60, "spoil_settled_t": 64.45, "lost_particles": 2013, "pool_short": 0, "skipped": [{"t": 100.18, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 104.2, "stage": "drag", "max_err_rad": 0.139}, {"t": 867.32, "stage": "penetrate", "max_err_rad": 0.127}, {"t": 871.33, "stage": "drag", "max_err_rad": 0.194}, {"t": 875.35, "stage": "drag-curl", "max_err_rad": 0.308}, {"t": 1184.27, "stage": "penetrate", "max_err_rad": 0.124}, {"t": 1188.28, "stage": "drag", "max_err_rad": 0.2}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 400.0, "pit_left_t": 99.0, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-40.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [0.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0]], "dozer": {"passes": 18, "push_m": 126.72, "work_MJ": 2.05, "load_lifts": 38, "lifts_raised": 2, "parked_s": 1024.55, "working_s": 475.47, "peak_kN": 86.61, "slip_s": 1.17, "futile_passes": 2, "mean_push_kN": [15.8, 19.9, 11.4, 14.3, 22.6, 21.2, 5.1, 19.3, 17.3, 16.9, 15.5, 13.6, 6.5, 5.3, 18.0, 23.0, 14.8, 3.5]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 53.8, "rms_from_grade_m": 0.441, "max_above_grade_m": 1.74, "at_grade_fraction": 0.27, "unspread_m3": 3.61}} diff --git a/phase2/logs/haul_bench_pwri_rest_long_clay_1carrier.json b/phase2/logs/haul_bench_pwri_rest_long_clay_1carrier.json new file mode 100644 index 0000000..0953164 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_rest_long_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.212, "loads": [{"carrier": 0, "departed_s": 323.9, "load_kg": 10522, "loading_s": 323.9, "passes": 14}, {"carrier": 0, "departed_s": 594.5, "load_kg": 10376, "loading_s": 212.5, "passes": 10}, {"carrier": 0, "departed_s": 861.1, "load_kg": 10771, "loading_s": 208.0, "passes": 10}, {"carrier": 0, "departed_s": 1320.0, "load_kg": 11107, "loading_s": 400.3, "passes": 19}], "trips": [{"depart_t": 323.93, "stages": {"loading": 323.93, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.93, "lower": 5.0, "return": 4.75, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 237, "away_s": 58.14}, {"depart_t": 594.53, "stages": {"loading": 212.47, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.58, "lower": 5.0, "return": 4.58, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 307, "away_s": 58.62}, {"depart_t": 861.12, "stages": {"loading": 207.97, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.5, "lower": 5.0, "return": 4.6, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 124, "away_s": 58.55}, {"depart_t": 1320.02, "stages": {"loading": 400.35, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.1, "lower": 5.0, "return": 4.15, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 313, "away_s": 59.7}], "delivered_t": 41.8, "loaded_t": 48.02, "loaded_t_per_hour": 115.3, "mean_departure_interval_s": 332.0, "t_per_hour": 100.3, "mean_load_kg": 10694.0, "mean_loading_s": 286.2, "carry_back_kg": [237, 307, 124, 313], "mean_away_s": 58.8, "excavator_wait_s": 195.4, "passes": 62, "spoil_settled_t": 42.32, "lost_particles": 1492, "pool_short": 0, "skipped": [{"t": 107.35, "stage": "penetrate", "max_err_rad": 0.235}, {"t": 111.37, "stage": "drag", "max_err_rad": 0.251}, {"t": 115.38, "stage": "drag-curl", "max_err_rad": 0.199}, {"t": 119.4, "stage": "curl", "max_err_rad": 0.125}, {"t": 202.1, "stage": "penetrate", "max_err_rad": 0.176}, {"t": 322.87, "stage": "swing back", "max_err_rad": 0.0}, {"t": 435.92, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 439.93, "stage": "drag", "max_err_rad": 0.136}, {"t": 573.08, "stage": "swing back", "max_err_rad": 0.121}, {"t": 758.38, "stage": "penetrate", "max_err_rad": 0.204}, {"t": 762.4, "stage": "drag", "max_err_rad": 0.226}, {"t": 766.42, "stage": "drag-curl", "max_err_rad": 0.186}, {"t": 1110.28, "stage": "penetrate", "max_err_rad": 0.148}, {"t": 1114.3, "stage": "drag", "max_err_rad": 0.174}, {"t": 1118.32, "stage": "drag-curl", "max_err_rad": 0.204}, {"t": 1277.85, "stage": "penetrate", "max_err_rad": 0.239}, {"t": 1281.87, "stage": "drag", "max_err_rad": 0.258}, {"t": 1285.88, "stage": "drag-curl", "max_err_rad": 0.217}, {"t": 1289.9, "stage": "curl", "max_err_rad": 0.234}, {"t": 1456.1, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 1460.12, "stage": "drag", "max_err_rad": 0.174}, {"t": 1464.13, "stage": "drag-curl", "max_err_rad": 0.262}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 235.0, "pit_left_t": 131.0, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0]], "dozer": {"passes": 23, "push_m": 154.45, "work_MJ": 2.89, "load_lifts": 41, "lifts_raised": 1, "parked_s": 989.85, "working_s": 510.17, "peak_kN": 69.52, "slip_s": 0.67, "futile_passes": 4, "mean_push_kN": [15.0, 19.3, 16.9, 9.4, 14.9, 0.2, 17.3, 17.6, 16.0, 19.7, 19.0, 16.1, 12.9, 20.4, 1.2, 26.7, 18.0, 17.2, 17.3, 10.0, 4.5, 29.5, 24.5]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 50.3, "rms_from_grade_m": 0.286, "max_above_grade_m": 1.36, "at_grade_fraction": 0.33, "unspread_m3": 1.66}} diff --git a/phase2/logs/haul_bench_pwri_tear_long_clay_1carrier.json b/phase2/logs/haul_bench_pwri_tear_long_clay_1carrier.json new file mode 100644 index 0000000..eaef447 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_tear_long_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.313, "loads": [{"carrier": 0, "departed_s": 222.6, "load_kg": 10618, "loading_s": 222.6, "passes": 10}, {"carrier": 0, "departed_s": 549.2, "load_kg": 11329, "loading_s": 268.4, "passes": 13}, {"carrier": 0, "departed_s": 913.9, "load_kg": 10822, "loading_s": 305.8, "passes": 15}, {"carrier": 0, "departed_s": 1266.9, "load_kg": 11644, "loading_s": 294.3, "passes": 14}], "trips": [{"depart_t": 222.6, "stages": {"loading": 222.6, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.02, "lower": 5.0, "return": 4.73, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 269, "away_s": 58.2}, {"depart_t": 549.25, "stages": {"loading": 268.45, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.87, "lower": 5.0, "return": 4.5, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 255, "away_s": 58.82}, {"depart_t": 913.87, "stages": {"loading": 305.8, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.75, "lower": 5.0, "return": 4.53, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 353, "away_s": 58.73}, {"depart_t": 1266.95, "stages": {"loading": 294.35, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.42, "lower": 5.0, "return": 4.05, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 356, "away_s": 59.92}], "delivered_t": 43.18, "loaded_t": 51.92, "loaded_t_per_hour": 124.6, "mean_departure_interval_s": 348.1, "t_per_hour": 103.6, "mean_load_kg": 11103.0, "mean_loading_s": 272.8, "carry_back_kg": [269, 255, 353, 356], "mean_away_s": 58.9, "excavator_wait_s": 196.8, "passes": 64, "spoil_settled_t": 44.01, "lost_particles": 1194, "pool_short": 0, "skipped": [{"t": 104.75, "stage": "penetrate", "max_err_rad": 0.242}, {"t": 108.77, "stage": "drag", "max_err_rad": 0.257}, {"t": 112.78, "stage": "drag-curl", "max_err_rad": 0.207}, {"t": 392.42, "stage": "penetrate", "max_err_rad": 0.126}, {"t": 396.43, "stage": "drag", "max_err_rad": 0.139}, {"t": 715.95, "stage": "penetrate", "max_err_rad": 0.148}, {"t": 719.97, "stage": "drag", "max_err_rad": 0.173}, {"t": 723.98, "stage": "drag-curl", "max_err_rad": 0.186}, {"t": 1398.17, "stage": "penetrate", "max_err_rad": 0.195}, {"t": 1402.18, "stage": "drag", "max_err_rad": 0.219}, {"t": 1406.2, "stage": "drag-curl", "max_err_rad": 0.221}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 235.7, "pit_left_t": 124.9, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0]], "dozer": {"passes": 18, "push_m": 128.32, "work_MJ": 2.67, "load_lifts": 50, "lifts_raised": 1, "parked_s": 1068.02, "working_s": 432.0, "peak_kN": 71.73, "slip_s": 1.75, "futile_passes": 2, "mean_push_kN": [18.7, 18.6, 11.3, 21.0, 17.5, 15.8, 23.5, 23.8, 11.3, 26.8, 12.1, 24.0, 23.0, 27.0, 25.6, 28.6, 3.0, 21.8]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 47.5, "rms_from_grade_m": 0.317, "max_above_grade_m": 1.72, "at_grade_fraction": 0.29, "unspread_m3": 1.84}} diff --git a/phase2/logs/haul_bench_pwri_tear_long_loam_1carrier.json b/phase2/logs/haul_bench_pwri_tear_long_loam_1carrier.json new file mode 100644 index 0000000..6cf9375 --- /dev/null +++ b/phase2/logs/haul_bench_pwri_tear_long_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "realtime_factor": 0.324, "loads": [{"carrier": 0, "departed_s": 197.8, "load_kg": 10662, "loading_s": 197.8, "passes": 9}, {"carrier": 0, "departed_s": 451.8, "load_kg": 11160, "loading_s": 197.0, "passes": 10}, {"carrier": 0, "departed_s": 645.1, "load_kg": 10811, "loading_s": 136.0, "passes": 7}, {"carrier": 0, "departed_s": 873.4, "load_kg": 10390, "loading_s": 171.0, "passes": 8}, {"carrier": 0, "departed_s": 1086.4, "load_kg": 12008, "loading_s": 155.2, "passes": 8}, {"carrier": 0, "departed_s": 1323.5, "load_kg": 8062, "loading_s": 178.9, "passes": 9}], "trips": [{"depart_t": 197.83, "stages": {"loading": 197.83, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.28, "lower": 5.0, "return": 5.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 192, "away_s": 56.9}, {"depart_t": 451.78, "stages": {"loading": 197.05, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.83, "lower": 5.0, "return": 5.03, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 125, "away_s": 57.32}, {"depart_t": 645.08, "stages": {"loading": 135.98, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.78, "lower": 5.0, "return": 5.05, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 269, "away_s": 57.29}, {"depart_t": 873.42, "stages": {"loading": 171.05, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.45, "lower": 5.0, "return": 4.88, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 295, "away_s": 57.78}, {"depart_t": 1086.38, "stages": {"loading": 155.18, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.98, "lower": 5.0, "return": 4.75, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 335, "away_s": 58.19}, {"depart_t": 1323.47, "stages": {"loading": 178.9, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.65, "lower": 5.0, "return": 4.83, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 172, "away_s": 57.93}], "delivered_t": 61.71, "loaded_t": 63.21, "loaded_t_per_hour": 151.7, "mean_departure_interval_s": 225.1, "t_per_hour": 148.1, "mean_load_kg": 10516.0, "mean_loading_s": 172.7, "carry_back_kg": [192, 125, 269, 295, 335, 172], "mean_away_s": 57.6, "excavator_wait_s": 233.2, "passes": 56, "spoil_settled_t": 60.97, "lost_particles": 1746, "pool_short": 0, "skipped": [{"t": 101.12, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 105.13, "stage": "drag", "max_err_rad": 0.135}, {"t": 771.77, "stage": "penetrate", "max_err_rad": 0.181}, {"t": 775.78, "stage": "drag", "max_err_rad": 0.209}, {"t": 779.8, "stage": "drag-curl", "max_err_rad": 0.26}, {"t": 1257.75, "stage": "penetrate", "max_err_rad": 0.171}, {"t": 1261.77, "stage": "drag", "max_err_rad": 0.236}, {"t": 1265.78, "stage": "drag-curl", "max_err_rad": 0.311}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 345.4, "pit_left_t": 104.5, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-40.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0]], "dozer": {"passes": 24, "push_m": 153.26, "work_MJ": 2.09, "load_lifts": 34, "lifts_raised": 2, "parked_s": 951.05, "working_s": 548.97, "peak_kN": 76.81, "slip_s": 1.32, "futile_passes": 7, "mean_push_kN": [23.6, 12.0, 14.4, 20.9, 18.5, 5.3, 22.4, 15.4, 8.2, 5.7, 4.6, 13.2, 14.7, 12.8, 4.5, 21.9, 18.6, 14.2, 9.3, 3.9, 1.8, 1.8, 2.2, 0.8]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 55.5, "rms_from_grade_m": 0.425, "max_above_grade_m": 1.3, "at_grade_fraction": 0.22, "unspread_m3": 2.12}} From a170313fac7a233c2f2328d5d24a359edebf88ec Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Fri, 6 Nov 2026 10:07:47 +0100 Subject: [PATCH 6/7] Autopilot: approach aims at the next pass's strip; 3371b1c's tear rule and early set-aside reverted The pass count goes up only once the approach is reached, so 'swing back' and the approach were planned with the previous pass's strip: the house swung toward the new strip, back to the old one, then across again while penetrating, overshooting into the pit wall. That was the failing clay strip at +20 deg. _lane_pass() now aims both at the next pass's strip. Clay and loam dump about 11 % more per pass (25-pass runs, 3 each); clay over 1500 s loads 52-58 t instead of 43.5 t. The curl-tear rule lowered clay and loam per-pass mass, and setting poor strips aside early made no measurable difference, so both are reverted (A/B in RESULTS.md). Co-Authored-By: Claude Opus 5.5 --- phase2/RESULTS.md | 46 ++++--- phase2/bench_haul.py | 1 - phase2/excavator_server.py | 77 +++++------- ...ul_bench_lane_fix_long2_clay_1carrier.json | 1 + ...ench_lane_fix_long2_dry-sand_1carrier.json | 1 + ...ul_bench_lane_fix_long2_loam_1carrier.json | 1 + ...aul_bench_lane_fix_long_clay_1carrier.json | 117 ++++++++++++++++++ ...bench_lane_fix_long_dry-sand_1carrier.json | 115 +++++++++++++++++ ...aul_bench_lane_fix_long_loam_1carrier.json | 117 ++++++++++++++++++ ...ench_lane_old_long2_dry-sand_1carrier.json | 1 + ...ul_bench_lane_old_long2_loam_1carrier.json | 1 + ...ch_lane_restearly_long1_clay_1carrier.json | 1 + ...ch_lane_restearly_long2_clay_1carrier.json | 1 + .../logs/haul_quick25_lane_base_clay_1.json | 1 + .../logs/haul_quick25_lane_base_clay_2.json | 1 + .../logs/haul_quick25_lane_base_clay_3.json | 1 + .../haul_quick25_lane_base_dry-sand_1.json | 1 + .../haul_quick25_lane_base_dry-sand_2.json | 1 + .../haul_quick25_lane_base_dry-sand_3.json | 1 + .../logs/haul_quick25_lane_base_loam_1.json | 1 + .../logs/haul_quick25_lane_base_loam_2.json | 1 + .../logs/haul_quick25_lane_base_loam_3.json | 1 + phase2/logs/haul_quick25_lane_fix_clay_1.json | 1 + phase2/logs/haul_quick25_lane_fix_clay_2.json | 1 + phase2/logs/haul_quick25_lane_fix_clay_3.json | 1 + .../haul_quick25_lane_fix_dry-sand_1.json | 1 + .../haul_quick25_lane_fix_dry-sand_2.json | 1 + .../haul_quick25_lane_fix_dry-sand_3.json | 1 + phase2/logs/haul_quick25_lane_fix_loam_1.json | 1 + phase2/logs/haul_quick25_lane_fix_loam_2.json | 1 + phase2/logs/haul_quick25_lane_fix_loam_3.json | 1 + .../logs/haul_quick25_lane_rest_clay_1.json | 1 + .../logs/haul_quick25_lane_rest_clay_2.json | 1 + .../logs/haul_quick25_lane_rest_clay_3.json | 1 + .../logs/haul_quick25_lane_rest_loam_1.json | 1 + .../logs/haul_quick25_lane_rest_loam_2.json | 1 + .../logs/haul_quick25_lane_rest_loam_3.json | 1 + 37 files changed, 440 insertions(+), 64 deletions(-) create mode 100644 phase2/logs/haul_bench_lane_fix_long2_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_fix_long2_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_fix_long2_loam_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_old_long2_dry-sand_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_old_long2_loam_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_restearly_long1_clay_1carrier.json create mode 100644 phase2/logs/haul_bench_lane_restearly_long2_clay_1carrier.json create mode 100644 phase2/logs/haul_quick25_lane_base_clay_1.json create mode 100644 phase2/logs/haul_quick25_lane_base_clay_2.json create mode 100644 phase2/logs/haul_quick25_lane_base_clay_3.json create mode 100644 phase2/logs/haul_quick25_lane_base_dry-sand_1.json create mode 100644 phase2/logs/haul_quick25_lane_base_dry-sand_2.json create mode 100644 phase2/logs/haul_quick25_lane_base_dry-sand_3.json create mode 100644 phase2/logs/haul_quick25_lane_base_loam_1.json create mode 100644 phase2/logs/haul_quick25_lane_base_loam_2.json create mode 100644 phase2/logs/haul_quick25_lane_base_loam_3.json create mode 100644 phase2/logs/haul_quick25_lane_fix_clay_1.json create mode 100644 phase2/logs/haul_quick25_lane_fix_clay_2.json create mode 100644 phase2/logs/haul_quick25_lane_fix_clay_3.json create mode 100644 phase2/logs/haul_quick25_lane_fix_dry-sand_1.json create mode 100644 phase2/logs/haul_quick25_lane_fix_dry-sand_2.json create mode 100644 phase2/logs/haul_quick25_lane_fix_dry-sand_3.json create mode 100644 phase2/logs/haul_quick25_lane_fix_loam_1.json create mode 100644 phase2/logs/haul_quick25_lane_fix_loam_2.json create mode 100644 phase2/logs/haul_quick25_lane_fix_loam_3.json create mode 100644 phase2/logs/haul_quick25_lane_rest_clay_1.json create mode 100644 phase2/logs/haul_quick25_lane_rest_clay_2.json create mode 100644 phase2/logs/haul_quick25_lane_rest_clay_3.json create mode 100644 phase2/logs/haul_quick25_lane_rest_loam_1.json create mode 100644 phase2/logs/haul_quick25_lane_rest_loam_2.json create mode 100644 phase2/logs/haul_quick25_lane_rest_loam_3.json diff --git a/phase2/RESULTS.md b/phase2/RESULTS.md index 04906e3..a97b974 100644 --- a/phase2/RESULTS.md +++ b/phase2/RESULTS.md @@ -1483,32 +1483,46 @@ Haul logs: `logs/haul_bench_fill_long__1carrier.json` (before) and `logs/h - **Clay passes come up light:** 0.81 t against the handbooks' 0.92–1.04 t and 0.93 t before. Loam moved from 5 % over its range to inside it (1.0–1.4 t). - **Clay and the face planner.** With the new hydraulics and the old planner, clay fell to 0.71 t a pass and one load took 25 passes. Per-pass traces showed no steady difference in what the bucket held at the start of the swing. The planner kept choosing one strip whose cut took slabs the bucket lost on the way out, at about 0.43 t a pass for some 30 passes. It brought back more than 30 % of a bucket at the start of the swing, so the planner never set it aside. Now, in clay, a pass that carries less than half a bucket to the carrier also sets its strip aside (`POOR_CARRIED`), and in every soil, strips set aside are taken again only when no other strip has a cut worth taking. That brought clay to 0.81 t and the longest load to 16 passes. The half-bucket rule hurt dry sand (1.11 t a pass): what spills on the swing there is no sign of a poor strip, so it applies to clay only. The remaining gap in clay is open. -**Autopilot changes after the bucket calibration.** Two changes for clay, which loaded less with the new hydraulics: - -- **The curl gain isn't learned from a slab tear.** The operator learns how much the curl adds and curls that much short of a full bucket. In one 1500 s clay run, one curl lost 842 of 882 kg, and that single sample pulled the learned gain down. It ended at 18 kg, against 357 kg on the old hydraulics. So the bucket was curled only once overfull, and that tore out more slabs (11 against 6). A curl losing more than a quarter of the load (`CURL_TEAR`) is now counted (`curl_tears`) and not learned from. In that run the gain then stayed at 410–430 kg, and clay went from 0.81 to 0.85 t a pass. -- **A poor strip is set aside at the carrier** (`_rest_if_poor`), not at the next approach. The next pass's strip is planned as the bucket swings back, so a poor strip used to be dug once more before its rest began. A log of the planner over 40 clay passes shows each poor strip set aside at once, and none taken again as a fallback. +**The approach aimed at the previous strip.** Most thin clay passes came from the strip 20° left: the planner expected 0.8–1.2 m³ there, but its first pass brought out 3–59 kg, with three stages timed out. Neither the cut depth nor the drag was the cause. The pass count goes up only when the approach is reached, so the segment into the approach was planned with the previous pass's strip. The house swung back toward the new strip, turned to the old one for the approach, and then swung across to the new one again while penetrating. From −10° to +20° that is 37° of swing during the cut. The calibrated swing brakes at 0.82 rad/s², so it overshot to +27°, and the bucket stuck on the pit wall. A second pass in the same strip had no swing to make, which is why that strip dug well when chosen again. 'Swing back' and the approach now both aim for the next pass's strip (`_lane_pass`). The traced pass now carries 1.06 t with no stage skipped, and every pass that changes strip skips the detour. `bench_haul.py` now logs every pass (`pass_log`: strip, most held while digging, at the swing, carried, left after the dump) and stops after `PASSES=N` passes for a quick check. -25-pass check against `main` (one run each, about 600 s; kg per pass, since t/h over 25 passes depends on where each run stops in a load): +**Two other changes, tried and reverted.** Two other changes were tried for clay: + +- **The tear rule.** A curl that lost more than a quarter of the load would not be learned from (`CURL_TEAR`). One curl losing 842 of 882 kg had pulled the learned curl gain down to 18 kg. +- **Setting a poor strip aside at the carrier** (`_rest_if_poor`) instead of at the next approach. + +Both were tested with the approach fix in place: 3 runs of 25 passes per variant. The figures are mean kg dumped per pass, with each run in brackets: -| | Carried to the carrier | Dumped | Thin passes (under half a bucket at the swing) | +| | Neither change | Both changes | Set-aside change only | |---|---|---|---| -| Dry sand: main / with the changes | 1336 / 1332 kg | 1331 / 1329 kg | 1 / 1 | -| Loam | 1220 / 1010 kg | 1116 / **906** kg | 3 / 6 | -| Clay | 1180 / 1107 kg | 1025 / 973 kg | 2 / 3 | +| Clay | **1041** (1071, 1085, 968) | 940 (1009, 844, 967) | 985 (1037, 969, 949) | +| Loam | 1165 (1186, 1142, 1166) | 1093 (1103, 1112, 1063) | **1188** (1166, 1227, 1172) | +| Dry sand | 1326 (1331, 1323, 1325) | 1331 (1338, 1313, 1342) | n/a: neither change acts in sand | + +- **The tear rule lowered both cohesive soils:** clay 5 % and loam 8 % below the set-aside change alone. So limiting it to clay would not help either. +- **The learned gain no longer collapses:** it ended at 136–273 kg in the 9 clay runs. +- **The set-aside change made no difference** in 25 passes, nor over 1500 s of clay. That is where the deep pit gives repeated thin passes from one strip: 55.5 and 53.0 t loaded with the change, against 52.3 and 58.4 t without it. + +Both are reverted. + +**The approach fix alone**, against the same autopilot without it: -The check doesn't show the changes helping: +- **25 passes:** clay and loam dump about 11 % more per pass (clay 935 → 1041 kg, mean of 4 old runs; loam 1047 → 1165 kg, 3 old runs), and passes are 1.5–2 s shorter. +- **1500 s, clay (one carrier):** 43.5 → 52.3 and 58.4 t loaded, 0.65 → 0.73 and 0.85 t per pass (`loaded_t` over all passes), 104 → 125 and 140 t/h loaded. Stages skipped fell from 13 to 3 and 8. +- **1500 s, dry sand:** no change beyond the spread: 70.0 and 62.2 t loaded before, 61.3 and 70.3 t after. +- **1500 s, loam:** no change beyond the spread either: 69.2 and 70.0 t before, 63.8 and 69.4 t after. Every loam run dug out all the soil within reach before 1500 s. +- **Other benches:** the trench (passes 1–6: 15.6–18.2 s) and the 130 s zone cycle (7 passes, 10.4 t) don't change strip between passes. `test_env.py` passes. -- **Loam** dumped 19 % less with them. Two of its curls counted as tears, and its learned gain fell to −69 kg. -- **Clay** dumped 5 % less, which is within the run-to-run spread. -- **The collapse they guard against hadn't happened yet** on `main`: clay's learned gain was still 60 kg after 25 passes. +**Still open:** -Whether the tear rule suits loam, and whether either change helps over a long shift, needs several runs per soil. +- **Clay still has thin passes once the pit is deep:** 17–26 of about 70 passes in the 1500 s runs. These passes barely fill while digging (160–600 kg at most), unlike the early failures, which filled and then lost the load. Half of them are in the strip 20° left. +- **Dry sand stalls when a load is full.** When the last pass fills the carrier, the house sometimes stays over it, and the next 6 stages time out, losing about 30 s. This happened once to four times per 1500 s, with or without the fix, and sets most of dry sand's run-to-run spread. -**Open: the clay strip 20° left.** The planner expects 0.8–1.2 m³ in that strip, but its passes bring out 3–59 kg. When its rest ends it is chosen again, and it fails again. Most thin clay passes come from it. +Logs: -Logs: `logs/haul_quick25___1carrier.json`. +- 25-pass runs: `logs/haul_quick25_lane___.json`; the earlier checks are `logs/haul_quick25___1carrier.json`. +- 1500 s runs: `logs/haul_bench_lane_fix_long[2]__1carrier.json`, `logs/haul_bench_lane_old_long2__1carrier.json` and `logs/haul_bench_lane_restearly_long_clay_1carrier.json`. **Limits:** - Every value is for 1800 min⁻¹ in eco mode. At full power the pumps deliver more: the spec swing speed is 19 % higher. diff --git a/phase2/bench_haul.py b/phase2/bench_haul.py index 6a65ee3..e9fe830 100644 --- a/phase2/bench_haul.py +++ b/phase2/bench_haul.py @@ -117,7 +117,6 @@ "pit_done": sim.pit_done, "faces": [(f["psi"], f["shift"]) for f in sim.face_log], "curl_gain_kg": round(sim.curl_gain), - "curl_tears": sim.curl_tears, "mean_carried_kg": round(float(np.mean([x["carried_kg"] for x in done]))) if done else None, "mean_dumped_kg": round(float(np.mean([x["carried_kg"] - x["left_kg"] for x in done]))) if done else None, "thin_passes": sum(1 for x in done if x["at_swing_kg"] < 0.5 * sim.full_kg), diff --git a/phase2/excavator_server.py b/phase2/excavator_server.py index 472326d..76c2e43 100644 --- a/phase2/excavator_server.py +++ b/phase2/excavator_server.py @@ -811,7 +811,7 @@ def reset(self): self.auto_s = 0.0 self.passes = 0 self.skipped = [] - self.ease, self.seg_from, self.auto_frame, self.auto_fill, self.early_curls, self.curl_tears = 0.0, None, 0, 0.0, 0, 0 + self.ease, self.seg_from, self.auto_frame, self.auto_fill, self.early_curls = 0.0, None, 0, 0.0, 0 self.curl_out = None # curl waypoint replaced for this pass (lifting out of a full cohesive cut) self.curl_gain = self.CURL_GAIN_GUESS * self.payload_kg if self.heap_check else 0.0 self.curl_from = None # load when this pass's early curl began @@ -947,23 +947,6 @@ def _face(self, p): self._faces[p] = self._plan_face(p) return self._faces[p] - def _rest_if_poor(self): - """Over the carrier: if little came out of this pass's strip, set it aside. Now, not at the next - approach: the next pass's strip is planned as the bucket swings back, so a strip judged later was - dug once more before the rest took hold (a clay strip losing its soil in the drag gave three thin - passes in a row).""" - face = self._faces.get(self.passes) if self.adaptive_face else None - carried = self.POOR_CARRIED.get(self.soil) - if face is None or (self.pass_fill >= self.POOR_PASS * self.full_kg - and (carried is None or self.pass_carried >= carried * self.full_kg)): - return - self.face_rest[(face["psi"], face["shift"])] = self.passes + self.POOR_REST - for f in self.face_log[-2:]: - if f["pass"] == self.passes: - f["poor_kg"] = round(self.pass_fill) - if self._faces.pop(self.passes + 1, None) is not None: - self.face_log = [f for f in self.face_log if f["pass"] != self.passes + 1] # planned already: again - def _plan_face(self, p): z = self.zones has = self._pit_cols & (z.count_np > 0) @@ -1001,14 +984,19 @@ def _plan_face(self, p): return best def _stage_r(self, wp_, start=False): - """Waypoint reach (m): dig-side stages shift with the current pass's cut, 'swing back' heads for the - next pass's (as _stage_psi).""" - if self.adaptive_face and wp_[0] in self.LANE_STAGES: - return wp_[2] + self._face(self.passes)["shift"] - if self.adaptive_face and wp_[0] == "swing back": - return wp_[2] + self._face(self.passes + (0 if start else 1))["shift"] + """Waypoint reach (m): dig-side stages shift with the current pass's cut, 'swing back' and the approach + head for the next pass's (as _stage_psi).""" + if self.adaptive_face and (wp_[0] in self.LANE_STAGES or wp_[0] == "swing back"): + return wp_[2] + self._face(self._lane_pass(wp_, start))["shift"] return wp_[2] + def _lane_pass(self, wp_, start): + """The pass whose lane a waypoint is in. The count goes up as the approach is reached, so until then + 'swing back' and the approach belong to the next pass: aimed at the current one, the house swung back + toward the new strip, then to the last one for the approach, then across to the new one again while + penetrating (37 deg from -10 to +20 deg: it overshot to +27 deg and the bucket stuck on the pit wall).""" + return self.passes + (1 if wp_[0] == "swing back" or (wp_[0] == "approach" and not start) else 0) + def set_trench(self, deepen=0.25): """Auto cycle digs a single lane and goes deeper every pass (a trench), down to the floor.""" self.adaptive_face = False @@ -1017,18 +1005,14 @@ def set_trench(self, deepen=0.25): self._z_cache = {} def _stage_psi(self, wp_, start=False): - """Waypoint swing angle (deg): dig-side stages shift to the current pass's lane; the final - 'swing back' stage already heads for the next pass's lane. As the start of the next segment (after - the pass count went up) 'swing back' is in the current lane.""" - if self.adaptive_face and wp_[0] in self.LANE_STAGES: - return wp_[1] + self._face(self.passes)["psi"] - if self.adaptive_face and wp_[0] == "swing back": - return wp_[1] + self._face(self.passes + (0 if start else 1))["psi"] - if wp_[0] in self.LANE_STAGES: - return wp_[1] + self.LANES[self.passes % len(self.LANES)] - if wp_[0] == "swing back": - return wp_[1] + self.LANES[(self.passes + (0 if start else 1)) % len(self.LANES)] - return wp_[1] + """Waypoint swing angle (deg): dig-side stages shift to the current pass's lane; 'swing back' and the + approach into the next pass already head for the next pass's lane (_lane_pass).""" + if wp_[0] not in self.LANE_STAGES and wp_[0] != "swing back": + return wp_[1] + p = self._lane_pass(wp_, start) + if self.adaptive_face: + return wp_[1] + self._face(p)["psi"] + return wp_[1] + self.LANES[p % len(self.LANES)] def _waypoint_q(self, wp_, start=False): r, phi = self._stage_r(wp_, start), wp_[4] @@ -1154,7 +1138,6 @@ def _swing_lever(self, target, allow=None): return lever CURL_GAIN_GUESS = 0.3 # of the payload a cohesive load gains (< 0: loses) curling out, until measured - CURL_TEAR = 0.25 # a curl losing more than this fraction of the load tore out a slab: not learned from SHAKE_IF = 0.25 # fraction of a full bucket still in it after the dump that makes the operator shake it out SHAKE_S, SHAKE_PERIOD = 2.5, 0.32 # most time spent shaking; one rap: dump to the stop, then a short curl back @@ -1322,21 +1305,14 @@ def allow(direction): return if timed_out or (self.auto_s >= 1.0 and np.max(np.abs(q_end - self.q)) < tol): if b[0] == "curl" and self.curl_from is not None: - # learn how much the curl adds (< 0: the heap fell off), to curl that much short next time. Not - # from a curl that tore out a slab: one losing most of a clay load set the gain so low that the - # bucket was curled only once overfull, which tore out more slabs - gain = self._bucket_fill() - self.curl_from - if gain > -self.CURL_TEAR * self.curl_from: - self.curl_gain += 0.5 * (gain - self.curl_gain) - else: - self.curl_tears += 1 + # learn how much the curl adds (< 0: the heap fell off), to curl that much short next time + self.curl_gain += 0.5 * (self._bucket_fill() - self.curl_from - self.curl_gain) if b[0] == "dump" and self._bucket_fill() > self.SHAKE_IF * self.full_kg: self.shaking = 0.0 # sticky load still in the bucket: shake it out before swinging back self.shakes += 1 return if b[0] == "swing to truck": self.pass_carried = self._bucket_fill() # what this pass brings to the carrier - self._rest_if_poor() if b[0] == "dump": self._after_dump() self.auto_stage = (self.auto_stage + 1) % n @@ -1345,6 +1321,14 @@ def allow(direction): self.seg_from = None self.low_prev, self.low_rate = None, 0.0 if self.auto_stage == 0: + face = self._faces.get(self.passes) if self.adaptive_face else None + carried = self.POOR_CARRIED.get(self.soil) + if face is not None and (self.pass_fill < self.POOR_PASS * self.full_kg + or carried is not None and self.pass_carried < carried * self.full_kg): + self.face_rest[(face["psi"], face["shift"])] = self.passes + self.POOR_REST # little came out of it + for f in self.face_log[-2:]: + if f["pass"] == self.passes: + f["poor_kg"] = round(self.pass_fill) self.pass_fill, self.pass_carried = 0.0, 0.0 self.passes += 1 self.ease = 0.0 @@ -1872,7 +1856,6 @@ def stats(self): "active": self.zones.n_active, "ease_m": round(self.ease, 2), "early_curls": self.early_curls, - "curl_tears": self.curl_tears, "payload_kg": round(self.payload_kg), "curl_gain_kg": round(self.curl_gain), "zone": dict(self.zones.counters), diff --git a/phase2/logs/haul_bench_lane_fix_long2_clay_1carrier.json b/phase2/logs/haul_bench_lane_fix_long2_clay_1carrier.json new file mode 100644 index 0000000..60f0d1b --- /dev/null +++ b/phase2/logs/haul_bench_lane_fix_long2_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.978, "loads": [{"carrier": 0, "departed_s": 192.3, "load_kg": 10638, "loading_s": 192.3, "passes": 10}, {"carrier": 0, "departed_s": 446.0, "load_kg": 11313, "loading_s": 195.7, "passes": 11}, {"carrier": 0, "departed_s": 689.2, "load_kg": 10728, "loading_s": 184.6, "passes": 10}, {"carrier": 0, "departed_s": 988.9, "load_kg": 11409, "loading_s": 240.9, "passes": 12}, {"carrier": 0, "departed_s": 1306.9, "load_kg": 10141, "loading_s": 258.2, "passes": 14}], "trips": [{"depart_t": 192.28, "stages": {"loading": 192.28, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.83, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 145, "away_s": 58.07}, {"depart_t": 446.02, "stages": {"loading": 195.67, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.6, "lower": 5.0, "return": 4.58, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 272, "away_s": 58.63}, {"depart_t": 689.23, "stages": {"loading": 184.58, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.88, "lower": 5.0, "return": 4.5, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 268, "away_s": 58.84}, {"depart_t": 988.93, "stages": {"loading": 240.87, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.18, "lower": 5.0, "return": 4.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 215, "away_s": 59.75}, {"depart_t": 1306.93, "stages": {"loading": 258.25, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.68, "lower": 5.0, "return": 4.55, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 325, "away_s": 58.69}], "delivered_t": 53.0, "loaded_t": 58.42, "loaded_t_per_hour": 140.2, "mean_departure_interval_s": 278.6, "t_per_hour": 127.2, "mean_load_kg": 10846.0, "mean_loading_s": 214.3, "carry_back_kg": [145, 272, 268, 215, 325], "mean_away_s": 58.8, "excavator_wait_s": 245.3, "passes": 69, "spoil_settled_t": 47.81, "lost_particles": 1692, "pool_short": 0, "skipped": [{"t": 436.93, "stage": "swing back", "max_err_rad": 0.0}, {"t": 440.95, "stage": "approach", "max_err_rad": 1.072}, {"t": 444.97, "stage": "penetrate", "max_err_rad": 1.07}, {"t": 448.98, "stage": "drag", "max_err_rad": 0.81}, {"t": 453.0, "stage": "drag-curl", "max_err_rad": 0.8}, {"t": 457.02, "stage": "curl", "max_err_rad": 0.665}, {"t": 988.07, "stage": "swing back", "max_err_rad": 0.001}, {"t": 993.58, "stage": "approach", "max_err_rad": 0.058}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 294.0, "pit_left_t": 108.7, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 161, "curl_tears": 0, "mean_carried_kg": 963, "mean_dumped_kg": 811, "thin_passes": 18, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1240, "early_curl": true, "skips": 0, "at_swing_kg": 1227, "carried_kg": 1257, "left_kg": 92}, {"pass": 1, "t": 15.8, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1239, "early_curl": true, "skips": 0, "at_swing_kg": 1128, "carried_kg": 1094, "left_kg": 100}, {"pass": 2, "t": 31.8, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1128, "early_curl": true, "skips": 0, "at_swing_kg": 1115, "carried_kg": 1133, "left_kg": 161}, {"pass": 3, "t": 49.0, "face": [-30.0, 0.0, 1.28], "dig_max_kg": 1279, "early_curl": true, "skips": 0, "at_swing_kg": 1245, "carried_kg": 1282, "left_kg": 299}, {"pass": 4, "t": 66.4, "face": [-10.0, 0.0, 1.26], "dig_max_kg": 1357, "early_curl": true, "skips": 0, "at_swing_kg": 1338, "carried_kg": 1360, "left_kg": 222}, {"pass": 5, "t": 84.4, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1351, "early_curl": true, "skips": 0, "at_swing_kg": 917, "carried_kg": 964, "left_kg": 36}, {"pass": 6, "t": 102.1, "face": [10.0, 0.0, 0.85], "dig_max_kg": 1220, "early_curl": false, "skips": 0, "at_swing_kg": 1206, "carried_kg": 1272, "left_kg": 132}, {"pass": 7, "t": 120.3, "face": [-30.0, 0.0, 0.77], "dig_max_kg": 1220, "early_curl": false, "skips": 0, "at_swing_kg": 1047, "carried_kg": 1076, "left_kg": 295}, {"pass": 8, "t": 137.3, "face": [-30.0, 0.0, 0.85], "dig_max_kg": 1109, "early_curl": false, "skips": 0, "at_swing_kg": 1083, "carried_kg": 1112, "left_kg": 166}, {"pass": 9, "t": 157.1, "face": [20.0, 0.0, 0.68], "dig_max_kg": 1170, "early_curl": false, "skips": 0, "at_swing_kg": 1157, "carried_kg": 1212, "left_kg": 17}, {"pass": 10, "t": 176.7, "face": [20.0, 0.0, 0.98], "dig_max_kg": 296, "early_curl": false, "skips": 0, "at_swing_kg": 296, "carried_kg": 358, "left_kg": 40}, {"pass": 11, "t": 194.2, "face": [10.0, 0.0, 1.04], "dig_max_kg": 1317, "early_curl": true, "skips": 0, "at_swing_kg": 1362, "carried_kg": 1337, "left_kg": 95}, {"pass": 12, "t": 258.8, "face": [-20.0, 0.0, 0.61], "dig_max_kg": 1300, "early_curl": false, "skips": 0, "at_swing_kg": 1086, "carried_kg": 1132, "left_kg": 102}, {"pass": 13, "t": 274.6, "face": [-20.0, 0.0, 1.07], "dig_max_kg": 1300, "early_curl": true, "skips": 0, "at_swing_kg": 1296, "carried_kg": 1350, "left_kg": 109}, {"pass": 14, "t": 290.9, "face": [0.0, 0.0, 0.57], "dig_max_kg": 1299, "early_curl": false, "skips": 0, "at_swing_kg": 1164, "carried_kg": 1241, "left_kg": 32}, {"pass": 15, "t": 307.1, "face": [0.0, 0.0, 1.05], "dig_max_kg": 1387, "early_curl": true, "skips": 0, "at_swing_kg": 1359, "carried_kg": 1430, "left_kg": 342}, {"pass": 16, "t": 325.8, "face": [-10.0, 0.0, 0.44], "dig_max_kg": 1379, "early_curl": false, "skips": 0, "at_swing_kg": 1113, "carried_kg": 1143, "left_kg": 169}, {"pass": 17, "t": 343.1, "face": [-10.0, 0.0, 1.07], "dig_max_kg": 1122, "early_curl": true, "skips": 0, "at_swing_kg": 1081, "carried_kg": 1168, "left_kg": 56}, {"pass": 18, "t": 359.3, "face": [-20.0, 0.0, 0.61], "dig_max_kg": 1358, "early_curl": false, "skips": 0, "at_swing_kg": 1349, "carried_kg": 1389, "left_kg": 627}, {"pass": 19, "t": 380.6, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1358, "early_curl": true, "skips": 0, "at_swing_kg": 1199, "carried_kg": 1274, "left_kg": 70}, {"pass": 20, "t": 396.9, "face": [-30.0, 0.0, 0.68], "dig_max_kg": 1276, "early_curl": false, "skips": 0, "at_swing_kg": 1234, "carried_kg": 1300, "left_kg": 79}, {"pass": 21, "t": 413.6, "face": [-20.0, 0.0, 0.62], "dig_max_kg": 1244, "early_curl": false, "skips": 1, "at_swing_kg": 1234, "carried_kg": 1234, "left_kg": 614}, {"pass": 22, "t": 437.0, "face": [-20.0, 0.0, 1.16], "dig_max_kg": 1977, "early_curl": false, "skips": 5, "at_swing_kg": 2156, "carried_kg": 2072, "left_kg": 33}, {"pass": 23, "t": 513.8, "face": [-20.0, 0.0, 1.16], "dig_max_kg": 1977, "early_curl": true, "skips": 0, "at_swing_kg": 1161, "carried_kg": 1241, "left_kg": 76}, {"pass": 24, "t": 531.2, "face": [20.0, 0.0, 0.99], "dig_max_kg": 1184, "early_curl": false, "skips": 0, "at_swing_kg": 777, "carried_kg": 773, "left_kg": 86}, {"pass": 25, "t": 550.4, "face": [20.0, 0.0, 0.98], "dig_max_kg": 776, "early_curl": false, "skips": 0, "at_swing_kg": 318, "carried_kg": 333, "left_kg": 29}, {"pass": 26, "t": 567.5, "face": [20.0, 0.0, 0.96], "dig_max_kg": 315, "early_curl": false, "skips": 0, "at_swing_kg": 208, "carried_kg": 215, "left_kg": 0}, {"pass": 27, "t": 584.2, "face": [-10.0, 0.0, 0.52], "dig_max_kg": 1265, "early_curl": false, "skips": 0, "at_swing_kg": 1264, "carried_kg": 1407, "left_kg": 104}, {"pass": 28, "t": 600.8, "face": [-10.0, 0.0, 1.02], "dig_max_kg": 1265, "early_curl": true, "skips": 0, "at_swing_kg": 1137, "carried_kg": 1170, "left_kg": 114}, {"pass": 29, "t": 618.3, "face": [-10.0, 0.0, 0.57], "dig_max_kg": 1277, "early_curl": false, "skips": 0, "at_swing_kg": 1266, "carried_kg": 1178, "left_kg": 578}, {"pass": 30, "t": 638.7, "face": [-10.0, 0.0, 1.09], "dig_max_kg": 1274, "early_curl": true, "skips": 0, "at_swing_kg": 523, "carried_kg": 531, "left_kg": 79}, {"pass": 31, "t": 655.4, "face": [-10.0, 0.0, 1.09], "dig_max_kg": 1557, "early_curl": true, "skips": 0, "at_swing_kg": 1531, "carried_kg": 1582, "left_kg": 277}, {"pass": 32, "t": 673.6, "face": [-30.0, 0.0, 0.52], "dig_max_kg": 1552, "early_curl": false, "skips": 0, "at_swing_kg": 1318, "carried_kg": 1299, "left_kg": 82}, {"pass": 33, "t": 691.1, "face": [10.0, 0.0, 0.47], "dig_max_kg": 1320, "early_curl": false, "skips": 0, "at_swing_kg": 1354, "carried_kg": 1296, "left_kg": 394}, {"pass": 34, "t": 758.6, "face": [10.0, 0.0, 1.12], "dig_max_kg": 1548, "early_curl": true, "skips": 0, "at_swing_kg": 1500, "carried_kg": 1513, "left_kg": 646}, {"pass": 35, "t": 776.8, "face": [10.0, 0.0, 0.88], "dig_max_kg": 1528, "early_curl": true, "skips": 0, "at_swing_kg": 1069, "carried_kg": 1120, "left_kg": 298}, {"pass": 36, "t": 795.3, "face": [0.0, 0.0, 0.66], "dig_max_kg": 1072, "early_curl": true, "skips": 0, "at_swing_kg": 964, "carried_kg": 1044, "left_kg": 241}, {"pass": 37, "t": 814.0, "face": [0.0, 0.0, 0.46], "dig_max_kg": 1416, "early_curl": false, "skips": 0, "at_swing_kg": 1404, "carried_kg": 1482, "left_kg": 90}, {"pass": 38, "t": 830.6, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1416, "early_curl": true, "skips": 0, "at_swing_kg": 1177, "carried_kg": 1320, "left_kg": 107}, {"pass": 39, "t": 849.0, "face": [20.0, 0.0, 0.85], "dig_max_kg": 1179, "early_curl": false, "skips": 0, "at_swing_kg": 501, "carried_kg": 567, "left_kg": 22}, {"pass": 40, "t": 867.7, "face": [20.0, 0.0, 0.88], "dig_max_kg": 500, "early_curl": false, "skips": 0, "at_swing_kg": 236, "carried_kg": 286, "left_kg": 63}, {"pass": 41, "t": 884.6, "face": [10.0, 0.0, 0.54], "dig_max_kg": 1246, "early_curl": false, "skips": 0, "at_swing_kg": 1245, "carried_kg": 1341, "left_kg": 440}, {"pass": 42, "t": 904.2, "face": [10.0, 0.0, 1.05], "dig_max_kg": 1246, "early_curl": true, "skips": 0, "at_swing_kg": 1167, "carried_kg": 1182, "left_kg": 160}, {"pass": 43, "t": 923.5, "face": [10.0, 0.0, 0.63], "dig_max_kg": 1188, "early_curl": false, "skips": 0, "at_swing_kg": 1115, "carried_kg": 1102, "left_kg": 46}, {"pass": 44, "t": 941.3, "face": [10.0, 0.0, 1.09], "dig_max_kg": 1150, "early_curl": false, "skips": 0, "at_swing_kg": 1140, "carried_kg": 1100, "left_kg": 648}, {"pass": 45, "t": 961.8, "face": [10.0, 0.0, 0.51], "dig_max_kg": 1646, "early_curl": false, "skips": 1, "at_swing_kg": 1590, "carried_kg": 1634, "left_kg": 733}, {"pass": 46, "t": 988.1, "face": [10.0, 0.0, 0.93], "dig_max_kg": 826, "early_curl": true, "skips": 1, "at_swing_kg": 500, "carried_kg": 497, "left_kg": 24}, {"pass": 47, "t": 1056.4, "face": [10.0, 0.0, 0.95], "dig_max_kg": 1334, "early_curl": false, "skips": 0, "at_swing_kg": 1321, "carried_kg": 1246, "left_kg": 27}, {"pass": 48, "t": 1075.0, "face": [0.0, 0.0, 0.46], "dig_max_kg": 1549, "early_curl": false, "skips": 0, "at_swing_kg": 1540, "carried_kg": 1458, "left_kg": 70}, {"pass": 49, "t": 1092.9, "face": [0.0, 0.0, 1.08], "dig_max_kg": 1549, "early_curl": false, "skips": 0, "at_swing_kg": 788, "carried_kg": 804, "left_kg": 3}, {"pass": 50, "t": 1110.4, "face": [0.0, 0.0, 1.17], "dig_max_kg": 782, "early_curl": false, "skips": 0, "at_swing_kg": 24, "carried_kg": 29, "left_kg": 0}, {"pass": 51, "t": 1127.7, "face": [0.0, 0.0, 1.19], "dig_max_kg": 589, "early_curl": false, "skips": 0, "at_swing_kg": 4, "carried_kg": 3, "left_kg": 0}, {"pass": 52, "t": 1145.4, "face": [-10.0, 0.0, 0.91], "dig_max_kg": 1205, "early_curl": false, "skips": 0, "at_swing_kg": 1189, "carried_kg": 1215, "left_kg": 66}, {"pass": 53, "t": 1162.5, "face": [-10.0, 0.0, 1.01], "dig_max_kg": 1497, "early_curl": false, "skips": 0, "at_swing_kg": 1465, "carried_kg": 1364, "left_kg": 19}, {"pass": 54, "t": 1180.2, "face": [-10.0, 0.0, 0.86], "dig_max_kg": 1463, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 0}, {"pass": 55, "t": 1197.8, "face": [-10.0, 0.0, 0.88], "dig_max_kg": 515, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 1}, {"pass": 56, "t": 1215.5, "face": [20.0, 0.0, 0.73], "dig_max_kg": 642, "early_curl": false, "skips": 0, "at_swing_kg": 625, "carried_kg": 737, "left_kg": 346}, {"pass": 57, "t": 1236.6, "face": [20.0, 0.0, 0.74], "dig_max_kg": 642, "early_curl": false, "skips": 0, "at_swing_kg": 268, "carried_kg": 303, "left_kg": 165}, {"pass": 58, "t": 1254.8, "face": [20.0, 0.0, 0.81], "dig_max_kg": 371, "early_curl": false, "skips": 0, "at_swing_kg": 371, "carried_kg": 443, "left_kg": 9}, {"pass": 59, "t": 1272.9, "face": [10.0, 0.0, 0.5], "dig_max_kg": 1176, "early_curl": false, "skips": 0, "at_swing_kg": 1176, "carried_kg": 1199, "left_kg": 424}, {"pass": 60, "t": 1293.0, "face": [-40.0, 0.0, 0.38], "dig_max_kg": 835, "early_curl": true, "skips": 0, "at_swing_kg": 701, "carried_kg": 800, "left_kg": 68}, {"pass": 61, "t": 1307.9, "face": [-30.0, 0.0, 0.38], "dig_max_kg": 931, "early_curl": false, "skips": 0, "at_swing_kg": 953, "carried_kg": 943, "left_kg": 17}, {"pass": 62, "t": 1373.0, "face": [-20.0, 0.0, 0.44], "dig_max_kg": 1252, "early_curl": false, "skips": 0, "at_swing_kg": 1243, "carried_kg": 1320, "left_kg": 40}, {"pass": 63, "t": 1389.6, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1249, "early_curl": false, "skips": 0, "at_swing_kg": 8, "carried_kg": 18, "left_kg": 0}, {"pass": 64, "t": 1407.4, "face": [0.0, 0.0, 1.13], "dig_max_kg": 516, "early_curl": false, "skips": 0, "at_swing_kg": 5, "carried_kg": 5, "left_kg": 2}, {"pass": 65, "t": 1424.0, "face": [-20.0, 0.0, 0.84], "dig_max_kg": 1165, "early_curl": false, "skips": 0, "at_swing_kg": 1165, "carried_kg": 1160, "left_kg": 7}, {"pass": 66, "t": 1440.6, "face": [-20.0, 0.0, 0.66], "dig_max_kg": 1164, "early_curl": false, "skips": 0, "at_swing_kg": 7, "carried_kg": 9, "left_kg": 2}, {"pass": 67, "t": 1457.8, "face": [-10.0, 0.0, 0.95], "dig_max_kg": 582, "early_curl": false, "skips": 0, "at_swing_kg": 4, "carried_kg": 5, "left_kg": 1}, {"pass": 68, "t": 1474.6, "face": [-10.0, 0.0, 0.99], "dig_max_kg": 546, "early_curl": false, "skips": 0, "at_swing_kg": 3, "carried_kg": 3, "left_kg": 0}], "dozer": {"passes": 28, "push_m": 185.92, "work_MJ": 3.65, "load_lifts": 57, "lifts_raised": 1, "parked_s": 901.2, "working_s": 598.82, "peak_kN": 65.48, "slip_s": 0.93, "futile_passes": 4, "mean_push_kN": [23.6, 15.6, 27.8, 9.2, 17.3, 17.1, 21.8, 26.6, 19.3, 15.1, 18.9, 24.4, 17.6, 20.9, 14.2, 10.9, 6.3, 26.8, 20.6, 18.6, 14.8, 18.0, 15.1, 5.1, 10.2, 26.9, 25.2, 2.6]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 55.4, "rms_from_grade_m": 0.266, "max_above_grade_m": 1.3, "at_grade_fraction": 0.47, "unspread_m3": 2.99}} diff --git a/phase2/logs/haul_bench_lane_fix_long2_dry-sand_1carrier.json b/phase2/logs/haul_bench_lane_fix_long2_dry-sand_1carrier.json new file mode 100644 index 0000000..86a6e54 --- /dev/null +++ b/phase2/logs/haul_bench_lane_fix_long2_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.908, "loads": [{"carrier": 0, "departed_s": 127.0, "load_kg": 10661, "loading_s": 127.0, "passes": 7}, {"carrier": 0, "departed_s": 335.8, "load_kg": 8700, "loading_s": 152.1, "passes": 7}, {"carrier": 0, "departed_s": 500.1, "load_kg": 10607, "loading_s": 107.5, "passes": 6}, {"carrier": 0, "departed_s": 650.9, "load_kg": 9611, "loading_s": 94.1, "passes": 5}, {"carrier": 0, "departed_s": 820.3, "load_kg": 10011, "loading_s": 112.0, "passes": 6}, {"carrier": 0, "departed_s": 1047.2, "load_kg": 10699, "loading_s": 169.3, "passes": 9}], "trips": [{"depart_t": 126.98, "stages": {"loading": 126.98, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 137, "away_s": 56.72}, {"depart_t": 335.8, "stages": {"loading": 152.1, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 132, "away_s": 56.72}, {"depart_t": 500.07, "stages": {"loading": 107.55, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 173, "away_s": 56.71}, {"depart_t": 650.88, "stages": {"loading": 94.1, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.98, "lower": 5.0, "return": 5.0, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 208, "away_s": 57.44}, {"depart_t": 820.3, "stages": {"loading": 111.98, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.32, "lower": 5.0, "return": 4.92, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 347, "away_s": 57.68}, {"depart_t": 1047.25, "stages": {"loading": 169.27, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.12, "lower": 5.0, "return": 4.97, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 376, "away_s": 57.53}], "delivered_t": 58.92, "loaded_t": 70.35, "loaded_t_per_hour": 168.8, "mean_departure_interval_s": 184.0, "t_per_hour": 141.4, "mean_load_kg": 10048.0, "mean_loading_s": 127.0, "carry_back_kg": [137, 132, 173, 208, 347, 376], "mean_away_s": 57.1, "excavator_wait_s": 288.4, "passes": 68, "spoil_settled_t": 58.65, "lost_particles": 6016, "pool_short": 564, "skipped": [{"t": 299.4, "stage": "swing back", "max_err_rad": 0.059}, {"t": 303.42, "stage": "approach", "max_err_rad": 1.406}, {"t": 307.43, "stage": "penetrate", "max_err_rad": 1.403}, {"t": 311.45, "stage": "drag", "max_err_rad": 1.4}, {"t": 315.47, "stage": "drag-curl", "max_err_rad": 1.393}, {"t": 319.48, "stage": "curl", "max_err_rad": 1.268}, {"t": 330.05, "stage": "swing to truck", "max_err_rad": 0.468}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 342.8, "pit_left_t": 76.6, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1031, "mean_dumped_kg": 1026, "thin_passes": 10, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 905, "early_curl": false, "skips": 0, "at_swing_kg": 897, "carried_kg": 593, "left_kg": 0}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1639, "early_curl": false, "skips": 0, "at_swing_kg": 1639, "carried_kg": 1347, "left_kg": 1}, {"pass": 2, "t": 31.1, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1614, "early_curl": false, "skips": 0, "at_swing_kg": 986, "carried_kg": 683, "left_kg": 1}, {"pass": 3, "t": 46.2, "face": [-20.0, 0.0, 1.47], "dig_max_kg": 1598, "early_curl": false, "skips": 0, "at_swing_kg": 1598, "carried_kg": 1242, "left_kg": 10}, {"pass": 4, "t": 62.4, "face": [-20.0, 0.0, 1.42], "dig_max_kg": 1744, "early_curl": false, "skips": 0, "at_swing_kg": 1744, "carried_kg": 1538, "left_kg": 2}, {"pass": 5, "t": 77.8, "face": [-20.0, 0.0, 1.45], "dig_max_kg": 1900, "early_curl": false, "skips": 0, "at_swing_kg": 1900, "carried_kg": 1565, "left_kg": 28}, {"pass": 6, "t": 95.1, "face": [-20.0, 0.0, 1.44], "dig_max_kg": 1883, "early_curl": false, "skips": 0, "at_swing_kg": 1883, "carried_kg": 1502, "left_kg": 11}, {"pass": 7, "t": 112.2, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1925, "early_curl": false, "skips": 0, "at_swing_kg": 1925, "carried_kg": 1597, "left_kg": 11}, {"pass": 8, "t": 128.3, "face": [-20.0, 0.0, 1.53], "dig_max_kg": 1954, "early_curl": false, "skips": 0, "at_swing_kg": 1805, "carried_kg": 1433, "left_kg": 2}, {"pass": 9, "t": 190.8, "face": [-20.0, 0.0, 1.54], "dig_max_kg": 1987, "early_curl": false, "skips": 0, "at_swing_kg": 1987, "carried_kg": 1518, "left_kg": 35}, {"pass": 10, "t": 209.2, "face": [-20.0, 0.0, 1.57], "dig_max_kg": 1965, "early_curl": false, "skips": 0, "at_swing_kg": 1955, "carried_kg": 1670, "left_kg": 7}, {"pass": 11, "t": 225.3, "face": [-20.0, 0.0, 1.55], "dig_max_kg": 1964, "early_curl": false, "skips": 0, "at_swing_kg": 1964, "carried_kg": 1591, "left_kg": 6}, {"pass": 12, "t": 242.3, "face": [-20.0, 0.0, 1.58], "dig_max_kg": 1990, "early_curl": false, "skips": 0, "at_swing_kg": 1990, "carried_kg": 1546, "left_kg": 52}, {"pass": 13, "t": 261.4, "face": [0.0, 0.0, 1.44], "dig_max_kg": 1968, "early_curl": false, "skips": 0, "at_swing_kg": 1487, "carried_kg": 1169, "left_kg": 2}, {"pass": 14, "t": 277.4, "face": [0.0, 0.0, 1.64], "dig_max_kg": 1862, "early_curl": false, "skips": 1, "at_swing_kg": 1862, "carried_kg": 1392, "left_kg": 16}, {"pass": 15, "t": 299.4, "face": [-20.0, 0.0, 1.49], "dig_max_kg": 1846, "early_curl": false, "skips": 6, "at_swing_kg": 911, "carried_kg": 1116, "left_kg": 2}, {"pass": 16, "t": 337.4, "face": [0.0, 0.0, 1.49], "dig_max_kg": 1915, "early_curl": false, "skips": 0, "at_swing_kg": 1634, "carried_kg": 1366, "left_kg": 7}, {"pass": 17, "t": 399.3, "face": [-10.0, 0.0, 1.57], "dig_max_kg": 1647, "early_curl": false, "skips": 0, "at_swing_kg": 1647, "carried_kg": 1329, "left_kg": 1}, {"pass": 18, "t": 415.5, "face": [-20.0, 0.0, 1.7], "dig_max_kg": 1959, "early_curl": false, "skips": 0, "at_swing_kg": 1959, "carried_kg": 1541, "left_kg": 13}, {"pass": 19, "t": 433.3, "face": [-10.0, 0.0, 1.73], "dig_max_kg": 1927, "early_curl": false, "skips": 0, "at_swing_kg": 1927, "carried_kg": 1591, "left_kg": 10}, {"pass": 20, "t": 449.9, "face": [-10.0, 0.0, 1.69], "dig_max_kg": 2059, "early_curl": false, "skips": 0, "at_swing_kg": 2059, "carried_kg": 1589, "left_kg": 2}, {"pass": 21, "t": 468.2, "face": [10.0, 0.0, 1.54], "dig_max_kg": 2049, "early_curl": false, "skips": 0, "at_swing_kg": 1242, "carried_kg": 866, "left_kg": 15}, {"pass": 22, "t": 485.2, "face": [10.0, 0.0, 1.66], "dig_max_kg": 1748, "early_curl": false, "skips": 0, "at_swing_kg": 1748, "carried_kg": 1392, "left_kg": 8}, {"pass": 23, "t": 502.0, "face": [10.0, 0.0, 1.56], "dig_max_kg": 1883, "early_curl": false, "skips": 0, "at_swing_kg": 1517, "carried_kg": 1207, "left_kg": 1}, {"pass": 24, "t": 564.0, "face": [-10.0, 0.0, 1.6], "dig_max_kg": 2056, "early_curl": false, "skips": 0, "at_swing_kg": 2056, "carried_kg": 1570, "left_kg": 2}, {"pass": 25, "t": 582.6, "face": [0.0, 0.0, 1.49], "dig_max_kg": 2033, "early_curl": false, "skips": 0, "at_swing_kg": 1726, "carried_kg": 1408, "left_kg": 0}, {"pass": 26, "t": 599.2, "face": [0.0, 0.0, 1.62], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 2028, "carried_kg": 1444, "left_kg": 8}, {"pass": 27, "t": 616.8, "face": [-10.0, 0.0, 1.64], "dig_max_kg": 2004, "early_curl": false, "skips": 0, "at_swing_kg": 1918, "carried_kg": 1413, "left_kg": 2}, {"pass": 28, "t": 635.2, "face": [0.0, 0.0, 1.69], "dig_max_kg": 1986, "early_curl": false, "skips": 0, "at_swing_kg": 1986, "carried_kg": 1617, "left_kg": 1}, {"pass": 29, "t": 652.8, "face": [10.0, 0.0, 1.45], "dig_max_kg": 1954, "early_curl": false, "skips": 0, "at_swing_kg": 1333, "carried_kg": 1045, "left_kg": 1}, {"pass": 30, "t": 715.9, "face": [10.0, 0.0, 1.49], "dig_max_kg": 1808, "early_curl": false, "skips": 0, "at_swing_kg": 1808, "carried_kg": 1246, "left_kg": 1}, {"pass": 31, "t": 734.0, "face": [0.0, 0.0, 1.55], "dig_max_kg": 1913, "early_curl": false, "skips": 0, "at_swing_kg": 1913, "carried_kg": 1561, "left_kg": 7}, {"pass": 32, "t": 750.8, "face": [-20.0, 0.0, 1.53], "dig_max_kg": 1905, "early_curl": false, "skips": 0, "at_swing_kg": 1770, "carried_kg": 1457, "left_kg": 2}, {"pass": 33, "t": 768.4, "face": [10.0, 0.0, 1.49], "dig_max_kg": 1785, "early_curl": false, "skips": 0, "at_swing_kg": 1785, "carried_kg": 1241, "left_kg": 1}, {"pass": 34, "t": 786.4, "face": [-10.0, 0.0, 1.49], "dig_max_kg": 1841, "early_curl": false, "skips": 0, "at_swing_kg": 1841, "carried_kg": 1504, "left_kg": 2}, {"pass": 35, "t": 803.6, "face": [0.0, 0.0, 1.41], "dig_max_kg": 1861, "early_curl": false, "skips": 0, "at_swing_kg": 1861, "carried_kg": 1398, "left_kg": 3}, {"pass": 36, "t": 822.2, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1835, "early_curl": false, "skips": 0, "at_swing_kg": 1354, "carried_kg": 1056, "left_kg": 2}, {"pass": 37, "t": 886.2, "face": [20.0, 0.0, 1.26], "dig_max_kg": 1703, "early_curl": false, "skips": 0, "at_swing_kg": 1316, "carried_kg": 969, "left_kg": 0}, {"pass": 38, "t": 904.7, "face": [20.0, 0.0, 1.18], "dig_max_kg": 1655, "early_curl": false, "skips": 0, "at_swing_kg": 1655, "carried_kg": 1164, "left_kg": 8}, {"pass": 39, "t": 923.6, "face": [10.0, 0.0, 1.24], "dig_max_kg": 1761, "early_curl": false, "skips": 0, "at_swing_kg": 1761, "carried_kg": 1226, "left_kg": 1}, {"pass": 40, "t": 941.6, "face": [-20.0, 0.0, 1.19], "dig_max_kg": 1739, "early_curl": false, "skips": 0, "at_swing_kg": 1543, "carried_kg": 1264, "left_kg": 2}, {"pass": 41, "t": 958.5, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1648, "early_curl": false, "skips": 0, "at_swing_kg": 1648, "carried_kg": 1257, "left_kg": 1}, {"pass": 42, "t": 976.3, "face": [-10.0, 0.0, 1.0], "dig_max_kg": 1619, "early_curl": false, "skips": 0, "at_swing_kg": 1395, "carried_kg": 999, "left_kg": 1}, {"pass": 43, "t": 994.8, "face": [20.0, 0.0, 0.86], "dig_max_kg": 1373, "early_curl": false, "skips": 0, "at_swing_kg": 1100, "carried_kg": 812, "left_kg": 1}, {"pass": 44, "t": 1013.0, "face": [-20.0, 0.0, 0.85], "dig_max_kg": 1166, "early_curl": false, "skips": 0, "at_swing_kg": 1166, "carried_kg": 925, "left_kg": 1}, {"pass": 45, "t": 1030.1, "face": [0.0, 0.0, 0.79], "dig_max_kg": 1362, "early_curl": false, "skips": 0, "at_swing_kg": 1362, "carried_kg": 925, "left_kg": 0}, {"pass": 46, "t": 1048.6, "face": [-10.0, 0.0, 0.76], "dig_max_kg": 1105, "early_curl": false, "skips": 0, "at_swing_kg": 819, "carried_kg": 669, "left_kg": 0}, {"pass": 47, "t": 1112.0, "face": [10.0, 0.0, 0.75], "dig_max_kg": 1094, "early_curl": false, "skips": 0, "at_swing_kg": 1033, "carried_kg": 714, "left_kg": 0}, {"pass": 48, "t": 1130.0, "face": [0.0, 0.0, 0.71], "dig_max_kg": 991, "early_curl": false, "skips": 0, "at_swing_kg": 991, "carried_kg": 622, "left_kg": 0}, {"pass": 49, "t": 1147.9, "face": [-20.0, 0.0, 0.72], "dig_max_kg": 990, "early_curl": false, "skips": 0, "at_swing_kg": 990, "carried_kg": 717, "left_kg": 0}, {"pass": 50, "t": 1165.3, "face": [20.0, 0.0, 0.66], "dig_max_kg": 983, "early_curl": false, "skips": 0, "at_swing_kg": 743, "carried_kg": 468, "left_kg": 0}, {"pass": 51, "t": 1183.9, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 967, "early_curl": false, "skips": 0, "at_swing_kg": 967, "carried_kg": 667, "left_kg": 0}, {"pass": 52, "t": 1201.6, "face": [-20.0, 0.0, 0.59], "dig_max_kg": 952, "early_curl": false, "skips": 0, "at_swing_kg": 811, "carried_kg": 551, "left_kg": 0}, {"pass": 53, "t": 1218.7, "face": [10.0, 0.0, 0.58], "dig_max_kg": 811, "early_curl": false, "skips": 0, "at_swing_kg": 784, "carried_kg": 503, "left_kg": 0}, {"pass": 54, "t": 1236.7, "face": [0.0, 0.0, 0.59], "dig_max_kg": 853, "early_curl": false, "skips": 0, "at_swing_kg": 851, "carried_kg": 516, "left_kg": 0}, {"pass": 55, "t": 1255.6, "face": [20.0, 0.0, 0.55], "dig_max_kg": 853, "early_curl": false, "skips": 0, "at_swing_kg": 564, "carried_kg": 320, "left_kg": 0}, {"pass": 56, "t": 1273.8, "face": [-10.0, 0.0, 0.54], "dig_max_kg": 790, "early_curl": false, "skips": 0, "at_swing_kg": 790, "carried_kg": 537, "left_kg": 0}, {"pass": 57, "t": 1291.0, "face": [-20.0, 0.0, 0.53], "dig_max_kg": 780, "early_curl": false, "skips": 0, "at_swing_kg": 724, "carried_kg": 394, "left_kg": 1}, {"pass": 58, "t": 1308.6, "face": [10.0, 0.0, 0.51], "dig_max_kg": 654, "early_curl": false, "skips": 0, "at_swing_kg": 654, "carried_kg": 429, "left_kg": 0}, {"pass": 59, "t": 1326.2, "face": [0.0, 0.0, 0.52], "dig_max_kg": 727, "early_curl": false, "skips": 0, "at_swing_kg": 727, "carried_kg": 457, "left_kg": 0}, {"pass": 60, "t": 1343.9, "face": [-10.0, 0.0, 0.5], "dig_max_kg": 700, "early_curl": false, "skips": 0, "at_swing_kg": 700, "carried_kg": 408, "left_kg": 1}, {"pass": 61, "t": 1362.5, "face": [20.0, 0.0, 0.49], "dig_max_kg": 693, "early_curl": false, "skips": 0, "at_swing_kg": 430, "carried_kg": 220, "left_kg": 0}, {"pass": 62, "t": 1381.1, "face": [10.0, 0.0, 0.47], "dig_max_kg": 536, "early_curl": false, "skips": 0, "at_swing_kg": 528, "carried_kg": 289, "left_kg": 0}, {"pass": 63, "t": 1399.0, "face": [0.0, 0.0, 0.5], "dig_max_kg": 623, "early_curl": false, "skips": 0, "at_swing_kg": 623, "carried_kg": 326, "left_kg": 0}, {"pass": 64, "t": 1416.9, "face": [-20.0, 0.0, 0.48], "dig_max_kg": 618, "early_curl": false, "skips": 0, "at_swing_kg": 611, "carried_kg": 382, "left_kg": 0}, {"pass": 65, "t": 1433.5, "face": [-20.0, 0.0, 0.45], "dig_max_kg": 644, "early_curl": false, "skips": 0, "at_swing_kg": 644, "carried_kg": 437, "left_kg": 0}, {"pass": 66, "t": 1450.5, "face": [-10.0, 0.0, 0.48], "dig_max_kg": 675, "early_curl": false, "skips": 0, "at_swing_kg": 675, "carried_kg": 401, "left_kg": 1}, {"pass": 67, "t": 1469.1, "face": [20.0, 0.0, 0.44], "dig_max_kg": 663, "early_curl": false, "skips": 0, "at_swing_kg": 345, "carried_kg": 170, "left_kg": 0}], "dozer": {"passes": 26, "push_m": 120.22, "work_MJ": 0.93, "load_lifts": 3, "lifts_raised": 2, "parked_s": 1011.75, "working_s": 488.27, "peak_kN": 59.28, "slip_s": 0.02, "futile_passes": 7, "mean_push_kN": [12.6, 4.4, 6.9, 7.4, 11.3, 0.3, 6.2, 7.7, 3.3, 5.4, 12.4, 1.9, 0.6, 6.6, 6.6, 6.4, 4.6, 13.7, 0.7, 10.5, 3.9, 0.4, 0.4, 0.4, 0.1, 0.1]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 54.4, "rms_from_grade_m": 0.344, "max_above_grade_m": 0.47, "at_grade_fraction": 0.23, "unspread_m3": 1.19}} diff --git a/phase2/logs/haul_bench_lane_fix_long2_loam_1carrier.json b/phase2/logs/haul_bench_lane_fix_long2_loam_1carrier.json new file mode 100644 index 0000000..45e3004 --- /dev/null +++ b/phase2/logs/haul_bench_lane_fix_long2_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 1.047, "loads": [{"carrier": 0, "departed_s": 128.4, "load_kg": 10516, "loading_s": 128.4, "passes": 7}, {"carrier": 0, "departed_s": 307.1, "load_kg": 10136, "loading_s": 121.6, "passes": 7}, {"carrier": 0, "departed_s": 469.1, "load_kg": 10413, "loading_s": 104.9, "passes": 6}, {"carrier": 0, "departed_s": 662.9, "load_kg": 10840, "loading_s": 136.7, "passes": 7}, {"carrier": 0, "departed_s": 870.6, "load_kg": 10818, "loading_s": 149.9, "passes": 8}, {"carrier": 0, "departed_s": 1099.4, "load_kg": 11037, "loading_s": 171.0, "passes": 9}, {"carrier": 0, "departed_s": 1298.5, "load_kg": 5569, "loading_s": 141.4, "passes": 8}], "trips": [{"depart_t": 128.43, "stages": {"loading": 128.43, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.43, "lower": 5.0, "return": 5.13, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 239, "away_s": 57.02}, {"depart_t": 307.07, "stages": {"loading": 121.62, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.55, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 300, "away_s": 57.1}, {"depart_t": 469.12, "stages": {"loading": 104.95, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.5, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 291, "away_s": 57.06}, {"depart_t": 662.88, "stages": {"loading": 136.7, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.48, "lower": 5.0, "return": 4.87, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 238, "away_s": 57.8}, {"depart_t": 870.6, "stages": {"loading": 149.92, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.52, "lower": 5.0, "return": 4.87, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 235, "away_s": 57.83}, {"depart_t": 1099.4, "stages": {"loading": 170.97, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.22, "lower": 5.0, "return": 4.95, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 375, "away_s": 57.62}, {"depart_t": 1298.47, "stages": {"loading": 141.45, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.4, "lower": 5.0, "return": 4.63, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 74, "away_s": 58.48}], "delivered_t": 67.58, "loaded_t": 69.41, "loaded_t_per_hour": 166.6, "mean_departure_interval_s": 195.0, "t_per_hour": 162.2, "mean_load_kg": 9904.0, "mean_loading_s": 136.3, "carry_back_kg": [239, 300, 291, 238, 235, 375, 74], "mean_away_s": 57.6, "excavator_wait_s": 290.2, "passes": 58, "spoil_settled_t": 66.65, "lost_particles": 2287, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 402.9, "pit_left_t": 98.9, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 55, "curl_tears": 0, "mean_carried_kg": 1184, "mean_dumped_kg": 1070, "thin_passes": 7, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1109, "early_curl": true, "skips": 0, "at_swing_kg": 1075, "carried_kg": 1159, "left_kg": 10}, {"pass": 1, "t": 14.5, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1171, "early_curl": true, "skips": 0, "at_swing_kg": 1130, "carried_kg": 1154, "left_kg": 31}, {"pass": 2, "t": 29.4, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1295, "early_curl": true, "skips": 0, "at_swing_kg": 1220, "carried_kg": 1328, "left_kg": 63}, {"pass": 3, "t": 44.6, "face": [-30.0, 0.0, 1.25], "dig_max_kg": 1264, "early_curl": true, "skips": 0, "at_swing_kg": 1239, "carried_kg": 1352, "left_kg": 26}, {"pass": 4, "t": 59.7, "face": [-10.0, 0.0, 1.23], "dig_max_kg": 1261, "early_curl": true, "skips": 0, "at_swing_kg": 1020, "carried_kg": 1215, "left_kg": 72}, {"pass": 5, "t": 75.2, "face": [20.0, 0.0, 1.14], "dig_max_kg": 1380, "early_curl": true, "skips": 0, "at_swing_kg": 1038, "carried_kg": 1058, "left_kg": 120}, {"pass": 6, "t": 93.0, "face": [0.0, 0.0, 0.74], "dig_max_kg": 1215, "early_curl": false, "skips": 0, "at_swing_kg": 1199, "carried_kg": 1435, "left_kg": 390}, {"pass": 7, "t": 113.7, "face": [0.0, 0.0, 1.15], "dig_max_kg": 1427, "early_curl": false, "skips": 0, "at_swing_kg": 1324, "carried_kg": 1453, "left_kg": 106}, {"pass": 8, "t": 129.7, "face": [-20.0, 0.0, 0.68], "dig_max_kg": 1334, "early_curl": false, "skips": 0, "at_swing_kg": 1273, "carried_kg": 1241, "left_kg": 9}, {"pass": 9, "t": 192.8, "face": [-20.0, 0.0, 1.16], "dig_max_kg": 1436, "early_curl": false, "skips": 0, "at_swing_kg": 1310, "carried_kg": 1438, "left_kg": 71}, {"pass": 10, "t": 208.9, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 1396, "early_curl": false, "skips": 0, "at_swing_kg": 1396, "carried_kg": 1612, "left_kg": 17}, {"pass": 11, "t": 224.4, "face": [-10.0, 0.0, 1.18], "dig_max_kg": 1408, "early_curl": true, "skips": 0, "at_swing_kg": 1200, "carried_kg": 1206, "left_kg": 64}, {"pass": 12, "t": 240.5, "face": [0.0, 0.0, 0.48], "dig_max_kg": 1202, "early_curl": false, "skips": 0, "at_swing_kg": 1167, "carried_kg": 1280, "left_kg": 102}, {"pass": 13, "t": 257.7, "face": [0.0, 0.0, 1.12], "dig_max_kg": 1451, "early_curl": false, "skips": 0, "at_swing_kg": 1256, "carried_kg": 1295, "left_kg": 75}, {"pass": 14, "t": 273.7, "face": [-40.0, 0.0, 0.49], "dig_max_kg": 1282, "early_curl": false, "skips": 0, "at_swing_kg": 616, "carried_kg": 662, "left_kg": 91}, {"pass": 15, "t": 290.3, "face": [-30.0, 0.0, 0.53], "dig_max_kg": 1234, "early_curl": false, "skips": 0, "at_swing_kg": 1229, "carried_kg": 1407, "left_kg": 230}, {"pass": 16, "t": 308.1, "face": [-30.0, 0.0, 1.08], "dig_max_kg": 1423, "early_curl": false, "skips": 0, "at_swing_kg": 1218, "carried_kg": 1191, "left_kg": 55}, {"pass": 17, "t": 371.1, "face": [-30.0, 0.0, 0.53], "dig_max_kg": 1591, "early_curl": false, "skips": 0, "at_swing_kg": 1584, "carried_kg": 1646, "left_kg": 19}, {"pass": 18, "t": 387.0, "face": [-20.0, 0.0, 0.5], "dig_max_kg": 1591, "early_curl": false, "skips": 0, "at_swing_kg": 1289, "carried_kg": 1458, "left_kg": 212}, {"pass": 19, "t": 402.8, "face": [-20.0, 0.0, 1.16], "dig_max_kg": 1391, "early_curl": true, "skips": 0, "at_swing_kg": 1286, "carried_kg": 1342, "left_kg": 79}, {"pass": 20, "t": 418.5, "face": [-10.0, 0.0, 0.61], "dig_max_kg": 1506, "early_curl": false, "skips": 0, "at_swing_kg": 1494, "carried_kg": 1748, "left_kg": 127}, {"pass": 21, "t": 435.1, "face": [-10.0, 0.0, 1.12], "dig_max_kg": 1506, "early_curl": true, "skips": 0, "at_swing_kg": 1018, "carried_kg": 1038, "left_kg": 20}, {"pass": 22, "t": 452.1, "face": [0.0, 0.0, 0.51], "dig_max_kg": 1521, "early_curl": false, "skips": 0, "at_swing_kg": 1504, "carried_kg": 1618, "left_kg": 162}, {"pass": 23, "t": 470.8, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1521, "early_curl": false, "skips": 0, "at_swing_kg": 1521, "carried_kg": 1411, "left_kg": 20}, {"pass": 24, "t": 533.8, "face": [0.0, 0.0, 0.52], "dig_max_kg": 1630, "early_curl": false, "skips": 0, "at_swing_kg": 1620, "carried_kg": 1539, "left_kg": 55}, {"pass": 25, "t": 551.6, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1630, "early_curl": false, "skips": 0, "at_swing_kg": 1293, "carried_kg": 1285, "left_kg": 39}, {"pass": 26, "t": 568.7, "face": [0.0, 0.0, 0.62], "dig_max_kg": 1633, "early_curl": false, "skips": 0, "at_swing_kg": 1633, "carried_kg": 1540, "left_kg": 70}, {"pass": 27, "t": 586.6, "face": [-10.0, 0.0, 0.51], "dig_max_kg": 1629, "early_curl": false, "skips": 0, "at_swing_kg": 1390, "carried_kg": 1431, "left_kg": 375}, {"pass": 28, "t": 606.2, "face": [-10.0, 0.0, 1.05], "dig_max_kg": 1195, "early_curl": true, "skips": 0, "at_swing_kg": 1072, "carried_kg": 1207, "left_kg": 91}, {"pass": 29, "t": 623.3, "face": [0.0, 0.0, 0.55], "dig_max_kg": 1149, "early_curl": false, "skips": 0, "at_swing_kg": 1149, "carried_kg": 1214, "left_kg": 522}, {"pass": 30, "t": 644.3, "face": [-10.0, 0.0, 0.45], "dig_max_kg": 1450, "early_curl": false, "skips": 0, "at_swing_kg": 1438, "carried_kg": 1464, "left_kg": 334}, {"pass": 31, "t": 664.5, "face": [0.0, 0.0, 0.41], "dig_max_kg": 1450, "early_curl": false, "skips": 0, "at_swing_kg": 555, "carried_kg": 574, "left_kg": 49}, {"pass": 32, "t": 727.8, "face": [0.0, 0.0, 0.79], "dig_max_kg": 1065, "early_curl": false, "skips": 0, "at_swing_kg": 1065, "carried_kg": 1076, "left_kg": 60}, {"pass": 33, "t": 745.2, "face": [0.0, 0.0, 0.78], "dig_max_kg": 1376, "early_curl": false, "skips": 0, "at_swing_kg": 1357, "carried_kg": 1342, "left_kg": 58}, {"pass": 34, "t": 763.3, "face": [10.0, 0.0, 0.35], "dig_max_kg": 1374, "early_curl": false, "skips": 0, "at_swing_kg": 484, "carried_kg": 672, "left_kg": 235}, {"pass": 35, "t": 778.9, "face": [10.0, 0.0, 0.63], "dig_max_kg": 1318, "early_curl": false, "skips": 0, "at_swing_kg": 1318, "carried_kg": 1568, "left_kg": 18}, {"pass": 36, "t": 796.2, "face": [10.0, 0.0, 0.7], "dig_max_kg": 1311, "early_curl": false, "skips": 0, "at_swing_kg": 1274, "carried_kg": 1361, "left_kg": 301}, {"pass": 37, "t": 816.1, "face": [10.0, 0.0, 0.88], "dig_max_kg": 1274, "early_curl": false, "skips": 0, "at_swing_kg": 1252, "carried_kg": 1258, "left_kg": 109}, {"pass": 38, "t": 833.3, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1396, "early_curl": false, "skips": 0, "at_swing_kg": 1372, "carried_kg": 1409, "left_kg": 40}, {"pass": 39, "t": 851.2, "face": [0.0, 0.0, 0.43], "dig_max_kg": 1455, "early_curl": false, "skips": 0, "at_swing_kg": 1442, "carried_kg": 1637, "left_kg": 490}, {"pass": 40, "t": 872.7, "face": [20.0, 0.0, 0.33], "dig_max_kg": 450, "early_curl": false, "skips": 0, "at_swing_kg": 770, "carried_kg": 776, "left_kg": 20}, {"pass": 41, "t": 935.7, "face": [20.0, 0.0, 0.78], "dig_max_kg": 1209, "early_curl": false, "skips": 0, "at_swing_kg": 1195, "carried_kg": 1395, "left_kg": 71}, {"pass": 42, "t": 954.0, "face": [20.0, 0.0, 0.71], "dig_max_kg": 1352, "early_curl": false, "skips": 0, "at_swing_kg": 1335, "carried_kg": 1499, "left_kg": 25}, {"pass": 43, "t": 972.8, "face": [20.0, 0.0, 0.73], "dig_max_kg": 1337, "early_curl": false, "skips": 0, "at_swing_kg": 1286, "carried_kg": 1327, "left_kg": 43}, {"pass": 44, "t": 991.3, "face": [20.0, 0.0, 0.85], "dig_max_kg": 1295, "early_curl": false, "skips": 0, "at_swing_kg": 87, "carried_kg": 135, "left_kg": 0}, {"pass": 45, "t": 1009.5, "face": [20.0, 0.0, 0.91], "dig_max_kg": 1157, "early_curl": false, "skips": 0, "at_swing_kg": 1134, "carried_kg": 1201, "left_kg": 67}, {"pass": 46, "t": 1028.6, "face": [10.0, 0.0, 0.6], "dig_max_kg": 1523, "early_curl": false, "skips": 0, "at_swing_kg": 1509, "carried_kg": 1703, "left_kg": 257}, {"pass": 47, "t": 1047.7, "face": [-20.0, 0.0, 0.3], "dig_max_kg": 674, "early_curl": false, "skips": 0, "at_swing_kg": 672, "carried_kg": 811, "left_kg": 59}, {"pass": 48, "t": 1063.5, "face": [-20.0, 0.0, 0.89], "dig_max_kg": 1123, "early_curl": true, "skips": 0, "at_swing_kg": 986, "carried_kg": 1040, "left_kg": 259}, {"pass": 49, "t": 1082.1, "face": [-20.0, 0.0, 0.32], "dig_max_kg": 1078, "early_curl": false, "skips": 0, "at_swing_kg": 1067, "carried_kg": 1138, "left_kg": 147}, {"pass": 50, "t": 1100.7, "face": [-20.0, 0.0, 0.35], "dig_max_kg": 1078, "early_curl": false, "skips": 0, "at_swing_kg": 876, "carried_kg": 839, "left_kg": 37}, {"pass": 51, "t": 1164.6, "face": [-10.0, 0.0, 0.31], "dig_max_kg": 733, "early_curl": false, "skips": 0, "at_swing_kg": 733, "carried_kg": 912, "left_kg": 24}, {"pass": 52, "t": 1183.6, "face": [20.0, 0.0, 0.55], "dig_max_kg": 1170, "early_curl": false, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1267, "left_kg": 20}, {"pass": 53, "t": 1202.6, "face": [20.0, 0.0, 0.33], "dig_max_kg": 1163, "early_curl": false, "skips": 0, "at_swing_kg": 183, "carried_kg": 248, "left_kg": 225}, {"pass": 54, "t": 1221.6, "face": [20.0, 0.0, 0.36], "dig_max_kg": 325, "early_curl": false, "skips": 0, "at_swing_kg": 177, "carried_kg": 224, "left_kg": 238}, {"pass": 55, "t": 1241.1, "face": [20.0, 0.0, 0.35], "dig_max_kg": 279, "early_curl": false, "skips": 0, "at_swing_kg": 128, "carried_kg": 147, "left_kg": 0}, {"pass": 56, "t": 1259.4, "face": [10.0, 0.0, 0.32], "dig_max_kg": 732, "early_curl": false, "skips": 0, "at_swing_kg": 732, "carried_kg": 912, "left_kg": 23}, {"pass": 57, "t": 1278.2, "face": [20.0, 0.0, 0.42], "dig_max_kg": 728, "early_curl": false, "skips": 0, "at_swing_kg": 654, "carried_kg": 748, "left_kg": 52}], "dozer": {"passes": 30, "push_m": 182.43, "work_MJ": 2.19, "load_lifts": 36, "lifts_raised": 2, "parked_s": 849.02, "working_s": 651.0, "peak_kN": 90.58, "slip_s": 1.67, "futile_passes": 11, "mean_push_kN": [23.9, 13.6, 20.4, 9.5, 20.1, 4.8, 24.7, 19.6, 4.9, 16.3, 14.0, 7.6, 4.9, 21.3, 0.4, 14.7, 8.0, 1.1, 1.9, 3.1, 2.7, 0.4, 0.6, 7.6, 6.1, 17.9, 3.6, 4.1, 1.5, 1.3]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 53.5, "rms_from_grade_m": 0.387, "max_above_grade_m": 1.04, "at_grade_fraction": 0.34, "unspread_m3": 2.69}} diff --git a/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json b/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json new file mode 100644 index 0000000..bd24601 --- /dev/null +++ b/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json @@ -0,0 +1,117 @@ +Warp 1.19.0 initialized: + CUDA Toolkit 13.4, Driver 13.0 + Devices: + "cpu" : "aarch64" + "cuda:0" : "NVIDIA GB10" (122 GiB, sm_121, mempool enabled) + Kernel cache: + /home/dttai1/.cache/warp/1.19.0 +Module validate_and_correct_inertia_kernel_0dd217c5 0dd217c load on device 'cuda:0' took 0.72 ms (cached) +Module newton._src.geometry.bvh c108a72 load on device 'cuda:0' took 0.49 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_model 3bb21b4 load on device 'cuda:0' took 0.49 ms (cached) +Module warp.fem.geometry.nanogrid 8a477eb load on device 'cuda:0' took 0.53 ms (cached) +Module warp._src.fem.quadrature.pic_quadrature.dyn.bin_particles_72b36c27 1274abb load on device 'cuda:0' took 0.58 ms (cached) +Module warp.fem.utils 5050414 load on device 'cuda:0' took 0.51 ms (cached) +Module warp._src.fem.quadrature.pic_quadrature.dyn.finalize_cell_particle_data_6a72a038 588425d load on device 'cuda:0' took 0.47 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_60813d26 264deb8 load on device 'cuda:0' took 0.43 ms (cached) +Module warp.fem.space.restriction 13859e3 load on device 'cuda:0' took 0.29 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_9775d3a0 c659439 load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_8688d243 72a45d0 load on device 'cuda:0' took 0.29 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.dyn.cell_color_e837866a 03aea13 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels 309f94e load on device 'cuda:0' took 0.41 ms (cached) +Module warp._src.coloring 5014867 load on device 'cpu' took 0.87 ms (cached) +Module newton._src.solvers.mujoco.kernels 8cde23f load on device 'cuda:0' took 2.79 ms (cached) +Module mujoco_warp._src.set_const e7f6e53 load on device 'cuda:0' took 0.63 ms (cached) +Module mujoco_warp._src.smooth 6ec87e9 load on device 'cuda:0' took 1.38 ms (cached) +Module _small_cholesky_factorize_block__locals__kernel_688128d2 3a1ff3a load on device 'cuda:0' took 0.31 ms (cached) +Module _small_cholesky_factorize_block__locals__kernel_76d25309 797032f load on device 'cuda:0' took 0.28 ms (cached) +Module _small_cholesky_solve_block__locals__kernel_1e3f1516 c492a5b load on device 'cuda:0' took 0.28 ms (cached) +Module _small_cholesky_solve_block__locals__kernel_b7425cff b9bad6a load on device 'cuda:0' took 0.26 ms (cached) +Module create_eval_articulation_fk_tile__locals__eval_articulation_fk_tile_b12ad9e5 33f5a01 load on device 'cuda:0' took 0.51 ms (cached) +Module soil_zone 8795928 load on device 'cuda:0' took 0.73 ms (cached) +Module map_mul 4da365f load on device 'cuda:0' took 0.29 ms (cached) +Module soil_server d8198c9 load on device 'cuda:0' took 0.46 ms (cached) +Module excavator_server b3143cf load on device 'cuda:0' took 0.40 ms (cached) +Module newton._src.sim.collide f8ad45d load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.geometry.broad_phase_nxn 92014d2 load on device 'cuda:0' took 0.30 ms (cached) +Module narrow_phase_primitive_write_contact_False_False_False 3cf6427 load on device 'cuda:0' took 0.32 ms (cached) +Module narrow_phase_gjk_mpr_True_False_write_contact_support_map_lean_post_process_minkowski_only 7d090a1 load on device 'cuda:0' took 0.41 ms (cached) +Module newton._src.geometry.narrow_phase dde4959 load on device 'cuda:0' took 0.42 ms (cached) +Module mujoco_warp._src.constraint 9feb269 load on device 'cuda:0' took 0.29 ms (cached) +Module _friction_dof__locals__kernel_de3fc701 de3fc70 load on device 'cuda:0' took 0.55 ms (cached) +Module _limit_slide_hinge__locals__kernel_0914a21e 0914a21 load on device 'cuda:0' took 0.31 ms (cached) +Module _efc_contact_init__locals__kernel_2fbed541 2fbed54 load on device 'cuda:0' took 0.29 ms (cached) +Module _efc_contact_jac_dense__locals__kernel_1686fae4 bea9b8b load on device 'cuda:0' took 0.35 ms (cached) +Module _efc_contact_update__locals__kernel_a67f25cf a67f25c load on device 'cuda:0' took 0.29 ms (cached) +Module mujoco_warp._src.passive a2eea36 load on device 'cuda:0' took 0.42 ms (cached) +Module _qfrc_passive_kernel__locals__kernel_887f05a4 887f05a load on device 'cuda:0' took 0.28 ms (cached) +Module _qfrc_smooth__locals__kernel_5d93552d 5d93552 load on device 'cuda:0' took 0.27 ms (cached) +Module mujoco_warp._src.support 462b66b load on device 'cuda:0' took 0.26 ms (cached) +Module _small_cholesky_factorize_solve_block__locals__kernel_32267892 9d7a2a3 load on device 'cuda:0' took 0.29 ms (cached) +Module _small_cholesky_factorize_solve_block__locals__kernel_bbb3b6d0 7e9304f load on device 'cuda:0' took 0.28 ms (cached) +Module _solve_init_dof__locals__kernel_08db194e 08db194 load on device 'cuda:0' took 0.35 ms (cached) +Module mujoco_warp._src.solver ab57257 load on device 'cuda:0' took 0.37 ms (cached) +Module _solve_init_jaref_kernel__locals__kernel_7c525cac 7c525ca load on device 'cuda:0' took 0.28 ms (cached) +Module mul_m_kernel__locals___mul_m_2eb0ef19 2eb0ef1 load on device 'cuda:0' took 0.26 ms (cached) +Module _update_constraint_efc__locals__kernel_01e3395a 01e3395 load on device 'cuda:0' took 0.27 ms (cached) +Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_1f63a94a 1f63a94 load on device 'cuda:0' took 0.29 ms (cached) +Module _update_gradient_zero_grad_dot__locals__kernel_eeeb13da eeeb13d load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_grad__locals__kernel_9654ebd0 9654ebd load on device 'cuda:0' took 0.26 ms (cached) +Module _update_gradient_JTDAJ_dense_tiled__locals__kernel_42d95046 a1e3b32 load on device 'cuda:0' took 0.49 ms (cached) +Module _update_gradient_cholesky__locals__kernel_4248b06c d4ff837 load on device 'cuda:0' took 26.18 ms (cached) +Module _linesearch_iterative_kernel__locals__kernel_9e726ceb fad442d load on device 'cuda:0' took 0.55 ms (cached) +Module _update_constraint_efc__locals__kernel_81674199 8167419 load on device 'cuda:0' took 0.31 ms (cached) +Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_8e350d39 8e350d3 load on device 'cuda:0' took 0.29 ms (cached) +Module _update_gradient_zero_grad_dot__locals__kernel_ba7e8e2f ba7e8e2 load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_grad__locals__kernel_4f2bb7a9 4f2bb7a load on device 'cuda:0' took 0.26 ms (cached) +Module _update_gradient_cholesky__locals__kernel_4c171783 4827da2 load on device 'cuda:0' took 26.16 ms (cached) +Module _solve_done__locals__kernel_8d3e2217 8d3e221 load on device 'cuda:0' took 0.46 ms (cached) +Module mujoco_warp._src.derivative 380fbcc load on device 'cuda:0' took 0.54 ms (cached) +Module mujoco_warp._src.forward 9883e25 load on device 'cuda:0' took 0.39 ms (cached) +Module _next_time_builder__locals___next_time_1cb22d2e 1cb22d2 load on device 'cuda:0' took 0.51 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_2fb7f2f1 60674ca load on device 'cuda:0' took 0.49 ms (cached) +Module newton._src.solvers.implicit_mpm.rasterized_collisions.world_position_33f2b610 f78fcaa load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.rasterized_collisions 6d32b59 load on device 'cuda:0' took 0.39 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.collision_weight_field_8c7a1ed7 c6a78c2 load on device 'cuda:0' took 0.36 ms (cached) +Module _bsr_accumulate_triplet_values_89c51218 7baeb9a load on device 'cuda:0' took 0.31 ms (cached) +Module warp._src.fem.quadrature.quadrature.dyn.quadrature_point_element_indices_d52fa04e ff44114 load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_e081b3ef ccc78d5 load on device 'cuda:0' took 0.34 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_c147b205 39f0a31 load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_apic_9dd4ac18 813b0f2 load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_mass_5fda8e19 ac3dcd8 load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_fea4d8fd 16d7ac5 load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_yield_parameters_6dcf6251 7dc048e load on device 'cuda:0' took 0.42 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_88c9ef37 0303b67 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_active_fraction_a5404331 06e1637 load on device 'cuda:0' took 0.37 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_99ecc7cf a3c8b39 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_7c94db4e 0446aed load on device 'cuda:0' took 0.36 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_a649643f 454191e load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_collider_fraction_a5258c95 ac7d7fc load on device 'cuda:0' took 0.36 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_bdb78fbc 7f792ef load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.strain_delta_form_622b62c3 f655226 load on device 'cuda:0' took 0.33 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_6d221857 31482f3 load on device 'cuda:0' took 0.36 ms (cached) +Module warp.fem.integrate._identity_field_b5aa3f34 0ab4782 load on device 'cuda:0' took 0.44 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_particle_stress_d3464583 ca2f662 load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_b79d8313 7d87f73 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.mass_form_bd277bc5 45a767e load on device 'cuda:0' took 0.36 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_f6d3cfb2 ad2be72 load on device 'cuda:0' took 0.35 ms (cached) +Module warp.sparse 52bbb2e load on device 'cuda:0' took 0.54 ms (cached) +Module _bsr_assign_copy_blocks_25808539 9673674 load on device 'cuda:0' took 0.31 ms (cached) +Module compute_eigenvalues_70d01c86 29a61fe load on device 'cuda:0' took 0.30 ms (cached) +Module inverse_scale_vector_e40af5d0 f052608 load on device 'cuda:0' took 0.30 ms (cached) +Module newton._src.solvers.implicit_mpm.contact_solver_kernels f1493cd load on device 'cuda:0' took 0.44 ms (cached) +Module _bsr_transpose_values_1d188087 aa92b67 load on device 'cuda:0' took 0.46 ms (cached) +Module make_bsr_mv_tiled_kernel__locals__bsr_mv_tiled_kernel_17fd668b 3f91fc9 load on device 'cuda:0' took 0.36 ms (cached) +Module make_bsr_mv_kernel__locals__bsr_mv_kernel_37b51eee bf7159b load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels 42c788a load on device 'cuda:0' took 0.82 ms (cached) +Module newton._src.solvers.implicit_mpm.solve_rheology 65415ca load on device 'cuda:0' took 0.45 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels c7bb17e load on device 'cuda:0' took 0.62 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels.dyn.gs_solve_kernel_impl_ba42a0de 8d2ccee load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.solve_rheology 92bb71d load on device 'cuda:0' took 0.53 ms (cached) +Module warp.fem.space.partition 4c5b150 load on device 'cuda:0' took 0.36 ms (cached) +Module scatter_field_dof_values_ec638f93 bde0ade load on device 'cuda:0' took 0.34 ms (cached) +Module warp.fem.integrate._identity_field_15c95b83 0df86d1 load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.update_particle_strains_40d97e08 13b8e25 load on device 'cuda:0' took 0.39 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.advect_particles_2f248551 bfedeec load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_380959cb bb9f71e load on device 'cuda:0' took 0.51 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_ec304b85 25a078a load on device 'cuda:0' took 0.36 ms (cached) +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.951, "loads": [{"carrier": 0, "departed_s": 134.8, "load_kg": 9622, "loading_s": 134.8, "passes": 7}, {"carrier": 0, "departed_s": 381.7, "load_kg": 11136, "loading_s": 188.8, "passes": 10}, {"carrier": 0, "departed_s": 721.5, "load_kg": 11006, "loading_s": 281.1, "passes": 15}, {"carrier": 0, "departed_s": 963.6, "load_kg": 10268, "loading_s": 183.1, "passes": 10}], "trips": [{"depart_t": 134.77, "stages": {"loading": 134.77, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.85, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 294, "away_s": 58.08}, {"depart_t": 381.68, "stages": {"loading": 188.83, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.68, "lower": 5.0, "return": 4.55, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 283, "away_s": 58.69}, {"depart_t": 721.5, "stages": {"loading": 281.13, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.12, "lower": 5.0, "return": 4.43, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 236, "away_s": 59.0}, {"depart_t": 963.58, "stages": {"loading": 183.08, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.53, "lower": 5.0, "return": 4.32, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 325, "away_s": 59.3}], "delivered_t": 40.89, "loaded_t": 52.27, "loaded_t_per_hour": 125.4, "mean_departure_interval_s": 276.3, "t_per_hour": 98.1, "mean_load_kg": 10508.0, "mean_loading_s": 197.0, "carry_back_kg": [294, 283, 236, 325], "mean_away_s": 58.8, "excavator_wait_s": 199.9, "passes": 72, "spoil_settled_t": 41.73, "lost_particles": 1826, "pool_short": 0, "skipped": [{"t": 647.93, "stage": "swing back", "max_err_rad": 0.0}, {"t": 651.95, "stage": "approach", "max_err_rad": 1.406}, {"t": 660.87, "stage": "curl", "max_err_rad": 0.146}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 235.1, "pit_left_t": 118.3, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-40.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 68, "mean_carried_kg": 907, "mean_dumped_kg": 767, "thin_passes": 24, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1202, "early_curl": true, "skips": 0, "at_swing_kg": 1198, "carried_kg": 1225, "left_kg": 74}, {"pass": 1, "t": 16.2, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1260, "early_curl": true, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1276, "left_kg": 133}, {"pass": 2, "t": 33.3, "face": [-30.0, 0.0, 1.32], "dig_max_kg": 1254, "early_curl": true, "skips": 0, "at_swing_kg": 1118, "carried_kg": 1087, "left_kg": 179}, {"pass": 3, "t": 50.4, "face": [-10.0, 0.0, 1.31], "dig_max_kg": 1191, "early_curl": true, "skips": 0, "at_swing_kg": 1149, "carried_kg": 1226, "left_kg": 191}, {"pass": 4, "t": 67.8, "face": [-20.0, 0.0, 1.21], "dig_max_kg": 1210, "early_curl": true, "skips": 0, "at_swing_kg": 1208, "carried_kg": 1205, "left_kg": 55}, {"pass": 5, "t": 83.6, "face": [20.0, 0.0, 1.14], "dig_max_kg": 1210, "early_curl": true, "skips": 0, "at_swing_kg": 1024, "carried_kg": 1088, "left_kg": 60}, {"pass": 6, "t": 101.2, "face": [-10.0, 0.0, 0.9], "dig_max_kg": 1282, "early_curl": false, "skips": 0, "at_swing_kg": 1270, "carried_kg": 1353, "left_kg": 373}, {"pass": 7, "t": 118.9, "face": [-30.0, 0.0, 0.82], "dig_max_kg": 1276, "early_curl": false, "skips": 0, "at_swing_kg": 1198, "carried_kg": 1251, "left_kg": 360}, {"pass": 8, "t": 136.0, "face": [-30.0, 0.0, 0.9], "dig_max_kg": 1201, "early_curl": false, "skips": 0, "at_swing_kg": 1094, "carried_kg": 1076, "left_kg": 21}, {"pass": 9, "t": 201.0, "face": [0.0, 0.0, 0.7], "dig_max_kg": 1322, "early_curl": false, "skips": 0, "at_swing_kg": 1321, "carried_kg": 1344, "left_kg": 20}, {"pass": 10, "t": 218.0, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1322, "early_curl": true, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1198, "left_kg": 150}, {"pass": 11, "t": 235.5, "face": [-10.0, 0.0, 0.7], "dig_max_kg": 1180, "early_curl": false, "skips": 0, "at_swing_kg": 1130, "carried_kg": 1258, "left_kg": 260}, {"pass": 12, "t": 253.6, "face": [-10.0, 0.0, 1.01], "dig_max_kg": 1151, "early_curl": true, "skips": 0, "at_swing_kg": 1134, "carried_kg": 1302, "left_kg": 100}, {"pass": 13, "t": 272.2, "face": [20.0, 0.0, 0.65], "dig_max_kg": 1321, "early_curl": false, "skips": 0, "at_swing_kg": 1219, "carried_kg": 1342, "left_kg": 101}, {"pass": 14, "t": 290.9, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1225, "early_curl": false, "skips": 0, "at_swing_kg": 380, "carried_kg": 421, "left_kg": 56}, {"pass": 15, "t": 309.5, "face": [20.0, 0.0, 0.98], "dig_max_kg": 378, "early_curl": false, "skips": 0, "at_swing_kg": 209, "carried_kg": 222, "left_kg": 182}, {"pass": 16, "t": 327.1, "face": [10.0, 0.0, 0.65], "dig_max_kg": 1091, "early_curl": false, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1185, "left_kg": 76}, {"pass": 17, "t": 344.5, "face": [10.0, 0.0, 1.12], "dig_max_kg": 1285, "early_curl": true, "skips": 0, "at_swing_kg": 1276, "carried_kg": 1390, "left_kg": 685}, {"pass": 18, "t": 363.6, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 1505, "early_curl": false, "skips": 0, "at_swing_kg": 1465, "carried_kg": 1512, "left_kg": 560}, {"pass": 19, "t": 383.1, "face": [-10.0, 0.0, 1.0], "dig_max_kg": 1478, "early_curl": true, "skips": 0, "at_swing_kg": 1184, "carried_kg": 1155, "left_kg": 90}, {"pass": 20, "t": 449.1, "face": [0.0, 0.0, 0.62], "dig_max_kg": 1191, "early_curl": false, "skips": 0, "at_swing_kg": 1173, "carried_kg": 1294, "left_kg": 78}, {"pass": 21, "t": 466.1, "face": [0.0, 0.0, 1.05], "dig_max_kg": 1186, "early_curl": true, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1161, "left_kg": 111}, {"pass": 22, "t": 484.5, "face": [0.0, 0.0, 0.74], "dig_max_kg": 1325, "early_curl": false, "skips": 0, "at_swing_kg": 1300, "carried_kg": 1296, "left_kg": 66}, {"pass": 23, "t": 501.1, "face": [0.0, 0.0, 1.05], "dig_max_kg": 1316, "early_curl": true, "skips": 0, "at_swing_kg": 1189, "carried_kg": 1210, "left_kg": 394}, {"pass": 24, "t": 519.9, "face": [-20.0, 0.0, 0.49], "dig_max_kg": 1193, "early_curl": false, "skips": 0, "at_swing_kg": 1057, "carried_kg": 1215, "left_kg": 91}, {"pass": 25, "t": 536.0, "face": [-20.0, 0.0, 0.95], "dig_max_kg": 1136, "early_curl": true, "skips": 0, "at_swing_kg": 1085, "carried_kg": 1199, "left_kg": 412}, {"pass": 26, "t": 553.3, "face": [-30.0, 0.0, 0.61], "dig_max_kg": 1386, "early_curl": false, "skips": 0, "at_swing_kg": 1324, "carried_kg": 1496, "left_kg": 105}, {"pass": 27, "t": 570.3, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1327, "early_curl": false, "skips": 0, "at_swing_kg": 573, "carried_kg": 602, "left_kg": 118}, {"pass": 28, "t": 589.3, "face": [20.0, 0.0, 0.97], "dig_max_kg": 584, "early_curl": false, "skips": 0, "at_swing_kg": 212, "carried_kg": 236, "left_kg": 215}, {"pass": 29, "t": 607.3, "face": [20.0, 0.0, 0.95], "dig_max_kg": 605, "early_curl": false, "skips": 0, "at_swing_kg": 594, "carried_kg": 671, "left_kg": 23}, {"pass": 30, "t": 624.7, "face": [-20.0, 0.0, 0.72], "dig_max_kg": 1180, "early_curl": false, "skips": 1, "at_swing_kg": 1163, "carried_kg": 1253, "left_kg": 458}, {"pass": 31, "t": 648.0, "face": [-20.0, 0.0, 1.04], "dig_max_kg": 1178, "early_curl": true, "skips": 2, "at_swing_kg": 590, "carried_kg": 0, "left_kg": 1}, {"pass": 32, "t": 667.8, "face": [-20.0, 0.0, 1.04], "dig_max_kg": 1548, "early_curl": true, "skips": 0, "at_swing_kg": 1510, "carried_kg": 1640, "left_kg": 81}, {"pass": 33, "t": 685.0, "face": [10.0, 0.0, 0.66], "dig_max_kg": 1531, "early_curl": false, "skips": 0, "at_swing_kg": 1342, "carried_kg": 1378, "left_kg": 200}, {"pass": 34, "t": 704.9, "face": [10.0, 0.0, 1.02], "dig_max_kg": 1356, "early_curl": true, "skips": 0, "at_swing_kg": 1216, "carried_kg": 1203, "left_kg": 201}, {"pass": 35, "t": 722.8, "face": [-30.0, 0.0, 0.55], "dig_max_kg": 1218, "early_curl": false, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1212, "left_kg": 33}, {"pass": 36, "t": 789.0, "face": [10.0, 0.0, 0.54], "dig_max_kg": 1439, "early_curl": false, "skips": 0, "at_swing_kg": 1439, "carried_kg": 1468, "left_kg": 85}, {"pass": 37, "t": 807.6, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1434, "early_curl": false, "skips": 0, "at_swing_kg": 1098, "carried_kg": 1101, "left_kg": 91}, {"pass": 38, "t": 824.4, "face": [-10.0, 0.0, 0.47], "dig_max_kg": 1470, "early_curl": false, "skips": 0, "at_swing_kg": 1449, "carried_kg": 1537, "left_kg": 288}, {"pass": 39, "t": 843.2, "face": [-10.0, 0.0, 0.98], "dig_max_kg": 848, "early_curl": true, "skips": 0, "at_swing_kg": 314, "carried_kg": 371, "left_kg": 51}, {"pass": 40, "t": 859.6, "face": [-10.0, 0.0, 0.99], "dig_max_kg": 1463, "early_curl": true, "skips": 0, "at_swing_kg": 1421, "carried_kg": 1490, "left_kg": 189}, {"pass": 41, "t": 878.8, "face": [20.0, 0.0, 0.76], "dig_max_kg": 1442, "early_curl": false, "skips": 0, "at_swing_kg": 32, "carried_kg": 42, "left_kg": 3}, {"pass": 42, "t": 897.0, "face": [20.0, 0.0, 0.81], "dig_max_kg": 208, "early_curl": false, "skips": 0, "at_swing_kg": 175, "carried_kg": 217, "left_kg": 0}, {"pass": 43, "t": 914.2, "face": [-20.0, 0.0, 0.56], "dig_max_kg": 1820, "early_curl": false, "skips": 0, "at_swing_kg": 1786, "carried_kg": 1808, "left_kg": 81}, {"pass": 44, "t": 930.9, "face": [-20.0, 0.0, 1.05], "dig_max_kg": 1782, "early_curl": true, "skips": 0, "at_swing_kg": 229, "carried_kg": 342, "left_kg": 100}, {"pass": 45, "t": 947.4, "face": [-20.0, 0.0, 1.07], "dig_max_kg": 1485, "early_curl": false, "skips": 0, "at_swing_kg": 1473, "carried_kg": 1517, "left_kg": 61}, {"pass": 46, "t": 965.4, "face": [10.0, 0.0, 0.46], "dig_max_kg": 1671, "early_curl": false, "skips": 0, "at_swing_kg": 1757, "carried_kg": 1689, "left_kg": 177}, {"pass": 47, "t": 1032.8, "face": [10.0, 0.0, 1.17], "dig_max_kg": 1639, "early_curl": true, "skips": 0, "at_swing_kg": 520, "carried_kg": 482, "left_kg": 410}, {"pass": 48, "t": 1051.5, "face": [10.0, 0.0, 1.15], "dig_max_kg": 1461, "early_curl": false, "skips": 0, "at_swing_kg": 1447, "carried_kg": 1389, "left_kg": 47}, {"pass": 49, "t": 1070.3, "face": [0.0, 0.0, 0.51], "dig_max_kg": 1561, "early_curl": false, "skips": 0, "at_swing_kg": 1561, "carried_kg": 1561, "left_kg": 111}, {"pass": 50, "t": 1087.9, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1560, "early_curl": false, "skips": 0, "at_swing_kg": 903, "carried_kg": 883, "left_kg": 27}, {"pass": 51, "t": 1106.3, "face": [0.0, 0.0, 1.18], "dig_max_kg": 647, "early_curl": false, "skips": 0, "at_swing_kg": 3, "carried_kg": 1, "left_kg": 0}, {"pass": 52, "t": 1124.1, "face": [0.0, 0.0, 1.22], "dig_max_kg": 544, "early_curl": false, "skips": 0, "at_swing_kg": 35, "carried_kg": 35, "left_kg": 51}, {"pass": 53, "t": 1140.9, "face": [-10.0, 0.0, 0.8], "dig_max_kg": 1380, "early_curl": false, "skips": 0, "at_swing_kg": 1375, "carried_kg": 1256, "left_kg": 106}, {"pass": 54, "t": 1158.2, "face": [-10.0, 0.0, 1.06], "dig_max_kg": 1380, "early_curl": false, "skips": 0, "at_swing_kg": 402, "carried_kg": 463, "left_kg": 28}, {"pass": 55, "t": 1176.3, "face": [-10.0, 0.0, 0.99], "dig_max_kg": 627, "early_curl": false, "skips": 0, "at_swing_kg": 1, "carried_kg": 0, "left_kg": 7}, {"pass": 56, "t": 1193.9, "face": [20.0, 0.0, 0.77], "dig_max_kg": 162, "early_curl": false, "skips": 0, "at_swing_kg": 75, "carried_kg": 107, "left_kg": 100}, {"pass": 57, "t": 1211.7, "face": [20.0, 0.0, 0.83], "dig_max_kg": 208, "early_curl": false, "skips": 0, "at_swing_kg": 199, "carried_kg": 240, "left_kg": 0}, {"pass": 58, "t": 1228.8, "face": [-40.0, 0.0, 0.39], "dig_max_kg": 879, "early_curl": false, "skips": 0, "at_swing_kg": 879, "carried_kg": 934, "left_kg": 168}, {"pass": 59, "t": 1247.1, "face": [10.0, 0.0, 0.97], "dig_max_kg": 946, "early_curl": true, "skips": 0, "at_swing_kg": 358, "carried_kg": 319, "left_kg": 263}, {"pass": 60, "t": 1263.6, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1512, "early_curl": false, "skips": 0, "at_swing_kg": 1489, "carried_kg": 1390, "left_kg": 432}, {"pass": 61, "t": 1283.5, "face": [-20.0, 0.0, 0.31], "dig_max_kg": 1502, "early_curl": false, "skips": 0, "at_swing_kg": 661, "carried_kg": 657, "left_kg": 114}, {"pass": 62, "t": 1301.7, "face": [-20.0, 0.0, 0.32], "dig_max_kg": 781, "early_curl": false, "skips": 0, "at_swing_kg": 162, "carried_kg": 214, "left_kg": 83}, {"pass": 63, "t": 1318.5, "face": [-20.0, 0.0, 0.33], "dig_max_kg": 610, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 14}, {"pass": 64, "t": 1336.2, "face": [0.0, 0.0, 1.1], "dig_max_kg": 443, "early_curl": false, "skips": 0, "at_swing_kg": 1, "carried_kg": 1, "left_kg": 30}, {"pass": 65, "t": 1353.4, "face": [0.0, 0.0, 1.11], "dig_max_kg": 606, "early_curl": false, "skips": 0, "at_swing_kg": 434, "carried_kg": 458, "left_kg": 17}, {"pass": 66, "t": 1370.7, "face": [-30.0, 0.0, 0.31], "dig_max_kg": 1044, "early_curl": false, "skips": 0, "at_swing_kg": 1014, "carried_kg": 1055, "left_kg": 29}, {"pass": 67, "t": 1387.8, "face": [-10.0, 0.0, 1.04], "dig_max_kg": 1033, "early_curl": false, "skips": 0, "at_swing_kg": 12, "carried_kg": 13, "left_kg": 0}, {"pass": 68, "t": 1404.5, "face": [-10.0, 0.0, 1.05], "dig_max_kg": 518, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 45}, {"pass": 69, "t": 1423.1, "face": [20.0, 0.0, 0.75], "dig_max_kg": 514, "early_curl": false, "skips": 0, "at_swing_kg": 514, "carried_kg": 621, "left_kg": 308}, {"pass": 70, "t": 1444.7, "face": [20.0, 0.0, 0.79], "dig_max_kg": 511, "early_curl": false, "skips": 0, "at_swing_kg": 117, "carried_kg": 133, "left_kg": 5}, {"pass": 71, "t": 1462.2, "face": [20.0, 0.0, 0.82], "dig_max_kg": 1332, "early_curl": true, "skips": 0, "at_swing_kg": 1314, "carried_kg": 1298, "left_kg": 205}], "dozer": {"passes": 12, "push_m": 90.7, "work_MJ": 2.2, "load_lifts": 67, "lifts_raised": 1, "parked_s": 1155.18, "working_s": 344.83, "peak_kN": 82.27, "slip_s": 2.98, "futile_passes": 0, "mean_push_kN": [26.0, 20.9, 16.1, 15.3, 15.1, 30.4, 22.9, 25.9, 27.6, 30.8, 27.8, 24.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 44.1, "rms_from_grade_m": 0.397, "max_above_grade_m": 2.15, "at_grade_fraction": 0.34, "unspread_m3": 3.61}} diff --git a/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json b/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json new file mode 100644 index 0000000..aad72a9 --- /dev/null +++ b/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json @@ -0,0 +1,115 @@ +Warp 1.19.0 initialized: + CUDA Toolkit 13.4, Driver 13.0 + Devices: + "cpu" : "aarch64" + "cuda:0" : "NVIDIA GB10" (122 GiB, sm_121, mempool enabled) + Kernel cache: + /home/dttai1/.cache/warp/1.19.0 +Module validate_and_correct_inertia_kernel_0dd217c5 0dd217c load on device 'cuda:0' took 0.85 ms (cached) +Module newton._src.geometry.bvh c108a72 load on device 'cuda:0' took 0.56 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_model 3bb21b4 load on device 'cuda:0' took 0.51 ms (cached) +Module warp.fem.geometry.nanogrid 8a477eb load on device 'cuda:0' took 0.57 ms (cached) +Module warp._src.fem.quadrature.pic_quadrature.dyn.bin_particles_72b36c27 1274abb load on device 'cuda:0' took 0.46 ms (cached) +Module warp.fem.utils 5050414 load on device 'cuda:0' took 0.36 ms (cached) +Module warp._src.fem.quadrature.pic_quadrature.dyn.finalize_cell_particle_data_6a72a038 588425d load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_60813d26 264deb8 load on device 'cuda:0' took 0.44 ms (cached) +Module warp.fem.space.restriction 13859e3 load on device 'cuda:0' took 0.29 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_9775d3a0 c659439 load on device 'cuda:0' took 0.34 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_8688d243 72a45d0 load on device 'cuda:0' took 0.31 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.dyn.cell_color_e837866a 03aea13 load on device 'cuda:0' took 0.31 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels 309f94e load on device 'cuda:0' took 0.43 ms (cached) +Module warp._src.coloring 5014867 load on device 'cpu' took 0.90 ms (cached) +Module newton._src.solvers.mujoco.kernels 8cde23f load on device 'cuda:0' took 2.97 ms (cached) +Module mujoco_warp._src.set_const e7f6e53 load on device 'cuda:0' took 0.70 ms (cached) +Module mujoco_warp._src.smooth 6ec87e9 load on device 'cuda:0' took 1.35 ms (cached) +Module _small_cholesky_factorize_block__locals__kernel_688128d2 3a1ff3a load on device 'cuda:0' took 0.34 ms (cached) +Module _small_cholesky_factorize_block__locals__kernel_76d25309 797032f load on device 'cuda:0' took 0.28 ms (cached) +Module _small_cholesky_solve_block__locals__kernel_1e3f1516 c492a5b load on device 'cuda:0' took 0.29 ms (cached) +Module _small_cholesky_solve_block__locals__kernel_b7425cff b9bad6a load on device 'cuda:0' took 0.27 ms (cached) +Module create_eval_articulation_fk_tile__locals__eval_articulation_fk_tile_b12ad9e5 33f5a01 load on device 'cuda:0' took 0.55 ms (cached) +Module soil_zone 8795928 load on device 'cuda:0' took 0.82 ms (cached) +Module map_mul 4da365f load on device 'cuda:0' took 0.32 ms (cached) +Module soil_server d8198c9 load on device 'cuda:0' took 0.49 ms (cached) +Module excavator_server b3143cf load on device 'cuda:0' took 0.41 ms (cached) +Module newton._src.sim.collide f8ad45d load on device 'cuda:0' took 0.34 ms (cached) +Module newton._src.geometry.broad_phase_nxn 92014d2 load on device 'cuda:0' took 0.30 ms (cached) +Module narrow_phase_primitive_write_contact_False_False_False 3cf6427 load on device 'cuda:0' took 0.33 ms (cached) +Module narrow_phase_gjk_mpr_True_False_write_contact_support_map_lean_post_process_minkowski_only 7d090a1 load on device 'cuda:0' took 0.46 ms (cached) +Module newton._src.geometry.narrow_phase dde4959 load on device 'cuda:0' took 0.46 ms (cached) +Module mujoco_warp._src.constraint 9feb269 load on device 'cuda:0' took 0.32 ms (cached) +Module _friction_dof__locals__kernel_de3fc701 de3fc70 load on device 'cuda:0' took 0.39 ms (cached) +Module _limit_slide_hinge__locals__kernel_0914a21e 0914a21 load on device 'cuda:0' took 0.33 ms (cached) +Module _efc_contact_init__locals__kernel_2fbed541 2fbed54 load on device 'cuda:0' took 0.30 ms (cached) +Module _efc_contact_jac_dense__locals__kernel_1686fae4 bea9b8b load on device 'cuda:0' took 0.36 ms (cached) +Module _efc_contact_update__locals__kernel_a67f25cf a67f25c load on device 'cuda:0' took 0.29 ms (cached) +Module mujoco_warp._src.passive a2eea36 load on device 'cuda:0' took 0.45 ms (cached) +Module _qfrc_passive_kernel__locals__kernel_887f05a4 887f05a load on device 'cuda:0' took 0.29 ms (cached) +Module _qfrc_smooth__locals__kernel_5d93552d 5d93552 load on device 'cuda:0' took 0.28 ms (cached) +Module mujoco_warp._src.support 462b66b load on device 'cuda:0' took 0.27 ms (cached) +Module _small_cholesky_factorize_solve_block__locals__kernel_32267892 9d7a2a3 load on device 'cuda:0' took 0.30 ms (cached) +Module _small_cholesky_factorize_solve_block__locals__kernel_bbb3b6d0 7e9304f load on device 'cuda:0' took 0.28 ms (cached) +Module _solve_init_dof__locals__kernel_08db194e 08db194 load on device 'cuda:0' took 0.27 ms (cached) +Module mujoco_warp._src.solver ab57257 load on device 'cuda:0' took 0.39 ms (cached) +Module _solve_init_jaref_kernel__locals__kernel_7c525cac 7c525ca load on device 'cuda:0' took 0.28 ms (cached) +Module mul_m_kernel__locals___mul_m_2eb0ef19 2eb0ef1 load on device 'cuda:0' took 0.27 ms (cached) +Module _update_constraint_efc__locals__kernel_01e3395a 01e3395 load on device 'cuda:0' took 0.28 ms (cached) +Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_1f63a94a 1f63a94 load on device 'cuda:0' took 0.29 ms (cached) +Module _update_gradient_zero_grad_dot__locals__kernel_eeeb13da eeeb13d load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_grad__locals__kernel_9654ebd0 9654ebd load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_JTDAJ_dense_tiled__locals__kernel_42d95046 a1e3b32 load on device 'cuda:0' took 0.50 ms (cached) +Module _update_gradient_cholesky__locals__kernel_4248b06c d4ff837 load on device 'cuda:0' took 26.83 ms (cached) +Module _linesearch_iterative_kernel__locals__kernel_9e726ceb fad442d load on device 'cuda:0' took 0.49 ms (cached) +Module _update_constraint_efc__locals__kernel_81674199 8167419 load on device 'cuda:0' took 0.32 ms (cached) +Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_8e350d39 8e350d3 load on device 'cuda:0' took 0.29 ms (cached) +Module _update_gradient_zero_grad_dot__locals__kernel_ba7e8e2f ba7e8e2 load on device 'cuda:0' took 0.28 ms (cached) +Module _update_gradient_grad__locals__kernel_4f2bb7a9 4f2bb7a load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_cholesky__locals__kernel_4c171783 4827da2 load on device 'cuda:0' took 26.96 ms (cached) +Module _solve_done__locals__kernel_8d3e2217 8d3e221 load on device 'cuda:0' took 0.42 ms (cached) +Module mujoco_warp._src.derivative 380fbcc load on device 'cuda:0' took 0.57 ms (cached) +Module mujoco_warp._src.forward 9883e25 load on device 'cuda:0' took 0.46 ms (cached) +Module _next_time_builder__locals___next_time_1cb22d2e 1cb22d2 load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_2fb7f2f1 60674ca load on device 'cuda:0' took 0.51 ms (cached) +Module newton._src.solvers.implicit_mpm.rasterized_collisions.world_position_33f2b610 f78fcaa load on device 'cuda:0' took 0.38 ms (cached) +Module newton._src.solvers.implicit_mpm.rasterized_collisions 6d32b59 load on device 'cuda:0' took 0.41 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.collision_weight_field_8c7a1ed7 c6a78c2 load on device 'cuda:0' took 0.37 ms (cached) +Module _bsr_accumulate_triplet_values_89c51218 7baeb9a load on device 'cuda:0' took 0.32 ms (cached) +Module warp._src.fem.quadrature.quadrature.dyn.quadrature_point_element_indices_d52fa04e ff44114 load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_e081b3ef ccc78d5 load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_c147b205 39f0a31 load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_apic_9dd4ac18 813b0f2 load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_mass_5fda8e19 ac3dcd8 load on device 'cuda:0' took 0.37 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_fea4d8fd 16d7ac5 load on device 'cuda:0' took 0.37 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_yield_parameters_6dcf6251 7dc048e load on device 'cuda:0' took 0.44 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_88c9ef37 0303b67 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_active_fraction_a5404331 06e1637 load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_99ecc7cf a3c8b39 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_7c94db4e 0446aed load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_a649643f 454191e load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_collider_fraction_a5258c95 ac7d7fc load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_bdb78fbc 7f792ef load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.strain_delta_form_622b62c3 f655226 load on device 'cuda:0' took 0.34 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_6d221857 31482f3 load on device 'cuda:0' took 0.37 ms (cached) +Module warp.fem.integrate._identity_field_b5aa3f34 0ab4782 load on device 'cuda:0' took 0.53 ms (cached) +Module warp.fem.integrate._identity_field_a98e1c46 928ad9d load on device 'cuda:0' took 0.44 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.mass_form_bd277bc5 45a767e load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_f6d3cfb2 ad2be72 load on device 'cuda:0' took 0.36 ms (cached) +Module warp.sparse 52bbb2e load on device 'cuda:0' took 0.55 ms (cached) +Module _bsr_assign_copy_blocks_25808539 9673674 load on device 'cuda:0' took 0.30 ms (cached) +Module compute_eigenvalues_70d01c86 29a61fe load on device 'cuda:0' took 0.30 ms (cached) +Module inverse_scale_vector_e40af5d0 f052608 load on device 'cuda:0' took 0.31 ms (cached) +Module newton._src.solvers.implicit_mpm.contact_solver_kernels f1493cd load on device 'cuda:0' took 0.46 ms (cached) +Module _bsr_transpose_values_1d188087 aa92b67 load on device 'cuda:0' took 0.46 ms (cached) +Module make_bsr_mv_tiled_kernel__locals__bsr_mv_tiled_kernel_17fd668b 3f91fc9 load on device 'cuda:0' took 0.38 ms (cached) +Module make_bsr_mv_kernel__locals__bsr_mv_kernel_37b51eee bf7159b load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels 42c788a load on device 'cuda:0' took 0.89 ms (cached) +Module newton._src.solvers.implicit_mpm.solve_rheology 65415ca load on device 'cuda:0' took 0.44 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels c7bb17e load on device 'cuda:0' took 0.62 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels.dyn.gs_solve_kernel_impl_ba42a0de 8d2ccee load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.solve_rheology 92bb71d load on device 'cuda:0' took 0.53 ms (cached) +Module warp.fem.space.partition 4c5b150 load on device 'cuda:0' took 0.35 ms (cached) +Module scatter_field_dof_values_ec638f93 bde0ade load on device 'cuda:0' took 0.34 ms (cached) +Module warp.fem.integrate._identity_field_15c95b83 0df86d1 load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.advect_particles_2f248551 bfedeec load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_380959cb bb9f71e load on device 'cuda:0' took 0.54 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_ec304b85 25a078a load on device 'cuda:0' took 0.37 ms (cached) +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.938, "loads": [{"carrier": 0, "departed_s": 187.9, "load_kg": 8451, "loading_s": 187.9, "passes": 9}, {"carrier": 0, "departed_s": 381.9, "load_kg": 8335, "loading_s": 137.3, "passes": 6}, {"carrier": 0, "departed_s": 607.8, "load_kg": 8680, "loading_s": 169.2, "passes": 8}, {"carrier": 0, "departed_s": 817.4, "load_kg": 8552, "loading_s": 152.9, "passes": 7}, {"carrier": 0, "departed_s": 1007.1, "load_kg": 10723, "loading_s": 132.3, "passes": 7}, {"carrier": 0, "departed_s": 1230.7, "load_kg": 10546, "loading_s": 165.7, "passes": 9}], "trips": [{"depart_t": 187.88, "stages": {"loading": 187.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 86, "away_s": 56.72}, {"depart_t": 381.93, "stages": {"loading": 137.33, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 60, "away_s": 56.72}, {"depart_t": 607.82, "stages": {"loading": 169.17, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 168, "away_s": 56.71}, {"depart_t": 817.42, "stages": {"loading": 152.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.95, "lower": 5.0, "return": 5.02, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 254, "away_s": 57.41}, {"depart_t": 1007.15, "stages": {"loading": 132.32, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.47, "lower": 5.0, "return": 4.88, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 271, "away_s": 57.8}, {"depart_t": 1230.68, "stages": {"loading": 165.73, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.18, "lower": 5.0, "return": 4.95, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 314, "away_s": 57.59}], "delivered_t": 54.13, "loaded_t": 61.32, "loaded_t_per_hour": 147.2, "mean_departure_interval_s": 208.6, "t_per_hour": 129.9, "mean_load_kg": 9214.0, "mean_loading_s": 157.6, "carry_back_kg": [86, 60, 168, 254, 271, 314], "mean_away_s": 57.2, "excavator_wait_s": 287.7, "passes": 64, "spoil_settled_t": 53.88, "lost_particles": 6586, "pool_short": 91, "skipped": [{"t": 152.03, "stage": "swing back", "max_err_rad": 0.058}, {"t": 156.05, "stage": "approach", "max_err_rad": 1.761}, {"t": 160.07, "stage": "penetrate", "max_err_rad": 1.755}, {"t": 164.08, "stage": "drag", "max_err_rad": 1.752}, {"t": 168.1, "stage": "drag-curl", "max_err_rad": 1.738}, {"t": 172.12, "stage": "curl", "max_err_rad": 1.583}, {"t": 182.18, "stage": "swing to truck", "max_err_rad": 0.41}, {"t": 346.3, "stage": "swing back", "max_err_rad": 0.062}, {"t": 350.32, "stage": "approach", "max_err_rad": 1.909}, {"t": 354.33, "stage": "penetrate", "max_err_rad": 1.905}, {"t": 358.35, "stage": "drag", "max_err_rad": 1.907}, {"t": 362.37, "stage": "drag-curl", "max_err_rad": 1.909}, {"t": 366.38, "stage": "curl", "max_err_rad": 1.817}, {"t": 377.72, "stage": "swing to truck", "max_err_rad": 0.505}, {"t": 572.45, "stage": "swing back", "max_err_rad": 0.057}, {"t": 576.47, "stage": "approach", "max_err_rad": 1.572}, {"t": 580.48, "stage": "penetrate", "max_err_rad": 1.574}, {"t": 584.5, "stage": "drag", "max_err_rad": 1.577}, {"t": 588.52, "stage": "drag-curl", "max_err_rad": 1.568}, {"t": 592.53, "stage": "curl", "max_err_rad": 1.471}, {"t": 602.63, "stage": "swing to truck", "max_err_rad": 0.344}, {"t": 781.13, "stage": "swing back", "max_err_rad": 0.064}, {"t": 785.15, "stage": "approach", "max_err_rad": 1.378}, {"t": 789.17, "stage": "penetrate", "max_err_rad": 1.375}, {"t": 793.18, "stage": "drag", "max_err_rad": 1.371}, {"t": 797.2, "stage": "drag-curl", "max_err_rad": 1.364}, {"t": 801.22, "stage": "curl", "max_err_rad": 1.228}, {"t": 811.73, "stage": "swing to truck", "max_err_rad": 0.466}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 343.0, "pit_left_t": 76.5, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 0, "mean_carried_kg": 1117, "mean_dumped_kg": 1114, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 904, "early_curl": false, "skips": 0, "at_swing_kg": 892, "carried_kg": 591, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1624, "early_curl": false, "skips": 0, "at_swing_kg": 1624, "carried_kg": 1327, "left_kg": 3}, {"pass": 2, "t": 31.5, "face": [0.0, 0.0, 1.42], "dig_max_kg": 1778, "early_curl": false, "skips": 0, "at_swing_kg": 1778, "carried_kg": 1421, "left_kg": 1}, {"pass": 3, "t": 47.6, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1768, "early_curl": false, "skips": 0, "at_swing_kg": 814, "carried_kg": 483, "left_kg": 0}, {"pass": 4, "t": 62.9, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1562, "early_curl": false, "skips": 0, "at_swing_kg": 1562, "carried_kg": 1292, "left_kg": 1}, {"pass": 5, "t": 78.7, "face": [10.0, 0.0, 1.45], "dig_max_kg": 1538, "early_curl": false, "skips": 0, "at_swing_kg": 1243, "carried_kg": 944, "left_kg": 0}, {"pass": 6, "t": 95.2, "face": [10.0, 0.0, 1.65], "dig_max_kg": 1748, "early_curl": false, "skips": 0, "at_swing_kg": 1748, "carried_kg": 1270, "left_kg": 1}, {"pass": 7, "t": 112.6, "face": [0.0, 0.0, 1.57], "dig_max_kg": 1853, "early_curl": false, "skips": 0, "at_swing_kg": 1853, "carried_kg": 1566, "left_kg": 1}, {"pass": 8, "t": 128.8, "face": [0.0, 0.0, 1.7], "dig_max_kg": 2064, "early_curl": false, "skips": 1, "at_swing_kg": 2064, "carried_kg": 1567, "left_kg": 1}, {"pass": 9, "t": 152.1, "face": [0.0, 0.0, 1.57], "dig_max_kg": 2039, "early_curl": false, "skips": 6, "at_swing_kg": 1057, "carried_kg": 1220, "left_kg": 3}, {"pass": 10, "t": 189.5, "face": [0.0, 0.0, 1.55], "dig_max_kg": 2003, "early_curl": false, "skips": 0, "at_swing_kg": 1699, "carried_kg": 1424, "left_kg": 9}, {"pass": 11, "t": 251.6, "face": [0.0, 0.0, 1.66], "dig_max_kg": 2047, "early_curl": false, "skips": 0, "at_swing_kg": 2047, "carried_kg": 1563, "left_kg": 2}, {"pass": 12, "t": 269.3, "face": [0.0, 0.0, 1.59], "dig_max_kg": 2038, "early_curl": false, "skips": 0, "at_swing_kg": 2038, "carried_kg": 1473, "left_kg": 2}, {"pass": 13, "t": 287.4, "face": [0.0, 0.0, 1.62], "dig_max_kg": 2042, "early_curl": false, "skips": 0, "at_swing_kg": 2042, "carried_kg": 1620, "left_kg": 8}, {"pass": 14, "t": 304.4, "face": [0.0, 0.0, 1.58], "dig_max_kg": 2021, "early_curl": false, "skips": 0, "at_swing_kg": 2021, "carried_kg": 1539, "left_kg": 10}, {"pass": 15, "t": 322.3, "face": [0.0, 0.0, 1.63], "dig_max_kg": 2055, "early_curl": false, "skips": 1, "at_swing_kg": 2055, "carried_kg": 1509, "left_kg": 12}, {"pass": 16, "t": 346.3, "face": [0.0, 0.0, 1.65], "dig_max_kg": 2048, "early_curl": false, "skips": 6, "at_swing_kg": 951, "carried_kg": 1298, "left_kg": 2}, {"pass": 17, "t": 383.6, "face": [0.0, 0.0, 1.66], "dig_max_kg": 2048, "early_curl": false, "skips": 0, "at_swing_kg": 1692, "carried_kg": 1354, "left_kg": 1}, {"pass": 18, "t": 445.6, "face": [-30.0, 0.0, 1.55], "dig_max_kg": 2023, "early_curl": false, "skips": 0, "at_swing_kg": 1592, "carried_kg": 1265, "left_kg": 15}, {"pass": 19, "t": 462.4, "face": [0.0, 0.0, 1.46], "dig_max_kg": 2037, "early_curl": false, "skips": 0, "at_swing_kg": 2037, "carried_kg": 1627, "left_kg": 7}, {"pass": 20, "t": 480.2, "face": [10.0, 0.0, 1.4], "dig_max_kg": 2000, "early_curl": false, "skips": 0, "at_swing_kg": 1636, "carried_kg": 1179, "left_kg": 9}, {"pass": 21, "t": 497.2, "face": [0.0, 0.0, 1.61], "dig_max_kg": 2032, "early_curl": false, "skips": 0, "at_swing_kg": 2032, "carried_kg": 1425, "left_kg": 0}, {"pass": 22, "t": 515.1, "face": [-30.0, 0.0, 1.35], "dig_max_kg": 2019, "early_curl": false, "skips": 0, "at_swing_kg": 1524, "carried_kg": 1230, "left_kg": 8}, {"pass": 23, "t": 530.5, "face": [-20.0, 0.0, 1.39], "dig_max_kg": 1519, "early_curl": false, "skips": 0, "at_swing_kg": 892, "carried_kg": 659, "left_kg": 1}, {"pass": 24, "t": 546.3, "face": [0.0, 0.0, 1.51], "dig_max_kg": 2023, "early_curl": false, "skips": 1, "at_swing_kg": 2023, "carried_kg": 1499, "left_kg": 43}, {"pass": 25, "t": 572.5, "face": [-20.0, 0.0, 1.43], "dig_max_kg": 2008, "early_curl": false, "skips": 6, "at_swing_kg": 1327, "carried_kg": 1449, "left_kg": 3}, {"pass": 26, "t": 609.2, "face": [-20.0, 0.0, 1.43], "dig_max_kg": 1522, "early_curl": false, "skips": 0, "at_swing_kg": 1273, "carried_kg": 999, "left_kg": 1}, {"pass": 27, "t": 671.5, "face": [-20.0, 0.0, 1.61], "dig_max_kg": 1886, "early_curl": false, "skips": 0, "at_swing_kg": 1886, "carried_kg": 1490, "left_kg": 2}, {"pass": 28, "t": 689.3, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1972, "early_curl": false, "skips": 0, "at_swing_kg": 1972, "carried_kg": 1675, "left_kg": 7}, {"pass": 29, "t": 706.8, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1950, "early_curl": false, "skips": 0, "at_swing_kg": 1872, "carried_kg": 1587, "left_kg": 1}, {"pass": 30, "t": 723.6, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1921, "early_curl": false, "skips": 0, "at_swing_kg": 1921, "carried_kg": 1537, "left_kg": 13}, {"pass": 31, "t": 741.5, "face": [-10.0, 0.0, 1.51], "dig_max_kg": 1669, "early_curl": false, "skips": 0, "at_swing_kg": 1669, "carried_kg": 1397, "left_kg": 5}, {"pass": 32, "t": 758.1, "face": [0.0, 0.0, 1.59], "dig_max_kg": 1953, "early_curl": false, "skips": 1, "at_swing_kg": 1953, "carried_kg": 1471, "left_kg": 1}, {"pass": 33, "t": 781.2, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1945, "early_curl": false, "skips": 6, "at_swing_kg": 792, "carried_kg": 973, "left_kg": 2}, {"pass": 34, "t": 818.6, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1819, "early_curl": false, "skips": 0, "at_swing_kg": 1573, "carried_kg": 1316, "left_kg": 7}, {"pass": 35, "t": 881.6, "face": [-10.0, 0.0, 1.49], "dig_max_kg": 1778, "early_curl": false, "skips": 0, "at_swing_kg": 1778, "carried_kg": 1424, "left_kg": 2}, {"pass": 36, "t": 899.3, "face": [10.0, 0.0, 1.32], "dig_max_kg": 1763, "early_curl": false, "skips": 0, "at_swing_kg": 1594, "carried_kg": 1058, "left_kg": 0}, {"pass": 37, "t": 917.4, "face": [10.0, 0.0, 1.53], "dig_max_kg": 1813, "early_curl": false, "skips": 0, "at_swing_kg": 1813, "carried_kg": 1363, "left_kg": 8}, {"pass": 38, "t": 934.4, "face": [0.0, 0.0, 1.56], "dig_max_kg": 1900, "early_curl": false, "skips": 0, "at_swing_kg": 1900, "carried_kg": 1467, "left_kg": 1}, {"pass": 39, "t": 952.6, "face": [10.0, 0.0, 1.46], "dig_max_kg": 1879, "early_curl": false, "skips": 0, "at_swing_kg": 1755, "carried_kg": 1196, "left_kg": 1}, {"pass": 40, "t": 971.4, "face": [20.0, 0.0, 1.23], "dig_max_kg": 1730, "early_curl": false, "skips": 0, "at_swing_kg": 1304, "carried_kg": 929, "left_kg": 1}, {"pass": 41, "t": 989.8, "face": [20.0, 0.0, 1.32], "dig_max_kg": 1732, "early_curl": false, "skips": 0, "at_swing_kg": 1732, "carried_kg": 1256, "left_kg": 1}, {"pass": 42, "t": 1009.0, "face": [10.0, 0.0, 1.42], "dig_max_kg": 1820, "early_curl": false, "skips": 0, "at_swing_kg": 1401, "carried_kg": 1090, "left_kg": 1}, {"pass": 43, "t": 1072.2, "face": [-20.0, 0.0, 1.3], "dig_max_kg": 1798, "early_curl": false, "skips": 0, "at_swing_kg": 1657, "carried_kg": 1426, "left_kg": 3}, {"pass": 44, "t": 1088.8, "face": [-10.0, 0.0, 1.3], "dig_max_kg": 1764, "early_curl": false, "skips": 0, "at_swing_kg": 1764, "carried_kg": 1414, "left_kg": 9}, {"pass": 45, "t": 1106.5, "face": [0.0, 0.0, 1.29], "dig_max_kg": 1751, "early_curl": false, "skips": 0, "at_swing_kg": 1727, "carried_kg": 1218, "left_kg": 1}, {"pass": 46, "t": 1125.8, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1702, "early_curl": false, "skips": 0, "at_swing_kg": 1211, "carried_kg": 919, "left_kg": 0}, {"pass": 47, "t": 1144.0, "face": [-20.0, 0.0, 0.91], "dig_max_kg": 1314, "early_curl": false, "skips": 0, "at_swing_kg": 1314, "carried_kg": 1076, "left_kg": 8}, {"pass": 48, "t": 1160.9, "face": [-10.0, 0.0, 0.85], "dig_max_kg": 1371, "early_curl": false, "skips": 0, "at_swing_kg": 1371, "carried_kg": 979, "left_kg": 1}, {"pass": 49, "t": 1179.2, "face": [10.0, 0.0, 0.84], "dig_max_kg": 1364, "early_curl": false, "skips": 0, "at_swing_kg": 1252, "carried_kg": 955, "left_kg": 2}, {"pass": 50, "t": 1196.9, "face": [0.0, 0.0, 0.78], "dig_max_kg": 1236, "early_curl": false, "skips": 0, "at_swing_kg": 1153, "carried_kg": 807, "left_kg": 1}, {"pass": 51, "t": 1214.6, "face": [-20.0, 0.0, 0.74], "dig_max_kg": 1048, "early_curl": false, "skips": 0, "at_swing_kg": 1048, "carried_kg": 657, "left_kg": 0}, {"pass": 52, "t": 1232.8, "face": [20.0, 0.0, 0.71], "dig_max_kg": 1031, "early_curl": false, "skips": 0, "at_swing_kg": 502, "carried_kg": 424, "left_kg": 0}, {"pass": 53, "t": 1294.9, "face": [-10.0, 0.0, 0.68], "dig_max_kg": 1083, "early_curl": false, "skips": 0, "at_swing_kg": 1083, "carried_kg": 782, "left_kg": 0}, {"pass": 54, "t": 1312.8, "face": [10.0, 0.0, 0.64], "dig_max_kg": 1070, "early_curl": false, "skips": 0, "at_swing_kg": 908, "carried_kg": 543, "left_kg": 1}, {"pass": 55, "t": 1331.1, "face": [0.0, 0.0, 0.65], "dig_max_kg": 904, "early_curl": false, "skips": 0, "at_swing_kg": 904, "carried_kg": 589, "left_kg": 1}, {"pass": 56, "t": 1348.3, "face": [-20.0, 0.0, 0.63], "dig_max_kg": 891, "early_curl": false, "skips": 0, "at_swing_kg": 889, "carried_kg": 624, "left_kg": 0}, {"pass": 57, "t": 1366.0, "face": [20.0, 0.0, 0.6], "dig_max_kg": 883, "early_curl": false, "skips": 0, "at_swing_kg": 623, "carried_kg": 339, "left_kg": 1}, {"pass": 58, "t": 1384.9, "face": [-10.0, 0.0, 0.58], "dig_max_kg": 890, "early_curl": false, "skips": 0, "at_swing_kg": 890, "carried_kg": 627, "left_kg": 0}, {"pass": 59, "t": 1402.3, "face": [10.0, 0.0, 0.53], "dig_max_kg": 876, "early_curl": false, "skips": 0, "at_swing_kg": 706, "carried_kg": 413, "left_kg": 0}, {"pass": 60, "t": 1420.3, "face": [0.0, 0.0, 0.56], "dig_max_kg": 744, "early_curl": false, "skips": 0, "at_swing_kg": 744, "carried_kg": 437, "left_kg": 0}, {"pass": 61, "t": 1438.2, "face": [-20.0, 0.0, 0.55], "dig_max_kg": 783, "early_curl": false, "skips": 0, "at_swing_kg": 783, "carried_kg": 548, "left_kg": 1}, {"pass": 62, "t": 1454.9, "face": [-10.0, 0.0, 0.51], "dig_max_kg": 780, "early_curl": false, "skips": 0, "at_swing_kg": 780, "carried_kg": 508, "left_kg": 0}, {"pass": 63, "t": 1473.0, "face": [20.0, 0.0, 0.51], "dig_max_kg": 766, "early_curl": false, "skips": 0, "at_swing_kg": 460, "carried_kg": 195, "left_kg": 0}], "dozer": {"passes": 24, "push_m": 125.59, "work_MJ": 1.11, "load_lifts": 3, "lifts_raised": 1, "parked_s": 1015.15, "working_s": 484.87, "peak_kN": 53.0, "slip_s": 0.0, "futile_passes": 5, "mean_push_kN": [8.5, 3.7, 7.1, 13.5, 0.3, 5.9, 6.2, 2.1, 13.6, 5.7, 7.3, 6.6, 14.8, 0.5, 10.3, 7.8, 7.2, 4.2, 2.0, 2.5, 0.6, 13.9, 0.5, 10.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 56.6, "rms_from_grade_m": 0.143, "max_above_grade_m": 0.42, "at_grade_fraction": 0.58, "unspread_m3": 0.69}} diff --git a/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json b/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json new file mode 100644 index 0000000..1b3cf87 --- /dev/null +++ b/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json @@ -0,0 +1,117 @@ +Warp 1.19.0 initialized: + CUDA Toolkit 13.4, Driver 13.0 + Devices: + "cpu" : "aarch64" + "cuda:0" : "NVIDIA GB10" (122 GiB, sm_121, mempool enabled) + Kernel cache: + /home/dttai1/.cache/warp/1.19.0 +Module validate_and_correct_inertia_kernel_0dd217c5 0dd217c load on device 'cuda:0' took 0.83 ms (cached) +Module newton._src.geometry.bvh c108a72 load on device 'cuda:0' took 0.55 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_model 3bb21b4 load on device 'cuda:0' took 0.51 ms (cached) +Module warp.fem.geometry.nanogrid 8a477eb load on device 'cuda:0' took 0.56 ms (cached) +Module warp._src.fem.quadrature.pic_quadrature.dyn.bin_particles_72b36c27 1274abb load on device 'cuda:0' took 0.46 ms (cached) +Module warp.fem.utils 5050414 load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.quadrature.pic_quadrature.dyn.finalize_cell_particle_data_6a72a038 588425d load on device 'cuda:0' took 0.47 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_60813d26 264deb8 load on device 'cuda:0' took 0.43 ms (cached) +Module warp.fem.space.restriction 13859e3 load on device 'cuda:0' took 0.30 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_9775d3a0 c659439 load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_8688d243 72a45d0 load on device 'cuda:0' took 0.31 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.dyn.cell_color_e837866a 03aea13 load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels 309f94e load on device 'cuda:0' took 0.41 ms (cached) +Module warp._src.coloring 5014867 load on device 'cpu' took 0.86 ms (cached) +Module newton._src.solvers.mujoco.kernels 8cde23f load on device 'cuda:0' took 2.92 ms (cached) +Module mujoco_warp._src.set_const e7f6e53 load on device 'cuda:0' took 0.59 ms (cached) +Module mujoco_warp._src.smooth 6ec87e9 load on device 'cuda:0' took 1.36 ms (cached) +Module _small_cholesky_factorize_block__locals__kernel_688128d2 3a1ff3a load on device 'cuda:0' took 0.31 ms (cached) +Module _small_cholesky_factorize_block__locals__kernel_76d25309 797032f load on device 'cuda:0' took 0.28 ms (cached) +Module _small_cholesky_solve_block__locals__kernel_1e3f1516 c492a5b load on device 'cuda:0' took 0.28 ms (cached) +Module _small_cholesky_solve_block__locals__kernel_b7425cff b9bad6a load on device 'cuda:0' took 0.27 ms (cached) +Module create_eval_articulation_fk_tile__locals__eval_articulation_fk_tile_b12ad9e5 33f5a01 load on device 'cuda:0' took 0.53 ms (cached) +Module soil_zone 8795928 load on device 'cuda:0' took 0.74 ms (cached) +Module map_mul 4da365f load on device 'cuda:0' took 0.30 ms (cached) +Module soil_server d8198c9 load on device 'cuda:0' took 0.49 ms (cached) +Module excavator_server b3143cf load on device 'cuda:0' took 0.39 ms (cached) +Module newton._src.sim.collide f8ad45d load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.geometry.broad_phase_nxn 92014d2 load on device 'cuda:0' took 0.29 ms (cached) +Module narrow_phase_primitive_write_contact_False_False_False 3cf6427 load on device 'cuda:0' took 0.33 ms (cached) +Module narrow_phase_gjk_mpr_True_False_write_contact_support_map_lean_post_process_minkowski_only 7d090a1 load on device 'cuda:0' took 0.39 ms (cached) +Module newton._src.geometry.narrow_phase dde4959 load on device 'cuda:0' took 0.41 ms (cached) +Module mujoco_warp._src.constraint 9feb269 load on device 'cuda:0' took 0.29 ms (cached) +Module _friction_dof__locals__kernel_de3fc701 de3fc70 load on device 'cuda:0' took 0.32 ms (cached) +Module _limit_slide_hinge__locals__kernel_0914a21e 0914a21 load on device 'cuda:0' took 0.30 ms (cached) +Module _efc_contact_init__locals__kernel_2fbed541 2fbed54 load on device 'cuda:0' took 0.29 ms (cached) +Module _efc_contact_jac_dense__locals__kernel_1686fae4 bea9b8b load on device 'cuda:0' took 0.35 ms (cached) +Module _efc_contact_update__locals__kernel_a67f25cf a67f25c load on device 'cuda:0' took 0.29 ms (cached) +Module mujoco_warp._src.passive a2eea36 load on device 'cuda:0' took 0.43 ms (cached) +Module _qfrc_passive_kernel__locals__kernel_887f05a4 887f05a load on device 'cuda:0' took 0.28 ms (cached) +Module _qfrc_smooth__locals__kernel_5d93552d 5d93552 load on device 'cuda:0' took 0.27 ms (cached) +Module mujoco_warp._src.support 462b66b load on device 'cuda:0' took 0.27 ms (cached) +Module _small_cholesky_factorize_solve_block__locals__kernel_32267892 9d7a2a3 load on device 'cuda:0' took 0.29 ms (cached) +Module _small_cholesky_factorize_solve_block__locals__kernel_bbb3b6d0 7e9304f load on device 'cuda:0' took 0.28 ms (cached) +Module _solve_init_dof__locals__kernel_08db194e 08db194 load on device 'cuda:0' took 0.27 ms (cached) +Module mujoco_warp._src.solver ab57257 load on device 'cuda:0' took 0.38 ms (cached) +Module _solve_init_jaref_kernel__locals__kernel_7c525cac 7c525ca load on device 'cuda:0' took 0.29 ms (cached) +Module mul_m_kernel__locals___mul_m_2eb0ef19 2eb0ef1 load on device 'cuda:0' took 0.27 ms (cached) +Module _update_constraint_efc__locals__kernel_01e3395a 01e3395 load on device 'cuda:0' took 0.27 ms (cached) +Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_1f63a94a 1f63a94 load on device 'cuda:0' took 0.28 ms (cached) +Module _update_gradient_zero_grad_dot__locals__kernel_eeeb13da eeeb13d load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_grad__locals__kernel_9654ebd0 9654ebd load on device 'cuda:0' took 0.26 ms (cached) +Module _update_gradient_JTDAJ_dense_tiled__locals__kernel_42d95046 a1e3b32 load on device 'cuda:0' took 0.49 ms (cached) +Module _update_gradient_cholesky__locals__kernel_4248b06c d4ff837 load on device 'cuda:0' took 26.52 ms (cached) +Module _linesearch_iterative_kernel__locals__kernel_9e726ceb fad442d load on device 'cuda:0' took 0.45 ms (cached) +Module _update_constraint_efc__locals__kernel_81674199 8167419 load on device 'cuda:0' took 0.31 ms (cached) +Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_8e350d39 8e350d3 load on device 'cuda:0' took 0.28 ms (cached) +Module _update_gradient_zero_grad_dot__locals__kernel_ba7e8e2f ba7e8e2 load on device 'cuda:0' took 0.27 ms (cached) +Module _update_gradient_grad__locals__kernel_4f2bb7a9 4f2bb7a load on device 'cuda:0' took 0.26 ms (cached) +Module _update_gradient_cholesky__locals__kernel_4c171783 4827da2 load on device 'cuda:0' took 26.54 ms (cached) +Module _solve_done__locals__kernel_8d3e2217 8d3e221 load on device 'cuda:0' took 0.38 ms (cached) +Module mujoco_warp._src.derivative 380fbcc load on device 'cuda:0' took 0.54 ms (cached) +Module mujoco_warp._src.forward 9883e25 load on device 'cuda:0' took 0.40 ms (cached) +Module _next_time_builder__locals___next_time_1cb22d2e 1cb22d2 load on device 'cuda:0' took 0.30 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_2fb7f2f1 60674ca load on device 'cuda:0' took 0.51 ms (cached) +Module newton._src.solvers.implicit_mpm.rasterized_collisions.world_position_33f2b610 f78fcaa load on device 'cuda:0' took 0.37 ms (cached) +Module newton._src.solvers.implicit_mpm.rasterized_collisions 6d32b59 load on device 'cuda:0' took 0.40 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.collision_weight_field_8c7a1ed7 c6a78c2 load on device 'cuda:0' took 0.34 ms (cached) +Module _bsr_accumulate_triplet_values_89c51218 7baeb9a load on device 'cuda:0' took 0.31 ms (cached) +Module warp._src.fem.quadrature.quadrature.dyn.quadrature_point_element_indices_d52fa04e ff44114 load on device 'cuda:0' took 0.34 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_e081b3ef ccc78d5 load on device 'cuda:0' took 0.34 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_c147b205 39f0a31 load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_apic_9dd4ac18 813b0f2 load on device 'cuda:0' took 0.34 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_mass_5fda8e19 ac3dcd8 load on device 'cuda:0' took 0.36 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_fea4d8fd 16d7ac5 load on device 'cuda:0' took 0.36 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_yield_parameters_6dcf6251 7dc048e load on device 'cuda:0' took 0.43 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_88c9ef37 0303b67 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_active_fraction_a5404331 06e1637 load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_99ecc7cf a3c8b39 load on device 'cuda:0' took 0.45 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_7c94db4e 0446aed load on device 'cuda:0' took 0.37 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_a649643f 454191e load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_collider_fraction_a5258c95 ac7d7fc load on device 'cuda:0' took 0.39 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_bdb78fbc 7f792ef load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.strain_delta_form_622b62c3 f655226 load on device 'cuda:0' took 0.34 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_6d221857 31482f3 load on device 'cuda:0' took 0.37 ms (cached) +Module warp.fem.integrate._identity_field_b5aa3f34 0ab4782 load on device 'cuda:0' took 0.50 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_particle_stress_d3464583 ca2f662 load on device 'cuda:0' took 0.34 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_b79d8313 7d87f73 load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.mass_form_bd277bc5 45a767e load on device 'cuda:0' took 0.35 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_f6d3cfb2 ad2be72 load on device 'cuda:0' took 0.36 ms (cached) +Module warp.sparse 52bbb2e load on device 'cuda:0' took 0.54 ms (cached) +Module _bsr_assign_copy_blocks_25808539 9673674 load on device 'cuda:0' took 0.31 ms (cached) +Module compute_eigenvalues_70d01c86 29a61fe load on device 'cuda:0' took 0.29 ms (cached) +Module inverse_scale_vector_e40af5d0 f052608 load on device 'cuda:0' took 0.31 ms (cached) +Module newton._src.solvers.implicit_mpm.contact_solver_kernels f1493cd load on device 'cuda:0' took 0.44 ms (cached) +Module _bsr_transpose_values_1d188087 aa92b67 load on device 'cuda:0' took 0.45 ms (cached) +Module make_bsr_mv_tiled_kernel__locals__bsr_mv_tiled_kernel_17fd668b 3f91fc9 load on device 'cuda:0' took 0.36 ms (cached) +Module make_bsr_mv_kernel__locals__bsr_mv_kernel_37b51eee bf7159b load on device 'cuda:0' took 0.32 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels 42c788a load on device 'cuda:0' took 0.71 ms (cached) +Module newton._src.solvers.implicit_mpm.solve_rheology 65415ca load on device 'cuda:0' took 0.42 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels c7bb17e load on device 'cuda:0' took 0.64 ms (cached) +Module newton._src.solvers.implicit_mpm.rheology_solver_kernels.dyn.gs_solve_kernel_impl_ba42a0de 8d2ccee load on device 'cuda:0' took 0.33 ms (cached) +Module newton._src.solvers.implicit_mpm.solve_rheology 92bb71d load on device 'cuda:0' took 0.52 ms (cached) +Module warp.fem.space.partition 4c5b150 load on device 'cuda:0' took 0.33 ms (cached) +Module scatter_field_dof_values_ec638f93 bde0ade load on device 'cuda:0' took 0.33 ms (cached) +Module warp.fem.integrate._identity_field_15c95b83 0df86d1 load on device 'cuda:0' took 0.35 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.update_particle_strains_40d97e08 13b8e25 load on device 'cuda:0' took 0.39 ms (cached) +Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.advect_particles_2f248551 bfedeec load on device 'cuda:0' took 0.38 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_380959cb bb9f71e load on device 'cuda:0' took 0.49 ms (cached) +Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_ec304b85 25a078a load on device 'cuda:0' took 0.36 ms (cached) +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.985, "loads": [{"carrier": 0, "departed_s": 129.8, "load_kg": 10774, "loading_s": 129.8, "passes": 7}, {"carrier": 0, "departed_s": 329.7, "load_kg": 10597, "loading_s": 142.8, "passes": 8}, {"carrier": 0, "departed_s": 537.8, "load_kg": 10503, "loading_s": 150.9, "passes": 8}, {"carrier": 0, "departed_s": 729.9, "load_kg": 11383, "loading_s": 134.8, "passes": 7}, {"carrier": 0, "departed_s": 899.8, "load_kg": 10886, "loading_s": 112.0, "passes": 6}, {"carrier": 0, "departed_s": 1097.9, "load_kg": 9408, "loading_s": 139.8, "passes": 8}], "trips": [{"depart_t": 129.82, "stages": {"loading": 129.82, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.55, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 154, "away_s": 57.1}, {"depart_t": 329.72, "stages": {"loading": 142.8, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.65, "lower": 5.0, "return": 5.08, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 171, "away_s": 57.18}, {"depart_t": 537.8, "stages": {"loading": 150.9, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.82, "lower": 5.0, "return": 5.05, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 200, "away_s": 57.32}, {"depart_t": 729.9, "stages": {"loading": 134.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.72, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 232, "away_s": 57.98}, {"depart_t": 899.85, "stages": {"loading": 111.97, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.02, "lower": 5.0, "return": 4.73, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 213, "away_s": 58.2}, {"depart_t": 1097.87, "stages": {"loading": 139.82, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.5, "lower": 5.0, "return": 4.87, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 281, "away_s": 57.81}], "delivered_t": 62.3, "loaded_t": 63.78, "loaded_t_per_hour": 153.1, "mean_departure_interval_s": 193.6, "t_per_hour": 149.5, "mean_load_kg": 10592.0, "mean_loading_s": 135.0, "carry_back_kg": [154, 171, 200, 232, 213, 281], "mean_away_s": 57.6, "excavator_wait_s": 244.1, "passes": 49, "spoil_settled_t": 61.87, "lost_particles": 2040, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 345.6, "pit_left_t": 101.9, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0]], "curl_gain_kg": 133, "mean_carried_kg": 1277, "mean_dumped_kg": 1148, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1111, "early_curl": true, "skips": 0, "at_swing_kg": 1071, "carried_kg": 1158, "left_kg": 14}, {"pass": 1, "t": 14.6, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1174, "early_curl": true, "skips": 0, "at_swing_kg": 1133, "carried_kg": 1164, "left_kg": 21}, {"pass": 2, "t": 29.7, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1300, "early_curl": true, "skips": 0, "at_swing_kg": 1267, "carried_kg": 1354, "left_kg": 50}, {"pass": 3, "t": 45.0, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1283, "early_curl": true, "skips": 0, "at_swing_kg": 1232, "carried_kg": 1317, "left_kg": 32}, {"pass": 4, "t": 60.1, "face": [-10.0, 0.0, 1.2], "dig_max_kg": 1256, "early_curl": true, "skips": 0, "at_swing_kg": 994, "carried_kg": 1205, "left_kg": 101}, {"pass": 5, "t": 75.8, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1426, "early_curl": true, "skips": 0, "at_swing_kg": 1293, "carried_kg": 1385, "left_kg": 380}, {"pass": 6, "t": 95.8, "face": [0.0, 0.0, 0.75], "dig_max_kg": 1300, "early_curl": false, "skips": 0, "at_swing_kg": 1269, "carried_kg": 1430, "left_kg": 376}, {"pass": 7, "t": 115.2, "face": [0.0, 0.0, 1.18], "dig_max_kg": 1393, "early_curl": true, "skips": 0, "at_swing_kg": 1306, "carried_kg": 1402, "left_kg": 70}, {"pass": 8, "t": 131.1, "face": [-20.0, 0.0, 0.68], "dig_max_kg": 1320, "early_curl": false, "skips": 0, "at_swing_kg": 1312, "carried_kg": 1261, "left_kg": 13}, {"pass": 9, "t": 194.4, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1363, "early_curl": true, "skips": 0, "at_swing_kg": 1063, "carried_kg": 1057, "left_kg": 17}, {"pass": 10, "t": 210.2, "face": [-10.0, 0.0, 0.57], "dig_max_kg": 1155, "early_curl": false, "skips": 0, "at_swing_kg": 1155, "carried_kg": 1322, "left_kg": 201}, {"pass": 11, "t": 225.3, "face": [-10.0, 0.0, 1.16], "dig_max_kg": 1387, "early_curl": true, "skips": 0, "at_swing_kg": 974, "carried_kg": 973, "left_kg": 31}, {"pass": 12, "t": 241.0, "face": [-40.0, 0.0, 0.52], "dig_max_kg": 988, "early_curl": false, "skips": 0, "at_swing_kg": 638, "carried_kg": 690, "left_kg": 53}, {"pass": 13, "t": 256.3, "face": [-30.0, 0.0, 0.55], "dig_max_kg": 1245, "early_curl": false, "skips": 0, "at_swing_kg": 1232, "carried_kg": 1261, "left_kg": 49}, {"pass": 14, "t": 271.4, "face": [-30.0, 0.0, 1.14], "dig_max_kg": 1567, "early_curl": false, "skips": 0, "at_swing_kg": 1518, "carried_kg": 1694, "left_kg": 426}, {"pass": 15, "t": 290.2, "face": [20.0, 0.0, 0.48], "dig_max_kg": 1523, "early_curl": false, "skips": 0, "at_swing_kg": 873, "carried_kg": 1054, "left_kg": 259}, {"pass": 16, "t": 311.8, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1410, "early_curl": false, "skips": 0, "at_swing_kg": 1229, "carried_kg": 1239, "left_kg": 216}, {"pass": 17, "t": 331.0, "face": [-30.0, 0.0, 0.47], "dig_max_kg": 1570, "early_curl": false, "skips": 0, "at_swing_kg": 1750, "carried_kg": 1680, "left_kg": 24}, {"pass": 18, "t": 395.3, "face": [10.0, 0.0, 0.43], "dig_max_kg": 1570, "early_curl": false, "skips": 0, "at_swing_kg": 847, "carried_kg": 986, "left_kg": 112}, {"pass": 19, "t": 411.7, "face": [10.0, 0.0, 1.09], "dig_max_kg": 1432, "early_curl": false, "skips": 0, "at_swing_kg": 1382, "carried_kg": 1487, "left_kg": 25}, {"pass": 20, "t": 428.3, "face": [20.0, 0.0, 0.45], "dig_max_kg": 1402, "early_curl": false, "skips": 0, "at_swing_kg": 1258, "carried_kg": 1427, "left_kg": 64}, {"pass": 21, "t": 446.9, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1264, "early_curl": false, "skips": 0, "at_swing_kg": 423, "carried_kg": 512, "left_kg": 49}, {"pass": 22, "t": 465.8, "face": [20.0, 0.0, 0.99], "dig_max_kg": 1380, "early_curl": true, "skips": 0, "at_swing_kg": 1149, "carried_kg": 1142, "left_kg": 95}, {"pass": 23, "t": 483.8, "face": [0.0, 0.0, 0.42], "dig_max_kg": 1162, "early_curl": false, "skips": 0, "at_swing_kg": 1096, "carried_kg": 1183, "left_kg": 459}, {"pass": 24, "t": 503.1, "face": [0.0, 0.0, 1.17], "dig_max_kg": 1460, "early_curl": false, "skips": 0, "at_swing_kg": 1285, "carried_kg": 1383, "left_kg": 112}, {"pass": 25, "t": 520.8, "face": [10.0, 0.0, 0.44], "dig_max_kg": 1316, "early_curl": false, "skips": 0, "at_swing_kg": 1233, "carried_kg": 1432, "left_kg": 205}, {"pass": 26, "t": 539.7, "face": [10.0, 0.0, 1.11], "dig_max_kg": 1469, "early_curl": false, "skips": 0, "at_swing_kg": 1653, "carried_kg": 1585, "left_kg": 64}, {"pass": 27, "t": 602.9, "face": [10.0, 0.0, 0.44], "dig_max_kg": 1564, "early_curl": false, "skips": 0, "at_swing_kg": 1552, "carried_kg": 1675, "left_kg": 37}, {"pass": 28, "t": 621.1, "face": [10.0, 0.0, 1.15], "dig_max_kg": 1564, "early_curl": false, "skips": 0, "at_swing_kg": 1393, "carried_kg": 1437, "left_kg": 28}, {"pass": 29, "t": 638.4, "face": [10.0, 0.0, 0.51], "dig_max_kg": 1439, "early_curl": false, "skips": 0, "at_swing_kg": 1431, "carried_kg": 1422, "left_kg": 24}, {"pass": 30, "t": 656.3, "face": [10.0, 0.0, 0.63], "dig_max_kg": 1793, "early_curl": false, "skips": 0, "at_swing_kg": 1791, "carried_kg": 1749, "left_kg": 261}, {"pass": 31, "t": 677.3, "face": [-10.0, 0.0, 0.4], "dig_max_kg": 1793, "early_curl": false, "skips": 0, "at_swing_kg": 1076, "carried_kg": 1156, "left_kg": 68}, {"pass": 32, "t": 693.4, "face": [-10.0, 0.0, 1.06], "dig_max_kg": 1273, "early_curl": true, "skips": 0, "at_swing_kg": 1015, "carried_kg": 1057, "left_kg": 588}, {"pass": 33, "t": 712.0, "face": [-20.0, 0.0, 0.71], "dig_max_kg": 1443, "early_curl": false, "skips": 0, "at_swing_kg": 1422, "carried_kg": 1501, "left_kg": 245}, {"pass": 34, "t": 731.0, "face": [-20.0, 0.0, 1.12], "dig_max_kg": 1443, "early_curl": true, "skips": 0, "at_swing_kg": 1052, "carried_kg": 1013, "left_kg": 45}, {"pass": 35, "t": 795.5, "face": [0.0, 0.0, 0.44], "dig_max_kg": 1184, "early_curl": false, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1181, "left_kg": 13}, {"pass": 36, "t": 812.5, "face": [0.0, 0.0, 0.9], "dig_max_kg": 1532, "early_curl": false, "skips": 0, "at_swing_kg": 1526, "carried_kg": 1666, "left_kg": 60}, {"pass": 37, "t": 829.9, "face": [0.0, 0.0, 1.04], "dig_max_kg": 1532, "early_curl": false, "skips": 0, "at_swing_kg": 1433, "carried_kg": 1568, "left_kg": 27}, {"pass": 38, "t": 847.0, "face": [0.0, 0.0, 0.56], "dig_max_kg": 1729, "early_curl": false, "skips": 0, "at_swing_kg": 1729, "carried_kg": 1609, "left_kg": 23}, {"pass": 39, "t": 865.4, "face": [-10.0, 0.0, 0.55], "dig_max_kg": 1729, "early_curl": false, "skips": 0, "at_swing_kg": 1258, "carried_kg": 1239, "left_kg": 69}, {"pass": 40, "t": 882.8, "face": [-10.0, 0.0, 0.91], "dig_max_kg": 1280, "early_curl": false, "skips": 0, "at_swing_kg": 1274, "carried_kg": 1366, "left_kg": 517}, {"pass": 41, "t": 901.3, "face": [-10.0, 0.0, 0.78], "dig_max_kg": 1411, "early_curl": false, "skips": 0, "at_swing_kg": 1597, "carried_kg": 1545, "left_kg": 35}, {"pass": 42, "t": 965.6, "face": [-20.0, 0.0, 0.56], "dig_max_kg": 1408, "early_curl": false, "skips": 0, "at_swing_kg": 1394, "carried_kg": 1342, "left_kg": 9}, {"pass": 43, "t": 981.7, "face": [-20.0, 0.0, 0.6], "dig_max_kg": 1597, "early_curl": false, "skips": 0, "at_swing_kg": 1594, "carried_kg": 1678, "left_kg": 15}, {"pass": 44, "t": 998.8, "face": [0.0, 0.0, 0.54], "dig_max_kg": 1597, "early_curl": false, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1304, "left_kg": 55}, {"pass": 45, "t": 1017.0, "face": [-10.0, 0.0, 0.36], "dig_max_kg": 703, "early_curl": false, "skips": 0, "at_swing_kg": 648, "carried_kg": 799, "left_kg": 33}, {"pass": 46, "t": 1034.9, "face": [0.0, 0.0, 0.36], "dig_max_kg": 963, "early_curl": false, "skips": 0, "at_swing_kg": 963, "carried_kg": 1093, "left_kg": 120}, {"pass": 47, "t": 1053.2, "face": [10.0, 0.0, 0.35], "dig_max_kg": 955, "early_curl": false, "skips": 0, "at_swing_kg": 556, "carried_kg": 722, "left_kg": 391}, {"pass": 48, "t": 1076.5, "face": [0.0, 0.0, 0.34], "dig_max_kg": 537, "early_curl": false, "skips": 0, "at_swing_kg": 482, "carried_kg": 657, "left_kg": 135}], "dozer": {"passes": 26, "push_m": 161.59, "work_MJ": 2.26, "load_lifts": 27, "lifts_raised": 2, "parked_s": 923.9, "working_s": 576.12, "peak_kN": 69.69, "slip_s": 0.73, "futile_passes": 7, "mean_push_kN": [11.8, 20.4, 10.6, 11.1, 15.7, 22.5, 18.6, 7.5, 13.4, 20.5, 6.6, 2.8, 17.6, 12.3, 10.7, 14.4, 21.2, 6.0, 3.5, 19.6, 0.5, 18.3, 1.4, 1.6, 1.5, 0.8]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 54.7, "rms_from_grade_m": 0.382, "max_above_grade_m": 1.49, "at_grade_fraction": 0.22, "unspread_m3": 1.3}} diff --git a/phase2/logs/haul_bench_lane_old_long2_dry-sand_1carrier.json b/phase2/logs/haul_bench_lane_old_long2_dry-sand_1carrier.json new file mode 100644 index 0000000..401ab3a --- /dev/null +++ b/phase2/logs/haul_bench_lane_old_long2_dry-sand_1carrier.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.947, "loads": [{"carrier": 0, "departed_s": 198.2, "load_kg": 8516, "loading_s": 198.2, "passes": 9}, {"carrier": 0, "departed_s": 393.3, "load_kg": 8820, "loading_s": 138.3, "passes": 6}, {"carrier": 0, "departed_s": 609.8, "load_kg": 7858, "loading_s": 159.8, "passes": 7}, {"carrier": 0, "departed_s": 765.0, "load_kg": 9543, "loading_s": 98.4, "passes": 5}, {"carrier": 0, "departed_s": 944.3, "load_kg": 10115, "loading_s": 120.5, "passes": 6}, {"carrier": 0, "departed_s": 1205.6, "load_kg": 10561, "loading_s": 203.8, "passes": 9}], "trips": [{"depart_t": 198.23, "stages": {"loading": 198.23, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 63, "away_s": 56.72}, {"depart_t": 393.28, "stages": {"loading": 138.33, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 79, "away_s": 56.72}, {"depart_t": 609.77, "stages": {"loading": 159.77, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.1, "lower": 5.0, "return": 5.22, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 204, "away_s": 56.76}, {"depart_t": 764.98, "stages": {"loading": 98.45, "drive out": 7.92, "turn to dump": 7.22, "wait at dump": 2.05, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 54, "away_s": 58.75}, {"depart_t": 944.28, "stages": {"loading": 120.55, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.08, "lower": 5.0, "return": 4.98, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 303, "away_s": 57.52}, {"depart_t": 1205.58, "stages": {"loading": 203.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.28, "lower": 5.0, "return": 4.93, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 377, "away_s": 57.67}], "delivered_t": 54.33, "loaded_t": 62.16, "loaded_t_per_hour": 149.2, "mean_departure_interval_s": 201.5, "t_per_hour": 130.4, "mean_load_kg": 9236.0, "mean_loading_s": 153.2, "carry_back_kg": [63, 79, 204, 54, 303, 377], "mean_away_s": 57.4, "excavator_wait_s": 283.9, "passes": 59, "spoil_settled_t": 54.16, "lost_particles": 6500, "pool_short": 107, "skipped": [{"t": 162.52, "stage": "swing back", "max_err_rad": 0.065}, {"t": 166.53, "stage": "approach", "max_err_rad": 1.725}, {"t": 170.55, "stage": "penetrate", "max_err_rad": 1.722}, {"t": 174.57, "stage": "drag", "max_err_rad": 1.718}, {"t": 178.58, "stage": "drag-curl", "max_err_rad": 1.704}, {"t": 182.6, "stage": "curl", "max_err_rad": 1.532}, {"t": 192.57, "stage": "swing to truck", "max_err_rad": 0.399}, {"t": 356.82, "stage": "swing back", "max_err_rad": 0.062}, {"t": 360.83, "stage": "approach", "max_err_rad": 1.909}, {"t": 364.85, "stage": "penetrate", "max_err_rad": 1.905}, {"t": 368.87, "stage": "drag", "max_err_rad": 1.907}, {"t": 372.88, "stage": "drag-curl", "max_err_rad": 1.908}, {"t": 376.9, "stage": "curl", "max_err_rad": 1.815}, {"t": 388.15, "stage": "swing to truck", "max_err_rad": 0.495}, {"t": 574.12, "stage": "swing back", "max_err_rad": 0.062}, {"t": 578.13, "stage": "approach", "max_err_rad": 1.55}, {"t": 582.15, "stage": "penetrate", "max_err_rad": 1.547}, {"t": 586.17, "stage": "drag", "max_err_rad": 1.544}, {"t": 590.18, "stage": "drag-curl", "max_err_rad": 1.541}, {"t": 594.2, "stage": "curl", "max_err_rad": 1.408}, {"t": 605.0, "stage": "swing to truck", "max_err_rad": 0.502}, {"t": 1019.27, "stage": "penetrate", "max_err_rad": 0.122}, {"t": 1023.28, "stage": "drag", "max_err_rad": 0.178}, {"t": 1144.68, "stage": "penetrate", "max_err_rad": 0.123}, {"t": 1148.7, "stage": "drag", "max_err_rad": 0.212}, {"t": 1299.72, "stage": "penetrate", "max_err_rad": 0.123}, {"t": 1303.73, "stage": "drag", "max_err_rad": 0.208}, {"t": 1349.97, "stage": "penetrate", "max_err_rad": 0.127}, {"t": 1353.98, "stage": "drag", "max_err_rad": 0.236}, {"t": 1358.0, "stage": "drag-curl", "max_err_rad": 0.311}], "carrier_wait_at_dump_s": 2.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 344.1, "pit_left_t": 82.3, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1130, "mean_dumped_kg": 1126, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 908, "early_curl": false, "skips": 0, "at_swing_kg": 895, "carried_kg": 589, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1633, "early_curl": false, "skips": 0, "at_swing_kg": 1633, "carried_kg": 1305, "left_kg": 6}, {"pass": 2, "t": 30.9, "face": [-30.0, 0.0, 1.41], "dig_max_kg": 1611, "early_curl": false, "skips": 0, "at_swing_kg": 771, "carried_kg": 511, "left_kg": 0}, {"pass": 3, "t": 49.7, "face": [-30.0, 0.0, 1.46], "dig_max_kg": 1564, "early_curl": false, "skips": 0, "at_swing_kg": 1564, "carried_kg": 1174, "left_kg": 12}, {"pass": 4, "t": 66.0, "face": [0.0, 0.0, 1.38], "dig_max_kg": 1742, "early_curl": false, "skips": 0, "at_swing_kg": 1742, "carried_kg": 1471, "left_kg": 3}, {"pass": 5, "t": 86.5, "face": [10.0, 0.0, 1.48], "dig_max_kg": 1734, "early_curl": false, "skips": 0, "at_swing_kg": 1295, "carried_kg": 999, "left_kg": 1}, {"pass": 6, "t": 104.5, "face": [10.0, 0.0, 1.61], "dig_max_kg": 1743, "early_curl": false, "skips": 0, "at_swing_kg": 1743, "carried_kg": 1231, "left_kg": 0}, {"pass": 7, "t": 122.1, "face": [10.0, 0.0, 1.55], "dig_max_kg": 1866, "early_curl": false, "skips": 0, "at_swing_kg": 1866, "carried_kg": 1509, "left_kg": 4}, {"pass": 8, "t": 138.4, "face": [0.0, 0.0, 1.58], "dig_max_kg": 1856, "early_curl": false, "skips": 1, "at_swing_kg": 1856, "carried_kg": 1375, "left_kg": 14}, {"pass": 9, "t": 162.6, "face": [0.0, 0.0, 1.68], "dig_max_kg": 1824, "early_curl": false, "skips": 6, "at_swing_kg": 835, "carried_kg": 1001, "left_kg": 2}, {"pass": 10, "t": 199.9, "face": [0.0, 0.0, 1.69], "dig_max_kg": 2031, "early_curl": false, "skips": 0, "at_swing_kg": 1777, "carried_kg": 1486, "left_kg": 6}, {"pass": 11, "t": 261.9, "face": [0.0, 0.0, 1.62], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 2028, "carried_kg": 1559, "left_kg": 2}, {"pass": 12, "t": 279.6, "face": [0.0, 0.0, 1.58], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 2028, "carried_kg": 1535, "left_kg": 1}, {"pass": 13, "t": 297.7, "face": [0.0, 0.0, 1.65], "dig_max_kg": 2040, "early_curl": false, "skips": 0, "at_swing_kg": 2040, "carried_kg": 1614, "left_kg": 2}, {"pass": 14, "t": 314.8, "face": [0.0, 0.0, 1.63], "dig_max_kg": 2050, "early_curl": false, "skips": 0, "at_swing_kg": 2050, "carried_kg": 1594, "left_kg": 1}, {"pass": 15, "t": 332.8, "face": [0.0, 0.0, 1.61], "dig_max_kg": 2056, "early_curl": false, "skips": 1, "at_swing_kg": 2051, "carried_kg": 1491, "left_kg": 1}, {"pass": 16, "t": 356.9, "face": [0.0, 0.0, 1.64], "dig_max_kg": 2056, "early_curl": false, "skips": 6, "at_swing_kg": 967, "carried_kg": 1385, "left_kg": 28}, {"pass": 17, "t": 395.0, "face": [0.0, 0.0, 1.66], "dig_max_kg": 2026, "early_curl": false, "skips": 0, "at_swing_kg": 1713, "carried_kg": 1343, "left_kg": 1}, {"pass": 18, "t": 457.5, "face": [0.0, 0.0, 1.62], "dig_max_kg": 2035, "early_curl": false, "skips": 0, "at_swing_kg": 2032, "carried_kg": 1503, "left_kg": 2}, {"pass": 19, "t": 475.4, "face": [-30.0, 0.0, 1.54], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 1431, "carried_kg": 1165, "left_kg": 5}, {"pass": 20, "t": 494.7, "face": [-10.0, 0.0, 1.41], "dig_max_kg": 1585, "early_curl": false, "skips": 0, "at_swing_kg": 1585, "carried_kg": 1257, "left_kg": 7}, {"pass": 21, "t": 513.5, "face": [-10.0, 0.0, 1.71], "dig_max_kg": 1888, "early_curl": false, "skips": 0, "at_swing_kg": 1888, "carried_kg": 1416, "left_kg": 1}, {"pass": 22, "t": 531.5, "face": [0.0, 0.0, 1.64], "dig_max_kg": 1942, "early_curl": false, "skips": 0, "at_swing_kg": 1942, "carried_kg": 1624, "left_kg": 4}, {"pass": 23, "t": 549.9, "face": [-10.0, 0.0, 1.43], "dig_max_kg": 1920, "early_curl": false, "skips": 1, "at_swing_kg": 1810, "carried_kg": 1405, "left_kg": 13}, {"pass": 24, "t": 574.1, "face": [-10.0, 0.0, 1.69], "dig_max_kg": 1788, "early_curl": false, "skips": 6, "at_swing_kg": 573, "carried_kg": 770, "left_kg": 2}, {"pass": 25, "t": 611.1, "face": [-10.0, 0.0, 1.71], "dig_max_kg": 1988, "early_curl": false, "skips": 0, "at_swing_kg": 1730, "carried_kg": 1428, "left_kg": 10}, {"pass": 26, "t": 673.5, "face": [0.0, 0.0, 1.69], "dig_max_kg": 1960, "early_curl": false, "skips": 0, "at_swing_kg": 1960, "carried_kg": 1457, "left_kg": 1}, {"pass": 27, "t": 692.6, "face": [-10.0, 0.0, 1.51], "dig_max_kg": 1931, "early_curl": false, "skips": 0, "at_swing_kg": 1888, "carried_kg": 1466, "left_kg": 3}, {"pass": 28, "t": 712.2, "face": [-20.0, 0.0, 1.47], "dig_max_kg": 1858, "early_curl": false, "skips": 0, "at_swing_kg": 1664, "carried_kg": 1401, "left_kg": 1}, {"pass": 29, "t": 729.8, "face": [-20.0, 0.0, 1.49], "dig_max_kg": 1880, "early_curl": false, "skips": 0, "at_swing_kg": 1880, "carried_kg": 1541, "left_kg": 1}, {"pass": 30, "t": 747.1, "face": [-10.0, 0.0, 1.5], "dig_max_kg": 1855, "early_curl": false, "skips": 0, "at_swing_kg": 1855, "carried_kg": 1368, "left_kg": 14}, {"pass": 31, "t": 766.6, "face": [0.0, 0.0, 1.43], "dig_max_kg": 1879, "early_curl": false, "skips": 0, "at_swing_kg": 1566, "carried_kg": 1298, "left_kg": 9}, {"pass": 32, "t": 830.9, "face": [10.0, 0.0, 1.42], "dig_max_kg": 1627, "early_curl": false, "skips": 0, "at_swing_kg": 1627, "carried_kg": 1180, "left_kg": 1}, {"pass": 33, "t": 849.8, "face": [10.0, 0.0, 1.43], "dig_max_kg": 1769, "early_curl": false, "skips": 0, "at_swing_kg": 1769, "carried_kg": 1172, "left_kg": 0}, {"pass": 34, "t": 868.1, "face": [10.0, 0.0, 1.52], "dig_max_kg": 1859, "early_curl": false, "skips": 0, "at_swing_kg": 1859, "carried_kg": 1469, "left_kg": 3}, {"pass": 35, "t": 885.1, "face": [0.0, 0.0, 1.54], "dig_max_kg": 1896, "early_curl": false, "skips": 0, "at_swing_kg": 1896, "carried_kg": 1369, "left_kg": 8}, {"pass": 36, "t": 904.1, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1874, "early_curl": false, "skips": 0, "at_swing_kg": 1722, "carried_kg": 1370, "left_kg": 14}, {"pass": 37, "t": 924.9, "face": [10.0, 0.0, 1.48], "dig_max_kg": 1785, "early_curl": false, "skips": 0, "at_swing_kg": 1785, "carried_kg": 1426, "left_kg": 1}, {"pass": 38, "t": 945.8, "face": [-10.0, 0.0, 1.38], "dig_max_kg": 1805, "early_curl": false, "skips": 0, "at_swing_kg": 1567, "carried_kg": 1210, "left_kg": 1}, {"pass": 39, "t": 1009.8, "face": [20.0, 0.0, 1.22], "dig_max_kg": 1785, "early_curl": false, "skips": 2, "at_swing_kg": 1163, "carried_kg": 724, "left_kg": 1}, {"pass": 40, "t": 1038.5, "face": [20.0, 0.0, 1.34], "dig_max_kg": 1747, "early_curl": false, "skips": 0, "at_swing_kg": 1747, "carried_kg": 1358, "left_kg": 1}, {"pass": 41, "t": 1056.7, "face": [10.0, 0.0, 1.3], "dig_max_kg": 1806, "early_curl": false, "skips": 0, "at_swing_kg": 1806, "carried_kg": 1345, "left_kg": 1}, {"pass": 42, "t": 1076.4, "face": [0.0, 0.0, 1.26], "dig_max_kg": 1786, "early_curl": false, "skips": 0, "at_swing_kg": 1713, "carried_kg": 1203, "left_kg": 13}, {"pass": 43, "t": 1096.2, "face": [-20.0, 0.0, 1.22], "dig_max_kg": 1705, "early_curl": false, "skips": 0, "at_swing_kg": 1557, "carried_kg": 1319, "left_kg": 1}, {"pass": 44, "t": 1115.5, "face": [-10.0, 0.0, 0.99], "dig_max_kg": 1550, "early_curl": false, "skips": 0, "at_swing_kg": 1461, "carried_kg": 1141, "left_kg": 8}, {"pass": 45, "t": 1134.9, "face": [20.0, 0.0, 0.93], "dig_max_kg": 1456, "early_curl": false, "skips": 2, "at_swing_kg": 930, "carried_kg": 553, "left_kg": 0}, {"pass": 46, "t": 1163.1, "face": [-20.0, 0.0, 0.82], "dig_max_kg": 1202, "early_curl": false, "skips": 0, "at_swing_kg": 1202, "carried_kg": 972, "left_kg": 6}, {"pass": 47, "t": 1185.3, "face": [10.0, 0.0, 0.74], "dig_max_kg": 1233, "early_curl": false, "skips": 0, "at_swing_kg": 1233, "carried_kg": 878, "left_kg": 1}, {"pass": 48, "t": 1207.2, "face": [0.0, 0.0, 0.77], "dig_max_kg": 1267, "early_curl": false, "skips": 0, "at_swing_kg": 910, "carried_kg": 688, "left_kg": 0}, {"pass": 49, "t": 1270.7, "face": [-10.0, 0.0, 0.76], "dig_max_kg": 1245, "early_curl": false, "skips": 0, "at_swing_kg": 1084, "carried_kg": 811, "left_kg": 0}, {"pass": 50, "t": 1290.1, "face": [20.0, 0.0, 0.74], "dig_max_kg": 1078, "early_curl": false, "skips": 2, "at_swing_kg": 505, "carried_kg": 265, "left_kg": 1}, {"pass": 51, "t": 1317.7, "face": [-20.0, 0.0, 0.73], "dig_max_kg": 1011, "early_curl": false, "skips": 0, "at_swing_kg": 1011, "carried_kg": 715, "left_kg": 0}, {"pass": 52, "t": 1341.0, "face": [20.0, 0.0, 0.66], "dig_max_kg": 229, "early_curl": false, "skips": 3, "at_swing_kg": 222, "carried_kg": 100, "left_kg": 0}, {"pass": 53, "t": 1370.9, "face": [20.0, 0.0, 0.64], "dig_max_kg": 822, "early_curl": false, "skips": 0, "at_swing_kg": 822, "carried_kg": 496, "left_kg": 0}, {"pass": 54, "t": 1390.0, "face": [10.0, 0.0, 0.71], "dig_max_kg": 1010, "early_curl": false, "skips": 0, "at_swing_kg": 1010, "carried_kg": 637, "left_kg": 0}, {"pass": 55, "t": 1410.0, "face": [0.0, 0.0, 0.68], "dig_max_kg": 1029, "early_curl": false, "skips": 0, "at_swing_kg": 1029, "carried_kg": 742, "left_kg": 0}, {"pass": 56, "t": 1429.0, "face": [-10.0, 0.0, 0.64], "dig_max_kg": 1015, "early_curl": false, "skips": 0, "at_swing_kg": 927, "carried_kg": 649, "left_kg": 0}, {"pass": 57, "t": 1447.7, "face": [-20.0, 0.0, 0.63], "dig_max_kg": 917, "early_curl": false, "skips": 0, "at_swing_kg": 881, "carried_kg": 559, "left_kg": 0}, {"pass": 58, "t": 1466.2, "face": [-20.0, 0.0, 0.53], "dig_max_kg": 871, "early_curl": false, "skips": 0, "at_swing_kg": 810, "carried_kg": 578, "left_kg": 0}, {"pass": 59, "t": 1482.9, "face": [-10.0, 0.0, 0.55], "dig_max_kg": 860, "early_curl": false, "skips": 0, "at_swing_kg": 860, "carried_kg": 582, "left_kg": 0}], "dozer": {"passes": 26, "push_m": 137.21, "work_MJ": 1.14, "load_lifts": 2, "lifts_raised": 1, "parked_s": 976.28, "working_s": 523.73, "peak_kN": 51.19, "slip_s": 0.0, "futile_passes": 5, "mean_push_kN": [8.4, 3.4, 7.0, 6.6, 10.6, 0.2, 0.2, 10.0, 4.3, 8.1, 12.0, 0.2, 7.9, 7.1, 2.8, 5.6, 13.0, 6.0, 6.7, 7.0, 4.4, 2.1, 3.2, 0.8, 12.5, 10.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 56.8, "rms_from_grade_m": 0.156, "max_above_grade_m": 0.45, "at_grade_fraction": 0.61, "unspread_m3": 1.04}} diff --git a/phase2/logs/haul_bench_lane_old_long2_loam_1carrier.json b/phase2/logs/haul_bench_lane_old_long2_loam_1carrier.json new file mode 100644 index 0000000..be1b3de --- /dev/null +++ b/phase2/logs/haul_bench_lane_old_long2_loam_1carrier.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 1.013, "loads": [{"carrier": 0, "departed_s": 158.6, "load_kg": 10604, "loading_s": 158.6, "passes": 7}, {"carrier": 0, "departed_s": 345.6, "load_kg": 11278, "loading_s": 130.1, "passes": 7}, {"carrier": 0, "departed_s": 516.9, "load_kg": 9844, "loading_s": 114.2, "passes": 6}, {"carrier": 0, "departed_s": 741.4, "load_kg": 10139, "loading_s": 167.3, "passes": 8}, {"carrier": 0, "departed_s": 913.9, "load_kg": 9994, "loading_s": 114.5, "passes": 6}, {"carrier": 0, "departed_s": 1125.9, "load_kg": 10294, "loading_s": 154.1, "passes": 7}, {"carrier": 0, "departed_s": 1397.3, "load_kg": 7782, "loading_s": 213.2, "passes": 11}], "trips": [{"depart_t": 158.6, "stages": {"loading": 158.6, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.27, "lower": 5.0, "return": 5.18, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 334, "away_s": 56.9}, {"depart_t": 345.63, "stages": {"loading": 130.13, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.48, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 260, "away_s": 57.05}, {"depart_t": 516.92, "stages": {"loading": 114.23, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.7, "lower": 5.0, "return": 5.07, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 194, "away_s": 57.21}, {"depart_t": 741.43, "stages": {"loading": 167.3, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.68, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 229, "away_s": 57.95}, {"depart_t": 913.93, "stages": {"loading": 114.55, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.68, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 146, "away_s": 57.95}, {"depart_t": 1125.95, "stages": {"loading": 154.07, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.92, "lower": 5.0, "return": 4.77, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 194, "away_s": 58.13}, {"depart_t": 1397.28, "stages": {"loading": 213.2, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.83, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 124, "away_s": 58.07}], "delivered_t": 68.45, "loaded_t": 70.03, "loaded_t_per_hour": 168.1, "mean_departure_interval_s": 206.4, "t_per_hour": 164.3, "mean_load_kg": 9991.0, "mean_loading_s": 150.3, "carry_back_kg": [334, 260, 194, 229, 146, 194, 124], "mean_away_s": 57.6, "excavator_wait_s": 282.9, "passes": 58, "spoil_settled_t": 59.29, "lost_particles": 2259, "pool_short": 0, "skipped": [{"t": 98.7, "stage": "penetrate", "max_err_rad": 0.125}, {"t": 102.72, "stage": "drag", "max_err_rad": 0.137}, {"t": 665.58, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 669.6, "stage": "drag", "max_err_rad": 0.125}, {"t": 1005.98, "stage": "penetrate", "max_err_rad": 0.131}, {"t": 1010.0, "stage": "drag", "max_err_rad": 0.179}, {"t": 1014.02, "stage": "drag-curl", "max_err_rad": 0.287}, {"t": 1201.37, "stage": "penetrate", "max_err_rad": 0.121}, {"t": 1205.38, "stage": "drag", "max_err_rad": 0.155}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 403.3, "pit_left_t": 101.0, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 88, "curl_tears": 0, "mean_carried_kg": 1147, "mean_dumped_kg": 1036, "thin_passes": 9, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1105, "early_curl": true, "skips": 0, "at_swing_kg": 1073, "carried_kg": 1155, "left_kg": 58}, {"pass": 1, "t": 14.7, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1197, "early_curl": true, "skips": 0, "at_swing_kg": 1143, "carried_kg": 1173, "left_kg": 13}, {"pass": 2, "t": 32.5, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1227, "early_curl": true, "skips": 0, "at_swing_kg": 1190, "carried_kg": 1267, "left_kg": 38}, {"pass": 3, "t": 51.6, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1286, "early_curl": true, "skips": 0, "at_swing_kg": 1263, "carried_kg": 1361, "left_kg": 87}, {"pass": 4, "t": 72.0, "face": [-10.0, 0.0, 1.2], "dig_max_kg": 1285, "early_curl": true, "skips": 0, "at_swing_kg": 717, "carried_kg": 1123, "left_kg": 274}, {"pass": 5, "t": 89.9, "face": [20.0, 0.0, 1.1], "dig_max_kg": 727, "early_curl": false, "skips": 2, "at_swing_kg": 727, "carried_kg": 942, "left_kg": 192}, {"pass": 6, "t": 119.6, "face": [20.0, 0.0, 0.74], "dig_max_kg": 1391, "early_curl": false, "skips": 0, "at_swing_kg": 1372, "carried_kg": 1370, "left_kg": 309}, {"pass": 7, "t": 140.7, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1382, "early_curl": false, "skips": 0, "at_swing_kg": 1306, "carried_kg": 1376, "left_kg": 195}, {"pass": 8, "t": 160.3, "face": [0.0, 0.0, 0.7], "dig_max_kg": 1325, "early_curl": false, "skips": 0, "at_swing_kg": 1267, "carried_kg": 1211, "left_kg": 59}, {"pass": 9, "t": 223.2, "face": [0.0, 0.0, 1.16], "dig_max_kg": 1395, "early_curl": false, "skips": 0, "at_swing_kg": 1298, "carried_kg": 1357, "left_kg": 71}, {"pass": 10, "t": 239.4, "face": [-20.0, 0.0, 0.67], "dig_max_kg": 1137, "early_curl": false, "skips": 0, "at_swing_kg": 1137, "carried_kg": 1255, "left_kg": 11}, {"pass": 11, "t": 257.3, "face": [-20.0, 0.0, 1.12], "dig_max_kg": 1370, "early_curl": true, "skips": 0, "at_swing_kg": 1267, "carried_kg": 1338, "left_kg": 40}, {"pass": 12, "t": 272.9, "face": [-10.0, 0.0, 0.58], "dig_max_kg": 1278, "early_curl": false, "skips": 0, "at_swing_kg": 1167, "carried_kg": 1352, "left_kg": 72}, {"pass": 13, "t": 290.7, "face": [-10.0, 0.0, 1.19], "dig_max_kg": 1388, "early_curl": true, "skips": 0, "at_swing_kg": 1349, "carried_kg": 1452, "left_kg": 42}, {"pass": 14, "t": 306.7, "face": [0.0, 0.0, 0.6], "dig_max_kg": 1431, "early_curl": false, "skips": 0, "at_swing_kg": 1431, "carried_kg": 1488, "left_kg": 619}, {"pass": 15, "t": 328.5, "face": [0.0, 0.0, 1.12], "dig_max_kg": 1431, "early_curl": true, "skips": 0, "at_swing_kg": 1151, "carried_kg": 1171, "left_kg": 279}, {"pass": 16, "t": 346.8, "face": [-20.0, 0.0, 0.56], "dig_max_kg": 1319, "early_curl": false, "skips": 0, "at_swing_kg": 1490, "carried_kg": 1434, "left_kg": 21}, {"pass": 17, "t": 409.7, "face": [-20.0, 0.0, 1.06], "dig_max_kg": 1319, "early_curl": true, "skips": 0, "at_swing_kg": 1098, "carried_kg": 1066, "left_kg": 39}, {"pass": 18, "t": 425.8, "face": [0.0, 0.0, 0.5], "dig_max_kg": 1389, "early_curl": false, "skips": 0, "at_swing_kg": 1381, "carried_kg": 1451, "left_kg": 50}, {"pass": 19, "t": 445.9, "face": [0.0, 0.0, 1.11], "dig_max_kg": 1380, "early_curl": false, "skips": 0, "at_swing_kg": 1256, "carried_kg": 1339, "left_kg": 17}, {"pass": 20, "t": 462.7, "face": [10.0, 0.0, 0.55], "dig_max_kg": 1261, "early_curl": false, "skips": 0, "at_swing_kg": 841, "carried_kg": 1138, "left_kg": 70}, {"pass": 21, "t": 480.6, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1358, "early_curl": false, "skips": 0, "at_swing_kg": 1252, "carried_kg": 1383, "left_kg": 235}, {"pass": 22, "t": 499.9, "face": [10.0, 0.0, 0.75], "dig_max_kg": 1499, "early_curl": false, "skips": 0, "at_swing_kg": 1398, "carried_kg": 1558, "left_kg": 266}, {"pass": 23, "t": 518.8, "face": [10.0, 0.0, 1.1], "dig_max_kg": 1277, "early_curl": false, "skips": 0, "at_swing_kg": 1378, "carried_kg": 1324, "left_kg": 17}, {"pass": 24, "t": 581.9, "face": [0.0, 0.0, 0.63], "dig_max_kg": 1602, "early_curl": false, "skips": 0, "at_swing_kg": 1600, "carried_kg": 1629, "left_kg": 24}, {"pass": 25, "t": 601.7, "face": [0.0, 0.0, 1.16], "dig_max_kg": 1602, "early_curl": true, "skips": 0, "at_swing_kg": 1200, "carried_kg": 1286, "left_kg": 41}, {"pass": 26, "t": 618.0, "face": [-10.0, 0.0, 0.6], "dig_max_kg": 1350, "early_curl": false, "skips": 0, "at_swing_kg": 1341, "carried_kg": 1480, "left_kg": 136}, {"pass": 27, "t": 636.4, "face": [-10.0, 0.0, 1.02], "dig_max_kg": 1350, "early_curl": true, "skips": 0, "at_swing_kg": 1015, "carried_kg": 1049, "left_kg": 266}, {"pass": 28, "t": 656.5, "face": [20.0, 0.0, 0.54], "dig_max_kg": 1033, "early_curl": false, "skips": 2, "at_swing_kg": 751, "carried_kg": 1013, "left_kg": 39}, {"pass": 29, "t": 684.6, "face": [20.0, 0.0, 0.73], "dig_max_kg": 757, "early_curl": false, "skips": 0, "at_swing_kg": 150, "carried_kg": 215, "left_kg": 90}, {"pass": 30, "t": 702.5, "face": [20.0, 0.0, 0.79], "dig_max_kg": 1402, "early_curl": false, "skips": 0, "at_swing_kg": 1399, "carried_kg": 1336, "left_kg": 112}, {"pass": 31, "t": 721.6, "face": [0.0, 0.0, 0.54], "dig_max_kg": 1561, "early_curl": false, "skips": 0, "at_swing_kg": 1550, "carried_kg": 1457, "left_kg": 212}, {"pass": 32, "t": 743.1, "face": [0.0, 0.0, 1.02], "dig_max_kg": 1561, "early_curl": true, "skips": 0, "at_swing_kg": 1335, "carried_kg": 1266, "left_kg": 31}, {"pass": 33, "t": 807.2, "face": [0.0, 0.0, 0.57], "dig_max_kg": 1522, "early_curl": false, "skips": 0, "at_swing_kg": 1510, "carried_kg": 1481, "left_kg": 26}, {"pass": 34, "t": 824.1, "face": [-40.0, 0.0, 0.54], "dig_max_kg": 1522, "early_curl": false, "skips": 0, "at_swing_kg": 642, "carried_kg": 747, "left_kg": 75}, {"pass": 35, "t": 844.0, "face": [-30.0, 0.0, 0.55], "dig_max_kg": 1131, "early_curl": false, "skips": 0, "at_swing_kg": 1117, "carried_kg": 1174, "left_kg": 36}, {"pass": 36, "t": 860.3, "face": [-30.0, 0.0, 1.02], "dig_max_kg": 1233, "early_curl": true, "skips": 0, "at_swing_kg": 1219, "carried_kg": 1387, "left_kg": 36}, {"pass": 37, "t": 876.4, "face": [-10.0, 0.0, 0.48], "dig_max_kg": 1572, "early_curl": false, "skips": 0, "at_swing_kg": 1572, "carried_kg": 1507, "left_kg": 17}, {"pass": 38, "t": 895.5, "face": [-10.0, 0.0, 0.9], "dig_max_kg": 1251, "early_curl": false, "skips": 0, "at_swing_kg": 1247, "carried_kg": 1397, "left_kg": 348}, {"pass": 39, "t": 915.0, "face": [-30.0, 0.0, 0.43], "dig_max_kg": 1251, "early_curl": false, "skips": 0, "at_swing_kg": 1428, "carried_kg": 1398, "left_kg": 24}, {"pass": 40, "t": 979.3, "face": [-20.0, 0.0, 0.68], "dig_max_kg": 1237, "early_curl": false, "skips": 0, "at_swing_kg": 1222, "carried_kg": 1295, "left_kg": 12}, {"pass": 41, "t": 997.0, "face": [20.0, 0.0, 0.87], "dig_max_kg": 1237, "early_curl": false, "skips": 3, "at_swing_kg": 324, "carried_kg": 531, "left_kg": 299}, {"pass": 42, "t": 1026.8, "face": [20.0, 0.0, 0.84], "dig_max_kg": 265, "early_curl": false, "skips": 0, "at_swing_kg": 7, "carried_kg": 6, "left_kg": 0}, {"pass": 43, "t": 1044.3, "face": [-20.0, 0.0, 0.84], "dig_max_kg": 1352, "early_curl": false, "skips": 0, "at_swing_kg": 1330, "carried_kg": 1486, "left_kg": 40}, {"pass": 44, "t": 1066.3, "face": [10.0, 0.0, 0.64], "dig_max_kg": 1444, "early_curl": false, "skips": 0, "at_swing_kg": 1440, "carried_kg": 1518, "left_kg": 32}, {"pass": 45, "t": 1087.6, "face": [10.0, 0.0, 0.97], "dig_max_kg": 1444, "early_curl": false, "skips": 0, "at_swing_kg": 1139, "carried_kg": 1265, "left_kg": 89}, {"pass": 46, "t": 1105.2, "face": [-10.0, 0.0, 0.46], "dig_max_kg": 1464, "early_curl": false, "skips": 0, "at_swing_kg": 1464, "carried_kg": 1514, "left_kg": 214}, {"pass": 47, "t": 1127.6, "face": [0.0, 0.0, 0.39], "dig_max_kg": 1463, "early_curl": false, "skips": 0, "at_swing_kg": 1305, "carried_kg": 1273, "left_kg": 36}, {"pass": 48, "t": 1192.5, "face": [20.0, 0.0, 0.7], "dig_max_kg": 526, "early_curl": false, "skips": 2, "at_swing_kg": 526, "carried_kg": 623, "left_kg": 2}, {"pass": 49, "t": 1219.8, "face": [20.0, 0.0, 0.69], "dig_max_kg": 522, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 1, "left_kg": 0}, {"pass": 50, "t": 1237.5, "face": [20.0, 0.0, 0.76], "dig_max_kg": 1257, "early_curl": false, "skips": 0, "at_swing_kg": 1237, "carried_kg": 1320, "left_kg": 27}, {"pass": 51, "t": 1256.0, "face": [10.0, 0.0, 0.33], "dig_max_kg": 1257, "early_curl": false, "skips": 0, "at_swing_kg": 984, "carried_kg": 1207, "left_kg": 9}, {"pass": 52, "t": 1276.4, "face": [20.0, 0.0, 0.71], "dig_max_kg": 1103, "early_curl": false, "skips": 0, "at_swing_kg": 1095, "carried_kg": 1250, "left_kg": 28}, {"pass": 53, "t": 1295.6, "face": [20.0, 0.0, 0.34], "dig_max_kg": 1103, "early_curl": false, "skips": 0, "at_swing_kg": 224, "carried_kg": 310, "left_kg": 121}, {"pass": 54, "t": 1314.7, "face": [20.0, 0.0, 0.32], "dig_max_kg": 354, "early_curl": false, "skips": 0, "at_swing_kg": 156, "carried_kg": 224, "left_kg": 243}, {"pass": 55, "t": 1334.0, "face": [10.0, 0.0, 0.32], "dig_max_kg": 420, "early_curl": false, "skips": 0, "at_swing_kg": 408, "carried_kg": 606, "left_kg": 168}, {"pass": 56, "t": 1352.9, "face": [0.0, 0.0, 0.32], "dig_max_kg": 792, "early_curl": false, "skips": 0, "at_swing_kg": 780, "carried_kg": 908, "left_kg": 265}, {"pass": 57, "t": 1375.8, "face": [20.0, 0.0, 0.31], "dig_max_kg": 792, "early_curl": false, "skips": 0, "at_swing_kg": 207, "carried_kg": 272, "left_kg": 240}], "dozer": {"passes": 29, "push_m": 183.85, "work_MJ": 2.67, "load_lifts": 37, "lifts_raised": 2, "parked_s": 863.25, "working_s": 636.77, "peak_kN": 77.41, "slip_s": 0.95, "futile_passes": 5, "mean_push_kN": [22.4, 7.0, 10.1, 12.3, 23.6, 19.9, 13.2, 13.3, 25.8, 5.4, 18.1, 12.1, 11.1, 25.0, 1.5, 2.3, 12.3, 9.9, 11.9, 10.6, 6.6, 3.8, 24.4, 3.8, 19.8, 9.3, 2.6, 4.8, 2.0]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 55.7, "rms_from_grade_m": 0.424, "max_above_grade_m": 1.88, "at_grade_fraction": 0.25, "unspread_m3": 3.06}} diff --git a/phase2/logs/haul_bench_lane_restearly_long1_clay_1carrier.json b/phase2/logs/haul_bench_lane_restearly_long1_clay_1carrier.json new file mode 100644 index 0000000..30e4c1f --- /dev/null +++ b/phase2/logs/haul_bench_lane_restearly_long1_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.978, "loads": [{"carrier": 0, "departed_s": 153.4, "load_kg": 10257, "loading_s": 153.4, "passes": 8}, {"carrier": 0, "departed_s": 338.8, "load_kg": 9864, "loading_s": 127.2, "passes": 7}, {"carrier": 0, "departed_s": 584.8, "load_kg": 10336, "loading_s": 187.4, "passes": 10}, {"carrier": 0, "departed_s": 847.0, "load_kg": 11394, "loading_s": 203.5, "passes": 11}, {"carrier": 0, "departed_s": 1213.0, "load_kg": 10364, "loading_s": 306.1, "passes": 17}], "trips": [{"depart_t": 153.43, "stages": {"loading": 153.43, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.93, "lower": 5.0, "return": 4.75, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 339, "away_s": 58.14}, {"depart_t": 338.82, "stages": {"loading": 127.25, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.55, "lower": 5.0, "return": 4.58, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 280, "away_s": 58.58}, {"depart_t": 584.78, "stages": {"loading": 187.38, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.83, "lower": 5.0, "return": 4.52, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 246, "away_s": 58.8}, {"depart_t": 847.05, "stages": {"loading": 203.47, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.32, "lower": 5.0, "return": 4.08, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 330, "away_s": 59.85}, {"depart_t": 1213.02, "stages": {"loading": 306.12, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.6, "lower": 5.0, "return": 4.3, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 231, "away_s": 59.35}], "delivered_t": 50.79, "loaded_t": 55.45, "loaded_t_per_hour": 133.1, "mean_departure_interval_s": 264.9, "t_per_hour": 121.9, "mean_load_kg": 10443.0, "mean_loading_s": 195.5, "carry_back_kg": [339, 280, 246, 330, 231], "mean_away_s": 58.9, "excavator_wait_s": 249.9, "passes": 71, "spoil_settled_t": 51.72, "lost_particles": 1583, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 294.7, "pit_left_t": 119.1, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 160, "curl_tears": 0, "mean_carried_kg": 858, "mean_dumped_kg": 749, "thin_passes": 26, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1209, "early_curl": true, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1250, "left_kg": 88}, {"pass": 1, "t": 15.9, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1237, "early_curl": true, "skips": 0, "at_swing_kg": 1210, "carried_kg": 1180, "left_kg": 93}, {"pass": 2, "t": 32.1, "face": [10.0, 0.0, 1.34], "dig_max_kg": 1216, "early_curl": true, "skips": 0, "at_swing_kg": 1175, "carried_kg": 1193, "left_kg": 109}, {"pass": 3, "t": 48.7, "face": [-30.0, 0.0, 1.29], "dig_max_kg": 1203, "early_curl": true, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1227, "left_kg": 121}, {"pass": 4, "t": 65.4, "face": [-10.0, 0.0, 1.22], "dig_max_kg": 1358, "early_curl": true, "skips": 0, "at_swing_kg": 1345, "carried_kg": 1347, "left_kg": 77}, {"pass": 5, "t": 81.8, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1018, "early_curl": true, "skips": 0, "at_swing_kg": 1003, "carried_kg": 1032, "left_kg": 80}, {"pass": 6, "t": 99.7, "face": [0.0, 0.0, 0.8], "dig_max_kg": 1275, "early_curl": false, "skips": 0, "at_swing_kg": 1267, "carried_kg": 1264, "left_kg": 266}, {"pass": 7, "t": 118.5, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1179, "early_curl": true, "skips": 0, "at_swing_kg": 1137, "carried_kg": 1213, "left_kg": 380}, {"pass": 8, "t": 136.3, "face": [-30.0, 0.0, 0.77], "dig_max_kg": 1178, "early_curl": false, "skips": 0, "at_swing_kg": 1162, "carried_kg": 1314, "left_kg": 572}, {"pass": 9, "t": 154.6, "face": [-30.0, 0.0, 1.01], "dig_max_kg": 1176, "early_curl": true, "skips": 0, "at_swing_kg": 1157, "carried_kg": 1138, "left_kg": 59}, {"pass": 10, "t": 221.2, "face": [20.0, 0.0, 0.67], "dig_max_kg": 1225, "early_curl": false, "skips": 0, "at_swing_kg": 1125, "carried_kg": 1267, "left_kg": 39}, {"pass": 11, "t": 239.7, "face": [20.0, 0.0, 0.91], "dig_max_kg": 516, "early_curl": false, "skips": 0, "at_swing_kg": 507, "carried_kg": 559, "left_kg": 96}, {"pass": 12, "t": 257.1, "face": [-20.0, 0.0, 0.61], "dig_max_kg": 1255, "early_curl": false, "skips": 0, "at_swing_kg": 1237, "carried_kg": 1294, "left_kg": 49}, {"pass": 13, "t": 272.8, "face": [-20.0, 0.0, 1.1], "dig_max_kg": 1246, "early_curl": true, "skips": 0, "at_swing_kg": 1187, "carried_kg": 1216, "left_kg": 96}, {"pass": 14, "t": 289.5, "face": [-10.0, 0.0, 0.59], "dig_max_kg": 1280, "early_curl": false, "skips": 0, "at_swing_kg": 1269, "carried_kg": 1352, "left_kg": 15}, {"pass": 15, "t": 306.3, "face": [-10.0, 0.0, 1.12], "dig_max_kg": 1280, "early_curl": true, "skips": 0, "at_swing_kg": 1061, "carried_kg": 1220, "left_kg": 257}, {"pass": 16, "t": 324.1, "face": [-30.0, 0.0, 0.57], "dig_max_kg": 1342, "early_curl": false, "skips": 0, "at_swing_kg": 1229, "carried_kg": 1356, "left_kg": 90}, {"pass": 17, "t": 340.2, "face": [-20.0, 0.0, 0.79], "dig_max_kg": 1243, "early_curl": false, "skips": 0, "at_swing_kg": 1359, "carried_kg": 1330, "left_kg": 109}, {"pass": 18, "t": 406.1, "face": [-20.0, 0.0, 0.75], "dig_max_kg": 1311, "early_curl": false, "skips": 0, "at_swing_kg": 1298, "carried_kg": 1334, "left_kg": 125}, {"pass": 19, "t": 424.3, "face": [-20.0, 0.0, 1.11], "dig_max_kg": 1302, "early_curl": true, "skips": 0, "at_swing_kg": 650, "carried_kg": 610, "left_kg": 123}, {"pass": 20, "t": 441.1, "face": [-20.0, 0.0, 1.11], "dig_max_kg": 1561, "early_curl": true, "skips": 0, "at_swing_kg": 1537, "carried_kg": 1541, "left_kg": 466}, {"pass": 21, "t": 459.5, "face": [-30.0, 0.0, 0.54], "dig_max_kg": 1541, "early_curl": false, "skips": 0, "at_swing_kg": 1196, "carried_kg": 1307, "left_kg": 51}, {"pass": 22, "t": 475.8, "face": [0.0, 0.0, 0.53], "dig_max_kg": 1382, "early_curl": false, "skips": 0, "at_swing_kg": 1307, "carried_kg": 1466, "left_kg": 207}, {"pass": 23, "t": 493.8, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1309, "early_curl": true, "skips": 0, "at_swing_kg": 1254, "carried_kg": 1238, "left_kg": 273}, {"pass": 24, "t": 513.2, "face": [20.0, 0.0, 1.01], "dig_max_kg": 1258, "early_curl": false, "skips": 0, "at_swing_kg": 197, "carried_kg": 189, "left_kg": 0}, {"pass": 25, "t": 530.4, "face": [-10.0, 0.0, 0.72], "dig_max_kg": 1348, "early_curl": false, "skips": 0, "at_swing_kg": 1331, "carried_kg": 1375, "left_kg": 92}, {"pass": 26, "t": 546.7, "face": [-10.0, 0.0, 1.06], "dig_max_kg": 1152, "early_curl": true, "skips": 0, "at_swing_kg": 1063, "carried_kg": 1159, "left_kg": 487}, {"pass": 27, "t": 569.3, "face": [0.0, 0.0, 0.64], "dig_max_kg": 1252, "early_curl": false, "skips": 0, "at_swing_kg": 1249, "carried_kg": 1255, "left_kg": 9}, {"pass": 28, "t": 586.4, "face": [0.0, 0.0, 1.14], "dig_max_kg": 1369, "early_curl": true, "skips": 0, "at_swing_kg": 1348, "carried_kg": 1313, "left_kg": 184}, {"pass": 29, "t": 653.0, "face": [-10.0, 0.0, 0.53], "dig_max_kg": 1353, "early_curl": false, "skips": 0, "at_swing_kg": 1194, "carried_kg": 1212, "left_kg": 76}, {"pass": 30, "t": 670.4, "face": [-10.0, 0.0, 1.03], "dig_max_kg": 1204, "early_curl": false, "skips": 0, "at_swing_kg": 1132, "carried_kg": 1121, "left_kg": 128}, {"pass": 31, "t": 688.8, "face": [-10.0, 0.0, 0.94], "dig_max_kg": 1659, "early_curl": false, "skips": 0, "at_swing_kg": 1583, "carried_kg": 1607, "left_kg": 109}, {"pass": 32, "t": 707.2, "face": [-10.0, 0.0, 1.13], "dig_max_kg": 1584, "early_curl": true, "skips": 0, "at_swing_kg": 169, "carried_kg": 276, "left_kg": 244}, {"pass": 33, "t": 722.7, "face": [0.0, 0.0, 0.44], "dig_max_kg": 1595, "early_curl": false, "skips": 0, "at_swing_kg": 1591, "carried_kg": 1700, "left_kg": 39}, {"pass": 34, "t": 740.4, "face": [0.0, 0.0, 1.07], "dig_max_kg": 1595, "early_curl": false, "skips": 0, "at_swing_kg": 1341, "carried_kg": 1318, "left_kg": 758}, {"pass": 35, "t": 759.2, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1354, "early_curl": false, "skips": 0, "at_swing_kg": 712, "carried_kg": 730, "left_kg": 90}, {"pass": 36, "t": 777.6, "face": [0.0, 0.0, 1.19], "dig_max_kg": 832, "early_curl": false, "skips": 0, "at_swing_kg": 90, "carried_kg": 87, "left_kg": 4}, {"pass": 37, "t": 796.4, "face": [20.0, 0.0, 1.01], "dig_max_kg": 482, "early_curl": false, "skips": 0, "at_swing_kg": 482, "carried_kg": 543, "left_kg": 13}, {"pass": 38, "t": 813.6, "face": [-20.0, 0.0, 0.36], "dig_max_kg": 1636, "early_curl": false, "skips": 0, "at_swing_kg": 1630, "carried_kg": 1508, "left_kg": 72}, {"pass": 39, "t": 829.9, "face": [-20.0, 0.0, 1.08], "dig_max_kg": 1636, "early_curl": false, "skips": 0, "at_swing_kg": 1349, "carried_kg": 1380, "left_kg": 81}, {"pass": 40, "t": 848.2, "face": [-20.0, 0.0, 0.67], "dig_max_kg": 1346, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 0}, {"pass": 41, "t": 913.7, "face": [10.0, 0.0, 0.36], "dig_max_kg": 385, "early_curl": false, "skips": 0, "at_swing_kg": 350, "carried_kg": 356, "left_kg": 1}, {"pass": 42, "t": 928.8, "face": [-40.0, 0.0, 0.32], "dig_max_kg": 751, "early_curl": false, "skips": 0, "at_swing_kg": 751, "carried_kg": 849, "left_kg": 23}, {"pass": 43, "t": 945.8, "face": [20.0, 0.0, 1.01], "dig_max_kg": 749, "early_curl": false, "skips": 0, "at_swing_kg": 141, "carried_kg": 173, "left_kg": 0}, {"pass": 44, "t": 962.1, "face": [-10.0, 0.0, 1.14], "dig_max_kg": 1100, "early_curl": false, "skips": 0, "at_swing_kg": 1097, "carried_kg": 1166, "left_kg": 113}, {"pass": 45, "t": 980.8, "face": [-10.0, 0.0, 0.77], "dig_max_kg": 1250, "early_curl": false, "skips": 0, "at_swing_kg": 1248, "carried_kg": 1273, "left_kg": 35}, {"pass": 46, "t": 999.3, "face": [-10.0, 0.0, 0.75], "dig_max_kg": 1250, "early_curl": false, "skips": 0, "at_swing_kg": 3, "carried_kg": 6, "left_kg": 0}, {"pass": 47, "t": 1017.0, "face": [20.0, 0.0, 1.04], "dig_max_kg": 300, "early_curl": false, "skips": 0, "at_swing_kg": 87, "carried_kg": 96, "left_kg": 81}, {"pass": 48, "t": 1034.0, "face": [0.0, 0.0, 1.13], "dig_max_kg": 644, "early_curl": false, "skips": 0, "at_swing_kg": 339, "carried_kg": 397, "left_kg": 0}, {"pass": 49, "t": 1052.2, "face": [20.0, 0.0, 1.02], "dig_max_kg": 334, "early_curl": false, "skips": 0, "at_swing_kg": 298, "carried_kg": 344, "left_kg": 11}, {"pass": 50, "t": 1069.5, "face": [20.0, 0.0, 0.97], "dig_max_kg": 338, "early_curl": false, "skips": 0, "at_swing_kg": 295, "carried_kg": 323, "left_kg": 6}, {"pass": 51, "t": 1087.6, "face": [20.0, 0.0, 1.01], "dig_max_kg": 319, "early_curl": false, "skips": 0, "at_swing_kg": 93, "carried_kg": 102, "left_kg": 0}, {"pass": 52, "t": 1104.7, "face": [-20.0, 0.0, 0.58], "dig_max_kg": 747, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 0}, {"pass": 53, "t": 1121.9, "face": [10.0, 0.0, 0.97], "dig_max_kg": 1670, "early_curl": true, "skips": 0, "at_swing_kg": 1639, "carried_kg": 1759, "left_kg": 239}, {"pass": 54, "t": 1140.9, "face": [10.0, 0.0, 0.48], "dig_max_kg": 1642, "early_curl": false, "skips": 0, "at_swing_kg": 902, "carried_kg": 973, "left_kg": 352}, {"pass": 55, "t": 1160.2, "face": [10.0, 0.0, 0.85], "dig_max_kg": 1079, "early_curl": true, "skips": 0, "at_swing_kg": 701, "carried_kg": 760, "left_kg": 38}, {"pass": 56, "t": 1175.8, "face": [10.0, 0.0, 0.87], "dig_max_kg": 1390, "early_curl": false, "skips": 0, "at_swing_kg": 1359, "carried_kg": 1402, "left_kg": 277}, {"pass": 57, "t": 1195.4, "face": [10.0, 0.0, 0.5], "dig_max_kg": 1677, "early_curl": false, "skips": 0, "at_swing_kg": 1674, "carried_kg": 1707, "left_kg": 107}, {"pass": 58, "t": 1214.8, "face": [10.0, 0.0, 1.17], "dig_max_kg": 1011, "early_curl": false, "skips": 0, "at_swing_kg": 1054, "carried_kg": 1026, "left_kg": 72}, {"pass": 59, "t": 1280.8, "face": [10.0, 0.0, 1.1], "dig_max_kg": 1006, "early_curl": false, "skips": 0, "at_swing_kg": 634, "carried_kg": 688, "left_kg": 41}, {"pass": 60, "t": 1299.7, "face": [10.0, 0.0, 1.12], "dig_max_kg": 638, "early_curl": false, "skips": 0, "at_swing_kg": 11, "carried_kg": 9, "left_kg": 0}, {"pass": 61, "t": 1317.7, "face": [0.0, 0.0, 1.03], "dig_max_kg": 687, "early_curl": false, "skips": 0, "at_swing_kg": 312, "carried_kg": 356, "left_kg": 9}, {"pass": 62, "t": 1334.1, "face": [-10.0, 0.0, 0.81], "dig_max_kg": 595, "early_curl": false, "skips": 0, "at_swing_kg": 1, "carried_kg": 3, "left_kg": 0}, {"pass": 63, "t": 1352.1, "face": [20.0, 0.0, 0.75], "dig_max_kg": 229, "early_curl": false, "skips": 0, "at_swing_kg": 85, "carried_kg": 98, "left_kg": 60}, {"pass": 64, "t": 1369.2, "face": [-20.0, 0.0, 0.6], "dig_max_kg": 663, "early_curl": false, "skips": 0, "at_swing_kg": 29, "carried_kg": 23, "left_kg": 10}, {"pass": 65, "t": 1386.6, "face": [20.0, 0.0, 0.75], "dig_max_kg": 204, "early_curl": false, "skips": 0, "at_swing_kg": 172, "carried_kg": 219, "left_kg": 0}, {"pass": 66, "t": 1404.3, "face": [20.0, 0.0, 0.77], "dig_max_kg": 208, "early_curl": false, "skips": 0, "at_swing_kg": 66, "carried_kg": 72, "left_kg": 0}, {"pass": 67, "t": 1422.6, "face": [20.0, 0.0, 0.83], "dig_max_kg": 242, "early_curl": false, "skips": 0, "at_swing_kg": 50, "carried_kg": 94, "left_kg": 28}, {"pass": 68, "t": 1439.9, "face": [20.0, 0.0, 0.79], "dig_max_kg": 226, "early_curl": false, "skips": 0, "at_swing_kg": 103, "carried_kg": 128, "left_kg": 27}, {"pass": 69, "t": 1457.6, "face": [20.0, 0.0, 0.82], "dig_max_kg": 341, "early_curl": false, "skips": 0, "at_swing_kg": 329, "carried_kg": 420, "left_kg": 0}, {"pass": 70, "t": 1475.9, "face": [20.0, 0.0, 0.82], "dig_max_kg": 341, "early_curl": false, "skips": 0, "at_swing_kg": 77, "carried_kg": 93, "left_kg": 0}], "dozer": {"passes": 29, "push_m": 197.28, "work_MJ": 3.84, "load_lifts": 83, "lifts_raised": 1, "parked_s": 848.88, "working_s": 651.13, "peak_kN": 76.89, "slip_s": 2.27, "futile_passes": 4, "mean_push_kN": [23.5, 21.9, 12.5, 15.6, 15.1, 20.6, 19.2, 14.5, 23.6, 22.4, 25.4, 15.0, 16.0, 18.1, 23.7, 17.1, 12.6, 5.1, 22.8, 19.8, 25.0, 15.6, 19.1, 23.8, 25.1, 7.7, 2.5, 24.3, 23.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 53.6, "rms_from_grade_m": 0.334, "max_above_grade_m": 2.25, "at_grade_fraction": 0.4, "unspread_m3": 3.41}} diff --git a/phase2/logs/haul_bench_lane_restearly_long2_clay_1carrier.json b/phase2/logs/haul_bench_lane_restearly_long2_clay_1carrier.json new file mode 100644 index 0000000..a8ad44d --- /dev/null +++ b/phase2/logs/haul_bench_lane_restearly_long2_clay_1carrier.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.936, "loads": [{"carrier": 0, "departed_s": 186.6, "load_kg": 10702, "loading_s": 186.6, "passes": 10}, {"carrier": 0, "departed_s": 482.8, "load_kg": 11117, "loading_s": 238.2, "passes": 12}, {"carrier": 0, "departed_s": 717.7, "load_kg": 10361, "loading_s": 176.1, "passes": 9}, {"carrier": 0, "departed_s": 1050.9, "load_kg": 10431, "loading_s": 274.3, "passes": 14}, {"carrier": 0, "departed_s": 1463.3, "load_kg": 10378, "loading_s": 352.7, "passes": 19}], "trips": [{"depart_t": 186.62, "stages": {"loading": 186.62, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.75, "lower": 5.0, "return": 4.8, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 286, "away_s": 58.0}, {"depart_t": 482.8, "stages": {"loading": 238.18, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.82, "lower": 5.0, "return": 4.52, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 334, "away_s": 58.78}, {"depart_t": 717.73, "stages": {"loading": 176.15, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.88, "lower": 5.0, "return": 4.5, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 280, "away_s": 58.84}, {"depart_t": 1050.92, "stages": {"loading": 274.35, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 7.2, "lower": 5.0, "return": 4.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 304, "away_s": 59.76}], "delivered_t": 51.5, "loaded_t": 52.99, "loaded_t_per_hour": 127.2, "mean_departure_interval_s": 319.2, "t_per_hour": 123.6, "mean_load_kg": 10598.0, "mean_loading_s": 245.6, "carry_back_kg": [286, 334, 280, 304], "mean_away_s": 58.8, "excavator_wait_s": 223.0, "passes": 69, "spoil_settled_t": 52.48, "lost_particles": 1859, "pool_short": 0, "skipped": [{"t": 416.27, "stage": "swing back", "max_err_rad": 0.0}, {"t": 420.28, "stage": "approach", "max_err_rad": 1.417}, {"t": 429.12, "stage": "curl", "max_err_rad": 0.022}, {"t": 482.82, "stage": "swing back", "max_err_rad": 0.116}, {"t": 961.07, "stage": "swing back", "max_err_rad": 0.0}, {"t": 965.08, "stage": "approach", "max_err_rad": 1.735}, {"t": 969.1, "stage": "penetrate", "max_err_rad": 1.734}, {"t": 973.12, "stage": "drag", "max_err_rad": 1.513}, {"t": 977.13, "stage": "drag-curl", "max_err_rad": 1.482}, {"t": 981.15, "stage": "curl", "max_err_rad": 1.479}, {"t": 987.78, "stage": "swing to truck", "max_err_rad": 0.127}, {"t": 991.8, "stage": "dump", "max_err_rad": 0.739}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 272.1, "pit_left_t": 121.4, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 142, "curl_tears": 0, "mean_carried_kg": 981, "mean_dumped_kg": 787, "thin_passes": 17, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1241, "early_curl": true, "skips": 0, "at_swing_kg": 1225, "carried_kg": 1252, "left_kg": 72}, {"pass": 1, "t": 16.5, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1293, "early_curl": true, "skips": 0, "at_swing_kg": 1290, "carried_kg": 1283, "left_kg": 108}, {"pass": 2, "t": 32.9, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1290, "early_curl": true, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1253, "left_kg": 53}, {"pass": 3, "t": 48.5, "face": [-30.0, 0.0, 1.3], "dig_max_kg": 1091, "early_curl": true, "skips": 0, "at_swing_kg": 1069, "carried_kg": 1094, "left_kg": 101}, {"pass": 4, "t": 65.6, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1083, "early_curl": true, "skips": 0, "at_swing_kg": 1000, "carried_kg": 1037, "left_kg": 95}, {"pass": 5, "t": 82.5, "face": [-10.0, 0.0, 1.01], "dig_max_kg": 1196, "early_curl": true, "skips": 0, "at_swing_kg": 1196, "carried_kg": 1367, "left_kg": 119}, {"pass": 6, "t": 99.0, "face": [-30.0, 0.0, 0.79], "dig_max_kg": 1170, "early_curl": false, "skips": 0, "at_swing_kg": 1137, "carried_kg": 1218, "left_kg": 107}, {"pass": 7, "t": 115.8, "face": [-30.0, 0.0, 0.99], "dig_max_kg": 1229, "early_curl": true, "skips": 0, "at_swing_kg": 1195, "carried_kg": 1180, "left_kg": 58}, {"pass": 8, "t": 131.5, "face": [0.0, 0.0, 0.78], "dig_max_kg": 1229, "early_curl": false, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1266, "left_kg": 241}, {"pass": 9, "t": 150.0, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1224, "early_curl": true, "skips": 0, "at_swing_kg": 1174, "carried_kg": 1269, "left_kg": 505}, {"pass": 10, "t": 169.0, "face": [20.0, 0.0, 0.74], "dig_max_kg": 1241, "early_curl": true, "skips": 0, "at_swing_kg": 1188, "carried_kg": 1206, "left_kg": 491}, {"pass": 11, "t": 188.3, "face": [0.0, 0.0, 0.59], "dig_max_kg": 1232, "early_curl": false, "skips": 0, "at_swing_kg": 1250, "carried_kg": 1211, "left_kg": 153}, {"pass": 12, "t": 254.6, "face": [0.0, 0.0, 1.06], "dig_max_kg": 1208, "early_curl": true, "skips": 0, "at_swing_kg": 1121, "carried_kg": 1236, "left_kg": 212}, {"pass": 13, "t": 272.9, "face": [0.0, 0.0, 0.75], "dig_max_kg": 1308, "early_curl": false, "skips": 0, "at_swing_kg": 1290, "carried_kg": 1235, "left_kg": 34}, {"pass": 14, "t": 289.4, "face": [0.0, 0.0, 0.86], "dig_max_kg": 1302, "early_curl": false, "skips": 0, "at_swing_kg": 1120, "carried_kg": 1039, "left_kg": 9}, {"pass": 15, "t": 305.9, "face": [-20.0, 0.0, 0.55], "dig_max_kg": 1123, "early_curl": false, "skips": 0, "at_swing_kg": 1018, "carried_kg": 1185, "left_kg": 23}, {"pass": 16, "t": 322.0, "face": [-20.0, 0.0, 1.08], "dig_max_kg": 1243, "early_curl": true, "skips": 0, "at_swing_kg": 1228, "carried_kg": 1292, "left_kg": 410}, {"pass": 17, "t": 339.7, "face": [-10.0, 0.0, 0.69], "dig_max_kg": 1243, "early_curl": false, "skips": 0, "at_swing_kg": 1080, "carried_kg": 1236, "left_kg": 80}, {"pass": 18, "t": 357.8, "face": [-10.0, 0.0, 0.96], "dig_max_kg": 1211, "early_curl": true, "skips": 0, "at_swing_kg": 1163, "carried_kg": 1337, "left_kg": 390}, {"pass": 19, "t": 376.6, "face": [-20.0, 0.0, 0.67], "dig_max_kg": 1354, "early_curl": false, "skips": 0, "at_swing_kg": 1260, "carried_kg": 1301, "left_kg": 116}, {"pass": 20, "t": 393.5, "face": [-20.0, 0.0, 1.06], "dig_max_kg": 1269, "early_curl": true, "skips": 1, "at_swing_kg": 1204, "carried_kg": 1314, "left_kg": 544}, {"pass": 21, "t": 416.3, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 1008, "early_curl": true, "skips": 2, "at_swing_kg": 713, "carried_kg": 0, "left_kg": 0}, {"pass": 22, "t": 437.6, "face": [-20.0, 0.0, 0.59], "dig_max_kg": 1539, "early_curl": false, "skips": 0, "at_swing_kg": 1470, "carried_kg": 1544, "left_kg": 786}, {"pass": 23, "t": 459.1, "face": [-20.0, 0.0, 1.03], "dig_max_kg": 1472, "early_curl": true, "skips": 1, "at_swing_kg": 1280, "carried_kg": 1370, "left_kg": 748}, {"pass": 24, "t": 482.8, "face": [0.0, 0.0, 0.45], "dig_max_kg": 1364, "early_curl": false, "skips": 0, "at_swing_kg": 1529, "carried_kg": 1421, "left_kg": 986}, {"pass": 25, "t": 552.0, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1355, "early_curl": true, "skips": 0, "at_swing_kg": 648, "carried_kg": 677, "left_kg": 88}, {"pass": 26, "t": 568.4, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1547, "early_curl": true, "skips": 0, "at_swing_kg": 1509, "carried_kg": 1440, "left_kg": 232}, {"pass": 27, "t": 587.5, "face": [10.0, 0.0, 0.44], "dig_max_kg": 1533, "early_curl": false, "skips": 0, "at_swing_kg": 1052, "carried_kg": 1316, "left_kg": 99}, {"pass": 28, "t": 605.2, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1420, "early_curl": true, "skips": 0, "at_swing_kg": 1335, "carried_kg": 1444, "left_kg": 204}, {"pass": 29, "t": 624.0, "face": [20.0, 0.0, 0.72], "dig_max_kg": 1340, "early_curl": false, "skips": 0, "at_swing_kg": 1185, "carried_kg": 1306, "left_kg": 70}, {"pass": 30, "t": 642.6, "face": [20.0, 0.0, 0.93], "dig_max_kg": 1185, "early_curl": false, "skips": 0, "at_swing_kg": 214, "carried_kg": 216, "left_kg": 179}, {"pass": 31, "t": 660.3, "face": [10.0, 0.0, 0.78], "dig_max_kg": 1223, "early_curl": true, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1240, "left_kg": 108}, {"pass": 32, "t": 678.3, "face": [0.0, 0.0, 0.45], "dig_max_kg": 1552, "early_curl": false, "skips": 0, "at_swing_kg": 1496, "carried_kg": 1582, "left_kg": 841}, {"pass": 33, "t": 700.3, "face": [0.0, 0.0, 1.03], "dig_max_kg": 1492, "early_curl": false, "skips": 0, "at_swing_kg": 1148, "carried_kg": 1090, "left_kg": 49}, {"pass": 34, "t": 719.3, "face": [0.0, 0.0, 1.0], "dig_max_kg": 1265, "early_curl": false, "skips": 0, "at_swing_kg": 1206, "carried_kg": 1158, "left_kg": 69}, {"pass": 35, "t": 785.6, "face": [0.0, 0.0, 1.18], "dig_max_kg": 822, "early_curl": false, "skips": 0, "at_swing_kg": 721, "carried_kg": 698, "left_kg": 19}, {"pass": 36, "t": 803.9, "face": [0.0, 0.0, 1.18], "dig_max_kg": 719, "early_curl": false, "skips": 0, "at_swing_kg": 12, "carried_kg": 10, "left_kg": 0}, {"pass": 37, "t": 821.5, "face": [-10.0, 0.0, 0.64], "dig_max_kg": 1450, "early_curl": true, "skips": 0, "at_swing_kg": 1433, "carried_kg": 1413, "left_kg": 52}, {"pass": 38, "t": 837.2, "face": [-20.0, 0.0, 0.44], "dig_max_kg": 1435, "early_curl": false, "skips": 0, "at_swing_kg": 1272, "carried_kg": 1310, "left_kg": 74}, {"pass": 39, "t": 854.1, "face": [-20.0, 0.0, 0.96], "dig_max_kg": 1272, "early_curl": true, "skips": 0, "at_swing_kg": 272, "carried_kg": 329, "left_kg": 276}, {"pass": 40, "t": 868.9, "face": [-40.0, 0.0, 0.44], "dig_max_kg": 1061, "early_curl": false, "skips": 0, "at_swing_kg": 1042, "carried_kg": 1144, "left_kg": 201}, {"pass": 41, "t": 886.0, "face": [-30.0, 0.0, 0.42], "dig_max_kg": 1423, "early_curl": false, "skips": 0, "at_swing_kg": 1419, "carried_kg": 1382, "left_kg": 33}, {"pass": 42, "t": 902.7, "face": [20.0, 0.0, 0.92], "dig_max_kg": 1423, "early_curl": false, "skips": 0, "at_swing_kg": 419, "carried_kg": 505, "left_kg": 1}, {"pass": 43, "t": 919.7, "face": [-30.0, 0.0, 0.44], "dig_max_kg": 1029, "early_curl": false, "skips": 0, "at_swing_kg": 1017, "carried_kg": 1106, "left_kg": 75}, {"pass": 44, "t": 936.2, "face": [10.0, 0.0, 0.42], "dig_max_kg": 1400, "early_curl": false, "skips": 1, "at_swing_kg": 1400, "carried_kg": 1447, "left_kg": 623}, {"pass": 45, "t": 961.1, "face": [10.0, 0.0, 0.99], "dig_max_kg": 1085, "early_curl": false, "skips": 7, "at_swing_kg": 136, "carried_kg": 1192, "left_kg": 1339}, {"pass": 46, "t": 997.6, "face": [10.0, 0.0, 0.99], "dig_max_kg": 1217, "early_curl": true, "skips": 0, "at_swing_kg": 789, "carried_kg": 847, "left_kg": 63}, {"pass": 47, "t": 1013.1, "face": [10.0, 0.0, 1.0], "dig_max_kg": 1601, "early_curl": true, "skips": 0, "at_swing_kg": 1572, "carried_kg": 1471, "left_kg": 777}, {"pass": 48, "t": 1033.3, "face": [0.0, 0.0, 0.95], "dig_max_kg": 1592, "early_curl": false, "skips": 0, "at_swing_kg": 668, "carried_kg": 694, "left_kg": 94}, {"pass": 49, "t": 1052.5, "face": [0.0, 0.0, 1.18], "dig_max_kg": 552, "early_curl": false, "skips": 0, "at_swing_kg": 47, "carried_kg": 51, "left_kg": 17}, {"pass": 50, "t": 1117.0, "face": [-10.0, 0.0, 0.7], "dig_max_kg": 1403, "early_curl": false, "skips": 0, "at_swing_kg": 1401, "carried_kg": 1326, "left_kg": 57}, {"pass": 51, "t": 1134.0, "face": [-10.0, 0.0, 1.19], "dig_max_kg": 1403, "early_curl": false, "skips": 0, "at_swing_kg": 1241, "carried_kg": 1226, "left_kg": 11}, {"pass": 52, "t": 1151.8, "face": [-10.0, 0.0, 1.02], "dig_max_kg": 1242, "early_curl": false, "skips": 0, "at_swing_kg": 2, "carried_kg": 1, "left_kg": 0}, {"pass": 53, "t": 1168.5, "face": [-20.0, 0.0, 0.91], "dig_max_kg": 1331, "early_curl": true, "skips": 0, "at_swing_kg": 1310, "carried_kg": 1357, "left_kg": 23}, {"pass": 54, "t": 1185.8, "face": [20.0, 0.0, 0.72], "dig_max_kg": 1313, "early_curl": false, "skips": 0, "at_swing_kg": 385, "carried_kg": 445, "left_kg": 8}, {"pass": 55, "t": 1204.0, "face": [10.0, 0.0, 0.43], "dig_max_kg": 1353, "early_curl": false, "skips": 0, "at_swing_kg": 1348, "carried_kg": 1314, "left_kg": 37}, {"pass": 56, "t": 1221.0, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1106, "early_curl": false, "skips": 0, "at_swing_kg": 1100, "carried_kg": 1088, "left_kg": 223}, {"pass": 57, "t": 1240.7, "face": [10.0, 0.0, 1.02], "dig_max_kg": 781, "early_curl": false, "skips": 0, "at_swing_kg": 455, "carried_kg": 524, "left_kg": 75}, {"pass": 58, "t": 1259.5, "face": [-20.0, 0.0, 0.44], "dig_max_kg": 1508, "early_curl": false, "skips": 0, "at_swing_kg": 1508, "carried_kg": 1455, "left_kg": 78}, {"pass": 59, "t": 1277.5, "face": [20.0, 0.0, 0.74], "dig_max_kg": 1501, "early_curl": false, "skips": 0, "at_swing_kg": 136, "carried_kg": 155, "left_kg": 146}, {"pass": 60, "t": 1295.6, "face": [20.0, 0.0, 0.77], "dig_max_kg": 277, "early_curl": false, "skips": 0, "at_swing_kg": 277, "carried_kg": 360, "left_kg": 194}, {"pass": 61, "t": 1313.5, "face": [0.0, 0.0, 1.18], "dig_max_kg": 618, "early_curl": false, "skips": 0, "at_swing_kg": 41, "carried_kg": 45, "left_kg": 85}, {"pass": 62, "t": 1331.3, "face": [20.0, 0.0, 0.81], "dig_max_kg": 234, "early_curl": false, "skips": 0, "at_swing_kg": 166, "carried_kg": 179, "left_kg": 132}, {"pass": 63, "t": 1349.4, "face": [20.0, 0.0, 0.79], "dig_max_kg": 238, "early_curl": false, "skips": 0, "at_swing_kg": 238, "carried_kg": 267, "left_kg": 8}, {"pass": 64, "t": 1367.4, "face": [-10.0, 0.0, 1.08], "dig_max_kg": 561, "early_curl": false, "skips": 0, "at_swing_kg": 1, "carried_kg": 2, "left_kg": 1}, {"pass": 65, "t": 1384.9, "face": [20.0, 0.0, 0.83], "dig_max_kg": 338, "early_curl": false, "skips": 0, "at_swing_kg": 326, "carried_kg": 399, "left_kg": 81}, {"pass": 66, "t": 1403.7, "face": [20.0, 0.0, 0.83], "dig_max_kg": 338, "early_curl": false, "skips": 0, "at_swing_kg": 92, "carried_kg": 111, "left_kg": 7}, {"pass": 67, "t": 1425.7, "face": [20.0, 0.0, 0.85], "dig_max_kg": 1159, "early_curl": true, "skips": 0, "at_swing_kg": 1139, "carried_kg": 1134, "left_kg": 179}, {"pass": 68, "t": 1446.2, "face": [20.0, 0.0, 0.36], "dig_max_kg": 1158, "early_curl": false, "skips": 0, "at_swing_kg": 1042, "carried_kg": 1113, "left_kg": 54}], "dozer": {"passes": 18, "push_m": 126.36, "work_MJ": 2.6, "load_lifts": 41, "lifts_raised": 1, "parked_s": 1072.2, "working_s": 427.82, "peak_kN": 63.15, "slip_s": 0.88, "futile_passes": 1, "mean_push_kN": [21.5, 14.1, 23.6, 17.0, 19.9, 16.6, 18.2, 27.1, 26.0, 20.7, 25.1, 11.0, 21.0, 13.0, 10.7, 5.1, 26.4, 24.8]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 46.1, "rms_from_grade_m": 0.513, "max_above_grade_m": 2.61, "at_grade_fraction": 0.42, "unspread_m3": 8.32}} diff --git a/phase2/logs/haul_quick25_lane_base_clay_1.json b/phase2/logs/haul_quick25_lane_base_clay_1.json new file mode 100644 index 0000000..7279c90 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_clay_1.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 527.8, "stopped_after_passes": 25, "realtime_factor": 0.911, "loads": [{"carrier": 0, "departed_s": 153.8, "load_kg": 11044, "loading_s": 153.8, "passes": 8}, {"carrier": 0, "departed_s": 412.6, "load_kg": 10756, "loading_s": 200.8, "passes": 11}], "trips": [{"depart_t": 153.78, "stages": {"loading": 153.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.83, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 264, "away_s": 58.07}, {"depart_t": 412.63, "stages": {"loading": 200.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.48, "lower": 5.0, "return": 4.62, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 314, "away_s": 58.55}], "delivered_t": 21.22, "loaded_t": 27.43, "loaded_t_per_hour": 187.1, "mean_departure_interval_s": 258.8, "t_per_hour": 144.7, "mean_load_kg": 10900.0, "mean_loading_s": 177.3, "carry_back_kg": [264, 314], "mean_away_s": 58.3, "excavator_wait_s": 99.2, "passes": 25, "spoil_settled_t": 21.64, "lost_particles": 1055, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.6, "pit_left_t": 158.6, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 273, "curl_tears": 0, "mean_carried_kg": 1230, "mean_dumped_kg": 1071, "thin_passes": 0, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1218, "early_curl": true, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1228, "left_kg": 91}, {"pass": 1, "t": 15.7, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1214, "early_curl": true, "skips": 0, "at_swing_kg": 1118, "carried_kg": 1110, "left_kg": 103}, {"pass": 2, "t": 31.9, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1148, "early_curl": true, "skips": 0, "at_swing_kg": 1121, "carried_kg": 1140, "left_kg": 174}, {"pass": 3, "t": 49.5, "face": [-10.0, 0.0, 1.28], "dig_max_kg": 1302, "early_curl": true, "skips": 0, "at_swing_kg": 1257, "carried_kg": 1257, "left_kg": 261}, {"pass": 4, "t": 66.6, "face": [-30.0, 0.0, 1.27], "dig_max_kg": 1212, "early_curl": true, "skips": 0, "at_swing_kg": 1190, "carried_kg": 1191, "left_kg": 79}, {"pass": 5, "t": 82.4, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1127, "early_curl": true, "skips": 0, "at_swing_kg": 1100, "carried_kg": 1139, "left_kg": 99}, {"pass": 6, "t": 100.5, "face": [10.0, 0.0, 0.84], "dig_max_kg": 1220, "early_curl": false, "skips": 0, "at_swing_kg": 1204, "carried_kg": 1233, "left_kg": 43}, {"pass": 7, "t": 118.8, "face": [-20.0, 0.0, 0.83], "dig_max_kg": 1219, "early_curl": false, "skips": 0, "at_swing_kg": 1167, "carried_kg": 1231, "left_kg": 86}, {"pass": 8, "t": 135.8, "face": [-10.0, 0.0, 0.72], "dig_max_kg": 1285, "early_curl": false, "skips": 0, "at_swing_kg": 1273, "carried_kg": 1296, "left_kg": 655}, {"pass": 9, "t": 155.3, "face": [-10.0, 0.0, 1.03], "dig_max_kg": 1154, "early_curl": true, "skips": 0, "at_swing_kg": 1142, "carried_kg": 1132, "left_kg": 102}, {"pass": 10, "t": 220.8, "face": [-30.0, 0.0, 0.68], "dig_max_kg": 1310, "early_curl": false, "skips": 0, "at_swing_kg": 1293, "carried_kg": 1271, "left_kg": 19}, {"pass": 11, "t": 236.1, "face": [-30.0, 0.0, 1.1], "dig_max_kg": 1310, "early_curl": true, "skips": 0, "at_swing_kg": 1111, "carried_kg": 1149, "left_kg": 33}, {"pass": 12, "t": 251.7, "face": [-20.0, 0.0, 0.86], "dig_max_kg": 1199, "early_curl": false, "skips": 0, "at_swing_kg": 1171, "carried_kg": 1187, "left_kg": 24}, {"pass": 13, "t": 268.6, "face": [10.0, 0.0, 0.65], "dig_max_kg": 1260, "early_curl": false, "skips": 0, "at_swing_kg": 1135, "carried_kg": 1214, "left_kg": 97}, {"pass": 14, "t": 286.2, "face": [10.0, 0.0, 1.07], "dig_max_kg": 1184, "early_curl": true, "skips": 0, "at_swing_kg": 1161, "carried_kg": 1210, "left_kg": 491}, {"pass": 15, "t": 305.0, "face": [10.0, 0.0, 0.71], "dig_max_kg": 1329, "early_curl": false, "skips": 0, "at_swing_kg": 1310, "carried_kg": 1279, "left_kg": 670}, {"pass": 16, "t": 325.2, "face": [10.0, 0.0, 1.03], "dig_max_kg": 1313, "early_curl": true, "skips": 0, "at_swing_kg": 1290, "carried_kg": 1279, "left_kg": 37}, {"pass": 17, "t": 342.4, "face": [0.0, 0.0, 0.63], "dig_max_kg": 1298, "early_curl": false, "skips": 0, "at_swing_kg": 1115, "carried_kg": 1140, "left_kg": 68}, {"pass": 18, "t": 359.1, "face": [0.0, 0.0, 0.73], "dig_max_kg": 1221, "early_curl": false, "skips": 0, "at_swing_kg": 1201, "carried_kg": 1273, "left_kg": 83}, {"pass": 19, "t": 377.9, "face": [0.0, 0.0, 1.05], "dig_max_kg": 1217, "early_curl": true, "skips": 0, "at_swing_kg": 1187, "carried_kg": 1284, "left_kg": 305}, {"pass": 20, "t": 396.0, "face": [-10.0, 0.0, 0.7], "dig_max_kg": 1348, "early_curl": false, "skips": 0, "at_swing_kg": 1334, "carried_kg": 1357, "left_kg": 274}, {"pass": 21, "t": 414.1, "face": [-10.0, 0.0, 0.94], "dig_max_kg": 1345, "early_curl": true, "skips": 0, "at_swing_kg": 1148, "carried_kg": 1181, "left_kg": 43}, {"pass": 22, "t": 479.5, "face": [-20.0, 0.0, 0.78], "dig_max_kg": 1248, "early_curl": false, "skips": 0, "at_swing_kg": 1247, "carried_kg": 1335, "left_kg": 33}, {"pass": 23, "t": 494.6, "face": [-20.0, 0.0, 0.99], "dig_max_kg": 1248, "early_curl": true, "skips": 0, "at_swing_kg": 1168, "carried_kg": 1236, "left_kg": 63}, {"pass": 24, "t": 510.8, "face": [-30.0, 0.0, 0.58], "dig_max_kg": 1324, "early_curl": false, "skips": 0, "at_swing_kg": 1296, "carried_kg": 1386, "left_kg": 37}], "dozer": {"passes": 10, "push_m": 64.47, "work_MJ": 1.11, "load_lifts": 11, "lifts_raised": 0, "parked_s": 319.85, "working_s": 207.92, "peak_kN": 60.0, "slip_s": 0.03, "futile_passes": 2, "mean_push_kN": [17.8, 15.8, 11.2, 21.4, 10.3, 0.4, 13.2, 15.6, 17.0, 22.8]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 37.9, "rms_from_grade_m": 0.264, "max_above_grade_m": 1.47, "at_grade_fraction": 0.35, "unspread_m3": 2.81}} diff --git a/phase2/logs/haul_quick25_lane_base_clay_2.json b/phase2/logs/haul_quick25_lane_base_clay_2.json new file mode 100644 index 0000000..17875cc --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_clay_2.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 528.2, "stopped_after_passes": 25, "realtime_factor": 0.882, "loads": [{"carrier": 0, "departed_s": 190.2, "load_kg": 10828, "loading_s": 190.2, "passes": 10}, {"carrier": 0, "departed_s": 391.1, "load_kg": 10785, "loading_s": 142.4, "passes": 8}], "trips": [{"depart_t": 190.2, "stages": {"loading": 190.2, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.42, "lower": 5.0, "return": 4.63, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 253, "away_s": 58.5}, {"depart_t": 391.12, "stages": {"loading": 142.42, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.5, "lower": 5.0, "return": 4.6, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 284, "away_s": 58.55}], "delivered_t": 21.08, "loaded_t": 27.5, "loaded_t_per_hour": 187.4, "mean_departure_interval_s": 200.9, "t_per_hour": 143.7, "mean_load_kg": 10806.0, "mean_loading_s": 166.3, "carry_back_kg": [253, 284], "mean_away_s": 58.5, "excavator_wait_s": 100.1, "passes": 25, "spoil_settled_t": 21.18, "lost_particles": 1114, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 117.0, "pit_left_t": 158.5, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 198, "curl_tears": 0, "mean_carried_kg": 1223, "mean_dumped_kg": 1085, "thin_passes": 0, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1192, "early_curl": true, "skips": 0, "at_swing_kg": 1177, "carried_kg": 1195, "left_kg": 94}, {"pass": 1, "t": 15.8, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1188, "early_curl": true, "skips": 0, "at_swing_kg": 1126, "carried_kg": 1157, "left_kg": 105}, {"pass": 2, "t": 31.7, "face": [10.0, 0.0, 1.37], "dig_max_kg": 1182, "early_curl": true, "skips": 0, "at_swing_kg": 1167, "carried_kg": 1188, "left_kg": 168}, {"pass": 3, "t": 49.0, "face": [-30.0, 0.0, 1.27], "dig_max_kg": 1292, "early_curl": true, "skips": 0, "at_swing_kg": 1250, "carried_kg": 1371, "left_kg": 73}, {"pass": 4, "t": 64.9, "face": [-10.0, 0.0, 1.2], "dig_max_kg": 1417, "early_curl": true, "skips": 0, "at_swing_kg": 1417, "carried_kg": 1403, "left_kg": 85}, {"pass": 5, "t": 81.1, "face": [20.0, 0.0, 1.11], "dig_max_kg": 1402, "early_curl": false, "skips": 0, "at_swing_kg": 922, "carried_kg": 1012, "left_kg": 457}, {"pass": 6, "t": 101.2, "face": [20.0, 0.0, 0.8], "dig_max_kg": 1183, "early_curl": true, "skips": 0, "at_swing_kg": 1166, "carried_kg": 1165, "left_kg": 363}, {"pass": 7, "t": 121.7, "face": [0.0, 0.0, 0.79], "dig_max_kg": 1169, "early_curl": false, "skips": 0, "at_swing_kg": 1117, "carried_kg": 1174, "left_kg": 87}, {"pass": 8, "t": 137.8, "face": [0.0, 0.0, 1.04], "dig_max_kg": 1243, "early_curl": true, "skips": 0, "at_swing_kg": 1215, "carried_kg": 1238, "left_kg": 27}, {"pass": 9, "t": 154.8, "face": [-30.0, 0.0, 0.77], "dig_max_kg": 1238, "early_curl": false, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1275, "left_kg": 523}, {"pass": 10, "t": 175.2, "face": [-30.0, 0.0, 1.01], "dig_max_kg": 1197, "early_curl": true, "skips": 0, "at_swing_kg": 1116, "carried_kg": 1136, "left_kg": 82}, {"pass": 11, "t": 191.5, "face": [-20.0, 0.0, 0.6], "dig_max_kg": 1246, "early_curl": false, "skips": 0, "at_swing_kg": 1276, "carried_kg": 1244, "left_kg": 19}, {"pass": 12, "t": 256.5, "face": [-20.0, 0.0, 1.1], "dig_max_kg": 1233, "early_curl": true, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1193, "left_kg": 92}, {"pass": 13, "t": 273.3, "face": [-30.0, 0.0, 0.57], "dig_max_kg": 1322, "early_curl": false, "skips": 0, "at_swing_kg": 1281, "carried_kg": 1315, "left_kg": 4}, {"pass": 14, "t": 288.4, "face": [-20.0, 0.0, 0.65], "dig_max_kg": 1281, "early_curl": false, "skips": 0, "at_swing_kg": 1222, "carried_kg": 1266, "left_kg": 68}, {"pass": 15, "t": 305.1, "face": [-20.0, 0.0, 1.09], "dig_max_kg": 1232, "early_curl": true, "skips": 0, "at_swing_kg": 1140, "carried_kg": 1171, "left_kg": 260}, {"pass": 16, "t": 323.1, "face": [-10.0, 0.0, 0.63], "dig_max_kg": 1179, "early_curl": false, "skips": 0, "at_swing_kg": 1163, "carried_kg": 1308, "left_kg": 215}, {"pass": 17, "t": 340.9, "face": [-10.0, 0.0, 0.97], "dig_max_kg": 1197, "early_curl": true, "skips": 0, "at_swing_kg": 1161, "carried_kg": 1231, "left_kg": 124}, {"pass": 18, "t": 358.5, "face": [-30.0, 0.0, 0.62], "dig_max_kg": 1184, "early_curl": false, "skips": 0, "at_swing_kg": 1155, "carried_kg": 1150, "left_kg": 22}, {"pass": 19, "t": 376.0, "face": [-20.0, 0.0, 0.57], "dig_max_kg": 1454, "early_curl": false, "skips": 0, "at_swing_kg": 1379, "carried_kg": 1404, "left_kg": 79}, {"pass": 20, "t": 392.4, "face": [-20.0, 0.0, 1.09], "dig_max_kg": 1379, "early_curl": true, "skips": 0, "at_swing_kg": 1187, "carried_kg": 1167, "left_kg": 91}, {"pass": 21, "t": 458.2, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 1255, "early_curl": false, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1361, "left_kg": 77}, {"pass": 22, "t": 475.1, "face": [-10.0, 0.0, 1.12], "dig_max_kg": 1253, "early_curl": true, "skips": 0, "at_swing_kg": 1137, "carried_kg": 1165, "left_kg": 111}, {"pass": 23, "t": 491.3, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 1215, "early_curl": false, "skips": 0, "at_swing_kg": 1196, "carried_kg": 1165, "left_kg": 91}, {"pass": 24, "t": 508.4, "face": [-10.0, 0.0, 1.02], "dig_max_kg": 1134, "early_curl": false, "skips": 0, "at_swing_kg": 1107, "carried_kg": 1132, "left_kg": 142}], "dozer": {"passes": 7, "push_m": 49.4, "work_MJ": 0.85, "load_lifts": 22, "lifts_raised": 0, "parked_s": 354.53, "working_s": 173.65, "peak_kN": 67.14, "slip_s": 0.72, "futile_passes": 1, "mean_push_kN": [24.0, 23.7, 4.2, 14.6, 14.9, 16.5, 16.7]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 38.0, "rms_from_grade_m": 0.288, "max_above_grade_m": 1.68, "at_grade_fraction": 0.38, "unspread_m3": 3.37}} diff --git a/phase2/logs/haul_quick25_lane_base_clay_3.json b/phase2/logs/haul_quick25_lane_base_clay_3.json new file mode 100644 index 0000000..ca86144 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_clay_3.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 528.5, "stopped_after_passes": 25, "realtime_factor": 0.96, "loads": [{"carrier": 0, "departed_s": 151.9, "load_kg": 10484, "loading_s": 151.9, "passes": 8}, {"carrier": 0, "departed_s": 405.7, "load_kg": 11173, "loading_s": 195.7, "passes": 11}], "trips": [{"depart_t": 151.9, "stages": {"loading": 151.9, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.97, "lower": 5.0, "return": 4.75, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 265, "away_s": 58.17}, {"depart_t": 405.75, "stages": {"loading": 195.68, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.87, "lower": 5.0, "return": 4.5, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 349, "away_s": 58.82}], "delivered_t": 21.04, "loaded_t": 25.84, "loaded_t_per_hour": 176.0, "mean_departure_interval_s": 253.8, "t_per_hour": 143.3, "mean_load_kg": 10828.0, "mean_loading_s": 173.8, "carry_back_kg": [265, 349], "mean_away_s": 58.5, "excavator_wait_s": 97.5, "passes": 25, "spoil_settled_t": 20.2, "lost_particles": 1115, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 117.0, "pit_left_t": 162.2, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 200, "curl_tears": 0, "mean_carried_kg": 1128, "mean_dumped_kg": 968, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1235, "early_curl": true, "skips": 0, "at_swing_kg": 1220, "carried_kg": 1260, "left_kg": 109}, {"pass": 1, "t": 16.5, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1232, "early_curl": true, "skips": 0, "at_swing_kg": 1215, "carried_kg": 1234, "left_kg": 130}, {"pass": 2, "t": 33.5, "face": [-30.0, 0.0, 1.33], "dig_max_kg": 1215, "early_curl": true, "skips": 0, "at_swing_kg": 1163, "carried_kg": 1179, "left_kg": 98}, {"pass": 3, "t": 48.9, "face": [-20.0, 0.0, 1.28], "dig_max_kg": 1190, "early_curl": true, "skips": 0, "at_swing_kg": 1173, "carried_kg": 1217, "left_kg": 113}, {"pass": 4, "t": 65.3, "face": [-10.0, 0.0, 1.23], "dig_max_kg": 1356, "early_curl": true, "skips": 0, "at_swing_kg": 1351, "carried_kg": 1394, "left_kg": 113}, {"pass": 5, "t": 81.6, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1024, "early_curl": true, "skips": 0, "at_swing_kg": 984, "carried_kg": 1024, "left_kg": 99}, {"pass": 6, "t": 99.1, "face": [-20.0, 0.0, 0.89], "dig_max_kg": 1188, "early_curl": false, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1287, "left_kg": 108}, {"pass": 7, "t": 116.7, "face": [0.0, 0.0, 0.81], "dig_max_kg": 1192, "early_curl": false, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1245, "left_kg": 67}, {"pass": 8, "t": 134.4, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1212, "early_curl": true, "skips": 0, "at_swing_kg": 1178, "carried_kg": 1238, "left_kg": 704}, {"pass": 9, "t": 154.2, "face": [20.0, 0.0, 0.65], "dig_max_kg": 1228, "early_curl": false, "skips": 0, "at_swing_kg": 1293, "carried_kg": 1259, "left_kg": 72}, {"pass": 10, "t": 219.7, "face": [20.0, 0.0, 0.84], "dig_max_kg": 1102, "early_curl": false, "skips": 0, "at_swing_kg": 628, "carried_kg": 709, "left_kg": 52}, {"pass": 11, "t": 237.6, "face": [20.0, 0.0, 1.02], "dig_max_kg": 626, "early_curl": false, "skips": 0, "at_swing_kg": 187, "carried_kg": 197, "left_kg": 35}, {"pass": 12, "t": 255.0, "face": [20.0, 0.0, 1.02], "dig_max_kg": 286, "early_curl": false, "skips": 0, "at_swing_kg": 272, "carried_kg": 306, "left_kg": 256}, {"pass": 13, "t": 271.8, "face": [-30.0, 0.0, 0.67], "dig_max_kg": 1346, "early_curl": false, "skips": 0, "at_swing_kg": 1336, "carried_kg": 1358, "left_kg": 9}, {"pass": 14, "t": 286.7, "face": [-30.0, 0.0, 1.13], "dig_max_kg": 1338, "early_curl": true, "skips": 0, "at_swing_kg": 1171, "carried_kg": 1197, "left_kg": 293}, {"pass": 15, "t": 303.9, "face": [-20.0, 0.0, 0.58], "dig_max_kg": 1323, "early_curl": false, "skips": 0, "at_swing_kg": 1244, "carried_kg": 1401, "left_kg": 122}, {"pass": 16, "t": 320.7, "face": [-20.0, 0.0, 1.06], "dig_max_kg": 1249, "early_curl": true, "skips": 0, "at_swing_kg": 1157, "carried_kg": 1178, "left_kg": 76}, {"pass": 17, "t": 336.2, "face": [-10.0, 0.0, 0.68], "dig_max_kg": 1212, "early_curl": false, "skips": 0, "at_swing_kg": 1207, "carried_kg": 1305, "left_kg": 503}, {"pass": 18, "t": 356.3, "face": [-10.0, 0.0, 1.09], "dig_max_kg": 1211, "early_curl": true, "skips": 0, "at_swing_kg": 1144, "carried_kg": 1290, "left_kg": 441}, {"pass": 19, "t": 374.3, "face": [-30.0, 0.0, 0.6], "dig_max_kg": 1335, "early_curl": false, "skips": 0, "at_swing_kg": 1319, "carried_kg": 1396, "left_kg": 49}, {"pass": 20, "t": 390.2, "face": [10.0, 0.0, 0.55], "dig_max_kg": 1332, "early_curl": false, "skips": 0, "at_swing_kg": 1163, "carried_kg": 1211, "left_kg": 120}, {"pass": 21, "t": 407.6, "face": [10.0, 0.0, 1.16], "dig_max_kg": 1182, "early_curl": true, "skips": 0, "at_swing_kg": 1299, "carried_kg": 1302, "left_kg": 115}, {"pass": 22, "t": 473.9, "face": [10.0, 0.0, 0.64], "dig_max_kg": 1129, "early_curl": false, "skips": 0, "at_swing_kg": 1113, "carried_kg": 1160, "left_kg": 111}, {"pass": 23, "t": 490.8, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1304, "early_curl": true, "skips": 0, "at_swing_kg": 1270, "carried_kg": 1331, "left_kg": 178}, {"pass": 24, "t": 509.7, "face": [20.0, 0.0, 0.87], "dig_max_kg": 1286, "early_curl": false, "skips": 0, "at_swing_kg": 497, "carried_kg": 534, "left_kg": 45}], "dozer": {"passes": 6, "push_m": 45.97, "work_MJ": 0.94, "load_lifts": 11, "lifts_raised": 0, "parked_s": 374.68, "working_s": 153.87, "peak_kN": 61.34, "slip_s": 0.3, "futile_passes": 0, "mean_push_kN": [25.2, 22.8, 19.1, 19.5, 14.9, 17.5]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 37.1, "rms_from_grade_m": 0.27, "max_above_grade_m": 1.79, "at_grade_fraction": 0.36, "unspread_m3": 2.57}} diff --git a/phase2/logs/haul_quick25_lane_base_dry-sand_1.json b/phase2/logs/haul_quick25_lane_base_dry-sand_1.json new file mode 100644 index 0000000..d314b97 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_dry-sand_1.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 607.0, "stopped_after_passes": 25, "realtime_factor": 0.923, "loads": [{"carrier": 0, "departed_s": 166.7, "load_kg": 9015, "loading_s": 166.7, "passes": 8}, {"carrier": 0, "departed_s": 332.5, "load_kg": 11166, "loading_s": 109.1, "passes": 6}, {"carrier": 0, "departed_s": 524.3, "load_kg": 8010, "loading_s": 135.1, "passes": 6}], "trips": [{"depart_t": 166.7, "stages": {"loading": 166.7, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 131, "away_s": 56.72}, {"depart_t": 332.48, "stages": {"loading": 109.07, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 209, "away_s": 56.72}, {"depart_t": 524.27, "stages": {"loading": 135.07, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.1, "lower": 5.0, "return": 5.22, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 126, "away_s": 56.76}], "delivered_t": 27.73, "loaded_t": 31.1, "loaded_t_per_hour": 184.5, "mean_departure_interval_s": 178.8, "t_per_hour": 164.4, "mean_load_kg": 9397.0, "mean_loading_s": 137.0, "carry_back_kg": [131, 209, 126], "mean_away_s": 56.7, "excavator_wait_s": 144.0, "passes": 25, "spoil_settled_t": 27.48, "lost_particles": 3654, "pool_short": 410, "skipped": [{"t": 131.22, "stage": "swing back", "max_err_rad": 0.063}, {"t": 135.23, "stage": "approach", "max_err_rad": 1.231}, {"t": 139.25, "stage": "penetrate", "max_err_rad": 1.227}, {"t": 143.27, "stage": "drag", "max_err_rad": 1.221}, {"t": 147.28, "stage": "drag-curl", "max_err_rad": 1.206}, {"t": 151.3, "stage": "curl", "max_err_rad": 1.173}, {"t": 161.5, "stage": "swing to truck", "max_err_rad": 0.397}, {"t": 489.32, "stage": "swing back", "max_err_rad": 0.065}, {"t": 493.33, "stage": "approach", "max_err_rad": 1.911}, {"t": 497.35, "stage": "penetrate", "max_err_rad": 1.907}, {"t": 501.37, "stage": "drag", "max_err_rad": 1.909}, {"t": 505.38, "stage": "drag-curl", "max_err_rad": 1.9}, {"t": 509.4, "stage": "curl", "max_err_rad": 1.792}, {"t": 520.1, "stage": "swing to truck", "max_err_rad": 0.437}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.2, "pit_left_t": 119.1, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1337, "mean_dumped_kg": 1331, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 902, "early_curl": false, "skips": 0, "at_swing_kg": 893, "carried_kg": 586, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1625, "early_curl": false, "skips": 0, "at_swing_kg": 1625, "carried_kg": 1283, "left_kg": 8}, {"pass": 2, "t": 31.0, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1601, "early_curl": false, "skips": 0, "at_swing_kg": 975, "carried_kg": 697, "left_kg": 1}, {"pass": 3, "t": 46.1, "face": [-20.0, 0.0, 1.45], "dig_max_kg": 1597, "early_curl": false, "skips": 0, "at_swing_kg": 1597, "carried_kg": 1245, "left_kg": 12}, {"pass": 4, "t": 62.6, "face": [-10.0, 0.0, 1.38], "dig_max_kg": 1583, "early_curl": false, "skips": 0, "at_swing_kg": 1210, "carried_kg": 961, "left_kg": 6}, {"pass": 5, "t": 77.7, "face": [-20.0, 0.0, 1.46], "dig_max_kg": 1679, "early_curl": false, "skips": 0, "at_swing_kg": 1679, "carried_kg": 1417, "left_kg": 1}, {"pass": 6, "t": 93.4, "face": [-20.0, 0.0, 1.57], "dig_max_kg": 1913, "early_curl": false, "skips": 0, "at_swing_kg": 1913, "carried_kg": 1502, "left_kg": 1}, {"pass": 7, "t": 110.5, "face": [-20.0, 0.0, 1.59], "dig_max_kg": 2003, "early_curl": false, "skips": 1, "at_swing_kg": 2003, "carried_kg": 1738, "left_kg": 1}, {"pass": 8, "t": 131.2, "face": [-20.0, 0.0, 1.57], "dig_max_kg": 1976, "early_curl": false, "skips": 6, "at_swing_kg": 501, "carried_kg": 784, "left_kg": 2}, {"pass": 9, "t": 168.0, "face": [-20.0, 0.0, 1.58], "dig_max_kg": 1994, "early_curl": false, "skips": 0, "at_swing_kg": 1797, "carried_kg": 1338, "left_kg": 11}, {"pass": 10, "t": 230.5, "face": [-20.0, 0.0, 1.65], "dig_max_kg": 2019, "early_curl": false, "skips": 0, "at_swing_kg": 2019, "carried_kg": 1742, "left_kg": 7}, {"pass": 11, "t": 246.6, "face": [-20.0, 0.0, 1.54], "dig_max_kg": 1996, "early_curl": false, "skips": 0, "at_swing_kg": 1984, "carried_kg": 1624, "left_kg": 4}, {"pass": 12, "t": 264.6, "face": [-20.0, 0.0, 1.56], "dig_max_kg": 1987, "early_curl": false, "skips": 0, "at_swing_kg": 1987, "carried_kg": 1552, "left_kg": 31}, {"pass": 13, "t": 283.2, "face": [-20.0, 0.0, 1.62], "dig_max_kg": 1980, "early_curl": false, "skips": 0, "at_swing_kg": 1980, "carried_kg": 1728, "left_kg": 4}, {"pass": 14, "t": 300.0, "face": [0.0, 0.0, 1.43], "dig_max_kg": 1976, "early_curl": false, "skips": 0, "at_swing_kg": 1364, "carried_kg": 1062, "left_kg": 1}, {"pass": 15, "t": 316.4, "face": [0.0, 0.0, 1.61], "dig_max_kg": 1824, "early_curl": false, "skips": 0, "at_swing_kg": 1824, "carried_kg": 1306, "left_kg": 1}, {"pass": 16, "t": 334.1, "face": [0.0, 0.0, 1.5], "dig_max_kg": 1900, "early_curl": false, "skips": 0, "at_swing_kg": 1603, "carried_kg": 1331, "left_kg": 1}, {"pass": 17, "t": 396.3, "face": [0.0, 0.0, 1.58], "dig_max_kg": 1980, "early_curl": false, "skips": 0, "at_swing_kg": 1980, "carried_kg": 1514, "left_kg": 9}, {"pass": 18, "t": 413.4, "face": [-20.0, 0.0, 1.58], "dig_max_kg": 1995, "early_curl": false, "skips": 0, "at_swing_kg": 1995, "carried_kg": 1497, "left_kg": 11}, {"pass": 19, "t": 431.3, "face": [-10.0, 0.0, 1.62], "dig_max_kg": 1773, "early_curl": false, "skips": 0, "at_swing_kg": 1773, "carried_kg": 1501, "left_kg": 1}, {"pass": 20, "t": 447.6, "face": [-10.0, 0.0, 1.62], "dig_max_kg": 2018, "early_curl": false, "skips": 0, "at_swing_kg": 2018, "carried_kg": 1573, "left_kg": 4}, {"pass": 21, "t": 465.1, "face": [-10.0, 0.0, 1.61], "dig_max_kg": 2044, "early_curl": false, "skips": 1, "at_swing_kg": 2044, "carried_kg": 1556, "left_kg": 3}, {"pass": 22, "t": 489.3, "face": [0.0, 0.0, 1.53], "dig_max_kg": 2041, "early_curl": false, "skips": 6, "at_swing_kg": 1054, "carried_kg": 1298, "left_kg": 4}, {"pass": 23, "t": 525.9, "face": [0.0, 0.0, 1.53], "dig_max_kg": 1806, "early_curl": false, "skips": 0, "at_swing_kg": 1467, "carried_kg": 1177, "left_kg": 1}, {"pass": 24, "t": 588.4, "face": [0.0, 0.0, 1.58], "dig_max_kg": 1953, "early_curl": false, "skips": 0, "at_swing_kg": 1953, "carried_kg": 1406, "left_kg": 11}], "dozer": {"passes": 10, "push_m": 53.06, "work_MJ": 0.4, "load_lifts": 0, "lifts_raised": 1, "parked_s": 405.62, "working_s": 201.35, "peak_kN": 45.02, "slip_s": 0.0, "futile_passes": 1, "mean_push_kN": [9.0, 3.9, 8.3, 8.7, 11.9, 3.3, 0.1, 6.1, 5.4, 2.4]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 45.7, "rms_from_grade_m": 0.268, "max_above_grade_m": 0.22, "at_grade_fraction": 0.19, "unspread_m3": 0.04}} diff --git a/phase2/logs/haul_quick25_lane_base_dry-sand_2.json b/phase2/logs/haul_quick25_lane_base_dry-sand_2.json new file mode 100644 index 0000000..c5b0d82 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_dry-sand_2.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 587.8, "stopped_after_passes": 25, "realtime_factor": 0.872, "loads": [{"carrier": 0, "departed_s": 190.7, "load_kg": 8783, "loading_s": 190.7, "passes": 9}, {"carrier": 0, "departed_s": 357.0, "load_kg": 11208, "loading_s": 109.6, "passes": 6}, {"carrier": 0, "departed_s": 522.6, "load_kg": 10422, "loading_s": 108.9, "passes": 6}], "trips": [{"depart_t": 190.65, "stages": {"loading": 190.65, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 111, "away_s": 56.72}, {"depart_t": 356.95, "stages": {"loading": 109.58, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 129, "away_s": 56.72}, {"depart_t": 522.62, "stages": {"loading": 108.95, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 185, "away_s": 56.71}], "delivered_t": 29.99, "loaded_t": 31.64, "loaded_t_per_hour": 193.8, "mean_departure_interval_s": 166.0, "t_per_hour": 183.7, "mean_load_kg": 10138.0, "mean_loading_s": 136.4, "carry_back_kg": [111, 129, 185], "mean_away_s": 56.7, "excavator_wait_s": 143.8, "passes": 25, "spoil_settled_t": 26.47, "lost_particles": 3562, "pool_short": 348, "skipped": [{"t": 144.4, "stage": "swing to truck", "max_err_rad": 0.149}, {"t": 154.77, "stage": "swing back", "max_err_rad": 0.06}, {"t": 158.78, "stage": "approach", "max_err_rad": 1.42}, {"t": 162.8, "stage": "penetrate", "max_err_rad": 1.414}, {"t": 166.82, "stage": "drag", "max_err_rad": 1.411}, {"t": 170.83, "stage": "drag-curl", "max_err_rad": 1.397}, {"t": 174.85, "stage": "curl", "max_err_rad": 1.239}, {"t": 184.93, "stage": "swing to truck", "max_err_rad": 0.412}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.2, "pit_left_t": 119.4, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1330, "mean_dumped_kg": 1323, "thin_passes": 0, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 897, "early_curl": false, "skips": 0, "at_swing_kg": 889, "carried_kg": 589, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.49], "dig_max_kg": 1619, "early_curl": false, "skips": 0, "at_swing_kg": 1619, "carried_kg": 1333, "left_kg": 7}, {"pass": 2, "t": 31.0, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1599, "early_curl": false, "skips": 0, "at_swing_kg": 995, "carried_kg": 691, "left_kg": 1}, {"pass": 3, "t": 46.0, "face": [-20.0, 0.0, 1.44], "dig_max_kg": 1576, "early_curl": false, "skips": 0, "at_swing_kg": 1576, "carried_kg": 1191, "left_kg": 0}, {"pass": 4, "t": 62.6, "face": [-10.0, 0.0, 1.4], "dig_max_kg": 1564, "early_curl": false, "skips": 0, "at_swing_kg": 1214, "carried_kg": 942, "left_kg": 1}, {"pass": 5, "t": 77.8, "face": [-20.0, 0.0, 1.47], "dig_max_kg": 1692, "early_curl": false, "skips": 0, "at_swing_kg": 1692, "carried_kg": 1432, "left_kg": 6}, {"pass": 6, "t": 93.4, "face": [-20.0, 0.0, 1.59], "dig_max_kg": 1964, "early_curl": false, "skips": 0, "at_swing_kg": 1964, "carried_kg": 1574, "left_kg": 12}, {"pass": 7, "t": 110.8, "face": [-10.0, 0.0, 1.59], "dig_max_kg": 1931, "early_curl": false, "skips": 0, "at_swing_kg": 1746, "carried_kg": 1467, "left_kg": 3}, {"pass": 8, "t": 126.5, "face": [-20.0, 0.0, 1.64], "dig_max_kg": 1885, "early_curl": false, "skips": 2, "at_swing_kg": 1885, "carried_kg": 1441, "left_kg": 5}, {"pass": 9, "t": 154.8, "face": [-20.0, 0.0, 1.74], "dig_max_kg": 983, "early_curl": false, "skips": 6, "at_swing_kg": 971, "carried_kg": 1152, "left_kg": 2}, {"pass": 10, "t": 191.8, "face": [-20.0, 0.0, 1.74], "dig_max_kg": 2065, "early_curl": false, "skips": 0, "at_swing_kg": 1878, "carried_kg": 1553, "left_kg": 7}, {"pass": 11, "t": 254.1, "face": [-20.0, 0.0, 1.65], "dig_max_kg": 1970, "early_curl": false, "skips": 0, "at_swing_kg": 1970, "carried_kg": 1594, "left_kg": 21}, {"pass": 12, "t": 272.1, "face": [-20.0, 0.0, 1.61], "dig_max_kg": 1958, "early_curl": false, "skips": 0, "at_swing_kg": 1954, "carried_kg": 1520, "left_kg": 13}, {"pass": 13, "t": 289.6, "face": [-20.0, 0.0, 1.63], "dig_max_kg": 2013, "early_curl": false, "skips": 0, "at_swing_kg": 2013, "carried_kg": 1744, "left_kg": 4}, {"pass": 14, "t": 306.1, "face": [-20.0, 0.0, 1.46], "dig_max_kg": 2001, "early_curl": false, "skips": 0, "at_swing_kg": 1973, "carried_kg": 1625, "left_kg": 22}, {"pass": 15, "t": 324.7, "face": [0.0, 0.0, 1.47], "dig_max_kg": 1955, "early_curl": false, "skips": 0, "at_swing_kg": 1439, "carried_kg": 978, "left_kg": 15}, {"pass": 16, "t": 341.6, "face": [0.0, 0.0, 1.66], "dig_max_kg": 1868, "early_curl": false, "skips": 0, "at_swing_kg": 1868, "carried_kg": 1543, "left_kg": 1}, {"pass": 17, "t": 358.6, "face": [0.0, 0.0, 1.54], "dig_max_kg": 1934, "early_curl": false, "skips": 0, "at_swing_kg": 1627, "carried_kg": 1303, "left_kg": 1}, {"pass": 18, "t": 420.9, "face": [-10.0, 0.0, 1.57], "dig_max_kg": 1929, "early_curl": false, "skips": 0, "at_swing_kg": 1712, "carried_kg": 1278, "left_kg": 11}, {"pass": 19, "t": 438.0, "face": [-20.0, 0.0, 1.65], "dig_max_kg": 1920, "early_curl": false, "skips": 0, "at_swing_kg": 1920, "carried_kg": 1660, "left_kg": 5}, {"pass": 20, "t": 454.7, "face": [-10.0, 0.0, 1.76], "dig_max_kg": 1936, "early_curl": false, "skips": 0, "at_swing_kg": 1936, "carried_kg": 1573, "left_kg": 8}, {"pass": 21, "t": 472.0, "face": [-10.0, 0.0, 1.64], "dig_max_kg": 2075, "early_curl": false, "skips": 0, "at_swing_kg": 2075, "carried_kg": 1563, "left_kg": 3}, {"pass": 22, "t": 490.7, "face": [10.0, 0.0, 1.58], "dig_max_kg": 2051, "early_curl": false, "skips": 0, "at_swing_kg": 1287, "carried_kg": 945, "left_kg": 14}, {"pass": 23, "t": 507.0, "face": [10.0, 0.0, 1.65], "dig_max_kg": 1737, "early_curl": false, "skips": 0, "at_swing_kg": 1737, "carried_kg": 1364, "left_kg": 2}, {"pass": 24, "t": 524.5, "face": [10.0, 0.0, 1.54], "dig_max_kg": 1877, "early_curl": false, "skips": 0, "at_swing_kg": 1564, "carried_kg": 1184, "left_kg": 1}], "dozer": {"passes": 9, "push_m": 43.34, "work_MJ": 0.36, "load_lifts": 2, "lifts_raised": 1, "parked_s": 413.68, "working_s": 174.13, "peak_kN": 55.16, "slip_s": 0.0, "futile_passes": 2, "mean_push_kN": [9.8, 3.9, 8.1, 8.8, 11.8, 3.1, 0.1, 0.4, 8.8]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 41.2, "rms_from_grade_m": 0.267, "max_above_grade_m": 0.63, "at_grade_fraction": 0.21, "unspread_m3": 0.9}} diff --git a/phase2/logs/haul_quick25_lane_base_dry-sand_3.json b/phase2/logs/haul_quick25_lane_base_dry-sand_3.json new file mode 100644 index 0000000..8e6ed05 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_dry-sand_3.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 592.6, "stopped_after_passes": 25, "realtime_factor": 0.915, "loads": [{"carrier": 0, "departed_s": 191.1, "load_kg": 8699, "loading_s": 191.1, "passes": 9}, {"carrier": 0, "departed_s": 344.9, "load_kg": 9836, "loading_s": 97.1, "passes": 5}, {"carrier": 0, "departed_s": 509.4, "load_kg": 10528, "loading_s": 107.8, "passes": 6}], "trips": [{"depart_t": 191.1, "stages": {"loading": 191.1, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 86, "away_s": 56.72}, {"depart_t": 344.88, "stages": {"loading": 97.07, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 187, "away_s": 56.72}, {"depart_t": 509.45, "stages": {"loading": 107.85, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 246, "away_s": 56.72}], "delivered_t": 28.54, "loaded_t": 32.1, "loaded_t_per_hour": 195.0, "mean_departure_interval_s": 159.1, "t_per_hour": 173.4, "mean_load_kg": 9688.0, "mean_loading_s": 132.0, "carry_back_kg": [86, 187, 246], "mean_away_s": 56.7, "excavator_wait_s": 144.1, "passes": 25, "spoil_settled_t": 27.86, "lost_particles": 3630, "pool_short": 376, "skipped": [{"t": 144.88, "stage": "swing to truck", "max_err_rad": 0.143}, {"t": 155.23, "stage": "swing back", "max_err_rad": 0.06}, {"t": 159.25, "stage": "approach", "max_err_rad": 1.421}, {"t": 163.27, "stage": "penetrate", "max_err_rad": 1.415}, {"t": 167.28, "stage": "drag", "max_err_rad": 1.413}, {"t": 171.3, "stage": "drag-curl", "max_err_rad": 1.399}, {"t": 175.32, "stage": "curl", "max_err_rad": 1.243}, {"t": 185.4, "stage": "swing to truck", "max_err_rad": 0.412}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.2, "pit_left_t": 119.2, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1329, "mean_dumped_kg": 1325, "thin_passes": 0, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 899, "early_curl": false, "skips": 0, "at_swing_kg": 893, "carried_kg": 582, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1621, "early_curl": false, "skips": 0, "at_swing_kg": 1621, "carried_kg": 1340, "left_kg": 3}, {"pass": 2, "t": 31.1, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1594, "early_curl": false, "skips": 0, "at_swing_kg": 980, "carried_kg": 684, "left_kg": 1}, {"pass": 3, "t": 46.1, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1590, "early_curl": false, "skips": 0, "at_swing_kg": 1590, "carried_kg": 1264, "left_kg": 8}, {"pass": 4, "t": 62.7, "face": [-10.0, 0.0, 1.38], "dig_max_kg": 1566, "early_curl": false, "skips": 0, "at_swing_kg": 1210, "carried_kg": 932, "left_kg": 1}, {"pass": 5, "t": 77.9, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1704, "early_curl": false, "skips": 0, "at_swing_kg": 1704, "carried_kg": 1451, "left_kg": 1}, {"pass": 6, "t": 93.7, "face": [-20.0, 0.0, 1.58], "dig_max_kg": 1918, "early_curl": false, "skips": 0, "at_swing_kg": 1918, "carried_kg": 1529, "left_kg": 2}, {"pass": 7, "t": 111.1, "face": [-10.0, 0.0, 1.59], "dig_max_kg": 1883, "early_curl": false, "skips": 0, "at_swing_kg": 1747, "carried_kg": 1477, "left_kg": 2}, {"pass": 8, "t": 126.8, "face": [-20.0, 0.0, 1.63], "dig_max_kg": 1911, "early_curl": false, "skips": 2, "at_swing_kg": 1911, "carried_kg": 1416, "left_kg": 5}, {"pass": 9, "t": 155.3, "face": [-20.0, 0.0, 1.72], "dig_max_kg": 1890, "early_curl": false, "skips": 6, "at_swing_kg": 1024, "carried_kg": 1202, "left_kg": 2}, {"pass": 10, "t": 192.3, "face": [-20.0, 0.0, 1.72], "dig_max_kg": 2064, "early_curl": false, "skips": 0, "at_swing_kg": 1874, "carried_kg": 1531, "left_kg": 12}, {"pass": 11, "t": 254.6, "face": [-20.0, 0.0, 1.63], "dig_max_kg": 2053, "early_curl": false, "skips": 0, "at_swing_kg": 1991, "carried_kg": 1626, "left_kg": 21}, {"pass": 12, "t": 272.6, "face": [-20.0, 0.0, 1.62], "dig_max_kg": 1980, "early_curl": false, "skips": 0, "at_swing_kg": 1980, "carried_kg": 1506, "left_kg": 4}, {"pass": 13, "t": 295.7, "face": [-20.0, 0.0, 1.64], "dig_max_kg": 2004, "early_curl": false, "skips": 0, "at_swing_kg": 2004, "carried_kg": 1731, "left_kg": 5}, {"pass": 14, "t": 312.4, "face": [0.0, 0.0, 1.46], "dig_max_kg": 1440, "early_curl": false, "skips": 0, "at_swing_kg": 1440, "carried_kg": 1042, "left_kg": 1}, {"pass": 15, "t": 328.8, "face": [0.0, 0.0, 1.68], "dig_max_kg": 1867, "early_curl": false, "skips": 0, "at_swing_kg": 1867, "carried_kg": 1395, "left_kg": 1}, {"pass": 16, "t": 346.1, "face": [-20.0, 0.0, 1.55], "dig_max_kg": 1994, "early_curl": false, "skips": 0, "at_swing_kg": 1831, "carried_kg": 1526, "left_kg": 1}, {"pass": 17, "t": 408.6, "face": [-10.0, 0.0, 1.53], "dig_max_kg": 1983, "early_curl": false, "skips": 0, "at_swing_kg": 1647, "carried_kg": 1395, "left_kg": 7}, {"pass": 18, "t": 424.8, "face": [-20.0, 0.0, 1.6], "dig_max_kg": 1961, "early_curl": false, "skips": 0, "at_swing_kg": 1961, "carried_kg": 1523, "left_kg": 2}, {"pass": 19, "t": 442.8, "face": [-10.0, 0.0, 1.71], "dig_max_kg": 1939, "early_curl": false, "skips": 0, "at_swing_kg": 1928, "carried_kg": 1622, "left_kg": 4}, {"pass": 20, "t": 459.3, "face": [-10.0, 0.0, 1.63], "dig_max_kg": 2062, "early_curl": false, "skips": 0, "at_swing_kg": 2062, "carried_kg": 1642, "left_kg": 2}, {"pass": 21, "t": 477.7, "face": [10.0, 0.0, 1.47], "dig_max_kg": 2029, "early_curl": false, "skips": 0, "at_swing_kg": 1069, "carried_kg": 717, "left_kg": 1}, {"pass": 22, "t": 494.8, "face": [10.0, 0.0, 1.69], "dig_max_kg": 1694, "early_curl": false, "skips": 0, "at_swing_kg": 1694, "carried_kg": 1323, "left_kg": 6}, {"pass": 23, "t": 511.3, "face": [10.0, 0.0, 1.62], "dig_max_kg": 1906, "early_curl": false, "skips": 0, "at_swing_kg": 1509, "carried_kg": 1198, "left_kg": 1}, {"pass": 24, "t": 573.4, "face": [-10.0, 0.0, 1.67], "dig_max_kg": 2060, "early_curl": false, "skips": 0, "at_swing_kg": 2057, "carried_kg": 1583, "left_kg": 10}], "dozer": {"passes": 9, "push_m": 42.72, "work_MJ": 0.35, "load_lifts": 0, "lifts_raised": 1, "parked_s": 418.02, "working_s": 174.63, "peak_kN": 46.58, "slip_s": 0.0, "futile_passes": 2, "mean_push_kN": [8.8, 3.9, 7.4, 7.2, 11.6, 0.4, 0.2, 9.0, 4.8]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 39.1, "rms_from_grade_m": 0.203, "max_above_grade_m": 0.35, "at_grade_fraction": 0.28, "unspread_m3": 0.21}} diff --git a/phase2/logs/haul_quick25_lane_base_loam_1.json b/phase2/logs/haul_quick25_lane_base_loam_1.json new file mode 100644 index 0000000..bfb9b96 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_loam_1.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 512.4, "stopped_after_passes": 25, "realtime_factor": 0.917, "loads": [{"carrier": 0, "departed_s": 128.2, "load_kg": 11260, "loading_s": 128.2, "passes": 7}, {"carrier": 0, "departed_s": 306.4, "load_kg": 11097, "loading_s": 121.2, "passes": 7}, {"carrier": 0, "departed_s": 510.2, "load_kg": 11770, "loading_s": 146.6, "passes": 8}], "trips": [{"depart_t": 128.2, "stages": {"loading": 128.2, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.42, "lower": 5.0, "return": 5.13, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 328, "away_s": 57.0}, {"depart_t": 306.37, "stages": {"loading": 121.17, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.75, "lower": 5.0, "return": 5.07, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 67, "away_s": 57.26}], "delivered_t": 21.96, "loaded_t": 34.13, "loaded_t_per_hour": 239.8, "mean_departure_interval_s": 191.0, "t_per_hour": 154.3, "mean_load_kg": 11376.0, "mean_loading_s": 132.0, "carry_back_kg": [328, 67], "mean_away_s": 57.1, "excavator_wait_s": 97.5, "passes": 25, "spoil_settled_t": 21.56, "lost_particles": 1537, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.4, "pit_left_t": 141.2, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "curl_gain_kg": -74, "curl_tears": 0, "mean_carried_kg": 1311, "mean_dumped_kg": 1186, "thin_passes": 2, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1111, "early_curl": true, "skips": 0, "at_swing_kg": 1076, "carried_kg": 1162, "left_kg": 79}, {"pass": 1, "t": 14.5, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1179, "early_curl": true, "skips": 0, "at_swing_kg": 1145, "carried_kg": 1182, "left_kg": 206}, {"pass": 2, "t": 29.2, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1254, "early_curl": true, "skips": 0, "at_swing_kg": 1226, "carried_kg": 1303, "left_kg": 75}, {"pass": 3, "t": 44.2, "face": [-30.0, 0.0, 1.25], "dig_max_kg": 1261, "early_curl": true, "skips": 0, "at_swing_kg": 1218, "carried_kg": 1325, "left_kg": 30}, {"pass": 4, "t": 59.4, "face": [-10.0, 0.0, 1.22], "dig_max_kg": 1257, "early_curl": true, "skips": 0, "at_swing_kg": 436, "carried_kg": 785, "left_kg": 182}, {"pass": 5, "t": 74.9, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1590, "early_curl": false, "skips": 0, "at_swing_kg": 1554, "carried_kg": 1549, "left_kg": 114}, {"pass": 6, "t": 94.3, "face": [0.0, 0.0, 0.74], "dig_max_kg": 1572, "early_curl": false, "skips": 0, "at_swing_kg": 1245, "carried_kg": 1341, "left_kg": 371}, {"pass": 7, "t": 113.8, "face": [0.0, 0.0, 1.12], "dig_max_kg": 1403, "early_curl": false, "skips": 0, "at_swing_kg": 1166, "carried_kg": 1330, "left_kg": 76}, {"pass": 8, "t": 129.5, "face": [-20.0, 0.0, 0.66], "dig_max_kg": 1186, "early_curl": false, "skips": 0, "at_swing_kg": 1311, "carried_kg": 1283, "left_kg": 61}, {"pass": 9, "t": 192.6, "face": [-20.0, 0.0, 1.15], "dig_max_kg": 1430, "early_curl": false, "skips": 0, "at_swing_kg": 1287, "carried_kg": 1422, "left_kg": 13}, {"pass": 10, "t": 208.5, "face": [-10.0, 0.0, 0.73], "dig_max_kg": 1474, "early_curl": false, "skips": 0, "at_swing_kg": 1463, "carried_kg": 1664, "left_kg": 21}, {"pass": 11, "t": 224.0, "face": [-10.0, 0.0, 1.08], "dig_max_kg": 1290, "early_curl": false, "skips": 0, "at_swing_kg": 1128, "carried_kg": 1323, "left_kg": 14}, {"pass": 12, "t": 239.6, "face": [-40.0, 0.0, 0.49], "dig_max_kg": 1132, "early_curl": false, "skips": 0, "at_swing_kg": 586, "carried_kg": 665, "left_kg": 22}, {"pass": 13, "t": 254.9, "face": [-30.0, 0.0, 0.55], "dig_max_kg": 1243, "early_curl": false, "skips": 0, "at_swing_kg": 1239, "carried_kg": 1462, "left_kg": 105}, {"pass": 14, "t": 270.8, "face": [-30.0, 0.0, 1.16], "dig_max_kg": 1472, "early_curl": true, "skips": 0, "at_swing_kg": 1342, "carried_kg": 1362, "left_kg": 520}, {"pass": 15, "t": 289.0, "face": [-20.0, 0.0, 0.49], "dig_max_kg": 1346, "early_curl": false, "skips": 0, "at_swing_kg": 1182, "carried_kg": 1371, "left_kg": 339}, {"pass": 16, "t": 307.5, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1384, "early_curl": false, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1209, "left_kg": 41}, {"pass": 17, "t": 371.0, "face": [0.0, 0.0, 0.47], "dig_max_kg": 1221, "early_curl": false, "skips": 0, "at_swing_kg": 1192, "carried_kg": 1284, "left_kg": 30}, {"pass": 18, "t": 387.6, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1467, "early_curl": false, "skips": 0, "at_swing_kg": 1392, "carried_kg": 1363, "left_kg": 26}, {"pass": 19, "t": 404.3, "face": [-10.0, 0.0, 0.59], "dig_max_kg": 1577, "early_curl": false, "skips": 0, "at_swing_kg": 1561, "carried_kg": 1597, "left_kg": 70}, {"pass": 20, "t": 420.1, "face": [-10.0, 0.0, 1.15], "dig_max_kg": 1577, "early_curl": true, "skips": 0, "at_swing_kg": 964, "carried_kg": 963, "left_kg": 26}, {"pass": 21, "t": 436.4, "face": [0.0, 0.0, 0.55], "dig_max_kg": 1619, "early_curl": false, "skips": 0, "at_swing_kg": 1618, "carried_kg": 1683, "left_kg": 236}, {"pass": 22, "t": 456.3, "face": [0.0, 0.0, 1.12], "dig_max_kg": 1619, "early_curl": false, "skips": 0, "at_swing_kg": 1196, "carried_kg": 1223, "left_kg": 122}, {"pass": 23, "t": 473.4, "face": [0.0, 0.0, 0.47], "dig_max_kg": 1737, "early_curl": false, "skips": 0, "at_swing_kg": 1728, "carried_kg": 1589, "left_kg": 100}, {"pass": 24, "t": 491.7, "face": [0.0, 0.0, 1.18], "dig_max_kg": 1737, "early_curl": false, "skips": 0, "at_swing_kg": 1326, "carried_kg": 1334, "left_kg": 252}], "dozer": {"passes": 5, "push_m": 37.16, "work_MJ": 0.64, "load_lifts": 12, "lifts_raised": 0, "parked_s": 368.53, "working_s": 143.87, "peak_kN": 68.93, "slip_s": 0.37, "futile_passes": 0, "mean_push_kN": [23.8, 7.3, 10.5, 13.2, 21.5]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 42.9, "rms_from_grade_m": 0.162, "max_above_grade_m": 0.79, "at_grade_fraction": 0.33, "unspread_m3": 1.01}} diff --git a/phase2/logs/haul_quick25_lane_base_loam_2.json b/phase2/logs/haul_quick25_lane_base_loam_2.json new file mode 100644 index 0000000..1f6174a --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_loam_2.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 519.4, "stopped_after_passes": 25, "realtime_factor": 0.89, "loads": [{"carrier": 0, "departed_s": 127.0, "load_kg": 10405, "loading_s": 127.0, "passes": 7}, {"carrier": 0, "departed_s": 312.1, "load_kg": 10916, "loading_s": 128.1, "passes": 7}, {"carrier": 0, "departed_s": 517.0, "load_kg": 11401, "loading_s": 147.9, "passes": 8}], "trips": [{"depart_t": 127.03, "stages": {"loading": 127.03, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.33, "lower": 5.0, "return": 5.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 219, "away_s": 56.95}, {"depart_t": 312.12, "stages": {"loading": 128.13, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.5, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 391, "away_s": 57.06}], "delivered_t": 20.71, "loaded_t": 32.72, "loaded_t_per_hour": 226.8, "mean_departure_interval_s": 195.0, "t_per_hour": 143.5, "mean_load_kg": 10907.0, "mean_loading_s": 134.3, "carry_back_kg": [219, 391], "mean_away_s": 57.0, "excavator_wait_s": 96.3, "passes": 25, "spoil_settled_t": 20.53, "lost_particles": 1354, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.4, "pit_left_t": 144.3, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 216, "curl_tears": 0, "mean_carried_kg": 1272, "mean_dumped_kg": 1142, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1107, "early_curl": true, "skips": 0, "at_swing_kg": 1074, "carried_kg": 1153, "left_kg": 14}, {"pass": 1, "t": 14.8, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1179, "early_curl": true, "skips": 0, "at_swing_kg": 1130, "carried_kg": 1164, "left_kg": 71}, {"pass": 2, "t": 29.7, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1291, "early_curl": true, "skips": 0, "at_swing_kg": 1276, "carried_kg": 1344, "left_kg": 50}, {"pass": 3, "t": 45.2, "face": [-10.0, 0.0, 1.25], "dig_max_kg": 1290, "early_curl": true, "skips": 0, "at_swing_kg": 95, "carried_kg": 190, "left_kg": 0}, {"pass": 4, "t": 59.8, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1729, "early_curl": false, "skips": 0, "at_swing_kg": 1711, "carried_kg": 1769, "left_kg": 13}, {"pass": 5, "t": 75.4, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1716, "early_curl": false, "skips": 0, "at_swing_kg": 1472, "carried_kg": 1493, "left_kg": 196}, {"pass": 6, "t": 95.2, "face": [-30.0, 0.0, 0.71], "dig_max_kg": 1476, "early_curl": false, "skips": 0, "at_swing_kg": 1252, "carried_kg": 1311, "left_kg": 25}, {"pass": 7, "t": 110.9, "face": [-30.0, 0.0, 0.97], "dig_max_kg": 1487, "early_curl": false, "skips": 0, "at_swing_kg": 1432, "carried_kg": 1472, "left_kg": 374}, {"pass": 8, "t": 128.7, "face": [0.0, 0.0, 0.57], "dig_max_kg": 1448, "early_curl": false, "skips": 0, "at_swing_kg": 844, "carried_kg": 820, "left_kg": 26}, {"pass": 9, "t": 192.0, "face": [0.0, 0.0, 0.96], "dig_max_kg": 1473, "early_curl": false, "skips": 0, "at_swing_kg": 1456, "carried_kg": 1468, "left_kg": 37}, {"pass": 10, "t": 208.8, "face": [0.0, 0.0, 0.96], "dig_max_kg": 1473, "early_curl": false, "skips": 0, "at_swing_kg": 1279, "carried_kg": 1315, "left_kg": 29}, {"pass": 11, "t": 225.2, "face": [10.0, 0.0, 0.44], "dig_max_kg": 945, "early_curl": false, "skips": 0, "at_swing_kg": 945, "carried_kg": 1157, "left_kg": 18}, {"pass": 12, "t": 241.5, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1242, "early_curl": true, "skips": 0, "at_swing_kg": 1131, "carried_kg": 1268, "left_kg": 101}, {"pass": 13, "t": 258.3, "face": [0.0, 0.0, 0.52], "dig_max_kg": 1643, "early_curl": false, "skips": 0, "at_swing_kg": 1643, "carried_kg": 1625, "left_kg": 78}, {"pass": 14, "t": 274.9, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1643, "early_curl": true, "skips": 0, "at_swing_kg": 1268, "carried_kg": 1312, "left_kg": 613}, {"pass": 15, "t": 294.2, "face": [0.0, 0.0, 0.57], "dig_max_kg": 1414, "early_curl": false, "skips": 0, "at_swing_kg": 1411, "carried_kg": 1417, "left_kg": 542}, {"pass": 16, "t": 313.7, "face": [0.0, 0.0, 1.12], "dig_max_kg": 1198, "early_curl": true, "skips": 0, "at_swing_kg": 1253, "carried_kg": 1208, "left_kg": 37}, {"pass": 17, "t": 376.8, "face": [0.0, 0.0, 0.59], "dig_max_kg": 1424, "early_curl": false, "skips": 0, "at_swing_kg": 1415, "carried_kg": 1397, "left_kg": 36}, {"pass": 18, "t": 394.0, "face": [0.0, 0.0, 1.11], "dig_max_kg": 1094, "early_curl": false, "skips": 0, "at_swing_kg": 1080, "carried_kg": 1136, "left_kg": 27}, {"pass": 19, "t": 411.5, "face": [0.0, 0.0, 0.65], "dig_max_kg": 1449, "early_curl": false, "skips": 0, "at_swing_kg": 1449, "carried_kg": 1388, "left_kg": 39}, {"pass": 20, "t": 428.6, "face": [0.0, 0.0, 0.64], "dig_max_kg": 1584, "early_curl": false, "skips": 0, "at_swing_kg": 1532, "carried_kg": 1454, "left_kg": 61}, {"pass": 21, "t": 446.8, "face": [10.0, 0.0, 0.47], "dig_max_kg": 1554, "early_curl": false, "skips": 0, "at_swing_kg": 888, "carried_kg": 1132, "left_kg": 43}, {"pass": 22, "t": 464.2, "face": [10.0, 0.0, 0.97], "dig_max_kg": 971, "early_curl": true, "skips": 0, "at_swing_kg": 930, "carried_kg": 1067, "left_kg": 373}, {"pass": 23, "t": 482.6, "face": [0.0, 0.0, 0.74], "dig_max_kg": 1299, "early_curl": false, "skips": 0, "at_swing_kg": 1289, "carried_kg": 1352, "left_kg": 59}, {"pass": 24, "t": 499.8, "face": [-30.0, 0.0, 0.48], "dig_max_kg": 1355, "early_curl": false, "skips": 0, "at_swing_kg": 1335, "carried_kg": 1385, "left_kg": 384}], "dozer": {"passes": 5, "push_m": 33.65, "work_MJ": 0.61, "load_lifts": 12, "lifts_raised": 0, "parked_s": 382.32, "working_s": 137.13, "peak_kN": 79.63, "slip_s": 0.25, "futile_passes": 0, "mean_push_kN": [16.8, 17.8, 9.9, 15.4, 21.5]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 41.1, "rms_from_grade_m": 0.147, "max_above_grade_m": 0.73, "at_grade_fraction": 0.33, "unspread_m3": 0.73}} diff --git a/phase2/logs/haul_quick25_lane_base_loam_3.json b/phase2/logs/haul_quick25_lane_base_loam_3.json new file mode 100644 index 0000000..696af20 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_base_loam_3.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 557.8, "stopped_after_passes": 25, "realtime_factor": 0.984, "loads": [{"carrier": 0, "departed_s": 129.9, "load_kg": 10936, "loading_s": 129.9, "passes": 7}, {"carrier": 0, "departed_s": 332.7, "load_kg": 10815, "loading_s": 145.7, "passes": 8}, {"carrier": 0, "departed_s": 492.6, "load_kg": 10476, "loading_s": 102.9, "passes": 6}], "trips": [{"depart_t": 129.9, "stages": {"loading": 129.9, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.47, "lower": 5.0, "return": 5.13, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 195, "away_s": 57.05}, {"depart_t": 332.7, "stages": {"loading": 145.75, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.42, "lower": 5.0, "return": 5.13, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 446, "away_s": 57.0}, {"depart_t": 492.58, "stages": {"loading": 102.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.53, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 397, "away_s": 57.1}], "delivered_t": 31.19, "loaded_t": 33.83, "loaded_t_per_hour": 218.3, "mean_departure_interval_s": 181.4, "t_per_hour": 201.3, "mean_load_kg": 10742.0, "mean_loading_s": 126.2, "carry_back_kg": [195, 446, 397], "mean_away_s": 57.1, "excavator_wait_s": 145.3, "passes": 25, "spoil_settled_t": 21.57, "lost_particles": 1452, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 171.2, "pit_left_t": 141.8, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0]], "curl_gain_kg": -20, "curl_tears": 0, "mean_carried_kg": 1294, "mean_dumped_kg": 1166, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1110, "early_curl": true, "skips": 0, "at_swing_kg": 1085, "carried_kg": 1164, "left_kg": 8}, {"pass": 1, "t": 14.5, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1167, "early_curl": true, "skips": 0, "at_swing_kg": 1123, "carried_kg": 1169, "left_kg": 24}, {"pass": 2, "t": 29.4, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1310, "early_curl": true, "skips": 0, "at_swing_kg": 1255, "carried_kg": 1353, "left_kg": 98}, {"pass": 3, "t": 44.8, "face": [-10.0, 0.0, 1.27], "dig_max_kg": 1293, "early_curl": true, "skips": 0, "at_swing_kg": 942, "carried_kg": 1281, "left_kg": 101}, {"pass": 4, "t": 60.2, "face": [-30.0, 0.0, 1.26], "dig_max_kg": 1425, "early_curl": true, "skips": 0, "at_swing_kg": 1416, "carried_kg": 1506, "left_kg": 79}, {"pass": 5, "t": 75.4, "face": [20.0, 0.0, 1.12], "dig_max_kg": 1419, "early_curl": true, "skips": 0, "at_swing_kg": 1333, "carried_kg": 1332, "left_kg": 328}, {"pass": 6, "t": 95.5, "face": [0.0, 0.0, 0.74], "dig_max_kg": 1230, "early_curl": false, "skips": 0, "at_swing_kg": 1216, "carried_kg": 1345, "left_kg": 441}, {"pass": 7, "t": 115.0, "face": [0.0, 0.0, 1.18], "dig_max_kg": 1363, "early_curl": true, "skips": 0, "at_swing_kg": 1250, "carried_kg": 1331, "left_kg": 115}, {"pass": 8, "t": 131.2, "face": [-20.0, 0.0, 0.64], "dig_max_kg": 1262, "early_curl": false, "skips": 0, "at_swing_kg": 1251, "carried_kg": 1218, "left_kg": 36}, {"pass": 9, "t": 194.4, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1326, "early_curl": true, "skips": 0, "at_swing_kg": 1191, "carried_kg": 1291, "left_kg": 68}, {"pass": 10, "t": 210.4, "face": [-10.0, 0.0, 0.59], "dig_max_kg": 1208, "early_curl": false, "skips": 0, "at_swing_kg": 1208, "carried_kg": 1377, "left_kg": 38}, {"pass": 11, "t": 226.0, "face": [-10.0, 0.0, 1.15], "dig_max_kg": 1355, "early_curl": true, "skips": 0, "at_swing_kg": 1059, "carried_kg": 1047, "left_kg": 29}, {"pass": 12, "t": 242.6, "face": [20.0, 0.0, 0.5], "dig_max_kg": 1060, "early_curl": false, "skips": 0, "at_swing_kg": 915, "carried_kg": 1085, "left_kg": 83}, {"pass": 13, "t": 261.5, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1402, "early_curl": false, "skips": 0, "at_swing_kg": 1143, "carried_kg": 1099, "left_kg": 43}, {"pass": 14, "t": 279.3, "face": [10.0, 0.0, 0.49], "dig_max_kg": 1170, "early_curl": false, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1276, "left_kg": 428}, {"pass": 15, "t": 298.8, "face": [10.0, 0.0, 1.15], "dig_max_kg": 1530, "early_curl": false, "skips": 0, "at_swing_kg": 1398, "carried_kg": 1441, "left_kg": 457}, {"pass": 16, "t": 318.2, "face": [0.0, 0.0, 0.61], "dig_max_kg": 1592, "early_curl": false, "skips": 0, "at_swing_kg": 1592, "carried_kg": 1565, "left_kg": 95}, {"pass": 17, "t": 334.4, "face": [0.0, 0.0, 1.15], "dig_max_kg": 1589, "early_curl": true, "skips": 0, "at_swing_kg": 1027, "carried_kg": 977, "left_kg": 35}, {"pass": 18, "t": 397.2, "face": [-40.0, 0.0, 0.49], "dig_max_kg": 1053, "early_curl": false, "skips": 0, "at_swing_kg": 620, "carried_kg": 707, "left_kg": 35}, {"pass": 19, "t": 412.7, "face": [-30.0, 0.0, 0.6], "dig_max_kg": 1356, "early_curl": false, "skips": 0, "at_swing_kg": 1347, "carried_kg": 1500, "left_kg": 16}, {"pass": 20, "t": 427.8, "face": [-30.0, 0.0, 1.12], "dig_max_kg": 1377, "early_curl": true, "skips": 0, "at_swing_kg": 1332, "carried_kg": 1385, "left_kg": 26}, {"pass": 21, "t": 443.2, "face": [-20.0, 0.0, 0.54], "dig_max_kg": 1434, "early_curl": false, "skips": 0, "at_swing_kg": 1414, "carried_kg": 1582, "left_kg": 21}, {"pass": 22, "t": 459.1, "face": [-20.0, 0.0, 1.17], "dig_max_kg": 1365, "early_curl": true, "skips": 0, "at_swing_kg": 1204, "carried_kg": 1314, "left_kg": 58}, {"pass": 23, "t": 474.5, "face": [-20.0, 0.0, 0.54], "dig_max_kg": 1630, "early_curl": false, "skips": 0, "at_swing_kg": 1623, "carried_kg": 1602, "left_kg": 516}, {"pass": 24, "t": 493.8, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1630, "early_curl": true, "skips": 0, "at_swing_kg": 1429, "carried_kg": 1391, "left_kg": 15}], "dozer": {"passes": 8, "push_m": 59.87, "work_MJ": 0.94, "load_lifts": 18, "lifts_raised": 1, "parked_s": 342.83, "working_s": 214.95, "peak_kN": 81.48, "slip_s": 0.52, "futile_passes": 1, "mean_push_kN": [11.7, 15.5, 11.2, 9.6, 23.6, 11.2, 1.5, 20.6]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 43.2, "rms_from_grade_m": 0.39, "max_above_grade_m": 1.58, "at_grade_fraction": 0.14, "unspread_m3": 1.58}} diff --git a/phase2/logs/haul_quick25_lane_fix_clay_1.json b/phase2/logs/haul_quick25_lane_fix_clay_1.json new file mode 100644 index 0000000..064856e --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_clay_1.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 553.9, "stopped_after_passes": 25, "realtime_factor": 0.913, "loads": [{"carrier": 0, "departed_s": 182.7, "load_kg": 10449, "loading_s": 182.7, "passes": 9}, {"carrier": 0, "departed_s": 415.4, "load_kg": 9711, "loading_s": 174.2, "passes": 9}], "trips": [{"depart_t": 182.7, "stages": {"loading": 182.7, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.42, "lower": 5.0, "return": 4.63, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 241, "away_s": 58.5}, {"depart_t": 415.4, "stages": {"loading": 174.2, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.72, "lower": 5.0, "return": 4.55, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 164, "away_s": 58.72}], "delivered_t": 19.75, "loaded_t": 27.11, "loaded_t_per_hour": 176.2, "mean_departure_interval_s": 232.7, "t_per_hour": 128.4, "mean_load_kg": 10080.0, "mean_loading_s": 178.4, "carry_back_kg": [241, 164], "mean_away_s": 58.6, "excavator_wait_s": 99.5, "passes": 25, "spoil_settled_t": 15.59, "lost_particles": 1255, "pool_short": 0, "skipped": [{"t": 160.47, "stage": "swing back", "max_err_rad": 0.0}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 117.2, "pit_left_t": 160.6, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "curl_gain_kg": 228, "curl_tears": 0, "mean_carried_kg": 1199, "mean_dumped_kg": 1009, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1225, "early_curl": true, "skips": 0, "at_swing_kg": 1205, "carried_kg": 1257, "left_kg": 99}, {"pass": 1, "t": 17.2, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1219, "early_curl": true, "skips": 0, "at_swing_kg": 1217, "carried_kg": 1220, "left_kg": 104}, {"pass": 2, "t": 33.2, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1257, "early_curl": true, "skips": 0, "at_swing_kg": 1235, "carried_kg": 1212, "left_kg": 167}, {"pass": 3, "t": 50.3, "face": [-10.0, 0.0, 1.28], "dig_max_kg": 1237, "early_curl": true, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1179, "left_kg": 316}, {"pass": 4, "t": 67.5, "face": [-30.0, 0.0, 1.28], "dig_max_kg": 1177, "early_curl": true, "skips": 0, "at_swing_kg": 1160, "carried_kg": 1176, "left_kg": 111}, {"pass": 5, "t": 83.8, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1059, "early_curl": true, "skips": 0, "at_swing_kg": 1051, "carried_kg": 1083, "left_kg": 81}, {"pass": 6, "t": 101.4, "face": [-10.0, 0.0, 0.87], "dig_max_kg": 1277, "early_curl": false, "skips": 0, "at_swing_kg": 1260, "carried_kg": 1342, "left_kg": 598}, {"pass": 7, "t": 120.3, "face": [-30.0, 0.0, 0.77], "dig_max_kg": 1277, "early_curl": false, "skips": 0, "at_swing_kg": 1106, "carried_kg": 1140, "left_kg": 90}, {"pass": 8, "t": 137.1, "face": [-30.0, 0.0, 0.87], "dig_max_kg": 1197, "early_curl": true, "skips": 1, "at_swing_kg": 1185, "carried_kg": 1194, "left_kg": 711}, {"pass": 9, "t": 160.5, "face": [10.0, 0.0, 0.76], "dig_max_kg": 1302, "early_curl": false, "skips": 0, "at_swing_kg": 1289, "carried_kg": 1383, "left_kg": 109}, {"pass": 10, "t": 184.5, "face": [10.0, 0.0, 1.04], "dig_max_kg": 1166, "early_curl": true, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1150, "left_kg": 78}, {"pass": 11, "t": 250.4, "face": [20.0, 0.0, 0.62], "dig_max_kg": 1253, "early_curl": false, "skips": 0, "at_swing_kg": 1238, "carried_kg": 1328, "left_kg": 87}, {"pass": 12, "t": 269.2, "face": [20.0, 0.0, 0.86], "dig_max_kg": 1241, "early_curl": false, "skips": 0, "at_swing_kg": 672, "carried_kg": 747, "left_kg": 13}, {"pass": 13, "t": 288.2, "face": [20.0, 0.0, 0.97], "dig_max_kg": 671, "early_curl": false, "skips": 0, "at_swing_kg": 328, "carried_kg": 377, "left_kg": 128}, {"pass": 14, "t": 305.0, "face": [10.0, 0.0, 0.68], "dig_max_kg": 1334, "early_curl": false, "skips": 0, "at_swing_kg": 1309, "carried_kg": 1373, "left_kg": 332}, {"pass": 15, "t": 324.2, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1326, "early_curl": true, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1342, "left_kg": 305}, {"pass": 16, "t": 343.1, "face": [10.0, 0.0, 0.65], "dig_max_kg": 1208, "early_curl": false, "skips": 0, "at_swing_kg": 1201, "carried_kg": 1189, "left_kg": 140}, {"pass": 17, "t": 361.7, "face": [10.0, 0.0, 0.93], "dig_max_kg": 1256, "early_curl": true, "skips": 0, "at_swing_kg": 1238, "carried_kg": 1306, "left_kg": 137}, {"pass": 18, "t": 380.4, "face": [0.0, 0.0, 0.59], "dig_max_kg": 1242, "early_curl": false, "skips": 0, "at_swing_kg": 954, "carried_kg": 1091, "left_kg": 386}, {"pass": 19, "t": 399.0, "face": [0.0, 0.0, 0.88], "dig_max_kg": 1164, "early_curl": true, "skips": 0, "at_swing_kg": 1145, "carried_kg": 1313, "left_kg": 212}, {"pass": 20, "t": 416.9, "face": [-10.0, 0.0, 0.57], "dig_max_kg": 1302, "early_curl": false, "skips": 0, "at_swing_kg": 1389, "carried_kg": 1306, "left_kg": 93}, {"pass": 21, "t": 483.3, "face": [-10.0, 0.0, 1.02], "dig_max_kg": 1253, "early_curl": true, "skips": 0, "at_swing_kg": 1132, "carried_kg": 1270, "left_kg": 63}, {"pass": 22, "t": 500.2, "face": [-10.0, 0.0, 0.58], "dig_max_kg": 1346, "early_curl": false, "skips": 0, "at_swing_kg": 1336, "carried_kg": 1308, "left_kg": 69}, {"pass": 23, "t": 517.0, "face": [-10.0, 0.0, 1.1], "dig_max_kg": 1341, "early_curl": true, "skips": 0, "at_swing_kg": 1217, "carried_kg": 1309, "left_kg": 245}, {"pass": 24, "t": 535.1, "face": [0.0, 0.0, 0.62], "dig_max_kg": 1270, "early_curl": false, "skips": 0, "at_swing_kg": 1266, "carried_kg": 1385, "left_kg": 91}], "dozer": {"passes": 8, "push_m": 56.16, "work_MJ": 1.14, "load_lifts": 22, "lifts_raised": 0, "parked_s": 368.13, "working_s": 185.77, "peak_kN": 78.7, "slip_s": 0.7, "futile_passes": 2, "mean_push_kN": [28.3, 13.0, 13.4, 6.1, 19.4, 17.1, 25.1, 22.1]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 35.1, "rms_from_grade_m": 0.204, "max_above_grade_m": 1.4, "at_grade_fraction": 0.34, "unspread_m3": 1.62}} diff --git a/phase2/logs/haul_quick25_lane_fix_clay_2.json b/phase2/logs/haul_quick25_lane_fix_clay_2.json new file mode 100644 index 0000000..e0a92cf --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_clay_2.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 496.8, "stopped_after_passes": 25, "realtime_factor": 0.855, "loads": [{"carrier": 0, "departed_s": 232.4, "load_kg": 10646, "loading_s": 232.4, "passes": 12}], "trips": [{"depart_t": 232.37, "stages": {"loading": 232.37, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.75, "lower": 5.0, "return": 4.8, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 294, "away_s": 58.0}], "delivered_t": 10.35, "loaded_t": 20.41, "loaded_t_per_hour": 147.9, "mean_departure_interval_s": null, "t_per_hour": 75.0, "mean_load_kg": 10646.0, "mean_loading_s": 232.4, "carry_back_kg": [294], "mean_away_s": 58.0, "excavator_wait_s": 49.1, "passes": 25, "spoil_settled_t": 10.64, "lost_particles": 972, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 58.0, "pit_left_t": 164.6, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0]], "curl_gain_kg": 437, "curl_tears": 2, "mean_carried_kg": 1044, "mean_dumped_kg": 844, "thin_passes": 4, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1204, "early_curl": true, "skips": 0, "at_swing_kg": 1184, "carried_kg": 1219, "left_kg": 108}, {"pass": 1, "t": 15.9, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1140, "early_curl": true, "skips": 0, "at_swing_kg": 1128, "carried_kg": 1134, "left_kg": 115}, {"pass": 2, "t": 33.0, "face": [10.0, 0.0, 1.37], "dig_max_kg": 1215, "early_curl": true, "skips": 0, "at_swing_kg": 1184, "carried_kg": 1218, "left_kg": 200}, {"pass": 3, "t": 50.3, "face": [-30.0, 0.0, 1.29], "dig_max_kg": 1285, "early_curl": true, "skips": 0, "at_swing_kg": 1253, "carried_kg": 1309, "left_kg": 272}, {"pass": 4, "t": 67.6, "face": [-10.0, 0.0, 1.26], "dig_max_kg": 1332, "early_curl": true, "skips": 0, "at_swing_kg": 56, "carried_kg": 69, "left_kg": 13}, {"pass": 5, "t": 82.5, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1022, "early_curl": false, "skips": 0, "at_swing_kg": 1014, "carried_kg": 1030, "left_kg": 60}, {"pass": 6, "t": 100.4, "face": [10.0, 0.0, 0.83], "dig_max_kg": 1245, "early_curl": false, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1246, "left_kg": 99}, {"pass": 7, "t": 118.2, "face": [-30.0, 0.0, 0.74], "dig_max_kg": 1240, "early_curl": false, "skips": 0, "at_swing_kg": 1152, "carried_kg": 1201, "left_kg": 332}, {"pass": 8, "t": 135.1, "face": [-30.0, 0.0, 1.08], "dig_max_kg": 1240, "early_curl": true, "skips": 0, "at_swing_kg": 1212, "carried_kg": 1254, "left_kg": 463}, {"pass": 9, "t": 153.7, "face": [-30.0, 0.0, 0.68], "dig_max_kg": 1394, "early_curl": false, "skips": 0, "at_swing_kg": 1349, "carried_kg": 1369, "left_kg": 449}, {"pass": 10, "t": 174.7, "face": [-30.0, 0.0, 0.66], "dig_max_kg": 1352, "early_curl": false, "skips": 0, "at_swing_kg": 1213, "carried_kg": 1203, "left_kg": 32}, {"pass": 11, "t": 191.6, "face": [20.0, 0.0, 0.63], "dig_max_kg": 1215, "early_curl": false, "skips": 0, "at_swing_kg": 1139, "carried_kg": 1253, "left_kg": 479}, {"pass": 12, "t": 215.7, "face": [20.0, 0.0, 0.91], "dig_max_kg": 1145, "early_curl": false, "skips": 0, "at_swing_kg": 597, "carried_kg": 632, "left_kg": 104}, {"pass": 13, "t": 234.2, "face": [10.0, 0.0, 1.09], "dig_max_kg": 1246, "early_curl": true, "skips": 0, "at_swing_kg": 1347, "carried_kg": 1317, "left_kg": 91}, {"pass": 14, "t": 299.3, "face": [20.0, 0.0, 0.99], "dig_max_kg": 1243, "early_curl": false, "skips": 0, "at_swing_kg": 629, "carried_kg": 631, "left_kg": 122}, {"pass": 15, "t": 319.6, "face": [20.0, 0.0, 0.99], "dig_max_kg": 628, "early_curl": false, "skips": 0, "at_swing_kg": 306, "carried_kg": 305, "left_kg": 0}, {"pass": 16, "t": 337.3, "face": [10.0, 0.0, 0.71], "dig_max_kg": 1394, "early_curl": false, "skips": 0, "at_swing_kg": 1317, "carried_kg": 1399, "left_kg": 383}, {"pass": 17, "t": 356.0, "face": [10.0, 0.0, 1.12], "dig_max_kg": 1246, "early_curl": true, "skips": 0, "at_swing_kg": 1223, "carried_kg": 1320, "left_kg": 100}, {"pass": 18, "t": 373.3, "face": [10.0, 0.0, 0.63], "dig_max_kg": 1231, "early_curl": false, "skips": 0, "at_swing_kg": 1157, "carried_kg": 1191, "left_kg": 90}, {"pass": 19, "t": 392.1, "face": [10.0, 0.0, 1.06], "dig_max_kg": 1271, "early_curl": true, "skips": 0, "at_swing_kg": 1235, "carried_kg": 1269, "left_kg": 196}, {"pass": 20, "t": 410.7, "face": [10.0, 0.0, 0.49], "dig_max_kg": 1547, "early_curl": false, "skips": 0, "at_swing_kg": 1490, "carried_kg": 1632, "left_kg": 855}, {"pass": 21, "t": 431.8, "face": [10.0, 0.0, 1.08], "dig_max_kg": 1485, "early_curl": true, "skips": 0, "at_swing_kg": 367, "carried_kg": 446, "left_kg": 70}, {"pass": 22, "t": 447.1, "face": [-40.0, 0.0, 0.4], "dig_max_kg": 777, "early_curl": false, "skips": 0, "at_swing_kg": 777, "carried_kg": 821, "left_kg": 82}, {"pass": 23, "t": 462.2, "face": [-30.0, 0.0, 0.37], "dig_max_kg": 995, "early_curl": false, "skips": 0, "at_swing_kg": 968, "carried_kg": 995, "left_kg": 235}, {"pass": 24, "t": 480.6, "face": [-20.0, 0.0, 0.36], "dig_max_kg": 972, "early_curl": false, "skips": 0, "at_swing_kg": 451, "carried_kg": 647, "left_kg": 52}], "dozer": {"passes": 5, "push_m": 34.71, "work_MJ": 0.58, "load_lifts": 6, "lifts_raised": 0, "parked_s": 378.65, "working_s": 118.2, "peak_kN": 61.79, "slip_s": 0.13, "futile_passes": 1, "mean_push_kN": [20.0, 21.3, 11.0, 8.1, 13.7]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 25.7, "rms_from_grade_m": 0.217, "max_above_grade_m": 1.39, "at_grade_fraction": 0.13, "unspread_m3": 0.72}} diff --git a/phase2/logs/haul_quick25_lane_fix_clay_3.json b/phase2/logs/haul_quick25_lane_fix_clay_3.json new file mode 100644 index 0000000..e96e917 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_clay_3.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 548.0, "stopped_after_passes": 25, "realtime_factor": 0.957, "loads": [{"carrier": 0, "departed_s": 168.2, "load_kg": 10641, "loading_s": 168.2, "passes": 9}, {"carrier": 0, "departed_s": 447.4, "load_kg": 11299, "loading_s": 221.3, "passes": 11}], "trips": [{"depart_t": 168.15, "stages": {"loading": 168.15, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.72, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 294, "away_s": 57.98}, {"depart_t": 447.42, "stages": {"loading": 221.28, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.7, "lower": 5.0, "return": 4.55, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 299, "away_s": 58.7}], "delivered_t": 21.35, "loaded_t": 25.17, "loaded_t_per_hour": 165.4, "mean_departure_interval_s": 279.2, "t_per_hour": 140.2, "mean_load_kg": 10970.0, "mean_loading_s": 194.8, "carry_back_kg": [294, 299], "mean_away_s": 58.3, "excavator_wait_s": 98.1, "passes": 25, "spoil_settled_t": 21.78, "lost_particles": 1241, "pool_short": 0, "skipped": [{"t": 416.72, "stage": "swing back", "max_err_rad": 0.0}, {"t": 420.73, "stage": "approach", "max_err_rad": 1.221}, {"t": 424.75, "stage": "penetrate", "max_err_rad": 1.219}, {"t": 428.77, "stage": "drag", "max_err_rad": 1.008}, {"t": 432.78, "stage": "drag-curl", "max_err_rad": 0.926}, {"t": 436.8, "stage": "curl", "max_err_rad": 0.77}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.7, "pit_left_t": 162.2, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0]], "curl_gain_kg": 255, "curl_tears": 2, "mean_carried_kg": 1167, "mean_dumped_kg": 967, "thin_passes": 2, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1216, "early_curl": true, "skips": 0, "at_swing_kg": 1194, "carried_kg": 1234, "left_kg": 80}, {"pass": 1, "t": 16.5, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1211, "early_curl": true, "skips": 0, "at_swing_kg": 1211, "carried_kg": 1194, "left_kg": 109}, {"pass": 2, "t": 32.8, "face": [-20.0, 0.0, 1.35], "dig_max_kg": 1299, "early_curl": true, "skips": 0, "at_swing_kg": 1269, "carried_kg": 1360, "left_kg": 57}, {"pass": 3, "t": 48.7, "face": [-10.0, 0.0, 1.23], "dig_max_kg": 1365, "early_curl": true, "skips": 0, "at_swing_kg": 206, "carried_kg": 265, "left_kg": 1}, {"pass": 4, "t": 63.2, "face": [-30.0, 0.0, 1.18], "dig_max_kg": 1107, "early_curl": true, "skips": 0, "at_swing_kg": 1107, "carried_kg": 1076, "left_kg": 72}, {"pass": 5, "t": 78.9, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1102, "early_curl": false, "skips": 0, "at_swing_kg": 970, "carried_kg": 1010, "left_kg": 95}, {"pass": 6, "t": 96.0, "face": [-30.0, 0.0, 0.74], "dig_max_kg": 1180, "early_curl": false, "skips": 0, "at_swing_kg": 1176, "carried_kg": 1200, "left_kg": 79}, {"pass": 7, "t": 113.1, "face": [-30.0, 0.0, 1.05], "dig_max_kg": 1195, "early_curl": true, "skips": 0, "at_swing_kg": 1171, "carried_kg": 1165, "left_kg": 79}, {"pass": 8, "t": 128.9, "face": [10.0, 0.0, 0.72], "dig_max_kg": 1283, "early_curl": false, "skips": 0, "at_swing_kg": 1273, "carried_kg": 1302, "left_kg": 851}, {"pass": 9, "t": 150.9, "face": [10.0, 0.0, 1.14], "dig_max_kg": 1274, "early_curl": true, "skips": 0, "at_swing_kg": 1173, "carried_kg": 1252, "left_kg": 751}, {"pass": 10, "t": 170.3, "face": [20.0, 0.0, 0.68], "dig_max_kg": 1199, "early_curl": true, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1047, "left_kg": 109}, {"pass": 11, "t": 235.7, "face": [10.0, 0.0, 0.6], "dig_max_kg": 1332, "early_curl": false, "skips": 0, "at_swing_kg": 1273, "carried_kg": 1320, "left_kg": 219}, {"pass": 12, "t": 254.6, "face": [10.0, 0.0, 1.16], "dig_max_kg": 1399, "early_curl": true, "skips": 0, "at_swing_kg": 1364, "carried_kg": 1342, "left_kg": 478}, {"pass": 13, "t": 273.6, "face": [10.0, 0.0, 0.73], "dig_max_kg": 1368, "early_curl": false, "skips": 0, "at_swing_kg": 1216, "carried_kg": 1292, "left_kg": 99}, {"pass": 14, "t": 290.0, "face": [-30.0, 0.0, 0.5], "dig_max_kg": 1387, "early_curl": false, "skips": 0, "at_swing_kg": 1277, "carried_kg": 1282, "left_kg": 48}, {"pass": 15, "t": 306.1, "face": [-30.0, 0.0, 0.72], "dig_max_kg": 1279, "early_curl": false, "skips": 0, "at_swing_kg": 1032, "carried_kg": 1078, "left_kg": 78}, {"pass": 16, "t": 322.4, "face": [-10.0, 0.0, 0.47], "dig_max_kg": 1188, "early_curl": false, "skips": 0, "at_swing_kg": 1179, "carried_kg": 1240, "left_kg": 313}, {"pass": 17, "t": 340.5, "face": [-10.0, 0.0, 0.72], "dig_max_kg": 1278, "early_curl": false, "skips": 0, "at_swing_kg": 1262, "carried_kg": 1252, "left_kg": 365}, {"pass": 18, "t": 359.2, "face": [-10.0, 0.0, 1.12], "dig_max_kg": 1266, "early_curl": true, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1243, "left_kg": 273}, {"pass": 19, "t": 377.8, "face": [-20.0, 0.0, 0.62], "dig_max_kg": 1211, "early_curl": false, "skips": 0, "at_swing_kg": 1165, "carried_kg": 1189, "left_kg": 58}, {"pass": 20, "t": 394.2, "face": [-20.0, 0.0, 0.93], "dig_max_kg": 1166, "early_curl": false, "skips": 1, "at_swing_kg": 1123, "carried_kg": 1178, "left_kg": 446}, {"pass": 21, "t": 416.7, "face": [-20.0, 0.0, 0.62], "dig_max_kg": 1139, "early_curl": false, "skips": 5, "at_swing_kg": 1122, "carried_kg": 1503, "left_kg": 162}, {"pass": 22, "t": 448.6, "face": [-20.0, 0.0, 0.62], "dig_max_kg": 1319, "early_curl": false, "skips": 0, "at_swing_kg": 1388, "carried_kg": 1334, "left_kg": 92}, {"pass": 23, "t": 514.5, "face": [-20.0, 0.0, 1.07], "dig_max_kg": 1319, "early_curl": true, "skips": 0, "at_swing_kg": 553, "carried_kg": 540, "left_kg": 34}, {"pass": 24, "t": 530.4, "face": [-10.0, 0.0, 0.52], "dig_max_kg": 1225, "early_curl": false, "skips": 0, "at_swing_kg": 1216, "carried_kg": 1280, "left_kg": 51}], "dozer": {"passes": 7, "push_m": 51.12, "work_MJ": 0.95, "load_lifts": 11, "lifts_raised": 0, "parked_s": 380.87, "working_s": 167.1, "peak_kN": 63.03, "slip_s": 0.23, "futile_passes": 0, "mean_push_kN": [21.6, 14.0, 17.2, 18.1, 15.9, 16.1, 20.3]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 34.9, "rms_from_grade_m": 0.313, "max_above_grade_m": 1.83, "at_grade_fraction": 0.33, "unspread_m3": 3.16}} diff --git a/phase2/logs/haul_quick25_lane_fix_dry-sand_1.json b/phase2/logs/haul_quick25_lane_fix_dry-sand_1.json new file mode 100644 index 0000000..305e490 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_dry-sand_1.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 561.0, "stopped_after_passes": 25, "realtime_factor": 0.916, "loads": [{"carrier": 0, "departed_s": 126.7, "load_kg": 9443, "loading_s": 126.7, "passes": 7}, {"carrier": 0, "departed_s": 277.5, "load_kg": 10278, "loading_s": 94.0, "passes": 5}, {"carrier": 0, "departed_s": 425.5, "load_kg": 9379, "loading_s": 91.3, "passes": 5}], "trips": [{"depart_t": 126.72, "stages": {"loading": 126.72, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 42, "away_s": 56.71}, {"depart_t": 277.45, "stages": {"loading": 94.02, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 89, "away_s": 56.72}, {"depart_t": 425.47, "stages": {"loading": 91.3, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 319, "away_s": 56.71}], "delivered_t": 28.65, "loaded_t": 36.97, "loaded_t_per_hour": 237.2, "mean_departure_interval_s": 149.4, "t_per_hour": 183.8, "mean_load_kg": 9700.0, "mean_loading_s": 104.0, "carry_back_kg": [42, 89, 319], "mean_away_s": 56.7, "excavator_wait_s": 143.0, "passes": 25, "spoil_settled_t": 28.55, "lost_particles": 4135, "pool_short": 27, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.2, "pit_left_t": 116.1, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1342, "mean_dumped_kg": 1338, "thin_passes": 0, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 907, "early_curl": false, "skips": 0, "at_swing_kg": 900, "carried_kg": 596, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1597, "early_curl": false, "skips": 0, "at_swing_kg": 1597, "carried_kg": 1341, "left_kg": 1}, {"pass": 2, "t": 31.4, "face": [0.0, 0.0, 1.42], "dig_max_kg": 1762, "early_curl": false, "skips": 0, "at_swing_kg": 1762, "carried_kg": 1411, "left_kg": 11}, {"pass": 3, "t": 47.4, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1734, "early_curl": false, "skips": 0, "at_swing_kg": 820, "carried_kg": 575, "left_kg": 1}, {"pass": 4, "t": 62.6, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1546, "early_curl": false, "skips": 0, "at_swing_kg": 1546, "carried_kg": 1281, "left_kg": 1}, {"pass": 5, "t": 78.4, "face": [10.0, 0.0, 1.42], "dig_max_kg": 1522, "early_curl": false, "skips": 0, "at_swing_kg": 1219, "carried_kg": 896, "left_kg": 1}, {"pass": 6, "t": 94.9, "face": [10.0, 0.0, 1.58], "dig_max_kg": 1738, "early_curl": false, "skips": 0, "at_swing_kg": 1738, "carried_kg": 1245, "left_kg": 1}, {"pass": 7, "t": 112.2, "face": [0.0, 0.0, 1.58], "dig_max_kg": 1861, "early_curl": false, "skips": 0, "at_swing_kg": 1861, "carried_kg": 1544, "left_kg": 5}, {"pass": 8, "t": 128.4, "face": [0.0, 0.0, 1.67], "dig_max_kg": 2008, "early_curl": false, "skips": 0, "at_swing_kg": 1703, "carried_kg": 1343, "left_kg": 1}, {"pass": 9, "t": 190.9, "face": [0.0, 0.0, 1.6], "dig_max_kg": 2011, "early_curl": false, "skips": 0, "at_swing_kg": 2011, "carried_kg": 1476, "left_kg": 12}, {"pass": 10, "t": 208.7, "face": [0.0, 0.0, 1.59], "dig_max_kg": 2030, "early_curl": false, "skips": 0, "at_swing_kg": 2030, "carried_kg": 1655, "left_kg": 4}, {"pass": 11, "t": 225.6, "face": [0.0, 0.0, 1.56], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 2028, "carried_kg": 1564, "left_kg": 2}, {"pass": 12, "t": 243.5, "face": [0.0, 0.0, 1.61], "dig_max_kg": 2024, "early_curl": false, "skips": 0, "at_swing_kg": 2024, "carried_kg": 1518, "left_kg": 2}, {"pass": 13, "t": 261.7, "face": [0.0, 0.0, 1.61], "dig_max_kg": 2028, "early_curl": false, "skips": 0, "at_swing_kg": 2028, "carried_kg": 1589, "left_kg": 5}, {"pass": 14, "t": 279.1, "face": [0.0, 0.0, 1.61], "dig_max_kg": 2056, "early_curl": false, "skips": 0, "at_swing_kg": 1773, "carried_kg": 1385, "left_kg": 2}, {"pass": 15, "t": 341.7, "face": [0.0, 0.0, 1.68], "dig_max_kg": 2066, "early_curl": false, "skips": 0, "at_swing_kg": 2066, "carried_kg": 1500, "left_kg": 2}, {"pass": 16, "t": 359.6, "face": [-30.0, 0.0, 1.49], "dig_max_kg": 2036, "early_curl": false, "skips": 0, "at_swing_kg": 1472, "carried_kg": 1191, "left_kg": 8}, {"pass": 17, "t": 375.1, "face": [0.0, 0.0, 1.45], "dig_max_kg": 2036, "early_curl": false, "skips": 0, "at_swing_kg": 2036, "carried_kg": 1529, "left_kg": 8}, {"pass": 18, "t": 393.1, "face": [-10.0, 0.0, 1.4], "dig_max_kg": 2015, "early_curl": false, "skips": 0, "at_swing_kg": 1661, "carried_kg": 1270, "left_kg": 1}, {"pass": 19, "t": 410.4, "face": [-10.0, 0.0, 1.66], "dig_max_kg": 1897, "early_curl": false, "skips": 0, "at_swing_kg": 1897, "carried_kg": 1606, "left_kg": 12}, {"pass": 20, "t": 427.1, "face": [0.0, 0.0, 1.61], "dig_max_kg": 1935, "early_curl": false, "skips": 0, "at_swing_kg": 1693, "carried_kg": 1349, "left_kg": 1}, {"pass": 21, "t": 489.9, "face": [10.0, 0.0, 1.48], "dig_max_kg": 1933, "early_curl": false, "skips": 0, "at_swing_kg": 1688, "carried_kg": 1182, "left_kg": 1}, {"pass": 22, "t": 507.8, "face": [0.0, 0.0, 1.57], "dig_max_kg": 1996, "early_curl": false, "skips": 0, "at_swing_kg": 1996, "carried_kg": 1620, "left_kg": 3}, {"pass": 23, "t": 524.9, "face": [-10.0, 0.0, 1.45], "dig_max_kg": 1802, "early_curl": false, "skips": 0, "at_swing_kg": 1802, "carried_kg": 1486, "left_kg": 7}, {"pass": 24, "t": 542.2, "face": [0.0, 0.0, 1.54], "dig_max_kg": 1980, "early_curl": false, "skips": 0, "at_swing_kg": 1980, "carried_kg": 1395, "left_kg": 10}], "dozer": {"passes": 9, "push_m": 43.99, "work_MJ": 0.36, "load_lifts": 1, "lifts_raised": 1, "parked_s": 370.67, "working_s": 190.37, "peak_kN": 51.93, "slip_s": 0.0, "futile_passes": 2, "mean_push_kN": [10.2, 4.1, 7.7, 7.6, 12.0, 0.4, 0.3, 7.1, 4.6]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 40.5, "rms_from_grade_m": 0.22, "max_above_grade_m": 0.27, "at_grade_fraction": 0.28, "unspread_m3": 0.19}} diff --git a/phase2/logs/haul_quick25_lane_fix_dry-sand_2.json b/phase2/logs/haul_quick25_lane_fix_dry-sand_2.json new file mode 100644 index 0000000..7b1ddfa --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_dry-sand_2.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 608.2, "stopped_after_passes": 25, "realtime_factor": 0.896, "loads": [{"carrier": 0, "departed_s": 170.6, "load_kg": 8929, "loading_s": 170.6, "passes": 8}, {"carrier": 0, "departed_s": 361.8, "load_kg": 8318, "loading_s": 134.6, "passes": 6}, {"carrier": 0, "departed_s": 527.8, "load_kg": 10467, "loading_s": 109.2, "passes": 6}], "trips": [{"depart_t": 170.55, "stages": {"loading": 170.55, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 45, "away_s": 56.72}, {"depart_t": 361.83, "stages": {"loading": 134.57, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 158, "away_s": 56.72}, {"depart_t": 527.8, "stages": {"loading": 109.25, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.32, "lower": 5.0, "return": 5.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 274, "away_s": 56.93}], "delivered_t": 27.24, "loaded_t": 30.17, "loaded_t_per_hour": 178.6, "mean_departure_interval_s": 178.6, "t_per_hour": 161.2, "mean_load_kg": 9238.0, "mean_loading_s": 138.1, "carry_back_kg": [45, 158, 274], "mean_away_s": 56.8, "excavator_wait_s": 143.2, "passes": 25, "spoil_settled_t": 24.06, "lost_particles": 3837, "pool_short": 55, "skipped": [{"t": 134.82, "stage": "swing back", "max_err_rad": 0.064}, {"t": 138.83, "stage": "approach", "max_err_rad": 1.583}, {"t": 142.85, "stage": "penetrate", "max_err_rad": 1.579}, {"t": 146.87, "stage": "drag", "max_err_rad": 1.572}, {"t": 150.88, "stage": "drag-curl", "max_err_rad": 1.557}, {"t": 154.9, "stage": "curl", "max_err_rad": 1.52}, {"t": 165.27, "stage": "swing to truck", "max_err_rad": 0.413}, {"t": 327.15, "stage": "swing back", "max_err_rad": 0.067}, {"t": 331.17, "stage": "approach", "max_err_rad": 1.227}, {"t": 335.18, "stage": "penetrate", "max_err_rad": 1.224}, {"t": 339.2, "stage": "drag", "max_err_rad": 1.221}, {"t": 343.22, "stage": "drag-curl", "max_err_rad": 1.198}, {"t": 347.23, "stage": "curl", "max_err_rad": 1.037}, {"t": 356.22, "stage": "swing to truck", "max_err_rad": 0.282}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.4, "pit_left_t": 120.9, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-10.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1317, "mean_dumped_kg": 1313, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 897, "early_curl": false, "skips": 0, "at_swing_kg": 887, "carried_kg": 586, "left_kg": 0}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.49], "dig_max_kg": 1622, "early_curl": false, "skips": 0, "at_swing_kg": 1622, "carried_kg": 1347, "left_kg": 8}, {"pass": 2, "t": 31.3, "face": [0.0, 0.0, 1.42], "dig_max_kg": 1783, "early_curl": false, "skips": 0, "at_swing_kg": 1783, "carried_kg": 1454, "left_kg": 1}, {"pass": 3, "t": 47.5, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1768, "early_curl": false, "skips": 0, "at_swing_kg": 802, "carried_kg": 463, "left_kg": 0}, {"pass": 4, "t": 62.7, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1541, "early_curl": false, "skips": 0, "at_swing_kg": 1541, "carried_kg": 1368, "left_kg": 9}, {"pass": 5, "t": 78.2, "face": [0.0, 0.0, 1.43], "dig_max_kg": 1876, "early_curl": false, "skips": 0, "at_swing_kg": 1876, "carried_kg": 1446, "left_kg": 1}, {"pass": 6, "t": 95.2, "face": [0.0, 0.0, 1.53], "dig_max_kg": 1962, "early_curl": false, "skips": 0, "at_swing_kg": 1962, "carried_kg": 1412, "left_kg": 3}, {"pass": 7, "t": 112.8, "face": [0.0, 0.0, 1.55], "dig_max_kg": 1937, "early_curl": false, "skips": 1, "at_swing_kg": 1937, "carried_kg": 1577, "left_kg": 7}, {"pass": 8, "t": 134.8, "face": [0.0, 0.0, 1.52], "dig_max_kg": 1931, "early_curl": false, "skips": 6, "at_swing_kg": 507, "carried_kg": 852, "left_kg": 1}, {"pass": 9, "t": 172.2, "face": [0.0, 0.0, 1.55], "dig_max_kg": 2003, "early_curl": false, "skips": 0, "at_swing_kg": 1730, "carried_kg": 1296, "left_kg": 2}, {"pass": 10, "t": 235.0, "face": [0.0, 0.0, 1.59], "dig_max_kg": 2015, "early_curl": false, "skips": 0, "at_swing_kg": 2015, "carried_kg": 1664, "left_kg": 4}, {"pass": 11, "t": 251.9, "face": [0.0, 0.0, 1.54], "dig_max_kg": 2004, "early_curl": false, "skips": 0, "at_swing_kg": 2004, "carried_kg": 1573, "left_kg": 1}, {"pass": 12, "t": 269.7, "face": [0.0, 0.0, 1.56], "dig_max_kg": 2006, "early_curl": false, "skips": 0, "at_swing_kg": 2006, "carried_kg": 1506, "left_kg": 2}, {"pass": 13, "t": 287.9, "face": [0.0, 0.0, 1.54], "dig_max_kg": 2005, "early_curl": false, "skips": 0, "at_swing_kg": 2005, "carried_kg": 1562, "left_kg": 3}, {"pass": 14, "t": 305.1, "face": [0.0, 0.0, 1.57], "dig_max_kg": 2025, "early_curl": false, "skips": 1, "at_swing_kg": 2025, "carried_kg": 1475, "left_kg": 9}, {"pass": 15, "t": 327.2, "face": [-30.0, 0.0, 1.53], "dig_max_kg": 1991, "early_curl": false, "skips": 6, "at_swing_kg": 1168, "carried_kg": 1199, "left_kg": 3}, {"pass": 16, "t": 363.4, "face": [0.0, 0.0, 1.58], "dig_max_kg": 2002, "early_curl": false, "skips": 0, "at_swing_kg": 1660, "carried_kg": 1381, "left_kg": 13}, {"pass": 17, "t": 425.1, "face": [-30.0, 0.0, 1.52], "dig_max_kg": 1993, "early_curl": false, "skips": 0, "at_swing_kg": 1603, "carried_kg": 1307, "left_kg": 5}, {"pass": 18, "t": 440.9, "face": [0.0, 0.0, 1.52], "dig_max_kg": 2019, "early_curl": false, "skips": 0, "at_swing_kg": 2019, "carried_kg": 1472, "left_kg": 2}, {"pass": 19, "t": 459.6, "face": [10.0, 0.0, 1.46], "dig_max_kg": 2013, "early_curl": false, "skips": 0, "at_swing_kg": 1636, "carried_kg": 1302, "left_kg": 2}, {"pass": 20, "t": 476.4, "face": [0.0, 0.0, 1.51], "dig_max_kg": 1957, "early_curl": false, "skips": 0, "at_swing_kg": 1957, "carried_kg": 1512, "left_kg": 1}, {"pass": 21, "t": 494.4, "face": [0.0, 0.0, 1.47], "dig_max_kg": 2025, "early_curl": false, "skips": 0, "at_swing_kg": 2025, "carried_kg": 1411, "left_kg": 1}, {"pass": 22, "t": 512.8, "face": [-10.0, 0.0, 1.39], "dig_max_kg": 1675, "early_curl": false, "skips": 0, "at_swing_kg": 1675, "carried_kg": 1402, "left_kg": 1}, {"pass": 23, "t": 529.4, "face": [0.0, 0.0, 1.62], "dig_max_kg": 2006, "early_curl": false, "skips": 0, "at_swing_kg": 1647, "carried_kg": 1272, "left_kg": 2}, {"pass": 24, "t": 591.7, "face": [-30.0, 0.0, 1.41], "dig_max_kg": 1979, "early_curl": false, "skips": 0, "at_swing_kg": 1444, "carried_kg": 1091, "left_kg": 12}], "dozer": {"passes": 9, "push_m": 42.65, "work_MJ": 0.32, "load_lifts": 1, "lifts_raised": 1, "parked_s": 434.7, "working_s": 173.55, "peak_kN": 51.71, "slip_s": 0.0, "futile_passes": 2, "mean_push_kN": [9.3, 3.9, 6.6, 5.9, 10.4, 0.2, 0.2, 9.0, 3.6]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 38.7, "rms_from_grade_m": 0.222, "max_above_grade_m": 0.35, "at_grade_fraction": 0.22, "unspread_m3": 0.22}} diff --git a/phase2/logs/haul_quick25_lane_fix_dry-sand_3.json b/phase2/logs/haul_quick25_lane_fix_dry-sand_3.json new file mode 100644 index 0000000..17a477f --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_dry-sand_3.json @@ -0,0 +1 @@ +{"soil": "dry-sand", "carriers": 1, "sim_s": 586.9, "stopped_after_passes": 25, "realtime_factor": 0.941, "loads": [{"carrier": 0, "departed_s": 173.9, "load_kg": 9436, "loading_s": 173.9, "passes": 8}, {"carrier": 0, "departed_s": 338.4, "load_kg": 11222, "loading_s": 107.8, "passes": 6}, {"carrier": 0, "departed_s": 503.6, "load_kg": 10479, "loading_s": 108.5, "passes": 6}], "trips": [{"depart_t": 173.88, "stages": {"loading": 173.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 57, "away_s": 56.72}, {"depart_t": 338.37, "stages": {"loading": 107.77, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 355, "away_s": 56.71}, {"depart_t": 503.58, "stages": {"loading": 108.5, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.28, "lower": 5.0, "return": 5.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 157, "away_s": 56.9}], "delivered_t": 30.57, "loaded_t": 34.33, "loaded_t_per_hour": 210.6, "mean_departure_interval_s": 164.9, "t_per_hour": 187.5, "mean_load_kg": 10379.0, "mean_loading_s": 130.1, "carry_back_kg": [57, 355, 157], "mean_away_s": 56.8, "excavator_wait_s": 144.0, "passes": 25, "spoil_settled_t": 28.65, "lost_particles": 3698, "pool_short": 444, "skipped": [{"t": 126.98, "stage": "swing to truck", "max_err_rad": 0.141}, {"t": 138.23, "stage": "swing back", "max_err_rad": 0.064}, {"t": 142.25, "stage": "approach", "max_err_rad": 1.246}, {"t": 146.27, "stage": "penetrate", "max_err_rad": 1.241}, {"t": 150.28, "stage": "drag", "max_err_rad": 1.235}, {"t": 154.3, "stage": "drag-curl", "max_err_rad": 1.218}, {"t": 158.32, "stage": "curl", "max_err_rad": 1.174}, {"t": 168.55, "stage": "swing to truck", "max_err_rad": 0.395}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 170.3, "pit_left_t": 117.8, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [0.0, 0.0]], "curl_gain_kg": 0, "curl_tears": 0, "mean_carried_kg": 1350, "mean_dumped_kg": 1342, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 906, "early_curl": false, "skips": 0, "at_swing_kg": 896, "carried_kg": 586, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1632, "early_curl": false, "skips": 0, "at_swing_kg": 1632, "carried_kg": 1346, "left_kg": 9}, {"pass": 2, "t": 31.0, "face": [-20.0, 0.0, 1.41], "dig_max_kg": 1609, "early_curl": false, "skips": 0, "at_swing_kg": 973, "carried_kg": 697, "left_kg": 1}, {"pass": 3, "t": 46.1, "face": [-20.0, 0.0, 1.47], "dig_max_kg": 1587, "early_curl": false, "skips": 0, "at_swing_kg": 1587, "carried_kg": 1221, "left_kg": 1}, {"pass": 4, "t": 62.4, "face": [-20.0, 0.0, 1.44], "dig_max_kg": 1782, "early_curl": false, "skips": 0, "at_swing_kg": 1782, "carried_kg": 1434, "left_kg": 6}, {"pass": 5, "t": 77.7, "face": [-20.0, 0.0, 1.42], "dig_max_kg": 1864, "early_curl": false, "skips": 0, "at_swing_kg": 1864, "carried_kg": 1527, "left_kg": 1}, {"pass": 6, "t": 94.0, "face": [-20.0, 0.0, 1.46], "dig_max_kg": 1917, "early_curl": false, "skips": 0, "at_swing_kg": 1917, "carried_kg": 1525, "left_kg": 1}, {"pass": 7, "t": 111.1, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1940, "early_curl": false, "skips": 2, "at_swing_kg": 1940, "carried_kg": 1617, "left_kg": 39}, {"pass": 8, "t": 138.3, "face": [-20.0, 0.0, 1.51], "dig_max_kg": 1925, "early_curl": false, "skips": 6, "at_swing_kg": 628, "carried_kg": 899, "left_kg": 2}, {"pass": 9, "t": 175.1, "face": [-20.0, 0.0, 1.51], "dig_max_kg": 1940, "early_curl": false, "skips": 0, "at_swing_kg": 1787, "carried_kg": 1330, "left_kg": 13}, {"pass": 10, "t": 237.7, "face": [-20.0, 0.0, 1.56], "dig_max_kg": 1978, "early_curl": false, "skips": 0, "at_swing_kg": 1978, "carried_kg": 1679, "left_kg": 2}, {"pass": 11, "t": 253.9, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1955, "early_curl": false, "skips": 0, "at_swing_kg": 1931, "carried_kg": 1620, "left_kg": 17}, {"pass": 12, "t": 271.8, "face": [-20.0, 0.0, 1.53], "dig_max_kg": 1952, "early_curl": false, "skips": 0, "at_swing_kg": 1952, "carried_kg": 1555, "left_kg": 14}, {"pass": 13, "t": 289.2, "face": [-20.0, 0.0, 1.57], "dig_max_kg": 1987, "early_curl": false, "skips": 0, "at_swing_kg": 1987, "carried_kg": 1692, "left_kg": 6}, {"pass": 14, "t": 305.9, "face": [0.0, 0.0, 1.46], "dig_max_kg": 1963, "early_curl": false, "skips": 0, "at_swing_kg": 1513, "carried_kg": 1206, "left_kg": 1}, {"pass": 15, "t": 322.3, "face": [0.0, 0.0, 1.65], "dig_max_kg": 1876, "early_curl": false, "skips": 0, "at_swing_kg": 1876, "carried_kg": 1383, "left_kg": 19}, {"pass": 16, "t": 340.0, "face": [0.0, 0.0, 1.5], "dig_max_kg": 1928, "early_curl": false, "skips": 0, "at_swing_kg": 1658, "carried_kg": 1364, "left_kg": 0}, {"pass": 17, "t": 402.1, "face": [-10.0, 0.0, 1.57], "dig_max_kg": 1914, "early_curl": false, "skips": 0, "at_swing_kg": 1637, "carried_kg": 1337, "left_kg": 10}, {"pass": 18, "t": 418.2, "face": [-20.0, 0.0, 1.67], "dig_max_kg": 1934, "early_curl": false, "skips": 0, "at_swing_kg": 1934, "carried_kg": 1497, "left_kg": 33}, {"pass": 19, "t": 437.1, "face": [-10.0, 0.0, 1.73], "dig_max_kg": 1930, "early_curl": false, "skips": 0, "at_swing_kg": 1916, "carried_kg": 1591, "left_kg": 8}, {"pass": 20, "t": 453.6, "face": [-10.0, 0.0, 1.68], "dig_max_kg": 2051, "early_curl": false, "skips": 0, "at_swing_kg": 2051, "carried_kg": 1571, "left_kg": 11}, {"pass": 21, "t": 471.7, "face": [10.0, 0.0, 1.54], "dig_max_kg": 2027, "early_curl": false, "skips": 0, "at_swing_kg": 1227, "carried_kg": 812, "left_kg": 12}, {"pass": 22, "t": 488.7, "face": [10.0, 0.0, 1.65], "dig_max_kg": 1721, "early_curl": false, "skips": 0, "at_swing_kg": 1721, "carried_kg": 1461, "left_kg": 6}, {"pass": 23, "t": 505.5, "face": [10.0, 0.0, 1.59], "dig_max_kg": 1872, "early_curl": false, "skips": 0, "at_swing_kg": 1565, "carried_kg": 1252, "left_kg": 1}, {"pass": 24, "t": 567.7, "face": [-10.0, 0.0, 1.62], "dig_max_kg": 2044, "early_curl": false, "skips": 0, "at_swing_kg": 2044, "carried_kg": 1557, "left_kg": 2}], "dozer": {"passes": 9, "push_m": 47.91, "work_MJ": 0.41, "load_lifts": 1, "lifts_raised": 1, "parked_s": 404.08, "working_s": 182.83, "peak_kN": 48.19, "slip_s": 0.0, "futile_passes": 1, "mean_push_kN": [9.5, 4.5, 8.5, 9.2, 12.3, 3.3, 0.1, 9.0, 4.5]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 42.8, "rms_from_grade_m": 0.225, "max_above_grade_m": 0.27, "at_grade_fraction": 0.26, "unspread_m3": 0.16}} diff --git a/phase2/logs/haul_quick25_lane_fix_loam_1.json b/phase2/logs/haul_quick25_lane_fix_loam_1.json new file mode 100644 index 0000000..b8c1a34 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_loam_1.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 526.8, "stopped_after_passes": 25, "realtime_factor": 0.952, "loads": [{"carrier": 0, "departed_s": 144.0, "load_kg": 11129, "loading_s": 144.0, "passes": 8}, {"carrier": 0, "departed_s": 353.1, "load_kg": 11253, "loading_s": 152.1, "passes": 8}, {"carrier": 0, "departed_s": 524.6, "load_kg": 9503, "loading_s": 114.1, "passes": 6}], "trips": [{"depart_t": 143.98, "stages": {"loading": 143.98, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.38, "lower": 5.0, "return": 5.15, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 180, "away_s": 56.99}, {"depart_t": 353.07, "stages": {"loading": 152.1, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.05, "lower": 5.0, "return": 4.98, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 259, "away_s": 57.48}], "delivered_t": 21.94, "loaded_t": 31.89, "loaded_t_per_hour": 217.9, "mean_departure_interval_s": 190.3, "t_per_hour": 149.9, "mean_load_kg": 10628.0, "mean_loading_s": 136.7, "carry_back_kg": [180, 259], "mean_away_s": 57.2, "excavator_wait_s": 96.9, "passes": 25, "spoil_settled_t": 22.12, "lost_particles": 1369, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.7, "pit_left_t": 144.3, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "curl_gain_kg": -40, "curl_tears": 1, "mean_carried_kg": 1259, "mean_dumped_kg": 1103, "thin_passes": 2, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1109, "early_curl": true, "skips": 0, "at_swing_kg": 1077, "carried_kg": 1159, "left_kg": 43}, {"pass": 1, "t": 14.6, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1167, "early_curl": true, "skips": 0, "at_swing_kg": 1130, "carried_kg": 1164, "left_kg": 22}, {"pass": 2, "t": 29.5, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1301, "early_curl": true, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1325, "left_kg": 92}, {"pass": 3, "t": 44.8, "face": [-30.0, 0.0, 1.25], "dig_max_kg": 1287, "early_curl": true, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1343, "left_kg": 57}, {"pass": 4, "t": 59.9, "face": [-10.0, 0.0, 1.25], "dig_max_kg": 1285, "early_curl": true, "skips": 0, "at_swing_kg": 301, "carried_kg": 394, "left_kg": 187}, {"pass": 5, "t": 75.0, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1282, "early_curl": true, "skips": 0, "at_swing_kg": 1248, "carried_kg": 1270, "left_kg": 130}, {"pass": 6, "t": 92.6, "face": [0.0, 0.0, 0.64], "dig_max_kg": 1251, "early_curl": false, "skips": 0, "at_swing_kg": 1004, "carried_kg": 1122, "left_kg": 470}, {"pass": 7, "t": 111.9, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1233, "early_curl": true, "skips": 0, "at_swing_kg": 1147, "carried_kg": 1305, "left_kg": 43}, {"pass": 8, "t": 127.4, "face": [-30.0, 0.0, 0.58], "dig_max_kg": 1191, "early_curl": false, "skips": 0, "at_swing_kg": 1187, "carried_kg": 1369, "left_kg": 374}, {"pass": 9, "t": 145.1, "face": [-30.0, 0.0, 1.16], "dig_max_kg": 1325, "early_curl": true, "skips": 0, "at_swing_kg": 1408, "carried_kg": 1373, "left_kg": 61}, {"pass": 10, "t": 208.7, "face": [-30.0, 0.0, 0.65], "dig_max_kg": 1326, "early_curl": false, "skips": 0, "at_swing_kg": 1326, "carried_kg": 1354, "left_kg": 22}, {"pass": 11, "t": 225.2, "face": [20.0, 0.0, 0.54], "dig_max_kg": 1322, "early_curl": false, "skips": 0, "at_swing_kg": 944, "carried_kg": 1077, "left_kg": 63}, {"pass": 12, "t": 243.5, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1247, "early_curl": true, "skips": 0, "at_swing_kg": 983, "carried_kg": 938, "left_kg": 16}, {"pass": 13, "t": 261.5, "face": [0.0, 0.0, 0.5], "dig_max_kg": 1368, "early_curl": false, "skips": 0, "at_swing_kg": 1367, "carried_kg": 1416, "left_kg": 74}, {"pass": 14, "t": 277.6, "face": [0.0, 0.0, 1.15], "dig_max_kg": 1448, "early_curl": true, "skips": 0, "at_swing_kg": 1397, "carried_kg": 1374, "left_kg": 639}, {"pass": 15, "t": 296.6, "face": [0.0, 0.0, 0.52], "dig_max_kg": 1559, "early_curl": false, "skips": 0, "at_swing_kg": 1543, "carried_kg": 1568, "left_kg": 291}, {"pass": 16, "t": 316.4, "face": [0.0, 0.0, 1.11], "dig_max_kg": 1559, "early_curl": true, "skips": 0, "at_swing_kg": 1347, "carried_kg": 1338, "left_kg": 265}, {"pass": 17, "t": 334.7, "face": [0.0, 0.0, 0.49], "dig_max_kg": 1547, "early_curl": false, "skips": 0, "at_swing_kg": 1545, "carried_kg": 1576, "left_kg": 540}, {"pass": 18, "t": 354.7, "face": [0.0, 0.0, 1.14], "dig_max_kg": 1547, "early_curl": true, "skips": 0, "at_swing_kg": 1391, "carried_kg": 1332, "left_kg": 25}, {"pass": 19, "t": 418.6, "face": [0.0, 0.0, 0.61], "dig_max_kg": 1448, "early_curl": false, "skips": 0, "at_swing_kg": 1441, "carried_kg": 1402, "left_kg": 13}, {"pass": 20, "t": 435.3, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1448, "early_curl": false, "skips": 0, "at_swing_kg": 1185, "carried_kg": 1192, "left_kg": 13}, {"pass": 21, "t": 452.5, "face": [0.0, 0.0, 0.6], "dig_max_kg": 1406, "early_curl": false, "skips": 0, "at_swing_kg": 1390, "carried_kg": 1358, "left_kg": 68}, {"pass": 22, "t": 470.8, "face": [10.0, 0.0, 0.46], "dig_max_kg": 528, "early_curl": false, "skips": 0, "at_swing_kg": 515, "carried_kg": 710, "left_kg": 11}, {"pass": 23, "t": 487.0, "face": [10.0, 0.0, 0.95], "dig_max_kg": 1085, "early_curl": true, "skips": 0, "at_swing_kg": 820, "carried_kg": 1109, "left_kg": 266}, {"pass": 24, "t": 505.6, "face": [0.0, 0.0, 0.58], "dig_max_kg": 1937, "early_curl": false, "skips": 0, "at_swing_kg": 1937, "carried_kg": 1916, "left_kg": 135}], "dozer": {"passes": 6, "push_m": 45.73, "work_MJ": 0.84, "load_lifts": 4, "lifts_raised": 0, "parked_s": 365.87, "working_s": 160.93, "peak_kN": 54.09, "slip_s": 0.0, "futile_passes": 0, "mean_push_kN": [11.7, 17.8, 12.3, 13.3, 17.6, 23.8]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 45.1, "rms_from_grade_m": 0.175, "max_above_grade_m": 1.24, "at_grade_fraction": 0.34, "unspread_m3": 1.31}} diff --git a/phase2/logs/haul_quick25_lane_fix_loam_2.json b/phase2/logs/haul_quick25_lane_fix_loam_2.json new file mode 100644 index 0000000..4bf81c7 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_loam_2.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 516.4, "stopped_after_passes": 25, "realtime_factor": 0.884, "loads": [{"carrier": 0, "departed_s": 131.7, "load_kg": 10451, "loading_s": 131.7, "passes": 7}, {"carrier": 0, "departed_s": 292.4, "load_kg": 10068, "loading_s": 103.7, "passes": 6}, {"carrier": 0, "departed_s": 514.2, "load_kg": 11469, "loading_s": 164.5, "passes": 9}], "trips": [{"depart_t": 131.73, "stages": {"loading": 131.73, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.38, "lower": 5.0, "return": 5.15, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 306, "away_s": 56.99}, {"depart_t": 292.42, "stages": {"loading": 103.7, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.7, "lower": 5.0, "return": 5.07, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 215, "away_s": 57.21}], "delivered_t": 20.0, "loaded_t": 31.99, "loaded_t_per_hour": 223.0, "mean_departure_interval_s": 191.3, "t_per_hour": 139.4, "mean_load_kg": 10663.0, "mean_loading_s": 133.3, "carry_back_kg": [306, 215], "mean_away_s": 57.1, "excavator_wait_s": 97.2, "passes": 25, "spoil_settled_t": 19.96, "lost_particles": 1557, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.4, "pit_left_t": 143.5, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "curl_gain_kg": -79, "curl_tears": 0, "mean_carried_kg": 1235, "mean_dumped_kg": 1112, "thin_passes": 2, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1106, "early_curl": true, "skips": 0, "at_swing_kg": 1072, "carried_kg": 1152, "left_kg": 13}, {"pass": 1, "t": 15.2, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1173, "early_curl": true, "skips": 0, "at_swing_kg": 1147, "carried_kg": 1242, "left_kg": 48}, {"pass": 2, "t": 29.8, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1231, "early_curl": true, "skips": 0, "at_swing_kg": 1200, "carried_kg": 1227, "left_kg": 34}, {"pass": 3, "t": 44.4, "face": [-30.0, 0.0, 1.26], "dig_max_kg": 1267, "early_curl": true, "skips": 0, "at_swing_kg": 1201, "carried_kg": 1322, "left_kg": 25}, {"pass": 4, "t": 59.5, "face": [-10.0, 0.0, 1.25], "dig_max_kg": 1320, "early_curl": true, "skips": 0, "at_swing_kg": 1057, "carried_kg": 1343, "left_kg": 49}, {"pass": 5, "t": 75.3, "face": [20.0, 0.0, 1.14], "dig_max_kg": 1466, "early_curl": true, "skips": 0, "at_swing_kg": 1374, "carried_kg": 1425, "left_kg": 201}, {"pass": 6, "t": 95.3, "face": [0.0, 0.0, 0.77], "dig_max_kg": 1387, "early_curl": false, "skips": 0, "at_swing_kg": 1280, "carried_kg": 1408, "left_kg": 669}, {"pass": 7, "t": 117.1, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1348, "early_curl": true, "skips": 0, "at_swing_kg": 1314, "carried_kg": 1363, "left_kg": 119}, {"pass": 8, "t": 133.0, "face": [-20.0, 0.0, 0.68], "dig_max_kg": 1332, "early_curl": false, "skips": 0, "at_swing_kg": 1353, "carried_kg": 1328, "left_kg": 8}, {"pass": 9, "t": 196.1, "face": [-20.0, 0.0, 1.15], "dig_max_kg": 1331, "early_curl": true, "skips": 0, "at_swing_kg": 1180, "carried_kg": 1305, "left_kg": 12}, {"pass": 10, "t": 211.9, "face": [-10.0, 0.0, 0.54], "dig_max_kg": 1065, "early_curl": false, "skips": 0, "at_swing_kg": 1048, "carried_kg": 1196, "left_kg": 204}, {"pass": 11, "t": 226.9, "face": [-10.0, 0.0, 1.17], "dig_max_kg": 1401, "early_curl": true, "skips": 0, "at_swing_kg": 1258, "carried_kg": 1437, "left_kg": 96}, {"pass": 12, "t": 242.8, "face": [-20.0, 0.0, 0.57], "dig_max_kg": 1399, "early_curl": false, "skips": 0, "at_swing_kg": 1387, "carried_kg": 1419, "left_kg": 39}, {"pass": 13, "t": 259.1, "face": [-20.0, 0.0, 1.09], "dig_max_kg": 1399, "early_curl": true, "skips": 0, "at_swing_kg": 1150, "carried_kg": 1186, "left_kg": 29}, {"pass": 14, "t": 274.9, "face": [-10.0, 0.0, 0.51], "dig_max_kg": 1237, "early_curl": false, "skips": 0, "at_swing_kg": 1230, "carried_kg": 1346, "left_kg": 292}, {"pass": 15, "t": 293.8, "face": [-10.0, 0.0, 1.15], "dig_max_kg": 1417, "early_curl": true, "skips": 0, "at_swing_kg": 1260, "carried_kg": 1229, "left_kg": 12}, {"pass": 16, "t": 357.1, "face": [-40.0, 0.0, 0.49], "dig_max_kg": 1211, "early_curl": false, "skips": 0, "at_swing_kg": 584, "carried_kg": 591, "left_kg": 196}, {"pass": 17, "t": 371.6, "face": [-30.0, 0.0, 0.53], "dig_max_kg": 1104, "early_curl": false, "skips": 0, "at_swing_kg": 1104, "carried_kg": 1220, "left_kg": 26}, {"pass": 18, "t": 387.2, "face": [-30.0, 0.0, 1.06], "dig_max_kg": 1381, "early_curl": false, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1401, "left_kg": 68}, {"pass": 19, "t": 404.0, "face": [20.0, 0.0, 0.48], "dig_max_kg": 1184, "early_curl": false, "skips": 0, "at_swing_kg": 909, "carried_kg": 1127, "left_kg": 34}, {"pass": 20, "t": 421.7, "face": [20.0, 0.0, 0.97], "dig_max_kg": 1463, "early_curl": false, "skips": 0, "at_swing_kg": 1314, "carried_kg": 1342, "left_kg": 328}, {"pass": 21, "t": 442.6, "face": [20.0, 0.0, 0.49], "dig_max_kg": 1389, "early_curl": false, "skips": 0, "at_swing_kg": 1381, "carried_kg": 1467, "left_kg": 295}, {"pass": 22, "t": 464.0, "face": [20.0, 0.0, 0.97], "dig_max_kg": 1389, "early_curl": false, "skips": 0, "at_swing_kg": 345, "carried_kg": 407, "left_kg": 85}, {"pass": 23, "t": 481.6, "face": [0.0, 0.0, 0.46], "dig_max_kg": 888, "early_curl": false, "skips": 0, "at_swing_kg": 878, "carried_kg": 1012, "left_kg": 81}, {"pass": 24, "t": 498.2, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1441, "early_curl": false, "skips": 0, "at_swing_kg": 1355, "carried_kg": 1372, "left_kg": 101}], "dozer": {"passes": 6, "push_m": 37.33, "work_MJ": 0.6, "load_lifts": 9, "lifts_raised": 0, "parked_s": 368.98, "working_s": 147.38, "peak_kN": 67.83, "slip_s": 0.2, "futile_passes": 1, "mean_push_kN": [16.0, 19.8, 10.7, 14.7, 16.4, 2.7]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 40.7, "rms_from_grade_m": 0.146, "max_above_grade_m": 0.67, "at_grade_fraction": 0.35, "unspread_m3": 0.81}} diff --git a/phase2/logs/haul_quick25_lane_fix_loam_3.json b/phase2/logs/haul_quick25_lane_fix_loam_3.json new file mode 100644 index 0000000..2417867 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_fix_loam_3.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 523.2, "stopped_after_passes": 25, "realtime_factor": 0.943, "loads": [{"carrier": 0, "departed_s": 126.3, "load_kg": 9573, "loading_s": 126.3, "passes": 7}, {"carrier": 0, "departed_s": 332.3, "load_kg": 11312, "loading_s": 149.0, "passes": 8}], "trips": [{"depart_t": 126.32, "stages": {"loading": 126.32, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.3, "lower": 5.0, "return": 5.17, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 233, "away_s": 56.91}, {"depart_t": 332.27, "stages": {"loading": 149.03, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.6, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 257, "away_s": 57.15}], "delivered_t": 20.39, "loaded_t": 29.6, "loaded_t_per_hour": 203.7, "mean_departure_interval_s": 206.0, "t_per_hour": 140.3, "mean_load_kg": 10442.0, "mean_loading_s": 137.7, "carry_back_kg": [233, 257], "mean_away_s": 57.0, "excavator_wait_s": 96.2, "passes": 25, "spoil_settled_t": 20.23, "lost_particles": 1327, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 114.1, "pit_left_t": 147.8, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-40.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 110, "curl_tears": 1, "mean_carried_kg": 1171, "mean_dumped_kg": 1063, "thin_passes": 4, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1110, "early_curl": true, "skips": 0, "at_swing_kg": 1077, "carried_kg": 1156, "left_kg": 16}, {"pass": 1, "t": 14.6, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1171, "early_curl": true, "skips": 0, "at_swing_kg": 1129, "carried_kg": 1165, "left_kg": 129}, {"pass": 2, "t": 29.3, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1277, "early_curl": true, "skips": 0, "at_swing_kg": 1205, "carried_kg": 1308, "left_kg": 13}, {"pass": 3, "t": 44.1, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1264, "early_curl": true, "skips": 0, "at_swing_kg": 1231, "carried_kg": 1310, "left_kg": 73}, {"pass": 4, "t": 59.2, "face": [-10.0, 0.0, 1.21], "dig_max_kg": 1260, "early_curl": true, "skips": 0, "at_swing_kg": 95, "carried_kg": 135, "left_kg": 26}, {"pass": 5, "t": 74.3, "face": [20.0, 0.0, 1.14], "dig_max_kg": 1252, "early_curl": true, "skips": 0, "at_swing_kg": 1208, "carried_kg": 1252, "left_kg": 128}, {"pass": 6, "t": 92.4, "face": [10.0, 0.0, 0.62], "dig_max_kg": 1234, "early_curl": false, "skips": 0, "at_swing_kg": 1134, "carried_kg": 1345, "left_kg": 389}, {"pass": 7, "t": 112.0, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1276, "early_curl": true, "skips": 0, "at_swing_kg": 1190, "carried_kg": 1349, "left_kg": 68}, {"pass": 8, "t": 127.6, "face": [-30.0, 0.0, 0.57], "dig_max_kg": 1208, "early_curl": false, "skips": 0, "at_swing_kg": 1404, "carried_kg": 1367, "left_kg": 50}, {"pass": 9, "t": 190.8, "face": [-30.0, 0.0, 1.09], "dig_max_kg": 1331, "early_curl": true, "skips": 0, "at_swing_kg": 1121, "carried_kg": 1140, "left_kg": 15}, {"pass": 10, "t": 206.8, "face": [10.0, 0.0, 0.56], "dig_max_kg": 1395, "early_curl": false, "skips": 0, "at_swing_kg": 1390, "carried_kg": 1426, "left_kg": 16}, {"pass": 11, "t": 223.0, "face": [10.0, 0.0, 1.17], "dig_max_kg": 1415, "early_curl": true, "skips": 0, "at_swing_kg": 1401, "carried_kg": 1394, "left_kg": 71}, {"pass": 12, "t": 240.0, "face": [10.0, 0.0, 0.55], "dig_max_kg": 1404, "early_curl": false, "skips": 0, "at_swing_kg": 1374, "carried_kg": 1392, "left_kg": 70}, {"pass": 13, "t": 257.8, "face": [10.0, 0.0, 1.06], "dig_max_kg": 1380, "early_curl": true, "skips": 0, "at_swing_kg": 1294, "carried_kg": 1242, "left_kg": 74}, {"pass": 14, "t": 275.4, "face": [10.0, 0.0, 0.48], "dig_max_kg": 1455, "early_curl": false, "skips": 0, "at_swing_kg": 1452, "carried_kg": 1421, "left_kg": 326}, {"pass": 15, "t": 294.9, "face": [10.0, 0.0, 1.07], "dig_max_kg": 1455, "early_curl": true, "skips": 0, "at_swing_kg": 1169, "carried_kg": 1152, "left_kg": 490}, {"pass": 16, "t": 314.9, "face": [10.0, 0.0, 0.51], "dig_max_kg": 1362, "early_curl": false, "skips": 0, "at_swing_kg": 1352, "carried_kg": 1284, "left_kg": 222}, {"pass": 17, "t": 334.2, "face": [10.0, 0.0, 0.8], "dig_max_kg": 1362, "early_curl": false, "skips": 0, "at_swing_kg": 1137, "carried_kg": 1065, "left_kg": 14}, {"pass": 18, "t": 396.8, "face": [-20.0, 0.0, 0.44], "dig_max_kg": 370, "early_curl": false, "skips": 0, "at_swing_kg": 361, "carried_kg": 463, "left_kg": 16}, {"pass": 19, "t": 412.2, "face": [-40.0, 0.0, 0.41], "dig_max_kg": 418, "early_curl": false, "skips": 0, "at_swing_kg": 418, "carried_kg": 539, "left_kg": 0}, {"pass": 20, "t": 427.5, "face": [20.0, 0.0, 0.4], "dig_max_kg": 614, "early_curl": false, "skips": 0, "at_swing_kg": 608, "carried_kg": 917, "left_kg": 31}, {"pass": 21, "t": 445.6, "face": [20.0, 0.0, 0.77], "dig_max_kg": 1191, "early_curl": false, "skips": 0, "at_swing_kg": 1191, "carried_kg": 1359, "left_kg": 26}, {"pass": 22, "t": 463.7, "face": [20.0, 0.0, 0.7], "dig_max_kg": 1330, "early_curl": false, "skips": 0, "at_swing_kg": 1321, "carried_kg": 1538, "left_kg": 15}, {"pass": 23, "t": 481.8, "face": [20.0, 0.0, 0.78], "dig_max_kg": 1321, "early_curl": false, "skips": 0, "at_swing_kg": 1220, "carried_kg": 1311, "left_kg": 75}, {"pass": 24, "t": 500.9, "face": [20.0, 0.0, 0.81], "dig_max_kg": 1263, "early_curl": false, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1252, "left_kg": 352}], "dozer": {"passes": 8, "push_m": 47.83, "work_MJ": 0.72, "load_lifts": 14, "lifts_raised": 0, "parked_s": 338.53, "working_s": 184.67, "peak_kN": 83.07, "slip_s": 0.47, "futile_passes": 2, "mean_push_kN": [21.5, 1.6, 10.1, 14.8, 19.7, 5.9, 0.5, 18.3]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 41.1, "rms_from_grade_m": 0.156, "max_above_grade_m": 0.82, "at_grade_fraction": 0.3, "unspread_m3": 0.68}} diff --git a/phase2/logs/haul_quick25_lane_rest_clay_1.json b/phase2/logs/haul_quick25_lane_rest_clay_1.json new file mode 100644 index 0000000..a77b5e3 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_rest_clay_1.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 535.5, "stopped_after_passes": 25, "realtime_factor": 0.925, "loads": [{"carrier": 0, "departed_s": 174.5, "load_kg": 11195, "loading_s": 174.5, "passes": 9}, {"carrier": 0, "departed_s": 382.3, "load_kg": 10867, "loading_s": 149.5, "passes": 8}], "trips": [{"depart_t": 174.48, "stages": {"loading": 174.48, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.13, "lower": 5.0, "return": 4.7, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 340, "away_s": 58.29}, {"depart_t": 382.28, "stages": {"loading": 149.52, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.08, "lower": 5.0, "return": 4.45, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 332, "away_s": 58.99}], "delivered_t": 21.39, "loaded_t": 29.67, "loaded_t_per_hour": 199.5, "mean_departure_interval_s": 207.8, "t_per_hour": 143.8, "mean_load_kg": 11031.0, "mean_loading_s": 162.0, "carry_back_kg": [340, 332], "mean_away_s": 58.6, "excavator_wait_s": 98.7, "passes": 25, "spoil_settled_t": 21.21, "lost_particles": 1253, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 117.3, "pit_left_t": 159.3, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 178, "curl_tears": 0, "mean_carried_kg": 1194, "mean_dumped_kg": 1037, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1205, "early_curl": true, "skips": 0, "at_swing_kg": 1193, "carried_kg": 1215, "left_kg": 81}, {"pass": 1, "t": 15.6, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1221, "early_curl": true, "skips": 0, "at_swing_kg": 1206, "carried_kg": 1200, "left_kg": 111}, {"pass": 2, "t": 32.4, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1208, "early_curl": true, "skips": 0, "at_swing_kg": 1156, "carried_kg": 1176, "left_kg": 134}, {"pass": 3, "t": 49.9, "face": [-10.0, 0.0, 1.28], "dig_max_kg": 1224, "early_curl": true, "skips": 0, "at_swing_kg": 1181, "carried_kg": 1217, "left_kg": 350}, {"pass": 4, "t": 67.2, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1329, "early_curl": true, "skips": 0, "at_swing_kg": 1284, "carried_kg": 1343, "left_kg": 35}, {"pass": 5, "t": 82.6, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1301, "early_curl": false, "skips": 0, "at_swing_kg": 919, "carried_kg": 989, "left_kg": 51}, {"pass": 6, "t": 100.8, "face": [0.0, 0.0, 0.84], "dig_max_kg": 1226, "early_curl": false, "skips": 0, "at_swing_kg": 1204, "carried_kg": 1309, "left_kg": 119}, {"pass": 7, "t": 119.4, "face": [0.0, 0.0, 0.86], "dig_max_kg": 1224, "early_curl": false, "skips": 0, "at_swing_kg": 1060, "carried_kg": 1040, "left_kg": 376}, {"pass": 8, "t": 137.0, "face": [-20.0, 0.0, 0.84], "dig_max_kg": 1235, "early_curl": false, "skips": 0, "at_swing_kg": 1214, "carried_kg": 1297, "left_kg": 712}, {"pass": 9, "t": 156.2, "face": [-20.0, 0.0, 0.94], "dig_max_kg": 1226, "early_curl": true, "skips": 0, "at_swing_kg": 1188, "carried_kg": 1224, "left_kg": 670}, {"pass": 10, "t": 176.6, "face": [20.0, 0.0, 0.7], "dig_max_kg": 1277, "early_curl": false, "skips": 0, "at_swing_kg": 1420, "carried_kg": 1423, "left_kg": 103}, {"pass": 11, "t": 242.4, "face": [20.0, 0.0, 0.94], "dig_max_kg": 1241, "early_curl": false, "skips": 0, "at_swing_kg": 614, "carried_kg": 675, "left_kg": 28}, {"pass": 12, "t": 260.7, "face": [20.0, 0.0, 0.98], "dig_max_kg": 625, "early_curl": false, "skips": 0, "at_swing_kg": 412, "carried_kg": 463, "left_kg": 3}, {"pass": 13, "t": 278.5, "face": [10.0, 0.0, 0.67], "dig_max_kg": 1206, "early_curl": false, "skips": 0, "at_swing_kg": 1200, "carried_kg": 1161, "left_kg": 41}, {"pass": 14, "t": 294.7, "face": [10.0, 0.0, 1.13], "dig_max_kg": 1227, "early_curl": true, "skips": 0, "at_swing_kg": 1214, "carried_kg": 1326, "left_kg": 114}, {"pass": 15, "t": 312.3, "face": [0.0, 0.0, 0.72], "dig_max_kg": 1381, "early_curl": false, "skips": 0, "at_swing_kg": 1345, "carried_kg": 1415, "left_kg": 114}, {"pass": 16, "t": 329.5, "face": [0.0, 0.0, 1.08], "dig_max_kg": 1194, "early_curl": true, "skips": 0, "at_swing_kg": 1177, "carried_kg": 1309, "left_kg": 77}, {"pass": 17, "t": 345.9, "face": [-30.0, 0.0, 0.65], "dig_max_kg": 1183, "early_curl": false, "skips": 0, "at_swing_kg": 1161, "carried_kg": 1196, "left_kg": 14}, {"pass": 18, "t": 361.8, "face": [-30.0, 0.0, 0.76], "dig_max_kg": 1204, "early_curl": false, "skips": 0, "at_swing_kg": 1154, "carried_kg": 1272, "left_kg": 310}, {"pass": 19, "t": 383.2, "face": [-30.0, 0.0, 1.01], "dig_max_kg": 1160, "early_curl": true, "skips": 0, "at_swing_kg": 1182, "carried_kg": 1160, "left_kg": 12}, {"pass": 20, "t": 449.2, "face": [0.0, 0.0, 0.61], "dig_max_kg": 1348, "early_curl": false, "skips": 0, "at_swing_kg": 1341, "carried_kg": 1372, "left_kg": 54}, {"pass": 21, "t": 467.0, "face": [0.0, 0.0, 1.02], "dig_max_kg": 1348, "early_curl": true, "skips": 0, "at_swing_kg": 1173, "carried_kg": 1200, "left_kg": 57}, {"pass": 22, "t": 483.5, "face": [-30.0, 0.0, 0.58], "dig_max_kg": 1373, "early_curl": false, "skips": 0, "at_swing_kg": 1370, "carried_kg": 1330, "left_kg": 79}, {"pass": 23, "t": 500.0, "face": [-20.0, 0.0, 0.54], "dig_max_kg": 1146, "early_curl": false, "skips": 0, "at_swing_kg": 1064, "carried_kg": 1395, "left_kg": 86}, {"pass": 24, "t": 516.4, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1143, "early_curl": true, "skips": 0, "at_swing_kg": 1106, "carried_kg": 1142, "left_kg": 185}], "dozer": {"passes": 9, "push_m": 61.89, "work_MJ": 1.31, "load_lifts": 11, "lifts_raised": 0, "parked_s": 334.27, "working_s": 201.23, "peak_kN": 58.98, "slip_s": 0.03, "futile_passes": 2, "mean_push_kN": [19.2, 18.5, 17.7, 15.8, 18.7, 22.1, 21.9, 20.8, 18.7]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 38.1, "rms_from_grade_m": 0.214, "max_above_grade_m": 0.91, "at_grade_fraction": 0.35, "unspread_m3": 2.11}} diff --git a/phase2/logs/haul_quick25_lane_rest_clay_2.json b/phase2/logs/haul_quick25_lane_rest_clay_2.json new file mode 100644 index 0000000..4160100 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_rest_clay_2.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 547.1, "stopped_after_passes": 25, "realtime_factor": 0.946, "loads": [{"carrier": 0, "departed_s": 168.2, "load_kg": 11870, "loading_s": 168.2, "passes": 9}, {"carrier": 0, "departed_s": 479.3, "load_kg": 11743, "loading_s": 252.6, "passes": 13}], "trips": [{"depart_t": 168.23, "stages": {"loading": 168.23, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.38, "lower": 5.0, "return": 4.63, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 233, "away_s": 58.47}, {"depart_t": 479.32, "stages": {"loading": 252.62, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.8, "lower": 5.0, "return": 4.52, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 373, "away_s": 58.76}], "delivered_t": 23.01, "loaded_t": 24.89, "loaded_t_per_hour": 163.8, "mean_departure_interval_s": 311.1, "t_per_hour": 151.4, "mean_load_kg": 11806.0, "mean_loading_s": 210.4, "carry_back_kg": [233, 373], "mean_away_s": 58.6, "excavator_wait_s": 94.2, "passes": 25, "spoil_settled_t": 19.51, "lost_particles": 1240, "pool_short": 0, "skipped": [{"t": 479.02, "stage": "swing back", "max_err_rad": 0.0}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 117.2, "pit_left_t": 161.0, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-20.0, 0.0]], "curl_gain_kg": 136, "curl_tears": 0, "mean_carried_kg": 1177, "mean_dumped_kg": 969, "thin_passes": 2, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1205, "early_curl": true, "skips": 0, "at_swing_kg": 1183, "carried_kg": 1232, "left_kg": 103}, {"pass": 1, "t": 15.7, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1198, "early_curl": true, "skips": 0, "at_swing_kg": 1119, "carried_kg": 1075, "left_kg": 99}, {"pass": 2, "t": 31.6, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1187, "early_curl": true, "skips": 0, "at_swing_kg": 1168, "carried_kg": 1141, "left_kg": 279}, {"pass": 3, "t": 48.9, "face": [-30.0, 0.0, 1.29], "dig_max_kg": 1315, "early_curl": true, "skips": 0, "at_swing_kg": 1273, "carried_kg": 1305, "left_kg": 220}, {"pass": 4, "t": 66.1, "face": [-10.0, 0.0, 1.26], "dig_max_kg": 1275, "early_curl": true, "skips": 0, "at_swing_kg": 1233, "carried_kg": 1324, "left_kg": 83}, {"pass": 5, "t": 81.8, "face": [20.0, 0.0, 1.18], "dig_max_kg": 1232, "early_curl": true, "skips": 0, "at_swing_kg": 972, "carried_kg": 1007, "left_kg": 81}, {"pass": 6, "t": 99.1, "face": [-30.0, 0.0, 0.8], "dig_max_kg": 1153, "early_curl": false, "skips": 0, "at_swing_kg": 1133, "carried_kg": 1231, "left_kg": 81}, {"pass": 7, "t": 115.9, "face": [-30.0, 0.0, 0.85], "dig_max_kg": 1234, "early_curl": false, "skips": 0, "at_swing_kg": 1218, "carried_kg": 1223, "left_kg": 16}, {"pass": 8, "t": 131.7, "face": [0.0, 0.0, 0.8], "dig_max_kg": 1240, "early_curl": false, "skips": 0, "at_swing_kg": 1225, "carried_kg": 1336, "left_kg": 799}, {"pass": 9, "t": 151.2, "face": [0.0, 0.0, 1.08], "dig_max_kg": 1283, "early_curl": true, "skips": 0, "at_swing_kg": 1242, "carried_kg": 1298, "left_kg": 453}, {"pass": 10, "t": 170.4, "face": [20.0, 0.0, 0.72], "dig_max_kg": 1263, "early_curl": false, "skips": 0, "at_swing_kg": 1213, "carried_kg": 1182, "left_kg": 108}, {"pass": 11, "t": 236.6, "face": [20.0, 0.0, 0.76], "dig_max_kg": 1100, "early_curl": false, "skips": 0, "at_swing_kg": 1035, "carried_kg": 1085, "left_kg": 133}, {"pass": 12, "t": 256.9, "face": [20.0, 0.0, 1.03], "dig_max_kg": 419, "early_curl": false, "skips": 0, "at_swing_kg": 219, "carried_kg": 202, "left_kg": 0}, {"pass": 13, "t": 273.6, "face": [-30.0, 0.0, 0.7], "dig_max_kg": 1380, "early_curl": false, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1246, "left_kg": 22}, {"pass": 14, "t": 289.3, "face": [-30.0, 0.0, 0.72], "dig_max_kg": 1253, "early_curl": false, "skips": 0, "at_swing_kg": 1241, "carried_kg": 1213, "left_kg": 21}, {"pass": 15, "t": 305.9, "face": [10.0, 0.0, 0.68], "dig_max_kg": 1247, "early_curl": false, "skips": 0, "at_swing_kg": 1232, "carried_kg": 1190, "left_kg": 54}, {"pass": 16, "t": 323.6, "face": [10.0, 0.0, 1.0], "dig_max_kg": 1150, "early_curl": true, "skips": 0, "at_swing_kg": 1127, "carried_kg": 1230, "left_kg": 79}, {"pass": 17, "t": 340.5, "face": [10.0, 0.0, 0.55], "dig_max_kg": 1407, "early_curl": false, "skips": 0, "at_swing_kg": 1345, "carried_kg": 1418, "left_kg": 692}, {"pass": 18, "t": 363.9, "face": [10.0, 0.0, 1.19], "dig_max_kg": 1349, "early_curl": true, "skips": 0, "at_swing_kg": 1257, "carried_kg": 1280, "left_kg": 410}, {"pass": 19, "t": 383.2, "face": [10.0, 0.0, 0.7], "dig_max_kg": 1259, "early_curl": false, "skips": 0, "at_swing_kg": 1149, "carried_kg": 1187, "left_kg": 19}, {"pass": 20, "t": 400.9, "face": [10.0, 0.0, 0.57], "dig_max_kg": 1358, "early_curl": false, "skips": 0, "at_swing_kg": 1356, "carried_kg": 1304, "left_kg": 765}, {"pass": 21, "t": 421.9, "face": [10.0, 0.0, 1.09], "dig_max_kg": 876, "early_curl": true, "skips": 0, "at_swing_kg": 348, "carried_kg": 417, "left_kg": 4}, {"pass": 22, "t": 438.3, "face": [0.0, 0.0, 0.58], "dig_max_kg": 1579, "early_curl": false, "skips": 0, "at_swing_kg": 1560, "carried_kg": 1653, "left_kg": 41}, {"pass": 23, "t": 454.4, "face": [0.0, 0.0, 0.89], "dig_max_kg": 1578, "early_curl": true, "skips": 1, "at_swing_kg": 1311, "carried_kg": 1423, "left_kg": 605}, {"pass": 24, "t": 479.0, "face": [20.0, 0.0, 0.81], "dig_max_kg": 1313, "early_curl": true, "skips": 0, "at_swing_kg": 1272, "carried_kg": 1227, "left_kg": 45}], "dozer": {"passes": 7, "push_m": 43.96, "work_MJ": 0.71, "load_lifts": 8, "lifts_raised": 0, "parked_s": 394.32, "working_s": 152.78, "peak_kN": 56.69, "slip_s": 0.03, "futile_passes": 4, "mean_push_kN": [17.5, 20.7, 16.7, 16.7, 5.3, 12.5, 0.0]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 30.7, "rms_from_grade_m": 0.509, "max_above_grade_m": 1.98, "at_grade_fraction": 0.36, "unspread_m3": 7.32}} diff --git a/phase2/logs/haul_quick25_lane_rest_clay_3.json b/phase2/logs/haul_quick25_lane_rest_clay_3.json new file mode 100644 index 0000000..6588607 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_rest_clay_3.json @@ -0,0 +1 @@ +{"soil": "clay", "carriers": 1, "sim_s": 538.6, "stopped_after_passes": 25, "realtime_factor": 0.938, "loads": [{"carrier": 0, "departed_s": 172.9, "load_kg": 11505, "loading_s": 172.9, "passes": 9}, {"carrier": 0, "departed_s": 398.1, "load_kg": 10039, "loading_s": 166.9, "passes": 9}], "trips": [{"depart_t": 172.93, "stages": {"loading": 172.93, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.18, "lower": 5.0, "return": 4.68, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 342, "away_s": 58.32}, {"depart_t": 398.12, "stages": {"loading": 166.87, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.5, "lower": 5.0, "return": 4.6, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 299, "away_s": 58.55}], "delivered_t": 20.9, "loaded_t": 26.31, "loaded_t_per_hour": 175.8, "mean_departure_interval_s": 225.2, "t_per_hour": 139.7, "mean_load_kg": 10772.0, "mean_loading_s": 169.9, "carry_back_kg": [342, 299], "mean_away_s": 58.4, "excavator_wait_s": 98.2, "passes": 25, "spoil_settled_t": 17.02, "lost_particles": 1111, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.9, "pit_left_t": 162.9, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0]], "curl_gain_kg": -81, "curl_tears": 0, "mean_carried_kg": 1114, "mean_dumped_kg": 949, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1238, "early_curl": true, "skips": 0, "at_swing_kg": 1220, "carried_kg": 1262, "left_kg": 110}, {"pass": 1, "t": 17.2, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1234, "early_curl": true, "skips": 0, "at_swing_kg": 1178, "carried_kg": 1167, "left_kg": 132}, {"pass": 2, "t": 34.2, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1299, "early_curl": true, "skips": 0, "at_swing_kg": 1264, "carried_kg": 1342, "left_kg": 245}, {"pass": 3, "t": 51.0, "face": [-30.0, 0.0, 1.26], "dig_max_kg": 1284, "early_curl": true, "skips": 0, "at_swing_kg": 1118, "carried_kg": 1136, "left_kg": 96}, {"pass": 4, "t": 67.1, "face": [-10.0, 0.0, 1.21], "dig_max_kg": 1353, "early_curl": true, "skips": 0, "at_swing_kg": 1332, "carried_kg": 1376, "left_kg": 100}, {"pass": 5, "t": 83.1, "face": [20.0, 0.0, 1.15], "dig_max_kg": 1353, "early_curl": true, "skips": 0, "at_swing_kg": 906, "carried_kg": 964, "left_kg": 26}, {"pass": 6, "t": 100.8, "face": [10.0, 0.0, 0.81], "dig_max_kg": 1223, "early_curl": false, "skips": 0, "at_swing_kg": 1206, "carried_kg": 1228, "left_kg": 112}, {"pass": 7, "t": 118.6, "face": [-30.0, 0.0, 0.78], "dig_max_kg": 1223, "early_curl": false, "skips": 0, "at_swing_kg": 1101, "carried_kg": 1179, "left_kg": 384}, {"pass": 8, "t": 136.1, "face": [-30.0, 0.0, 0.87], "dig_max_kg": 1102, "early_curl": true, "skips": 0, "at_swing_kg": 1071, "carried_kg": 1060, "left_kg": 59}, {"pass": 9, "t": 153.3, "face": [20.0, 0.0, 0.62], "dig_max_kg": 1183, "early_curl": false, "skips": 0, "at_swing_kg": 1168, "carried_kg": 1218, "left_kg": 256}, {"pass": 10, "t": 175.1, "face": [20.0, 0.0, 0.86], "dig_max_kg": 1183, "early_curl": false, "skips": 0, "at_swing_kg": 723, "carried_kg": 715, "left_kg": 32}, {"pass": 11, "t": 239.0, "face": [10.0, 0.0, 1.12], "dig_max_kg": 1207, "early_curl": true, "skips": 0, "at_swing_kg": 1188, "carried_kg": 1251, "left_kg": 94}, {"pass": 12, "t": 256.4, "face": [20.0, 0.0, 0.97], "dig_max_kg": 1196, "early_curl": false, "skips": 0, "at_swing_kg": 293, "carried_kg": 368, "left_kg": 1}, {"pass": 13, "t": 273.9, "face": [0.0, 0.0, 0.56], "dig_max_kg": 1195, "early_curl": false, "skips": 0, "at_swing_kg": 1192, "carried_kg": 1258, "left_kg": 4}, {"pass": 14, "t": 289.4, "face": [0.0, 0.0, 1.03], "dig_max_kg": 1278, "early_curl": true, "skips": 0, "at_swing_kg": 1258, "carried_kg": 1310, "left_kg": 94}, {"pass": 15, "t": 306.6, "face": [10.0, 0.0, 0.53], "dig_max_kg": 1273, "early_curl": false, "skips": 0, "at_swing_kg": 1272, "carried_kg": 1298, "left_kg": 312}, {"pass": 16, "t": 325.8, "face": [10.0, 0.0, 1.19], "dig_max_kg": 1276, "early_curl": true, "skips": 0, "at_swing_kg": 1241, "carried_kg": 1267, "left_kg": 186}, {"pass": 17, "t": 343.9, "face": [10.0, 0.0, 0.68], "dig_max_kg": 1267, "early_curl": false, "skips": 0, "at_swing_kg": 1147, "carried_kg": 1120, "left_kg": 655}, {"pass": 18, "t": 363.6, "face": [10.0, 0.0, 0.92], "dig_max_kg": 1173, "early_curl": true, "skips": 0, "at_swing_kg": 1140, "carried_kg": 1192, "left_kg": 299}, {"pass": 19, "t": 382.0, "face": [-30.0, 0.0, 0.54], "dig_max_kg": 1342, "early_curl": false, "skips": 0, "at_swing_kg": 1245, "carried_kg": 1224, "left_kg": 371}, {"pass": 20, "t": 399.3, "face": [-30.0, 0.0, 0.93], "dig_max_kg": 1248, "early_curl": true, "skips": 0, "at_swing_kg": 1058, "carried_kg": 1049, "left_kg": 99}, {"pass": 21, "t": 465.4, "face": [-30.0, 0.0, 0.59], "dig_max_kg": 1254, "early_curl": false, "skips": 0, "at_swing_kg": 1246, "carried_kg": 1177, "left_kg": 34}, {"pass": 22, "t": 482.2, "face": [10.0, 0.0, 0.49], "dig_max_kg": 1531, "early_curl": false, "skips": 0, "at_swing_kg": 1526, "carried_kg": 1505, "left_kg": 271}, {"pass": 23, "t": 501.2, "face": [10.0, 0.0, 1.1], "dig_max_kg": 1531, "early_curl": true, "skips": 0, "at_swing_kg": 416, "carried_kg": 552, "left_kg": 89}, {"pass": 24, "t": 519.1, "face": [20.0, 0.0, 0.72], "dig_max_kg": 556, "early_curl": false, "skips": 0, "at_swing_kg": 542, "carried_kg": 636, "left_kg": 61}], "dozer": {"passes": 6, "push_m": 46.03, "work_MJ": 1.02, "load_lifts": 22, "lifts_raised": 0, "parked_s": 380.23, "working_s": 158.37, "peak_kN": 62.68, "slip_s": 0.25, "futile_passes": 0, "mean_push_kN": [18.9, 26.7, 20.1, 18.1, 24.5, 16.0]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 32.4, "rms_from_grade_m": 0.26, "max_above_grade_m": 1.43, "at_grade_fraction": 0.34, "unspread_m3": 2.85}} diff --git a/phase2/logs/haul_quick25_lane_rest_loam_1.json b/phase2/logs/haul_quick25_lane_rest_loam_1.json new file mode 100644 index 0000000..9fceb95 --- /dev/null +++ b/phase2/logs/haul_quick25_lane_rest_loam_1.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 563.2, "stopped_after_passes": 25, "realtime_factor": 0.884, "loads": [{"carrier": 0, "departed_s": 125.6, "load_kg": 10703, "loading_s": 125.6, "passes": 7}, {"carrier": 0, "departed_s": 309.7, "load_kg": 10405, "loading_s": 127.0, "passes": 7}, {"carrier": 0, "departed_s": 479.8, "load_kg": 9583, "loading_s": 113.1, "passes": 6}], "trips": [{"depart_t": 125.62, "stages": {"loading": 125.62, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.5, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 181, "away_s": 57.06}, {"depart_t": 309.67, "stages": {"loading": 126.98, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.45, "lower": 5.0, "return": 5.13, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 125, "away_s": 57.03}, {"depart_t": 479.83, "stages": {"loading": 113.13, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.53, "lower": 5.0, "return": 5.12, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 325, "away_s": 57.1}], "delivered_t": 30.06, "loaded_t": 33.32, "loaded_t_per_hour": 213.0, "mean_departure_interval_s": 177.1, "t_per_hour": 192.1, "mean_load_kg": 10230.0, "mean_loading_s": 121.9, "carry_back_kg": [181, 125, 325], "mean_away_s": 57.1, "excavator_wait_s": 142.7, "passes": 25, "spoil_settled_t": 26.03, "lost_particles": 1620, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 171.2, "pit_left_t": 143.6, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 36, "curl_tears": 0, "mean_carried_kg": 1262, "mean_dumped_kg": 1166, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1112, "early_curl": true, "skips": 0, "at_swing_kg": 1076, "carried_kg": 1166, "left_kg": 13}, {"pass": 1, "t": 14.4, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1186, "early_curl": true, "skips": 0, "at_swing_kg": 1136, "carried_kg": 1172, "left_kg": 11}, {"pass": 2, "t": 29.2, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1290, "early_curl": true, "skips": 0, "at_swing_kg": 1240, "carried_kg": 1363, "left_kg": 24}, {"pass": 3, "t": 44.3, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1257, "early_curl": true, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1280, "left_kg": 44}, {"pass": 4, "t": 59.5, "face": [-10.0, 0.0, 1.23], "dig_max_kg": 1270, "early_curl": true, "skips": 0, "at_swing_kg": 234, "carried_kg": 330, "left_kg": 1}, {"pass": 5, "t": 74.6, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1695, "early_curl": false, "skips": 0, "at_swing_kg": 1656, "carried_kg": 1579, "left_kg": 78}, {"pass": 6, "t": 92.0, "face": [0.0, 0.0, 0.61], "dig_max_kg": 1676, "early_curl": false, "skips": 0, "at_swing_kg": 792, "carried_kg": 1011, "left_kg": 376}, {"pass": 7, "t": 111.3, "face": [0.0, 0.0, 1.07], "dig_max_kg": 1540, "early_curl": false, "skips": 0, "at_swing_kg": 1535, "carried_kg": 1515, "left_kg": 64}, {"pass": 8, "t": 127.3, "face": [0.0, 0.0, 0.82], "dig_max_kg": 1571, "early_curl": false, "skips": 0, "at_swing_kg": 1297, "carried_kg": 1233, "left_kg": 29}, {"pass": 9, "t": 190.8, "face": [0.0, 0.0, 0.99], "dig_max_kg": 1363, "early_curl": false, "skips": 0, "at_swing_kg": 1347, "carried_kg": 1329, "left_kg": 46}, {"pass": 10, "t": 207.2, "face": [-30.0, 0.0, 0.53], "dig_max_kg": 1082, "early_curl": false, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1264, "left_kg": 67}, {"pass": 11, "t": 222.5, "face": [-30.0, 0.0, 1.13], "dig_max_kg": 1401, "early_curl": true, "skips": 0, "at_swing_kg": 1276, "carried_kg": 1336, "left_kg": 96}, {"pass": 12, "t": 237.9, "face": [-30.0, 0.0, 0.56], "dig_max_kg": 1340, "early_curl": false, "skips": 0, "at_swing_kg": 1335, "carried_kg": 1374, "left_kg": 75}, {"pass": 13, "t": 254.9, "face": [10.0, 0.0, 0.47], "dig_max_kg": 1051, "early_curl": false, "skips": 0, "at_swing_kg": 1049, "carried_kg": 1266, "left_kg": 55}, {"pass": 14, "t": 271.2, "face": [10.0, 0.0, 1.09], "dig_max_kg": 1233, "early_curl": false, "skips": 0, "at_swing_kg": 1081, "carried_kg": 1076, "left_kg": 204}, {"pass": 15, "t": 290.4, "face": [20.0, 0.0, 0.51], "dig_max_kg": 1205, "early_curl": false, "skips": 0, "at_swing_kg": 1191, "carried_kg": 1426, "left_kg": 255}, {"pass": 16, "t": 311.8, "face": [20.0, 0.0, 0.93], "dig_max_kg": 1205, "early_curl": false, "skips": 0, "at_swing_kg": 713, "carried_kg": 698, "left_kg": 41}, {"pass": 17, "t": 374.2, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1292, "early_curl": false, "skips": 0, "at_swing_kg": 1118, "carried_kg": 1150, "left_kg": 16}, {"pass": 18, "t": 392.7, "face": [10.0, 0.0, 0.52], "dig_max_kg": 1620, "early_curl": false, "skips": 0, "at_swing_kg": 1610, "carried_kg": 1683, "left_kg": 26}, {"pass": 19, "t": 409.8, "face": [10.0, 0.0, 1.17], "dig_max_kg": 1620, "early_curl": true, "skips": 0, "at_swing_kg": 1194, "carried_kg": 1334, "left_kg": 41}, {"pass": 20, "t": 426.2, "face": [0.0, 0.0, 0.63], "dig_max_kg": 1652, "early_curl": false, "skips": 0, "at_swing_kg": 1648, "carried_kg": 1597, "left_kg": 280}, {"pass": 21, "t": 445.1, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1227, "early_curl": true, "skips": 0, "at_swing_kg": 1154, "carried_kg": 1221, "left_kg": 28}, {"pass": 22, "t": 462.3, "face": [0.0, 0.0, 0.46], "dig_max_kg": 1706, "early_curl": false, "skips": 0, "at_swing_kg": 1691, "carried_kg": 1699, "left_kg": 359}, {"pass": 23, "t": 481.5, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1364, "early_curl": true, "skips": 0, "at_swing_kg": 1211, "carried_kg": 1167, "left_kg": 75}, {"pass": 24, "t": 545.3, "face": [10.0, 0.0, 0.45], "dig_max_kg": 1240, "early_curl": false, "skips": 0, "at_swing_kg": 1126, "carried_kg": 1291, "left_kg": 101}], "dozer": {"passes": 6, "push_m": 49.01, "work_MJ": 0.78, "load_lifts": 17, "lifts_raised": 1, "parked_s": 382.83, "working_s": 180.38, "peak_kN": 89.41, "slip_s": 0.78, "futile_passes": 0, "mean_push_kN": [23.1, 8.6, 10.6, 12.3, 22.9, 17.0]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 46.8, "rms_from_grade_m": 0.333, "max_above_grade_m": 0.68, "at_grade_fraction": 0.19, "unspread_m3": 1.0}} diff --git a/phase2/logs/haul_quick25_lane_rest_loam_2.json b/phase2/logs/haul_quick25_lane_rest_loam_2.json new file mode 100644 index 0000000..2b736cd --- /dev/null +++ b/phase2/logs/haul_quick25_lane_rest_loam_2.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 549.7, "stopped_after_passes": 25, "realtime_factor": 0.988, "loads": [{"carrier": 0, "departed_s": 112.9, "load_kg": 10545, "loading_s": 112.9, "passes": 6}, {"carrier": 0, "departed_s": 272.0, "load_kg": 9732, "loading_s": 102.3, "passes": 6}, {"carrier": 0, "departed_s": 417.0, "load_kg": 9057, "loading_s": 87.7, "passes": 5}], "trips": [{"depart_t": 112.87, "stages": {"loading": 112.87, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.25, "lower": 5.0, "return": 5.18, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 204, "away_s": 56.88}, {"depart_t": 272.02, "stages": {"loading": 102.27, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.85, "lower": 5.0, "return": 5.03, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 141, "away_s": 57.33}, {"depart_t": 417.05, "stages": {"loading": 87.7, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.57, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 277, "away_s": 57.12}], "delivered_t": 28.71, "loaded_t": 37.05, "loaded_t_per_hour": 242.6, "mean_departure_interval_s": 152.1, "t_per_hour": 188.0, "mean_load_kg": 9778.0, "mean_loading_s": 101.0, "carry_back_kg": [204, 141, 277], "mean_away_s": 57.1, "excavator_wait_s": 145.0, "passes": 25, "spoil_settled_t": 28.54, "lost_particles": 1508, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 171.3, "pit_left_t": 140.8, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [20.0, 0.0]], "curl_gain_kg": 64, "curl_tears": 0, "mean_carried_kg": 1326, "mean_dumped_kg": 1227, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1109, "early_curl": true, "skips": 0, "at_swing_kg": 1072, "carried_kg": 1149, "left_kg": 25}, {"pass": 1, "t": 14.6, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1172, "early_curl": true, "skips": 0, "at_swing_kg": 1132, "carried_kg": 1168, "left_kg": 22}, {"pass": 2, "t": 29.4, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1288, "early_curl": true, "skips": 0, "at_swing_kg": 1263, "carried_kg": 1330, "left_kg": 43}, {"pass": 3, "t": 45.0, "face": [-10.0, 0.0, 1.26], "dig_max_kg": 1311, "early_curl": true, "skips": 0, "at_swing_kg": 675, "carried_kg": 1058, "left_kg": 157}, {"pass": 4, "t": 60.2, "face": [-30.0, 0.0, 1.25], "dig_max_kg": 1572, "early_curl": true, "skips": 0, "at_swing_kg": 1474, "carried_kg": 1603, "left_kg": 117}, {"pass": 5, "t": 75.9, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1478, "early_curl": true, "skips": 0, "at_swing_kg": 1424, "carried_kg": 1433, "left_kg": 251}, {"pass": 6, "t": 95.4, "face": [0.0, 0.0, 0.72], "dig_max_kg": 1426, "early_curl": false, "skips": 0, "at_swing_kg": 1217, "carried_kg": 1318, "left_kg": 372}, {"pass": 7, "t": 114.5, "face": [0.0, 0.0, 1.13], "dig_max_kg": 1364, "early_curl": true, "skips": 0, "at_swing_kg": 1488, "carried_kg": 1432, "left_kg": 41}, {"pass": 8, "t": 176.8, "face": [-20.0, 0.0, 0.67], "dig_max_kg": 1364, "early_curl": false, "skips": 0, "at_swing_kg": 1123, "carried_kg": 1293, "left_kg": 27}, {"pass": 9, "t": 192.5, "face": [-20.0, 0.0, 1.17], "dig_max_kg": 1357, "early_curl": true, "skips": 0, "at_swing_kg": 1079, "carried_kg": 1139, "left_kg": 61}, {"pass": 10, "t": 208.3, "face": [-10.0, 0.0, 0.69], "dig_max_kg": 1399, "early_curl": false, "skips": 0, "at_swing_kg": 1396, "carried_kg": 1550, "left_kg": 45}, {"pass": 11, "t": 223.7, "face": [-10.0, 0.0, 1.1], "dig_max_kg": 1399, "early_curl": true, "skips": 0, "at_swing_kg": 1279, "carried_kg": 1354, "left_kg": 122}, {"pass": 12, "t": 241.1, "face": [-40.0, 0.0, 0.5], "dig_max_kg": 1284, "early_curl": false, "skips": 0, "at_swing_kg": 603, "carried_kg": 737, "left_kg": 193}, {"pass": 13, "t": 256.0, "face": [-30.0, 0.0, 0.61], "dig_max_kg": 1280, "early_curl": false, "skips": 0, "at_swing_kg": 1280, "carried_kg": 1481, "left_kg": 501}, {"pass": 14, "t": 273.3, "face": [-30.0, 0.0, 1.13], "dig_max_kg": 1317, "early_curl": true, "skips": 0, "at_swing_kg": 1088, "carried_kg": 1046, "left_kg": 54}, {"pass": 15, "t": 337.0, "face": [-20.0, 0.0, 0.64], "dig_max_kg": 1563, "early_curl": false, "skips": 0, "at_swing_kg": 1563, "carried_kg": 1603, "left_kg": 19}, {"pass": 16, "t": 353.2, "face": [-20.0, 0.0, 1.15], "dig_max_kg": 1561, "early_curl": true, "skips": 0, "at_swing_kg": 1126, "carried_kg": 1156, "left_kg": 53}, {"pass": 17, "t": 369.2, "face": [0.0, 0.0, 0.5], "dig_max_kg": 1199, "early_curl": false, "skips": 0, "at_swing_kg": 1199, "carried_kg": 1338, "left_kg": 49}, {"pass": 18, "t": 385.6, "face": [0.0, 0.0, 1.16], "dig_max_kg": 1460, "early_curl": true, "skips": 0, "at_swing_kg": 1259, "carried_kg": 1280, "left_kg": 36}, {"pass": 19, "t": 402.1, "face": [-10.0, 0.0, 0.56], "dig_max_kg": 1681, "early_curl": false, "skips": 0, "at_swing_kg": 1681, "carried_kg": 1721, "left_kg": 74}, {"pass": 20, "t": 418.5, "face": [-10.0, 0.0, 1.16], "dig_max_kg": 1679, "early_curl": true, "skips": 0, "at_swing_kg": 1461, "carried_kg": 1419, "left_kg": 62}, {"pass": 21, "t": 482.0, "face": [-10.0, 0.0, 0.53], "dig_max_kg": 1596, "early_curl": false, "skips": 0, "at_swing_kg": 1591, "carried_kg": 1612, "left_kg": 27}, {"pass": 22, "t": 499.5, "face": [-10.0, 0.0, 1.06], "dig_max_kg": 1596, "early_curl": false, "skips": 0, "at_swing_kg": 1070, "carried_kg": 1106, "left_kg": 9}, {"pass": 23, "t": 515.6, "face": [-20.0, 0.0, 0.52], "dig_max_kg": 1524, "early_curl": false, "skips": 0, "at_swing_kg": 1515, "carried_kg": 1493, "left_kg": 42}, {"pass": 24, "t": 531.3, "face": [-20.0, 0.0, 1.0], "dig_max_kg": 1230, "early_curl": false, "skips": 0, "at_swing_kg": 1215, "carried_kg": 1341, "left_kg": 87}], "dozer": {"passes": 8, "push_m": 57.22, "work_MJ": 0.84, "load_lifts": 15, "lifts_raised": 1, "parked_s": 330.33, "working_s": 219.35, "peak_kN": 80.85, "slip_s": 0.65, "futile_passes": 1, "mean_push_kN": [23.1, 7.2, 13.8, 19.3, 4.5, 18.6, 13.2, 4.4]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 42.3, "rms_from_grade_m": 0.319, "max_above_grade_m": 0.85, "at_grade_fraction": 0.2, "unspread_m3": 0.64}} diff --git a/phase2/logs/haul_quick25_lane_rest_loam_3.json b/phase2/logs/haul_quick25_lane_rest_loam_3.json new file mode 100644 index 0000000..8d2c4af --- /dev/null +++ b/phase2/logs/haul_quick25_lane_rest_loam_3.json @@ -0,0 +1 @@ +{"soil": "loam", "carriers": 1, "sim_s": 514.9, "stopped_after_passes": 25, "realtime_factor": 0.909, "loads": [{"carrier": 0, "departed_s": 131.1, "load_kg": 10509, "loading_s": 131.1, "passes": 7}, {"carrier": 0, "departed_s": 328.8, "load_kg": 11343, "loading_s": 140.8, "passes": 8}, {"carrier": 0, "departed_s": 513.2, "load_kg": 10683, "loading_s": 126.9, "passes": 7}], "trips": [{"depart_t": 131.15, "stages": {"loading": 131.15, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.22, "lower": 5.0, "return": 5.18, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 222, "away_s": 56.85}, {"depart_t": 328.8, "stages": {"loading": 140.8, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.07, "lower": 5.0, "return": 4.98, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 236, "away_s": 57.5}], "delivered_t": 21.39, "loaded_t": 32.53, "loaded_t_per_hour": 227.5, "mean_departure_interval_s": 191.1, "t_per_hour": 149.6, "mean_load_kg": 10845.0, "mean_loading_s": 132.9, "carry_back_kg": [222, 236], "mean_away_s": 57.2, "excavator_wait_s": 98.0, "passes": 25, "spoil_settled_t": 21.21, "lost_particles": 1565, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 116.1, "pit_left_t": 142.0, "pit_done": false, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0]], "curl_gain_kg": 81, "curl_tears": 0, "mean_carried_kg": 1281, "mean_dumped_kg": 1172, "thin_passes": 1, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1110, "early_curl": true, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1151, "left_kg": 73}, {"pass": 1, "t": 14.5, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1169, "early_curl": true, "skips": 0, "at_swing_kg": 1133, "carried_kg": 1173, "left_kg": 18}, {"pass": 2, "t": 29.3, "face": [10.0, 0.0, 1.36], "dig_max_kg": 1214, "early_curl": true, "skips": 0, "at_swing_kg": 1164, "carried_kg": 1265, "left_kg": 15}, {"pass": 3, "t": 44.5, "face": [-30.0, 0.0, 1.25], "dig_max_kg": 1269, "early_curl": true, "skips": 0, "at_swing_kg": 1230, "carried_kg": 1349, "left_kg": 17}, {"pass": 4, "t": 59.6, "face": [-10.0, 0.0, 1.24], "dig_max_kg": 1298, "early_curl": true, "skips": 0, "at_swing_kg": 1064, "carried_kg": 1315, "left_kg": 16}, {"pass": 5, "t": 75.3, "face": [20.0, 0.0, 1.14], "dig_max_kg": 1396, "early_curl": true, "skips": 0, "at_swing_kg": 1328, "carried_kg": 1337, "left_kg": 239}, {"pass": 6, "t": 95.6, "face": [0.0, 0.0, 0.72], "dig_max_kg": 1181, "early_curl": false, "skips": 0, "at_swing_kg": 1175, "carried_kg": 1337, "left_kg": 305}, {"pass": 7, "t": 115.0, "face": [0.0, 0.0, 1.17], "dig_max_kg": 1367, "early_curl": true, "skips": 0, "at_swing_kg": 1295, "carried_kg": 1403, "left_kg": 268}, {"pass": 8, "t": 132.4, "face": [-20.0, 0.0, 0.68], "dig_max_kg": 1162, "early_curl": false, "skips": 0, "at_swing_kg": 1318, "carried_kg": 1268, "left_kg": 76}, {"pass": 9, "t": 195.4, "face": [-20.0, 0.0, 1.15], "dig_max_kg": 1343, "early_curl": true, "skips": 0, "at_swing_kg": 1028, "carried_kg": 1098, "left_kg": 48}, {"pass": 10, "t": 211.3, "face": [-10.0, 0.0, 0.69], "dig_max_kg": 1439, "early_curl": false, "skips": 0, "at_swing_kg": 1434, "carried_kg": 1603, "left_kg": 47}, {"pass": 11, "t": 226.7, "face": [-10.0, 0.0, 1.13], "dig_max_kg": 1439, "early_curl": true, "skips": 0, "at_swing_kg": 1318, "carried_kg": 1371, "left_kg": 50}, {"pass": 12, "t": 243.3, "face": [20.0, 0.0, 0.5], "dig_max_kg": 1323, "early_curl": false, "skips": 0, "at_swing_kg": 886, "carried_kg": 1070, "left_kg": 71}, {"pass": 13, "t": 261.8, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1305, "early_curl": false, "skips": 0, "at_swing_kg": 1061, "carried_kg": 1011, "left_kg": 92}, {"pass": 14, "t": 279.3, "face": [-40.0, 0.0, 0.5], "dig_max_kg": 1073, "early_curl": false, "skips": 0, "at_swing_kg": 595, "carried_kg": 650, "left_kg": 253}, {"pass": 15, "t": 297.1, "face": [-30.0, 0.0, 0.59], "dig_max_kg": 1334, "early_curl": false, "skips": 0, "at_swing_kg": 1286, "carried_kg": 1340, "left_kg": 262}, {"pass": 16, "t": 314.7, "face": [-30.0, 0.0, 1.06], "dig_max_kg": 1457, "early_curl": false, "skips": 0, "at_swing_kg": 1342, "carried_kg": 1457, "left_kg": 47}, {"pass": 17, "t": 330.1, "face": [-20.0, 0.0, 0.51], "dig_max_kg": 1395, "early_curl": false, "skips": 0, "at_swing_kg": 1444, "carried_kg": 1401, "left_kg": 23}, {"pass": 18, "t": 393.7, "face": [-20.0, 0.0, 1.09], "dig_max_kg": 1371, "early_curl": false, "skips": 0, "at_swing_kg": 1116, "carried_kg": 1116, "left_kg": 35}, {"pass": 19, "t": 410.3, "face": [0.0, 0.0, 0.48], "dig_max_kg": 1165, "early_curl": false, "skips": 0, "at_swing_kg": 1165, "carried_kg": 1343, "left_kg": 36}, {"pass": 20, "t": 426.3, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1481, "early_curl": false, "skips": 0, "at_swing_kg": 1368, "carried_kg": 1365, "left_kg": 17}, {"pass": 21, "t": 442.6, "face": [-10.0, 0.0, 0.59], "dig_max_kg": 1618, "early_curl": false, "skips": 0, "at_swing_kg": 1606, "carried_kg": 1633, "left_kg": 16}, {"pass": 22, "t": 459.5, "face": [-10.0, 0.0, 1.15], "dig_max_kg": 1618, "early_curl": true, "skips": 0, "at_swing_kg": 1249, "carried_kg": 1349, "left_kg": 82}, {"pass": 23, "t": 475.9, "face": [0.0, 0.0, 0.66], "dig_max_kg": 1451, "early_curl": false, "skips": 0, "at_swing_kg": 1441, "carried_kg": 1489, "left_kg": 226}, {"pass": 24, "t": 494.8, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1451, "early_curl": false, "skips": 0, "at_swing_kg": 1153, "carried_kg": 1134, "left_kg": 385}], "dozer": {"passes": 4, "push_m": 31.84, "work_MJ": 0.58, "load_lifts": 13, "lifts_raised": 0, "parked_s": 384.73, "working_s": 130.17, "peak_kN": 73.76, "slip_s": 0.65, "futile_passes": 0, "mean_push_kN": [22.9, 11.2, 16.4, 18.7]}, "spread": {"design_z_above_ground": 0.3, "area_m2": 61.2, "covered_m2": 44.3, "rms_from_grade_m": 0.149, "max_above_grade_m": 0.84, "at_grade_fraction": 0.39, "unspread_m3": 0.87}} From 3c460eff3533cffc9acba80da1ce377a598e7ccb Mon Sep 17 00:00:00 2001 From: Rahul Tomar Date: Fri, 6 Nov 2026 10:47:49 +0100 Subject: [PATCH 7/7] README excavator figures after calibration; three haul logs made valid JSON The README still gave the spec swing (13.3 min^-1, 68.9 kN m) and the pre-calibration cycle (15-18 s, about 1 t per pass). It now gives the PWRI-calibrated swing, marks the swing torque and bucket offset as provisional, and the current pass times and payloads. haul_bench_lane_fix_long_* had Warp's startup output above the result line. Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- ...aul_bench_lane_fix_long_clay_1carrier.json | 116 ------------------ ...bench_lane_fix_long_dry-sand_1carrier.json | 114 ----------------- ...aul_bench_lane_fix_long_loam_1carrier.json | 116 ------------------ 4 files changed, 1 insertion(+), 347 deletions(-) diff --git a/README.md b/README.md index 49105b5..a1ba2a5 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Initiated and maintained by **[DigitalTwin Technology GmbH](https://www.digitalt | Site | 128 m terrain with pad, haul road, stockpile and a 2.5 m excavation pit; 40+ physics props from NVIDIA SimReady (CC BY 4.0) with checked masses and colliders | | Real machines (open-licensed) | Hitachi ZX200 excavator, IHI (Kato) IC120 crawler carrier, Komatsu D37PXi dozer (articulated, from the PWRI OPERA project, Apache-2.0); 35 m tower crane, cones, barrels and jersey barriers (Gazebo, CC0) | | Soil | The pit filled with 2 m of MPM soil (Newton implicit MPM) on the GPU, two-way coupled to the machine, in four presets switchable live: dry sand, moist sand, loam and clay. Cohesion is checked against vertical-cut stability and McKyes cutting forces, and dug clods break up to their remoulded strength; only soil near the bucket is particles, resting soil elsewhere is a heightfield, and cut faces slump to the angle of repose. The sand steps at 30 Hz and the machine at 60 Hz; the dig cycle runs at 1.3× real time, and a trench dug in one lane (1.2×) reaches 1.7 m with 43–45° sides | -| Excavator | The real Hitachi ZX200 (OPERA URDF geometry and joint limits, curved bucket with teeth) driven by its real hydraulic cylinders (Hitachi bores, 34.3 MPa main relief and port reliefs, pump flow shared between functions, bucket four-bar linkage) and swing motor (13.3 min⁻¹, 68.9 kN·m, braking on its cross-over reliefs), so force and speed vary with pose and the machine slows and stalls under load. Digging force at the teeth 149 kN against 151–158 kN published. Full dig–swing–load cycle into a dump truck, lifting while swinging like an operator: 15–18 s and about 1 t per pass | +| Excavator | The real Hitachi ZX200 (OPERA URDF geometry and joint limits, curved bucket with teeth) driven by its real hydraulic cylinders (Hitachi bores, 34.3 MPa main relief and port reliefs, pump flow shared between functions, bucket four-bar linkage) and swing motor (braking on its cross-over reliefs, with friction), so force and speed vary with pose and the machine slows and stalls under load. Joint speeds per direction, swing speed (11.2 min⁻¹ at 1800 min⁻¹ eco) and swing friction are calibrated against PWRI's step tests on a real ZX200 (ISARC 2025); the swing torque (77.9 kN·m) and the bucket's angle offset are provisional ([phase2/RESULTS.md](phase2/RESULTS.md)). Digging force at the teeth 149 kN against 151–158 kN published. Full dig–swing–load cycle into a dump truck, lifting while swinging like an operator: 16–19 s per pass in a trench, about 20–21 s and 0.7–1.3 t per pass loading the carrier (clay lowest) | | Haul cycle | An IHI IC120 crawler carrier (PWRI OPERA model) is loaded by the excavator, drives the load to a spoil area, tips it out as MPM soil and comes back. The operator model sends it off when full, waits while it is away, and spreads passes along the vessel; sticky loads are shaken out. One excavator and one carrier deliver 124–181 t/h depending on soil, with the excavator waiting 16–26 % of the time. With two carriers (`--carriers 2`), they take turns at the excavator, a waiting place and gates keep them apart on the one-lane road, and loading goes up 12–27 % over 10 minutes. Over 25 minutes the gain holds at 19 % while the excavator has soil within reach ([phase2/RESULTS.md](phase2/RESULTS.md)) | | Spoil spreading | A Komatsu D37PXi dozer (PWRI OPERA model) spreads each dumped load in lanes fanned out from the dump heap and builds the fill layer by layer (0.3 m lifts), its blade pushing MPM soil under grade and load control as on the real machine; the tracks slip above traction. It works while the carrier is away and parks before it comes back, so the carrier never waits; mean blade forces of 5–28 kN per pass match the sliding-load estimate ([phase2/RESULTS.md](phase2/RESULTS.md)) | | Browser client | Levers and keyboard control, cylinder pressure gauges, stall warnings, live truck load, the carrier, the dozer and the spoil area, a "Send carrier" button; 60 fps | diff --git a/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json b/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json index bd24601..d27619c 100644 --- a/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json +++ b/phase2/logs/haul_bench_lane_fix_long_clay_1carrier.json @@ -1,117 +1 @@ -Warp 1.19.0 initialized: - CUDA Toolkit 13.4, Driver 13.0 - Devices: - "cpu" : "aarch64" - "cuda:0" : "NVIDIA GB10" (122 GiB, sm_121, mempool enabled) - Kernel cache: - /home/dttai1/.cache/warp/1.19.0 -Module validate_and_correct_inertia_kernel_0dd217c5 0dd217c load on device 'cuda:0' took 0.72 ms (cached) -Module newton._src.geometry.bvh c108a72 load on device 'cuda:0' took 0.49 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_model 3bb21b4 load on device 'cuda:0' took 0.49 ms (cached) -Module warp.fem.geometry.nanogrid 8a477eb load on device 'cuda:0' took 0.53 ms (cached) -Module warp._src.fem.quadrature.pic_quadrature.dyn.bin_particles_72b36c27 1274abb load on device 'cuda:0' took 0.58 ms (cached) -Module warp.fem.utils 5050414 load on device 'cuda:0' took 0.51 ms (cached) -Module warp._src.fem.quadrature.pic_quadrature.dyn.finalize_cell_particle_data_6a72a038 588425d load on device 'cuda:0' took 0.47 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_60813d26 264deb8 load on device 'cuda:0' took 0.43 ms (cached) -Module warp.fem.space.restriction 13859e3 load on device 'cuda:0' took 0.29 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_9775d3a0 c659439 load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_8688d243 72a45d0 load on device 'cuda:0' took 0.29 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.dyn.cell_color_e837866a 03aea13 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels 309f94e load on device 'cuda:0' took 0.41 ms (cached) -Module warp._src.coloring 5014867 load on device 'cpu' took 0.87 ms (cached) -Module newton._src.solvers.mujoco.kernels 8cde23f load on device 'cuda:0' took 2.79 ms (cached) -Module mujoco_warp._src.set_const e7f6e53 load on device 'cuda:0' took 0.63 ms (cached) -Module mujoco_warp._src.smooth 6ec87e9 load on device 'cuda:0' took 1.38 ms (cached) -Module _small_cholesky_factorize_block__locals__kernel_688128d2 3a1ff3a load on device 'cuda:0' took 0.31 ms (cached) -Module _small_cholesky_factorize_block__locals__kernel_76d25309 797032f load on device 'cuda:0' took 0.28 ms (cached) -Module _small_cholesky_solve_block__locals__kernel_1e3f1516 c492a5b load on device 'cuda:0' took 0.28 ms (cached) -Module _small_cholesky_solve_block__locals__kernel_b7425cff b9bad6a load on device 'cuda:0' took 0.26 ms (cached) -Module create_eval_articulation_fk_tile__locals__eval_articulation_fk_tile_b12ad9e5 33f5a01 load on device 'cuda:0' took 0.51 ms (cached) -Module soil_zone 8795928 load on device 'cuda:0' took 0.73 ms (cached) -Module map_mul 4da365f load on device 'cuda:0' took 0.29 ms (cached) -Module soil_server d8198c9 load on device 'cuda:0' took 0.46 ms (cached) -Module excavator_server b3143cf load on device 'cuda:0' took 0.40 ms (cached) -Module newton._src.sim.collide f8ad45d load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.geometry.broad_phase_nxn 92014d2 load on device 'cuda:0' took 0.30 ms (cached) -Module narrow_phase_primitive_write_contact_False_False_False 3cf6427 load on device 'cuda:0' took 0.32 ms (cached) -Module narrow_phase_gjk_mpr_True_False_write_contact_support_map_lean_post_process_minkowski_only 7d090a1 load on device 'cuda:0' took 0.41 ms (cached) -Module newton._src.geometry.narrow_phase dde4959 load on device 'cuda:0' took 0.42 ms (cached) -Module mujoco_warp._src.constraint 9feb269 load on device 'cuda:0' took 0.29 ms (cached) -Module _friction_dof__locals__kernel_de3fc701 de3fc70 load on device 'cuda:0' took 0.55 ms (cached) -Module _limit_slide_hinge__locals__kernel_0914a21e 0914a21 load on device 'cuda:0' took 0.31 ms (cached) -Module _efc_contact_init__locals__kernel_2fbed541 2fbed54 load on device 'cuda:0' took 0.29 ms (cached) -Module _efc_contact_jac_dense__locals__kernel_1686fae4 bea9b8b load on device 'cuda:0' took 0.35 ms (cached) -Module _efc_contact_update__locals__kernel_a67f25cf a67f25c load on device 'cuda:0' took 0.29 ms (cached) -Module mujoco_warp._src.passive a2eea36 load on device 'cuda:0' took 0.42 ms (cached) -Module _qfrc_passive_kernel__locals__kernel_887f05a4 887f05a load on device 'cuda:0' took 0.28 ms (cached) -Module _qfrc_smooth__locals__kernel_5d93552d 5d93552 load on device 'cuda:0' took 0.27 ms (cached) -Module mujoco_warp._src.support 462b66b load on device 'cuda:0' took 0.26 ms (cached) -Module _small_cholesky_factorize_solve_block__locals__kernel_32267892 9d7a2a3 load on device 'cuda:0' took 0.29 ms (cached) -Module _small_cholesky_factorize_solve_block__locals__kernel_bbb3b6d0 7e9304f load on device 'cuda:0' took 0.28 ms (cached) -Module _solve_init_dof__locals__kernel_08db194e 08db194 load on device 'cuda:0' took 0.35 ms (cached) -Module mujoco_warp._src.solver ab57257 load on device 'cuda:0' took 0.37 ms (cached) -Module _solve_init_jaref_kernel__locals__kernel_7c525cac 7c525ca load on device 'cuda:0' took 0.28 ms (cached) -Module mul_m_kernel__locals___mul_m_2eb0ef19 2eb0ef1 load on device 'cuda:0' took 0.26 ms (cached) -Module _update_constraint_efc__locals__kernel_01e3395a 01e3395 load on device 'cuda:0' took 0.27 ms (cached) -Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_1f63a94a 1f63a94 load on device 'cuda:0' took 0.29 ms (cached) -Module _update_gradient_zero_grad_dot__locals__kernel_eeeb13da eeeb13d load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_grad__locals__kernel_9654ebd0 9654ebd load on device 'cuda:0' took 0.26 ms (cached) -Module _update_gradient_JTDAJ_dense_tiled__locals__kernel_42d95046 a1e3b32 load on device 'cuda:0' took 0.49 ms (cached) -Module _update_gradient_cholesky__locals__kernel_4248b06c d4ff837 load on device 'cuda:0' took 26.18 ms (cached) -Module _linesearch_iterative_kernel__locals__kernel_9e726ceb fad442d load on device 'cuda:0' took 0.55 ms (cached) -Module _update_constraint_efc__locals__kernel_81674199 8167419 load on device 'cuda:0' took 0.31 ms (cached) -Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_8e350d39 8e350d3 load on device 'cuda:0' took 0.29 ms (cached) -Module _update_gradient_zero_grad_dot__locals__kernel_ba7e8e2f ba7e8e2 load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_grad__locals__kernel_4f2bb7a9 4f2bb7a load on device 'cuda:0' took 0.26 ms (cached) -Module _update_gradient_cholesky__locals__kernel_4c171783 4827da2 load on device 'cuda:0' took 26.16 ms (cached) -Module _solve_done__locals__kernel_8d3e2217 8d3e221 load on device 'cuda:0' took 0.46 ms (cached) -Module mujoco_warp._src.derivative 380fbcc load on device 'cuda:0' took 0.54 ms (cached) -Module mujoco_warp._src.forward 9883e25 load on device 'cuda:0' took 0.39 ms (cached) -Module _next_time_builder__locals___next_time_1cb22d2e 1cb22d2 load on device 'cuda:0' took 0.51 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_2fb7f2f1 60674ca load on device 'cuda:0' took 0.49 ms (cached) -Module newton._src.solvers.implicit_mpm.rasterized_collisions.world_position_33f2b610 f78fcaa load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.rasterized_collisions 6d32b59 load on device 'cuda:0' took 0.39 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.collision_weight_field_8c7a1ed7 c6a78c2 load on device 'cuda:0' took 0.36 ms (cached) -Module _bsr_accumulate_triplet_values_89c51218 7baeb9a load on device 'cuda:0' took 0.31 ms (cached) -Module warp._src.fem.quadrature.quadrature.dyn.quadrature_point_element_indices_d52fa04e ff44114 load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_e081b3ef ccc78d5 load on device 'cuda:0' took 0.34 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_c147b205 39f0a31 load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_apic_9dd4ac18 813b0f2 load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_mass_5fda8e19 ac3dcd8 load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_fea4d8fd 16d7ac5 load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_yield_parameters_6dcf6251 7dc048e load on device 'cuda:0' took 0.42 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_88c9ef37 0303b67 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_active_fraction_a5404331 06e1637 load on device 'cuda:0' took 0.37 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_99ecc7cf a3c8b39 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_7c94db4e 0446aed load on device 'cuda:0' took 0.36 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_a649643f 454191e load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_collider_fraction_a5258c95 ac7d7fc load on device 'cuda:0' took 0.36 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_bdb78fbc 7f792ef load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.strain_delta_form_622b62c3 f655226 load on device 'cuda:0' took 0.33 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_6d221857 31482f3 load on device 'cuda:0' took 0.36 ms (cached) -Module warp.fem.integrate._identity_field_b5aa3f34 0ab4782 load on device 'cuda:0' took 0.44 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_particle_stress_d3464583 ca2f662 load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_b79d8313 7d87f73 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.mass_form_bd277bc5 45a767e load on device 'cuda:0' took 0.36 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_f6d3cfb2 ad2be72 load on device 'cuda:0' took 0.35 ms (cached) -Module warp.sparse 52bbb2e load on device 'cuda:0' took 0.54 ms (cached) -Module _bsr_assign_copy_blocks_25808539 9673674 load on device 'cuda:0' took 0.31 ms (cached) -Module compute_eigenvalues_70d01c86 29a61fe load on device 'cuda:0' took 0.30 ms (cached) -Module inverse_scale_vector_e40af5d0 f052608 load on device 'cuda:0' took 0.30 ms (cached) -Module newton._src.solvers.implicit_mpm.contact_solver_kernels f1493cd load on device 'cuda:0' took 0.44 ms (cached) -Module _bsr_transpose_values_1d188087 aa92b67 load on device 'cuda:0' took 0.46 ms (cached) -Module make_bsr_mv_tiled_kernel__locals__bsr_mv_tiled_kernel_17fd668b 3f91fc9 load on device 'cuda:0' took 0.36 ms (cached) -Module make_bsr_mv_kernel__locals__bsr_mv_kernel_37b51eee bf7159b load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels 42c788a load on device 'cuda:0' took 0.82 ms (cached) -Module newton._src.solvers.implicit_mpm.solve_rheology 65415ca load on device 'cuda:0' took 0.45 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels c7bb17e load on device 'cuda:0' took 0.62 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels.dyn.gs_solve_kernel_impl_ba42a0de 8d2ccee load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.solve_rheology 92bb71d load on device 'cuda:0' took 0.53 ms (cached) -Module warp.fem.space.partition 4c5b150 load on device 'cuda:0' took 0.36 ms (cached) -Module scatter_field_dof_values_ec638f93 bde0ade load on device 'cuda:0' took 0.34 ms (cached) -Module warp.fem.integrate._identity_field_15c95b83 0df86d1 load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.update_particle_strains_40d97e08 13b8e25 load on device 'cuda:0' took 0.39 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.advect_particles_2f248551 bfedeec load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_380959cb bb9f71e load on device 'cuda:0' took 0.51 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_ec304b85 25a078a load on device 'cuda:0' took 0.36 ms (cached) {"soil": "clay", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.951, "loads": [{"carrier": 0, "departed_s": 134.8, "load_kg": 9622, "loading_s": 134.8, "passes": 7}, {"carrier": 0, "departed_s": 381.7, "load_kg": 11136, "loading_s": 188.8, "passes": 10}, {"carrier": 0, "departed_s": 721.5, "load_kg": 11006, "loading_s": 281.1, "passes": 15}, {"carrier": 0, "departed_s": 963.6, "load_kg": 10268, "loading_s": 183.1, "passes": 10}], "trips": [{"depart_t": 134.77, "stages": {"loading": 134.77, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.85, "lower": 5.0, "return": 4.78, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 294, "away_s": 58.08}, {"depart_t": 381.68, "stages": {"loading": 188.83, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.68, "lower": 5.0, "return": 4.55, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 283, "away_s": 58.69}, {"depart_t": 721.5, "stages": {"loading": 281.13, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.12, "lower": 5.0, "return": 4.43, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 236, "away_s": 59.0}, {"depart_t": 963.58, "stages": {"loading": 183.08, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 6.53, "lower": 5.0, "return": 4.32, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 325, "away_s": 59.3}], "delivered_t": 40.89, "loaded_t": 52.27, "loaded_t_per_hour": 125.4, "mean_departure_interval_s": 276.3, "t_per_hour": 98.1, "mean_load_kg": 10508.0, "mean_loading_s": 197.0, "carry_back_kg": [294, 283, 236, 325], "mean_away_s": 58.8, "excavator_wait_s": 199.9, "passes": 72, "spoil_settled_t": 41.73, "lost_particles": 1826, "pool_short": 0, "skipped": [{"t": 647.93, "stage": "swing back", "max_err_rad": 0.0}, {"t": 651.95, "stage": "approach", "max_err_rad": 1.406}, {"t": 660.87, "stage": "curl", "max_err_rad": 0.146}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 235.1, "pit_left_t": 118.3, "pit_done": false, "faces": [[0.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-40.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 68, "mean_carried_kg": 907, "mean_dumped_kg": 767, "thin_passes": 24, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1202, "early_curl": true, "skips": 0, "at_swing_kg": 1198, "carried_kg": 1225, "left_kg": 74}, {"pass": 1, "t": 16.2, "face": [10.0, 0.0, 1.38], "dig_max_kg": 1260, "early_curl": true, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1276, "left_kg": 133}, {"pass": 2, "t": 33.3, "face": [-30.0, 0.0, 1.32], "dig_max_kg": 1254, "early_curl": true, "skips": 0, "at_swing_kg": 1118, "carried_kg": 1087, "left_kg": 179}, {"pass": 3, "t": 50.4, "face": [-10.0, 0.0, 1.31], "dig_max_kg": 1191, "early_curl": true, "skips": 0, "at_swing_kg": 1149, "carried_kg": 1226, "left_kg": 191}, {"pass": 4, "t": 67.8, "face": [-20.0, 0.0, 1.21], "dig_max_kg": 1210, "early_curl": true, "skips": 0, "at_swing_kg": 1208, "carried_kg": 1205, "left_kg": 55}, {"pass": 5, "t": 83.6, "face": [20.0, 0.0, 1.14], "dig_max_kg": 1210, "early_curl": true, "skips": 0, "at_swing_kg": 1024, "carried_kg": 1088, "left_kg": 60}, {"pass": 6, "t": 101.2, "face": [-10.0, 0.0, 0.9], "dig_max_kg": 1282, "early_curl": false, "skips": 0, "at_swing_kg": 1270, "carried_kg": 1353, "left_kg": 373}, {"pass": 7, "t": 118.9, "face": [-30.0, 0.0, 0.82], "dig_max_kg": 1276, "early_curl": false, "skips": 0, "at_swing_kg": 1198, "carried_kg": 1251, "left_kg": 360}, {"pass": 8, "t": 136.0, "face": [-30.0, 0.0, 0.9], "dig_max_kg": 1201, "early_curl": false, "skips": 0, "at_swing_kg": 1094, "carried_kg": 1076, "left_kg": 21}, {"pass": 9, "t": 201.0, "face": [0.0, 0.0, 0.7], "dig_max_kg": 1322, "early_curl": false, "skips": 0, "at_swing_kg": 1321, "carried_kg": 1344, "left_kg": 20}, {"pass": 10, "t": 218.0, "face": [0.0, 0.0, 1.1], "dig_max_kg": 1322, "early_curl": true, "skips": 0, "at_swing_kg": 1159, "carried_kg": 1198, "left_kg": 150}, {"pass": 11, "t": 235.5, "face": [-10.0, 0.0, 0.7], "dig_max_kg": 1180, "early_curl": false, "skips": 0, "at_swing_kg": 1130, "carried_kg": 1258, "left_kg": 260}, {"pass": 12, "t": 253.6, "face": [-10.0, 0.0, 1.01], "dig_max_kg": 1151, "early_curl": true, "skips": 0, "at_swing_kg": 1134, "carried_kg": 1302, "left_kg": 100}, {"pass": 13, "t": 272.2, "face": [20.0, 0.0, 0.65], "dig_max_kg": 1321, "early_curl": false, "skips": 0, "at_swing_kg": 1219, "carried_kg": 1342, "left_kg": 101}, {"pass": 14, "t": 290.9, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1225, "early_curl": false, "skips": 0, "at_swing_kg": 380, "carried_kg": 421, "left_kg": 56}, {"pass": 15, "t": 309.5, "face": [20.0, 0.0, 0.98], "dig_max_kg": 378, "early_curl": false, "skips": 0, "at_swing_kg": 209, "carried_kg": 222, "left_kg": 182}, {"pass": 16, "t": 327.1, "face": [10.0, 0.0, 0.65], "dig_max_kg": 1091, "early_curl": false, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1185, "left_kg": 76}, {"pass": 17, "t": 344.5, "face": [10.0, 0.0, 1.12], "dig_max_kg": 1285, "early_curl": true, "skips": 0, "at_swing_kg": 1276, "carried_kg": 1390, "left_kg": 685}, {"pass": 18, "t": 363.6, "face": [-10.0, 0.0, 0.62], "dig_max_kg": 1505, "early_curl": false, "skips": 0, "at_swing_kg": 1465, "carried_kg": 1512, "left_kg": 560}, {"pass": 19, "t": 383.1, "face": [-10.0, 0.0, 1.0], "dig_max_kg": 1478, "early_curl": true, "skips": 0, "at_swing_kg": 1184, "carried_kg": 1155, "left_kg": 90}, {"pass": 20, "t": 449.1, "face": [0.0, 0.0, 0.62], "dig_max_kg": 1191, "early_curl": false, "skips": 0, "at_swing_kg": 1173, "carried_kg": 1294, "left_kg": 78}, {"pass": 21, "t": 466.1, "face": [0.0, 0.0, 1.05], "dig_max_kg": 1186, "early_curl": true, "skips": 0, "at_swing_kg": 1082, "carried_kg": 1161, "left_kg": 111}, {"pass": 22, "t": 484.5, "face": [0.0, 0.0, 0.74], "dig_max_kg": 1325, "early_curl": false, "skips": 0, "at_swing_kg": 1300, "carried_kg": 1296, "left_kg": 66}, {"pass": 23, "t": 501.1, "face": [0.0, 0.0, 1.05], "dig_max_kg": 1316, "early_curl": true, "skips": 0, "at_swing_kg": 1189, "carried_kg": 1210, "left_kg": 394}, {"pass": 24, "t": 519.9, "face": [-20.0, 0.0, 0.49], "dig_max_kg": 1193, "early_curl": false, "skips": 0, "at_swing_kg": 1057, "carried_kg": 1215, "left_kg": 91}, {"pass": 25, "t": 536.0, "face": [-20.0, 0.0, 0.95], "dig_max_kg": 1136, "early_curl": true, "skips": 0, "at_swing_kg": 1085, "carried_kg": 1199, "left_kg": 412}, {"pass": 26, "t": 553.3, "face": [-30.0, 0.0, 0.61], "dig_max_kg": 1386, "early_curl": false, "skips": 0, "at_swing_kg": 1324, "carried_kg": 1496, "left_kg": 105}, {"pass": 27, "t": 570.3, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1327, "early_curl": false, "skips": 0, "at_swing_kg": 573, "carried_kg": 602, "left_kg": 118}, {"pass": 28, "t": 589.3, "face": [20.0, 0.0, 0.97], "dig_max_kg": 584, "early_curl": false, "skips": 0, "at_swing_kg": 212, "carried_kg": 236, "left_kg": 215}, {"pass": 29, "t": 607.3, "face": [20.0, 0.0, 0.95], "dig_max_kg": 605, "early_curl": false, "skips": 0, "at_swing_kg": 594, "carried_kg": 671, "left_kg": 23}, {"pass": 30, "t": 624.7, "face": [-20.0, 0.0, 0.72], "dig_max_kg": 1180, "early_curl": false, "skips": 1, "at_swing_kg": 1163, "carried_kg": 1253, "left_kg": 458}, {"pass": 31, "t": 648.0, "face": [-20.0, 0.0, 1.04], "dig_max_kg": 1178, "early_curl": true, "skips": 2, "at_swing_kg": 590, "carried_kg": 0, "left_kg": 1}, {"pass": 32, "t": 667.8, "face": [-20.0, 0.0, 1.04], "dig_max_kg": 1548, "early_curl": true, "skips": 0, "at_swing_kg": 1510, "carried_kg": 1640, "left_kg": 81}, {"pass": 33, "t": 685.0, "face": [10.0, 0.0, 0.66], "dig_max_kg": 1531, "early_curl": false, "skips": 0, "at_swing_kg": 1342, "carried_kg": 1378, "left_kg": 200}, {"pass": 34, "t": 704.9, "face": [10.0, 0.0, 1.02], "dig_max_kg": 1356, "early_curl": true, "skips": 0, "at_swing_kg": 1216, "carried_kg": 1203, "left_kg": 201}, {"pass": 35, "t": 722.8, "face": [-30.0, 0.0, 0.55], "dig_max_kg": 1218, "early_curl": false, "skips": 0, "at_swing_kg": 1236, "carried_kg": 1212, "left_kg": 33}, {"pass": 36, "t": 789.0, "face": [10.0, 0.0, 0.54], "dig_max_kg": 1439, "early_curl": false, "skips": 0, "at_swing_kg": 1439, "carried_kg": 1468, "left_kg": 85}, {"pass": 37, "t": 807.6, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1434, "early_curl": false, "skips": 0, "at_swing_kg": 1098, "carried_kg": 1101, "left_kg": 91}, {"pass": 38, "t": 824.4, "face": [-10.0, 0.0, 0.47], "dig_max_kg": 1470, "early_curl": false, "skips": 0, "at_swing_kg": 1449, "carried_kg": 1537, "left_kg": 288}, {"pass": 39, "t": 843.2, "face": [-10.0, 0.0, 0.98], "dig_max_kg": 848, "early_curl": true, "skips": 0, "at_swing_kg": 314, "carried_kg": 371, "left_kg": 51}, {"pass": 40, "t": 859.6, "face": [-10.0, 0.0, 0.99], "dig_max_kg": 1463, "early_curl": true, "skips": 0, "at_swing_kg": 1421, "carried_kg": 1490, "left_kg": 189}, {"pass": 41, "t": 878.8, "face": [20.0, 0.0, 0.76], "dig_max_kg": 1442, "early_curl": false, "skips": 0, "at_swing_kg": 32, "carried_kg": 42, "left_kg": 3}, {"pass": 42, "t": 897.0, "face": [20.0, 0.0, 0.81], "dig_max_kg": 208, "early_curl": false, "skips": 0, "at_swing_kg": 175, "carried_kg": 217, "left_kg": 0}, {"pass": 43, "t": 914.2, "face": [-20.0, 0.0, 0.56], "dig_max_kg": 1820, "early_curl": false, "skips": 0, "at_swing_kg": 1786, "carried_kg": 1808, "left_kg": 81}, {"pass": 44, "t": 930.9, "face": [-20.0, 0.0, 1.05], "dig_max_kg": 1782, "early_curl": true, "skips": 0, "at_swing_kg": 229, "carried_kg": 342, "left_kg": 100}, {"pass": 45, "t": 947.4, "face": [-20.0, 0.0, 1.07], "dig_max_kg": 1485, "early_curl": false, "skips": 0, "at_swing_kg": 1473, "carried_kg": 1517, "left_kg": 61}, {"pass": 46, "t": 965.4, "face": [10.0, 0.0, 0.46], "dig_max_kg": 1671, "early_curl": false, "skips": 0, "at_swing_kg": 1757, "carried_kg": 1689, "left_kg": 177}, {"pass": 47, "t": 1032.8, "face": [10.0, 0.0, 1.17], "dig_max_kg": 1639, "early_curl": true, "skips": 0, "at_swing_kg": 520, "carried_kg": 482, "left_kg": 410}, {"pass": 48, "t": 1051.5, "face": [10.0, 0.0, 1.15], "dig_max_kg": 1461, "early_curl": false, "skips": 0, "at_swing_kg": 1447, "carried_kg": 1389, "left_kg": 47}, {"pass": 49, "t": 1070.3, "face": [0.0, 0.0, 0.51], "dig_max_kg": 1561, "early_curl": false, "skips": 0, "at_swing_kg": 1561, "carried_kg": 1561, "left_kg": 111}, {"pass": 50, "t": 1087.9, "face": [0.0, 0.0, 1.09], "dig_max_kg": 1560, "early_curl": false, "skips": 0, "at_swing_kg": 903, "carried_kg": 883, "left_kg": 27}, {"pass": 51, "t": 1106.3, "face": [0.0, 0.0, 1.18], "dig_max_kg": 647, "early_curl": false, "skips": 0, "at_swing_kg": 3, "carried_kg": 1, "left_kg": 0}, {"pass": 52, "t": 1124.1, "face": [0.0, 0.0, 1.22], "dig_max_kg": 544, "early_curl": false, "skips": 0, "at_swing_kg": 35, "carried_kg": 35, "left_kg": 51}, {"pass": 53, "t": 1140.9, "face": [-10.0, 0.0, 0.8], "dig_max_kg": 1380, "early_curl": false, "skips": 0, "at_swing_kg": 1375, "carried_kg": 1256, "left_kg": 106}, {"pass": 54, "t": 1158.2, "face": [-10.0, 0.0, 1.06], "dig_max_kg": 1380, "early_curl": false, "skips": 0, "at_swing_kg": 402, "carried_kg": 463, "left_kg": 28}, {"pass": 55, "t": 1176.3, "face": [-10.0, 0.0, 0.99], "dig_max_kg": 627, "early_curl": false, "skips": 0, "at_swing_kg": 1, "carried_kg": 0, "left_kg": 7}, {"pass": 56, "t": 1193.9, "face": [20.0, 0.0, 0.77], "dig_max_kg": 162, "early_curl": false, "skips": 0, "at_swing_kg": 75, "carried_kg": 107, "left_kg": 100}, {"pass": 57, "t": 1211.7, "face": [20.0, 0.0, 0.83], "dig_max_kg": 208, "early_curl": false, "skips": 0, "at_swing_kg": 199, "carried_kg": 240, "left_kg": 0}, {"pass": 58, "t": 1228.8, "face": [-40.0, 0.0, 0.39], "dig_max_kg": 879, "early_curl": false, "skips": 0, "at_swing_kg": 879, "carried_kg": 934, "left_kg": 168}, {"pass": 59, "t": 1247.1, "face": [10.0, 0.0, 0.97], "dig_max_kg": 946, "early_curl": true, "skips": 0, "at_swing_kg": 358, "carried_kg": 319, "left_kg": 263}, {"pass": 60, "t": 1263.6, "face": [10.0, 0.0, 1.01], "dig_max_kg": 1512, "early_curl": false, "skips": 0, "at_swing_kg": 1489, "carried_kg": 1390, "left_kg": 432}, {"pass": 61, "t": 1283.5, "face": [-20.0, 0.0, 0.31], "dig_max_kg": 1502, "early_curl": false, "skips": 0, "at_swing_kg": 661, "carried_kg": 657, "left_kg": 114}, {"pass": 62, "t": 1301.7, "face": [-20.0, 0.0, 0.32], "dig_max_kg": 781, "early_curl": false, "skips": 0, "at_swing_kg": 162, "carried_kg": 214, "left_kg": 83}, {"pass": 63, "t": 1318.5, "face": [-20.0, 0.0, 0.33], "dig_max_kg": 610, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 14}, {"pass": 64, "t": 1336.2, "face": [0.0, 0.0, 1.1], "dig_max_kg": 443, "early_curl": false, "skips": 0, "at_swing_kg": 1, "carried_kg": 1, "left_kg": 30}, {"pass": 65, "t": 1353.4, "face": [0.0, 0.0, 1.11], "dig_max_kg": 606, "early_curl": false, "skips": 0, "at_swing_kg": 434, "carried_kg": 458, "left_kg": 17}, {"pass": 66, "t": 1370.7, "face": [-30.0, 0.0, 0.31], "dig_max_kg": 1044, "early_curl": false, "skips": 0, "at_swing_kg": 1014, "carried_kg": 1055, "left_kg": 29}, {"pass": 67, "t": 1387.8, "face": [-10.0, 0.0, 1.04], "dig_max_kg": 1033, "early_curl": false, "skips": 0, "at_swing_kg": 12, "carried_kg": 13, "left_kg": 0}, {"pass": 68, "t": 1404.5, "face": [-10.0, 0.0, 1.05], "dig_max_kg": 518, "early_curl": false, "skips": 0, "at_swing_kg": 0, "carried_kg": 0, "left_kg": 45}, {"pass": 69, "t": 1423.1, "face": [20.0, 0.0, 0.75], "dig_max_kg": 514, "early_curl": false, "skips": 0, "at_swing_kg": 514, "carried_kg": 621, "left_kg": 308}, {"pass": 70, "t": 1444.7, "face": [20.0, 0.0, 0.79], "dig_max_kg": 511, "early_curl": false, "skips": 0, "at_swing_kg": 117, "carried_kg": 133, "left_kg": 5}, {"pass": 71, "t": 1462.2, "face": [20.0, 0.0, 0.82], "dig_max_kg": 1332, "early_curl": true, "skips": 0, "at_swing_kg": 1314, "carried_kg": 1298, "left_kg": 205}], "dozer": {"passes": 12, "push_m": 90.7, "work_MJ": 2.2, "load_lifts": 67, "lifts_raised": 1, "parked_s": 1155.18, "working_s": 344.83, "peak_kN": 82.27, "slip_s": 2.98, "futile_passes": 0, "mean_push_kN": [26.0, 20.9, 16.1, 15.3, 15.1, 30.4, 22.9, 25.9, 27.6, 30.8, 27.8, 24.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 44.1, "rms_from_grade_m": 0.397, "max_above_grade_m": 2.15, "at_grade_fraction": 0.34, "unspread_m3": 3.61}} diff --git a/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json b/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json index aad72a9..821344a 100644 --- a/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json +++ b/phase2/logs/haul_bench_lane_fix_long_dry-sand_1carrier.json @@ -1,115 +1 @@ -Warp 1.19.0 initialized: - CUDA Toolkit 13.4, Driver 13.0 - Devices: - "cpu" : "aarch64" - "cuda:0" : "NVIDIA GB10" (122 GiB, sm_121, mempool enabled) - Kernel cache: - /home/dttai1/.cache/warp/1.19.0 -Module validate_and_correct_inertia_kernel_0dd217c5 0dd217c load on device 'cuda:0' took 0.85 ms (cached) -Module newton._src.geometry.bvh c108a72 load on device 'cuda:0' took 0.56 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_model 3bb21b4 load on device 'cuda:0' took 0.51 ms (cached) -Module warp.fem.geometry.nanogrid 8a477eb load on device 'cuda:0' took 0.57 ms (cached) -Module warp._src.fem.quadrature.pic_quadrature.dyn.bin_particles_72b36c27 1274abb load on device 'cuda:0' took 0.46 ms (cached) -Module warp.fem.utils 5050414 load on device 'cuda:0' took 0.36 ms (cached) -Module warp._src.fem.quadrature.pic_quadrature.dyn.finalize_cell_particle_data_6a72a038 588425d load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_60813d26 264deb8 load on device 'cuda:0' took 0.44 ms (cached) -Module warp.fem.space.restriction 13859e3 load on device 'cuda:0' took 0.29 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_9775d3a0 c659439 load on device 'cuda:0' took 0.34 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_8688d243 72a45d0 load on device 'cuda:0' took 0.31 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.dyn.cell_color_e837866a 03aea13 load on device 'cuda:0' took 0.31 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels 309f94e load on device 'cuda:0' took 0.43 ms (cached) -Module warp._src.coloring 5014867 load on device 'cpu' took 0.90 ms (cached) -Module newton._src.solvers.mujoco.kernels 8cde23f load on device 'cuda:0' took 2.97 ms (cached) -Module mujoco_warp._src.set_const e7f6e53 load on device 'cuda:0' took 0.70 ms (cached) -Module mujoco_warp._src.smooth 6ec87e9 load on device 'cuda:0' took 1.35 ms (cached) -Module _small_cholesky_factorize_block__locals__kernel_688128d2 3a1ff3a load on device 'cuda:0' took 0.34 ms (cached) -Module _small_cholesky_factorize_block__locals__kernel_76d25309 797032f load on device 'cuda:0' took 0.28 ms (cached) -Module _small_cholesky_solve_block__locals__kernel_1e3f1516 c492a5b load on device 'cuda:0' took 0.29 ms (cached) -Module _small_cholesky_solve_block__locals__kernel_b7425cff b9bad6a load on device 'cuda:0' took 0.27 ms (cached) -Module create_eval_articulation_fk_tile__locals__eval_articulation_fk_tile_b12ad9e5 33f5a01 load on device 'cuda:0' took 0.55 ms (cached) -Module soil_zone 8795928 load on device 'cuda:0' took 0.82 ms (cached) -Module map_mul 4da365f load on device 'cuda:0' took 0.32 ms (cached) -Module soil_server d8198c9 load on device 'cuda:0' took 0.49 ms (cached) -Module excavator_server b3143cf load on device 'cuda:0' took 0.41 ms (cached) -Module newton._src.sim.collide f8ad45d load on device 'cuda:0' took 0.34 ms (cached) -Module newton._src.geometry.broad_phase_nxn 92014d2 load on device 'cuda:0' took 0.30 ms (cached) -Module narrow_phase_primitive_write_contact_False_False_False 3cf6427 load on device 'cuda:0' took 0.33 ms (cached) -Module narrow_phase_gjk_mpr_True_False_write_contact_support_map_lean_post_process_minkowski_only 7d090a1 load on device 'cuda:0' took 0.46 ms (cached) -Module newton._src.geometry.narrow_phase dde4959 load on device 'cuda:0' took 0.46 ms (cached) -Module mujoco_warp._src.constraint 9feb269 load on device 'cuda:0' took 0.32 ms (cached) -Module _friction_dof__locals__kernel_de3fc701 de3fc70 load on device 'cuda:0' took 0.39 ms (cached) -Module _limit_slide_hinge__locals__kernel_0914a21e 0914a21 load on device 'cuda:0' took 0.33 ms (cached) -Module _efc_contact_init__locals__kernel_2fbed541 2fbed54 load on device 'cuda:0' took 0.30 ms (cached) -Module _efc_contact_jac_dense__locals__kernel_1686fae4 bea9b8b load on device 'cuda:0' took 0.36 ms (cached) -Module _efc_contact_update__locals__kernel_a67f25cf a67f25c load on device 'cuda:0' took 0.29 ms (cached) -Module mujoco_warp._src.passive a2eea36 load on device 'cuda:0' took 0.45 ms (cached) -Module _qfrc_passive_kernel__locals__kernel_887f05a4 887f05a load on device 'cuda:0' took 0.29 ms (cached) -Module _qfrc_smooth__locals__kernel_5d93552d 5d93552 load on device 'cuda:0' took 0.28 ms (cached) -Module mujoco_warp._src.support 462b66b load on device 'cuda:0' took 0.27 ms (cached) -Module _small_cholesky_factorize_solve_block__locals__kernel_32267892 9d7a2a3 load on device 'cuda:0' took 0.30 ms (cached) -Module _small_cholesky_factorize_solve_block__locals__kernel_bbb3b6d0 7e9304f load on device 'cuda:0' took 0.28 ms (cached) -Module _solve_init_dof__locals__kernel_08db194e 08db194 load on device 'cuda:0' took 0.27 ms (cached) -Module mujoco_warp._src.solver ab57257 load on device 'cuda:0' took 0.39 ms (cached) -Module _solve_init_jaref_kernel__locals__kernel_7c525cac 7c525ca load on device 'cuda:0' took 0.28 ms (cached) -Module mul_m_kernel__locals___mul_m_2eb0ef19 2eb0ef1 load on device 'cuda:0' took 0.27 ms (cached) -Module _update_constraint_efc__locals__kernel_01e3395a 01e3395 load on device 'cuda:0' took 0.28 ms (cached) -Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_1f63a94a 1f63a94 load on device 'cuda:0' took 0.29 ms (cached) -Module _update_gradient_zero_grad_dot__locals__kernel_eeeb13da eeeb13d load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_grad__locals__kernel_9654ebd0 9654ebd load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_JTDAJ_dense_tiled__locals__kernel_42d95046 a1e3b32 load on device 'cuda:0' took 0.50 ms (cached) -Module _update_gradient_cholesky__locals__kernel_4248b06c d4ff837 load on device 'cuda:0' took 26.83 ms (cached) -Module _linesearch_iterative_kernel__locals__kernel_9e726ceb fad442d load on device 'cuda:0' took 0.49 ms (cached) -Module _update_constraint_efc__locals__kernel_81674199 8167419 load on device 'cuda:0' took 0.32 ms (cached) -Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_8e350d39 8e350d3 load on device 'cuda:0' took 0.29 ms (cached) -Module _update_gradient_zero_grad_dot__locals__kernel_ba7e8e2f ba7e8e2 load on device 'cuda:0' took 0.28 ms (cached) -Module _update_gradient_grad__locals__kernel_4f2bb7a9 4f2bb7a load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_cholesky__locals__kernel_4c171783 4827da2 load on device 'cuda:0' took 26.96 ms (cached) -Module _solve_done__locals__kernel_8d3e2217 8d3e221 load on device 'cuda:0' took 0.42 ms (cached) -Module mujoco_warp._src.derivative 380fbcc load on device 'cuda:0' took 0.57 ms (cached) -Module mujoco_warp._src.forward 9883e25 load on device 'cuda:0' took 0.46 ms (cached) -Module _next_time_builder__locals___next_time_1cb22d2e 1cb22d2 load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_2fb7f2f1 60674ca load on device 'cuda:0' took 0.51 ms (cached) -Module newton._src.solvers.implicit_mpm.rasterized_collisions.world_position_33f2b610 f78fcaa load on device 'cuda:0' took 0.38 ms (cached) -Module newton._src.solvers.implicit_mpm.rasterized_collisions 6d32b59 load on device 'cuda:0' took 0.41 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.collision_weight_field_8c7a1ed7 c6a78c2 load on device 'cuda:0' took 0.37 ms (cached) -Module _bsr_accumulate_triplet_values_89c51218 7baeb9a load on device 'cuda:0' took 0.32 ms (cached) -Module warp._src.fem.quadrature.quadrature.dyn.quadrature_point_element_indices_d52fa04e ff44114 load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_e081b3ef ccc78d5 load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_c147b205 39f0a31 load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_apic_9dd4ac18 813b0f2 load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_mass_5fda8e19 ac3dcd8 load on device 'cuda:0' took 0.37 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_fea4d8fd 16d7ac5 load on device 'cuda:0' took 0.37 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_yield_parameters_6dcf6251 7dc048e load on device 'cuda:0' took 0.44 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_88c9ef37 0303b67 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_active_fraction_a5404331 06e1637 load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_99ecc7cf a3c8b39 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_7c94db4e 0446aed load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_a649643f 454191e load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_collider_fraction_a5258c95 ac7d7fc load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_bdb78fbc 7f792ef load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.strain_delta_form_622b62c3 f655226 load on device 'cuda:0' took 0.34 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_6d221857 31482f3 load on device 'cuda:0' took 0.37 ms (cached) -Module warp.fem.integrate._identity_field_b5aa3f34 0ab4782 load on device 'cuda:0' took 0.53 ms (cached) -Module warp.fem.integrate._identity_field_a98e1c46 928ad9d load on device 'cuda:0' took 0.44 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.mass_form_bd277bc5 45a767e load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_f6d3cfb2 ad2be72 load on device 'cuda:0' took 0.36 ms (cached) -Module warp.sparse 52bbb2e load on device 'cuda:0' took 0.55 ms (cached) -Module _bsr_assign_copy_blocks_25808539 9673674 load on device 'cuda:0' took 0.30 ms (cached) -Module compute_eigenvalues_70d01c86 29a61fe load on device 'cuda:0' took 0.30 ms (cached) -Module inverse_scale_vector_e40af5d0 f052608 load on device 'cuda:0' took 0.31 ms (cached) -Module newton._src.solvers.implicit_mpm.contact_solver_kernels f1493cd load on device 'cuda:0' took 0.46 ms (cached) -Module _bsr_transpose_values_1d188087 aa92b67 load on device 'cuda:0' took 0.46 ms (cached) -Module make_bsr_mv_tiled_kernel__locals__bsr_mv_tiled_kernel_17fd668b 3f91fc9 load on device 'cuda:0' took 0.38 ms (cached) -Module make_bsr_mv_kernel__locals__bsr_mv_kernel_37b51eee bf7159b load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels 42c788a load on device 'cuda:0' took 0.89 ms (cached) -Module newton._src.solvers.implicit_mpm.solve_rheology 65415ca load on device 'cuda:0' took 0.44 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels c7bb17e load on device 'cuda:0' took 0.62 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels.dyn.gs_solve_kernel_impl_ba42a0de 8d2ccee load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.solve_rheology 92bb71d load on device 'cuda:0' took 0.53 ms (cached) -Module warp.fem.space.partition 4c5b150 load on device 'cuda:0' took 0.35 ms (cached) -Module scatter_field_dof_values_ec638f93 bde0ade load on device 'cuda:0' took 0.34 ms (cached) -Module warp.fem.integrate._identity_field_15c95b83 0df86d1 load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.advect_particles_2f248551 bfedeec load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_380959cb bb9f71e load on device 'cuda:0' took 0.54 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_ec304b85 25a078a load on device 'cuda:0' took 0.37 ms (cached) {"soil": "dry-sand", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.938, "loads": [{"carrier": 0, "departed_s": 187.9, "load_kg": 8451, "loading_s": 187.9, "passes": 9}, {"carrier": 0, "departed_s": 381.9, "load_kg": 8335, "loading_s": 137.3, "passes": 6}, {"carrier": 0, "departed_s": 607.8, "load_kg": 8680, "loading_s": 169.2, "passes": 8}, {"carrier": 0, "departed_s": 817.4, "load_kg": 8552, "loading_s": 152.9, "passes": 7}, {"carrier": 0, "departed_s": 1007.1, "load_kg": 10723, "loading_s": 132.3, "passes": 7}, {"carrier": 0, "departed_s": 1230.7, "load_kg": 10546, "loading_s": 165.7, "passes": 9}], "trips": [{"depart_t": 187.88, "stages": {"loading": 187.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 86, "away_s": 56.72}, {"depart_t": 381.93, "stages": {"loading": 137.33, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 60, "away_s": 56.72}, {"depart_t": 607.82, "stages": {"loading": 169.17, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.03, "lower": 5.0, "return": 5.23, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 168, "away_s": 56.71}, {"depart_t": 817.42, "stages": {"loading": 152.88, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.95, "lower": 5.0, "return": 5.02, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 254, "away_s": 57.41}, {"depart_t": 1007.15, "stages": {"loading": 132.32, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.47, "lower": 5.0, "return": 4.88, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 271, "away_s": 57.8}, {"depart_t": 1230.68, "stages": {"loading": 165.73, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.18, "lower": 5.0, "return": 4.95, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 314, "away_s": 57.59}], "delivered_t": 54.13, "loaded_t": 61.32, "loaded_t_per_hour": 147.2, "mean_departure_interval_s": 208.6, "t_per_hour": 129.9, "mean_load_kg": 9214.0, "mean_loading_s": 157.6, "carry_back_kg": [86, 60, 168, 254, 271, 314], "mean_away_s": 57.2, "excavator_wait_s": 287.7, "passes": 64, "spoil_settled_t": 53.88, "lost_particles": 6586, "pool_short": 91, "skipped": [{"t": 152.03, "stage": "swing back", "max_err_rad": 0.058}, {"t": 156.05, "stage": "approach", "max_err_rad": 1.761}, {"t": 160.07, "stage": "penetrate", "max_err_rad": 1.755}, {"t": 164.08, "stage": "drag", "max_err_rad": 1.752}, {"t": 168.1, "stage": "drag-curl", "max_err_rad": 1.738}, {"t": 172.12, "stage": "curl", "max_err_rad": 1.583}, {"t": 182.18, "stage": "swing to truck", "max_err_rad": 0.41}, {"t": 346.3, "stage": "swing back", "max_err_rad": 0.062}, {"t": 350.32, "stage": "approach", "max_err_rad": 1.909}, {"t": 354.33, "stage": "penetrate", "max_err_rad": 1.905}, {"t": 358.35, "stage": "drag", "max_err_rad": 1.907}, {"t": 362.37, "stage": "drag-curl", "max_err_rad": 1.909}, {"t": 366.38, "stage": "curl", "max_err_rad": 1.817}, {"t": 377.72, "stage": "swing to truck", "max_err_rad": 0.505}, {"t": 572.45, "stage": "swing back", "max_err_rad": 0.057}, {"t": 576.47, "stage": "approach", "max_err_rad": 1.572}, {"t": 580.48, "stage": "penetrate", "max_err_rad": 1.574}, {"t": 584.5, "stage": "drag", "max_err_rad": 1.577}, {"t": 588.52, "stage": "drag-curl", "max_err_rad": 1.568}, {"t": 592.53, "stage": "curl", "max_err_rad": 1.471}, {"t": 602.63, "stage": "swing to truck", "max_err_rad": 0.344}, {"t": 781.13, "stage": "swing back", "max_err_rad": 0.064}, {"t": 785.15, "stage": "approach", "max_err_rad": 1.378}, {"t": 789.17, "stage": "penetrate", "max_err_rad": 1.375}, {"t": 793.18, "stage": "drag", "max_err_rad": 1.371}, {"t": 797.2, "stage": "drag-curl", "max_err_rad": 1.364}, {"t": 801.22, "stage": "curl", "max_err_rad": 1.228}, {"t": 811.73, "stage": "swing to truck", "max_err_rad": 0.466}], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 343.0, "pit_left_t": 76.5, "pit_done": false, "faces": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-30.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [10.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [20.0, 0.0], [-10.0, 0.0], [10.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [10.0, 0.0]], "curl_gain_kg": 0, "mean_carried_kg": 1117, "mean_dumped_kg": 1114, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 904, "early_curl": false, "skips": 0, "at_swing_kg": 892, "carried_kg": 591, "left_kg": 1}, {"pass": 1, "t": 15.7, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1624, "early_curl": false, "skips": 0, "at_swing_kg": 1624, "carried_kg": 1327, "left_kg": 3}, {"pass": 2, "t": 31.5, "face": [0.0, 0.0, 1.42], "dig_max_kg": 1778, "early_curl": false, "skips": 0, "at_swing_kg": 1778, "carried_kg": 1421, "left_kg": 1}, {"pass": 3, "t": 47.6, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1768, "early_curl": false, "skips": 0, "at_swing_kg": 814, "carried_kg": 483, "left_kg": 0}, {"pass": 4, "t": 62.9, "face": [-30.0, 0.0, 1.45], "dig_max_kg": 1562, "early_curl": false, "skips": 0, "at_swing_kg": 1562, "carried_kg": 1292, "left_kg": 1}, {"pass": 5, "t": 78.7, "face": [10.0, 0.0, 1.45], "dig_max_kg": 1538, "early_curl": false, "skips": 0, "at_swing_kg": 1243, "carried_kg": 944, "left_kg": 0}, {"pass": 6, "t": 95.2, "face": [10.0, 0.0, 1.65], "dig_max_kg": 1748, "early_curl": false, "skips": 0, "at_swing_kg": 1748, "carried_kg": 1270, "left_kg": 1}, {"pass": 7, "t": 112.6, "face": [0.0, 0.0, 1.57], "dig_max_kg": 1853, "early_curl": false, "skips": 0, "at_swing_kg": 1853, "carried_kg": 1566, "left_kg": 1}, {"pass": 8, "t": 128.8, "face": [0.0, 0.0, 1.7], "dig_max_kg": 2064, "early_curl": false, "skips": 1, "at_swing_kg": 2064, "carried_kg": 1567, "left_kg": 1}, {"pass": 9, "t": 152.1, "face": [0.0, 0.0, 1.57], "dig_max_kg": 2039, "early_curl": false, "skips": 6, "at_swing_kg": 1057, "carried_kg": 1220, "left_kg": 3}, {"pass": 10, "t": 189.5, "face": [0.0, 0.0, 1.55], "dig_max_kg": 2003, "early_curl": false, "skips": 0, "at_swing_kg": 1699, "carried_kg": 1424, "left_kg": 9}, {"pass": 11, "t": 251.6, "face": [0.0, 0.0, 1.66], "dig_max_kg": 2047, "early_curl": false, "skips": 0, "at_swing_kg": 2047, "carried_kg": 1563, "left_kg": 2}, {"pass": 12, "t": 269.3, "face": [0.0, 0.0, 1.59], "dig_max_kg": 2038, "early_curl": false, "skips": 0, "at_swing_kg": 2038, "carried_kg": 1473, "left_kg": 2}, {"pass": 13, "t": 287.4, "face": [0.0, 0.0, 1.62], "dig_max_kg": 2042, "early_curl": false, "skips": 0, "at_swing_kg": 2042, "carried_kg": 1620, "left_kg": 8}, {"pass": 14, "t": 304.4, "face": [0.0, 0.0, 1.58], "dig_max_kg": 2021, "early_curl": false, "skips": 0, "at_swing_kg": 2021, "carried_kg": 1539, "left_kg": 10}, {"pass": 15, "t": 322.3, "face": [0.0, 0.0, 1.63], "dig_max_kg": 2055, "early_curl": false, "skips": 1, "at_swing_kg": 2055, "carried_kg": 1509, "left_kg": 12}, {"pass": 16, "t": 346.3, "face": [0.0, 0.0, 1.65], "dig_max_kg": 2048, "early_curl": false, "skips": 6, "at_swing_kg": 951, "carried_kg": 1298, "left_kg": 2}, {"pass": 17, "t": 383.6, "face": [0.0, 0.0, 1.66], "dig_max_kg": 2048, "early_curl": false, "skips": 0, "at_swing_kg": 1692, "carried_kg": 1354, "left_kg": 1}, {"pass": 18, "t": 445.6, "face": [-30.0, 0.0, 1.55], "dig_max_kg": 2023, "early_curl": false, "skips": 0, "at_swing_kg": 1592, "carried_kg": 1265, "left_kg": 15}, {"pass": 19, "t": 462.4, "face": [0.0, 0.0, 1.46], "dig_max_kg": 2037, "early_curl": false, "skips": 0, "at_swing_kg": 2037, "carried_kg": 1627, "left_kg": 7}, {"pass": 20, "t": 480.2, "face": [10.0, 0.0, 1.4], "dig_max_kg": 2000, "early_curl": false, "skips": 0, "at_swing_kg": 1636, "carried_kg": 1179, "left_kg": 9}, {"pass": 21, "t": 497.2, "face": [0.0, 0.0, 1.61], "dig_max_kg": 2032, "early_curl": false, "skips": 0, "at_swing_kg": 2032, "carried_kg": 1425, "left_kg": 0}, {"pass": 22, "t": 515.1, "face": [-30.0, 0.0, 1.35], "dig_max_kg": 2019, "early_curl": false, "skips": 0, "at_swing_kg": 1524, "carried_kg": 1230, "left_kg": 8}, {"pass": 23, "t": 530.5, "face": [-20.0, 0.0, 1.39], "dig_max_kg": 1519, "early_curl": false, "skips": 0, "at_swing_kg": 892, "carried_kg": 659, "left_kg": 1}, {"pass": 24, "t": 546.3, "face": [0.0, 0.0, 1.51], "dig_max_kg": 2023, "early_curl": false, "skips": 1, "at_swing_kg": 2023, "carried_kg": 1499, "left_kg": 43}, {"pass": 25, "t": 572.5, "face": [-20.0, 0.0, 1.43], "dig_max_kg": 2008, "early_curl": false, "skips": 6, "at_swing_kg": 1327, "carried_kg": 1449, "left_kg": 3}, {"pass": 26, "t": 609.2, "face": [-20.0, 0.0, 1.43], "dig_max_kg": 1522, "early_curl": false, "skips": 0, "at_swing_kg": 1273, "carried_kg": 999, "left_kg": 1}, {"pass": 27, "t": 671.5, "face": [-20.0, 0.0, 1.61], "dig_max_kg": 1886, "early_curl": false, "skips": 0, "at_swing_kg": 1886, "carried_kg": 1490, "left_kg": 2}, {"pass": 28, "t": 689.3, "face": [0.0, 0.0, 1.48], "dig_max_kg": 1972, "early_curl": false, "skips": 0, "at_swing_kg": 1972, "carried_kg": 1675, "left_kg": 7}, {"pass": 29, "t": 706.8, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1950, "early_curl": false, "skips": 0, "at_swing_kg": 1872, "carried_kg": 1587, "left_kg": 1}, {"pass": 30, "t": 723.6, "face": [-20.0, 0.0, 1.48], "dig_max_kg": 1921, "early_curl": false, "skips": 0, "at_swing_kg": 1921, "carried_kg": 1537, "left_kg": 13}, {"pass": 31, "t": 741.5, "face": [-10.0, 0.0, 1.51], "dig_max_kg": 1669, "early_curl": false, "skips": 0, "at_swing_kg": 1669, "carried_kg": 1397, "left_kg": 5}, {"pass": 32, "t": 758.1, "face": [0.0, 0.0, 1.59], "dig_max_kg": 1953, "early_curl": false, "skips": 1, "at_swing_kg": 1953, "carried_kg": 1471, "left_kg": 1}, {"pass": 33, "t": 781.2, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1945, "early_curl": false, "skips": 6, "at_swing_kg": 792, "carried_kg": 973, "left_kg": 2}, {"pass": 34, "t": 818.6, "face": [-20.0, 0.0, 1.5], "dig_max_kg": 1819, "early_curl": false, "skips": 0, "at_swing_kg": 1573, "carried_kg": 1316, "left_kg": 7}, {"pass": 35, "t": 881.6, "face": [-10.0, 0.0, 1.49], "dig_max_kg": 1778, "early_curl": false, "skips": 0, "at_swing_kg": 1778, "carried_kg": 1424, "left_kg": 2}, {"pass": 36, "t": 899.3, "face": [10.0, 0.0, 1.32], "dig_max_kg": 1763, "early_curl": false, "skips": 0, "at_swing_kg": 1594, "carried_kg": 1058, "left_kg": 0}, {"pass": 37, "t": 917.4, "face": [10.0, 0.0, 1.53], "dig_max_kg": 1813, "early_curl": false, "skips": 0, "at_swing_kg": 1813, "carried_kg": 1363, "left_kg": 8}, {"pass": 38, "t": 934.4, "face": [0.0, 0.0, 1.56], "dig_max_kg": 1900, "early_curl": false, "skips": 0, "at_swing_kg": 1900, "carried_kg": 1467, "left_kg": 1}, {"pass": 39, "t": 952.6, "face": [10.0, 0.0, 1.46], "dig_max_kg": 1879, "early_curl": false, "skips": 0, "at_swing_kg": 1755, "carried_kg": 1196, "left_kg": 1}, {"pass": 40, "t": 971.4, "face": [20.0, 0.0, 1.23], "dig_max_kg": 1730, "early_curl": false, "skips": 0, "at_swing_kg": 1304, "carried_kg": 929, "left_kg": 1}, {"pass": 41, "t": 989.8, "face": [20.0, 0.0, 1.32], "dig_max_kg": 1732, "early_curl": false, "skips": 0, "at_swing_kg": 1732, "carried_kg": 1256, "left_kg": 1}, {"pass": 42, "t": 1009.0, "face": [10.0, 0.0, 1.42], "dig_max_kg": 1820, "early_curl": false, "skips": 0, "at_swing_kg": 1401, "carried_kg": 1090, "left_kg": 1}, {"pass": 43, "t": 1072.2, "face": [-20.0, 0.0, 1.3], "dig_max_kg": 1798, "early_curl": false, "skips": 0, "at_swing_kg": 1657, "carried_kg": 1426, "left_kg": 3}, {"pass": 44, "t": 1088.8, "face": [-10.0, 0.0, 1.3], "dig_max_kg": 1764, "early_curl": false, "skips": 0, "at_swing_kg": 1764, "carried_kg": 1414, "left_kg": 9}, {"pass": 45, "t": 1106.5, "face": [0.0, 0.0, 1.29], "dig_max_kg": 1751, "early_curl": false, "skips": 0, "at_swing_kg": 1727, "carried_kg": 1218, "left_kg": 1}, {"pass": 46, "t": 1125.8, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1702, "early_curl": false, "skips": 0, "at_swing_kg": 1211, "carried_kg": 919, "left_kg": 0}, {"pass": 47, "t": 1144.0, "face": [-20.0, 0.0, 0.91], "dig_max_kg": 1314, "early_curl": false, "skips": 0, "at_swing_kg": 1314, "carried_kg": 1076, "left_kg": 8}, {"pass": 48, "t": 1160.9, "face": [-10.0, 0.0, 0.85], "dig_max_kg": 1371, "early_curl": false, "skips": 0, "at_swing_kg": 1371, "carried_kg": 979, "left_kg": 1}, {"pass": 49, "t": 1179.2, "face": [10.0, 0.0, 0.84], "dig_max_kg": 1364, "early_curl": false, "skips": 0, "at_swing_kg": 1252, "carried_kg": 955, "left_kg": 2}, {"pass": 50, "t": 1196.9, "face": [0.0, 0.0, 0.78], "dig_max_kg": 1236, "early_curl": false, "skips": 0, "at_swing_kg": 1153, "carried_kg": 807, "left_kg": 1}, {"pass": 51, "t": 1214.6, "face": [-20.0, 0.0, 0.74], "dig_max_kg": 1048, "early_curl": false, "skips": 0, "at_swing_kg": 1048, "carried_kg": 657, "left_kg": 0}, {"pass": 52, "t": 1232.8, "face": [20.0, 0.0, 0.71], "dig_max_kg": 1031, "early_curl": false, "skips": 0, "at_swing_kg": 502, "carried_kg": 424, "left_kg": 0}, {"pass": 53, "t": 1294.9, "face": [-10.0, 0.0, 0.68], "dig_max_kg": 1083, "early_curl": false, "skips": 0, "at_swing_kg": 1083, "carried_kg": 782, "left_kg": 0}, {"pass": 54, "t": 1312.8, "face": [10.0, 0.0, 0.64], "dig_max_kg": 1070, "early_curl": false, "skips": 0, "at_swing_kg": 908, "carried_kg": 543, "left_kg": 1}, {"pass": 55, "t": 1331.1, "face": [0.0, 0.0, 0.65], "dig_max_kg": 904, "early_curl": false, "skips": 0, "at_swing_kg": 904, "carried_kg": 589, "left_kg": 1}, {"pass": 56, "t": 1348.3, "face": [-20.0, 0.0, 0.63], "dig_max_kg": 891, "early_curl": false, "skips": 0, "at_swing_kg": 889, "carried_kg": 624, "left_kg": 0}, {"pass": 57, "t": 1366.0, "face": [20.0, 0.0, 0.6], "dig_max_kg": 883, "early_curl": false, "skips": 0, "at_swing_kg": 623, "carried_kg": 339, "left_kg": 1}, {"pass": 58, "t": 1384.9, "face": [-10.0, 0.0, 0.58], "dig_max_kg": 890, "early_curl": false, "skips": 0, "at_swing_kg": 890, "carried_kg": 627, "left_kg": 0}, {"pass": 59, "t": 1402.3, "face": [10.0, 0.0, 0.53], "dig_max_kg": 876, "early_curl": false, "skips": 0, "at_swing_kg": 706, "carried_kg": 413, "left_kg": 0}, {"pass": 60, "t": 1420.3, "face": [0.0, 0.0, 0.56], "dig_max_kg": 744, "early_curl": false, "skips": 0, "at_swing_kg": 744, "carried_kg": 437, "left_kg": 0}, {"pass": 61, "t": 1438.2, "face": [-20.0, 0.0, 0.55], "dig_max_kg": 783, "early_curl": false, "skips": 0, "at_swing_kg": 783, "carried_kg": 548, "left_kg": 1}, {"pass": 62, "t": 1454.9, "face": [-10.0, 0.0, 0.51], "dig_max_kg": 780, "early_curl": false, "skips": 0, "at_swing_kg": 780, "carried_kg": 508, "left_kg": 0}, {"pass": 63, "t": 1473.0, "face": [20.0, 0.0, 0.51], "dig_max_kg": 766, "early_curl": false, "skips": 0, "at_swing_kg": 460, "carried_kg": 195, "left_kg": 0}], "dozer": {"passes": 24, "push_m": 125.59, "work_MJ": 1.11, "load_lifts": 3, "lifts_raised": 1, "parked_s": 1015.15, "working_s": 484.87, "peak_kN": 53.0, "slip_s": 0.0, "futile_passes": 5, "mean_push_kN": [8.5, 3.7, 7.1, 13.5, 0.3, 5.9, 6.2, 2.1, 13.6, 5.7, 7.3, 6.6, 14.8, 0.5, 10.3, 7.8, 7.2, 4.2, 2.0, 2.5, 0.6, 13.9, 0.5, 10.3]}, "spread": {"design_z_above_ground": 0.6, "area_m2": 61.2, "covered_m2": 56.6, "rms_from_grade_m": 0.143, "max_above_grade_m": 0.42, "at_grade_fraction": 0.58, "unspread_m3": 0.69}} diff --git a/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json b/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json index 1b3cf87..b2a328b 100644 --- a/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json +++ b/phase2/logs/haul_bench_lane_fix_long_loam_1carrier.json @@ -1,117 +1 @@ -Warp 1.19.0 initialized: - CUDA Toolkit 13.4, Driver 13.0 - Devices: - "cpu" : "aarch64" - "cuda:0" : "NVIDIA GB10" (122 GiB, sm_121, mempool enabled) - Kernel cache: - /home/dttai1/.cache/warp/1.19.0 -Module validate_and_correct_inertia_kernel_0dd217c5 0dd217c load on device 'cuda:0' took 0.83 ms (cached) -Module newton._src.geometry.bvh c108a72 load on device 'cuda:0' took 0.55 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_model 3bb21b4 load on device 'cuda:0' took 0.51 ms (cached) -Module warp.fem.geometry.nanogrid 8a477eb load on device 'cuda:0' took 0.56 ms (cached) -Module warp._src.fem.quadrature.pic_quadrature.dyn.bin_particles_72b36c27 1274abb load on device 'cuda:0' took 0.46 ms (cached) -Module warp.fem.utils 5050414 load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.quadrature.pic_quadrature.dyn.finalize_cell_particle_data_6a72a038 588425d load on device 'cuda:0' took 0.47 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_60813d26 264deb8 load on device 'cuda:0' took 0.43 ms (cached) -Module warp.fem.space.restriction 13859e3 load on device 'cuda:0' took 0.30 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_9775d3a0 c659439 load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.space.restriction.dyn.fill_element_node_indices_8688d243 72a45d0 load on device 'cuda:0' took 0.31 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.dyn.cell_color_e837866a 03aea13 load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels 309f94e load on device 'cuda:0' took 0.41 ms (cached) -Module warp._src.coloring 5014867 load on device 'cpu' took 0.86 ms (cached) -Module newton._src.solvers.mujoco.kernels 8cde23f load on device 'cuda:0' took 2.92 ms (cached) -Module mujoco_warp._src.set_const e7f6e53 load on device 'cuda:0' took 0.59 ms (cached) -Module mujoco_warp._src.smooth 6ec87e9 load on device 'cuda:0' took 1.36 ms (cached) -Module _small_cholesky_factorize_block__locals__kernel_688128d2 3a1ff3a load on device 'cuda:0' took 0.31 ms (cached) -Module _small_cholesky_factorize_block__locals__kernel_76d25309 797032f load on device 'cuda:0' took 0.28 ms (cached) -Module _small_cholesky_solve_block__locals__kernel_1e3f1516 c492a5b load on device 'cuda:0' took 0.28 ms (cached) -Module _small_cholesky_solve_block__locals__kernel_b7425cff b9bad6a load on device 'cuda:0' took 0.27 ms (cached) -Module create_eval_articulation_fk_tile__locals__eval_articulation_fk_tile_b12ad9e5 33f5a01 load on device 'cuda:0' took 0.53 ms (cached) -Module soil_zone 8795928 load on device 'cuda:0' took 0.74 ms (cached) -Module map_mul 4da365f load on device 'cuda:0' took 0.30 ms (cached) -Module soil_server d8198c9 load on device 'cuda:0' took 0.49 ms (cached) -Module excavator_server b3143cf load on device 'cuda:0' took 0.39 ms (cached) -Module newton._src.sim.collide f8ad45d load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.geometry.broad_phase_nxn 92014d2 load on device 'cuda:0' took 0.29 ms (cached) -Module narrow_phase_primitive_write_contact_False_False_False 3cf6427 load on device 'cuda:0' took 0.33 ms (cached) -Module narrow_phase_gjk_mpr_True_False_write_contact_support_map_lean_post_process_minkowski_only 7d090a1 load on device 'cuda:0' took 0.39 ms (cached) -Module newton._src.geometry.narrow_phase dde4959 load on device 'cuda:0' took 0.41 ms (cached) -Module mujoco_warp._src.constraint 9feb269 load on device 'cuda:0' took 0.29 ms (cached) -Module _friction_dof__locals__kernel_de3fc701 de3fc70 load on device 'cuda:0' took 0.32 ms (cached) -Module _limit_slide_hinge__locals__kernel_0914a21e 0914a21 load on device 'cuda:0' took 0.30 ms (cached) -Module _efc_contact_init__locals__kernel_2fbed541 2fbed54 load on device 'cuda:0' took 0.29 ms (cached) -Module _efc_contact_jac_dense__locals__kernel_1686fae4 bea9b8b load on device 'cuda:0' took 0.35 ms (cached) -Module _efc_contact_update__locals__kernel_a67f25cf a67f25c load on device 'cuda:0' took 0.29 ms (cached) -Module mujoco_warp._src.passive a2eea36 load on device 'cuda:0' took 0.43 ms (cached) -Module _qfrc_passive_kernel__locals__kernel_887f05a4 887f05a load on device 'cuda:0' took 0.28 ms (cached) -Module _qfrc_smooth__locals__kernel_5d93552d 5d93552 load on device 'cuda:0' took 0.27 ms (cached) -Module mujoco_warp._src.support 462b66b load on device 'cuda:0' took 0.27 ms (cached) -Module _small_cholesky_factorize_solve_block__locals__kernel_32267892 9d7a2a3 load on device 'cuda:0' took 0.29 ms (cached) -Module _small_cholesky_factorize_solve_block__locals__kernel_bbb3b6d0 7e9304f load on device 'cuda:0' took 0.28 ms (cached) -Module _solve_init_dof__locals__kernel_08db194e 08db194 load on device 'cuda:0' took 0.27 ms (cached) -Module mujoco_warp._src.solver ab57257 load on device 'cuda:0' took 0.38 ms (cached) -Module _solve_init_jaref_kernel__locals__kernel_7c525cac 7c525ca load on device 'cuda:0' took 0.29 ms (cached) -Module mul_m_kernel__locals___mul_m_2eb0ef19 2eb0ef1 load on device 'cuda:0' took 0.27 ms (cached) -Module _update_constraint_efc__locals__kernel_01e3395a 01e3395 load on device 'cuda:0' took 0.27 ms (cached) -Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_1f63a94a 1f63a94 load on device 'cuda:0' took 0.28 ms (cached) -Module _update_gradient_zero_grad_dot__locals__kernel_eeeb13da eeeb13d load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_grad__locals__kernel_9654ebd0 9654ebd load on device 'cuda:0' took 0.26 ms (cached) -Module _update_gradient_JTDAJ_dense_tiled__locals__kernel_42d95046 a1e3b32 load on device 'cuda:0' took 0.49 ms (cached) -Module _update_gradient_cholesky__locals__kernel_4248b06c d4ff837 load on device 'cuda:0' took 26.52 ms (cached) -Module _linesearch_iterative_kernel__locals__kernel_9e726ceb fad442d load on device 'cuda:0' took 0.45 ms (cached) -Module _update_constraint_efc__locals__kernel_81674199 8167419 load on device 'cuda:0' took 0.31 ms (cached) -Module _update_constraint_init_qfrc_constraint_dense__locals__kernel_8e350d39 8e350d3 load on device 'cuda:0' took 0.28 ms (cached) -Module _update_gradient_zero_grad_dot__locals__kernel_ba7e8e2f ba7e8e2 load on device 'cuda:0' took 0.27 ms (cached) -Module _update_gradient_grad__locals__kernel_4f2bb7a9 4f2bb7a load on device 'cuda:0' took 0.26 ms (cached) -Module _update_gradient_cholesky__locals__kernel_4c171783 4827da2 load on device 'cuda:0' took 26.54 ms (cached) -Module _solve_done__locals__kernel_8d3e2217 8d3e221 load on device 'cuda:0' took 0.38 ms (cached) -Module mujoco_warp._src.derivative 380fbcc load on device 'cuda:0' took 0.54 ms (cached) -Module mujoco_warp._src.forward 9883e25 load on device 'cuda:0' took 0.40 ms (cached) -Module _next_time_builder__locals___next_time_1cb22d2e 1cb22d2 load on device 'cuda:0' took 0.30 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_2fb7f2f1 60674ca load on device 'cuda:0' took 0.51 ms (cached) -Module newton._src.solvers.implicit_mpm.rasterized_collisions.world_position_33f2b610 f78fcaa load on device 'cuda:0' took 0.37 ms (cached) -Module newton._src.solvers.implicit_mpm.rasterized_collisions 6d32b59 load on device 'cuda:0' took 0.40 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.collision_weight_field_8c7a1ed7 c6a78c2 load on device 'cuda:0' took 0.34 ms (cached) -Module _bsr_accumulate_triplet_values_89c51218 7baeb9a load on device 'cuda:0' took 0.31 ms (cached) -Module warp._src.fem.quadrature.quadrature.dyn.quadrature_point_element_indices_d52fa04e ff44114 load on device 'cuda:0' took 0.34 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_e081b3ef ccc78d5 load on device 'cuda:0' took 0.34 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_c147b205 39f0a31 load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_velocity_apic_9dd4ac18 813b0f2 load on device 'cuda:0' took 0.34 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_mass_5fda8e19 ac3dcd8 load on device 'cuda:0' took 0.36 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_fea4d8fd 16d7ac5 load on device 'cuda:0' took 0.36 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_yield_parameters_6dcf6251 7dc048e load on device 'cuda:0' took 0.43 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_88c9ef37 0303b67 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_active_fraction_a5404331 06e1637 load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_99ecc7cf a3c8b39 load on device 'cuda:0' took 0.45 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_fraction_7c94db4e 0446aed load on device 'cuda:0' took 0.37 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_a649643f 454191e load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_collider_fraction_a5258c95 ac7d7fc load on device 'cuda:0' took 0.39 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_bdb78fbc 7f792ef load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.strain_delta_form_622b62c3 f655226 load on device 'cuda:0' took 0.34 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_6d221857 31482f3 load on device 'cuda:0' took 0.37 ms (cached) -Module warp.fem.integrate._identity_field_b5aa3f34 0ab4782 load on device 'cuda:0' took 0.50 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.integrate_particle_stress_d3464583 ca2f662 load on device 'cuda:0' took 0.34 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_b79d8313 7d87f73 load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.mass_form_bd277bc5 45a767e load on device 'cuda:0' took 0.35 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_bilinear_kernel_fn_f6d3cfb2 ad2be72 load on device 'cuda:0' took 0.36 ms (cached) -Module warp.sparse 52bbb2e load on device 'cuda:0' took 0.54 ms (cached) -Module _bsr_assign_copy_blocks_25808539 9673674 load on device 'cuda:0' took 0.31 ms (cached) -Module compute_eigenvalues_70d01c86 29a61fe load on device 'cuda:0' took 0.29 ms (cached) -Module inverse_scale_vector_e40af5d0 f052608 load on device 'cuda:0' took 0.31 ms (cached) -Module newton._src.solvers.implicit_mpm.contact_solver_kernels f1493cd load on device 'cuda:0' took 0.44 ms (cached) -Module _bsr_transpose_values_1d188087 aa92b67 load on device 'cuda:0' took 0.45 ms (cached) -Module make_bsr_mv_tiled_kernel__locals__bsr_mv_tiled_kernel_17fd668b 3f91fc9 load on device 'cuda:0' took 0.36 ms (cached) -Module make_bsr_mv_kernel__locals__bsr_mv_kernel_37b51eee bf7159b load on device 'cuda:0' took 0.32 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels 42c788a load on device 'cuda:0' took 0.71 ms (cached) -Module newton._src.solvers.implicit_mpm.solve_rheology 65415ca load on device 'cuda:0' took 0.42 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels c7bb17e load on device 'cuda:0' took 0.64 ms (cached) -Module newton._src.solvers.implicit_mpm.rheology_solver_kernels.dyn.gs_solve_kernel_impl_ba42a0de 8d2ccee load on device 'cuda:0' took 0.33 ms (cached) -Module newton._src.solvers.implicit_mpm.solve_rheology 92bb71d load on device 'cuda:0' took 0.52 ms (cached) -Module warp.fem.space.partition 4c5b150 load on device 'cuda:0' took 0.33 ms (cached) -Module scatter_field_dof_values_ec638f93 bde0ade load on device 'cuda:0' took 0.33 ms (cached) -Module warp.fem.integrate._identity_field_15c95b83 0df86d1 load on device 'cuda:0' took 0.35 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.update_particle_strains_40d97e08 13b8e25 load on device 'cuda:0' took 0.39 ms (cached) -Module newton._src.solvers.implicit_mpm.implicit_mpm_solver_kernels.advect_particles_2f248551 bfedeec load on device 'cuda:0' took 0.38 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_380959cb bb9f71e load on device 'cuda:0' took 0.49 ms (cached) -Module warp._src.fem.field.virtual.dyn.dispatch_linear_kernel_fn_ec304b85 25a078a load on device 'cuda:0' took 0.36 ms (cached) {"soil": "loam", "carriers": 1, "sim_s": 1500.0, "stopped_after_passes": null, "realtime_factor": 0.985, "loads": [{"carrier": 0, "departed_s": 129.8, "load_kg": 10774, "loading_s": 129.8, "passes": 7}, {"carrier": 0, "departed_s": 329.7, "load_kg": 10597, "loading_s": 142.8, "passes": 8}, {"carrier": 0, "departed_s": 537.8, "load_kg": 10503, "loading_s": 150.9, "passes": 8}, {"carrier": 0, "departed_s": 729.9, "load_kg": 11383, "loading_s": 134.8, "passes": 7}, {"carrier": 0, "departed_s": 899.8, "load_kg": 10886, "loading_s": 112.0, "passes": 6}, {"carrier": 0, "departed_s": 1097.9, "load_kg": 9408, "loading_s": 139.8, "passes": 8}], "trips": [{"depart_t": 129.82, "stages": {"loading": 129.82, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.55, "lower": 5.0, "return": 5.1, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 154, "away_s": 57.1}, {"depart_t": 329.72, "stages": {"loading": 142.8, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.65, "lower": 5.0, "return": 5.08, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 171, "away_s": 57.18}, {"depart_t": 537.8, "stages": {"loading": 150.9, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 3.82, "lower": 5.0, "return": 5.05, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 200, "away_s": 57.32}, {"depart_t": 729.9, "stages": {"loading": 134.78, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.72, "lower": 5.0, "return": 4.82, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 232, "away_s": 57.98}, {"depart_t": 899.85, "stages": {"loading": 111.97, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 5.02, "lower": 5.0, "return": 4.73, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 213, "away_s": 58.2}, {"depart_t": 1097.87, "stages": {"loading": 139.82, "drive out": 7.92, "turn to dump": 7.23, "reverse to dump": 4.27, "tip": 8.02, "dump": 4.5, "lower": 5.0, "return": 4.87, "turn to load": 7.22, "reverse in": 8.8}, "carry_back_kg": 281, "away_s": 57.81}], "delivered_t": 62.3, "loaded_t": 63.78, "loaded_t_per_hour": 153.1, "mean_departure_interval_s": 193.6, "t_per_hour": 149.5, "mean_load_kg": 10592.0, "mean_loading_s": 135.0, "carry_back_kg": [154, 171, 200, 232, 213, 281], "mean_away_s": 57.6, "excavator_wait_s": 244.1, "passes": 49, "spoil_settled_t": 61.87, "lost_particles": 2040, "pool_short": 0, "skipped": [], "carrier_wait_at_dump_s": 0.0, "carrier_wait_to_leave_s": 0.0, "carrier_wait_to_load_s": 0.0, "spot_empty_s": 345.6, "pit_left_t": 101.9, "pit_done": true, "faces": [[0.0, 0.0], [-20.0, 0.0], [10.0, 0.0], [-30.0, 0.0], [-10.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-40.0, 0.0], [-30.0, 0.0], [-30.0, 0.0], [20.0, 0.0], [20.0, 0.0], [-30.0, 0.0], [10.0, 0.0], [10.0, 0.0], [20.0, 0.0], [20.0, 0.0], [20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-10.0, 0.0], [-20.0, 0.0], [-20.0, 0.0], [0.0, 0.0], [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0], [0.0, 0.0]], "curl_gain_kg": 133, "mean_carried_kg": 1277, "mean_dumped_kg": 1148, "thin_passes": 3, "pass_log": [{"pass": 0, "t": 0.0, "face": [0.0, 0.0, 1.39], "dig_max_kg": 1111, "early_curl": true, "skips": 0, "at_swing_kg": 1071, "carried_kg": 1158, "left_kg": 14}, {"pass": 1, "t": 14.6, "face": [-20.0, 0.0, 1.37], "dig_max_kg": 1174, "early_curl": true, "skips": 0, "at_swing_kg": 1133, "carried_kg": 1164, "left_kg": 21}, {"pass": 2, "t": 29.7, "face": [10.0, 0.0, 1.35], "dig_max_kg": 1300, "early_curl": true, "skips": 0, "at_swing_kg": 1267, "carried_kg": 1354, "left_kg": 50}, {"pass": 3, "t": 45.0, "face": [-30.0, 0.0, 1.24], "dig_max_kg": 1283, "early_curl": true, "skips": 0, "at_swing_kg": 1232, "carried_kg": 1317, "left_kg": 32}, {"pass": 4, "t": 60.1, "face": [-10.0, 0.0, 1.2], "dig_max_kg": 1256, "early_curl": true, "skips": 0, "at_swing_kg": 994, "carried_kg": 1205, "left_kg": 101}, {"pass": 5, "t": 75.8, "face": [20.0, 0.0, 1.13], "dig_max_kg": 1426, "early_curl": true, "skips": 0, "at_swing_kg": 1293, "carried_kg": 1385, "left_kg": 380}, {"pass": 6, "t": 95.8, "face": [0.0, 0.0, 0.75], "dig_max_kg": 1300, "early_curl": false, "skips": 0, "at_swing_kg": 1269, "carried_kg": 1430, "left_kg": 376}, {"pass": 7, "t": 115.2, "face": [0.0, 0.0, 1.18], "dig_max_kg": 1393, "early_curl": true, "skips": 0, "at_swing_kg": 1306, "carried_kg": 1402, "left_kg": 70}, {"pass": 8, "t": 131.1, "face": [-20.0, 0.0, 0.68], "dig_max_kg": 1320, "early_curl": false, "skips": 0, "at_swing_kg": 1312, "carried_kg": 1261, "left_kg": 13}, {"pass": 9, "t": 194.4, "face": [-20.0, 0.0, 1.14], "dig_max_kg": 1363, "early_curl": true, "skips": 0, "at_swing_kg": 1063, "carried_kg": 1057, "left_kg": 17}, {"pass": 10, "t": 210.2, "face": [-10.0, 0.0, 0.57], "dig_max_kg": 1155, "early_curl": false, "skips": 0, "at_swing_kg": 1155, "carried_kg": 1322, "left_kg": 201}, {"pass": 11, "t": 225.3, "face": [-10.0, 0.0, 1.16], "dig_max_kg": 1387, "early_curl": true, "skips": 0, "at_swing_kg": 974, "carried_kg": 973, "left_kg": 31}, {"pass": 12, "t": 241.0, "face": [-40.0, 0.0, 0.52], "dig_max_kg": 988, "early_curl": false, "skips": 0, "at_swing_kg": 638, "carried_kg": 690, "left_kg": 53}, {"pass": 13, "t": 256.3, "face": [-30.0, 0.0, 0.55], "dig_max_kg": 1245, "early_curl": false, "skips": 0, "at_swing_kg": 1232, "carried_kg": 1261, "left_kg": 49}, {"pass": 14, "t": 271.4, "face": [-30.0, 0.0, 1.14], "dig_max_kg": 1567, "early_curl": false, "skips": 0, "at_swing_kg": 1518, "carried_kg": 1694, "left_kg": 426}, {"pass": 15, "t": 290.2, "face": [20.0, 0.0, 0.48], "dig_max_kg": 1523, "early_curl": false, "skips": 0, "at_swing_kg": 873, "carried_kg": 1054, "left_kg": 259}, {"pass": 16, "t": 311.8, "face": [20.0, 0.0, 0.96], "dig_max_kg": 1410, "early_curl": false, "skips": 0, "at_swing_kg": 1229, "carried_kg": 1239, "left_kg": 216}, {"pass": 17, "t": 331.0, "face": [-30.0, 0.0, 0.47], "dig_max_kg": 1570, "early_curl": false, "skips": 0, "at_swing_kg": 1750, "carried_kg": 1680, "left_kg": 24}, {"pass": 18, "t": 395.3, "face": [10.0, 0.0, 0.43], "dig_max_kg": 1570, "early_curl": false, "skips": 0, "at_swing_kg": 847, "carried_kg": 986, "left_kg": 112}, {"pass": 19, "t": 411.7, "face": [10.0, 0.0, 1.09], "dig_max_kg": 1432, "early_curl": false, "skips": 0, "at_swing_kg": 1382, "carried_kg": 1487, "left_kg": 25}, {"pass": 20, "t": 428.3, "face": [20.0, 0.0, 0.45], "dig_max_kg": 1402, "early_curl": false, "skips": 0, "at_swing_kg": 1258, "carried_kg": 1427, "left_kg": 64}, {"pass": 21, "t": 446.9, "face": [20.0, 0.0, 0.95], "dig_max_kg": 1264, "early_curl": false, "skips": 0, "at_swing_kg": 423, "carried_kg": 512, "left_kg": 49}, {"pass": 22, "t": 465.8, "face": [20.0, 0.0, 0.99], "dig_max_kg": 1380, "early_curl": true, "skips": 0, "at_swing_kg": 1149, "carried_kg": 1142, "left_kg": 95}, {"pass": 23, "t": 483.8, "face": [0.0, 0.0, 0.42], "dig_max_kg": 1162, "early_curl": false, "skips": 0, "at_swing_kg": 1096, "carried_kg": 1183, "left_kg": 459}, {"pass": 24, "t": 503.1, "face": [0.0, 0.0, 1.17], "dig_max_kg": 1460, "early_curl": false, "skips": 0, "at_swing_kg": 1285, "carried_kg": 1383, "left_kg": 112}, {"pass": 25, "t": 520.8, "face": [10.0, 0.0, 0.44], "dig_max_kg": 1316, "early_curl": false, "skips": 0, "at_swing_kg": 1233, "carried_kg": 1432, "left_kg": 205}, {"pass": 26, "t": 539.7, "face": [10.0, 0.0, 1.11], "dig_max_kg": 1469, "early_curl": false, "skips": 0, "at_swing_kg": 1653, "carried_kg": 1585, "left_kg": 64}, {"pass": 27, "t": 602.9, "face": [10.0, 0.0, 0.44], "dig_max_kg": 1564, "early_curl": false, "skips": 0, "at_swing_kg": 1552, "carried_kg": 1675, "left_kg": 37}, {"pass": 28, "t": 621.1, "face": [10.0, 0.0, 1.15], "dig_max_kg": 1564, "early_curl": false, "skips": 0, "at_swing_kg": 1393, "carried_kg": 1437, "left_kg": 28}, {"pass": 29, "t": 638.4, "face": [10.0, 0.0, 0.51], "dig_max_kg": 1439, "early_curl": false, "skips": 0, "at_swing_kg": 1431, "carried_kg": 1422, "left_kg": 24}, {"pass": 30, "t": 656.3, "face": [10.0, 0.0, 0.63], "dig_max_kg": 1793, "early_curl": false, "skips": 0, "at_swing_kg": 1791, "carried_kg": 1749, "left_kg": 261}, {"pass": 31, "t": 677.3, "face": [-10.0, 0.0, 0.4], "dig_max_kg": 1793, "early_curl": false, "skips": 0, "at_swing_kg": 1076, "carried_kg": 1156, "left_kg": 68}, {"pass": 32, "t": 693.4, "face": [-10.0, 0.0, 1.06], "dig_max_kg": 1273, "early_curl": true, "skips": 0, "at_swing_kg": 1015, "carried_kg": 1057, "left_kg": 588}, {"pass": 33, "t": 712.0, "face": [-20.0, 0.0, 0.71], "dig_max_kg": 1443, "early_curl": false, "skips": 0, "at_swing_kg": 1422, "carried_kg": 1501, "left_kg": 245}, {"pass": 34, "t": 731.0, "face": [-20.0, 0.0, 1.12], "dig_max_kg": 1443, "early_curl": true, "skips": 0, "at_swing_kg": 1052, "carried_kg": 1013, "left_kg": 45}, {"pass": 35, "t": 795.5, "face": [0.0, 0.0, 0.44], "dig_max_kg": 1184, "early_curl": false, "skips": 0, "at_swing_kg": 1170, "carried_kg": 1181, "left_kg": 13}, {"pass": 36, "t": 812.5, "face": [0.0, 0.0, 0.9], "dig_max_kg": 1532, "early_curl": false, "skips": 0, "at_swing_kg": 1526, "carried_kg": 1666, "left_kg": 60}, {"pass": 37, "t": 829.9, "face": [0.0, 0.0, 1.04], "dig_max_kg": 1532, "early_curl": false, "skips": 0, "at_swing_kg": 1433, "carried_kg": 1568, "left_kg": 27}, {"pass": 38, "t": 847.0, "face": [0.0, 0.0, 0.56], "dig_max_kg": 1729, "early_curl": false, "skips": 0, "at_swing_kg": 1729, "carried_kg": 1609, "left_kg": 23}, {"pass": 39, "t": 865.4, "face": [-10.0, 0.0, 0.55], "dig_max_kg": 1729, "early_curl": false, "skips": 0, "at_swing_kg": 1258, "carried_kg": 1239, "left_kg": 69}, {"pass": 40, "t": 882.8, "face": [-10.0, 0.0, 0.91], "dig_max_kg": 1280, "early_curl": false, "skips": 0, "at_swing_kg": 1274, "carried_kg": 1366, "left_kg": 517}, {"pass": 41, "t": 901.3, "face": [-10.0, 0.0, 0.78], "dig_max_kg": 1411, "early_curl": false, "skips": 0, "at_swing_kg": 1597, "carried_kg": 1545, "left_kg": 35}, {"pass": 42, "t": 965.6, "face": [-20.0, 0.0, 0.56], "dig_max_kg": 1408, "early_curl": false, "skips": 0, "at_swing_kg": 1394, "carried_kg": 1342, "left_kg": 9}, {"pass": 43, "t": 981.7, "face": [-20.0, 0.0, 0.6], "dig_max_kg": 1597, "early_curl": false, "skips": 0, "at_swing_kg": 1594, "carried_kg": 1678, "left_kg": 15}, {"pass": 44, "t": 998.8, "face": [0.0, 0.0, 0.54], "dig_max_kg": 1597, "early_curl": false, "skips": 0, "at_swing_kg": 1203, "carried_kg": 1304, "left_kg": 55}, {"pass": 45, "t": 1017.0, "face": [-10.0, 0.0, 0.36], "dig_max_kg": 703, "early_curl": false, "skips": 0, "at_swing_kg": 648, "carried_kg": 799, "left_kg": 33}, {"pass": 46, "t": 1034.9, "face": [0.0, 0.0, 0.36], "dig_max_kg": 963, "early_curl": false, "skips": 0, "at_swing_kg": 963, "carried_kg": 1093, "left_kg": 120}, {"pass": 47, "t": 1053.2, "face": [10.0, 0.0, 0.35], "dig_max_kg": 955, "early_curl": false, "skips": 0, "at_swing_kg": 556, "carried_kg": 722, "left_kg": 391}, {"pass": 48, "t": 1076.5, "face": [0.0, 0.0, 0.34], "dig_max_kg": 537, "early_curl": false, "skips": 0, "at_swing_kg": 482, "carried_kg": 657, "left_kg": 135}], "dozer": {"passes": 26, "push_m": 161.59, "work_MJ": 2.26, "load_lifts": 27, "lifts_raised": 2, "parked_s": 923.9, "working_s": 576.12, "peak_kN": 69.69, "slip_s": 0.73, "futile_passes": 7, "mean_push_kN": [11.8, 20.4, 10.6, 11.1, 15.7, 22.5, 18.6, 7.5, 13.4, 20.5, 6.6, 2.8, 17.6, 12.3, 10.7, 14.4, 21.2, 6.0, 3.5, 19.6, 0.5, 18.3, 1.4, 1.6, 1.5, 0.8]}, "spread": {"design_z_above_ground": 0.9, "area_m2": 61.2, "covered_m2": 54.7, "rms_from_grade_m": 0.382, "max_above_grade_m": 1.49, "at_grade_fraction": 0.22, "unspread_m3": 1.3}}