This paper presents a novel analytic method to uniquely solve inverse kinematics of 7 degrees-of-freedom manipulators while avoiding joint limits and singularities. Two auxiliary parameters are introduced to deal with the self-motion manifolds: the global configuration (GC), which specifies the branch of inverse kinematics solutions; and the arm angle (ψ) that parametrizes the elbow redundancy within the specified branch. The relations between the joint angles and the arm angle are derived, in order to map the joint limits and singularities to arm angle values. Then, intervals of feasible arm angles for the specified target pose and global configuration are determined, taking joint limits and singularities into account. A simple metric is proposed to compute the elbow position according to the feasible intervals. When the arm angle is determined, the joint angles can be uniquely calculated from the position-based inverse kinematics algorithm. The presented method does not exhibit the disadvantages inherent to the use of the Jacobian matrix and can be implemented in real-time control systems. This novel algorithm is the first position-based inverse kinematics algorithm to solve both global and local manifolds, using a redundancy resolution strategy to avoid singularities and joint limits. 60 are imposed to better imitate the human arm. These limitations, however, also simplify the inverse kinematics solution since they condition the possible configurations. Ultimately, solutions developed for applications under these constraints cannot be directly extended to manipulators with wider working ranges. Also, only Kim and Rosen [21] addressed the joint limits avoidance problem, by using an optimization routine that relies on estimated weight coefficients to distance from joint limits. 65