Avatar Prakarsh is currently a senior at Ajay Kumar Garg Engineering College, pursuing Electronics and Instrumentation Engineering as his major. His research interests include Reinforcement Learning, Deep Learning, Autonomous Systems, and Embodied AI.

Week 8- multiprocessing model_change

Week 8

  • In the previous meeting we discussed regarding how using firefly drone model was proven to be computationally heavy on docker container. The PR which I opened during last week was updated with new commits for multiprocessing and the next week goals were decided. The PR & issue are in this post and the updates in this week’s post.*

How did I contributed in this week?

So, first of all we needed to check if the model was the problem or multiprocessing. After removing the multiprocessing the resources were being utilised almost the same, or more. The snapshot of the resources utilisation graph can be seen below. Hence, more models were needed to be explored according to their resources usage stats. Each model available in rotors was tested and after the success of choice, drone_cat_mouse exercise was also finished using multiprocessing.

without verbose

  • Firefly stats conclusion: using multiprocessing still doesnt reduce the core usage & RTF much(only by half point), model still needs to be changed but using mp reduces the memory usage from 1680Mib to 1460 Mib as thatss the adv of using mp, i.e., memory usage reduction core usage can only be reduced by using lighter models.

  • Models available other than crazyflie2 and firefly: iris,ardrone,pelican,hummingbird,neo9,neo11. Down below are the images of some models.

without verbose

without verbose

without verbose

without verbose

  • Here’s the comparison of these models (top) with ranks:

iris>ardrone>(0.25)pelican>hummingbird>neo9>neo11 (cores) (4.4-4.75 avg)

pelican(250mib)>hummingbird>iris>=ardrone (mem) (1600-1850 mib avg)

  • The snapshots of resources usage is provided down below for justification:

Ardrone:

without verbose

Iris:

without verbose

Hummingbird:

without verbose

Pelican:

without verbose

Neo9:

without verbose

Neo11:

without verbose

Note: The RADI is of 15Gib while recording the resources usage

  • We need less usage of cores and RAM. Cores work for speed and RAM for leaving space for other programs. So, equal coefficients can be given to both cores and RAM usage for deciding the model. Seeing from above stats either it could be iris or pelican and based on the looks, I chose iris.

  • Iris drone model was chosen to be used as a replacement for firefly.

without verbose

  • Now coming to the multiprocessing, the bugs were fixed for the protoype and the goal was achieved for complete multiprocessing protoype for both drone_cat_mouse and follow_turtlebot. Here’s the PR where everythin is updated.

  • Down below are the snapshots for comparison of the most reliable exercise of drone_cat_mouse with multiprocessing and iris model in rotors and px4(previous) without multiprocessing consecutively.

Iris in Rotors with multiprocessing(new): without verbose

Iris in PX4(old):

without verbose

  • And here’s the running simulation inside RADI: without verbose