## 3 Experimental Setup and Protocol
### Database for AE Training  
For evaluation purposes we collected several databases. The first database was used to assess the accuracy of AE training. It should be noted that just to assess the accuracy of AE training, arbitrary throwing trajectories can be used as input data, as only the control policy parameters are important for this purpose. We computed 800 simulated throwing trajectories and formed the database  
\[\mathcal{D}^{\text{AE}}=\Big{\{}\boldsymbol{\theta}_{j}^{\text{CDMP}},\, \boldsymbol{q}_{j}^{\text{AE}}\Big{\}}_{j=1}^{800}. \tag{8}\]  
Different random subsets of \(\mathcal{D}^{\text{AE}}\) were used to evaluate the accuracy of AE training.  
For the next database, we computed 625 evenly distributed targets \(\{\boldsymbol{q}_{j}^{\text{g}}\}_{j=1}^{625}\) (located in-between targets \(\boldsymbol{q}_{j}^{\text{AE}}\)) and applied generalization to compute the appropriate throwing policies  
\[\mathbf{G}(\mathcal{D}^{\text{AE}}):\boldsymbol{q}_{j}^{g}\mapsto\boldsymbol{ \theta}_{j}^{\text{CDMP},g}. \tag{9}\]  
Simulated data (8) were used to train GPR. Here, generalization was used because the policy parameters that match the given queries cannot be easily computed. To compute them, one would need to run an optimization procedure that would determine the appropriate robot arm velocities so that the ball is detached from the hand (remember, it is not held firmly) at an appropriate point and with an appropriate velocity. Moreover, the arm is part of the humanoid robot body, which might also move during the throwing motion so that the robot remains stable. All these effects are difficult to model and one might need RL to produce each throwing motion. That, on the other hand, would take a very long time for the 625 targets even in simulation. Nonetheless, given the relatively large amount of data in \(\mathcal{D}^{\text{AE}}\), the generalized trajectories produce accurate simulated throws that are very similar to the simulated ones. Thus, using the data computed by Equation (9), we formed the dataset  
\[\mathcal{D}^{s}=\Big{\{}\boldsymbol{\theta}_{j}^{\text{CDMP},s},\,\boldsymbol{ q}_{j}^{g}\Big{\}}_{j=1}^{625}, \tag{10}\]  
which we call \(\mathcal{D}^{s}\) the _simulated_ database.  
The last database was generated by first programming 25 robot throwing movements with parameters \(\boldsymbol{\theta}_{j}^{r}\) and executing them with a real robot. The locations \(\boldsymbol{q}_{j}^{r}\) where the ball landed were measured and we formed the dataset of real robot throws  
\[\mathcal{D}^{r}=\Big{\{}\boldsymbol{\theta}_{j}^{r},\,\boldsymbol{q}_{j}^{r} \Big{\}}_{j=1}^{25}. \tag{11}\]  
Figure 3: Illustration of the selected AE neural network structure. Dimension of the latent space was varied between 2 and 10.  
We then applied GPR trained with data specified in (11) to compute new throws for the same locations \(\mathbf{q}_{j}^{g}\) as used when generating the simulated database (10)  
\[\mathbf{G}(\mathcal{D}^{\prime}):\mathbf{q}_{j}^{g}\mapsto\theta_{j}^{\text{CDMP},\mathcal{G}}. \tag{12}\]  
Using the parameters computed by applying Equation (12), we formed the dataset  
\[\mathcal{D}^{g}=\left\{\theta_{j}^{\text{CDMP},\mathcal{G}},\,\mathbf{q}_{j}^{g} \right\}_{j=1}^{625}. \tag{13}\]  
We call \(\mathcal{D}^{g}\) the _generalized_ database. Note that \(\mathcal{D}^{g}\) and \(\mathcal{D}^{g}\) consist of the same targets \(\mathbf{q}_{j}\) but different throwing policy parameters. The throwing policies in \(\mathcal{D}^{s}\) and \(\mathcal{D}^{g}\) were generated computationally and were never executed with the real robot. The aim was to assess the effectiveness of such an approach for database collection. The targets of the autoencoder database, real-world throws, the simulated, and generalized databases are depicted overlaid in Figure 4.