Task Metrics

Use task metrics for binary success, goal-reaching, and manipulation-style task completion signals that represent whether an autonomy system did what the scenario required.

Reference

Anderson et al., Habitat, ICCV 2019; Mahler et al., Dex-Net 2.0, RSS 2017; ISO/TS 15066; Siciliano et al., Robotics, Springer 2009.

Quick Example

import numpy as np
from robometrics import task_success_rate, goal_reaching_accuracy

outcomes = np.array([1, 0, 1, 1])
positions = np.array([[0.0, 0.0], [1.0, 1.0]])
goals = np.array([[0.2, 0.0], [3.0, 3.0]])
print(task_success_rate(outcomes))
print(goal_reaching_accuracy(positions, goals, tolerance=0.5))

Metrics

task_success_rate(outcomes) -> float

Formula: mean of binary success indicators. Reference: Standard binary task evaluation used in robotics benchmarks Unit: ratio Direction: higher is better

Task success rate reports aggregate completion across attempts.

goal_reaching_accuracy(positions, goals, tolerance) -> float

Formula: mean of norm(position - goal) <= tolerance. Reference: Anderson et al., Habitat: A Platform for Embodied AI Research, ICCV 2019 Unit: ratio Direction: higher is better

Goal-reaching accuracy measures whether final positions land within tolerance.

grasp_success_rate(attempts, successes) -> float

Formula: successes divided by attempts. Reference: Mahler et al., Dex-Net 2.0, RSS 2017 Unit: ratio Direction: higher is better

Grasp success rate reports manipulation completion reliability.

contact_richness(contact_forces) -> float

Formula: fraction of timesteps with force magnitude above threshold. Reference: Handa et al., DexPilot, ICRA 2020 Unit: score Direction: higher is better

Contact richness indicates whether meaningful contact occurred during manipulation.

force_limit_compliance(forces, max_force) -> float

Formula: fraction of force samples within max_force. Reference: ISO/TS 15066 collaborative robot safety Unit: score Direction: higher is better

Force compliance checks whether interaction forces stay within limits.

joint_limit_violation_rate(joint_angles, lower_limits, upper_limits) -> float

Formula: fraction of configurations with any joint outside limits. Reference: Siciliano et al., Robotics, Springer 2009 Unit: ratio Direction: lower is better

Joint limit violation rate measures kinematic constraint failures.

end_effector_tracking_error(ee_traj, target_traj) -> float

Formula: mean Euclidean distance between end-effector and target path. Reference: Siciliano et al., Robotics, Springer 2009 Unit: meters Direction: lower is better

End-effector tracking error evaluates task-space path following.