# Automatic Optimal Robotic Base Placement for Collaborative Industrial Robotic Car Painting
## 7 Simulation Results
In particular, a percentage value of \(p_{0}\%\) on a bar located in the interval \([\sigma_{1},\sigma_{2}]\) for the \(i\)th robot, \(1\leq i\leq 3\), indicates that the robot had a normalized manipulability value belonging to the interval \([\sigma_{1},\sigma_{2}]\) during \(p_{0}\%\) of the painting task duration. Figure 13: Elbow singular configurations of (**left**) ABB IRB 4600 and (**right**) FANUC R-2000 iC robotic arms. Discussion and comparison with the state of the art:In the development of our base placement algorithm for industrial painting robots, we initially utilized ellipsoidal fitting and point cloud rendering techniques (Algorithm 1) during the pre-processing phase. This stage was critical for modeling the reachable workspace of the robots, ensuring that we had an accurate geometric representation to base further calculations on. Although this process involved polynomial time complexity, it was executed only once, thereby minimizing its impact on the overall computational load. Following the pre-processing, we implemented a multi-objective optimization strategy by utilizing custom-designed cost functions specifically aimed at minimizing collision risk (see Section 4) and maximizing paint coverage (see Section 5). As it can be seen from Table 3, the computation of each of these cost functions took less than 0.4 s on a modest Intel Core i7 CPU. The primary advantage of our approach is decoupling the base placement from trajectory planning. Additionally, after base placement, one has the freedom to choose from a plethora of robotic painting path planning algorithms available in the literature. The method of base placement for single robot machining operation proposed by [28] incorporates two main algorithms: sparse uniform grid decomposition (SUGD) and sequential quadratic programming (SQP). Initially, the SUGD is employed to identify feasible base positions within a defined search space. The SUGD requires significant computational resources, largely due to its dependency on the resolution of the grid and the extent of the search area. This approach serves as a preliminary filter to establish a starting point  
Figure 14: Snapshots of multi-robot car painting (a heterogeneous team of robots) utilizing the optimal robot base positions obtained from our base placement algorithm. Figure 15: Snapshots of multi-robot car painting (a heterogeneous team of robots) utilizing non-optimal base positions. for further optimization. Following this, SQP takes over to find the optimal base positions using these initial guesses. SQP is well-suited for handling the nonlinearities and constraints typical in such optimization scenarios, offering an effective means to navigate through complex decision spaces. As for SQP, while it is capable of achieving superlinear convergence rates, the complexity and the computational expense can escalate quickly depending on the size of the problem and the intricacies of the constraints involved. In the base position optimization proposed by [14], a GA was employed to iteratively evaluate and refine multiple solutions, aiming to find the optimal configuration. While a GA provides flexibility in exploring various solutions, its iterative nature often results in higher computational demands, particularly when multiple constraints like collision avoidance and workspace coverage must be considered. Complementing the optimization, the Object Collision Algorithm was used to detect potential collisions between robot arms and their environment. This algorithm evaluated bounding boxes around objects with a quadratic computational cost. To further ensure efficient and stable robot movements, Singularity Detection through the Manipulability Index assessed the robot's Jacobian matrix for potential kinematic singularities. Additionally, Inverse Kinematics, often solved using Powell's method, calculated joint angles for specific end-effector positions.