IEEE Robotics & Automation Magazine - December 2018 - 71

V-REP
Simulator or
Visualizer

Simulink

Motion Capture

Operator
Inputs

Haptic Device

Task Planner

OTHex Ctrl.

System State

Joypad

Schunk
Gripper

Sunrise
Cabinet

ESC +
Brushless Motors
LBR-iiwa Arm

OTHex AM

Grippers
LEDs

Figure 5. The software architecture used in the Tele-MAGMaS project, showing the MATLAB-Simulink links (green arrows), the C
S-function links (blue arrows), the GenoM3 links (orange arrows), and the low-level links (black arrows). ESCs: electronic speed
controllers; LEDs: light-emitting diodes.

where M x is the inertia of the system projected at the object
point considered for the teleoperation x; d min and d min
denote the shortest distance, component-wise, toward an
obstacle and its derivative; and K P and K D are two positive
definite matrices chosen to generate the viscoelastic force.
The total rendered force is saturated to satisfy the actuation
constraints of the haptic device.
Shared-Control MAGMaS
The third possible autonomy level for the system, shared
control, combines the two previous approaches. An automatic task planner determines the motion commands and
changes of logic states, and the human operator can modify
the planned trajectories. Human operators can locally
change the trajectories or change the trajectories' time law
for reacting to changes in the environment. This autonomy
level is well suited for a semistructured environment, i.e.,
partially mapped or fully mapped, but with the possible
occurrence of unpredictable events, e.g., at a construction
site or in an industrial environment where humans, robots,
and other machines work together.
Software Architecture
The Tele-MAGMaS is composed of three main robotic parts:
the 1) LBR-iiwa arm, 2) OTHex AM, and 3) Omega.6 haptic
interface (all commanded by a centralized controller and interfaced with a simulator/visualizer). To develop the experimental framework, we relied on the GenoM3 (https://git
.openrobots.org/projects/genom3/wiki) abstraction layer,
which allows middleware-independent software components
to be defined for robotics [the middleware, e.g., the Robot
Operating System (ROS), can then be chosen at compilation
time]. The GenoM3 components are written in C/C++ and can
be controlled via tcl-shell, multi-command line, MATLABSimulink, or middleware-specific means. This allows high flexibility in the development and use of the components.
The global software architecture is depicted in Figure 5.
The high-level control of the full system is realized in MATLABSimulink and linked to the hardware via GenoM3 com-

ponents (OTHex, joypad, motion capture, and LBR-iiwa) or
MATLAB S-function drivers (haptic device and V-REP simulation device), which are C++ functions natively interacting
with MATLAB. We chose this approach because we realized
that the development and test of the controller in MATLABSimulink are considerably faster than in pure C/C++. However,
because MATLAB-Simulink is not meant for real-time execution, the hardware is commanded via GenoM3 components.
These GenoM3 components are essentially drivers for the
hardware to satisfy real-time constraints, as we chose to keep
most of the algorithmic
part in MATLAB-Simulink.
In centralized cooperative
To satisfy the hard realtime constraints of commanipulation, both robots
munication with the
LBR-iiwa, inverse kinereceive commands based
matics and other related
utilities are performed in
on the position of the
the GenoM3 component.
In our architecture, MATmanipulated object.
LAB-Simulink runs at
500 Hz, and the task/path
planner (see the "System
Autonomy Framework" section), human input interpreter,
system-state estimator, and OTHex controller all run inside
MATLAB-Simulink.
This component-based architecture allows easy repartitioning of the load between processes and machines. In our
experiment, we chose to use the ROS as middleware, which
provides sufficient real-timeness for the intended purpose.
The component-based design also allows the seamless change
of operator inputs and perception components or of the
MAGMaS hardware, as each of those are separate from the
main algorithmic part and provide standard interfaces that
are not hardware specific.
Simulation Environment
The simulation must balance the accuracy of the simulated
behavior with the computational load, weighted by the
december 2018

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

71


https://git.openrobots.org/projects/genom3/wiki https://git.openrobots.org/projects/genom3/wiki

IEEE Robotics & Automation Magazine - December 2018

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - December 2018

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