Dynamic analysis of rigid-link open-chain robot manipulators using Cartesian tensor methods