IEEE Robotics & Automation Magazine - September 2012 - 65

Haptic Interfaces
The bilateral devices used in our test bed are Omega.3 and
Omega.6 (http://www.forcedimension.com), as shown in
Figure 5. The Omega.3 has three fully actuated DoF, while
Omega.6 is a 6-DoF device with three actuated translational
and three passive rotational DoF. Each device is connected
to a mini PC by means of a USB connection and can be controlled at 2:5 kHz. The workspace of the devices is approximately a cube with an edge of 0:12 m, and the maximum
provided force is about 10 N.
Additional Components
Our hardware setup also includes additional components
that, however, are not described in detail. These consist of
the network infrastructure, the motion capture (MOCAP)
system (http://www.vicon.com/), and other human interfaces (e.g., joypads and screens).
Software Setup
The distributed software implementation of the whole system involves several processes interconnected through custom-developed interfaces, see Figure 6. A custom C++
algorithmic library provides the control and signal
processing functionalities needed by each process, such as
force-feedback algorithms, topological controllers, obstacle
avoidance techniques, FCs, signal processors, and filters.

UAV Software
The Q7 board runs a GNU-LINUX OS and hosts the
high-level UAV controller (HLUC) process that implements the FOTP and part of the FC. The lC board runs a
single process, the low-level UAV controller (LLUC),
which implements the remaining parts of the FC and interfaces directly with the inertial measurement unit (IMU)
and the four motor controllers through the I2 C bus. The
FC is a standard cascaded controller similar to the one
used in [9].
The HLUC can use Wi-Fi to communicate via socket
interprocess communication (IPC) with several other
processes hosted by different machines, such as the HLUC
of other UAVs, haptic-device controllers, a MATLAB
instance, a MOCAP system (using the VRPN protocol),
sensor modules (which may also be hosted on the Q7
board), and input-output interfaces [e.g., using the TUIO
(http://www.tuio.org/) protocol, a touchpad or a smart
phone]. A similar interface also allows direct communication between haptic-device controllers and a MATLAB
instance if required. The communication frequency
changes for each interface (e.g., it is 1204240 Hz for the
MOCAP system and 25 Hz for the camera-sensor module).
The communication between the HLUC and the LLUC
is mediated by the safe module (SM) process, a very compact and well-tested program whose role is to check the
inputs generated by the HLUC and take full control of
the UAV in case of detection of some inconsistencies in
the input signals (e.g., erroneous frequencies and excessive
jittering). In addition to SM, in emergency cases, a human
operator may also bypass the Q7 board and manually control the UAV using a radio remote controller.
The LLUC provides an estimate of roll and pitch angles
(/Bi , hBi ) by fusing the IMU readings with a complementary filter. The yaw wBi can be either measured with an
onboard compass or retrieved by the MOCAP system. A
sensor module processing the onboard camera signal is
used to obtain the relative bearings by detecting the
spheres placed on top of the QRs. Finally, every BC runs a
P-controller to regulate the motor speeds.

Three
Three
6 DoF Motors
Motors 3 DoF
Haptic Device Haptic Device

MAX PLANCK INSTITUTE FOR BIOLOGICAL CYBERNETICS

resolution of 0:0039g0 m/s2 and range of Æ2g0 m/s2 and 2)
three ADXRS610 gyros with a resolution of 0:586 =s and
range of Æ300 =s. These are all accessible by the lC.
A 72 3 100 mm Q7 electronic board (http://www.seco.
it/en/, http://www.qseven-standard.org/) is mounted underneath the frame. The board hosts a Z530 Intel Atom processor, 1-GB DDR2 533-MHz RAM, an 8-GB onboard flash
disk, and a wireless fidelity (Wi-Fi) card. The power consumption of this board is 10 W. The Q7 board communicates with the lC through a serial (RS 232) cable with a baud
rate up to 115, 200 b/s. During the debugging phase, the Q7
board can also be dismounted from the QR and operated as
a desktop computer. In this case, the cable is replaced by a
wireless serial connection XBee-PRO 802.15.4.
An adapted low-cost monocular camera is mounted on
top of the lC board. This is connected to the Q7 board
through a USB and has a horizontal/vertical field of view
of about 88 =60 and a weight of less than 50 g. A set of
reflective markers is used by an external tracking system to
retrieve the position and orientation of the QR. A singlecolored ball is instead tracked by the cameras of the QRs to
measure their relative bearing bij .
The QR carries a four-cell 2, 600-mAh LiPo battery
underneath the Q7 board, which powers the whole system
by means of a custom power-supply board, allowing to handle the diversity of supplied components. The autonomy
provided by the battery in full configuration is about 10 min.
All the electronic devices can also be supplied by an ac/dc
socket adapter, e.g., while the battery is replaced.

Control PCs
Handle

3 DoF Handle

Figure 5. Haptic interfaces with the corresponding control PCs
used in the experimental test bed.

SEPTEMBER 2012

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

65


http://www.seco http://www.qseven http://www.standard.org http://www.tuio.org http://www.forcedimension.com http://www.vicon.com

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

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