# Football Table Motion

## Introduction

Here we explain MOTION.mdl (aliases/alternate versions: MOTION_demo.mdl, MOTION_exp.mdl, MOTION_demo.mdl and MOTION_test.mdl). MOTION.mdl is compiled as an external and hence you run in from a terminal (as a super user). Compilation is done by running make.m, which is located in the main folder.

The three different version all serve different needs, to use one: save them as MOTION.MDL and compile

MOTION_demo.mdl
Demonstration ready, uses only old code (no Reinforcement learning and a simple policy).
MOTION_frf.mdl
Used for frf-measurements, this by-passes homing and safety, so make sure to center all rods before running. Secondly, check to see if there are actually weak controllers set in this file. The output of this file is the same as all of the variant, located in MOTION.mat, can be used for loopshaping(it determines all transfer functions). An m-file which processes the data can be found in the ../tools folder, you can use the output for loopshaping with i.e.: shape-it.
MOTION_exp.mdl
Experimental version, this file is kept to test new systems e.g. new moves etc.
MOTION_exp.mdl
Simulator version, use this file for generating experience. More on this can be found here.

## Settings

MOTION.mdl

## libmotion_tools

libmotion_tools is a small library created for common calculations performed on the table; puppet selection, intersection point calculation, et cetera. It functions using a class, this class has private variables that remembers what puppet is currently selected. The latter is really useful to avoid hectic switching of puppets in twilight zones.

In this section we shortly describe how to use this library.