placo 0.9.10__tar.gz → 0.9.12__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.

Potentially problematic release.


This version of placo might be problematic. Click here for more details.

Files changed (178) hide show
  1. {placo-0.9.10 → placo-0.9.12}/.github/workflows/wheels.yml +4 -1
  2. {placo-0.9.10 → placo-0.9.12}/PKG-INFO +4 -4
  3. {placo-0.9.10 → placo-0.9.12}/bindings/expose-footsteps.cpp +3 -1
  4. {placo-0.9.10 → placo-0.9.12}/bindings/expose-parameters.cpp +4 -2
  5. {placo-0.9.10 → placo-0.9.12}/pyproject.toml +4 -4
  6. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/humanoid_parameters.cpp +27 -0
  7. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/humanoid_parameters.h +5 -0
  8. {placo-0.9.10 → placo-0.9.12}/.clang-format +0 -0
  9. {placo-0.9.10 → placo-0.9.12}/.gitattributes +0 -0
  10. {placo-0.9.10 → placo-0.9.12}/.gitignore +0 -0
  11. {placo-0.9.10 → placo-0.9.12}/.readthedocs.yaml +0 -0
  12. {placo-0.9.10 → placo-0.9.12}/CMakeLists.txt +0 -0
  13. {placo-0.9.10 → placo-0.9.12}/Doxyfile +0 -0
  14. {placo-0.9.10 → placo-0.9.12}/LICENSE +0 -0
  15. {placo-0.9.10 → placo-0.9.12}/README.md +0 -0
  16. {placo-0.9.10 → placo-0.9.12}/bindings/doxystub.h +0 -0
  17. {placo-0.9.10 → placo-0.9.12}/bindings/expose-dynamics.cpp +0 -0
  18. {placo-0.9.10 → placo-0.9.12}/bindings/expose-eigen.cpp +0 -0
  19. {placo-0.9.10 → placo-0.9.12}/bindings/expose-kinematics.cpp +0 -0
  20. {placo-0.9.10 → placo-0.9.12}/bindings/expose-problem.cpp +0 -0
  21. {placo-0.9.10 → placo-0.9.12}/bindings/expose-robot-wrapper.cpp +0 -0
  22. {placo-0.9.10 → placo-0.9.12}/bindings/expose-tools.cpp +0 -0
  23. {placo-0.9.10 → placo-0.9.12}/bindings/expose-utils.hpp +0 -0
  24. {placo-0.9.10 → placo-0.9.12}/bindings/expose-walk-pattern-generator.cpp +0 -0
  25. {placo-0.9.10 → placo-0.9.12}/bindings/module.cpp +0 -0
  26. {placo-0.9.10 → placo-0.9.12}/bindings/module.h +0 -0
  27. {placo-0.9.10 → placo-0.9.12}/python/.vscode/settings.json +0 -0
  28. {placo-0.9.10 → placo-0.9.12}/python/Makefile +0 -0
  29. {placo-0.9.10 → placo-0.9.12}/python/placo_utils/__init__.py +0 -0
  30. {placo-0.9.10 → placo-0.9.12}/python/placo_utils/tf.py +0 -0
  31. {placo-0.9.10 → placo-0.9.12}/python/placo_utils/view.py +0 -0
  32. {placo-0.9.10 → placo-0.9.12}/python/placo_utils/visualization.py +0 -0
  33. {placo-0.9.10 → placo-0.9.12}/python/run_tests.sh +0 -0
  34. {placo-0.9.10 → placo-0.9.12}/scripts/requirements.sh +0 -0
  35. {placo-0.9.10 → placo-0.9.12}/scripts/robotpkg.sh +0 -0
  36. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/avoid_self_collisions_constraint.cpp +0 -0
  37. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/avoid_self_collisions_constraint.h +0 -0
  38. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/com_task.cpp +0 -0
  39. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/com_task.h +0 -0
  40. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/constraint.cpp +0 -0
  41. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/constraint.h +0 -0
  42. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/contacts.cpp +0 -0
  43. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/contacts.h +0 -0
  44. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/dynamics_solver.cpp +0 -0
  45. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/dynamics_solver.h +0 -0
  46. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/frame_task.cpp +0 -0
  47. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/frame_task.h +0 -0
  48. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/gear_task.cpp +0 -0
  49. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/gear_task.h +0 -0
  50. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/joints_task.cpp +0 -0
  51. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/joints_task.h +0 -0
  52. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/orientation_task.cpp +0 -0
  53. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/orientation_task.h +0 -0
  54. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/position_task.cpp +0 -0
  55. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/position_task.h +0 -0
  56. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/relative_frame_task.cpp +0 -0
  57. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/relative_frame_task.h +0 -0
  58. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/relative_orientation_task.cpp +0 -0
  59. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/relative_orientation_task.h +0 -0
  60. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/relative_position_task.cpp +0 -0
  61. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/relative_position_task.h +0 -0
  62. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/task.cpp +0 -0
  63. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/task.h +0 -0
  64. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/torque_task.cpp +0 -0
  65. {placo-0.9.10 → placo-0.9.12}/src/placo/dynamics/torque_task.h +0 -0
  66. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/dummy_walk.cpp +0 -0
  67. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/dummy_walk.h +0 -0
  68. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/foot_trajectory.cpp +0 -0
  69. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/foot_trajectory.h +0 -0
  70. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/footsteps_planner.cpp +0 -0
  71. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/footsteps_planner.h +0 -0
  72. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/footsteps_planner_naive.cpp +0 -0
  73. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/footsteps_planner_naive.h +0 -0
  74. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/footsteps_planner_repetitive.cpp +0 -0
  75. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/footsteps_planner_repetitive.h +0 -0
  76. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/humanoid_robot.cpp +0 -0
  77. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/humanoid_robot.h +0 -0
  78. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/kick.cpp +0 -0
  79. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/kick.h +0 -0
  80. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/lipm.cpp +0 -0
  81. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/lipm.h +0 -0
  82. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/swing_foot.cpp +0 -0
  83. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/swing_foot.h +0 -0
  84. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/swing_foot_cubic.cpp +0 -0
  85. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/swing_foot_cubic.h +0 -0
  86. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/swing_foot_quintic.cpp +0 -0
  87. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/swing_foot_quintic.h +0 -0
  88. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/walk_pattern_generator.cpp +0 -0
  89. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/walk_pattern_generator.h +0 -0
  90. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/walk_tasks.cpp +0 -0
  91. {placo-0.9.10 → placo-0.9.12}/src/placo/humanoid/walk_tasks.h +0 -0
  92. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/avoid_self_collisions_constraint.cpp +0 -0
  93. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/avoid_self_collisions_constraint.h +0 -0
  94. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/axis_align_task.cpp +0 -0
  95. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/axis_align_task.h +0 -0
  96. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/centroidal_momentum_task.cpp +0 -0
  97. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/centroidal_momentum_task.h +0 -0
  98. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/com_polygon_constraint.cpp +0 -0
  99. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/com_polygon_constraint.h +0 -0
  100. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/com_task.cpp +0 -0
  101. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/com_task.h +0 -0
  102. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/cone_constraint.cpp +0 -0
  103. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/cone_constraint.h +0 -0
  104. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/constraint.cpp +0 -0
  105. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/constraint.h +0 -0
  106. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/distance_constraint.cpp +0 -0
  107. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/distance_constraint.h +0 -0
  108. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/distance_task.cpp +0 -0
  109. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/distance_task.h +0 -0
  110. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/frame_task.cpp +0 -0
  111. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/frame_task.h +0 -0
  112. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/gear_task.cpp +0 -0
  113. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/gear_task.h +0 -0
  114. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/joint_space_half_spaces_constraint.cpp +0 -0
  115. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/joint_space_half_spaces_constraint.h +0 -0
  116. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/joints_task.cpp +0 -0
  117. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/joints_task.h +0 -0
  118. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/kinematics_solver.cpp +0 -0
  119. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/kinematics_solver.h +0 -0
  120. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/kinetic_energy_regularization_task.cpp +0 -0
  121. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/kinetic_energy_regularization_task.h +0 -0
  122. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/manipulability_task.cpp +0 -0
  123. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/manipulability_task.h +0 -0
  124. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/orientation_task.cpp +0 -0
  125. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/orientation_task.h +0 -0
  126. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/position_task.cpp +0 -0
  127. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/position_task.h +0 -0
  128. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/regularization_task.cpp +0 -0
  129. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/regularization_task.h +0 -0
  130. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/relative_frame_task.cpp +0 -0
  131. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/relative_frame_task.h +0 -0
  132. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/relative_orientation_task.cpp +0 -0
  133. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/relative_orientation_task.h +0 -0
  134. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/relative_position_task.cpp +0 -0
  135. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/relative_position_task.h +0 -0
  136. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/task.cpp +0 -0
  137. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/task.h +0 -0
  138. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/wheel_task.cpp +0 -0
  139. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/wheel_task.h +0 -0
  140. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/yaw_constraint.cpp +0 -0
  141. {placo-0.9.10 → placo-0.9.12}/src/placo/kinematics/yaw_constraint.h +0 -0
  142. {placo-0.9.10 → placo-0.9.12}/src/placo/model/robot_wrapper.cpp +0 -0
  143. {placo-0.9.10 → placo-0.9.12}/src/placo/model/robot_wrapper.h +0 -0
  144. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/constraint.cpp +0 -0
  145. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/constraint.h +0 -0
  146. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/expression.cpp +0 -0
  147. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/expression.h +0 -0
  148. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/integrator.cpp +0 -0
  149. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/integrator.h +0 -0
  150. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/polygon_constraint.cpp +0 -0
  151. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/polygon_constraint.h +0 -0
  152. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/problem.cpp +0 -0
  153. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/problem.h +0 -0
  154. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/problem_polynom.cpp +0 -0
  155. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/problem_polynom.h +0 -0
  156. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/qp_error.cpp +0 -0
  157. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/qp_error.h +0 -0
  158. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/sparsity.cpp +0 -0
  159. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/sparsity.h +0 -0
  160. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/variable.cpp +0 -0
  161. {placo-0.9.10 → placo-0.9.12}/src/placo/problem/variable.h +0 -0
  162. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/axises_mask.cpp +0 -0
  163. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/axises_mask.h +0 -0
  164. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/cubic_spline.cpp +0 -0
  165. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/cubic_spline.h +0 -0
  166. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/cubic_spline_3d.cpp +0 -0
  167. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/cubic_spline_3d.h +0 -0
  168. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/directions.cpp +0 -0
  169. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/directions.h +0 -0
  170. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/polynom.cpp +0 -0
  171. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/polynom.h +0 -0
  172. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/prioritized.cpp +0 -0
  173. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/prioritized.h +0 -0
  174. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/segment.cpp +0 -0
  175. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/segment.h +0 -0
  176. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/utils.cpp +0 -0
  177. {placo-0.9.10 → placo-0.9.12}/src/placo/tools/utils.h +0 -0
  178. {placo-0.9.10 → placo-0.9.12}/wks.yml +0 -0
@@ -21,7 +21,10 @@ jobs:
21
21
  strategy:
22
22
  matrix:
23
23
  os: [macos-latest, ubuntu-latest, ubuntu-24.04-arm, macos-13]
24
- pyver: [cp39, cp310, cp311, cp312, cp313]
24
+ pyver: [cp38, cp39, cp310, cp311, cp312, cp313]
25
+ exclude:
26
+ - os: macos-latest
27
+ pyver: cp38
25
28
 
26
29
  steps:
27
30
  - uses: actions/checkout@v4
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: placo
3
- Version: 0.9.10
3
+ Version: 0.9.12
4
4
  Summary: PlaCo: Rhoban Planning and Control
5
- Requires-Python: >= 3.9
5
+ Requires-Python: >= 3.8
6
6
  License-Expression: MIT
7
7
  Author-email: Rhoban team <team@rhoban.com>
8
8
  Project-URL: Changelog, https://github.com/rhoban/placo/blob/main/CHANGELOG.md
@@ -10,12 +10,12 @@ Home-page: https://placo.readthedocs.io/en/latest/
10
10
  Project-URL: Repository, https://github.com/rhoban/placo.git
11
11
  Requires-Dist: cmeel
12
12
  Requires-Dist: eiquadprog >= 1.2.6, < 2
13
- Requires-Dist: pin == 3.7.0
13
+ Requires-Dist: pin==3.4.0
14
14
  Requires-Dist: rhoban-cmeel-jsoncpp
15
15
  Requires-Dist: meshcat
16
16
  Requires-Dist: ischedule
17
17
  Provides-Extra: build
18
- Requires-Dist: pin[build] == 3.7.0 ; extra == "build"
18
+ Requires-Dist: pin[build]==3.4.0 ; extra == "build"
19
19
  Requires-Dist: doxystub >= 0.1.7 ; extra == "build"
20
20
  Requires-Dist: cmake<4 ; extra == "build"
21
21
  Description-Content-Type: text/markdown
@@ -24,7 +24,9 @@ void exposeFootsteps()
24
24
  .add_property("side", &FootstepsPlanner::Footstep::side, &FootstepsPlanner::Footstep::side)
25
25
  .add_property("foot_length", &FootstepsPlanner::Footstep::foot_length, &FootstepsPlanner::Footstep::foot_length)
26
26
  .add_property("foot_width", &FootstepsPlanner::Footstep::foot_width, &FootstepsPlanner::Footstep::foot_width)
27
- .add_property("frame", &FootstepsPlanner::Footstep::frame, &FootstepsPlanner::Footstep::frame)
27
+ .add_property(
28
+ "frame", +[](FootstepsPlanner::Footstep& footstep) { return footstep.frame; },
29
+ &FootstepsPlanner::Footstep::frame)
28
30
  .def(
29
31
  "set_frame_xy",
30
32
  +[](FootstepsPlanner::Footstep& footstep, double x, double y) {
@@ -49,12 +49,14 @@ void exposeParameters()
49
49
  .add_property("walk_dtheta_spacing", &HumanoidParameters::walk_dtheta_spacing,
50
50
  &HumanoidParameters::walk_dtheta_spacing)
51
51
  .add_property("op_space_polygon", &HumanoidParameters::op_space_polygon, &HumanoidParameters::op_space_polygon)
52
- .add_property("dcm_offset_polygon", &HumanoidParameters::dcm_offset_polygon, &HumanoidParameters::dcm_offset_polygon)
52
+ .add_property("dcm_offset_polygon", &HumanoidParameters::dcm_offset_polygon,
53
+ &HumanoidParameters::dcm_offset_polygon)
53
54
  .def("dt", &HumanoidParameters::dt)
54
55
  .def("double_support_timesteps", &HumanoidParameters::double_support_timesteps)
55
56
  .def("startend_double_support_timesteps", &HumanoidParameters::startend_double_support_timesteps)
56
57
  .def("double_support_duration", &HumanoidParameters::double_support_duration)
57
58
  .def("startend_double_support_duration", &HumanoidParameters::startend_double_support_duration)
58
59
  .def("has_double_support", &HumanoidParameters::has_double_support)
59
- .def("ellipsoid_clip", &HumanoidParameters::ellipsoid_clip);
60
+ .def("ellipsoid_clip", &HumanoidParameters::ellipsoid_clip)
61
+ .def("ellipsoid_overlap_clip", &HumanoidParameters::ellipsoid_overlap_clip);
60
62
  }
@@ -3,7 +3,7 @@ build-backend = "cmeel"
3
3
  requires = [
4
4
  "cmeel[build]",
5
5
  "eiquadprog >= 1.2.6, < 2",
6
- "pin[build] == 3.7.0",
6
+ "pin[build]==3.4.0",
7
7
  "rhoban-cmeel-jsoncpp",
8
8
  "doxystub >= 0.1.7",
9
9
  "cmake<4"
@@ -14,7 +14,7 @@ authors = [{ email = "team@rhoban.com", name = "Rhoban team" }]
14
14
  classifiers = []
15
15
  dependencies = [
16
16
  "eiquadprog >= 1.2.6, < 2",
17
- "pin == 3.7.0",
17
+ "pin==3.4.0",
18
18
  "rhoban-cmeel-jsoncpp",
19
19
  "meshcat",
20
20
  "ischedule"
@@ -22,8 +22,8 @@ dependencies = [
22
22
  description = "PlaCo: Rhoban Planning and Control"
23
23
  license = "MIT"
24
24
  name = "placo"
25
- requires-python = ">= 3.9"
26
- version = "0.9.10"
25
+ requires-python = ">= 3.8"
26
+ version = "0.9.12"
27
27
 
28
28
  [project.urls]
29
29
  changelog = "https://github.com/rhoban/placo/blob/main/CHANGELOG.md"
@@ -1,5 +1,7 @@
1
1
  #include <cmath>
2
2
  #include "placo/humanoid/humanoid_parameters.h"
3
+ #include "placo/humanoid/footsteps_planner_repetitive.h"
4
+ #include "placo/tools/utils.h"
3
5
 
4
6
  namespace placo::humanoid
5
7
  {
@@ -53,6 +55,31 @@ Eigen::Vector3d HumanoidParameters::ellipsoid_clip(Eigen::Vector3d step)
53
55
  return step;
54
56
  }
55
57
 
58
+ Eigen::Vector3d HumanoidParameters::ellipsoid_overlap_clip(HumanoidRobot::Side support_side, Eigen::Vector3d step)
59
+ {
60
+ FootstepsPlannerRepetitive planner(*this);
61
+ planner.configure(step.x(), step.y(), step.z(), 3);
62
+
63
+ // Creatting footsteps
64
+ Eigen::Affine3d T_world_left = Eigen::Affine3d::Identity();
65
+ T_world_left.translate(Eigen::Vector3d(0, feet_spacing / 2., 0));
66
+ Eigen::Affine3d T_world_right = Eigen::Affine3d::Identity();
67
+ T_world_right.translate(Eigen::Vector3d(0, -feet_spacing / 2, 0));
68
+
69
+ auto footsteps =
70
+ planner.plan(support_side == HumanoidRobot::Side::Left ? HumanoidRobot::Side::Right : HumanoidRobot::Side::Left,
71
+ T_world_left, T_world_right);
72
+
73
+ Eigen::Affine3d T_world_support = footsteps[1].frame;
74
+ Eigen::Affine3d T_world_target = footsteps[2].frame;
75
+ Eigen::Affine3d T_support_target = T_world_support.inverse() * T_world_target;
76
+
77
+ double offset = (support_side == HumanoidRobot::Side::Left) ? -feet_spacing : feet_spacing;
78
+
79
+ return Eigen::Vector3d(T_support_target.translation().x(), T_support_target.translation().y() - offset,
80
+ tools::frame_yaw(T_support_target.rotation()));
81
+ }
82
+
56
83
  Eigen::Affine3d HumanoidParameters::opposite_frame(HumanoidRobot::Side side, Eigen::Affine3d T_world_foot, double d_x,
57
84
  double d_y, double d_theta)
58
85
  {
@@ -166,6 +166,11 @@ public:
166
166
  */
167
167
  Eigen::Vector3d ellipsoid_clip(Eigen::Vector3d step);
168
168
 
169
+ /**
170
+ * @brief Clips a step using ellipsoid and overlap avoidance
171
+ */
172
+ Eigen::Vector3d ellipsoid_overlap_clip(HumanoidRobot::Side support_side, Eigen::Vector3d step);
173
+
169
174
  /**
170
175
  * @brief Frames for opposite and neutral positions
171
176
  */
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes