This document describes a two-stage controller for controlling an uncertain flexible robotic arm. In the first stage, an outer loop controller is designed to track a desired tip position trajectory, assuming the motor dynamics are negligible. This outer loop controller uses a generalized proportional integral (GPI) design. In the second stage, an inner loop controller is designed to force the motor position to track the trajectory determined by the outer loop controller, despite unknown friction and parameters in the motor dynamics. The two-stage GPI controller provides robust tracking of the tip position trajectory without requiring online estimation of system parameters.