1function [F ds rec_out] = ligaments_control(t, N, dt, q, dq, t_all, x_all, cons, s_in, rec_in, Tj, Tm, Tp, dTj, dTm, dTp, M)
 2%#codegen 
 3F = zeros(9, 1); 
 4pm = zeros(6,1); 
 5vm = zeros(6,1); 
 6pm(1) = q(4) - q(3); 
 7vm(1) = dq(4) - dq(3); 
 8pm(2) = q(5) - q(4); 
 9vm(2) = dq(5) - dq(4); 
10pm(3) = q(6) - q(5); 
11vm(3) = dq(6) - dq(5); 
12pm(4) = q(7) - q(3); 
13vm(4) = dq(7) - dq(3); 
14pm(5) = q(8) - q(7); 
15vm(5) = dq(8) - dq(7); 
16pm(6) = q(9) - q(8); 
17vm(6) = dq(9) - dq(8); 
18mt = ligamentscalctorque(pm, vm, cons); 
19rec_out = mt; 
20F(4) = F(4) + mt(1); 
21F(3) = F(3) - mt(1); 
22F(5) = F(5) + mt(2); 
23F(4) = F(4) - mt(2); 
24F(6) = F(6) + mt(3); 
25F(5) = F(5) - mt(3); 
26F(7) = F(7) + mt(4); 
27F(3) = F(3) - mt(4); 
28F(8) = F(8) + mt(5); 
29F(7) = F(7) - mt(5); 
30F(9) = F(9) + mt(6); 
31F(8) = F(8) - mt(6); 
32ds = [];