1function Q = multipleTaskCLIK(tasks, combinations, dim)
2
3
4nTasks = numel(tasks);
5nCombinations = size(combinations,1);
6Q = zeros(dim, nCombinations);
7Jx = [1];
8
9for i = 1:nCombinations
10 c = combinations(i,:);
11 init = 0;
12 N = eye(dim);
13 for j = 1:nTasks
14 if c(j) == 1
15 T = tasks{j};
16 J = T.J;
17 J_inv = T.J_inv;
18 sigma_ref_dot = T.Sigma_ref_dot;
19 q_des = J_inv*sigma_ref_dot;
20 Q(:,i) = Q(:,i) + N*q_des;
21 if init == 0
22 init = 1;
23 Jx = T.J;
24 Jx_inv = T.J_inv;
25 else
26 Jx = [Jx; T.J];
27 Jx_inv = Jx'/(Jx*Jx');
28 end
29 N = eye(dim) - Jx_inv*Jx;
30 end
31 end
32end
33
34end