Robot programming by human demonstration: the use of human variation in identifying obstacle free trajectories | Synapse