Author: Offir Olivkovich
Supervisor: Dr. Matan Yah Ben Zion
This repository documents one of several prototypes developed as part of a broader research effort investigating curvity (κ)—a geometric property introduced in the work of Dr. Matan Yah Ben Zion). Curvity quantifies how quickly a body turns when a force is applied, that is, the rate at which the heading angle changes in response to an external force. Differences in an individual robot’s curvity can accumulate at the swarm level, causing large-scale shifts in collective behavior (see Casiulis et al., 2024). Remarkably, all of these effects emerge without any active control.
The SEU (Scaled Evaluation Unit) is a prototype developed to reproduce the curvity-driven behaviors seen in vibration-based robots (see Ben Zion et al. (2023)), adapting them to a rolling locomotion framework.
To study how curvity-based behavior manifests in a real prototype, the SEU robot was filmed across two environments: a flat surface (control), and an inclined surface (with gravity acting as the force).
The goal of this analysis is to:
- extract accurate, per-frame trajectories from the raw videos
- compute kinematic features (velocity, acceleration, displacement, directional bias)
- compare configurations to evaluate whether mass placement produces consistent, engineered behavior
- create a clean, reproducible analysis pipeline for future curvature-based rolling robot studies
seu-trajectory-analysis/
│
├── Code/ # helper modules for tracking & feature extraction
│ ├── extract_trajectory.py
│ ├── compute_features.py
│ └── estimate_kappa.py
│
├── Data/
│ ├── Trajectories/ # exported per-frame trajectories (CSV)
│ └── Features/ # trial-level feature tables (CSV)
│
├── Notebooks/
│ └── extract_trajectories_and_features.ipynb # first analysis notebook
│ └── first_trial_kappa.ipynb # second analysis notebook
│
├── Media/ # images (e.g., SEU model photo)
│
├── README.md
└── requirements.txt
Note: Raw video recordings are excluded from the repository because they exceed practical storage limits.
This repository is not intended as an install-and-run software package. Its purpose is to document the processing pipeline, analysis logic, and intermediate datasets used in the SEU trajectory analysis component of my bachelor’s thesis.
If you are viewing this repository, the most important materials are:
The main analysis notebook. It contains the full trajectory extraction pipeline, feature computation, visualizations of all flat and incline configurations and full documentation of this process. The resulting datasets are used for downstream analysis.
This notebook performs the curvity-related analysis, connecting the extracted trajectories to the theoretical framework from Matan Yah Ben Zion’s research.
Converts raw videos into per-frame trajectories using frame differencing and bounding-box tracking.
Computes trial-level kinematic metrics (velocity, acceleration, displacement, directional bias).
Utilities for curvature estimation and curvity related analysis.
The cleaned, structured datasets produced and used throughout the analysis.
Per-frame reconstructed trajectories for every trial.
2. features.csv
Trial-level summary metrics derived from the trajectories.
This repository documents how the dataset used in the thesis was generated, provides reproducible code for verification, serves as a companion to the written thesis, and illustrates SEU’s behavior across different configurations.
It is not intended as a pip-installable package or general-purpose library.
