Robot Programming for Object Manipulation