A lot of "undefined reference" errors
Because you have only declared the class static variables; you never defined them.  For the Robot class, you must have:

class Robot
{
    public:
         ...
};

float      Robot::x;
float      Robot::y;
float      Robot::t;
State      Robot::state = doingNothing;
SpeedState Robot::speedState = notMoving;
int        Robot::currentSpeed;

void setup()
{


Ditto for other classes.  (Dangit, Mikael!  :) )