# Task-Based Motion Planning Using Optimal Redundancy for a Minimally Actuated Robotic Arm
## 3 Workspace Analysis
### Workspace Computation  
The exact and rapid computation of the shape and size of the robot manipulator workspace is crucial for finding its minimal redundancy. When analyzing hyper-redundant robots with joint constraints, the analytic computation of the workspace becomes impracti  
Figure 1: Mechanical design of the MASR robot. In this example, the robot consists of a planar serial arm with five passive joints actuated by a mobile actuator. The mobile actuator, which can travel over the links, is fitted with a gripper to carry objects along its path. The vertical motion is actuated by a linear lift unit, based on a stepper motor with a lead screw [9]. cal [12] and numerical approaches based on the Monte Carlo random sampling method become more effective [13]. Although it is simple to apply since it does not involve inverse Jacobian calculations or complex analytical representation, the Monte Carlo yields non-uniform solutions which may omit parts of the workspace. For planar manipulators consisting of \(N\) revolute joints (NR robot), the (\(x_{j}\),\(y_{j}\)) position of joint \(j\in\{1,\dots\,N\}\) is given by:  
\[\mathbf{X_{j}}= \begin{bmatrix}x_{j}\\ y_{j}\end{bmatrix} = \begin{bmatrix}\sum\limits_{n=1}^{j-1}L_{n}\cos(\sum \limits_{m=1}^{n}\theta_{m})\\ \sum\limits_{n=1}^{j-1}L_{n}\sin(\sum\limits_{m=1}^{n}\theta_{m})\end{bmatrix}  \tag{1}\]  
We define the base link as \(j=1\), where (\(x_{1}\),\(y_{2}\)) = (0,0). \(L_{j}\) is the length of link \(j\), which appends to joint \(j\), and where \(\theta_{j}\) is the relative angle between link \(j\) and \(j-1\). Note that for \(j=N+1\), we obtain the position of the end-effector \(p\) with respect to the world frame. [PERSON] et al. used the Monte Carlo method [14] while relying on uniformly distributed random values for every joint angle \(\theta_{j}\). For every set of joint angles, the end-effector position is calculated using Equation (1), thus forming a cloud of \"Monte Carlo points\" which represents the workspace plane. Although the angle values are generated uniformly, the non-linearity in Equation (1) leads to a non-uniform distribution of the cloud points within the workspace, as shown in Figure 3a, where most of the points are within the upper outer part of the cloud. To improve the accuracy of the workspace boundaries, and reduce the number of points needed to fully describe the workspace, ref. [11] suggested generating random values using the beta density function:  
\[Beta(\alpha,\beta):prob(x|\alpha,\beta)=\frac{x^{\alpha-1}(1-x)^{\beta-1}}{B( \alpha,\beta)} \tag{2}\]  
Figure 2: Number of assemblies to form a one-meter arm using different combinations of links with lengths that vary from 20 cm to 80 cm. In the case of a pick-and-place task, the optimal combination will use the minimal number of links. where \(B\) is the beta function:  
\[B(\alpha,\beta)=\int_{0}^{1}t^{\alpha-1}(1-t)^{\beta-1}dt \tag{3}\]  
The major advantage of the beta distribution is the various shapes it can take, depending on the values of the parameters \(\alpha\) and \(\beta\). According to the simulations conducted in [11], in a 3R model, the optimal value for \((\alpha,\beta)\in(0,1)\) is solely determined by the motion range of the joints, regardless of the number of joints. For example, each joint of the MASR has an equal motion range of 120\({}^{\circ}\), so that according to [11], \(\alpha\) and \(\beta\) are determined by:  
\[\alpha=\beta=\frac{\overline{\theta}}{5\pi}+0.3,\quad\frac{\overline{\alpha} }{2}\leq\overline{\theta}\leq\pi \tag{4}\]  
where \(\overline{\theta}\) stands for the motion range in radians. Substituting \(\overline{\theta}=2\pi/3\) radians in Equation (4) yields the optimal parameter value of \(\alpha=\beta=0.43\). However, while still the most effective as a single parameter value, in the simulations, we found that for larger numbers of joints (\(N>3\)), this number (0.43) loses its effectiveness and a larger number of simulated points \(N_{p}\) is required.