Automated Construction of Robotic Manipulation Programs