IEEE Robotics & Automation Magazine - March 2017 - 89

System Architecture
toolkit is written in Python and runs directly on the Rasp-
Designing a modular system requires careful balancing of two berry Pi. Users can control the robot through a web-based
extremes. On the one hand, the system designer may choose interface, which is accessible through the robot's built-in
to make modules completely multifunctional and generic, so Wi-Fi network. The software offers four programming
they can be used in nearly every situation. On the other hand, options for custom behaviors. Ranked in order of increasing
the designer can opt in favor of modules that are more spe- complexity, they include 1) using built-in apps, 2) using a
cialized and prescriptive, resulting in a system that allows the visual programming environment based on Blockly
user to achieve certain goals more quickly. Both approaches (https://developers.google.com/blockly), 3) using Lua scripts,
have merit, and the appropriate position in this spectrum is and 4) directly using the Python application program-
dependent on the intended use of the toolkit.
ming interface.
With our platform, we do not strive to design a system that
The right-hand side of Figure 3 depicts the embodiment
is applicable for every type of robot. Instead, we focus on design methodology, including the design of the skeleton
small-scale social robots, with a specific consideration for and the design of the robot's skin [Figure 3(c) and (d)]. The
face-to-face communication. As a result, the components of design methodology leverages digital manufacturing tech-
our toolkit are specialized toward HRI applications rather nology to enable rapid production of high-fidelity embodi-
than aimed at general-purpose robotic applications. In the ments. The skeleton is made of intersecting pieces that fit
Opsoro system, we distinguish between two categories of together via interlocking cantilever snaps. The design is
components. The first includes components that are largely created using a 3-D model of the outer design as a guide and
the same for all social robots. These components can be used is produced from a 3-mm acrylonitrile-butadiene-styrene
in most embodiment designs with nearly no modification.
(ABS) sheet using a laser cutter. Figure 3(c) shows the
The second group covers the parts that have a very large principle in detail.
impact on the embodiment design of the robot. Rather than
The skin of the robot is composed of a 2-cm foam layer
attempting to fulfill thisĀ  role with generic, reusable compo- covered by flexible textile. The skin patterns are developed
nents, we chose to incorporate a methodology centered on digi- from the same 3-D model as the skeleton. The foam shell is
tal manufacturing techniques as part of our toolkit. The made from multiple laser-cut foam parts that are sewn
methodology gives users a step-by-step guideline to go from together. A software tool is used to flatten 3-D surfaces into
embodiment concept to custom-designed robot parts [31].
two-dimensional (2-D) contours, taking care to minimize
Figure 3 shows a high-level overview of the different total distortion. The same steps are repeated for the fabric pat-
components of an Opsoro robot. The left-hand side of the terns, though different distortion parameters are used. Cur-
figure shows the reusable components of the system. These rently, the designs are made using standard computer-assisted
include the modules and the electronics [Figure 3(a) and design (CAD) tools. However, the method is a prime candi-
(b)]. The modules implement specific elements of facial date for automation because of the repetitive, formulaic
features in self-contained building blocks. The eye module nature of the process. We are considering programming a
is shown in the figure. The toolkit also offers eyebrow, custom-designed tool in the future.
mouth, and joint modules, with more
module types planned. The modules
interface with the frame of the robot
Embodiment Methodology
using laser-cut snap connectors.
The electronics of Opsoro robots
Reusable Components
are composed of a Raspberry Pi sin-
gle-board computer paired with a
(d)
custom daughterboard. The daugh-
(a)
terboard was purpose-built to give the
Raspberry Pi the ability to interface
with different sensors and actuators,
bringing the robot to life. The board
can drive 16 RC hobby servos, one
5-W speaker, and a strip of address-
able red-green-blue light-emitting di-
odes. Sensing capabilities include 12
(b)
channels for capacitive touch sensors
as well as four generic analog inputs.
(c)
The Raspberry Pi can interface direct-
ly with camera modules and universal
serial bus devices, enabling even more Figure 3. The architecture of the robot, showing (a) modules, (b) electronics, (c) skeleton,
extension options. The software of the and (d) foam and skin.
March 2017

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

89


https://developers.google.com/blockly

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - March 2017

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