Skip to main content
. 2019 Mar 7;13:6. doi: 10.3389/fnbot.2019.00006

Table 1.

Evaluation of the computing speed of our engine on a robot model controlled by a closed loop controller with a variable number of parameters.

With gradient Without gradient
CPU GPU CPU GPU
SECONDS OF COMPUTING TIME REQUIRED TO SIMULATE A BATCH OF ROBOTS FOR 10 s
1 robot 1,296 parameters 8.17 69.6 1.06 9.69
1,147,904 parameters 13.2 75.0 2.04 9.69
128 robots 1,296 parameters 263 128 47.7 17.8
1,147,904 parameters 311 129 50.4 18.3
MILLISECONDS OF COMPUTING TIME REQUIRED TO PERFORM ONE TIME STEP OF ONE ROBOT.
1 robot 1,296 parameters 8.17 69.6 1.06 9.69
1,147,904 parameters 13.2 75.0 2.04 9.69
128 robots 1,296 parameters 2.05 1.00 0.372 0.139
1,147,904 parameters 2.43 1.01 0.394 0.143

We evaluated both on CPU (i7 5930K) and GPU (GTX 1080), both for a single robot optimization and for batches of multiple robots in parallel. The numbers are the time required in seconds for simulating the quadruped robot(s) for 10 s, with and without updating the controller parameters through gradient descent. Shorter times are colored in green, longer in red. The gradient calculated here is the Jacobian of the total traveled distance of the robot in 10 s, differentiated with respect to all the parameters of the controller. For comparison, the model has 102 states. It is built from 17 rigid bodies, each having 6 degrees of freedom. These states are constrained by exactly 100 constraints.