Source

puma / ik.h

#pragma once

extern int
ik_first(
	double * const theta, // output commands
	const double * const xyz, // desired position (in mm)
	const int right, // right arm = +1, left arm = -1
	const int above // elbow above arm = +1, below arm = -1
);


extern int
ik_wrist(
	double * const theta, // input/output commands
	const double * const xyz, // desired position (in mm)
	const double * const a, // desired approach vector
	const double * const s, // desired sliding vector (for hand opening)
	const double * const n, // desired normal vector
	const int wrist // wrist up = +1, wrist down = -1
);