libcrocoddyl 3.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. libcrocoddyl-3.1.0/.git-blame-ignore-revs +3 -0
  2. libcrocoddyl-3.1.0/.github/ISSUE_TEMPLATE/bug_report.md +53 -0
  3. libcrocoddyl-3.1.0/.github/ISSUE_TEMPLATE/feature-request.md +20 -0
  4. libcrocoddyl-3.1.0/.github/dependabot.yml +7 -0
  5. libcrocoddyl-3.1.0/.github/workflows/changelog.yaml +16 -0
  6. libcrocoddyl-3.1.0/.github/workflows/conda/conda-env.yml +24 -0
  7. libcrocoddyl-3.1.0/.github/workflows/conda-ci.yml +135 -0
  8. libcrocoddyl-3.1.0/.github/workflows/macos-linux-pip.yml +32 -0
  9. libcrocoddyl-3.1.0/.github/workflows/nix-ci.yml +32 -0
  10. libcrocoddyl-3.1.0/.github/workflows/release.yml +158 -0
  11. libcrocoddyl-3.1.0/.github/workflows/ros2-ci.yaml +71 -0
  12. libcrocoddyl-3.1.0/.github/workflows/update-flake-lock.yml +20 -0
  13. libcrocoddyl-3.1.0/.gitignore +17 -0
  14. libcrocoddyl-3.1.0/.gitlab-ci.yml +1 -0
  15. libcrocoddyl-3.1.0/.mergify.yml +14 -0
  16. libcrocoddyl-3.1.0/.pre-commit-config.yaml +44 -0
  17. libcrocoddyl-3.1.0/.yapfignore +1 -0
  18. libcrocoddyl-3.1.0/CHANGELOG.md +364 -0
  19. libcrocoddyl-3.1.0/CMakeLists.txt +358 -0
  20. libcrocoddyl-3.1.0/CONTRIBUTING.md +63 -0
  21. libcrocoddyl-3.1.0/LICENSE +31 -0
  22. libcrocoddyl-3.1.0/PKG-INFO +252 -0
  23. libcrocoddyl-3.1.0/PUBLICATIONS.md +67 -0
  24. libcrocoddyl-3.1.0/README.md +234 -0
  25. libcrocoddyl-3.1.0/benchmark/CMakeLists.txt +45 -0
  26. libcrocoddyl-3.1.0/benchmark/all_robots.cpp +574 -0
  27. libcrocoddyl-3.1.0/benchmark/arm_manipulation_optctrl.cpp +104 -0
  28. libcrocoddyl-3.1.0/benchmark/arm_manipulation_optctrl.py +126 -0
  29. libcrocoddyl-3.1.0/benchmark/arm_manipulation_timings.cpp +529 -0
  30. libcrocoddyl-3.1.0/benchmark/bipedal_timings.cpp +554 -0
  31. libcrocoddyl-3.1.0/benchmark/bipedal_walk_optctrl.py +109 -0
  32. libcrocoddyl-3.1.0/benchmark/boxqp.cpp +67 -0
  33. libcrocoddyl-3.1.0/benchmark/factory/arm-kinova.hpp +115 -0
  34. libcrocoddyl-3.1.0/benchmark/factory/arm.hpp +111 -0
  35. libcrocoddyl-3.1.0/benchmark/factory/legged-robots.hpp +174 -0
  36. libcrocoddyl-3.1.0/benchmark/factory/robot-ee-names.hpp +37 -0
  37. libcrocoddyl-3.1.0/benchmark/lqr_optctrl.cpp +90 -0
  38. libcrocoddyl-3.1.0/benchmark/lqr_optctrl.py +80 -0
  39. libcrocoddyl-3.1.0/benchmark/quadrupedal_gaits_optctrl.cpp +103 -0
  40. libcrocoddyl-3.1.0/benchmark/quadrupedal_gaits_optctrl.py +209 -0
  41. libcrocoddyl-3.1.0/benchmark/read_csv.py +80 -0
  42. libcrocoddyl-3.1.0/benchmark/unicycle_optctrl.cpp +86 -0
  43. libcrocoddyl-3.1.0/benchmark/unicycle_optctrl.py +78 -0
  44. libcrocoddyl-3.1.0/bindings/CMakeLists.txt +6 -0
  45. libcrocoddyl-3.1.0/bindings/python/crocoddyl/CMakeLists.txt +112 -0
  46. libcrocoddyl-3.1.0/bindings/python/crocoddyl/__init__.py +1120 -0
  47. libcrocoddyl-3.1.0/bindings/python/crocoddyl/__init__.py.in +2 -0
  48. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/action-base.cpp.in +297 -0
  49. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/action-base.hpp +183 -0
  50. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actions/diff-lqr.cpp.in +322 -0
  51. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actions/lqr.cpp.in +309 -0
  52. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actions/unicycle.cpp.in +125 -0
  53. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activation-base.cpp.in +96 -0
  54. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activation-base.hpp +80 -0
  55. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/2norm-barrier.cpp.in +70 -0
  56. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/quadratic-barrier.cpp.in +112 -0
  57. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/quadratic-flat-exp.cpp.in +66 -0
  58. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/quadratic-flat-log.cpp.in +66 -0
  59. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/quadratic.cpp.in +64 -0
  60. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/smooth-1norm.cpp.in +91 -0
  61. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/smooth-2norm.cpp.in +64 -0
  62. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/weighted-quadratic-barrier.cpp.in +81 -0
  63. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/activations/weighted-quadratic.cpp.in +69 -0
  64. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actuation/actuation-squashing.cpp.in +134 -0
  65. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actuation/squashing/smooth-sat.cpp.in +65 -0
  66. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actuation/squashing-base.cpp.in +112 -0
  67. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actuation/squashing-base.hpp +60 -0
  68. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actuation-base.cpp.in +186 -0
  69. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/actuation-base.hpp +142 -0
  70. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/codegen/action.cpp.in +249 -0
  71. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/constraint-base.cpp.in +234 -0
  72. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/constraint-base.hpp +145 -0
  73. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/constraints/constraint-manager.cpp.in +341 -0
  74. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/constraints/residual.cpp.in +141 -0
  75. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/control-base.cpp.in +155 -0
  76. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/control-base.hpp +179 -0
  77. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/controls/poly-one.cpp.in +145 -0
  78. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/controls/poly-two-rk.cpp.in +150 -0
  79. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/controls/poly-zero.cpp.in +119 -0
  80. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/core.cpp +82 -0
  81. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/core.hpp +87 -0
  82. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/cost-base.cpp.in +262 -0
  83. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/cost-base.hpp +157 -0
  84. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/costs/cost-sum.cpp.in +299 -0
  85. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/costs/residual.cpp.in +131 -0
  86. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/data/actuation.cpp.in +49 -0
  87. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/data/joint.cpp.in +123 -0
  88. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/data-collector-base.cpp.in +30 -0
  89. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/diff-action-base.cpp.in +266 -0
  90. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/diff-action-base.hpp +152 -0
  91. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/integ-action-base.cpp.in +148 -0
  92. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/integ-action-base.hpp +125 -0
  93. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/integrator/euler.cpp.in +161 -0
  94. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/integrator/rk.cpp.in +253 -0
  95. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/numdiff/action.cpp.in +157 -0
  96. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/numdiff/activation.cpp.in +120 -0
  97. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/numdiff/diff-action.cpp.in +161 -0
  98. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/numdiff/state.cpp.in +125 -0
  99. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/optctrl/shooting.cpp.in +164 -0
  100. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/residual-base.cpp.in +199 -0
  101. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/residual-base.hpp +162 -0
  102. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/residuals/control.cpp.in +110 -0
  103. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/residuals/joint-acceleration.cpp.in +121 -0
  104. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/residuals/joint-effort.cpp.in +132 -0
  105. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solver-base.cpp.in +284 -0
  106. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solver-base.hpp +106 -0
  107. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/box-ddp.cpp.in +44 -0
  108. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/box-fddp.cpp.in +43 -0
  109. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/box-qp.cpp.in +119 -0
  110. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/ddp.cpp.in +258 -0
  111. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/fddp.cpp.in +85 -0
  112. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/intro.cpp.in +163 -0
  113. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/ipopt.cpp.in +66 -0
  114. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/solvers/kkt.cpp.in +131 -0
  115. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/state-base.cpp.in +162 -0
  116. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/state-base.hpp +324 -0
  117. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/states/euclidean.cpp.in +120 -0
  118. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/utils/callbacks.cpp.in +50 -0
  119. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/utils/exception.cpp.in +31 -0
  120. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/utils/exception.hpp +45 -0
  121. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/utils/stop-watch.cpp.in +78 -0
  122. libcrocoddyl-3.1.0/bindings/python/crocoddyl/core/utils/stop-watch.hpp +32 -0
  123. libcrocoddyl-3.1.0/bindings/python/crocoddyl/crocoddyl.cpp.in +88 -0
  124. libcrocoddyl-3.1.0/bindings/python/crocoddyl/crocoddyl.launch +13 -0
  125. libcrocoddyl-3.1.0/bindings/python/crocoddyl/crocoddyl.rviz +272 -0
  126. libcrocoddyl-3.1.0/bindings/python/crocoddyl/deprecated.py +51 -0
  127. libcrocoddyl-3.1.0/bindings/python/crocoddyl/fwd.hpp +34 -0
  128. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actions/contact-fwddyn.cpp.in +231 -0
  129. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actions/contact-invdyn.cpp.in +348 -0
  130. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actions/free-fwddyn.cpp.in +180 -0
  131. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actions/free-invdyn.cpp.in +246 -0
  132. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actions/impulse-fwddyn.cpp.in +228 -0
  133. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actuations/floating-base-propellers.cpp.in +165 -0
  134. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actuations/floating-base.cpp.in +90 -0
  135. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/actuations/full.cpp.in +83 -0
  136. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contact-base.cpp.in +154 -0
  137. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contact-base.hpp +96 -0
  138. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contacts/contact-1d.cpp.in +212 -0
  139. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contacts/contact-2d.cpp.in +176 -0
  140. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contacts/contact-3d.cpp.in +197 -0
  141. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contacts/contact-6d.cpp.in +177 -0
  142. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/contacts/multiple-contacts.cpp.in +261 -0
  143. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/cop-support.cpp.in +79 -0
  144. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/data/contacts.cpp.in +115 -0
  145. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/data/impulses.cpp.in +68 -0
  146. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/data/multibody.cpp.in +88 -0
  147. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/force-base.cpp.in +89 -0
  148. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/friction-cone.cpp.in +125 -0
  149. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/impulse-base.cpp.in +150 -0
  150. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/impulse-base.hpp +98 -0
  151. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/impulses/impulse-3d.cpp.in +131 -0
  152. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/impulses/impulse-6d.cpp.in +128 -0
  153. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/impulses/multiple-impulses.cpp.in +235 -0
  154. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/multibody.cpp.in +65 -0
  155. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/multibody.hpp +76 -0
  156. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/centroidal-momentum.cpp.in +148 -0
  157. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/com-position.cpp.in +138 -0
  158. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/contact-control-gravity.cpp.in +138 -0
  159. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/contact-cop-position.cpp.in +158 -0
  160. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/contact-force.cpp.in +157 -0
  161. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/contact-friction-cone.cpp.in +152 -0
  162. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/contact-wrench-cone.cpp.in +149 -0
  163. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/control-gravity.cpp.in +133 -0
  164. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/frame-placement.cpp.in +158 -0
  165. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/frame-rotation.cpp.in +159 -0
  166. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/frame-translation.cpp.in +149 -0
  167. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/frame-velocity.cpp.in +148 -0
  168. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/impulse-com.cpp.in +141 -0
  169. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/pair-collision.cpp.in +143 -0
  170. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/residuals/state.cpp.in +119 -0
  171. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/states/multibody.cpp.in +142 -0
  172. libcrocoddyl-3.1.0/bindings/python/crocoddyl/multibody/wrench-cone.cpp.in +127 -0
  173. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/__init__.py +0 -0
  174. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/biped.py +707 -0
  175. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/cast.hpp +94 -0
  176. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/copyable.hpp +40 -0
  177. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/deprecate.hpp +39 -0
  178. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/map-converter.hpp +147 -0
  179. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/namespace.hpp +49 -0
  180. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/pendulum.py +85 -0
  181. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/printable.hpp +34 -0
  182. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/quadruped.py +1098 -0
  183. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/scalar.hpp +32 -0
  184. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/set-converter.hpp +150 -0
  185. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/set_indexing_suite.hpp +170 -0
  186. libcrocoddyl-3.1.0/bindings/python/crocoddyl/utils/vector-converter.hpp +22 -0
  187. libcrocoddyl-3.1.0/crocoddyl.cmake +65 -0
  188. libcrocoddyl-3.1.0/dependencies.rosinstall +4 -0
  189. libcrocoddyl-3.1.0/doc/Doxyfile.extra.in +2638 -0
  190. libcrocoddyl-3.1.0/doc/Overview.md +128 -0
  191. libcrocoddyl-3.1.0/doc/bib/budhiraja-ichr18.bib +6 -0
  192. libcrocoddyl-3.1.0/doc/bib/carpentier-rss18.bib +6 -0
  193. libcrocoddyl-3.1.0/doc/bib/mastalli-icra20.bib +6 -0
  194. libcrocoddyl-3.1.0/doc/bib/tassa-icra14.bib +7 -0
  195. libcrocoddyl-3.1.0/doc/customdoxygen.css +19 -0
  196. libcrocoddyl-3.1.0/doc/header.html +56 -0
  197. libcrocoddyl-3.1.0/doc/images/crocoddyl_logo.png +0 -0
  198. libcrocoddyl-3.1.0/doc/images/crocoddyl_logo.svg +296 -0
  199. libcrocoddyl-3.1.0/doc/images/crocoddyl_thumb.png +0 -0
  200. libcrocoddyl-3.1.0/doc/images/crocoddyl_thumb.svg +240 -0
  201. libcrocoddyl-3.1.0/doc/references.bib +33 -0
  202. libcrocoddyl-3.1.0/doc/reports/fddp/Makefile +126 -0
  203. libcrocoddyl-3.1.0/doc/reports/fddp/root.tex +549 -0
  204. libcrocoddyl-3.1.0/examples/CMakeLists.txt +77 -0
  205. libcrocoddyl-3.1.0/examples/__init__.py +0 -0
  206. libcrocoddyl-3.1.0/examples/arm_manipulation_fwddyn.py +124 -0
  207. libcrocoddyl-3.1.0/examples/arm_manipulation_invdyn.py +129 -0
  208. libcrocoddyl-3.1.0/examples/bipedal_gaits_fwddyn.py +144 -0
  209. libcrocoddyl-3.1.0/examples/bipedal_gaits_invdyn.py +144 -0
  210. libcrocoddyl-3.1.0/examples/bipedal_walk_ubound.py +144 -0
  211. libcrocoddyl-3.1.0/examples/boxfddp_vs_boxddp.py +141 -0
  212. libcrocoddyl-3.1.0/examples/double_pendulum_fwddyn.py +98 -0
  213. libcrocoddyl-3.1.0/examples/double_pendulum_invdyn.py +103 -0
  214. libcrocoddyl-3.1.0/examples/humanoid_manipulation.py +208 -0
  215. libcrocoddyl-3.1.0/examples/humanoid_manipulation_ubound.py +211 -0
  216. libcrocoddyl-3.1.0/examples/humanoid_taichi.py +258 -0
  217. libcrocoddyl-3.1.0/examples/log/arm_manipulation_fwddyn.log +82 -0
  218. libcrocoddyl-3.1.0/examples/log/arm_manipulation_invdyn.log +111 -0
  219. libcrocoddyl-3.1.0/examples/log/bipedal_gaits_fwddyn.log +79 -0
  220. libcrocoddyl-3.1.0/examples/log/bipedal_gaits_invdyn.log +136 -0
  221. libcrocoddyl-3.1.0/examples/log/bipedal_walk_ubound.log +102 -0
  222. libcrocoddyl-3.1.0/examples/log/boxfddp_vs_boxddp.log +90 -0
  223. libcrocoddyl-3.1.0/examples/log/check_logfiles.sh +24 -0
  224. libcrocoddyl-3.1.0/examples/log/double_pendulum_fwddyn.log +60 -0
  225. libcrocoddyl-3.1.0/examples/log/double_pendulum_invdyn.log +110 -0
  226. libcrocoddyl-3.1.0/examples/log/humanoid_manipulation.log +37 -0
  227. libcrocoddyl-3.1.0/examples/log/humanoid_manipulation_ubound.log +65 -0
  228. libcrocoddyl-3.1.0/examples/log/humanoid_taichi.log +88 -0
  229. libcrocoddyl-3.1.0/examples/log/quadrotor_fwddyn.log +28 -0
  230. libcrocoddyl-3.1.0/examples/log/quadrotor_invdyn.log +54 -0
  231. libcrocoddyl-3.1.0/examples/log/quadrotor_ubound.log +66 -0
  232. libcrocoddyl-3.1.0/examples/log/quadrupedal_gaits_fwddyn.log +80 -0
  233. libcrocoddyl-3.1.0/examples/log/quadrupedal_gaits_invdyn.log +64 -0
  234. libcrocoddyl-3.1.0/examples/log/quadrupedal_walk_ubound.log +16 -0
  235. libcrocoddyl-3.1.0/examples/log/update_logfiles.sh +59 -0
  236. libcrocoddyl-3.1.0/examples/quadrotor_fwddyn.py +139 -0
  237. libcrocoddyl-3.1.0/examples/quadrotor_invdyn.py +144 -0
  238. libcrocoddyl-3.1.0/examples/quadrotor_ubound.py +141 -0
  239. libcrocoddyl-3.1.0/examples/quadrupedal_gaits_fwddyn.py +196 -0
  240. libcrocoddyl-3.1.0/examples/quadrupedal_gaits_invdyn.py +198 -0
  241. libcrocoddyl-3.1.0/examples/quadrupedal_walk_ubound.py +103 -0
  242. libcrocoddyl-3.1.0/flake.lock +61 -0
  243. libcrocoddyl-3.1.0/flake.nix +89 -0
  244. libcrocoddyl-3.1.0/include/crocoddyl/core/action-base.hpp +444 -0
  245. libcrocoddyl-3.1.0/include/crocoddyl/core/action-base.hxx +255 -0
  246. libcrocoddyl-3.1.0/include/crocoddyl/core/actions/diff-lqr.hpp +374 -0
  247. libcrocoddyl-3.1.0/include/crocoddyl/core/actions/diff-lqr.hxx +469 -0
  248. libcrocoddyl-3.1.0/include/crocoddyl/core/actions/lqr.hpp +351 -0
  249. libcrocoddyl-3.1.0/include/crocoddyl/core/actions/lqr.hxx +441 -0
  250. libcrocoddyl-3.1.0/include/crocoddyl/core/actions/unicycle.hpp +119 -0
  251. libcrocoddyl-3.1.0/include/crocoddyl/core/actions/unicycle.hxx +161 -0
  252. libcrocoddyl-3.1.0/include/crocoddyl/core/activation-base.hpp +110 -0
  253. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/2norm-barrier.hpp +196 -0
  254. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/quadratic-barrier.hpp +237 -0
  255. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/quadratic-flat-exp.hpp +180 -0
  256. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/quadratic-flat-log.hpp +178 -0
  257. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/quadratic.hpp +90 -0
  258. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/smooth-1norm.hpp +170 -0
  259. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/smooth-2norm.hpp +133 -0
  260. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/smooth-abs.hpp +51 -0
  261. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/weighted-quadratic-barrier.hpp +127 -0
  262. libcrocoddyl-3.1.0/include/crocoddyl/core/activations/weighted-quadratic.hpp +151 -0
  263. libcrocoddyl-3.1.0/include/crocoddyl/core/actuation/actuation-squashing.hpp +135 -0
  264. libcrocoddyl-3.1.0/include/crocoddyl/core/actuation/squashing/smooth-sat.hpp +114 -0
  265. libcrocoddyl-3.1.0/include/crocoddyl/core/actuation/squashing-base.hpp +118 -0
  266. libcrocoddyl-3.1.0/include/crocoddyl/core/actuation-base.hpp +224 -0
  267. libcrocoddyl-3.1.0/include/crocoddyl/core/actuation-base.hxx +76 -0
  268. libcrocoddyl-3.1.0/include/crocoddyl/core/codegen/action-base.hpp +19 -0
  269. libcrocoddyl-3.1.0/include/crocoddyl/core/codegen/action.hpp +704 -0
  270. libcrocoddyl-3.1.0/include/crocoddyl/core/codegen/action.hxx +800 -0
  271. libcrocoddyl-3.1.0/include/crocoddyl/core/constraint-base.hpp +322 -0
  272. libcrocoddyl-3.1.0/include/crocoddyl/core/constraint-base.hxx +214 -0
  273. libcrocoddyl-3.1.0/include/crocoddyl/core/constraints/constraint-manager.hpp +485 -0
  274. libcrocoddyl-3.1.0/include/crocoddyl/core/constraints/constraint-manager.hxx +465 -0
  275. libcrocoddyl-3.1.0/include/crocoddyl/core/constraints/residual.hpp +214 -0
  276. libcrocoddyl-3.1.0/include/crocoddyl/core/constraints/residual.hxx +189 -0
  277. libcrocoddyl-3.1.0/include/crocoddyl/core/control-base.hpp +248 -0
  278. libcrocoddyl-3.1.0/include/crocoddyl/core/control-base.hxx +75 -0
  279. libcrocoddyl-3.1.0/include/crocoddyl/core/controls/poly-one.hpp +206 -0
  280. libcrocoddyl-3.1.0/include/crocoddyl/core/controls/poly-one.hxx +178 -0
  281. libcrocoddyl-3.1.0/include/crocoddyl/core/controls/poly-two-rk.hpp +218 -0
  282. libcrocoddyl-3.1.0/include/crocoddyl/core/controls/poly-two-rk.hxx +225 -0
  283. libcrocoddyl-3.1.0/include/crocoddyl/core/controls/poly-zero.hpp +175 -0
  284. libcrocoddyl-3.1.0/include/crocoddyl/core/controls/poly-zero.hxx +174 -0
  285. libcrocoddyl-3.1.0/include/crocoddyl/core/cost-base.hpp +354 -0
  286. libcrocoddyl-3.1.0/include/crocoddyl/core/cost-base.hxx +166 -0
  287. libcrocoddyl-3.1.0/include/crocoddyl/core/costs/cost-sum.hpp +447 -0
  288. libcrocoddyl-3.1.0/include/crocoddyl/core/costs/cost-sum.hxx +359 -0
  289. libcrocoddyl-3.1.0/include/crocoddyl/core/costs/residual.hpp +195 -0
  290. libcrocoddyl-3.1.0/include/crocoddyl/core/costs/residual.hxx +119 -0
  291. libcrocoddyl-3.1.0/include/crocoddyl/core/data/actuation.hpp +34 -0
  292. libcrocoddyl-3.1.0/include/crocoddyl/core/data/joint.hpp +105 -0
  293. libcrocoddyl-3.1.0/include/crocoddyl/core/data-collector-base.hpp +28 -0
  294. libcrocoddyl-3.1.0/include/crocoddyl/core/diff-action-base.hpp +481 -0
  295. libcrocoddyl-3.1.0/include/crocoddyl/core/diff-action-base.hxx +239 -0
  296. libcrocoddyl-3.1.0/include/crocoddyl/core/fwd.hpp +435 -0
  297. libcrocoddyl-3.1.0/include/crocoddyl/core/integ-action-base.hpp +220 -0
  298. libcrocoddyl-3.1.0/include/crocoddyl/core/integ-action-base.hxx +154 -0
  299. libcrocoddyl-3.1.0/include/crocoddyl/core/integrator/euler.hpp +261 -0
  300. libcrocoddyl-3.1.0/include/crocoddyl/core/integrator/euler.hxx +217 -0
  301. libcrocoddyl-3.1.0/include/crocoddyl/core/integrator/rk.hpp +378 -0
  302. libcrocoddyl-3.1.0/include/crocoddyl/core/integrator/rk.hxx +435 -0
  303. libcrocoddyl-3.1.0/include/crocoddyl/core/macros.hpp +273 -0
  304. libcrocoddyl-3.1.0/include/crocoddyl/core/mathbase.hpp +49 -0
  305. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/action.hpp +273 -0
  306. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/action.hxx +379 -0
  307. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/activation.hpp +158 -0
  308. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/activation.hxx +101 -0
  309. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/actuation.hpp +198 -0
  310. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/actuation.hxx +196 -0
  311. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/constraint.hpp +223 -0
  312. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/constraint.hxx +214 -0
  313. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/control.hpp +201 -0
  314. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/control.hxx +145 -0
  315. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/cost.hpp +253 -0
  316. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/cost.hxx +200 -0
  317. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/diff-action.hpp +273 -0
  318. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/diff-action.hxx +374 -0
  319. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/residual.hpp +222 -0
  320. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/residual.hxx +154 -0
  321. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/state.hpp +135 -0
  322. libcrocoddyl-3.1.0/include/crocoddyl/core/numdiff/state.hxx +239 -0
  323. libcrocoddyl-3.1.0/include/crocoddyl/core/optctrl/shooting.hpp +321 -0
  324. libcrocoddyl-3.1.0/include/crocoddyl/core/optctrl/shooting.hxx +570 -0
  325. libcrocoddyl-3.1.0/include/crocoddyl/core/pch.hpp +37 -0
  326. libcrocoddyl-3.1.0/include/crocoddyl/core/residual-base.hpp +294 -0
  327. libcrocoddyl-3.1.0/include/crocoddyl/core/residual-base.hxx +157 -0
  328. libcrocoddyl-3.1.0/include/crocoddyl/core/residuals/control.hpp +183 -0
  329. libcrocoddyl-3.1.0/include/crocoddyl/core/residuals/control.hxx +131 -0
  330. libcrocoddyl-3.1.0/include/crocoddyl/core/residuals/joint-acceleration.hpp +219 -0
  331. libcrocoddyl-3.1.0/include/crocoddyl/core/residuals/joint-acceleration.hxx +116 -0
  332. libcrocoddyl-3.1.0/include/crocoddyl/core/residuals/joint-effort.hpp +237 -0
  333. libcrocoddyl-3.1.0/include/crocoddyl/core/residuals/joint-effort.hxx +149 -0
  334. libcrocoddyl-3.1.0/include/crocoddyl/core/solver-base.hpp +506 -0
  335. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/box-ddp.hpp +40 -0
  336. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/box-fddp.hpp +40 -0
  337. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/box-kkt.hpp +14 -0
  338. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/box-qp.hpp +214 -0
  339. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/ddp.hpp +403 -0
  340. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/fddp.hpp +115 -0
  341. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/intro.hpp +212 -0
  342. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/ipopt/ipopt-iface.hpp +569 -0
  343. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/ipopt.hpp +78 -0
  344. libcrocoddyl-3.1.0/include/crocoddyl/core/solvers/kkt.hpp +83 -0
  345. libcrocoddyl-3.1.0/include/crocoddyl/core/state-base.hpp +352 -0
  346. libcrocoddyl-3.1.0/include/crocoddyl/core/state-base.hxx +187 -0
  347. libcrocoddyl-3.1.0/include/crocoddyl/core/states/euclidean.hpp +83 -0
  348. libcrocoddyl-3.1.0/include/crocoddyl/core/states/euclidean.hxx +193 -0
  349. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/callbacks.hpp +56 -0
  350. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/conversions.hpp +161 -0
  351. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/deprecate.hpp +62 -0
  352. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/exception.hpp +57 -0
  353. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/file-io.hpp +91 -0
  354. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/math.hpp +143 -0
  355. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/motion-display.hpp +0 -0
  356. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/robot-loader.hpp +0 -0
  357. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/scalar.hpp +49 -0
  358. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/solution-plot.hpp +0 -0
  359. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/stop-watch.hpp +295 -0
  360. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/timer.hpp +43 -0
  361. libcrocoddyl-3.1.0/include/crocoddyl/core/utils/version.hpp +54 -0
  362. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/contact-fwddyn.hpp +421 -0
  363. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/contact-fwddyn.hxx +486 -0
  364. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/contact-invdyn.hpp +800 -0
  365. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/contact-invdyn.hxx +494 -0
  366. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/free-fwddyn.hpp +308 -0
  367. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/free-fwddyn.hxx +366 -0
  368. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/free-invdyn.hpp +525 -0
  369. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/free-invdyn.hxx +334 -0
  370. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/impulse-fwddyn.hpp +386 -0
  371. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actions/impulse-fwddyn.hxx +442 -0
  372. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actuations/floating-base-thrusters.hpp +388 -0
  373. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actuations/floating-base.hpp +194 -0
  374. libcrocoddyl-3.1.0/include/crocoddyl/multibody/actuations/full.hpp +159 -0
  375. libcrocoddyl-3.1.0/include/crocoddyl/multibody/codegen/pinocchio_cast.hpp +30 -0
  376. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contact-base.hpp +231 -0
  377. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contact-base.hxx +138 -0
  378. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-1d.hpp +286 -0
  379. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-1d.hxx +261 -0
  380. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-2d.hpp +225 -0
  381. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-2d.hxx +184 -0
  382. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-3d.hpp +271 -0
  383. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-3d.hxx +241 -0
  384. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-6d.hpp +265 -0
  385. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/contact-6d.hxx +224 -0
  386. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/multiple-contacts.hpp +383 -0
  387. libcrocoddyl-3.1.0/include/crocoddyl/multibody/contacts/multiple-contacts.hxx +526 -0
  388. libcrocoddyl-3.1.0/include/crocoddyl/multibody/cop-support.hpp +156 -0
  389. libcrocoddyl-3.1.0/include/crocoddyl/multibody/cop-support.hxx +156 -0
  390. libcrocoddyl-3.1.0/include/crocoddyl/multibody/cost-base.hpp +17 -0
  391. libcrocoddyl-3.1.0/include/crocoddyl/multibody/data/contacts.hpp +85 -0
  392. libcrocoddyl-3.1.0/include/crocoddyl/multibody/data/impulses.hpp +49 -0
  393. libcrocoddyl-3.1.0/include/crocoddyl/multibody/data/multibody.hpp +65 -0
  394. libcrocoddyl-3.1.0/include/crocoddyl/multibody/force-base.hpp +62 -0
  395. libcrocoddyl-3.1.0/include/crocoddyl/multibody/friction-cone.hpp +219 -0
  396. libcrocoddyl-3.1.0/include/crocoddyl/multibody/friction-cone.hxx +302 -0
  397. libcrocoddyl-3.1.0/include/crocoddyl/multibody/fwd.hpp +387 -0
  398. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulse-base.hpp +156 -0
  399. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulse-base.hxx +115 -0
  400. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulses/impulse-3d.hpp +176 -0
  401. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulses/impulse-3d.hxx +128 -0
  402. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulses/impulse-6d.hpp +183 -0
  403. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulses/impulse-6d.hxx +131 -0
  404. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulses/multiple-impulses.hpp +343 -0
  405. libcrocoddyl-3.1.0/include/crocoddyl/multibody/impulses/multiple-impulses.hxx +382 -0
  406. libcrocoddyl-3.1.0/include/crocoddyl/multibody/numdiff/contact.hpp +180 -0
  407. libcrocoddyl-3.1.0/include/crocoddyl/multibody/numdiff/contact.hxx +120 -0
  408. libcrocoddyl-3.1.0/include/crocoddyl/multibody/numdiff/cost.hpp +17 -0
  409. libcrocoddyl-3.1.0/include/crocoddyl/multibody/pch.hpp +49 -0
  410. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/centroidal-momentum.hpp +201 -0
  411. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/centroidal-momentum.hxx +88 -0
  412. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/com-position.hpp +181 -0
  413. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/com-position.hxx +82 -0
  414. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-control-gravity.hpp +218 -0
  415. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-control-gravity.hxx +109 -0
  416. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-cop-position.hpp +380 -0
  417. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-cop-position.hxx +143 -0
  418. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-force.hpp +377 -0
  419. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-force.hxx +194 -0
  420. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-friction-cone.hpp +364 -0
  421. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-friction-cone.hxx +179 -0
  422. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-wrench-cone.hpp +364 -0
  423. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/contact-wrench-cone.hxx +160 -0
  424. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/control-gravity.hpp +188 -0
  425. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/control-gravity.hxx +110 -0
  426. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-placement.hpp +215 -0
  427. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-placement.hxx +126 -0
  428. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-rotation.hpp +216 -0
  429. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-rotation.hxx +128 -0
  430. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-translation.hpp +211 -0
  431. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-translation.hxx +120 -0
  432. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-velocity.hpp +223 -0
  433. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/frame-velocity.hxx +135 -0
  434. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/impulse-com.hpp +177 -0
  435. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/impulse-com.hxx +82 -0
  436. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/pair-collision.hpp +207 -0
  437. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/pair-collision.hxx +108 -0
  438. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/state.hpp +192 -0
  439. libcrocoddyl-3.1.0/include/crocoddyl/multibody/residuals/state.hxx +164 -0
  440. libcrocoddyl-3.1.0/include/crocoddyl/multibody/states/multibody.hpp +133 -0
  441. libcrocoddyl-3.1.0/include/crocoddyl/multibody/states/multibody.hxx +302 -0
  442. libcrocoddyl-3.1.0/include/crocoddyl/multibody/utils/quadruped-gaits.hpp +98 -0
  443. libcrocoddyl-3.1.0/include/crocoddyl/multibody/wrench-cone.hpp +242 -0
  444. libcrocoddyl-3.1.0/include/crocoddyl/multibody/wrench-cone.hxx +394 -0
  445. libcrocoddyl-3.1.0/notebooks/01_introduction_to_crocoddyl.ipynb +232 -0
  446. libcrocoddyl-3.1.0/notebooks/02_optimizing_a_cartpole_swingup.ipynb +527 -0
  447. libcrocoddyl-3.1.0/notebooks/03_optimizing_an_unicycle.ipynb +18 -0
  448. libcrocoddyl-3.1.0/notebooks/04_actuating_an_acrobot.ipynb +331 -0
  449. libcrocoddyl-3.1.0/notebooks/05_codegenerating_a_cartpole.ipynb +630 -0
  450. libcrocoddyl-3.1.0/notebooks/06_scaling_to_robotics.ipynb +303 -0
  451. libcrocoddyl-3.1.0/notebooks/07_targetting_in_aerial_manipulation.ipynb +18 -0
  452. libcrocoddyl-3.1.0/notebooks/08_backflips_in_humanoids.ipynb +18 -0
  453. libcrocoddyl-3.1.0/notebooks/CMakeLists.txt +35 -0
  454. libcrocoddyl-3.1.0/notebooks/arm_manipulation.ipynb +353 -0
  455. libcrocoddyl-3.1.0/notebooks/bipedal_walking.ipynb +222 -0
  456. libcrocoddyl-3.1.0/notebooks/cartpole_utils.py +42 -0
  457. libcrocoddyl-3.1.0/notebooks/p2p.py +115 -0
  458. libcrocoddyl-3.1.0/notebooks/run_notebook.py +33 -0
  459. libcrocoddyl-3.1.0/notebooks/solutions/cartpole_analytical_derivatives.py +64 -0
  460. libcrocoddyl-3.1.0/notebooks/solutions/cartpole_ddp.py +12 -0
  461. libcrocoddyl-3.1.0/notebooks/solutions/cartpole_dyn.py +21 -0
  462. libcrocoddyl-3.1.0/notebooks/solutions/cartpole_fxfu.py +6 -0
  463. libcrocoddyl-3.1.0/notebooks/solutions/cartpole_integration.py +8 -0
  464. libcrocoddyl-3.1.0/notebooks/solutions/cartpole_tuning.py +15 -0
  465. libcrocoddyl-3.1.0/notebooks/unicycle_towards_origin.ipynb +248 -0
  466. libcrocoddyl-3.1.0/notebooks/unicycle_towards_origin.py +37 -0
  467. libcrocoddyl-3.1.0/notebooks/unicycle_utils.py +34 -0
  468. libcrocoddyl-3.1.0/notebooks/whole_body_manipulation.ipynb +430 -0
  469. libcrocoddyl-3.1.0/package.xml +39 -0
  470. libcrocoddyl-3.1.0/pyproject.toml +43 -0
  471. libcrocoddyl-3.1.0/src/core/action-base.cpp.in +19 -0
  472. libcrocoddyl-3.1.0/src/core/actions/diff-lqr.cpp.in +19 -0
  473. libcrocoddyl-3.1.0/src/core/actions/lqr.cpp.in +19 -0
  474. libcrocoddyl-3.1.0/src/core/actions/unicycle.cpp.in +19 -0
  475. libcrocoddyl-3.1.0/src/core/activation-base.cpp.in +19 -0
  476. libcrocoddyl-3.1.0/src/core/activations/2norm-barrier.cpp.in +19 -0
  477. libcrocoddyl-3.1.0/src/core/activations/quadratic-barrier.cpp.in +21 -0
  478. libcrocoddyl-3.1.0/src/core/activations/quadratic-flat-exp.cpp.in +19 -0
  479. libcrocoddyl-3.1.0/src/core/activations/quadratic-flat-log.cpp.in +19 -0
  480. libcrocoddyl-3.1.0/src/core/activations/quadratic.cpp.in +17 -0
  481. libcrocoddyl-3.1.0/src/core/activations/smooth-1norm.cpp.in +19 -0
  482. libcrocoddyl-3.1.0/src/core/activations/smooth-2norm.cpp.in +17 -0
  483. libcrocoddyl-3.1.0/src/core/activations/smooth-abs.cpp.in +19 -0
  484. libcrocoddyl-3.1.0/src/core/activations/weighted-quadratic-barrier.cpp.in +17 -0
  485. libcrocoddyl-3.1.0/src/core/activations/weighted-quadratic.cpp.in +19 -0
  486. libcrocoddyl-3.1.0/src/core/actuation/actuation-squashing.cpp.in +19 -0
  487. libcrocoddyl-3.1.0/src/core/actuation/squashing/smooth-sat.cpp.in +17 -0
  488. libcrocoddyl-3.1.0/src/core/actuation/squashing-base.cpp.in +19 -0
  489. libcrocoddyl-3.1.0/src/core/actuation-base.cpp.in +19 -0
  490. libcrocoddyl-3.1.0/src/core/codegen/action.cpp_fptype.in +23 -0
  491. libcrocoddyl-3.1.0/src/core/constraint-base.cpp.in +19 -0
  492. libcrocoddyl-3.1.0/src/core/constraints/constraint-manager.cpp.in +21 -0
  493. libcrocoddyl-3.1.0/src/core/constraints/residual.cpp.in +19 -0
  494. libcrocoddyl-3.1.0/src/core/control-base.cpp.in +19 -0
  495. libcrocoddyl-3.1.0/src/core/controls/poly-one.cpp.in +19 -0
  496. libcrocoddyl-3.1.0/src/core/controls/poly-two-rk.cpp.in +19 -0
  497. libcrocoddyl-3.1.0/src/core/controls/poly-zero.cpp.in +17 -0
  498. libcrocoddyl-3.1.0/src/core/cost-base.cpp.in +19 -0
  499. libcrocoddyl-3.1.0/src/core/costs/cost-sum.cpp.in +21 -0
  500. libcrocoddyl-3.1.0/src/core/costs/residual.cpp.in +19 -0
  501. libcrocoddyl-3.1.0/src/core/data/actuation.cpp.in +17 -0
  502. libcrocoddyl-3.1.0/src/core/data/joint.cpp.in +21 -0
  503. libcrocoddyl-3.1.0/src/core/data-collector-base.cpp.in +17 -0
  504. libcrocoddyl-3.1.0/src/core/diff-action-base.cpp.in +19 -0
  505. libcrocoddyl-3.1.0/src/core/integ-action-base.cpp.in +19 -0
  506. libcrocoddyl-3.1.0/src/core/integrator/euler.cpp.in +19 -0
  507. libcrocoddyl-3.1.0/src/core/integrator/rk.cpp.in +19 -0
  508. libcrocoddyl-3.1.0/src/core/numdiff/action.cpp.in +19 -0
  509. libcrocoddyl-3.1.0/src/core/numdiff/activation.cpp.in +19 -0
  510. libcrocoddyl-3.1.0/src/core/numdiff/cost.cpp.in +19 -0
  511. libcrocoddyl-3.1.0/src/core/numdiff/diff-action.cpp.in +19 -0
  512. libcrocoddyl-3.1.0/src/core/numdiff/state.cpp.in +17 -0
  513. libcrocoddyl-3.1.0/src/core/optctrl/shooting.cpp_fptype.in +17 -0
  514. libcrocoddyl-3.1.0/src/core/residual-base.cpp.in +19 -0
  515. libcrocoddyl-3.1.0/src/core/residuals/control.cpp.in +17 -0
  516. libcrocoddyl-3.1.0/src/core/residuals/joint-acceleration.cpp.in +19 -0
  517. libcrocoddyl-3.1.0/src/core/residuals/joint-effort.cpp.in +19 -0
  518. libcrocoddyl-3.1.0/src/core/solver-base.cpp +484 -0
  519. libcrocoddyl-3.1.0/src/core/solvers/box-ddp.cpp +175 -0
  520. libcrocoddyl-3.1.0/src/core/solvers/box-fddp.cpp +199 -0
  521. libcrocoddyl-3.1.0/src/core/solvers/box-qp.cpp +260 -0
  522. libcrocoddyl-3.1.0/src/core/solvers/ddp.cpp +608 -0
  523. libcrocoddyl-3.1.0/src/core/solvers/fddp.cpp +278 -0
  524. libcrocoddyl-3.1.0/src/core/solvers/intro.cpp +460 -0
  525. libcrocoddyl-3.1.0/src/core/solvers/ipopt/ipopt-iface.cpp +788 -0
  526. libcrocoddyl-3.1.0/src/core/solvers/ipopt.cpp +83 -0
  527. libcrocoddyl-3.1.0/src/core/solvers/kkt.cpp +324 -0
  528. libcrocoddyl-3.1.0/src/core/state-base.cpp.in +17 -0
  529. libcrocoddyl-3.1.0/src/core/states/euclidean.cpp.in +17 -0
  530. libcrocoddyl-3.1.0/src/core/utils/callbacks.cpp +239 -0
  531. libcrocoddyl-3.1.0/src/core/utils/exception.cpp +33 -0
  532. libcrocoddyl-3.1.0/src/core/utils/stop-watch.cpp +368 -0
  533. libcrocoddyl-3.1.0/src/multibody/actions/contact-fwddyn.cpp.in +19 -0
  534. libcrocoddyl-3.1.0/src/multibody/actions/contact-invdyn.cpp.in +19 -0
  535. libcrocoddyl-3.1.0/src/multibody/actions/free-fwddyn.cpp.in +19 -0
  536. libcrocoddyl-3.1.0/src/multibody/actions/free-invdyn.cpp.in +19 -0
  537. libcrocoddyl-3.1.0/src/multibody/actions/impulse-fwddyn.cpp.in +19 -0
  538. libcrocoddyl-3.1.0/src/multibody/actuations/floating-base-thrusters.cpp.in +19 -0
  539. libcrocoddyl-3.1.0/src/multibody/actuations/floating-base.cpp.in +17 -0
  540. libcrocoddyl-3.1.0/src/multibody/actuations/full.cpp.in +17 -0
  541. libcrocoddyl-3.1.0/src/multibody/contact-base.cpp.in +19 -0
  542. libcrocoddyl-3.1.0/src/multibody/contacts/contact-1d.cpp.in +19 -0
  543. libcrocoddyl-3.1.0/src/multibody/contacts/contact-2d.cpp.in +19 -0
  544. libcrocoddyl-3.1.0/src/multibody/contacts/contact-3d.cpp.in +19 -0
  545. libcrocoddyl-3.1.0/src/multibody/contacts/contact-6d.cpp.in +19 -0
  546. libcrocoddyl-3.1.0/src/multibody/contacts/multiple-contacts.cpp.in +21 -0
  547. libcrocoddyl-3.1.0/src/multibody/cop-support.cpp.in +17 -0
  548. libcrocoddyl-3.1.0/src/multibody/data/contacts.cpp.in +23 -0
  549. libcrocoddyl-3.1.0/src/multibody/data/impulses.cpp.in +19 -0
  550. libcrocoddyl-3.1.0/src/multibody/data/multibody.cpp.in +21 -0
  551. libcrocoddyl-3.1.0/src/multibody/force-base.cpp.in +17 -0
  552. libcrocoddyl-3.1.0/src/multibody/friction-cone.cpp.in +17 -0
  553. libcrocoddyl-3.1.0/src/multibody/impulse-base.cpp.in +19 -0
  554. libcrocoddyl-3.1.0/src/multibody/impulses/impulse-3d.cpp.in +19 -0
  555. libcrocoddyl-3.1.0/src/multibody/impulses/impulse-6d.cpp.in +19 -0
  556. libcrocoddyl-3.1.0/src/multibody/impulses/multiple-impulses.cpp.in +21 -0
  557. libcrocoddyl-3.1.0/src/multibody/residuals/centroidal-momentum.cpp.in +19 -0
  558. libcrocoddyl-3.1.0/src/multibody/residuals/com-position.cpp.in +19 -0
  559. libcrocoddyl-3.1.0/src/multibody/residuals/contact-control-gravity.cpp.in +19 -0
  560. libcrocoddyl-3.1.0/src/multibody/residuals/contact-cop-position.cpp.in +19 -0
  561. libcrocoddyl-3.1.0/src/multibody/residuals/contact-force.cpp.in +19 -0
  562. libcrocoddyl-3.1.0/src/multibody/residuals/contact-friction-cone.cpp.in +19 -0
  563. libcrocoddyl-3.1.0/src/multibody/residuals/contact-wrench-cone.cpp.in +19 -0
  564. libcrocoddyl-3.1.0/src/multibody/residuals/control-gravity.cpp.in +19 -0
  565. libcrocoddyl-3.1.0/src/multibody/residuals/frame-placement.cpp.in +19 -0
  566. libcrocoddyl-3.1.0/src/multibody/residuals/frame-rotation.cpp.in +19 -0
  567. libcrocoddyl-3.1.0/src/multibody/residuals/frame-translation.cpp.in +19 -0
  568. libcrocoddyl-3.1.0/src/multibody/residuals/frame-velocity.cpp.in +19 -0
  569. libcrocoddyl-3.1.0/src/multibody/residuals/impulse-com.cpp.in +19 -0
  570. libcrocoddyl-3.1.0/src/multibody/residuals/state.cpp.in +17 -0
  571. libcrocoddyl-3.1.0/src/multibody/states/multibody.cpp.in +17 -0
  572. libcrocoddyl-3.1.0/src/multibody/utils/quadruped-gaits.cpp +424 -0
  573. libcrocoddyl-3.1.0/src/multibody/wrench-cone.cpp.in +17 -0
  574. libcrocoddyl-3.1.0/unittest/CMakeLists.txt +94 -0
  575. libcrocoddyl-3.1.0/unittest/bindings/CMakeLists.txt +22 -0
  576. libcrocoddyl-3.1.0/unittest/bindings/factory.py +2104 -0
  577. libcrocoddyl-3.1.0/unittest/bindings/test_actions.py +452 -0
  578. libcrocoddyl-3.1.0/unittest/bindings/test_actuations.py +84 -0
  579. libcrocoddyl-3.1.0/unittest/bindings/test_contacts.py +395 -0
  580. libcrocoddyl-3.1.0/unittest/bindings/test_copy.py +426 -0
  581. libcrocoddyl-3.1.0/unittest/bindings/test_costs.py +432 -0
  582. libcrocoddyl-3.1.0/unittest/bindings/test_impulses.py +274 -0
  583. libcrocoddyl-3.1.0/unittest/bindings/test_shooting.py +133 -0
  584. libcrocoddyl-3.1.0/unittest/bindings/test_solvers.py +213 -0
  585. libcrocoddyl-3.1.0/unittest/bindings/test_squashing.py +61 -0
  586. libcrocoddyl-3.1.0/unittest/bindings/test_states.py +165 -0
  587. libcrocoddyl-3.1.0/unittest/bindings/test_utils.py +25 -0
  588. libcrocoddyl-3.1.0/unittest/factory/action.cpp +305 -0
  589. libcrocoddyl-3.1.0/unittest/factory/action.hpp +66 -0
  590. libcrocoddyl-3.1.0/unittest/factory/activation.cpp +126 -0
  591. libcrocoddyl-3.1.0/unittest/factory/activation.hpp +58 -0
  592. libcrocoddyl-3.1.0/unittest/factory/actuation.cpp +119 -0
  593. libcrocoddyl-3.1.0/unittest/factory/actuation.hpp +77 -0
  594. libcrocoddyl-3.1.0/unittest/factory/actuation.hxx +25 -0
  595. libcrocoddyl-3.1.0/unittest/factory/constraint.cpp +232 -0
  596. libcrocoddyl-3.1.0/unittest/factory/constraint.hpp +71 -0
  597. libcrocoddyl-3.1.0/unittest/factory/contact.cpp +184 -0
  598. libcrocoddyl-3.1.0/unittest/factory/contact.hpp +66 -0
  599. libcrocoddyl-3.1.0/unittest/factory/contact_constraint.cpp +228 -0
  600. libcrocoddyl-3.1.0/unittest/factory/contact_constraint.hpp +62 -0
  601. libcrocoddyl-3.1.0/unittest/factory/contact_cost.cpp +146 -0
  602. libcrocoddyl-3.1.0/unittest/factory/contact_cost.hpp +62 -0
  603. libcrocoddyl-3.1.0/unittest/factory/control.cpp +78 -0
  604. libcrocoddyl-3.1.0/unittest/factory/control.hpp +47 -0
  605. libcrocoddyl-3.1.0/unittest/factory/cost.cpp +283 -0
  606. libcrocoddyl-3.1.0/unittest/factory/cost.hpp +113 -0
  607. libcrocoddyl-3.1.0/unittest/factory/diff_action.cpp +872 -0
  608. libcrocoddyl-3.1.0/unittest/factory/diff_action.hpp +106 -0
  609. libcrocoddyl-3.1.0/unittest/factory/impulse.cpp +120 -0
  610. libcrocoddyl-3.1.0/unittest/factory/impulse.hpp +61 -0
  611. libcrocoddyl-3.1.0/unittest/factory/impulse_constraint.cpp +209 -0
  612. libcrocoddyl-3.1.0/unittest/factory/impulse_constraint.hpp +61 -0
  613. libcrocoddyl-3.1.0/unittest/factory/impulse_cost.cpp +142 -0
  614. libcrocoddyl-3.1.0/unittest/factory/impulse_cost.hpp +61 -0
  615. libcrocoddyl-3.1.0/unittest/factory/integrator.cpp +106 -0
  616. libcrocoddyl-3.1.0/unittest/factory/integrator.hpp +61 -0
  617. libcrocoddyl-3.1.0/unittest/factory/pinocchio_model.cpp +165 -0
  618. libcrocoddyl-3.1.0/unittest/factory/pinocchio_model.hpp +94 -0
  619. libcrocoddyl-3.1.0/unittest/factory/pinocchio_model.hxx +65 -0
  620. libcrocoddyl-3.1.0/unittest/factory/residual.cpp +183 -0
  621. libcrocoddyl-3.1.0/unittest/factory/residual.hpp +72 -0
  622. libcrocoddyl-3.1.0/unittest/factory/solver.cpp +109 -0
  623. libcrocoddyl-3.1.0/unittest/factory/solver.hpp +66 -0
  624. libcrocoddyl-3.1.0/unittest/factory/state.cpp +101 -0
  625. libcrocoddyl-3.1.0/unittest/factory/state.hpp +58 -0
  626. libcrocoddyl-3.1.0/unittest/random_generator.hpp +39 -0
  627. libcrocoddyl-3.1.0/unittest/test_actions.cpp +405 -0
  628. libcrocoddyl-3.1.0/unittest/test_activations.cpp +178 -0
  629. libcrocoddyl-3.1.0/unittest/test_actuation.cpp +306 -0
  630. libcrocoddyl-3.1.0/unittest/test_boxqp.cpp +166 -0
  631. libcrocoddyl-3.1.0/unittest/test_codegen.cpp +496 -0
  632. libcrocoddyl-3.1.0/unittest/test_constraint_manager.cpp +628 -0
  633. libcrocoddyl-3.1.0/unittest/test_constraints.cpp +432 -0
  634. libcrocoddyl-3.1.0/unittest/test_contact_constraints.cpp +140 -0
  635. libcrocoddyl-3.1.0/unittest/test_contact_costs.cpp +144 -0
  636. libcrocoddyl-3.1.0/unittest/test_contacts.cpp +401 -0
  637. libcrocoddyl-3.1.0/unittest/test_controls.cpp +198 -0
  638. libcrocoddyl-3.1.0/unittest/test_cop_support.cpp +233 -0
  639. libcrocoddyl-3.1.0/unittest/test_cost_sum.cpp +622 -0
  640. libcrocoddyl-3.1.0/unittest/test_costs.cpp +432 -0
  641. libcrocoddyl-3.1.0/unittest/test_costs_collision.cpp +274 -0
  642. libcrocoddyl-3.1.0/unittest/test_costs_noFF.cpp +484 -0
  643. libcrocoddyl-3.1.0/unittest/test_diff_actions.cpp +316 -0
  644. libcrocoddyl-3.1.0/unittest/test_friction_cone.cpp +353 -0
  645. libcrocoddyl-3.1.0/unittest/test_impulse_constraints.cpp +112 -0
  646. libcrocoddyl-3.1.0/unittest/test_impulse_costs.cpp +139 -0
  647. libcrocoddyl-3.1.0/unittest/test_impulses.cpp +291 -0
  648. libcrocoddyl-3.1.0/unittest/test_multiple_contacts.cpp +914 -0
  649. libcrocoddyl-3.1.0/unittest/test_multiple_impulses.cpp +881 -0
  650. libcrocoddyl-3.1.0/unittest/test_problem.cpp +678 -0
  651. libcrocoddyl-3.1.0/unittest/test_residuals.cpp +482 -0
  652. libcrocoddyl-3.1.0/unittest/test_solvers.cpp +224 -0
  653. libcrocoddyl-3.1.0/unittest/test_states.cpp +618 -0
  654. libcrocoddyl-3.1.0/unittest/test_wrench_cone.cpp +418 -0
  655. libcrocoddyl-3.1.0/unittest/testutils.py +65 -0
  656. libcrocoddyl-3.1.0/unittest/unittest_common.hpp +141 -0
@@ -0,0 +1,3 @@
1
+ 795904c1d65999f19d4a00166430be727573e165
2
+ 547f26140f609b6e8a32a7e5c7900209cfd3312e
3
+ bbf44fa6543f64227d1ec7e4d0e3b2b894879031
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: "\U0001F41E Bug report"
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ ## Bug description
11
+
12
+ A clear and concise description of what the bug is.
13
+
14
+ ## Expected behavior
15
+
16
+ A clear and concise description of what you expected to happen.
17
+
18
+ ## Reproduction steps
19
+
20
+ Steps to reproduce the behavior:
21
+ 1. Load to '...'
22
+ 2. Click on '....'
23
+ 3. Scroll down to '....'
24
+ 4. See error
25
+
26
+ ### Docker image
27
+
28
+ If this is an installation issue, a Docker image to reproduce it
29
+
30
+ ```dockerfile
31
+ ...
32
+ ```
33
+
34
+ ### Code
35
+
36
+ If this is a runtime issue, provide some minimal code to reproduce it:
37
+
38
+ ```
39
+ ...
40
+ ```
41
+
42
+ ## Additional context
43
+
44
+ Add any other context about the problem here.
45
+
46
+ ### Screenshots
47
+
48
+ If applicable, add screenshots to help explain your problem.
49
+
50
+ ### System
51
+
52
+ - OS: [e.g. Ubuntu]
53
+ - Crocoddyl version: [e.g. 2.0.0]
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: 💡 Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: feature proposal
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,7 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ target-branch: "devel"
6
+ schedule:
7
+ interval: "weekly"
@@ -0,0 +1,16 @@
1
+ name: CHANGELOG
2
+
3
+ on:
4
+ pull_request:
5
+ types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
6
+ branches:
7
+ - devel
8
+
9
+ jobs:
10
+ check-changelog:
11
+ name: Check changelog action
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: tarides/changelog-check-action@v3
15
+ with:
16
+ changelog: CHANGELOG.md
@@ -0,0 +1,24 @@
1
+ name: crocoddyl
2
+ channels:
3
+ - conda-forge
4
+ - nodefaults
5
+ dependencies:
6
+ - libboost-devel
7
+ - libboost-python-devel
8
+ - numpy
9
+ - scipy
10
+ - python
11
+ - eigen
12
+ - eigenpy
13
+ - hpp-fcl
14
+ - urdfdom
15
+ - cppad
16
+ - cppadcodegen
17
+ - pycppad
18
+ - pinocchio>=3.1.0
19
+ - ipopt
20
+ - nbformat
21
+ - nbconvert
22
+ - ipykernel
23
+ - matplotlib
24
+ - cxx-compiler
@@ -0,0 +1,135 @@
1
+ name: CONDA
2
+
3
+ # This determines when this workflow is run
4
+ on:
5
+ push:
6
+ paths-ignore:
7
+ - 'doc/**'
8
+ - '.gitlab-ci.yml'
9
+ - '.gitignore'
10
+ - '.pre-commit-config.yaml'
11
+ - '*.md'
12
+ - 'LICENSE'
13
+ - 'pyproject.toml'
14
+ - 'package.xml'
15
+ - 'dependencies.rosintall'
16
+ pull_request:
17
+ paths-ignore:
18
+ - 'doc/**'
19
+ - '.gitlab-ci.yml'
20
+ - '.gitignore'
21
+ - '.pre-commit-config.yaml'
22
+ - '*.md'
23
+ - 'LICENSE'
24
+ - 'pyproject.toml'
25
+ - 'package.xml'
26
+ - 'dependencies.rosintall'
27
+ concurrency:
28
+ group: ${{ github.workflow }}-${{ github.ref }}
29
+ cancel-in-progress: true
30
+
31
+ jobs:
32
+ crocoddyl-conda:
33
+ name: (${{ matrix.os }}, ${{ matrix.compiler }}, codegen ${{ matrix.codegen_support }}, multi-threading, ipopt, ${{ matrix.build_type }})
34
+ runs-on: ${{ matrix.os }}
35
+ env:
36
+ CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
37
+ CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
38
+ CCACHE_COMPRESS: true
39
+ CCACHE_COMPRESSLEVEL: 5
40
+
41
+ strategy:
42
+ fail-fast: false
43
+ matrix:
44
+ include:
45
+ - os: ubuntu-latest
46
+ compiler: gcc
47
+ build_type: Release
48
+ codegen_support: ON
49
+ - os: ubuntu-latest
50
+ compiler: gcc
51
+ build_type: Debug
52
+ codegen_support: OFF
53
+ - os: macos-latest
54
+ compiler: clang
55
+ build_type: Release
56
+ codegen_support: ON
57
+ - os: macos-latest
58
+ compiler: clang
59
+ build_type: Debug
60
+ codegen_support: OFF
61
+
62
+ steps:
63
+ - uses: actions/checkout@v5
64
+ with:
65
+ submodules: recursive
66
+
67
+ - uses: actions/cache@v4
68
+ with:
69
+ path: ${{ env.CCACHE_DIR }}
70
+ key: ccache-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.python-version }}-${{ github.run_id }}
71
+ restore-keys: ccache-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.python-version }}-
72
+
73
+ - uses: conda-incubator/setup-miniconda@v3
74
+ with:
75
+ activate-environment: crocoddyl
76
+ auto-update-conda: true
77
+ environment-file: .github/workflows/conda/conda-env.yml
78
+ python-version: ${{ matrix.python-version }}
79
+ auto-activate-base: false
80
+
81
+ - name: Install conda dependencies
82
+ shell: bash -l {0}
83
+ run: |
84
+ conda activate crocoddyl
85
+ conda install cmake ccache -c conda-forge
86
+ conda install llvm-openmp libcxx -c conda-forge
87
+ conda install ffmpeg -c conda-forge
88
+ conda list
89
+
90
+ - name: Install example-robot-data
91
+ shell: bash -l {0}
92
+ run: |
93
+ conda activate crocoddyl
94
+ mkdir third-party && cd third-party
95
+ git clone --recursive https://github.com/Gepetto/example-robot-data.git
96
+ cd example-robot-data && mkdir build && cd build
97
+ cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
98
+ make install
99
+
100
+ - name: Build Crocoddyl
101
+ shell: bash -l {0}
102
+ run: |
103
+ conda activate crocoddyl
104
+ echo $CONDA_PREFIX
105
+ mkdir build
106
+ cd build
107
+ cmake .. \
108
+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
109
+ -DCMAKE_CXX_FLAGS_DEBUG="" \
110
+ -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
111
+ -DBUILD_WITH_CODEGEN_SUPPORT=${{ matrix.codegen_support }} -DPYTHON_EXECUTABLE=$(which python3) \
112
+ -DBUILD_WITH_MULTITHREADS=ON -DINSTALL_DOCUMENTATION=ON -DGENERATE_PYTHON_STUBS=ON \
113
+ -DOpenMP_ROOT=$CONDA_PREFIX
114
+ make
115
+ make VERBOSE=1
116
+
117
+ - name: Run unit tests
118
+ shell: bash -l {0}
119
+ run: |
120
+ conda activate crocoddyl
121
+ cd build
122
+ export CTEST_OUTPUT_ON_FAILURE=1
123
+ ctest --output-on-failure
124
+
125
+ - name: Install Crocoddyl
126
+ shell: bash -l {0}
127
+ run: |
128
+ cd build
129
+ make install
130
+
131
+ - name: Uninstall Crocoddyl
132
+ shell: bash -l {0}
133
+ run: |
134
+ cd build
135
+ make uninstall
@@ -0,0 +1,32 @@
1
+ name: Build crocoddyl for Mac OS X/Linux via pip
2
+
3
+ on: [push, pull_request]
4
+
5
+ env:
6
+ CTEST_OUTPUT_ON_FAILURE: 1
7
+ CTEST_PARALLEL_LEVEL: 4
8
+
9
+ jobs:
10
+ crocoddyl-pip:
11
+ name: "CI on ${{ matrix.os }} / python ${{ matrix.python-version }} with pip"
12
+ runs-on: "${{ matrix.os }}"
13
+
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: ["ubuntu-latest", "macos-latest"]
18
+ python-version: ["3.8", "3.9", "3.10", "3.11"]
19
+ steps:
20
+ - uses: actions/checkout@v3
21
+ with:
22
+ submodules: 'true'
23
+ - uses: actions/setup-python@v4
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+ - run: python -m pip install -U pip
27
+ - run: python -m pip install example-robot-data[build] scipy
28
+ - run: echo "CMAKE_PREFIX_PATH=$(python -m cmeel cmake)" >> $GITHUB_ENV
29
+ - run: echo "LD_LIBRARY_PATH=$(python -m cmeel lib)" >> $GITHUB_ENV
30
+ - run: cmake -B build -S .
31
+ - run: cmake --build build
32
+ - run: cmake --build build -t test
@@ -0,0 +1,32 @@
1
+ name: "NIX"
2
+
3
+ # This determines when this workflow is run
4
+ on:
5
+ push:
6
+ branches:
7
+ - master
8
+ - devel
9
+ pull_request:
10
+ branches:
11
+ - master
12
+ - devel
13
+
14
+ concurrency:
15
+ group: ${{ github.workflow }}-${{ github.ref }}
16
+ cancel-in-progress: true
17
+
18
+ jobs:
19
+ nix:
20
+ runs-on: "${{ matrix.os }}-latest"
21
+ strategy:
22
+ matrix:
23
+ os: [ubuntu, macos]
24
+ name: (${{ matrix.os }})
25
+ steps:
26
+ - uses: actions/checkout@v5
27
+ - uses: cachix/install-nix-action@v31
28
+ - uses: cachix/cachix-action@v16
29
+ with:
30
+ name: gepetto
31
+ authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
32
+ - run: nix build -L
@@ -0,0 +1,158 @@
1
+ name: Release on GitHub & PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ branches:
8
+ - cmeel
9
+ pull_request:
10
+ branches:
11
+ - cmeel
12
+
13
+ env:
14
+ CMEEL_LOG_LEVEL: DEBUG
15
+ DEPS: example-robot-data[build] libpinocchio[build] scipy
16
+ PROJECT: libcrocoddyl
17
+
18
+ jobs:
19
+ wheel:
20
+ name: "Build ${{ matrix.python }} ${{ matrix.os }}"
21
+ runs-on: "${{ matrix.os }}"
22
+ strategy:
23
+ matrix:
24
+ os: ["ubuntu-24.04", "ubuntu-24.04-arm", "macos-15-intel", "macos-15"]
25
+ python: ["cp313"]
26
+ steps:
27
+ - uses: actions/checkout@v5
28
+ with:
29
+ submodules: 'true'
30
+ - run: pipx install cibuildwheel
31
+ - run: echo "OPENMP=OFF" >> $GITHUB_ENV
32
+ if: ${{ startsWith(matrix.os, 'macos') }}
33
+ - run: echo "OPENMP=ON" >> $GITHUB_ENV
34
+ if: ${{ startsWith(matrix.os, 'ubuntu') }}
35
+ - run: cibuildwheel
36
+ env:
37
+ CIBW_BUILD: "${{ matrix.python }}-*"
38
+ CIBW_SKIP: "*-musllinux* *i686"
39
+ CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux_2_28_x86_64"
40
+ CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux_2_28_aarch64"
41
+ CIBW_REPAIR_WHEEL_COMMAND: ""
42
+ CIBW_ENVIRONMENT: CMEEL_LOG_LEVEL="DEBUG" CMEEL_JOBS="1" CMEEL_RUN_TESTS="false" CMEEL_CMAKE_ARGS="-DBUILD_WITH_MULTITHREADS=$OPENMP"
43
+ - uses: actions/upload-artifact@v4
44
+ with:
45
+ name: "artifact-${{ matrix.os }}-${{ matrix.python }}"
46
+ path: wheelhouse
47
+
48
+ test-wheel:
49
+ needs: ["wheel"]
50
+ name: "Test ${{ matrix.python }} ${{ matrix.os }}"
51
+ runs-on: "${{ matrix.os }}"
52
+ strategy:
53
+ matrix:
54
+ os: ["ubuntu-24.04", "ubuntu-24.04-arm", "macos-15-intel", "macos-15"]
55
+ python: ["cp313"]
56
+ steps:
57
+ - uses: actions/download-artifact@v5
58
+ with:
59
+ name: "artifact-${{ matrix.os }}-${{ matrix.python }}"
60
+ path: wheelhouse
61
+ - run: echo "${{ matrix.python }}" | sed "s/cp3/PYTHON_VERSION=3./" >> "${GITHUB_ENV}"
62
+ - uses: actions/setup-python@v6
63
+ with:
64
+ python-version: ${{ env.PYTHON_VERSION }}
65
+ - name: index
66
+ run: |
67
+ python -m pip install -U pip
68
+ python -m pip install wheel simple503
69
+ python -m simple503 --base-url ${{ github.workspace }}/wheelhouse ${{ github.workspace }}/wheelhouse
70
+ - name: install deps
71
+ run: python -m pip install cmeel $DEPS
72
+ - name: install wheel
73
+ run: python -m pip install -i "file://${{ github.workspace }}/wheelhouse" $PROJECT
74
+
75
+ sdist:
76
+ runs-on: ubuntu-24.04
77
+ steps:
78
+ - uses: actions/checkout@v5
79
+ with:
80
+ submodules: 'true'
81
+ - uses: actions/setup-python@v6
82
+ with:
83
+ python-version: 3.13
84
+ - name: setup
85
+ run: |
86
+ python -m pip install -U pip
87
+ python -m pip install build cmeel[build] $DEPS
88
+ - name: build sdist
89
+ run: python -m build -nso dist .
90
+ - uses: actions/upload-artifact@v4
91
+ with:
92
+ name: artifact-sdist
93
+ path: dist
94
+
95
+ test-sdist:
96
+ runs-on: ubuntu-24.04
97
+ needs: ["sdist"]
98
+ name: "Test sdist"
99
+ steps:
100
+ - uses: actions/download-artifact@v5
101
+ with:
102
+ name: "artifact-sdist"
103
+ path: dist
104
+ - uses: actions/setup-python@v5
105
+ with:
106
+ python-version: 3.13
107
+ - name: setup
108
+ run: |
109
+ python -m pip install -U pip
110
+ python -m pip install build cmeel[build] $DEPS
111
+ - name: install sdist
112
+ run: python -m pip install dist/$(echo "$PROJECT" | tr - _)*.tar.gz
113
+
114
+ release:
115
+ needs: ["test-wheel", "test-sdist"]
116
+ if: ${{ startsWith(github.ref, 'refs/tags/v') }}
117
+ runs-on: ubuntu-24.04
118
+ environment: release
119
+ permissions:
120
+ id-token: write
121
+ contents: write
122
+ steps:
123
+ - uses: actions/checkout@v5
124
+ with:
125
+ ref: ${{ github.ref_name }}
126
+ - run: curl https://github.com/nim65s.gpg | gpg --import
127
+ - name: validate signature
128
+ run: >
129
+ git verify-tag --raw ${{ github.ref_name }} 2>&1
130
+ | grep -q 'VALIDSIG 9B1A79065D2F2B806C8A5A1C7D2ACDAF4653CF28'
131
+ - uses: actions/download-artifact@v5
132
+ with:
133
+ merge-multiple: true
134
+ path: dist
135
+ - run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
136
+ - run: gh release create -t "Release ${{ env.TAG}}" "${{ env.TAG }}" dist/$(echo $PROJECT | tr - _)*.{whl,tar.gz}
137
+ env:
138
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
139
+ - name: Publish package distributions to PyPI
140
+ uses: pypa/gh-action-pypi-publish@release/v1
141
+ with:
142
+ skip-existing: true
143
+
144
+ check:
145
+ if: always()
146
+ name: check-macos-linux
147
+
148
+ needs:
149
+ - test-wheel
150
+ - test-sdist
151
+
152
+ runs-on: Ubuntu-latest
153
+
154
+ steps:
155
+ - name: Decide whether the needed jobs succeeded or failed
156
+ uses: re-actors/alls-green@release/v1
157
+ with:
158
+ jobs: ${{ toJSON(needs) }}
@@ -0,0 +1,71 @@
1
+ name: ROS
2
+
3
+ # This determines when this workflow is run
4
+ on:
5
+ push:
6
+ branches:
7
+ - devel
8
+ - master
9
+ paths-ignore:
10
+ - 'doc/**'
11
+ - '.gitlab-ci.yml'
12
+ - '.gitignore'
13
+ - '.pre-commit-config.yaml'
14
+ - '*.md'
15
+ - 'LICENSE'
16
+ - 'pyproject.toml'
17
+ - 'package.xml'
18
+ - 'dependencies.rosintall'
19
+ pull_request:
20
+ branches:
21
+ - devel
22
+ - master
23
+ paths-ignore:
24
+ - 'doc/**'
25
+ - '.gitlab-ci.yml'
26
+ - '.gitignore'
27
+ - '.pre-commit-config.yaml'
28
+ - '*.md'
29
+ - 'LICENSE'
30
+ - 'pyproject.toml'
31
+ - 'package.xml'
32
+ - 'dependencies.rosintall'
33
+ concurrency:
34
+ group: ${{ github.workflow }}-${{ github.ref }}
35
+ cancel-in-progress: true
36
+
37
+ jobs:
38
+ CI:
39
+ if: github.event_name == 'push' || (github.event_name == 'pull_request' && !contains(join(github.event.pull_request.labels.*.name, ','), 'no ros'))
40
+ strategy:
41
+ fail-fast: false
42
+ matrix:
43
+ env:
44
+ - {name: "(humble, Release)", ROS_DISTRO: humble}
45
+ - {name: "(jazzy, Release)", ROS_DISTRO: jazzy}
46
+ - {name: "(rolling, Release)", ROS_DISTRO: rolling}
47
+ # - {name: "(humble, clang, multi-threading, Release)", ROS_DISTRO: humble, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"}
48
+ # - {name: "(rolling, clang, multi-threading, Release)", ROS_DISTRO: rolling, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"}
49
+ # - {name: "(iron, clang, multi-threading, Release)", ROS_DISTRO: iron, ADDITIONAL_DEBS: "clang libomp-dev", CC: clang, CXX: clang++, CMAKE_ARGS: "-DBUILD_WITH_MULTITHREADS=ON -DBUILD_WITH_NTHREADS=2"}
50
+ # - {name: "(humble, Debug)", ROS_DISTRO: noetic, CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug"}
51
+ # - {name: "(rolling, Debug)", ROS_DISTRO: rolling, CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug"}
52
+ name: ${{ matrix.env.name }}
53
+ env:
54
+ CCACHE_DIR: /github/home/.ccache # Enable ccache
55
+ UPSTREAM_WORKSPACE: dependencies.rosinstall # to build example-robot-data from source as it's not released via the ROS buildfarm
56
+ CTEST_OUTPUT_ON_FAILURE: 1
57
+ BUILDER: colcon
58
+ runs-on: ubuntu-latest
59
+ continue-on-error: true
60
+ steps:
61
+ - uses: actions/checkout@v5
62
+ with:
63
+ submodules: recursive
64
+ # This step will fetch/store the directory used by ccache before/after the ci run
65
+ - uses: actions/cache@v4
66
+ with:
67
+ path: ${{ env.CCACHE_DIR }}
68
+ key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}-${{ github.sha }}
69
+ restore-keys: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}-
70
+ - uses: 'ros-industrial/industrial_ci@eb3ea328ff056aa2435d5b3493e7e2929c310f8e'
71
+ env: ${{ matrix.env }}
@@ -0,0 +1,20 @@
1
+ name: update-flake-lock
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: '0 21 12 * *'
7
+
8
+ jobs:
9
+ lockfile:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Checkout repository
13
+ uses: actions/checkout@v5
14
+ - name: Install Nix
15
+ uses: DeterminateSystems/nix-installer-action@main
16
+ - name: Update flake.lock
17
+ uses: DeterminateSystems/update-flake-lock@main
18
+ with:
19
+ pr-title: "Update flake.lock"
20
+ token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
@@ -0,0 +1,17 @@
1
+ *.pyc
2
+ *.pyd
3
+ *.pyo
4
+ *.so
5
+ *.dylib
6
+ *~
7
+ *.orig
8
+ *.ipynb_checkpoints
9
+ build*/*
10
+ _build*
11
+ *.aux
12
+ *.log
13
+ *.pdf
14
+ .clang-format
15
+ .vscode/
16
+ *#*#
17
+ .cache/
@@ -0,0 +1 @@
1
+ include: https://rainboard.laas.fr/project/crocoddyl/.gitlab-ci.yml
@@ -0,0 +1,14 @@
1
+ pull_request_rules:
2
+ - name: merge [bot] PRs when CI pass
3
+ conditions:
4
+ - check-success = "check-macos-linux"
5
+ - check-success = "pre-commit.ci - pr"
6
+ - or:
7
+ - approved-reviews-by = nim65s
8
+ - author = dependabot[bot]
9
+ - author = github-actions[bot]
10
+ - author = nim65s
11
+ - author = hrp2-14
12
+ - author = pre-commit-ci[bot]
13
+ actions:
14
+ merge:
@@ -0,0 +1,44 @@
1
+ ci:
2
+ autoupdate_branch: devel
3
+ repos:
4
+ - repo: https://github.com/astral-sh/ruff-pre-commit
5
+ rev: v0.13.1
6
+ hooks:
7
+ - id: ruff
8
+ args:
9
+ - --fix
10
+ - --exit-non-zero-on-fix
11
+ - id: ruff-format
12
+ - repo: https://github.com/cheshirekow/cmake-format-precommit
13
+ rev: v0.6.13
14
+ hooks:
15
+ - id: cmake-format
16
+ - repo: https://github.com/pappasam/toml-sort
17
+ rev: v0.24.3
18
+ hooks:
19
+ - id: toml-sort-fix
20
+ - repo: https://github.com/pre-commit/mirrors-clang-format
21
+ rev: v21.1.1
22
+ hooks:
23
+ - id: clang-format
24
+ args:
25
+ - --style=Google
26
+ exclude: '^.*\.ipynb$'
27
+ - repo: https://github.com/pre-commit/pre-commit-hooks
28
+ rev: v6.0.0
29
+ hooks:
30
+ - id: check-added-large-files
31
+ - id: check-ast
32
+ - id: check-executables-have-shebangs
33
+ - id: check-json
34
+ - id: check-merge-conflict
35
+ - id: check-symlinks
36
+ - id: check-toml
37
+ - id: check-yaml
38
+ - id: debug-statements
39
+ - id: destroyed-symlinks
40
+ - id: detect-private-key
41
+ - id: end-of-file-fixer
42
+ - id: fix-byte-order-marker
43
+ - id: mixed-line-ending
44
+ - id: trailing-whitespace
@@ -0,0 +1 @@
1
+ cmake