CMU RI 16-745: Dynamic Optimization: Assignment 2 - 05/14/2014(Venkat Rajagopalan)


This assignment explores using of trajectory optimization to do a sit-to-stand maneuver on a 3 link arm.

Code for this assignment DynOpt_16745_Assignment2_Venkat.tgz

Part 1: The task is to design a sub-routine that chose joint angles for the three links while meeting the followng constraints

The following image shows the robot at it starting configuration

Algorithmic Approach

  • The SNOPT library was used for the trajectory optimization.
  • Joint space trajectories were parameterized as a cubic hermite form spline. The "knots" represented initial and terminal conditions for position, velocity and accelerations of the joints
  • Experiments were conducted with two different starting conditions. The robot was assumed to be sitting on an a) imaginary chair on the left and b) imaginary chair on the right
  • Optimization was done on a) all the joints
  • Joint angle limits were passed in as the lower and upper bounds to the optimizer
  • Penalty functions sitToStand.c (line 585) - four different criteria were chosen to be penalized and are described below

    Results

    Final configuration of the robot


    Videos:

  • SitToStand on a chair sitting to the left SitToStand_FromLeft.avi
  • SitToStand on a chair sitting to the right SitToStand_FromRight.avi