1. A computer implemented method for planning a path by a processor to reach a target in a complex obstacle environment using an articulated redundant robot arm, comprising: generating possible trajectories for the robot arm from an initial point to a target point; searching for a successful trajectory among the possible trajectories, where a trajectory is determined to be successful if the robot arm reaches the target while maintaining a certain minimum distance from obstacles along the entire trajectory and within a prescribed time limit; when a successful trajectory is found, executing movement to the target point; when a successful trajectory is not found; generating a set of via points surrounding an obstacle using visual perception, each via point being an intermediary point in a path of movement of the robot arm from the initial point to the target point; selecting an arm posture of the robot arm when positioned at each via point; generating possible trajectories from: each of the set of via points to the target point; the initial point to each of the set of via points; and each of the set of via points to each of the other set of via points; whereby a successful trajectory from the initial point to one or more via points and to the target is found.