How amghalcyon/mech_rl works
Mech_RL trains PPO policies for energy-aware torque control of a 2-DOF planar arm, then evaluates performance and robustness. The principal path is configured training → simulated control episodes → saved policy → evaluation and visualizations; a standalone benchmark compares baseline controllers. Unsampled subsystem wiring is included only where README documentation supports the capability, so some internal relationships are intentionally not drawn.
Main entry points: robot_env.py Gym arm environment · train.py PPO training · final_eval.py Final evaluation · baseline_benchmark.py Baseline benchmark
Components 20
Training and control
- PPO training
src/mech_rl/training/train.py - PPO policy
- Baseline benchmark
src/mech_rl/evaluation/baseline_benchmark.py
Arm simulation
- Gym arm environment
src/mech_rl/environment/robot_env.py - Robot state
src/mech_rl/domain/state.py - Forward kinematics
src/mech_rl/physics/kinematics.py - Time integrators
src/mech_rl/physics/integrator.py - Arm dynamics
src/mech_rl/physics/dynamics.py - Reward calculation
src/mech_rl/reward
Evaluation and analysis
- Evaluation loop
src/mech_rl/evaluation/eval_loop.py - Final evaluation
src/mech_rl/evaluation/final_eval.py - Plots and policy video
src/mech_rl/visualization - Baseline comparison
src/mech_rl/evaluation/baseline_benchmark.py - Evaluation results
Configuration and tracking
- Validated parameters
src/mech_rl/domain/parameters.py - Hydra configuration
src/mech_rl/configs - YAML configuration
configs/config.yaml - Reproducibility utilities
src/mech_rl/utils/reproducibility.py - MLflow tracking
src/mech_rl/tracking/mlflow_tracker.py
Other components
- Researcher
Connections 25
- Researcher → PPO training: starts training
- Researcher → Final evaluation: requests evaluation
- Researcher → Baseline benchmark: runs benchmark
- YAML configuration → Hydra configuration: supplies settings
- Hydra configuration → PPO training: configures run
- PPO training → Validated parameters: validates parameters
- PPO training → Reproducibility utilities: seeds run
- PPO training → Gym arm environment: creates environment
- PPO training → PPO policy: trains policy
- PPO training → MLflow tracking: logs run
- PPO policy → Gym arm environment: selects torque
- Gym arm environment → Time integrators: advances state
- Time integrators → Arm dynamics: computes acceleration
- Time integrators → Robot state: returns new state
- Gym arm environment → Forward kinematics: computes end-effector
- Gym arm environment → Reward calculation: computes reward
- Gym arm environment → Robot state: stores current state
- Final evaluation → Evaluation loop: measures reward
- Final evaluation → Gym arm environment: creates test environments
- Final evaluation → Plots and policy video: records policy
- Evaluation loop → PPO policy: evaluates policy
- Final evaluation → Evaluation results: writes summary
- Plots and policy video → Evaluation results: writes plots and video
- Baseline benchmark → Gym arm environment: benchmarks controllers
- Baseline benchmark → Evaluation results: reports comparison