1function Q = multipleTaskCLIK(tasks, combinations, dim)
 2%Calculates a set Q of size(combinations,1) possible system velocites
 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