casadi-algo.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2021 INRIA
3 //
4 
5 #ifndef __pinocchio_autodiff_code_generator_algo_hpp__
6 #define __pinocchio_autodiff_code_generator_algo_hpp__
7 
8 #include <casadi/core/casadi_types.hpp>
9 #include <casadi/core/code_generator.hpp>
10 
17 
18 namespace pinocchio
19 {
20  namespace casadi
21  {
22 
23  template<typename _Scalar>
25  {
26  typedef _Scalar Scalar;
27  typedef ::casadi::SX ADScalar;
28  typedef ::casadi::SXVector ADSVector;
29  typedef ::casadi::DM DMMatrix;
30  typedef ::casadi::DMVector DMVector;
31  enum
32  {
33  Options = 0
34  };
35 
40 
45 
46  typedef typename Data::MatrixXs MatrixXs;
47  typedef typename Data::VectorXs VectorXs;
48  typedef typename Data::RowMatrixXs RowMatrixXs;
49 
50  typedef ::casadi::Function ADFun;
51 
53  const Model & model,
54  const std::string & filename,
55  const std::string & libname,
56  const std::string & fun_name)
57  : ad_model(model.template cast<ADScalar>())
58  , ad_data(ad_model)
60  , libname(libname)
63  , build_forward(true)
64  , build_jacobian(true)
65  {
66  }
67 
69  {
70  }
71 
73  virtual void buildMap() = 0;
74 
75  void initLib()
76  {
77  buildMap();
78  // Generated code;
79  cg_generated.add(ad_fun);
80  fun_operation_count = ad_fun.n_instructions() - ad_fun.nnz_in() - ad_fun.nnz_out();
81  if (build_jacobian)
82  {
85  ad_fun_derivs.n_instructions() - ad_fun_derivs.nnz_in() - ad_fun_derivs.nnz_out();
86  }
87  cg_generated.generate();
88  }
89 
90  bool existLib() const
91  {
92  std::ifstream file((libname + ".so").c_str());
93  return file.good();
94  }
95 
96  void compileLib()
97  {
98  std::string compile_command =
99  "clang -fPIC -shared -Ofast -DNDEBUG " + filename + ".c -o " + libname + ".so";
100 
101 #ifdef __APPLE__
102  compile_command += " -isysroot "
103  "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/"
104  "Developer/SDKs/MacOSX.sdk";
105 #endif
106 
107  const int flag = system(compile_command.c_str());
108  if (flag != 0)
109  {
110  std::cerr << "Compilation failed" << std::endl; // TODO: raised here
111  }
112  }
113 
114  void loadLib(const bool generate_if_not_exist = true)
115  {
116  if (!existLib() && generate_if_not_exist)
117  compileLib();
118 
119  fun = ::casadi::external(fun_name, "./" + libname + ".so");
120  if (build_jacobian)
121  {
122  fun_derivs = ::casadi::external(fun_name + "_derivs", "./" + libname + ".so");
123  }
124  }
125 
126  casadi_int getFunOperationCount() const
127  {
128  return fun_operation_count;
129  }
130 
131  casadi_int getFunDerivsOperationCount() const
132  {
134  }
135 
136  protected:
139  std::string filename, libname, fun_name;
140  ::casadi::CodeGenerator cg_generated;
141 
146 
149  std::vector<DMMatrix> fun_output, fun_output_derivs;
151  };
152 
153  template<typename _Scalar>
154  struct AutoDiffABA : public AutoDiffAlgoBase<_Scalar>
155  {
157  typedef typename Base::Scalar Scalar;
158 
160  typedef typename Base::RowMatrixXs RowMatrixXs;
161  typedef typename Base::VectorXs VectorXs;
162  typedef typename Base::MatrixXs MatrixXs;
163 
164  typedef typename Base::ADFun ADFun;
165  typedef typename Base::DMVector DMVector;
166  typedef typename Base::DMMatrix DMMatrix;
167  typedef typename Base::ADScalar ADScalar;
168  typedef typename Base::ADSVector ADSVector;
171 
172  explicit AutoDiffABA(
173  const Model & model,
174  const std::string & filename = "casadi_aba",
175  const std::string & libname = "libcasadi_cg_aba",
176  const std::string & fun_name = "eval_f")
178  , ddq(model.nv)
179  , ddq_dq(model.nv, model.nv)
180  , ddq_dv(model.nv, model.nv)
181  , ddq_dtau(model.nv, model.nv)
182  , cs_q(ADScalar::sym("q", model.nq))
183  , cs_v(ADScalar::sym("v", model.nv))
184  , cs_tau(ADScalar::sym("tau", model.nv))
185  , cs_v_int(ADScalar::sym("v_inc", model.nv))
186  , cs_ddq(model.nv, 1)
187  , q_ad(model.nq)
188  , q_int_ad(model.nq)
189  , v_ad(model.nv)
190  , v_int_ad(model.nv)
191  , tau_ad(model.nv)
192  , q_vec((size_t)model.nq)
193  , v_vec((size_t)model.nv)
194  , v_int_vec((size_t)model.nv)
195  , tau_vec((size_t)model.nv)
196  {
197  q_ad = Eigen::Map<ADConfigVectorType>(
198  static_cast<std::vector<ADScalar>>(cs_q).data(), model.nq, 1);
199  v_int_ad = Eigen::Map<ADConfigVectorType>(
200  static_cast<std::vector<ADScalar>>(cs_v_int).data(), model.nv, 1);
201  v_ad = Eigen::Map<ADTangentVectorType>(
202  static_cast<std::vector<ADScalar>>(cs_v).data(), model.nv, 1);
203  tau_ad = Eigen::Map<ADTangentVectorType>(
204  static_cast<std::vector<ADScalar>>(cs_tau).data(), model.nv, 1);
205 
206  Eigen::Map<TangentVectorType>(v_int_vec.data(), model.nv, 1).setZero();
207  }
208 
209  virtual ~AutoDiffABA()
210  {
211  }
212 
213  virtual void buildMap()
214  {
215  // Integrate q + v_int = q_int
217  // Run ABA with new q_int
219  // Copy Output
221 
225 
227 
229  fun_name + "_derivs", ADSVector{cs_q, cs_v_int, cs_v, cs_tau},
231  }
232 
233  template<typename ConfigVectorType1, typename TangentVectorType1, typename TangentVectorType2>
235  const Eigen::MatrixBase<ConfigVectorType1> & q,
236  const Eigen::MatrixBase<TangentVectorType1> & v,
237  const Eigen::MatrixBase<TangentVectorType2> & tau)
238  {
239  Eigen::Map<ConfigVectorType1>(q_vec.data(), ad_model.nq, 1) = q;
240  Eigen::Map<TangentVectorType1>(v_vec.data(), ad_model.nv, 1) = v;
241  Eigen::Map<TangentVectorType2>(tau_vec.data(), ad_model.nv, 1) = tau;
243  ddq = Eigen::Map<TangentVectorType>(
244  static_cast<std::vector<Scalar>>(fun_output[0]).data(), ad_model.nv, 1);
245  }
246 
247  template<typename ConfigVectorType1, typename TangentVectorType1, typename TangentVectorType2>
249  const Eigen::MatrixBase<ConfigVectorType1> & q,
250  const Eigen::MatrixBase<TangentVectorType1> & v,
251  const Eigen::MatrixBase<TangentVectorType2> & tau)
252  {
253  Eigen::Map<ConfigVectorType1>(q_vec.data(), ad_model.nq, 1) = q;
254  Eigen::Map<TangentVectorType1>(v_vec.data(), ad_model.nv, 1) = v;
255  Eigen::Map<TangentVectorType2>(tau_vec.data(), ad_model.nv, 1) = tau;
257 
258  ddq_dq = Eigen::Map<MatrixXs>(
259  static_cast<std::vector<Scalar>>(fun_output_derivs[0]).data(), ad_model.nv, ad_model.nv);
260  ddq_dv = Eigen::Map<MatrixXs>(
261  static_cast<std::vector<Scalar>>(fun_output_derivs[1]).data(), ad_model.nv, ad_model.nv);
262  ddq_dtau = Eigen::Map<MatrixXs>(
263  static_cast<std::vector<Scalar>>(fun_output_derivs[2]).data(), ad_model.nv, ad_model.nv);
264  }
265 
268 
269  protected:
270  using Base::ad_data;
271  using Base::ad_model;
272  using Base::cg_generated;
273  using Base::filename;
274  using Base::fun_name;
275  using Base::libname;
276 
277  using Base::ad_fun;
278  using Base::ad_fun_derivs;
279  using Base::fun;
280  using Base::fun_derivs;
281  using Base::fun_output;
283 
285 
286  // Derivatives
288 
291 
292  std::vector<Scalar> q_vec, v_vec, v_int_vec, tau_vec;
293  };
294 
295  template<typename _Scalar>
296  struct AutoDiffABADerivatives : public AutoDiffAlgoBase<_Scalar>
297  {
298 
300  typedef typename Base::Scalar Scalar;
301 
303  typedef typename Base::RowMatrixXs RowMatrixXs;
304  typedef typename Base::VectorXs VectorXs;
305  typedef typename Base::MatrixXs MatrixXs;
306 
307  typedef typename Base::ADFun ADFun;
308  typedef typename Base::DMVector DMVector;
309  typedef typename Base::DMMatrix DMMatrix;
310  typedef typename Base::ADScalar ADScalar;
311  typedef typename Base::ADSVector ADSVector;
314 
316  const Model & model,
317  const std::string & filename = "casadi_abaDerivs",
318  const std::string & libname = "libcasadi_cg_abaDerivs",
319  const std::string & fun_name = "eval_f")
321  , cs_q(ADScalar::sym("q", model.nq))
322  , cs_v(ADScalar::sym("v", model.nv))
323  , cs_tau(ADScalar::sym("tau", model.nv))
324  , q_ad(model.nq)
325  , v_ad(model.nv)
326  , tau_ad(model.nv)
327  , cs_ddq(model.nv, 1)
328  , q_vec((size_t)model.nq)
329  , v_vec((size_t)model.nv)
330  , tau_vec((size_t)model.nv)
331  , ddq(model.nv)
332  , ddq_dq(model.nv, model.nv)
333  , ddq_dv(model.nv, model.nv)
334  , ddq_dtau(model.nv, model.nv)
335  {
336  q_ad = Eigen::Map<ADConfigVectorType>(
337  static_cast<std::vector<ADScalar>>(cs_q).data(), model.nq, 1);
338  v_ad = Eigen::Map<ADTangentVectorType>(
339  static_cast<std::vector<ADScalar>>(cs_v).data(), model.nv, 1);
340  tau_ad = Eigen::Map<ADTangentVectorType>(
341  static_cast<std::vector<ADScalar>>(cs_tau).data(), model.nv, 1);
342 
343  Base::build_jacobian = false;
344  }
345 
347  {
348  }
349 
350  virtual void buildMap()
351  {
352  // Run ABA with new q_int
354  // Copy Output
355  ad_data.Minv.template triangularView<Eigen::StrictlyLower>() =
356  ad_data.Minv.transpose().template triangularView<Eigen::StrictlyLower>();
361 
362  ad_fun = ADFun(
365  }
366 
367  template<typename ConfigVectorType1, typename TangentVectorType1, typename TangentVectorType2>
369  const Eigen::MatrixBase<ConfigVectorType1> & q,
370  const Eigen::MatrixBase<TangentVectorType1> & v,
371  const Eigen::MatrixBase<TangentVectorType2> & tau)
372  {
373  Eigen::Map<ConfigVectorType1>(q_vec.data(), ad_model.nq, 1) = q;
374  Eigen::Map<TangentVectorType1>(v_vec.data(), ad_model.nv, 1) = v;
375  Eigen::Map<TangentVectorType2>(tau_vec.data(), ad_model.nv, 1) = tau;
377 
378  ddq = Eigen::Map<TangentVectorType>(
379  static_cast<std::vector<Scalar>>(fun_output[0]).data(), ad_model.nv, 1);
380  ddq_dq = Eigen::Map<MatrixXs>(
381  static_cast<std::vector<Scalar>>(fun_output[1]).data(), ad_model.nv, ad_model.nv);
382  ddq_dv = Eigen::Map<MatrixXs>(
383  static_cast<std::vector<Scalar>>(fun_output[2]).data(), ad_model.nv, ad_model.nv);
384  ddq_dtau = Eigen::Map<MatrixXs>(
385  static_cast<std::vector<Scalar>>(fun_output[3]).data(), ad_model.nv, ad_model.nv);
386  }
387 
390 
391  protected:
392  using Base::ad_data;
393  using Base::ad_model;
394  using Base::cg_generated;
395  using Base::filename;
396  using Base::fun_name;
397  using Base::libname;
398 
399  using Base::ad_fun;
400  using Base::ad_fun_derivs;
401  using Base::fun;
402  using Base::fun_derivs;
403  using Base::fun_output;
405 
407  // Derivatives
409 
412  std::vector<Scalar> q_vec, v_vec, tau_vec;
413  };
414 
415  template<typename _Scalar>
417  {
419  typedef typename Base::Scalar Scalar;
420  typedef typename Base::ADScalar ADScalar;
421  typedef typename Base::ADSVector ADSVector;
422 
424  typedef typename Base::RowMatrixXs RowMatrixXs;
425  typedef typename Base::VectorXs VectorXs;
426  typedef typename Base::MatrixXs MatrixXs;
427 
428  typedef typename Base::ADFun ADFun;
429  typedef typename Base::DMVector DMVector;
430  typedef typename Base::DMMatrix DMMatrix;
433 
435  typedef Eigen::aligned_allocator<ConstraintModel> ConstraintModelAllocator;
436  typedef typename std::vector<ConstraintModel, ConstraintModelAllocator> ConstraintModelVector;
438  typedef Eigen::aligned_allocator<ConstraintData> ConstraintDataAllocator;
439  typedef typename std::vector<ConstraintData, ConstraintDataAllocator> ConstraintDataVector;
440 
443  typedef Eigen::aligned_allocator<ADConstraintModel> ADConstraintModelAllocator;
444  typedef typename std::vector<ADConstraintModel, ADConstraintModelAllocator>
447  typedef Eigen::aligned_allocator<ADConstraintData> ADConstraintDataAllocator;
448  typedef typename std::vector<ADConstraintData, ADConstraintDataAllocator>
450 
451  static Eigen::DenseIndex constraintDim(const ConstraintModelVector & contact_models)
452  {
453  Eigen::DenseIndex num_total_constraints = 0;
454  for (typename ConstraintModelVector::const_iterator it = contact_models.begin();
455  it != contact_models.end(); ++it)
456  {
458  it->size() > 0, "The dimension of the constraint must be positive");
459  num_total_constraints += it->size();
460  }
461  return num_total_constraints;
462  }
463 
465  const Model & model,
467  const std::string & filename = "casadi_contactDyn",
468  const std::string & libname = "libcasadi_cg_contactDyn",
469  const std::string & fun_name = "eval_f")
472  , cs_q(ADScalar::sym("q", model.nq))
473  , cs_v(ADScalar::sym("v", model.nv))
474  , cs_tau(ADScalar::sym("tau", model.nv))
475  , cs_v_int(ADScalar::sym("v_inc", model.nv))
476  , q_ad(model.nq)
477  , q_int_ad(model.nq)
478  , v_ad(model.nv)
479  , v_int_ad(model.nv)
480  , tau_ad(model.nv)
481  , cs_ddq(model.nv, 1)
482  , cs_lambda_c(model.nv, 1)
483  , q_vec((size_t)model.nq)
484  , v_vec((size_t)model.nv)
485  , v_int_vec((size_t)model.nv)
486  , tau_vec((size_t)model.nv)
487  , ddq(model.nv)
488  , ddq_dq(model.nv, model.nv)
489  , ddq_dv(model.nv, model.nv)
490  , ddq_dtau(model.nv, model.nv)
491  {
492  lambda_c.resize(nc);
493  lambda_c.setZero();
494  dlambda_dq.resize(nc, model.nv);
495  dlambda_dq.setZero();
496  dlambda_dv.resize(nc, model.nv);
497  dlambda_dv.setZero();
498  dlambda_dtau.resize(nc, model.nv);
499  dlambda_dtau.setZero();
500  q_ad = Eigen::Map<ADConfigVectorType>(
501  static_cast<std::vector<ADScalar>>(cs_q).data(), model.nq, 1);
502  v_int_ad = Eigen::Map<ADConfigVectorType>(
503  static_cast<std::vector<ADScalar>>(cs_v_int).data(), model.nv, 1);
504  v_ad = Eigen::Map<ADTangentVectorType>(
505  static_cast<std::vector<ADScalar>>(cs_v).data(), model.nv, 1);
506  tau_ad = Eigen::Map<ADTangentVectorType>(
507  static_cast<std::vector<ADScalar>>(cs_tau).data(), model.nv, 1);
508 
509  Eigen::Map<TangentVectorType>(v_int_vec.data(), model.nv, 1).setZero();
510 
511  for (int k = 0; k < contact_models.size(); ++k)
512  {
513  ad_contact_models.push_back(contact_models[k].template cast<ADScalar>());
515  }
516  }
517 
519  {
520  }
521 
522  virtual void buildMap()
523  {
525  // Integrate q + v_int = q_int
527  // Run contact dynamics with new q_int
530  // Copy Output
533 
537 
541 
542  ad_fun =
545  fun_name + "_derivs", ADSVector{cs_q, cs_v_int, cs_v, cs_tau},
547  }
548 
549  template<typename ConfigVectorType1, typename TangentVectorType1, typename TangentVectorType2>
551  const Eigen::MatrixBase<ConfigVectorType1> & q,
552  const Eigen::MatrixBase<TangentVectorType1> & v,
553  const Eigen::MatrixBase<TangentVectorType2> & tau)
554  {
555  Eigen::Map<ConfigVectorType1>(q_vec.data(), ad_model.nq, 1) = q;
556  Eigen::Map<TangentVectorType1>(v_vec.data(), ad_model.nv, 1) = v;
557  Eigen::Map<TangentVectorType2>(tau_vec.data(), ad_model.nv, 1) = tau;
559  ddq = Eigen::Map<TangentVectorType>(
560  static_cast<std::vector<Scalar>>(fun_output[0]).data(), ad_model.nv, 1);
561  lambda_c = Eigen::Map<TangentVectorType>(
562  static_cast<std::vector<Scalar>>(fun_output[1]).data(), nc, 1);
563  }
564 
565  template<typename ConfigVectorType1, typename TangentVectorType1, typename TangentVectorType2>
567  const Eigen::MatrixBase<ConfigVectorType1> & q,
568  const Eigen::MatrixBase<TangentVectorType1> & v,
569  const Eigen::MatrixBase<TangentVectorType2> & tau)
570  {
571  Eigen::Map<ConfigVectorType1>(q_vec.data(), ad_model.nq, 1) = q;
572  Eigen::Map<TangentVectorType1>(v_vec.data(), ad_model.nv, 1) = v;
573  Eigen::Map<TangentVectorType2>(tau_vec.data(), ad_model.nv, 1) = tau;
575  ddq_dq = Eigen::Map<MatrixXs>(
576  static_cast<std::vector<Scalar>>(fun_output_derivs[0]).data(), ad_model.nv, ad_model.nv);
577  ddq_dv = Eigen::Map<MatrixXs>(
578  static_cast<std::vector<Scalar>>(fun_output_derivs[1]).data(), ad_model.nv, ad_model.nv);
579  ddq_dtau = Eigen::Map<MatrixXs>(
580  static_cast<std::vector<Scalar>>(fun_output_derivs[2]).data(), ad_model.nv, ad_model.nv);
581  dlambda_dq = Eigen::Map<MatrixXs>(
582  static_cast<std::vector<Scalar>>(fun_output_derivs[3]).data(), nc, ad_model.nv);
583  dlambda_dv = Eigen::Map<MatrixXs>(
584  static_cast<std::vector<Scalar>>(fun_output_derivs[4]).data(), nc, ad_model.nv);
585  dlambda_dtau = Eigen::Map<MatrixXs>(
586  static_cast<std::vector<Scalar>>(fun_output_derivs[5]).data(), nc, ad_model.nv);
587  }
588 
592 
593  protected:
594  using Base::ad_data;
595  using Base::ad_model;
596  using Base::cg_generated;
597  using Base::filename;
598  using Base::fun_name;
599  using Base::libname;
600 
601  using Base::ad_fun;
602  using Base::ad_fun_derivs;
603  using Base::fun;
604  using Base::fun_derivs;
605  using Base::fun_output;
607 
610 
611  Eigen::DenseIndex nc;
613 
614  // Derivatives
616 
619 
620  std::vector<Scalar> q_vec, v_vec, v_int_vec, tau_vec;
621  };
622 
623  template<typename _Scalar>
625  {
627  typedef typename Base::Scalar Scalar;
628  typedef typename Base::ADScalar ADScalar;
629  typedef typename Base::ADSVector ADSVector;
630 
632  typedef typename Base::RowMatrixXs RowMatrixXs;
633  typedef typename Base::VectorXs VectorXs;
634  typedef typename Base::MatrixXs MatrixXs;
635 
636  typedef typename Base::ADFun ADFun;
637  typedef typename Base::DMVector DMVector;
638  typedef typename Base::DMMatrix DMMatrix;
641 
643  typedef Eigen::aligned_allocator<ConstraintModel> ConstraintModelAllocator;
644  typedef typename std::vector<ConstraintModel, ConstraintModelAllocator> ConstraintModelVector;
646  typedef Eigen::aligned_allocator<ConstraintData> ConstraintDataAllocator;
647  typedef typename std::vector<ConstraintData, ConstraintDataAllocator> ConstraintDataVector;
648 
651  typedef Eigen::aligned_allocator<ADConstraintModel> ADConstraintModelAllocator;
652  typedef typename std::vector<ADConstraintModel, ADConstraintModelAllocator>
655  typedef Eigen::aligned_allocator<ADConstraintData> ADConstraintDataAllocator;
656  typedef typename std::vector<ADConstraintData, ADConstraintDataAllocator>
658 
659  static Eigen::DenseIndex constraintDim(const ConstraintModelVector & contact_models)
660  {
661  Eigen::DenseIndex num_total_constraints = 0;
662  for (typename ConstraintModelVector::const_iterator it = contact_models.begin();
663  it != contact_models.end(); ++it)
664  {
666  it->size() > 0, "The dimension of the constraint must be positive");
667  num_total_constraints += it->size();
668  }
669  return num_total_constraints;
670  }
671 
673  const Model & model,
675  const std::string & filename = "casadi_contactDynDerivs",
676  const std::string & libname = "libcasadi_cg_contactDynDerivs",
677  const std::string & fun_name = "eval_f")
680  , cs_q(ADScalar::sym("q", model.nq))
681  , cs_v(ADScalar::sym("v", model.nv))
682  , cs_tau(ADScalar::sym("tau", model.nv))
683  , q_ad(model.nq)
684  , v_ad(model.nv)
685  , tau_ad(model.nv)
686  , cs_ddq(model.nv, 1)
687  , cs_lambda_c(model.nv, 1)
688  , q_vec((size_t)model.nq)
689  , v_vec((size_t)model.nv)
690  , tau_vec((size_t)model.nv)
691  , ddq(model.nv)
692  , ddq_dq(model.nv, model.nv)
693  , ddq_dv(model.nv, model.nv)
694  , ddq_dtau(model.nv, model.nv)
695  {
696  lambda_c.resize(nc);
697  lambda_c.setZero();
698  dlambda_dq.resize(nc, model.nv);
699  dlambda_dq.setZero();
700  dlambda_dv.resize(nc, model.nv);
701  dlambda_dv.setZero();
702  dlambda_dtau.resize(nc, model.nv);
703  dlambda_dtau.setZero();
704 
705  q_ad = Eigen::Map<ADConfigVectorType>(
706  static_cast<std::vector<ADScalar>>(cs_q).data(), model.nq, 1);
707  v_ad = Eigen::Map<ADTangentVectorType>(
708  static_cast<std::vector<ADScalar>>(cs_v).data(), model.nv, 1);
709  tau_ad = Eigen::Map<ADTangentVectorType>(
710  static_cast<std::vector<ADScalar>>(cs_tau).data(), model.nv, 1);
711 
712  for (int k = 0; k < contact_models.size(); ++k)
713  {
714  ad_contact_models.push_back(contact_models[k].template cast<ADScalar>());
716  }
717 
718  Base::build_jacobian = false;
719  }
720 
722  {
723  }
724 
725  virtual void buildMap()
726  {
732  // Copy Output
741 
742  ad_fun = ADFun(
744  ADSVector{
746  cs_lambda_dtau});
747  }
748 
749  template<typename ConfigVectorType1, typename TangentVectorType1, typename TangentVectorType2>
751  const Eigen::MatrixBase<ConfigVectorType1> & q,
752  const Eigen::MatrixBase<TangentVectorType1> & v,
753  const Eigen::MatrixBase<TangentVectorType2> & tau)
754  {
755  Eigen::Map<ConfigVectorType1>(q_vec.data(), ad_model.nq, 1) = q;
756  Eigen::Map<TangentVectorType1>(v_vec.data(), ad_model.nv, 1) = v;
757  Eigen::Map<TangentVectorType2>(tau_vec.data(), ad_model.nv, 1) = tau;
759  ddq = Eigen::Map<TangentVectorType>(
760  static_cast<std::vector<Scalar>>(fun_output[0]).data(), ad_model.nv, 1);
761  lambda_c = Eigen::Map<TangentVectorType>(
762  static_cast<std::vector<Scalar>>(fun_output[1]).data(), nc, 1);
763  ddq_dq = Eigen::Map<MatrixXs>(
764  static_cast<std::vector<Scalar>>(fun_output[2]).data(), ad_model.nv, ad_model.nv);
765  ddq_dv = Eigen::Map<MatrixXs>(
766  static_cast<std::vector<Scalar>>(fun_output[3]).data(), ad_model.nv, ad_model.nv);
767  ddq_dtau = Eigen::Map<MatrixXs>(
768  static_cast<std::vector<Scalar>>(fun_output[4]).data(), ad_model.nv, ad_model.nv);
769  dlambda_dq = Eigen::Map<MatrixXs>(
770  static_cast<std::vector<Scalar>>(fun_output[5]).data(), nc, ad_model.nv);
771  dlambda_dv = Eigen::Map<MatrixXs>(
772  static_cast<std::vector<Scalar>>(fun_output[6]).data(), nc, ad_model.nv);
773  dlambda_dtau = Eigen::Map<MatrixXs>(
774  static_cast<std::vector<Scalar>>(fun_output[7]).data(), nc, ad_model.nv);
775  }
776 
779 
780  protected:
781  using Base::ad_data;
782  using Base::ad_model;
783  using Base::cg_generated;
784  using Base::filename;
785  using Base::fun_name;
786  using Base::libname;
787 
788  using Base::ad_fun;
789  using Base::ad_fun_derivs;
790  using Base::fun;
791  using Base::fun_derivs;
792  using Base::fun_output;
796 
797  Eigen::DenseIndex nc;
799 
800  // Derivatives
802 
805 
806  std::vector<Scalar> q_vec, v_vec, tau_vec;
807  };
808 
809  } // namespace casadi
810 
811 } // namespace pinocchio
812 
813 #endif // ifndef __pinocchio_autodiff_code_generator_algo_hpp__
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ConstraintModelVector
std::vector< ConstraintModel, ConstraintModelAllocator > ConstraintModelVector
Definition: casadi-algo.hpp:644
pinocchio.casadi::AutoDiffABADerivatives::ADTangentVectorType
Base::ADTangentVectorType ADTangentVectorType
Definition: casadi-algo.hpp:313
pinocchio.casadi::AutoDiffABA::Base
AutoDiffAlgoBase< _Scalar > Base
Definition: casadi-algo.hpp:156
pinocchio.casadi::AutoDiffABADerivatives::tau_ad
ADTangentVectorType tau_ad
Definition: casadi-algo.hpp:411
pinocchio::DataTpl::MatrixXs
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > MatrixXs
Definition: multibody/data.hpp:74
pinocchio::DataTpl::ddq_dv
RowMatrixXs ddq_dv
Partial derivative of the joint acceleration vector with respect to the joint velocity.
Definition: multibody/data.hpp:398
pinocchio.casadi::AutoDiffABA::q_int_ad
ADConfigVectorType q_int_ad
Definition: casadi-algo.hpp:289
pinocchio::DataTpl::ddq
TangentVectorType ddq
The joint accelerations computed from ABA.
Definition: multibody/data.hpp:256
pinocchio.casadi::AutoDiffConstraintDynamics::q_vec
std::vector< Scalar > q_vec
Definition: casadi-algo.hpp:620
pinocchio.casadi::AutoDiffAlgoBase::Options
@ Options
Definition: casadi-algo.hpp:33
pinocchio.casadi::AutoDiffABADerivatives::ddq_dtau
RowMatrixXs ddq_dtau
Definition: casadi-algo.hpp:389
pinocchio.casadi::AutoDiffConstraintDynamics::dlambda_dv
RowMatrixXs dlambda_dv
Definition: casadi-algo.hpp:591
pinocchio.casadi::AutoDiffAlgoBase::filename
std::string filename
Definition: casadi-algo.hpp:139
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::evalFunction
void evalFunction(const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
Definition: casadi-algo.hpp:750
pinocchio.casadi::AutoDiffABADerivatives::MatrixXs
Base::MatrixXs MatrixXs
Definition: casadi-algo.hpp:305
pinocchio.casadi::AutoDiffABA::ADSVector
Base::ADSVector ADSVector
Definition: casadi-algo.hpp:168
pinocchio.casadi::AutoDiffConstraintDynamics::cs_ddq_dq
ADScalar cs_ddq_dq
Definition: casadi-algo.hpp:615
pinocchio.casadi::AutoDiffABADerivatives::q_ad
ADConfigVectorType q_ad
Definition: casadi-algo.hpp:410
pinocchio.casadi::AutoDiffAlgoBase::Scalar
_Scalar Scalar
Definition: casadi-algo.hpp:26
pinocchio.casadi::AutoDiffAlgoBase::build_jacobian
bool build_jacobian
Options to build or not the Jacobian of he function.
Definition: casadi-algo.hpp:145
pinocchio.casadi::AutoDiffABA::v_int_ad
ADTangentVectorType v_int_ad
Definition: casadi-algo.hpp:290
pinocchio.casadi::AutoDiffABADerivatives::RowMatrixXs
Base::RowMatrixXs RowMatrixXs
Definition: casadi-algo.hpp:303
pinocchio.casadi::AutoDiffABA::tau_vec
std::vector< Scalar > tau_vec
Definition: casadi-algo.hpp:292
pinocchio::DataTpl
Definition: context/generic.hpp:25
pinocchio.casadi::AutoDiffABA::ddq_dv
RowMatrixXs ddq_dv
Definition: casadi-algo.hpp:267
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::q_vec
std::vector< Scalar > q_vec
Definition: casadi-algo.hpp:806
pinocchio.casadi::AutoDiffConstraintDynamics::AutoDiffConstraintDynamics
AutoDiffConstraintDynamics(const Model &model, const ConstraintModelVector &contact_models, const std::string &filename="casadi_contactDyn", const std::string &libname="libcasadi_cg_contactDyn", const std::string &fun_name="eval_f")
Definition: casadi-algo.hpp:464
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_v
ADScalar cs_v
Definition: casadi-algo.hpp:798
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_lambda_dq
ADScalar cs_lambda_dq
Definition: casadi-algo.hpp:801
pinocchio.casadi::AutoDiffABADerivatives::cs_ddq
ADScalar cs_ddq
Definition: casadi-algo.hpp:406
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::lambda_c
TangentVectorType lambda_c
Definition: casadi-algo.hpp:777
PINOCCHIO_CHECK_INPUT_ARGUMENT
#define PINOCCHIO_CHECK_INPUT_ARGUMENT(...)
Macro to check an assert-like condition and throw a std::invalid_argument exception (with a message) ...
Definition: include/pinocchio/macros.hpp:192
pinocchio.casadi::AutoDiffABADerivatives::cs_ddq_dq
ADScalar cs_ddq_dq
Definition: casadi-algo.hpp:408
pinocchio.casadi::AutoDiffConstraintDynamics::TangentVectorType
Base::TangentVectorType TangentVectorType
Definition: casadi-algo.hpp:423
pinocchio.casadi::AutoDiffConstraintDynamics::ConstraintModelAllocator
Eigen::aligned_allocator< ConstraintModel > ConstraintModelAllocator
Definition: casadi-algo.hpp:435
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::DMVector
Base::DMVector DMVector
Definition: casadi-algo.hpp:637
pinocchio::computeConstraintDynamicsDerivatives
void computeConstraintDynamicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ConstraintModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, ConstraintDataAllocator > &contact_data, const ProximalSettingsTpl< Scalar > &settings, const Eigen::MatrixBase< MatrixType1 > &ddq_partial_dq, const Eigen::MatrixBase< MatrixType2 > &ddq_partial_dv, const Eigen::MatrixBase< MatrixType3 > &ddq_partial_dtau, const Eigen::MatrixBase< MatrixType4 > &lambda_partial_dq, const Eigen::MatrixBase< MatrixType5 > &lambda_partial_dv, const Eigen::MatrixBase< MatrixType6 > &lambda_partial_dtau)
pinocchio::DataTpl::RowMatrixXs
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor|Options > RowMatrixXs
Definition: multibody/data.hpp:99
pinocchio.casadi::AutoDiffConstraintDynamics::ADConstraintDataAllocator
Eigen::aligned_allocator< ADConstraintData > ADConstraintDataAllocator
Definition: casadi-algo.hpp:447
pinocchio::DataTpl::dlambda_dv
MatrixXs dlambda_dv
Definition: multibody/data.hpp:417
pinocchio.casadi::AutoDiffABADerivatives::buildMap
virtual void buildMap()
build the mapping Y = f(X)
Definition: casadi-algo.hpp:350
pinocchio.casadi::AutoDiffAlgoBase::build_forward
bool build_forward
Options to generate or not the source code for the evaluation function.
Definition: casadi-algo.hpp:143
pinocchio.casadi::AutoDiffAlgoBase::fun_output_derivs
std::vector< DMMatrix > fun_output_derivs
Definition: casadi-algo.hpp:149
pinocchio.casadi::AutoDiffConstraintDynamics::cs_lambda_dtau
ADScalar cs_lambda_dtau
Definition: casadi-algo.hpp:615
pinocchio.casadi::AutoDiffConstraintDynamics::buildMap
virtual void buildMap()
build the mapping Y = f(X)
Definition: casadi-algo.hpp:522
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADSVector
Base::ADSVector ADSVector
Definition: casadi-algo.hpp:629
pinocchio.casadi::AutoDiffAlgoBase::ADTangentVectorType
ADModel::TangentVectorType ADTangentVectorType
Definition: casadi-algo.hpp:44
pinocchio.casadi::AutoDiffABA::ADScalar
Base::ADScalar ADScalar
Definition: casadi-algo.hpp:167
pinocchio::nv
int nv(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointNvVisitor to get the dimension of the joint tangent space.
pinocchio.casadi::sym
void sym(const Eigen::MatrixBase< MatrixDerived > &eig_mat, std::string const &name)
Definition: autodiff/casadi.hpp:230
pinocchio.casadi::AutoDiffABA::cs_ddq_dv
ADScalar cs_ddq_dv
Definition: casadi-algo.hpp:287
pinocchio.casadi::AutoDiffAlgoBase::getFunOperationCount
casadi_int getFunOperationCount() const
Definition: casadi-algo.hpp:126
pinocchio::Convention::WORLD
@ WORLD
pinocchio::nq
int nq(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointNqVisitor to get the dimension of the joint configuration space.
pinocchio.casadi::AutoDiffABA::cs_q
ADScalar cs_q
Definition: casadi-algo.hpp:284
pinocchio.casadi::AutoDiffABA::cs_ddq_dq
ADScalar cs_ddq_dq
Definition: casadi-algo.hpp:287
pinocchio.casadi::AutoDiffConstraintDynamics::dlambda_dq
RowMatrixXs dlambda_dq
Definition: casadi-algo.hpp:591
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::MatrixXs
Base::MatrixXs MatrixXs
Definition: casadi-algo.hpp:634
pinocchio.casadi::AutoDiffABADerivatives::q_vec
std::vector< Scalar > q_vec
Definition: casadi-algo.hpp:412
pinocchio.casadi::AutoDiffABADerivatives
Definition: casadi-algo.hpp:296
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::buildMap
virtual void buildMap()
build the mapping Y = f(X)
Definition: casadi-algo.hpp:725
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio.casadi::AutoDiffABADerivatives::Base
AutoDiffAlgoBase< _Scalar > Base
Definition: casadi-algo.hpp:299
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_lambda_c
ADScalar cs_lambda_c
Definition: casadi-algo.hpp:798
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::q_ad
ADConfigVectorType q_ad
Definition: casadi-algo.hpp:803
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::Base
AutoDiffAlgoBase< _Scalar > Base
Definition: casadi-algo.hpp:626
pinocchio.casadi::AutoDiffABA::~AutoDiffABA
virtual ~AutoDiffABA()
Definition: casadi-algo.hpp:209
pinocchio.casadi::AutoDiffConstraintDynamics::nc
Eigen::DenseIndex nc
Definition: casadi-algo.hpp:611
pinocchio.casadi::AutoDiffConstraintDynamics::ConstraintDataAllocator
Eigen::aligned_allocator< ConstraintData > ConstraintDataAllocator
Definition: casadi-algo.hpp:438
pinocchio.casadi::AutoDiffConstraintDynamics::v_int_vec
std::vector< Scalar > v_int_vec
Definition: casadi-algo.hpp:620
pinocchio::DataTpl::lambda_c
VectorXs lambda_c
Lagrange Multipliers corresponding to the contact forces in pinocchio::forwardDynamics.
Definition: multibody/data.hpp:471
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ConstraintDataAllocator
Eigen::aligned_allocator< ConstraintData > ConstraintDataAllocator
Definition: casadi-algo.hpp:646
pinocchio.casadi::AutoDiffABADerivatives::evalFunction
void evalFunction(const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
Definition: casadi-algo.hpp:368
pinocchio.casadi::AutoDiffAlgoBase::libname
std::string libname
Definition: casadi-algo.hpp:139
pinocchio.casadi::AutoDiffConstraintDynamics::ADFun
Base::ADFun ADFun
Definition: casadi-algo.hpp:428
pinocchio.casadi::AutoDiffConstraintDynamics::lambda_c
VectorXs lambda_c
Definition: casadi-algo.hpp:590
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ConstraintModelAllocator
Eigen::aligned_allocator< ConstraintModel > ConstraintModelAllocator
Definition: casadi-algo.hpp:643
pinocchio.casadi::AutoDiffAlgoBase::ad_data
ADData ad_data
Definition: casadi-algo.hpp:138
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::v_ad
ADTangentVectorType v_ad
Definition: casadi-algo.hpp:804
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::v_vec
std::vector< Scalar > v_vec
Definition: casadi-algo.hpp:806
pinocchio.casadi::AutoDiffConstraintDynamics::ConstraintModel
pinocchio::RigidConstraintModelTpl< Scalar, Base::Options > ConstraintModel
Definition: casadi-algo.hpp:434
pinocchio::aba
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & aba(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau, const Convention convention=Convention::LOCAL)
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given t...
pinocchio.casadi::AutoDiffConstraintDynamics::cs_v_int
ADScalar cs_v_int
Definition: casadi-algo.hpp:612
pinocchio.casadi::AutoDiffABA::v_int_vec
std::vector< Scalar > v_int_vec
Definition: casadi-algo.hpp:292
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::AutoDiffConstraintDynamicsDerivatives
AutoDiffConstraintDynamicsDerivatives(const Model &model, const ConstraintModelVector &contact_models, const std::string &filename="casadi_contactDynDerivs", const std::string &libname="libcasadi_cg_contactDynDerivs", const std::string &fun_name="eval_f")
Definition: casadi-algo.hpp:672
pinocchio.casadi::AutoDiffAlgoBase::loadLib
void loadLib(const bool generate_if_not_exist=true)
Definition: casadi-algo.hpp:114
constrained-dynamics-derivatives.hpp
pinocchio.casadi::AutoDiffConstraintDynamics::ConstraintModelVector
std::vector< ConstraintModel, ConstraintModelAllocator > ConstraintModelVector
Definition: casadi-algo.hpp:436
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ConstraintModel
pinocchio::RigidConstraintModelTpl< Scalar, Base::Options > ConstraintModel
Definition: casadi-algo.hpp:642
pinocchio::cast
NewScalar cast(const Scalar &value)
Definition: utils/cast.hpp:13
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ddq_dtau
RowMatrixXs ddq_dtau
Definition: casadi-algo.hpp:778
pinocchio.casadi::AutoDiffABA::ddq_dq
RowMatrixXs ddq_dq
Definition: casadi-algo.hpp:267
pinocchio.casadi::AutoDiffConstraintDynamics::ConstraintDataVector
std::vector< ConstraintData, ConstraintDataAllocator > ConstraintDataVector
Definition: casadi-algo.hpp:439
aba-derivatives.hpp
pinocchio.casadi::AutoDiffAlgoBase::ad_fun_derivs
ADFun ad_fun_derivs
Definition: casadi-algo.hpp:147
pinocchio.casadi::AutoDiffAlgoBase::ad_model
ADModel ad_model
Definition: casadi-algo.hpp:137
pinocchio.casadi::AutoDiffConstraintDynamics::evalJacobian
void evalJacobian(const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
Definition: casadi-algo.hpp:566
aba.hpp
pinocchio.casadi::AutoDiffConstraintDynamics::constraintDim
static Eigen::DenseIndex constraintDim(const ConstraintModelVector &contact_models)
Definition: casadi-algo.hpp:451
pinocchio.casadi::AutoDiffConstraintDynamics::cs_tau
ADScalar cs_tau
Definition: casadi-algo.hpp:612
pinocchio.casadi::AutoDiffAlgoBase::existLib
bool existLib() const
Definition: casadi-algo.hpp:90
pinocchio.casadi::AutoDiffABA
Definition: casadi-algo.hpp:154
pinocchio.casadi::AutoDiffABA::tau_ad
ADTangentVectorType tau_ad
Definition: casadi-algo.hpp:290
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_q
ADScalar cs_q
Definition: casadi-algo.hpp:798
pinocchio.casadi::AutoDiffAlgoBase::ADFun
::casadi::Function ADFun
Definition: casadi-algo.hpp:50
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConstraintDataAllocator
Eigen::aligned_allocator< ADConstraintData > ADConstraintDataAllocator
Definition: casadi-algo.hpp:655
casadi
Definition: autodiff/casadi.hpp:39
pinocchio.casadi::AutoDiffAlgoBase::ConfigVectorType
Model::ConfigVectorType ConfigVectorType
Definition: casadi-algo.hpp:41
pinocchio.casadi::AutoDiffABADerivatives::ADScalar
Base::ADScalar ADScalar
Definition: casadi-algo.hpp:310
pinocchio.casadi::AutoDiffConstraintDynamics::RowMatrixXs
Base::RowMatrixXs RowMatrixXs
Definition: casadi-algo.hpp:424
pinocchio.casadi::AutoDiffAlgoBase::ADData
pinocchio::DataTpl< ADScalar, Options > ADData
Definition: casadi-algo.hpp:39
pinocchio.casadi::AutoDiffABADerivatives::ddq_dv
RowMatrixXs ddq_dv
Definition: casadi-algo.hpp:389
pinocchio::DataTpl::ddq_dtau
RowMatrixXs ddq_dtau
Partial derivative of the joint acceleration vector with respect to the joint torques.
Definition: multibody/data.hpp:402
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConfigVectorType
Base::ADConfigVectorType ADConfigVectorType
Definition: casadi-algo.hpp:639
pinocchio.casadi::AutoDiffAlgoBase::ADSVector
::casadi::SXVector ADSVector
Definition: casadi-algo.hpp:28
pinocchio.casadi::AutoDiffABADerivatives::AutoDiffABADerivatives
AutoDiffABADerivatives(const Model &model, const std::string &filename="casadi_abaDerivs", const std::string &libname="libcasadi_cg_abaDerivs", const std::string &fun_name="eval_f")
Definition: casadi-algo.hpp:315
pinocchio.casadi::AutoDiffConstraintDynamics
Definition: casadi-algo.hpp:416
forward-dynamics-derivatives.tau
tau
Definition: forward-dynamics-derivatives.py:25
pinocchio.casadi::AutoDiffAlgoBase::compileLib
void compileLib()
Definition: casadi-algo.hpp:96
pinocchio::DataTpl::VectorXs
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > VectorXs
Definition: multibody/data.hpp:75
pinocchio.casadi::AutoDiffConstraintDynamics::tau_vec
std::vector< Scalar > tau_vec
Definition: casadi-algo.hpp:620
pinocchio.casadi::AutoDiffConstraintDynamics::ADScalar
Base::ADScalar ADScalar
Definition: casadi-algo.hpp:420
joint-configuration.hpp
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::dlambda_dtau
RowMatrixXs dlambda_dtau
Definition: casadi-algo.hpp:778
pinocchio.casadi::AutoDiffConstraintDynamics::ad_contact_datas
ADConstraintDataVector ad_contact_datas
Definition: casadi-algo.hpp:609
pinocchio.casadi::AutoDiffConstraintDynamics::ADConstraintModelVector
std::vector< ADConstraintModel, ADConstraintModelAllocator > ADConstraintModelVector
Definition: casadi-algo.hpp:445
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::RowMatrixXs
Base::RowMatrixXs RowMatrixXs
Definition: casadi-algo.hpp:632
pinocchio.casadi::AutoDiffConstraintDynamics::cs_ddq
ADScalar cs_ddq
Definition: casadi-algo.hpp:612
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_ddq_dtau
ADScalar cs_ddq_dtau
Definition: casadi-algo.hpp:801
pinocchio.casadi::AutoDiffAlgoBase::VectorXs
Data::VectorXs VectorXs
Definition: casadi-algo.hpp:47
pinocchio::integrate
void integrate(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< ReturnType > &qout)
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
Definition: joint-configuration.hpp:70
pinocchio.casadi::AutoDiffConstraintDynamics::q_ad
ADConfigVectorType q_ad
Definition: casadi-algo.hpp:617
pinocchio.casadi::AutoDiffAlgoBase::ADConfigVectorType
ADModel::ConfigVectorType ADConfigVectorType
Definition: casadi-algo.hpp:43
pinocchio::RigidConstraintModelTpl
Definition: algorithm/constraints/fwd.hpp:14
pinocchio.casadi::AutoDiffConstraintDynamics::ADSVector
Base::ADSVector ADSVector
Definition: casadi-algo.hpp:421
pinocchio.casadi::AutoDiffConstraintDynamics::evalFunction
void evalFunction(const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
Definition: casadi-algo.hpp:550
pinocchio::ModelTpl::TangentVectorType
VectorXs TangentVectorType
Dense vectorized version of a joint tangent vector (e.g. velocity, acceleration, etc)....
Definition: multibody/model.hpp:95
pinocchio.casadi::AutoDiffAlgoBase::~AutoDiffAlgoBase
virtual ~AutoDiffAlgoBase()
Definition: casadi-algo.hpp:68
pinocchio.casadi::AutoDiffConstraintDynamics::ConstraintData
pinocchio::RigidConstraintDataTpl< Scalar, Base::Options > ConstraintData
Definition: casadi-algo.hpp:437
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::dlambda_dv
RowMatrixXs dlambda_dv
Definition: casadi-algo.hpp:778
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_ddq_dv
ADScalar cs_ddq_dv
Definition: casadi-algo.hpp:801
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::nc
Eigen::DenseIndex nc
Definition: casadi-algo.hpp:797
pinocchio.casadi::AutoDiffAlgoBase::cg_generated
::casadi::CodeGenerator cg_generated
Definition: casadi-algo.hpp:140
pinocchio.casadi::AutoDiffABADerivatives::cs_q
ADScalar cs_q
Definition: casadi-algo.hpp:406
pinocchio.casadi::AutoDiffAlgoBase::initLib
void initLib()
Definition: casadi-algo.hpp:75
pinocchio.casadi::AutoDiffABA::v_ad
ADTangentVectorType v_ad
Definition: casadi-algo.hpp:290
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ConstraintData
pinocchio::RigidConstraintDataTpl< Scalar, Base::Options > ConstraintData
Definition: casadi-algo.hpp:645
pinocchio::DataTpl::Minv
RowMatrixXs Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).
Definition: multibody/data.hpp:202
pinocchio.casadi::AutoDiffABADerivatives::ADConfigVectorType
Base::ADConfigVectorType ADConfigVectorType
Definition: casadi-algo.hpp:312
pinocchio.casadi::AutoDiffABADerivatives::ADSVector
Base::ADSVector ADSVector
Definition: casadi-algo.hpp:311
pinocchio::DataTpl::dlambda_dq
MatrixXs dlambda_dq
Partial derivatives of the constraints forces with respect to the joint configuration,...
Definition: multibody/data.hpp:416
pinocchio.casadi::AutoDiffAlgoBase::fun_operation_count
casadi_int fun_operation_count
Definition: casadi-algo.hpp:150
pinocchio::RigidConstraintDataTpl
Definition: algorithm/constraints/fwd.hpp:16
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::dlambda_dq
RowMatrixXs dlambda_dq
Definition: casadi-algo.hpp:778
pinocchio::initConstraintDynamics
void initConstraintDynamics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const std::vector< RigidConstraintModelTpl< Scalar, Options >, Allocator > &contact_models)
Init the forward dynamics data according to the contact information contained in contact_models.
pinocchio.casadi::AutoDiffConstraintDynamics::ADConstraintDataVector
std::vector< ADConstraintData, ADConstraintDataAllocator > ADConstraintDataVector
Definition: casadi-algo.hpp:449
pinocchio.casadi::AutoDiffABA::ddq_dtau
RowMatrixXs ddq_dtau
Definition: casadi-algo.hpp:267
pinocchio.casadi::AutoDiffConstraintDynamics::ADConstraintModelAllocator
Eigen::aligned_allocator< ADConstraintModel > ADConstraintModelAllocator
Definition: casadi-algo.hpp:443
pinocchio.casadi::AutoDiffABADerivatives::Scalar
Base::Scalar Scalar
Definition: casadi-algo.hpp:300
pinocchio.casadi::AutoDiffConstraintDynamics::cs_lambda_dq
ADScalar cs_lambda_dq
Definition: casadi-algo.hpp:615
pinocchio.casadi::AutoDiffAlgoBase
Definition: casadi-algo.hpp:24
pinocchio.casadi::AutoDiffConstraintDynamics::cs_v
ADScalar cs_v
Definition: casadi-algo.hpp:612
pinocchio.casadi::AutoDiffConstraintDynamics::ADConstraintData
pinocchio::RigidConstraintDataTpl< ADScalar, Base::Options > ADConstraintData
Definition: casadi-algo.hpp:446
pinocchio.casadi::AutoDiffAlgoBase::fun
ADFun fun
Definition: casadi-algo.hpp:148
pinocchio.casadi::AutoDiffABA::DMMatrix
Base::DMMatrix DMMatrix
Definition: casadi-algo.hpp:166
pinocchio.casadi::AutoDiffABADerivatives::~AutoDiffABADerivatives
virtual ~AutoDiffABADerivatives()
Definition: casadi-algo.hpp:346
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::VectorXs
Base::VectorXs VectorXs
Definition: casadi-algo.hpp:633
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConstraintModelAllocator
Eigen::aligned_allocator< ADConstraintModel > ADConstraintModelAllocator
Definition: casadi-algo.hpp:651
pinocchio.casadi::AutoDiffABADerivatives::cs_v
ADScalar cs_v
Definition: casadi-algo.hpp:406
pinocchio.casadi::AutoDiffAlgoBase::buildMap
virtual void buildMap()=0
build the mapping Y = f(X)
pinocchio.casadi::AutoDiffABADerivatives::tau_vec
std::vector< Scalar > tau_vec
Definition: casadi-algo.hpp:412
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_lambda_dv
ADScalar cs_lambda_dv
Definition: casadi-algo.hpp:801
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADTangentVectorType
Base::ADTangentVectorType ADTangentVectorType
Definition: casadi-algo.hpp:640
pinocchio.casadi::AutoDiffABADerivatives::v_ad
ADTangentVectorType v_ad
Definition: casadi-algo.hpp:411
pinocchio.casadi::AutoDiffAlgoBase::getFunDerivsOperationCount
casadi_int getFunDerivsOperationCount() const
Definition: casadi-algo.hpp:131
pinocchio.casadi::AutoDiffABA::q_ad
ADConfigVectorType q_ad
Definition: casadi-algo.hpp:289
pinocchio.casadi::AutoDiffConstraintDynamics::cs_lambda_dv
ADScalar cs_lambda_dv
Definition: casadi-algo.hpp:615
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::~AutoDiffConstraintDynamicsDerivatives
virtual ~AutoDiffConstraintDynamicsDerivatives()
Definition: casadi-algo.hpp:721
pinocchio.casadi::AutoDiffABA::AutoDiffABA
AutoDiffABA(const Model &model, const std::string &filename="casadi_aba", const std::string &libname="libcasadi_cg_aba", const std::string &fun_name="eval_f")
Definition: casadi-algo.hpp:172
pinocchio.casadi::AutoDiffConstraintDynamics::cs_ddq_dtau
ADScalar cs_ddq_dtau
Definition: casadi-algo.hpp:615
pinocchio.casadi::AutoDiffConstraintDynamics::Scalar
Base::Scalar Scalar
Definition: casadi-algo.hpp:419
pinocchio.casadi::AutoDiffABA::VectorXs
Base::VectorXs VectorXs
Definition: casadi-algo.hpp:161
pinocchio.casadi::AutoDiffConstraintDynamics::ddq_dtau
RowMatrixXs ddq_dtau
Definition: casadi-algo.hpp:591
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::Scalar
Base::Scalar Scalar
Definition: casadi-algo.hpp:627
pinocchio.casadi::AutoDiffABA::Scalar
Base::Scalar Scalar
Definition: casadi-algo.hpp:157
pinocchio.casadi::AutoDiffABADerivatives::cs_tau
ADScalar cs_tau
Definition: casadi-algo.hpp:406
inverse-kinematics-3d.it
int it
Definition: inverse-kinematics-3d.py:17
pinocchio::jacobian
void jacobian(const ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > &cmodel, ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &cdata, const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< JacobianMatrix > &jacobian_matrix)
Definition: constraint-model-visitor.hpp:199
pinocchio.casadi::AutoDiffConstraintDynamics::v_ad
ADTangentVectorType v_ad
Definition: casadi-algo.hpp:618
pinocchio.casadi::AutoDiffConstraintDynamics::ddq
TangentVectorType ddq
Definition: casadi-algo.hpp:589
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::DMMatrix
Base::DMMatrix DMMatrix
Definition: casadi-algo.hpp:638
pinocchio.casadi::AutoDiffABADerivatives::v_vec
std::vector< Scalar > v_vec
Definition: casadi-algo.hpp:412
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1083
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ddq_dq
RowMatrixXs ddq_dq
Definition: casadi-algo.hpp:778
pinocchio.casadi::AutoDiffConstraintDynamics::ad_contact_models
ADConstraintModelVector ad_contact_models
Definition: casadi-algo.hpp:608
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::tau_vec
std::vector< Scalar > tau_vec
Definition: casadi-algo.hpp:806
pinocchio.casadi::AutoDiffAlgoBase::TangentVectorType
Model::TangentVectorType TangentVectorType
Definition: casadi-algo.hpp:42
pinocchio.casadi::AutoDiffABA::ADConfigVectorType
Base::ADConfigVectorType ADConfigVectorType
Definition: casadi-algo.hpp:169
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1084
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_lambda_dtau
ADScalar cs_lambda_dtau
Definition: casadi-algo.hpp:801
pinocchio.casadi::AutoDiffABA::buildMap
virtual void buildMap()
build the mapping Y = f(X)
Definition: casadi-algo.hpp:213
pinocchio.casadi::AutoDiffABA::v_vec
std::vector< Scalar > v_vec
Definition: casadi-algo.hpp:292
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADScalar
Base::ADScalar ADScalar
Definition: casadi-algo.hpp:628
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ad_contact_models
ADConstraintModelVector ad_contact_models
Definition: casadi-algo.hpp:794
pinocchio.casadi::AutoDiffAlgoBase::fun_derivs
ADFun fun_derivs
Definition: casadi-algo.hpp:148
pinocchio.casadi::AutoDiffAlgoBase::Model
pinocchio::ModelTpl< Scalar, Options > Model
Definition: casadi-algo.hpp:36
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConstraintDataVector
std::vector< ADConstraintData, ADConstraintDataAllocator > ADConstraintDataVector
Definition: casadi-algo.hpp:657
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConstraintModel
pinocchio::RigidConstraintModelTpl< ADScalar, Base::Options > ADConstraintModel
Definition: casadi-algo.hpp:650
pinocchio::computeABADerivatives
void computeABADerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau, const Eigen::MatrixBase< MatrixType1 > &aba_partial_dq, const Eigen::MatrixBase< MatrixType2 > &aba_partial_dv, const Eigen::MatrixBase< MatrixType3 > &aba_partial_dtau)
The derivatives of the Articulated-Body algorithm.
pinocchio.casadi::AutoDiffABA::RowMatrixXs
Base::RowMatrixXs RowMatrixXs
Definition: casadi-algo.hpp:160
pinocchio.casadi::AutoDiffABA::ADTangentVectorType
Base::ADTangentVectorType ADTangentVectorType
Definition: casadi-algo.hpp:170
pinocchio.casadi::AutoDiffConstraintDynamics::VectorXs
Base::VectorXs VectorXs
Definition: casadi-algo.hpp:425
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_ddq_dq
ADScalar cs_ddq_dq
Definition: casadi-algo.hpp:801
pinocchio.casadi::AutoDiffAlgoBase::DMMatrix
::casadi::DM DMMatrix
Definition: casadi-algo.hpp:29
pinocchio::DataTpl::ddq_dq
RowMatrixXs ddq_dq
Partial derivative of the joint acceleration vector with respect to the joint configuration.
Definition: multibody/data.hpp:394
pinocchio.casadi::copy
void copy(::casadi::Matrix< Scalar > const &src, Eigen::MatrixBase< MT > &dst)
Definition: autodiff/casadi.hpp:154
pinocchio.casadi::AutoDiffAlgoBase::fun_derivs_operation_count
casadi_int fun_derivs_operation_count
Definition: casadi-algo.hpp:150
pinocchio.casadi::AutoDiffABADerivatives::cs_ddq_dtau
ADScalar cs_ddq_dtau
Definition: casadi-algo.hpp:408
pinocchio.casadi::AutoDiffAlgoBase::ADScalar
::casadi::SX ADScalar
Definition: casadi-algo.hpp:27
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ddq_dv
RowMatrixXs ddq_dv
Definition: casadi-algo.hpp:778
pinocchio.casadi::AutoDiffABADerivatives::cs_ddq_dv
ADScalar cs_ddq_dv
Definition: casadi-algo.hpp:408
pinocchio.casadi::AutoDiffABA::ADFun
Base::ADFun ADFun
Definition: casadi-algo.hpp:164
pinocchio.casadi::AutoDiffConstraintDynamics::dlambda_dtau
RowMatrixXs dlambda_dtau
Definition: casadi-algo.hpp:591
pinocchio.casadi::AutoDiffABADerivatives::DMVector
Base::DMVector DMVector
Definition: casadi-algo.hpp:308
pinocchio.casadi::AutoDiffConstraintDynamics::v_int_ad
ADTangentVectorType v_int_ad
Definition: casadi-algo.hpp:618
pinocchio.casadi::AutoDiffAlgoBase::ad_fun
ADFun ad_fun
Definition: casadi-algo.hpp:147
pinocchio.casadi::AutoDiffConstraintDynamics::cs_ddq_dv
ADScalar cs_ddq_dv
Definition: casadi-algo.hpp:615
pinocchio.casadi::AutoDiffABA::evalJacobian
void evalJacobian(const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
Definition: casadi-algo.hpp:248
pinocchio::ModelTpl::nv
int nv
Dimension of the velocity vector space.
Definition: multibody/model.hpp:101
pinocchio.casadi::AutoDiffABADerivatives::DMMatrix
Base::DMMatrix DMMatrix
Definition: casadi-algo.hpp:309
pinocchio.casadi::AutoDiffConstraintDynamics::Base
AutoDiffAlgoBase< _Scalar > Base
Definition: casadi-algo.hpp:418
pinocchio.casadi::AutoDiffABA::cs_tau
ADScalar cs_tau
Definition: casadi-algo.hpp:284
pinocchio.casadi::AutoDiffABADerivatives::ADFun
Base::ADFun ADFun
Definition: casadi-algo.hpp:307
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives
Definition: casadi-algo.hpp:624
pinocchio.casadi::AutoDiffABA::cs_v
ADScalar cs_v
Definition: casadi-algo.hpp:284
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::constraintDim
static Eigen::DenseIndex constraintDim(const ConstraintModelVector &contact_models)
Definition: casadi-algo.hpp:659
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ddq
TangentVectorType ddq
Definition: casadi-algo.hpp:777
pinocchio.casadi::AutoDiffAlgoBase::fun_output
std::vector< DMMatrix > fun_output
Definition: casadi-algo.hpp:149
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_tau
ADScalar cs_tau
Definition: casadi-algo.hpp:798
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConstraintModelVector
std::vector< ADConstraintModel, ADConstraintModelAllocator > ADConstraintModelVector
Definition: casadi-algo.hpp:653
pinocchio.casadi::AutoDiffAlgoBase::ADModel
pinocchio::ModelTpl< ADScalar, Options > ADModel
Definition: casadi-algo.hpp:38
pinocchio.casadi::AutoDiffConstraintDynamics::tau_ad
ADTangentVectorType tau_ad
Definition: casadi-algo.hpp:618
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ConstraintDataVector
std::vector< ConstraintData, ConstraintDataAllocator > ConstraintDataVector
Definition: casadi-algo.hpp:647
pinocchio.casadi::AutoDiffAlgoBase::MatrixXs
Data::MatrixXs MatrixXs
Definition: casadi-algo.hpp:46
pinocchio::DataTpl::dlambda_dtau
MatrixXs dlambda_dtau
Definition: multibody/data.hpp:418
pinocchio.casadi::AutoDiffConstraintDynamics::v_vec
std::vector< Scalar > v_vec
Definition: casadi-algo.hpp:620
casadi.hpp
pinocchio.casadi::AutoDiffConstraintDynamics::DMVector
Base::DMVector DMVector
Definition: casadi-algo.hpp:429
pinocchio.casadi::AutoDiffABA::q_vec
std::vector< Scalar > q_vec
Definition: casadi-algo.hpp:292
pinocchio.casadi::AutoDiffConstraintDynamics::q_int_ad
ADConfigVectorType q_int_ad
Definition: casadi-algo.hpp:617
pinocchio.casadi::AutoDiffABA::MatrixXs
Base::MatrixXs MatrixXs
Definition: casadi-algo.hpp:162
pinocchio.casadi::AutoDiffConstraintDynamics::ddq_dv
RowMatrixXs ddq_dv
Definition: casadi-algo.hpp:591
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADConstraintData
pinocchio::RigidConstraintDataTpl< ADScalar, Base::Options > ADConstraintData
Definition: casadi-algo.hpp:654
pinocchio.casadi::AutoDiffConstraintDynamics::MatrixXs
Base::MatrixXs MatrixXs
Definition: casadi-algo.hpp:426
contact-cholesky.contact_models
list contact_models
Definition: contact-cholesky.py:22
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ADFun
Base::ADFun ADFun
Definition: casadi-algo.hpp:636
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::TangentVectorType
Base::TangentVectorType TangentVectorType
Definition: casadi-algo.hpp:631
pinocchio::ModelTpl::ConfigVectorType
VectorXs ConfigVectorType
Dense vectorized version of a joint configuration vector.
Definition: multibody/model.hpp:87
pinocchio.casadi::AutoDiffConstraintDynamics::DMMatrix
Base::DMMatrix DMMatrix
Definition: casadi-algo.hpp:430
pinocchio.casadi::AutoDiffConstraintDynamics::ddq_dq
RowMatrixXs ddq_dq
Definition: casadi-algo.hpp:591
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::tau_ad
ADTangentVectorType tau_ad
Definition: casadi-algo.hpp:804
pinocchio.casadi::AutoDiffConstraintDynamics::ADTangentVectorType
Base::ADTangentVectorType ADTangentVectorType
Definition: casadi-algo.hpp:432
pinocchio.casadi::AutoDiffConstraintDynamics::ADConstraintModel
pinocchio::RigidConstraintModelTpl< ADScalar, Base::Options > ADConstraintModel
Definition: casadi-algo.hpp:442
pinocchio.casadi::AutoDiffAlgoBase::Data
pinocchio::DataTpl< Scalar, Options > Data
Definition: casadi-algo.hpp:37
pinocchio.casadi::AutoDiffABADerivatives::TangentVectorType
Base::TangentVectorType TangentVectorType
Definition: casadi-algo.hpp:302
pinocchio::ModelTpl
Definition: context/generic.hpp:20
pinocchio.casadi::AutoDiffAlgoBase::DMVector
::casadi::DMVector DMVector
Definition: casadi-algo.hpp:30
constrained-dynamics.hpp
pinocchio.casadi::AutoDiffABA::DMVector
Base::DMVector DMVector
Definition: casadi-algo.hpp:165
pinocchio.casadi::AutoDiffAlgoBase::RowMatrixXs
Data::RowMatrixXs RowMatrixXs
Definition: casadi-algo.hpp:48
pinocchio::constraintDynamics
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & constraintDynamics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ConstraintModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, ConstraintDataAllocator > &contact_datas, ProximalSettingsTpl< Scalar > &settings)
Computes the forward dynamics with contact constraints according to a given list of contact informati...
pinocchio.casadi::AutoDiffABADerivatives::ddq
TangentVectorType ddq
Definition: casadi-algo.hpp:388
pinocchio.casadi::AutoDiffABADerivatives::ddq_dq
RowMatrixXs ddq_dq
Definition: casadi-algo.hpp:389
pinocchio.casadi::AutoDiffABA::evalFunction
void evalFunction(const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
Definition: casadi-algo.hpp:234
pinocchio.casadi::AutoDiffAlgoBase::AutoDiffAlgoBase
AutoDiffAlgoBase(const Model &model, const std::string &filename, const std::string &libname, const std::string &fun_name)
Definition: casadi-algo.hpp:52
pinocchio.casadi::AutoDiffConstraintDynamics::ADConfigVectorType
Base::ADConfigVectorType ADConfigVectorType
Definition: casadi-algo.hpp:431
pinocchio.casadi::AutoDiffABA::ddq
TangentVectorType ddq
Definition: casadi-algo.hpp:266
pinocchio.casadi::AutoDiffABA::cs_ddq
ADScalar cs_ddq
Definition: casadi-algo.hpp:284
pinocchio.casadi::AutoDiffConstraintDynamics::cs_q
ADScalar cs_q
Definition: casadi-algo.hpp:612
pinocchio::ModelTpl::nq
int nq
Dimension of the configuration vector representation.
Definition: multibody/model.hpp:98
pinocchio.casadi::AutoDiffABA::TangentVectorType
Base::TangentVectorType TangentVectorType
Definition: casadi-algo.hpp:159
pinocchio.casadi::AutoDiffConstraintDynamics::cs_lambda_c
ADScalar cs_lambda_c
Definition: casadi-algo.hpp:612
pinocchio.casadi::AutoDiffABADerivatives::VectorXs
Base::VectorXs VectorXs
Definition: casadi-algo.hpp:304
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:1082
pinocchio.casadi::AutoDiffABA::cs_ddq_dtau
ADScalar cs_ddq_dtau
Definition: casadi-algo.hpp:287
pinocchio.casadi::AutoDiffAlgoBase::fun_name
std::string fun_name
Definition: casadi-algo.hpp:139
pinocchio.casadi::AutoDiffABA::cs_v_int
ADScalar cs_v_int
Definition: casadi-algo.hpp:284
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::cs_ddq
ADScalar cs_ddq
Definition: casadi-algo.hpp:798
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio.casadi::AutoDiffConstraintDynamicsDerivatives::ad_contact_datas
ADConstraintDataVector ad_contact_datas
Definition: casadi-algo.hpp:795
pinocchio.casadi::AutoDiffConstraintDynamics::~AutoDiffConstraintDynamics
virtual ~AutoDiffConstraintDynamics()
Definition: casadi-algo.hpp:518


pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:06