IEEE Robotics & Automation Magazine - September 2019 - 68

(a)

(b)

Figure 4. The Fast Change Detection repository's JupyterLab notebook and 3D visualization tool. The (a) notebook with the
commands for running the example and (b) the 3D visualization of the execution.

images, thus reducing the
total amount of disk space
The main benefit of
used in the system. Table 1
summarizes the size of the
using JupyterLab is the
Docker images for the three
presented examples as well
strong link between
as the size of the ROSLab
base images. The "Tag" coldocumentation and
umn refers to the Docker
tag that indicates some
execution.
information about the version or variant of the Docker image ("Latest" means
the most recently built version for the examples; for ROSLab,
there are two versions: ROS kinetic with or without the
graphical Open Graphics Library runtime environment).

Table 1. Image space usage resulting from the
command docker system df -v.

68

*

Repository

Tag

Size (GB)

Shared
Size (GB)

Unique
Size

VINS-Mono

Latest

5.131

3.742

1.39 GB

Fast Change
Detection

Latest

4.471

3.742

729.6 MB

Nanomap_ros

Latest

2.517

1.474

1.042 GB

ROSLab/
ROSLab

Kineticnvidia

3.742

3.742

0B

ROSLab/
ROSLab

Kinetic

1.474

1.474

0B

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

SEPTEMBER 2019

For each image, there is a shared part and a unique part.
The shared layers are stored on disk only once, thus saving a
great deal of space. For our examples, the total size would be
5.131 GB + 4.471 GB + 2.517 GB = 12.119 GB, but, thanks
to the sharing feature of Docker, it is reduced to 3.742 GB +
1.474 GB + 1.39 GB + 0.729 GB + 1.042 GB = 8.377 GB. The
savings would be even more significant if additional repositories were installed (based on the same ROSLab images).
The size of ROSLab images is quite similar to that of the
official ROS images with the addition of the JupyterLab software, which is rather small in comparison to ROS. The kineticros-base-xenial image already takes 1.191 GB, and the
size of the Open Source Robotics Foundation/ROS kineticdesktop-full image amounts to 3.367 GB.
When the ROSLab images are used for the first time,
they must be downloaded from the Docker cloud (https://
hub.docker.com/r/roslab/roslab) to the local computer.
The images are compressed, so their size is 511  MB and
1  GB for the kinetic and kinetic-nvidia versions, respectively, which is approximately one-third of the uncompressed size. The download time will obviously depend on
the user's Internet connection. For a typical 100-Mb/s line,
it takes approximately 1 min 30 s to download and uncompress the ROSLab kinetic image and 3 min 50  s for the
kinetic-nvidia image. The remainder of the time needed to
build a repository is the same as if it were built natively.
Downloading the extra packages and compiling the source
code run on Docker at practically the same speed as in a
native system.
The main benefit of using JupyterLab is the strong
link between documentation and execution. The code
documented in the README file is actually executed in


https://hub.docker.com/r/roslab/roslab https://hub.docker.com/r/roslab/roslab

IEEE Robotics & Automation Magazine - September 2019

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2019

Contents
IEEE Robotics & Automation Magazine - September 2019 - Cover1
IEEE Robotics & Automation Magazine - September 2019 - Cover2
IEEE Robotics & Automation Magazine - September 2019 - Contents
IEEE Robotics & Automation Magazine - September 2019 - 2
IEEE Robotics & Automation Magazine - September 2019 - 3
IEEE Robotics & Automation Magazine - September 2019 - 4
IEEE Robotics & Automation Magazine - September 2019 - 5
IEEE Robotics & Automation Magazine - September 2019 - 6
IEEE Robotics & Automation Magazine - September 2019 - 7
IEEE Robotics & Automation Magazine - September 2019 - 8
IEEE Robotics & Automation Magazine - September 2019 - 9
IEEE Robotics & Automation Magazine - September 2019 - 10
IEEE Robotics & Automation Magazine - September 2019 - 11
IEEE Robotics & Automation Magazine - September 2019 - 12
IEEE Robotics & Automation Magazine - September 2019 - 13
IEEE Robotics & Automation Magazine - September 2019 - 14
IEEE Robotics & Automation Magazine - September 2019 - 15
IEEE Robotics & Automation Magazine - September 2019 - 16
IEEE Robotics & Automation Magazine - September 2019 - 17
IEEE Robotics & Automation Magazine - September 2019 - 18
IEEE Robotics & Automation Magazine - September 2019 - 19
IEEE Robotics & Automation Magazine - September 2019 - 20
IEEE Robotics & Automation Magazine - September 2019 - 21
IEEE Robotics & Automation Magazine - September 2019 - 22
IEEE Robotics & Automation Magazine - September 2019 - 23
IEEE Robotics & Automation Magazine - September 2019 - 24
IEEE Robotics & Automation Magazine - September 2019 - 25
IEEE Robotics & Automation Magazine - September 2019 - 26
IEEE Robotics & Automation Magazine - September 2019 - 27
IEEE Robotics & Automation Magazine - September 2019 - 28
IEEE Robotics & Automation Magazine - September 2019 - 29
IEEE Robotics & Automation Magazine - September 2019 - 30
IEEE Robotics & Automation Magazine - September 2019 - 31
IEEE Robotics & Automation Magazine - September 2019 - 32
IEEE Robotics & Automation Magazine - September 2019 - 33
IEEE Robotics & Automation Magazine - September 2019 - 34
IEEE Robotics & Automation Magazine - September 2019 - 35
IEEE Robotics & Automation Magazine - September 2019 - 36
IEEE Robotics & Automation Magazine - September 2019 - 37
IEEE Robotics & Automation Magazine - September 2019 - 38
IEEE Robotics & Automation Magazine - September 2019 - 39
IEEE Robotics & Automation Magazine - September 2019 - 40
IEEE Robotics & Automation Magazine - September 2019 - 41
IEEE Robotics & Automation Magazine - September 2019 - 42
IEEE Robotics & Automation Magazine - September 2019 - 43
IEEE Robotics & Automation Magazine - September 2019 - 44
IEEE Robotics & Automation Magazine - September 2019 - 45
IEEE Robotics & Automation Magazine - September 2019 - 46
IEEE Robotics & Automation Magazine - September 2019 - 47
IEEE Robotics & Automation Magazine - September 2019 - 48
IEEE Robotics & Automation Magazine - September 2019 - 49
IEEE Robotics & Automation Magazine - September 2019 - 50
IEEE Robotics & Automation Magazine - September 2019 - 51
IEEE Robotics & Automation Magazine - September 2019 - 52
IEEE Robotics & Automation Magazine - September 2019 - 53
IEEE Robotics & Automation Magazine - September 2019 - 54
IEEE Robotics & Automation Magazine - September 2019 - 55
IEEE Robotics & Automation Magazine - September 2019 - 56
IEEE Robotics & Automation Magazine - September 2019 - 57
IEEE Robotics & Automation Magazine - September 2019 - 58
IEEE Robotics & Automation Magazine - September 2019 - 59
IEEE Robotics & Automation Magazine - September 2019 - 60
IEEE Robotics & Automation Magazine - September 2019 - 61
IEEE Robotics & Automation Magazine - September 2019 - 62
IEEE Robotics & Automation Magazine - September 2019 - 63
IEEE Robotics & Automation Magazine - September 2019 - 64
IEEE Robotics & Automation Magazine - September 2019 - 65
IEEE Robotics & Automation Magazine - September 2019 - 66
IEEE Robotics & Automation Magazine - September 2019 - 67
IEEE Robotics & Automation Magazine - September 2019 - 68
IEEE Robotics & Automation Magazine - September 2019 - 69
IEEE Robotics & Automation Magazine - September 2019 - 70
IEEE Robotics & Automation Magazine - September 2019 - 71
IEEE Robotics & Automation Magazine - September 2019 - 72
IEEE Robotics & Automation Magazine - September 2019 - 73
IEEE Robotics & Automation Magazine - September 2019 - 74
IEEE Robotics & Automation Magazine - September 2019 - 75
IEEE Robotics & Automation Magazine - September 2019 - 76
IEEE Robotics & Automation Magazine - September 2019 - 77
IEEE Robotics & Automation Magazine - September 2019 - 78
IEEE Robotics & Automation Magazine - September 2019 - 79
IEEE Robotics & Automation Magazine - September 2019 - 80
IEEE Robotics & Automation Magazine - September 2019 - 81
IEEE Robotics & Automation Magazine - September 2019 - 82
IEEE Robotics & Automation Magazine - September 2019 - 83
IEEE Robotics & Automation Magazine - September 2019 - 84
IEEE Robotics & Automation Magazine - September 2019 - 85
IEEE Robotics & Automation Magazine - September 2019 - 86
IEEE Robotics & Automation Magazine - September 2019 - 87
IEEE Robotics & Automation Magazine - September 2019 - 88
IEEE Robotics & Automation Magazine - September 2019 - 89
IEEE Robotics & Automation Magazine - September 2019 - 90
IEEE Robotics & Automation Magazine - September 2019 - 91
IEEE Robotics & Automation Magazine - September 2019 - 92
IEEE Robotics & Automation Magazine - September 2019 - 93
IEEE Robotics & Automation Magazine - September 2019 - 94
IEEE Robotics & Automation Magazine - September 2019 - 95
IEEE Robotics & Automation Magazine - September 2019 - 96
IEEE Robotics & Automation Magazine - September 2019 - 97
IEEE Robotics & Automation Magazine - September 2019 - 98
IEEE Robotics & Automation Magazine - September 2019 - 99
IEEE Robotics & Automation Magazine - September 2019 - 100
IEEE Robotics & Automation Magazine - September 2019 - 101
IEEE Robotics & Automation Magazine - September 2019 - 102
IEEE Robotics & Automation Magazine - September 2019 - 103
IEEE Robotics & Automation Magazine - September 2019 - 104
IEEE Robotics & Automation Magazine - September 2019 - 105
IEEE Robotics & Automation Magazine - September 2019 - 106
IEEE Robotics & Automation Magazine - September 2019 - 107
IEEE Robotics & Automation Magazine - September 2019 - 108
IEEE Robotics & Automation Magazine - September 2019 - 109
IEEE Robotics & Automation Magazine - September 2019 - 110
IEEE Robotics & Automation Magazine - September 2019 - 111
IEEE Robotics & Automation Magazine - September 2019 - 112
IEEE Robotics & Automation Magazine - September 2019 - Cover3
IEEE Robotics & Automation Magazine - September 2019 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com