placo 0.5.6__tar.gz → 0.5.9__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 (167) hide show
  1. {placo-0.5.6 → placo-0.5.9}/CMakeLists.txt +0 -1
  2. {placo-0.5.6 → placo-0.5.9}/PKG-INFO +1 -1
  3. {placo-0.5.6 → placo-0.5.9}/bindings/expose-dynamics.cpp +11 -16
  4. {placo-0.5.6 → placo-0.5.9}/bindings/expose-kinematics.cpp +1 -2
  5. {placo-0.5.6 → placo-0.5.9}/bindings/expose-robot-wrapper.cpp +2 -1
  6. {placo-0.5.6 → placo-0.5.9}/bindings/expose-tools.cpp +2 -0
  7. {placo-0.5.6 → placo-0.5.9}/placo.pyi +93 -231
  8. {placo-0.5.6 → placo-0.5.9}/pyproject.toml +1 -1
  9. placo-0.5.9/python/placo_utils/view.py +37 -0
  10. {placo-0.5.6 → placo-0.5.9}/python/placo_utils/visualization.py +6 -1
  11. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/avoid_self_collisions_constraint.cpp +1 -1
  12. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/contacts.cpp +29 -59
  13. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/contacts.h +8 -40
  14. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/dynamics_solver.cpp +94 -64
  15. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/dynamics_solver.h +32 -41
  16. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/position_task.cpp +5 -6
  17. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/position_task.h +5 -0
  18. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/relative_position_task.h +1 -1
  19. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/task.cpp +1 -1
  20. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/task.h +2 -7
  21. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/walk_tasks.cpp +1 -1
  22. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/kinematics_solver.cpp +0 -17
  23. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/kinematics_solver.h +0 -7
  24. {placo-0.5.6 → placo-0.5.9}/src/placo/model/robot_wrapper.cpp +23 -3
  25. {placo-0.5.6 → placo-0.5.9}/src/placo/model/robot_wrapper.h +5 -0
  26. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/cubic_spline.cpp +14 -0
  27. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/cubic_spline.h +14 -1
  28. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/cubic_spline_3d.cpp +5 -0
  29. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/cubic_spline_3d.h +7 -0
  30. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/utils.cpp +4 -0
  31. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/utils.h +1 -1
  32. placo-0.5.6/src/placo/dynamics/reaction_ratio_constraint.cpp +0 -30
  33. placo-0.5.6/src/placo/dynamics/reaction_ratio_constraint.h +0 -27
  34. {placo-0.5.6 → placo-0.5.9}/.clang-format +0 -0
  35. {placo-0.5.6 → placo-0.5.9}/.gitattributes +0 -0
  36. {placo-0.5.6 → placo-0.5.9}/.gitignore +0 -0
  37. {placo-0.5.6 → placo-0.5.9}/.readthedocs.yaml +0 -0
  38. {placo-0.5.6 → placo-0.5.9}/Doxyfile +0 -0
  39. {placo-0.5.6 → placo-0.5.9}/LICENSE +0 -0
  40. {placo-0.5.6 → placo-0.5.9}/Makefile +0 -0
  41. {placo-0.5.6 → placo-0.5.9}/README.md +0 -0
  42. {placo-0.5.6 → placo-0.5.9}/bindings/expose-eigen.cpp +0 -0
  43. {placo-0.5.6 → placo-0.5.9}/bindings/expose-footsteps.cpp +0 -0
  44. {placo-0.5.6 → placo-0.5.9}/bindings/expose-parameters.cpp +0 -0
  45. {placo-0.5.6 → placo-0.5.9}/bindings/expose-problem.cpp +0 -0
  46. {placo-0.5.6 → placo-0.5.9}/bindings/expose-utils.hpp +0 -0
  47. {placo-0.5.6 → placo-0.5.9}/bindings/expose-walk-pattern-generator.cpp +0 -0
  48. {placo-0.5.6 → placo-0.5.9}/bindings/module.cpp +0 -0
  49. {placo-0.5.6 → placo-0.5.9}/bindings/module.h +0 -0
  50. {placo-0.5.6 → placo-0.5.9}/bindings/registry.cpp +0 -0
  51. {placo-0.5.6 → placo-0.5.9}/bindings/registry.h +0 -0
  52. {placo-0.5.6 → placo-0.5.9}/doxygen_parse.py +0 -0
  53. {placo-0.5.6 → placo-0.5.9}/python/.vscode/settings.json +0 -0
  54. {placo-0.5.6 → placo-0.5.9}/python/Makefile +0 -0
  55. {placo-0.5.6 → placo-0.5.9}/python/placo_utils/__init__.py +0 -0
  56. {placo-0.5.6 → placo-0.5.9}/python/placo_utils/tf.py +0 -0
  57. {placo-0.5.6 → placo-0.5.9}/python/run_tests.sh +0 -0
  58. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/avoid_self_collisions_constraint.h +0 -0
  59. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/com_task.cpp +0 -0
  60. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/com_task.h +0 -0
  61. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/constraint.cpp +0 -0
  62. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/constraint.h +0 -0
  63. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/frame_task.cpp +0 -0
  64. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/frame_task.h +0 -0
  65. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/gear_task.cpp +0 -0
  66. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/gear_task.h +0 -0
  67. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/joints_task.cpp +0 -0
  68. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/joints_task.h +0 -0
  69. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/orientation_task.cpp +0 -0
  70. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/orientation_task.h +0 -0
  71. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/relative_frame_task.cpp +0 -0
  72. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/relative_frame_task.h +0 -0
  73. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/relative_orientation_task.cpp +0 -0
  74. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/relative_orientation_task.h +0 -0
  75. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/relative_position_task.cpp +0 -0
  76. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/torque_task.cpp +0 -0
  77. {placo-0.5.6 → placo-0.5.9}/src/placo/dynamics/torque_task.h +0 -0
  78. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/foot_trajectory.cpp +0 -0
  79. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/foot_trajectory.h +0 -0
  80. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/footsteps_planner.cpp +0 -0
  81. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/footsteps_planner.h +0 -0
  82. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/footsteps_planner_naive.cpp +0 -0
  83. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/footsteps_planner_naive.h +0 -0
  84. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/footsteps_planner_repetitive.cpp +0 -0
  85. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/footsteps_planner_repetitive.h +0 -0
  86. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/humanoid_parameters.cpp +0 -0
  87. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/humanoid_parameters.h +0 -0
  88. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/humanoid_robot.cpp +0 -0
  89. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/humanoid_robot.h +0 -0
  90. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/kick.cpp +0 -0
  91. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/kick.h +0 -0
  92. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/lipm.cpp +0 -0
  93. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/lipm.h +0 -0
  94. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/swing_foot.cpp +0 -0
  95. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/swing_foot.h +0 -0
  96. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/swing_foot_cubic.cpp +0 -0
  97. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/swing_foot_cubic.h +0 -0
  98. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/swing_foot_quintic.cpp +0 -0
  99. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/swing_foot_quintic.h +0 -0
  100. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/walk_pattern_generator.cpp +0 -0
  101. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/walk_pattern_generator.h +0 -0
  102. {placo-0.5.6 → placo-0.5.9}/src/placo/humanoid/walk_tasks.h +0 -0
  103. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/avoid_self_collisions_constraint.cpp +0 -0
  104. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/avoid_self_collisions_constraint.h +0 -0
  105. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/axis_align_task.cpp +0 -0
  106. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/axis_align_task.h +0 -0
  107. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/centroidal_momentum_task.cpp +0 -0
  108. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/centroidal_momentum_task.h +0 -0
  109. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/com_polygon_constraint.cpp +0 -0
  110. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/com_polygon_constraint.h +0 -0
  111. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/com_task.cpp +0 -0
  112. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/com_task.h +0 -0
  113. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/cone_constraint.cpp +0 -0
  114. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/cone_constraint.h +0 -0
  115. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/constraint.cpp +0 -0
  116. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/constraint.h +0 -0
  117. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/distance_task.cpp +0 -0
  118. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/distance_task.h +0 -0
  119. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/frame_task.cpp +0 -0
  120. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/frame_task.h +0 -0
  121. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/gear_task.cpp +0 -0
  122. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/gear_task.h +0 -0
  123. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/joints_task.cpp +0 -0
  124. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/joints_task.h +0 -0
  125. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/kinetic_energy_regularization_task.cpp +0 -0
  126. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/kinetic_energy_regularization_task.h +0 -0
  127. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/manipulability_task.cpp +0 -0
  128. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/manipulability_task.h +0 -0
  129. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/orientation_task.cpp +0 -0
  130. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/orientation_task.h +0 -0
  131. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/position_task.cpp +0 -0
  132. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/position_task.h +0 -0
  133. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/regularization_task.cpp +0 -0
  134. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/regularization_task.h +0 -0
  135. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/relative_frame_task.cpp +0 -0
  136. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/relative_frame_task.h +0 -0
  137. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/relative_orientation_task.cpp +0 -0
  138. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/relative_orientation_task.h +0 -0
  139. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/relative_position_task.cpp +0 -0
  140. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/relative_position_task.h +0 -0
  141. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/task.cpp +0 -0
  142. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/task.h +0 -0
  143. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/wheel_task.cpp +0 -0
  144. {placo-0.5.6 → placo-0.5.9}/src/placo/kinematics/wheel_task.h +0 -0
  145. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/constraint.cpp +0 -0
  146. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/constraint.h +0 -0
  147. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/expression.cpp +0 -0
  148. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/expression.h +0 -0
  149. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/integrator.cpp +0 -0
  150. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/integrator.h +0 -0
  151. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/polygon_constraint.cpp +0 -0
  152. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/polygon_constraint.h +0 -0
  153. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/problem.cpp +0 -0
  154. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/problem.h +0 -0
  155. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/qp_error.cpp +0 -0
  156. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/qp_error.h +0 -0
  157. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/sparsity.cpp +0 -0
  158. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/sparsity.h +0 -0
  159. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/variable.cpp +0 -0
  160. {placo-0.5.6 → placo-0.5.9}/src/placo/problem/variable.h +0 -0
  161. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/axises_mask.cpp +0 -0
  162. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/axises_mask.h +0 -0
  163. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/prioritized.cpp +0 -0
  164. {placo-0.5.6 → placo-0.5.9}/src/placo/tools/prioritized.h +0 -0
  165. {placo-0.5.6 → placo-0.5.9}/stubs.py +0 -0
  166. {placo-0.5.6 → placo-0.5.9}/tweak_sdist.sh +0 -0
  167. {placo-0.5.6 → placo-0.5.9}/wks.yml +0 -0
@@ -102,7 +102,6 @@ add_library(libplaco SHARED
102
102
  src/placo/dynamics/dynamics_solver.cpp
103
103
  src/placo/dynamics/constraint.cpp
104
104
  src/placo/dynamics/avoid_self_collisions_constraint.cpp
105
- src/placo/dynamics/reaction_ratio_constraint.cpp
106
105
 
107
106
  ${PROTO_SRCS}
108
107
  ${PROTO_HDRS}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: placo
3
- Version: 0.5.6
3
+ Version: 0.5.9
4
4
  Summary: PlaCo: Rhoban Planning and Control
5
5
  Requires-Python: >= 3.8
6
6
  License-Expression: MIT
@@ -15,6 +15,7 @@ using namespace placo::model;
15
15
  // Overloads
16
16
  BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(solve_overloads, solve, 0, 1);
17
17
  BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(set_torque_overloads, set_torque, 2, 4);
18
+ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(set_joint_overloads, set_joint, 2, 4);
18
19
 
19
20
  void exposeDynamics()
20
21
  {
@@ -50,7 +51,10 @@ void exposeDynamics()
50
51
  .def(
51
52
  "position_task", +[](PointContact& contact) -> PositionTask& { return *contact.position_task; },
52
53
  return_internal_reference<>())
53
- .def_readwrite("unilateral", &PointContact::unilateral);
54
+ .def_readwrite("unilateral", &PointContact::unilateral)
55
+ .add_property(
56
+ "R_world_surface", +[](PointContact& contact) { return contact.R_world_surface; },
57
+ +[](PointContact& contact, Eigen::Matrix3d R) { contact.R_world_surface = R; });
54
58
 
55
59
  class__<Contact6D, bases<Contact>>("Contact6D", init<FrameTask&, bool>())
56
60
  .def(
@@ -64,10 +68,6 @@ void exposeDynamics()
64
68
  .def_readwrite("width", &Contact6D::width)
65
69
  .def("zmp", &Contact6D::zmp);
66
70
 
67
- class__<RelativePointContact, bases<Contact>>("RelativePointContact", init<RelativePositionTask&>());
68
-
69
- class__<Relative6DContact, bases<Contact>>("Relative6DContact", init<RelativeFrameTask&>());
70
-
71
71
  class__<ExternalWrenchContact, bases<Contact>>("ExternalWrenchContact", init<RobotWrapper::FrameIndex>())
72
72
  .add_property("frame_index", &ExternalWrenchContact::frame_index)
73
73
  .add_property(
@@ -81,24 +81,21 @@ void exposeDynamics()
81
81
  .add_property("problem", &DynamicsSolver::problem)
82
82
  .def_readwrite("damping", &DynamicsSolver::damping)
83
83
  .def_readwrite("dt", &DynamicsSolver::dt)
84
- .def_readwrite("qdd_safe", &DynamicsSolver::qdd_safe)
84
+ .def("set_qdd_safe", &DynamicsSolver::set_qdd_safe)
85
+ .def("set_torque_limit", &DynamicsSolver::set_torque_limit)
85
86
  .def_readwrite("gravity_only", &DynamicsSolver::gravity_only)
86
87
  .def_readwrite("torque_cost", &DynamicsSolver::torque_cost)
87
88
  .def("mask_fbase", &DynamicsSolver::mask_fbase)
88
89
  .def("add_point_contact", &DynamicsSolver::add_point_contact, return_internal_reference<>())
89
90
  .def("add_unilateral_point_contact", &DynamicsSolver::add_unilateral_point_contact, return_internal_reference<>())
90
- .def("add_relative_point_contact", &DynamicsSolver::add_relative_point_contact, return_internal_reference<>())
91
- .def("add_relative_fixed_contact", &DynamicsSolver::add_relative_fixed_contact, return_internal_reference<>())
92
91
  .def("add_planar_contact", &DynamicsSolver::add_planar_contact, return_internal_reference<>())
93
92
  .def("add_fixed_contact", &DynamicsSolver::add_fixed_contact, return_internal_reference<>())
94
- .def<ExternalWrenchContact& (DynamicsSolver::*)(std::string)>(
93
+ .def<ExternalWrenchContact& (DynamicsSolver::*)(std::string, std::string)>(
95
94
  "add_external_wrench_contact", &DynamicsSolver::add_external_wrench_contact, return_internal_reference<>())
96
95
  .def("add_puppet_contact", &DynamicsSolver::add_puppet_contact, return_internal_reference<>())
97
96
  .def("add_task_contact", &DynamicsSolver::add_task_contact, return_internal_reference<>())
98
97
  .def("add_avoid_self_collisions_constraint", &DynamicsSolver::add_avoid_self_collisions_constraint,
99
98
  return_internal_reference<>())
100
- .def("add_reaction_ratio_constraint", &DynamicsSolver::add_reaction_ratio_constraint,
101
- return_internal_reference<>())
102
99
  .def("enable_velocity_limits", &DynamicsSolver::enable_velocity_limits)
103
100
  .def("enable_velocity_vs_torque_limits", &DynamicsSolver::enable_velocity_vs_torque_limits)
104
101
  .def("enable_joint_limits", &DynamicsSolver::enable_joint_limits)
@@ -152,7 +149,6 @@ void exposeDynamics()
152
149
  "b", +[](const Task& task) { return task.b; })
153
150
  .add_property("kp", &Task::kp, &Task::kp)
154
151
  .add_property("kd", &Task::kd, &Task::kd)
155
- .add_property("critically_damped", &Task::critically_damped, &Task::critically_damped)
156
152
  .add_property("error", &Task::error)
157
153
  .add_property("derror", &Task::derror);
158
154
 
@@ -162,6 +158,8 @@ void exposeDynamics()
162
158
  "target_world", +[](const PositionTask& task) { return task.target_world; }, &PositionTask::target_world)
163
159
  .add_property(
164
160
  "dtarget_world", +[](const PositionTask& task) { return task.dtarget_world; }, &PositionTask::dtarget_world)
161
+ .add_property(
162
+ "ddtarget_world", +[](const PositionTask& task) { return task.dtarget_world; }, &PositionTask::ddtarget_world)
165
163
  .add_property("mask", &PositionTask::mask, &PositionTask::mask);
166
164
 
167
165
  class__<CoMTask, bases<Task>>("DynamicsCoMTask", init<Eigen::Vector3d>())
@@ -229,7 +227,7 @@ void exposeDynamics()
229
227
  .add_property("T_a_b", &RelativeFrameTask::get_T_a_b, &RelativeFrameTask::set_T_a_b);
230
228
 
231
229
  class__<JointsTask, bases<Task>>("DynamicsJointsTask", init<>())
232
- .def("set_joint", &JointsTask::set_joint)
230
+ .def("set_joint", &JointsTask::set_joint, set_joint_overloads())
233
231
  .def(
234
232
  "set_joints", +[](JointsTask& task,
235
233
  boost::python::dict& py_dict) { update_map<std::string, double>(task.joints, py_dict); })
@@ -251,7 +249,4 @@ void exposeDynamics()
251
249
  class__<AvoidSelfCollisionsConstraint, bases<Constraint>>("AvoidSelfCollisionsDynamicsConstraint", init<>())
252
250
  .def_readwrite("self_collisions_margin", &AvoidSelfCollisionsConstraint::self_collisions_margin)
253
251
  .def_readwrite("self_collisions_trigger", &AvoidSelfCollisionsConstraint::self_collisions_trigger);
254
-
255
- class__<ReactionRatioConstraint, bases<Constraint>>("DynamicsReactionRatioConstraint", init<Contact&, double>())
256
- .def_readwrite("reaction_ratio", &ReactionRatioConstraint::reaction_ratio);
257
252
  }
@@ -114,8 +114,7 @@ void exposeKinematics()
114
114
  .def<void (KinematicsSolver::*)(Task&)>("remove_task", &KinematicsSolver::remove_task)
115
115
  .def<void (KinematicsSolver::*)(FrameTask&)>("remove_task", &KinematicsSolver::remove_task)
116
116
  .def("remove_constraint", &KinematicsSolver::remove_constraint)
117
- .def("solve", &KinematicsSolver::solve)
118
- .def("add_q_noise", &KinematicsSolver::add_q_noise);
117
+ .def("solve", &KinematicsSolver::solve);
119
118
 
120
119
  class__<Task, bases<tools::Prioritized>, boost::noncopyable>("Task", no_init)
121
120
  .add_property(
@@ -125,7 +125,8 @@ void exposeRobotType(class_<RobotType, W1>& type)
125
125
  "joint_jacobian", +[](RobotType& robot, const std::string& joint,
126
126
  const std::string& reference) { return robot.joint_jacobian(joint, reference); })
127
127
  .def(
128
- "make_solver", +[](RobotType& robot) { return placo::kinematics::KinematicsSolver(robot); });
128
+ "make_solver", +[](RobotType& robot) { return placo::kinematics::KinematicsSolver(robot); })
129
+ .def("add_q_noise", &RobotType::add_q_noise);
129
130
  }
130
131
 
131
132
  void exposeRobotWrapper()
@@ -63,6 +63,7 @@ void exposeTools()
63
63
  class__<CubicSpline>("CubicSpline", init<optional<bool>>())
64
64
  .def("pos", &CubicSpline::pos)
65
65
  .def("vel", &CubicSpline::vel)
66
+ .def("acc", &CubicSpline::acc)
66
67
  .def("add_point", &CubicSpline::add_point)
67
68
  .def("clear", &CubicSpline::clear)
68
69
  .def("duration", &CubicSpline::duration);
@@ -70,6 +71,7 @@ void exposeTools()
70
71
  class__<CubicSpline3D>("CubicSpline3D")
71
72
  .def("pos", &CubicSpline3D::pos)
72
73
  .def("vel", &CubicSpline3D::vel)
74
+ .def("acc", &CubicSpline3D::acc)
73
75
  .def("add_point", &CubicSpline3D::add_point)
74
76
  .def("clear", &CubicSpline3D::clear)
75
77
  .def("duration", &CubicSpline3D::duration);