# Energy Optimization of Functionally Redundant Robots through Motion Design
## 4 Trajectory Optimization and Results
### Test-Case 1  
In the first test-case, a horizontal rest-to-rest motion of the end-effector was taken into consideration. The motion took place between the Cartesian positions \(\mathbf{P}_{0}=[-0.5,0.5,0.3]^{T}\) m and \(\mathbf{P}_{f}=[0.5,0.5,0.3]\) m, with initial and final orientation angles set to \(\phi=[\varphi,\theta,\psi]^{T}=[0,0,\frac{3}{2}\pi]^{T}\)_rad_ following a path defined as a straight line. The motion therefore described a 1 \(m\) displacement along a horizontal line, with the end-effector aligned with the Y-axis of the global reference frame. First, a non-optimized motion planning was simulated to provide a measure of the performance improvement that results from the proposed optimization method. In this case the motion of the end-effector, specified according to the pose described as in Equation (7), was set so that the orientation of the end-effector was kept constant and equal to \(\phi=[0,0,\frac{3}{2}\pi]^{T}\)_rad_, while the Cartesian motion of  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Joint \#** & \(\mathbf{T_{C}}\) **[Nm]** & \(\mathbf{J_{r}}\) **[kg m\({}^{2}\)]** & \(\mathbf{\eta}\) \\ \hline
1 & 0.069 & 1.07 \(\times\) 10\({}^{-4}\) & 0.75 \\
2 & 0.069 & 1.07 \(\times\) 10\({}^{-4}\) & 0.75 \\
3 & 0.069 & 1.07 \(\times\) 10\({}^{-4}\) & 0. The overall consumption associated with the task, evaluated according to Equation (6), is equal to 220.4 \(J\). A set of energy optimization procedures have been developed to make the pitch and yaw angles properly vary form their nominal values (i.e., \(\theta=0\)\(rad\) and \(\psi=\frac{3}{2}\pi\)\(rad\)) to reduce the energy consumption. These approaches can be summarized through the following optimization problem:  
\[\min_{[\theta(t),\psi(t)]}E_{robot}\] (8) subject to: \[\theta(t)\in[-\pi/9,\pi/9]\)\(rad\); \[\psi(t)\in[25/18\pi,29/19\pi]\)\(rad\] \[t\in[0,T]\]  
The bounds set to the pitch and yaw angles in Equation (8) highlight that the pose of the end-effector is allowed to vary as much as \(\pm 20\)\(deg\) from their nominal values. Tighter or wider bounds can be set according to the limitations imposed by the specific application under consideration. Several motion profiles for the two redundant angles will be tested here to analyze which choice provides the best energy saving. To provide a further comparison with a metric widely adopted in robotics, a performance index based on manipulability is evaluated for each motion design trial, and a separate manipulability optimization has been implemented as well as a further benchmark. Manipulability is defined as:  
\[m(\mathbf{q})=\sqrt{\mathbf{J}(\mathbf{q})\mathbf{J}^{T}(\mathbf{q})}=\sigma_ {1}\sigma_{2}\ldots\sigma_{n} \tag{9}\]  
in which \(\mathbf{J}(\mathbf{q})\) is the configuration-dependent Jacobian matrix of the end-effector of the robot, and can be evaluated also as the product of the Jacobian singular values. The manipulability takes small values in proximity of a singularity, and is proportional to the volume of the speed ellipsoid, and as such measures the capability of the robot to produce end-effector speed. By increasing manipulability, the sensitivity coefficients that relate the velocity of the end-effector to the joint velocities are increased as well, with the effect that the same speed of the tool can be obtained with lower joint speeds: thus it is expected that the motor effort is reduced as well. While it is true that a precise measure of the energy consumption can be captured only by a detailed description of the robot dynamics, manipulability has been chosen in countless works for its simple computation (it requires only the knowledge of the Denavit-Hartenberg parameters of the robot) and for its clear physical interpretation. As such, manipulability is often chosen as the performance measure to be be enhanced when redundancy  
Figure 4: Motor electric power for nominal tool orientation: \(\varphi=0\)\(rad\), \(\theta=0\)\(rad\), \(\psi=3\pi/2\)\(rad\). allows it [17].