IEEE Robotics & Automation Magazine - June 2021 - 92

simplicity is not representative of the integration efforts
required when incompatibilities arise between a new component
and the existing system or development environment. For
instance, if system components require incompatible drivers or
operating systems, then the only way to include them natively is
to use more computers. Additionally, several components
might require different versions of the same library, which will
have to be installed concurrently to avoid software conflicts.
Solving these software conflicts is challenging and can lead to
functional and structural impacts on the system. Functional
impacts correspond to restrictions in system functionality. For
example, a dependency on specific drivers might limit the functions
a system can use. Structural impacts affect the ability to
maintain and expand the system in the future. For instance, the
manual compilation of software from the source does not scale
well and disables the use of tools for updating and maintaining
software automatically, negatively affecting the system's robustness.
Containers [e.g., Docker (https://www.docker.com/) and
LXC (https://linuxcontainers.org/)] aim to solve the aforementioned
incompatibility problems by providing each component
with a dedicated software development environment (operating
system, drivers, libraries, and so on). This makes the system
very modular and easy to deploy and avoids the negative functional
and structural effects present in native inclusion. Furthermore,
the isolated execution of components facilitates
containing and mitigating security breaches and other vulnerabilities
that may originate from a certain component.
However, containerization has a setup cost, as the complete
software development environment of a component
must be described in a template format, namely the container
blueprint. Creating and testing this blueprint can be a tedious
process. Moreover, as containers are not yet widely used in
robotics, there is also a learning and adaptation cost associated
with their use. Another factor to consider when systems
have limited computational resources is the impact on performance
resulting from the mediation between the virtual and
development environments [17].
Overall, the choice between the native inclusion and containerization
of a component is influenced by the integration
effort required and the impact that an integration approach has
on the system. The correct estimation of those two factors by
the development team is therefore essential for estimating the
expected time required for the high-level integration. A mapping
between the integration effort and time per factor is presented
in Table 1. The numbers are derived from the analysis of
our experience in the integration of complex robotic systems,
including the tool packing system described in this article.
Low-Level Integration
Low-level integration defines how a component interacts with
the rest of the system and functions according to defined
quality and performance levels. To estimate the effort
required for the integration and subsequent use of a component,
system developers should assess the development states
of the components, both in isolation and in combination with
the target system. Specifically, we propose that a component
should satisfy the following conditions:
●
Condition 1 (C1): The component should offer software
application programming interfaces (APIs) that can be
used without modifications by the target system.
●
Condition 2 (C2): The component should be written in the
same programming language and/or framework as the target
system or should provide ways to interoperate with the system.
●
●
Condition 3 (C3): The component should perform efficiently
in terms of execution time and resource consumption.
Condition 4 (C4): The component should follow wellestablished
coding practices, such as thorough documentation
and testing.
●
Condition 5 (C5): The component should be actively maintained.
The
satisfaction of the conditions guarantees that the integration
of a component in the overall system does not negatively
affect the system's interoperability (C1 and C2),
performance (C3), maintainability (C2, C4, and C5), and
transparency (C4). If a component satisfies all of these conditions
for the target system, then it can be integrated directly
without any further modification. Otherwise, a varying
amount of integration effort is required, depending on the
degree to which each condition is met (Table 2). In this case,
the following approaches can be considered.
●
Augmentation: The necessary extensions and/or improvements
for a component to be integrated into the system
should be implemented.
●
Reimplementation: An alternative version of the component
that satisfies the system's interoperability, performance,
and quality requirements should be developed.
To decide between the two approaches of augmentation
and reimplementation, one must quantify the amount of
effort required to adapt a component to the target system's
requirements. Therefore, we define the following scoring system
to assess a single component on each of the aforementioned
conditions: condition satisfied (0), low effort (1),
medium effort (2), and high effort (3). Based on this, we
derive an effort coefficient
e 01f ! [, ]
e ==
max
f
Table 1. The mapping between the integration
effort and time for high-level integration.
Low Effort
Medium Effort
Integration
time
0-2 person
days
3-6 person
days
92 * IEEE ROBOTICS & AUTOMATION MAGAZINE * JUNE 2021
C
C
where EC 03i
High Effort
> 6 person
days
total
i ! 15
/ pE
[, ]
CC
ii
)
i ! 15
/ p iC ) 3
[, ]
as follows:
,
(1)
! [, ] represents the effort score and p ! [, ]
C 01i
is the priority factor for the ith condition. Priority factors help
define which of the conditions are more relevant during the
integration of the components in the target robotic system.
Ctotal
represents the total amount of integration effort
https://www.docker.com/ https://www.linuxcontainers.org/

IEEE Robotics & Automation Magazine - June 2021

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - June 2021

Contents
IEEE Robotics & Automation Magazine - June 2021 - Cover1
IEEE Robotics & Automation Magazine - June 2021 - Cover2
IEEE Robotics & Automation Magazine - June 2021 - Contents
IEEE Robotics & Automation Magazine - June 2021 - 2
IEEE Robotics & Automation Magazine - June 2021 - 3
IEEE Robotics & Automation Magazine - June 2021 - 4
IEEE Robotics & Automation Magazine - June 2021 - 5
IEEE Robotics & Automation Magazine - June 2021 - 6
IEEE Robotics & Automation Magazine - June 2021 - 7
IEEE Robotics & Automation Magazine - June 2021 - 8
IEEE Robotics & Automation Magazine - June 2021 - 9
IEEE Robotics & Automation Magazine - June 2021 - 10
IEEE Robotics & Automation Magazine - June 2021 - 11
IEEE Robotics & Automation Magazine - June 2021 - 12
IEEE Robotics & Automation Magazine - June 2021 - 13
IEEE Robotics & Automation Magazine - June 2021 - 14
IEEE Robotics & Automation Magazine - June 2021 - 15
IEEE Robotics & Automation Magazine - June 2021 - 16
IEEE Robotics & Automation Magazine - June 2021 - 17
IEEE Robotics & Automation Magazine - June 2021 - 18
IEEE Robotics & Automation Magazine - June 2021 - 19
IEEE Robotics & Automation Magazine - June 2021 - 20
IEEE Robotics & Automation Magazine - June 2021 - 21
IEEE Robotics & Automation Magazine - June 2021 - 22
IEEE Robotics & Automation Magazine - June 2021 - 23
IEEE Robotics & Automation Magazine - June 2021 - 24
IEEE Robotics & Automation Magazine - June 2021 - 25
IEEE Robotics & Automation Magazine - June 2021 - 26
IEEE Robotics & Automation Magazine - June 2021 - 27
IEEE Robotics & Automation Magazine - June 2021 - 28
IEEE Robotics & Automation Magazine - June 2021 - 29
IEEE Robotics & Automation Magazine - June 2021 - 30
IEEE Robotics & Automation Magazine - June 2021 - 31
IEEE Robotics & Automation Magazine - June 2021 - 32
IEEE Robotics & Automation Magazine - June 2021 - 33
IEEE Robotics & Automation Magazine - June 2021 - 34
IEEE Robotics & Automation Magazine - June 2021 - 35
IEEE Robotics & Automation Magazine - June 2021 - 36
IEEE Robotics & Automation Magazine - June 2021 - 37
IEEE Robotics & Automation Magazine - June 2021 - 38
IEEE Robotics & Automation Magazine - June 2021 - 39
IEEE Robotics & Automation Magazine - June 2021 - 40
IEEE Robotics & Automation Magazine - June 2021 - 41
IEEE Robotics & Automation Magazine - June 2021 - 42
IEEE Robotics & Automation Magazine - June 2021 - 43
IEEE Robotics & Automation Magazine - June 2021 - 44
IEEE Robotics & Automation Magazine - June 2021 - 45
IEEE Robotics & Automation Magazine - June 2021 - 46
IEEE Robotics & Automation Magazine - June 2021 - 47
IEEE Robotics & Automation Magazine - June 2021 - 48
IEEE Robotics & Automation Magazine - June 2021 - 49
IEEE Robotics & Automation Magazine - June 2021 - 50
IEEE Robotics & Automation Magazine - June 2021 - 51
IEEE Robotics & Automation Magazine - June 2021 - 52
IEEE Robotics & Automation Magazine - June 2021 - 53
IEEE Robotics & Automation Magazine - June 2021 - 54
IEEE Robotics & Automation Magazine - June 2021 - 55
IEEE Robotics & Automation Magazine - June 2021 - 56
IEEE Robotics & Automation Magazine - June 2021 - 57
IEEE Robotics & Automation Magazine - June 2021 - 58
IEEE Robotics & Automation Magazine - June 2021 - 59
IEEE Robotics & Automation Magazine - June 2021 - 60
IEEE Robotics & Automation Magazine - June 2021 - 61
IEEE Robotics & Automation Magazine - June 2021 - 62
IEEE Robotics & Automation Magazine - June 2021 - 63
IEEE Robotics & Automation Magazine - June 2021 - 64
IEEE Robotics & Automation Magazine - June 2021 - 65
IEEE Robotics & Automation Magazine - June 2021 - 66
IEEE Robotics & Automation Magazine - June 2021 - 67
IEEE Robotics & Automation Magazine - June 2021 - 68
IEEE Robotics & Automation Magazine - June 2021 - 69
IEEE Robotics & Automation Magazine - June 2021 - 70
IEEE Robotics & Automation Magazine - June 2021 - 71
IEEE Robotics & Automation Magazine - June 2021 - 72
IEEE Robotics & Automation Magazine - June 2021 - 73
IEEE Robotics & Automation Magazine - June 2021 - 74
IEEE Robotics & Automation Magazine - June 2021 - 75
IEEE Robotics & Automation Magazine - June 2021 - 76
IEEE Robotics & Automation Magazine - June 2021 - 77
IEEE Robotics & Automation Magazine - June 2021 - 78
IEEE Robotics & Automation Magazine - June 2021 - 79
IEEE Robotics & Automation Magazine - June 2021 - 80
IEEE Robotics & Automation Magazine - June 2021 - 81
IEEE Robotics & Automation Magazine - June 2021 - 82
IEEE Robotics & Automation Magazine - June 2021 - 83
IEEE Robotics & Automation Magazine - June 2021 - 84
IEEE Robotics & Automation Magazine - June 2021 - 85
IEEE Robotics & Automation Magazine - June 2021 - 86
IEEE Robotics & Automation Magazine - June 2021 - 87
IEEE Robotics & Automation Magazine - June 2021 - 88
IEEE Robotics & Automation Magazine - June 2021 - 89
IEEE Robotics & Automation Magazine - June 2021 - 90
IEEE Robotics & Automation Magazine - June 2021 - 91
IEEE Robotics & Automation Magazine - June 2021 - 92
IEEE Robotics & Automation Magazine - June 2021 - 93
IEEE Robotics & Automation Magazine - June 2021 - 94
IEEE Robotics & Automation Magazine - June 2021 - 95
IEEE Robotics & Automation Magazine - June 2021 - 96
IEEE Robotics & Automation Magazine - June 2021 - 97
IEEE Robotics & Automation Magazine - June 2021 - 98
IEEE Robotics & Automation Magazine - June 2021 - 99
IEEE Robotics & Automation Magazine - June 2021 - 100
IEEE Robotics & Automation Magazine - June 2021 - 101
IEEE Robotics & Automation Magazine - June 2021 - 102
IEEE Robotics & Automation Magazine - June 2021 - 103
IEEE Robotics & Automation Magazine - June 2021 - 104
IEEE Robotics & Automation Magazine - June 2021 - 105
IEEE Robotics & Automation Magazine - June 2021 - 106
IEEE Robotics & Automation Magazine - June 2021 - 107
IEEE Robotics & Automation Magazine - June 2021 - 108
IEEE Robotics & Automation Magazine - June 2021 - 109
IEEE Robotics & Automation Magazine - June 2021 - 110
IEEE Robotics & Automation Magazine - June 2021 - 111
IEEE Robotics & Automation Magazine - June 2021 - 112
IEEE Robotics & Automation Magazine - June 2021 - 113
IEEE Robotics & Automation Magazine - June 2021 - 114
IEEE Robotics & Automation Magazine - June 2021 - 115
IEEE Robotics & Automation Magazine - June 2021 - 116
IEEE Robotics & Automation Magazine - June 2021 - 117
IEEE Robotics & Automation Magazine - June 2021 - 118
IEEE Robotics & Automation Magazine - June 2021 - 119
IEEE Robotics & Automation Magazine - June 2021 - 120
IEEE Robotics & Automation Magazine - June 2021 - 121
IEEE Robotics & Automation Magazine - June 2021 - 122
IEEE Robotics & Automation Magazine - June 2021 - 123
IEEE Robotics & Automation Magazine - June 2021 - 124
IEEE Robotics & Automation Magazine - June 2021 - 125
IEEE Robotics & Automation Magazine - June 2021 - 126
IEEE Robotics & Automation Magazine - June 2021 - 127
IEEE Robotics & Automation Magazine - June 2021 - 128
IEEE Robotics & Automation Magazine - June 2021 - 129
IEEE Robotics & Automation Magazine - June 2021 - 130
IEEE Robotics & Automation Magazine - June 2021 - 131
IEEE Robotics & Automation Magazine - June 2021 - 132
IEEE Robotics & Automation Magazine - June 2021 - 133
IEEE Robotics & Automation Magazine - June 2021 - 134
IEEE Robotics & Automation Magazine - June 2021 - 135
IEEE Robotics & Automation Magazine - June 2021 - 136
IEEE Robotics & Automation Magazine - June 2021 - 137
IEEE Robotics & Automation Magazine - June 2021 - 138
IEEE Robotics & Automation Magazine - June 2021 - 139
IEEE Robotics & Automation Magazine - June 2021 - 140
IEEE Robotics & Automation Magazine - June 2021 - Cover3
IEEE Robotics & Automation Magazine - June 2021 - 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