#include "../h/rccl.h"
#include "../h/umac.h"

pumatask()
{
	TRSF_PTR z, e, peg, corner, roty;
	POS_PTR pcor;
	int q;

	z = gentr_trsl("Z",  0.,  0., 864.);
	e = gentr_trsl("E" , 0. , 0. , 140.);
	peg = gentr_trsl("PEG", 0., 0., 10.);
	corner = gentr_trsl("CORNER", -50., 500., 550.);
	corner->fn = varb;
	roty = gentr_rot("ROTY", 0., 0., 0., yunit, 180.);

	pcor = makeposition(
	"PCOR", z, t6, e, peg, EQ, corner, roty, TL, peg);

	setvel(300, 50);
	move(pcor);
	if (!teach(corner, pcor)) {
		setvel(300, 50);

		setmod('j');
		move(park);
		return;
	}
	setmod('c');
	setvel(100, 100);

	distance("dz", -50.);
		move(pcor);

	QUERY(q);

	if (q == 'n') {
		setvel(300, 100);
		setmod('j');
		move(park);
		return;
	}
	move(pcor);

	setvel(5, 20);

	limit("fz", 20.);
	distance("dz", 10.);
		move(pcor);
	comply("fz", 10.);
		limit("fy", 15.);
		distance("dy", -10.);
			move(pcor);
		comply("fy", -10.);
			update(corner, pcor);
			limit("fx", 25.);
			distance("dx", 10.);
				move(pcor);
	lock("fz fy");
	setvel(50, 50);
	distance("dx dy dz", -10., 10., -50.);
		move(pcor);

	setvel(300, 50);
	setmod('j');
	move(park);
	distance("dx dy dz", -10., 10., -50.);
		move(pcor);
	setmod('c');
	setvel(50, 50);
	distance("dx dy dz", -1., 1., -1.);
		move(pcor);
	distance("dx dy dz", -10., 10., -50.);
		move(pcor);
	setvel(300, 50);
	setmod('j');
	move(park);
}
