bloqade.lanes.arch.metrics.MoveMetricCalculator
classMoveMetricCalculator¶source
bloqade.lanes.arch.metrics.MoveMetricCalculator
Move-metric computation: lane durations, distances, and costs.
Signature
class MoveMetricCalculator(arch_spec: Any, motion_model: MotionModel = MotionModel())The constant-jerk timing model (ramp/jerk/accel constants and the
move-duration formula) lives in the Rust
MotionModel, the single source of truth
shared with the move-search solver. This calculator delegates all timing
to that object (defaulting to the FLAIR constants) and adds cached lane
duration / cost lookups on top. Lives in the arch package so that
PathFinder and heuristics can consume it without pulling in the heavy
compilation imports of Metrics.
Pass a non-default motion_model to price durations with a different
motion profile.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
arch_spec | Any | required | |
motion_model | MotionModel | MotionModel() |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
arch_spec | Any | required | |
motion_model | MotionModel | field(default_factory=MotionModel) |
methodpath_segment_distances_um¶source
bloqade.lanes.arch.metrics.MoveMetricCalculator.path_segment_distances_um
Signature
def path_segment_distances_um(path: tuple[tuple[float, float], ...]) -> tuple[float, ...]Parameters
| Name | Type | Description |
|---|---|---|
path | tuple[tuple[float, float], ...] |
Returns
tuple[float, ...]
methodget_lane_duration_us¶source
bloqade.lanes.arch.metrics.MoveMetricCalculator.get_lane_duration_us
Signature
def get_lane_duration_us(lane_address: Any, *, amplitude_delta: float = 1.0) -> floatReturn lane execution duration in microseconds.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
lane_address | Any | required | |
amplitude_delta | float | 1.0 |
Returns
float
methodget_lane_duration_cost¶source
bloqade.lanes.arch.metrics.MoveMetricCalculator.get_lane_duration_cost
Signature
def get_lane_duration_cost(lane_address: Any, *, amplitude_delta: float = 1.0) -> floatReturn normalized lane duration cost in [0, 1].
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
lane_address | Any | required | |
amplitude_delta | float | 1.0 |
Returns
float
methodlane_distance_um¶source
bloqade.lanes.arch.metrics.MoveMetricCalculator.lane_distance_um
def lane_distance_um(lane: Any) -> floatTotal distance in µm along a lane’s path.
Parameters
| Name | Type | Description |
|---|---|---|
lane | Any |
Returns
float