IEEE Robotics & Automation Magazine - September 2017 - 44

q

q

[η2,υ2]

υ1

z

Sensor
Fusion

AR
K -1
Tool Kit
η0,ee

q

Transponder

Camera

r
Single
Beacon

I
Visual
Servoing

Lη1

Lη

υ
Velocity
Controller

υd

Thrusters
r/min

Td

Navigation Filter
η
Pose
Controller

Joints
Pos. Ctrl

Joints
Vel. Ctl

Depth
Sensor

DVL

TCM

Sensing and
Actuation

I

AHRS

Navigation

Tm

Encoders

Camera

Guidance and
Control

Joint
Sensing and
Position
Actuation
Control

Motors

ηd

qd

q

η
q

qd

Joint State
Synch

qkd

Trajectory
Planning

ηeed ... ηeed
1

n

Grasp
Analysis

Achieved
Figure 2. The GIRONA500 I-AUV software architecture. AR: augmented reality; TCM: tilt current meter.

into thruster set points. On its top, a pose controller handles
AUV pose (h) regulation and tracking. This works by sending
velocity set points (v d) to the velocity controller and reading
the pose feedback (h) from the EKF component to achieve a
desired pose (h d).
Arm Software Architecture
Sensing and Actuation
The sensing and actuation layer provides access to the motor
drivers, the joint encoders, and a camera used to estimate the
EE pose through visual servoing.
Joint Position
Although the arm position in configuration space is instrumented with joint encoders, the arm may miss pulses during
operation, which can lead to inaccurate calibration. To deal
with this problem, the EE is labeled using an augmented reality (AR) code [8], whose pose can be easily estimated with a
camera. Using the inverse kinematics, it is then possible to
estimate the arm configuration (Q) used to calibrate the position read from the encoders.
Joint Control
A cascade joint position and velocity controller is used to control each arm joint. Hence, it is possible to control the joint
velocity and/or position. It is also possible to control the EE
44

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

SEPTEMBER 2017

velocity (ho 0,ee) in Cartesian space by means of the arm pseudoinverse Jacobian (J @ (q)) that translates the Cartesian velocity into the joint velocity (qvo).
Coordination
This coordination layer is devoted to the joint control of the
AUV and the arm. For this work, we implemented the coordination layer using MoveIt! As shown in Figure 2, the layer
integrates three modules: a trajectory planning, joint-state
synchronizer, and grasp analysis component. The trajectory
planner computes collision-safe AUV-arm trajectories in
the 8-DoF configuration space to achieve a desired EE
pose, providing control set points to the AUV and robotarm uncoupled controllers. In addition, the joint-state synchronizer component ensures that both the AUV and the
arm have reached their own set points before scheduling
the next one. Finally, the grasp analysis is included for grasp
reachability analysis.
MoveIt!-Based I-AUV Implementation
MoveIt! [3], a software framework providing a wide functionality that covers several features of mobile manipulation, encapsulates a forward/inverse kinematics solver, planning techniques,
and collision-detection methods through a plug-in-based
mechanism. Widely used third-party libraries are already integrated, including the Kinematics and Dynamics Library (KDL),
the Open Motion Planning Library (OMPL) [9], and the Fast



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

IEEE Robotics & Automation Magazine - September 2017 - Cover1
IEEE Robotics & Automation Magazine - September 2017 - Cover2
IEEE Robotics & Automation Magazine - September 2017 - 1
IEEE Robotics & Automation Magazine - September 2017 - 2
IEEE Robotics & Automation Magazine - September 2017 - 3
IEEE Robotics & Automation Magazine - September 2017 - 4
IEEE Robotics & Automation Magazine - September 2017 - 5
IEEE Robotics & Automation Magazine - September 2017 - 6
IEEE Robotics & Automation Magazine - September 2017 - 7
IEEE Robotics & Automation Magazine - September 2017 - 8
IEEE Robotics & Automation Magazine - September 2017 - 9
IEEE Robotics & Automation Magazine - September 2017 - 10
IEEE Robotics & Automation Magazine - September 2017 - 11
IEEE Robotics & Automation Magazine - September 2017 - 12
IEEE Robotics & Automation Magazine - September 2017 - 13
IEEE Robotics & Automation Magazine - September 2017 - 14
IEEE Robotics & Automation Magazine - September 2017 - 15
IEEE Robotics & Automation Magazine - September 2017 - 16
IEEE Robotics & Automation Magazine - September 2017 - 17
IEEE Robotics & Automation Magazine - September 2017 - 18
IEEE Robotics & Automation Magazine - September 2017 - 19
IEEE Robotics & Automation Magazine - September 2017 - 20
IEEE Robotics & Automation Magazine - September 2017 - 21
IEEE Robotics & Automation Magazine - September 2017 - 22
IEEE Robotics & Automation Magazine - September 2017 - 23
IEEE Robotics & Automation Magazine - September 2017 - 24
IEEE Robotics & Automation Magazine - September 2017 - 25
IEEE Robotics & Automation Magazine - September 2017 - 26
IEEE Robotics & Automation Magazine - September 2017 - 27
IEEE Robotics & Automation Magazine - September 2017 - 28
IEEE Robotics & Automation Magazine - September 2017 - 29
IEEE Robotics & Automation Magazine - September 2017 - 30
IEEE Robotics & Automation Magazine - September 2017 - 31
IEEE Robotics & Automation Magazine - September 2017 - 32
IEEE Robotics & Automation Magazine - September 2017 - 33
IEEE Robotics & Automation Magazine - September 2017 - 34
IEEE Robotics & Automation Magazine - September 2017 - 35
IEEE Robotics & Automation Magazine - September 2017 - 36
IEEE Robotics & Automation Magazine - September 2017 - 37
IEEE Robotics & Automation Magazine - September 2017 - 38
IEEE Robotics & Automation Magazine - September 2017 - 39
IEEE Robotics & Automation Magazine - September 2017 - 40
IEEE Robotics & Automation Magazine - September 2017 - 41
IEEE Robotics & Automation Magazine - September 2017 - 42
IEEE Robotics & Automation Magazine - September 2017 - 43
IEEE Robotics & Automation Magazine - September 2017 - 44
IEEE Robotics & Automation Magazine - September 2017 - 45
IEEE Robotics & Automation Magazine - September 2017 - 46
IEEE Robotics & Automation Magazine - September 2017 - 47
IEEE Robotics & Automation Magazine - September 2017 - 48
IEEE Robotics & Automation Magazine - September 2017 - 49
IEEE Robotics & Automation Magazine - September 2017 - 50
IEEE Robotics & Automation Magazine - September 2017 - 51
IEEE Robotics & Automation Magazine - September 2017 - 52
IEEE Robotics & Automation Magazine - September 2017 - 53
IEEE Robotics & Automation Magazine - September 2017 - 54
IEEE Robotics & Automation Magazine - September 2017 - 55
IEEE Robotics & Automation Magazine - September 2017 - 56
IEEE Robotics & Automation Magazine - September 2017 - 57
IEEE Robotics & Automation Magazine - September 2017 - 58
IEEE Robotics & Automation Magazine - September 2017 - 59
IEEE Robotics & Automation Magazine - September 2017 - 60
IEEE Robotics & Automation Magazine - September 2017 - 61
IEEE Robotics & Automation Magazine - September 2017 - 62
IEEE Robotics & Automation Magazine - September 2017 - 63
IEEE Robotics & Automation Magazine - September 2017 - 64
IEEE Robotics & Automation Magazine - September 2017 - 65
IEEE Robotics & Automation Magazine - September 2017 - 66
IEEE Robotics & Automation Magazine - September 2017 - 67
IEEE Robotics & Automation Magazine - September 2017 - 68
IEEE Robotics & Automation Magazine - September 2017 - 69
IEEE Robotics & Automation Magazine - September 2017 - 70
IEEE Robotics & Automation Magazine - September 2017 - 71
IEEE Robotics & Automation Magazine - September 2017 - 72
IEEE Robotics & Automation Magazine - September 2017 - 73
IEEE Robotics & Automation Magazine - September 2017 - 74
IEEE Robotics & Automation Magazine - September 2017 - 75
IEEE Robotics & Automation Magazine - September 2017 - 76
IEEE Robotics & Automation Magazine - September 2017 - 77
IEEE Robotics & Automation Magazine - September 2017 - 78
IEEE Robotics & Automation Magazine - September 2017 - 79
IEEE Robotics & Automation Magazine - September 2017 - 80
IEEE Robotics & Automation Magazine - September 2017 - 81
IEEE Robotics & Automation Magazine - September 2017 - 82
IEEE Robotics & Automation Magazine - September 2017 - 83
IEEE Robotics & Automation Magazine - September 2017 - 84
IEEE Robotics & Automation Magazine - September 2017 - 85
IEEE Robotics & Automation Magazine - September 2017 - 86
IEEE Robotics & Automation Magazine - September 2017 - 87
IEEE Robotics & Automation Magazine - September 2017 - 88
IEEE Robotics & Automation Magazine - September 2017 - 89
IEEE Robotics & Automation Magazine - September 2017 - 90
IEEE Robotics & Automation Magazine - September 2017 - 91
IEEE Robotics & Automation Magazine - September 2017 - 92
IEEE Robotics & Automation Magazine - September 2017 - 93
IEEE Robotics & Automation Magazine - September 2017 - 94
IEEE Robotics & Automation Magazine - September 2017 - 95
IEEE Robotics & Automation Magazine - September 2017 - 96
IEEE Robotics & Automation Magazine - September 2017 - 97
IEEE Robotics & Automation Magazine - September 2017 - 98
IEEE Robotics & Automation Magazine - September 2017 - 99
IEEE Robotics & Automation Magazine - September 2017 - 100
IEEE Robotics & Automation Magazine - September 2017 - 101
IEEE Robotics & Automation Magazine - September 2017 - 102
IEEE Robotics & Automation Magazine - September 2017 - 103
IEEE Robotics & Automation Magazine - September 2017 - 104
IEEE Robotics & Automation Magazine - September 2017 - 105
IEEE Robotics & Automation Magazine - September 2017 - 106
IEEE Robotics & Automation Magazine - September 2017 - 107
IEEE Robotics & Automation Magazine - September 2017 - 108
IEEE Robotics & Automation Magazine - September 2017 - 109
IEEE Robotics & Automation Magazine - September 2017 - 110
IEEE Robotics & Automation Magazine - September 2017 - 111
IEEE Robotics & Automation Magazine - September 2017 - 112
IEEE Robotics & Automation Magazine - September 2017 - 113
IEEE Robotics & Automation Magazine - September 2017 - 114
IEEE Robotics & Automation Magazine - September 2017 - 115
IEEE Robotics & Automation Magazine - September 2017 - 116
IEEE Robotics & Automation Magazine - September 2017 - 117
IEEE Robotics & Automation Magazine - September 2017 - 118
IEEE Robotics & Automation Magazine - September 2017 - 119
IEEE Robotics & Automation Magazine - September 2017 - 120
IEEE Robotics & Automation Magazine - September 2017 - 121
IEEE Robotics & Automation Magazine - September 2017 - 122
IEEE Robotics & Automation Magazine - September 2017 - 123
IEEE Robotics & Automation Magazine - September 2017 - 124
IEEE Robotics & Automation Magazine - September 2017 - 125
IEEE Robotics & Automation Magazine - September 2017 - 126
IEEE Robotics & Automation Magazine - September 2017 - 127
IEEE Robotics & Automation Magazine - September 2017 - 128
IEEE Robotics & Automation Magazine - September 2017 - 129
IEEE Robotics & Automation Magazine - September 2017 - 130
IEEE Robotics & Automation Magazine - September 2017 - 131
IEEE Robotics & Automation Magazine - September 2017 - 132
IEEE Robotics & Automation Magazine - September 2017 - 133
IEEE Robotics & Automation Magazine - September 2017 - 134
IEEE Robotics & Automation Magazine - September 2017 - 135
IEEE Robotics & Automation Magazine - September 2017 - 136
IEEE Robotics & Automation Magazine - September 2017 - 137
IEEE Robotics & Automation Magazine - September 2017 - 138
IEEE Robotics & Automation Magazine - September 2017 - 139
IEEE Robotics & Automation Magazine - September 2017 - 140
IEEE Robotics & Automation Magazine - September 2017 - 141
IEEE Robotics & Automation Magazine - September 2017 - 142
IEEE Robotics & Automation Magazine - September 2017 - 143
IEEE Robotics & Automation Magazine - September 2017 - 144
IEEE Robotics & Automation Magazine - September 2017 - 145
IEEE Robotics & Automation Magazine - September 2017 - 146
IEEE Robotics & Automation Magazine - September 2017 - 147
IEEE Robotics & Automation Magazine - September 2017 - 148
IEEE Robotics & Automation Magazine - September 2017 - 149
IEEE Robotics & Automation Magazine - September 2017 - 150
IEEE Robotics & Automation Magazine - September 2017 - 151
IEEE Robotics & Automation Magazine - September 2017 - 152
IEEE Robotics & Automation Magazine - September 2017 - 153
IEEE Robotics & Automation Magazine - September 2017 - 154
IEEE Robotics & Automation Magazine - September 2017 - 155
IEEE Robotics & Automation Magazine - September 2017 - 156
IEEE Robotics & Automation Magazine - September 2017 - 157
IEEE Robotics & Automation Magazine - September 2017 - 158
IEEE Robotics & Automation Magazine - September 2017 - 159
IEEE Robotics & Automation Magazine - September 2017 - 160
IEEE Robotics & Automation Magazine - September 2017 - 161
IEEE Robotics & Automation Magazine - September 2017 - 162
IEEE Robotics & Automation Magazine - September 2017 - 163
IEEE Robotics & Automation Magazine - September 2017 - 164
IEEE Robotics & Automation Magazine - September 2017 - 165
IEEE Robotics & Automation Magazine - September 2017 - 166
IEEE Robotics & Automation Magazine - September 2017 - 167
IEEE Robotics & Automation Magazine - September 2017 - 168
IEEE Robotics & Automation Magazine - September 2017 - 169
IEEE Robotics & Automation Magazine - September 2017 - 170
IEEE Robotics & Automation Magazine - September 2017 - 171
IEEE Robotics & Automation Magazine - September 2017 - 172
IEEE Robotics & Automation Magazine - September 2017 - 173
IEEE Robotics & Automation Magazine - September 2017 - 174
IEEE Robotics & Automation Magazine - September 2017 - 175
IEEE Robotics & Automation Magazine - September 2017 - 176
IEEE Robotics & Automation Magazine - September 2017 - 177
IEEE Robotics & Automation Magazine - September 2017 - 178
IEEE Robotics & Automation Magazine - September 2017 - 179
IEEE Robotics & Automation Magazine - September 2017 - 180
IEEE Robotics & Automation Magazine - September 2017 - 181
IEEE Robotics & Automation Magazine - September 2017 - 182
IEEE Robotics & Automation Magazine - September 2017 - 183
IEEE Robotics & Automation Magazine - September 2017 - 184
IEEE Robotics & Automation Magazine - September 2017 - Cover3
IEEE Robotics & Automation Magazine - September 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