# Automatic Optimal Robotic Base Placement for Collaborative Industrial Robotic Car Painting
## 7 Simulation Results  
In this section, we present the simulation results associated with our optimal base placement algorithm. Our simulations were conducted using two different kinds of robotic arms, namely, ABB IRB 4600 and FANUC R-2000 iC robots, for painting an F-150 truck produced by Ford Motor Company (see Figure 3). To demonstrate the versatility of our proposed base placement solution, we applied our algorithm to homogeneous as well as heterogeneous teams of robots. This is especially beneficial when one or more robotic arms malfunction, where the manufacturer can replace the faulty arms with alternative robotic manipulators from their inventory to avoid disruptions in the painting process. Figure 9: The overall proposed solution to the multi-robot car-painting base placement problem. To further assess the impact of base positions on the performance of the robotic arms during painting, we also computed the manipulability index (manipulability for brief) of the robots in our simulations. Given the Jacobian matrix \(J(\theta)\) of a robotic arm, where \(\theta\) represents the configuration vector of the arm, the manipulability at \(\theta\) can be computed according to \(w(\theta)=\sqrt{\det(J(\theta)J(\theta)^{\top})}\) (see (30) [Section 4.12] for further details). The normalized manipulability at configuration \(\theta\) during a certain task such as car painting is then given by \(w_{\text{normalized}}(\theta):=\frac{w(\theta)}{w_{\text{max}}}\), where \(w_{\text{max}}\) is the maximum value of arm manipulability over all possible robot configurations. Figure 9 illustrates the overall algorithm for optimal multi-robot car-painting base placement. The most computationally expensive part of the algorithm is the pre-processing stage (Algorithm 1), which needs to be run only once. Even on a single core of a modest PC, this polynomial-time algorithm can efficiently handle point cloud rendering and ellipsoid fitting. For instance, a MATLAB implementation of Algorithm 1 was run on six ABB IRB 4600 robots on an Intel Core i7 CPU. With point cloud sizes of around 1000 and an ellipsoidal fitting tolerance of 0.01, the pre-processing computations were completed in less than one minute. **Simulations with a homogeneous robotic team:** We first considered six ABB IRB 4600 robotic arms and computed their optimal base positions using our proposed algorithm. Table 2 provides an overview of various base positions, planar ellipse overlap areas, percentages of vehicle paint coverage, and the mean and standard deviation values of the normalized manipulability of the robotic arms during painting. Since the robot arms were positioned in a symmetric manner on the sides of the F-150 vehicle, we only included the information associated with one side. Table 3 presents the computational times (in seconds) required to compute the overlap areas and paint coverage ratios for various base positions, using an Intel Core i7 CPU. Additionally, the multi-objective optimizer fgoalattain took approximately 3.33 min to determine the optimal base positions, highlighted in bold in the table. The gray entries demonstrate the results obtained from our proposed optimal base placement algorithm. As shown in Table 2, the optimal base positions (the gray entries in the table) not only achieved complete paint coverage and minimal ellipse overlap areas but also exhibited the highest mean normalized manipulability with a low standard deviation. After base placement calculations, we utilized the mutli-robot path planning algorithm devised in our previous work [18] to determine the joint trajectories of the robotic arms for painting the vehicle. In our previous work [18], we assumed that the manufacturer would provide a suitable collection of base positions, usually from experience and/or heuristics. However, as seen in the simulations, a poor choice of base positions for painting robots resulted in the failure of the motion/trajectory planning.