function [ dX ] = GantryDynamics( X, F ) %gantry dynamics (sp18 version) % cart = 1kg % ball = 1kg % length = 2m % X = [x, q, dx, dq] x = X(1); q = X(2); dx = X(3); dq = X(4); g = -9.8; M = [2, 2*cos(q); 2*cos(q), 4]; A = [2*dq*dq*sin(q); 2*g*sin(q)]; B = [1;0]; d2X = inv(M) * (A + B*F); dX = [dx; dq; d2X]; end