Stanford arm robot
The figure shows a robotic manipulator consisting of rigid links A, B, C in a lab N (Newtonian reference frame).
  • Link A has length LA = 0.4 m and connects to N at point No.
  • Link B has length LB = 0.3 m and connects to A at point Bo.
  • Link C has length LC = 0.2 m and connects to B at point Co.
  • End-effector (point Q) is at the distal end of C.

Right-handed sets of orthogonal unit vectors are fixed in
N, A, B, and C respectively with:

  • Nx> horizontal and initially aligned with Ax> and Bx>
  • Nz> = Az> vertically upward and parallel to A's axis of rotation in N
  • Ax> = Bx> horizontal and parallel to B's axis of rotation in A.
  • By> directed from point Bo to point Co.
  • Cx> = Bx> parallel to C's axis of rotation in B.
  • Cy> directed from point Co to point Q.
MGRobotStanfordArmSchematic3D.png
A rotates in N about Az> with an angle qA.
B rotates in A about Ax> with an angle qB.
C rotates in B about Bx> with an angle qC.
1. End-effector forward kinematics (3D robot)
Form rotation matrices, angular velocities, and angular accelerations of A, B, and C.
Form Q's position, velocity, and acceleration in N and determine their accelerations at  t = 1 sec  when  qA = sin(t),   qB = sin(2*t),  qC = sin(3*t).
MotionGenesis input commandsMotionGenesis responses
2. Inverse dynamics (3D robot)
Do the inverse dynamics problem of determining the motor torques  TA,  TB,  TC required to move the robot with specified trajectories of  qA(t),  qB(t),  qC(t).
Optional: Estimate mass/inertia values and plot motor torques for  0 <= t <= 5 seconds.
MotionGenesis input commandsMotionGenesis responsesInverse dynamics .m file
3. Feed-forward control (2D)
Regarding A as fixed to N to simplify this to a 2D robotics problem.
Create a feed-forward controller for motor torques  TB,  TC  to control the robot so it moves to and then maintains a constant pose with: qB = 20°,  qC = 15°.
Optional: Estimate mass/inertia values and plot angles and motor torques for  0 <= t <= 5 seconds.
MotionGenesis input commandsMotionGenesis responses