Commit f432566c authored by Olivier Lantsoght's avatar Olivier Lantsoght

[Solvekin] In case of loop closing procedure they are only closed in position.

parent 9eeefe79
...@@ -618,11 +618,12 @@ int mbs_fct_solvekin(MbsData *s, MbsSolvekin *sk) ...@@ -618,11 +618,12 @@ int mbs_fct_solvekin(MbsData *s, MbsSolvekin *sk)
} }
// Computation of driven variable and independant joints // Computation of driven variable and independant joints
if (s->nqc && sk->trajectorytype != 2) { if (s->nqc && sk->trajectorytype != 2 && sk->options->motion != closeloop) {
// if there is driven and if they are not defined in trajectory file // if there is driven and if they are not defined in trajectory file
// if animating a close loop procedure: assumes q_u and q_c are already updated.
user_DrivenJoints(s, s->tsim); user_DrivenJoints(s, s->tsim);
} }
else if (sk->trajectorytype == 2) { else if (sk->trajectorytype == 2 && sk->options->motion != closeloop) {
// Also compute independant joint // Also compute independant joint
err1 = mbs_lut_res_interp(sk->q, s->tsim, lutq); err1 = mbs_lut_res_interp(sk->q, s->tsim, lutq);
err2 = mbs_lut_res_interp(sk->qd, s->tsim, lutqd); err2 = mbs_lut_res_interp(sk->qd, s->tsim, lutqd);
...@@ -679,6 +680,7 @@ int mbs_fct_solvekin(MbsData *s, MbsSolvekin *sk) ...@@ -679,6 +680,7 @@ int mbs_fct_solvekin(MbsData *s, MbsSolvekin *sk)
else { else {
// We only do one iteration of N-R // We only do one iteration of N-R
err = mbs_step_close_geo(s, sk->mbs_aux); err = mbs_step_close_geo(s, sk->mbs_aux);
return err;
} }
// Kinematic resolution // Kinematic resolution
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment