# An Efficient Stochastic Constrained Path Planner for Redundant Manipulators
## 3 Kinematics of Redundant Manipulators  
A task generally requires a given number of degrees of freedom to be described and solved. In this sense, a manipulator is considered redundant when it possesses more degrees of freedom than those required to complete the task. For example, placing the robot's end effector at a given position and orientation inside the robot's workspace typically require six degrees of freedom. This is a main requirement, for example, during polishing applications, where the tool must keep close contact with the surface being treated [18]. As a result, two different spaces can be defined:  
* The task space \(\mathbb{R}^{\text{m}}\): In our case we have six Degrees of Freedom (DoF) in our polishing application;
* The join space \(\mathbb{R}^{\text{n}}\), as the number of DoF of the robotic manipulator. In this case we have 7 DoF. The degrees of redundancy of the manipulator is \(n-m\), which means that infinite solutions \(\mathbf{q}\) allow reaching the same position/orientation in space. Thus, in a polishing application, 6 DoF are needed to place the end effector at a particular position and orientation, while controlling the pressure on the surface. The usage of a robot with additional DoF (in our case is \(n-m=1\)) may be justified by the need to avoid obstacles in the workspace when performing the task or attaining specific poses. The inverse kinematic problem in a redundant manipulator possesses, in general, infinite solutions. This means that, if we require the end-effector to be placed at a given position and orientation inside its workspace, a self-motion of the kinematic chain can be performed. This implies that the arm joints can be reconfigured while the end effector maintains the same position and orientation in space. This fact gives these kinds of manipulators the ability to find different poses that attain dissimilar characteristics, while still complying with the task requirements. Well-known examples include, for instance, the Rethink Robotics Sawyer robot or the Willow Garage PR2 arms, with 7 DoF available through a set of seven rotational joints. Additionally, combinations of robotic arms with mobile platforms can be considered within this category of redundant manipulators. The relationship between the position and orientation of the end effector can be expressed as:  
\[\mathbf{x}=\mathbf{f}(\mathbf{q}), \tag{1}\]  
where \(\mathbf{x}\) is the \((m\times 1)\) vector of task variables defining the position and orientation of the end effector, \(\mathbf{f}\) represents a known nonlinear transformation vector and \(\mathbf{q}\) is the \((n\times 1)\) vector of joint variables. The robot must then reach a set of goals defined as \(G=\{\mathbf{x}_{1},\mathbf{x}_{2},\ldots\mathbf{x}_{N}\}\) sampled from the desired surface to be tracked defined in the task space. The above Equation (1) can be differentiated with respect to time as:  
\[\dot{\mathbf{x}}=J(\mathbf{q})\dot{\mathbf{q}}, \tag{2}\]  
where \(J\) represents the \((m\times n)\) manipulator Jacobian matrix (also defined as \(\partial\mathbf{f}/\partial\mathbf{q}\)). The upper dot denotes time derivative. For simplicity \(J(\mathbf{q})\) is written as \(J\). As a result, Equation (2) defines the direct kinematics of the manipulator in terms of the end effector's velocity. Our particular path planning problem can be posed as follows. Considering a given trajectory \(\mathbf{x}(t)\) as known in the task space, find a joint space trajectory \(\mathbf{q}(t)\) that satisfies \(\mathbf{f}(\mathbf{q}(t))=\mathbf{x}(t)\) for any \(t\). In our case, we try to find a set of joint vectors \(Q=\{\mathbf{q}_{1},\mathbf{q}_{2},\ldots\mathbf{q}_{N}\}\) such that \(\mathbf{f}(\mathbf{q}_{z})=\mathbf{x}_{i}\) for any of the points of the trajectory \(G\).