function [] = GantryDisplay(X, Xe, Ref) x = X(1); q = X(2); % cart xc = [-0.2,0.2,0.2,-0.2,-0.2] + x; yc = [0,0,0.2,0.2,0]; xm = x + 2*sin(q); ym = 0 - 2*cos(q); % ball q = [0:0.1:1]' * 2*pi; xb = 0.05*cos(q) + xm; yb = 0.05*sin(q) + ym; clf; plot([-3,3],[-2.5,2.5],'.'); hold on plot([-3,3],[0,0],'b-'); plot(xc, yc,'r-'); plot([x,xm],[0,ym],'r-'); plot(xb, yb, 'r-'); plot([Ref, Ref],[-0.1,0.1],'b') % Observer x = Xe(1); q = Xe(2); % cart xc = [-0.2,0.2,0.2,-0.2,-0.2] + x; yc = [0,0,0.2,0.2,0]; xm = x + 2*sin(q); ym = 0 - 2*cos(q); % ball q = [0:0.1:1]' * 2*pi; xb = 0.05*cos(q) + xm; yb = 0.05*sin(q) + ym; plot(xc, yc,'g-'); plot([x,xm],[0,ym],'g-'); plot(xb, yb, 'g-'); pause(0.01); end