DOI: 10.5281/zenodo.18549433
title: RMPD: Robot motion and performance database

description: RMPD: Robot motion and performance database

G. Barros*1, N. Appel1 and B. Kuhlenkötter1

(1) Chair of Production Systems, Ruhr-Universität Bochum, 44801 Bochum, Germany

Contact information:

* barros@lps.ruhr-uni-bochum.de

Background

This dataset provides extensive motion and performance measurements from an ABB IRB 4400 industrial robot. It is intended to help researchers predict robot trajectory accuracy and analyze robot behavior using data-driven methods. Currently, the dataset features one robot platform, but future updates will add more robot models for cross-platform studies. It is developed at the Chair of Production Systems at the Ruhr-Universität Bochum.

 



The dataset has over 30,000 recorded trajectories and more than 100,000 motion segments. Each entry includes motion data, embeddings, and performance metrics from methods like SIDTW, Euclidean distance, QDTW, and geodesic distance. These measurements show the deviations between commanded and measured TCP paths, indicating how closely the robot follows its programmed trajectory in position and orientation. All measured data was collected with a Leica AT960 laser tracker at 1000 Hz. The commanded data was streamed from the robot controller. The dataset does not include any augmented data or duplicates.

 



The database is built to support:



analysis of trajectory similarity using retrieval methods

prediction of how accurately the robot moves

benchmarking different methods for comparing time-series data

general large-scale data-driven robotics research




Dataset structure

The database uses a two-schema PostgreSQL setup to organize motion data and evaluation results. It includes tables for trajectory details, segment-level motion records, embedding data, and performance results. Each trajectory consists of two or more segments, according to the robot's program structure.

Performance metrics cover TCP path accuracy, measured with SIDTW and Euclidean distance, and TCP orientation accuracy, measured with QDTW and geodesic distance. Results are given as both overall statistics and point-by-point differences. All measurements use linear and circular motion types to reflect real robot behavior.

The download includes a PostgreSQL database dump (.dump), a schema-only export (.sql), and sample CSV files from six trajectories for inspection without restoring the entire database.




Schema
Table
Description




motion
traj_info
Trajectory and measurement general information


motion
traj_metadata
Segment-to-trajectory mapping and execution metadata


motion
traj_embeddings
Fixed-length vector embeddings for similarity search


motion
traj_setpoints
Commanded target points from the robot program


motion
traj_joint_states
Commanded joint angle values during motion


motion
traj_position_cmd
Commanded TCP position (x, y, z)


motion
traj_orientation_cmd
Commanded TCP orientation (quaternions)


motion
traj_pose_act
Measured TCP pose (position + orientation)


motion
traj_pose_act_raw
Raw measured TCP pose before coord. system transformation


motion
traj_vel_cmd
Commanded TCP velocity


motion
traj_vel_act
Measured TCP velocity


motion
traj_accel_cmd
Commanded TCP acceleration


motion
traj_accel_act
Measured TCP acceleration


motion
robot_info
Robot platform general information


evaluation
sidtw_info
Aggregated SIDTW evaluation statistics


evaluation
sidtw_evaluation
Point-level SIDTW deviations


evaluation
ed_info
Aggregated Euclidean distance statistics


evaluation
ed_evaluation
Point-level Euclidean deviations


evaluation
qdtw_info
Aggregated QDTW evaluation statistics


evaluation
qdtw_evaluation
Point-level QDTW deviations


evaluation
gd_info
Aggregated geodesic distance statistics


evaluation
gd_evaluation
Point-level geodesic deviations




 

Database statistics



31,025 trajectories

103,073 segments

Average segments per trajectory: 3.32

Average sequence length: 1,437 samples (commanded), 3,011 samples (measured)

Average segment length: ~450 samples (commanded), ~942 samples (measured)

Motion types: linear and circular primitives

Payload range: 12 kg to 22 kg

Workspace volume: 1.5 m × 2.2 m × 1.6 m

Database size: approximately 150 GB


Installation

Install the pgvector extension:





sudo apt install postgresql-16-pgvector



Set up a database:

CREATE DATABASE rmpd;\c rmpdCREATE SCHEMA motion;CREATE EXTENSION vector SCHEMA motion;

Restore the dump:

pg_restore -d rmpd -v rmpd.dump