IEEE Robotics & Automation Magazine - September 2021 - 114

Listing 5: The Main MATLAB Code for the Simulation
sampling_time = 0.05;
total_time = 200;
for t = 0:sampling_time:total_time
%% Get obstacles from V-REP
plane = get_plane_from_vrep (vi,'ObstaclePlane',DQ.k);
cylinder1 = get_line_from_vrep(vi,'ObstacleCylinder1',DQ.k);
cylinder2 = get_line_from_vrep(vi,'ObstacleCylinder2',DQ.k);
%% Set references for both robots
[lwr4_xd, lwr4_ff] = compute_lwr4_reference(lwr4,...
simulation_parameters, lwr4_x0, t);
[youbot_xd, youbot_ff] = compute_youbot_reference(...
youbot_control, lwr4_xd, lwr4_ff);
%% Compute the control input for the manipulator
lwr4_u = lwr4_controller.compute_tracking_control_signal(...
lwr4_q, vec8(lwr4_xd), vec8(lwr4_ff));
%% Compute constrained control input for the youbot
[Jconstraint, bconstraint] = compute_constraints(youbot, ...
youbot_q, plane,cylinder1,cylinder2);
youbot_control.set_inequality_constraint(-Jconstraint,...
1*bconstraint);
youbot_u= youbot_control.compute_tracking_control_signal(...
youbot_q, vec8(youbot_xd), vec8(youbot_ff));
% Since we are using V-REP just for visualization, integrate
% the control signal to update the robots configurations
lwr4_q = lwr4_q + sampling_time*lwr4_u;
youbot_q = youbot_q + sampling_time*youbot_u;
%% Send desired values to V-REP
lwr4_vreprobot.send_q_to_vrep(lwr4_q);
youbot_vreprobot.send_q_to_vrep(youbot_q);
end
Table 5. The computational time of dual
quaternion multiplications.
Programming Language Mean (μs)
C++ (gcc 5.4.0)
0.22
MATLAB R2019a
Python 3.5.2 bindings
Python 3.5.2 native
8.94
0.82
31.42
Standard
Deviation (μs)
0.0149
0.1223
0.0242
0.1646
The means and standard deviations of the required time for one dual
quaternion multiplication are shown. These were calculated from
1,000 sets of 1,000 executions on the same Intel Core i9 9900 K
Ubuntu 16.04 x64 system and exclude the time required to generate
the random dual quaternions.
sudo add-apt-repository ppa:dqroboticsdev/release
sudo
apt-get update
sudo apt-get install libdqrobotics
These are made available via our release personal package
archive (PPA) [27], in which we store the latest stable versions
of the library. Interfaces between DQ Robotics and other
libraries also reside in the same PPA. For example, after adding
the PPA, the user can install the V-REP interface with the
following command:
sudo
apt-get
install
interface-vrep
The PPA guarantees that the user can reliably install the
package in his or her system, as the PPA stores only those
114 * IEEE ROBOTICS & AUTOMATION MAGAZINE * SEPTEMBER 2021
libdqrobotics

IEEE Robotics & Automation Magazine - September 2021

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

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