placo 0.6.5__0-cp310-cp310-manylinux_2_35_x86_64.whl → 0.7.0__0-cp310-cp310-manylinux_2_35_x86_64.whl

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.

Binary file
@@ -1,3 +1,4 @@
1
+ # Doxygen stubs generation
1
2
  import numpy
2
3
  import typing
3
4
  AvoidSelfCollisionsDynamicsConstraint = typing.NewType("AvoidSelfCollisionsDynamicsConstraint", None)
@@ -90,16 +91,13 @@ WPGTrajectoryPart = typing.NewType("WPGTrajectoryPart", None)
90
91
  WalkPatternGenerator = typing.NewType("WalkPatternGenerator", None)
91
92
  WalkTasks = typing.NewType("WalkTasks", None)
92
93
  WheelTask = typing.NewType("WheelTask", None)
94
+ boost_type_index = typing.NewType("boost_type_index", None)
93
95
  map_indexing_suite_map_string_double_entry = typing.NewType("map_indexing_suite_map_string_double_entry", None)
94
96
  map_string_double = typing.NewType("map_string_double", None)
97
+ std_type_index = typing.NewType("std_type_index", None)
95
98
  vector_Collision = typing.NewType("vector_Collision", None)
96
99
  vector_Distance = typing.NewType("vector_Distance", None)
97
100
  vector_MatrixXd = typing.NewType("vector_MatrixXd", None)
98
- vector_Vector2d = typing.NewType("vector_Vector2d", None)
99
- vector_Vector3d = typing.NewType("vector_Vector3d", None)
100
- vector_double = typing.NewType("vector_double", None)
101
- vector_int = typing.NewType("vector_int", None)
102
- vector_string = typing.NewType("vector_string", None)
103
101
  class AvoidSelfCollisionsDynamicsConstraint:
104
102
  def __init__(
105
103
  arg1: object,
@@ -3042,6 +3040,8 @@ class HumanoidParameters:
3042
3040
  ) -> None:
3043
3041
  ...
3044
3042
 
3043
+ dcm_offset_polygon: list[numpy.ndarray] # std::vector< Eigen::Vector2d >
3044
+
3045
3045
  def double_support_duration(
3046
3046
  self: HumanoidParameters,
3047
3047
 
@@ -3102,6 +3102,8 @@ class HumanoidParameters:
3102
3102
  """Checks if the walk resulting from those parameters will have double supports."""
3103
3103
  ...
3104
3104
 
3105
+ op_space_polygon: list[numpy.ndarray] # std::vector< Eigen::Vector2d >
3106
+
3105
3107
  planned_timesteps: int # int
3106
3108
  """Planning horizon for the CoM trajectory.
3107
3109
  """
@@ -7224,12 +7226,29 @@ class WPGTrajectory:
7224
7226
  ) -> numpy.ndarray:
7225
7227
  ...
7226
7228
 
7229
+ def get_part_end_dcm(
7230
+ self: WPGTrajectory,
7231
+ t: float, # double
7232
+ omega: float, # double
7233
+
7234
+ ) -> numpy.ndarray:
7235
+ """Returns the DCM at the end of the trajectory part corresponding to the given time."""
7236
+ ...
7237
+
7238
+ def get_part_t_end(
7239
+ self: WPGTrajectory,
7240
+ t: float, # double
7241
+
7242
+ ) -> float:
7243
+ """Returns the end time of the trajectory part corresponding to the given time."""
7244
+ ...
7245
+
7227
7246
  def get_part_t_start(
7228
7247
  self: WPGTrajectory,
7229
7248
  t: float, # double
7230
7249
 
7231
7250
  ) -> float:
7232
- """Returns the trajectory time start for the support corresponding to the given time."""
7251
+ """Returns the start time of the trajectory part corresponding to the given time."""
7233
7252
  ...
7234
7253
 
7235
7254
  def get_prev_support(
@@ -7342,19 +7361,24 @@ class WalkPatternGenerator:
7342
7361
  """Checks if a trajectory can be replanned for supports."""
7343
7362
  ...
7344
7363
 
7345
- def compute_next_support(
7364
+ def get_optimal_zmp(
7346
7365
  self: WalkPatternGenerator,
7347
- t: float, # double
7348
- current_support: Support, # placo::humanoid::FootstepsPlanner::Support
7349
- next_support: Support, # placo::humanoid::FootstepsPlanner::Support
7350
- world_measured_dcm: numpy.ndarray, # Eigen::Vector2d
7351
- world_initial_dcm: numpy.ndarray, # Eigen::Vector2d
7366
+ world_dcm_start: numpy.ndarray, # Eigen::Vector2d
7367
+ world_dcm_end: numpy.ndarray, # Eigen::Vector2d
7368
+ duration: float, # double
7369
+ support: Support, # placo::humanoid::FootstepsPlanner::Support
7352
7370
 
7353
- ) -> any:
7354
- """Computes the position and time of the next support ensuring the DCM viability based on the measured DCM.
7371
+ ) -> numpy.ndarray:
7372
+ """Computes the best ZMP in the support polygon to move de DCM from world_dcm_start to world_dcm_end in duration.
7355
7373
 
7356
7374
 
7357
- :param TODO:"""
7375
+ :param world_dcm_start: The initial DCM position in world frame
7376
+
7377
+ :param world_dcm_end: The desired final DCM position in world frame
7378
+
7379
+ :param duration: The duration
7380
+
7381
+ :param support: The support"""
7358
7382
  ...
7359
7383
 
7360
7384
  def plan(
@@ -7402,6 +7426,26 @@ class WalkPatternGenerator:
7402
7426
  """Replans the supports for a given trajectory given a footsteps planner."""
7403
7427
  ...
7404
7428
 
7429
+ def update_supports(
7430
+ self: WalkPatternGenerator,
7431
+ t: float, # double
7432
+ supports: list[Support], # std::vector<placo::humanoid::FootstepsPlanner::Support>
7433
+ world_measured_dcm: numpy.ndarray, # Eigen::Vector2d
7434
+ world_end_dcm: numpy.ndarray, # Eigen::Vector2d
7435
+
7436
+ ) -> list[Support]:
7437
+ """Updates the supports to ensure DCM viability by adjusting the duration and the target of the current swing trajectory.
7438
+
7439
+
7440
+ :param t: The current time
7441
+
7442
+ :param supports: The planned supports
7443
+
7444
+ :param world_measured_dcm: The measured DCM in world frame
7445
+
7446
+ :param world_end_dcm: The desired DCM at the end of the current support phase"""
7447
+ ...
7448
+
7405
7449
 
7406
7450
  class WalkTasks:
7407
7451
  def __init__(
@@ -7563,6 +7607,31 @@ class WheelTask:
7563
7607
  ...
7564
7608
 
7565
7609
 
7610
+ class boost_type_index:
7611
+ def __init__(
7612
+
7613
+ ) -> any:
7614
+ ...
7615
+
7616
+ def hash_code(
7617
+ self: boost_type_index,
7618
+
7619
+ ) -> int:
7620
+ ...
7621
+
7622
+ def name(
7623
+ self: boost_type_index,
7624
+
7625
+ ) -> str:
7626
+ ...
7627
+
7628
+ def pretty_name(
7629
+ self: boost_type_index,
7630
+
7631
+ ) -> str:
7632
+ ...
7633
+
7634
+
7566
7635
  def directions_2d(
7567
7636
  n: int, # int
7568
7637
 
@@ -7710,117 +7779,32 @@ def sharedMemory(
7710
7779
  ...
7711
7780
 
7712
7781
 
7713
- class vector_Collision:
7714
- def __init__(
7715
- arg1: object,
7716
-
7717
- ) -> None:
7718
- ...
7719
-
7720
- def append(
7721
- arg1: vector_Collision,
7722
- arg2: object,
7723
-
7724
- ) -> None:
7725
- ...
7726
-
7727
- def extend(
7728
- arg1: vector_Collision,
7729
- arg2: object,
7730
-
7731
- ) -> None:
7732
- ...
7733
-
7734
-
7735
- class vector_Distance:
7736
- def __init__(
7737
- arg1: object,
7738
-
7739
- ) -> None:
7740
- ...
7741
-
7742
- def append(
7743
- arg1: vector_Distance,
7744
- arg2: object,
7745
-
7746
- ) -> None:
7747
- ...
7748
-
7749
- def extend(
7750
- arg1: vector_Distance,
7751
- arg2: object,
7752
-
7753
- ) -> None:
7754
- ...
7755
-
7756
-
7757
- class vector_MatrixXd:
7758
- def __init__(
7759
- arg1: object,
7760
-
7761
- ) -> None:
7762
- ...
7763
-
7764
- def append(
7765
- arg1: vector_MatrixXd,
7766
- arg2: object,
7767
-
7768
- ) -> None:
7769
- ...
7770
-
7771
- def extend(
7772
- arg1: vector_MatrixXd,
7773
- arg2: object,
7774
-
7775
- ) -> None:
7776
- ...
7777
-
7778
-
7779
- class vector_Vector2d:
7782
+ class std_type_index:
7780
7783
  def __init__(
7781
- arg1: object,
7782
-
7783
- ) -> None:
7784
- ...
7785
-
7786
- def append(
7787
- arg1: vector_Vector2d,
7788
- arg2: object,
7789
-
7790
- ) -> None:
7791
- ...
7792
-
7793
- def extend(
7794
- arg1: vector_Vector2d,
7795
- arg2: object,
7796
7784
 
7797
- ) -> None:
7785
+ ) -> any:
7798
7786
  ...
7799
7787
 
7788
+ def hash_code(
7789
+ self: std_type_index,
7800
7790
 
7801
- class vector_Vector3d:
7802
- def __init__(
7803
- arg1: object,
7804
-
7805
- ) -> None:
7791
+ ) -> int:
7806
7792
  ...
7807
7793
 
7808
- def append(
7809
- arg1: vector_Vector3d,
7810
- arg2: object,
7794
+ def name(
7795
+ self: std_type_index,
7811
7796
 
7812
- ) -> None:
7797
+ ) -> str:
7813
7798
  ...
7814
7799
 
7815
- def extend(
7816
- arg1: vector_Vector3d,
7817
- arg2: object,
7800
+ def pretty_name(
7801
+ self: std_type_index,
7818
7802
 
7819
- ) -> None:
7803
+ ) -> str:
7820
7804
  ...
7821
7805
 
7822
7806
 
7823
- class vector_double:
7807
+ class vector_Collision:
7824
7808
  def __init__(
7825
7809
  arg1: object,
7826
7810
 
@@ -7828,21 +7812,21 @@ class vector_double:
7828
7812
  ...
7829
7813
 
7830
7814
  def append(
7831
- arg1: vector_double,
7815
+ arg1: vector_Collision,
7832
7816
  arg2: object,
7833
7817
 
7834
7818
  ) -> None:
7835
7819
  ...
7836
7820
 
7837
7821
  def extend(
7838
- arg1: vector_double,
7822
+ arg1: vector_Collision,
7839
7823
  arg2: object,
7840
7824
 
7841
7825
  ) -> None:
7842
7826
  ...
7843
7827
 
7844
7828
 
7845
- class vector_int:
7829
+ class vector_Distance:
7846
7830
  def __init__(
7847
7831
  arg1: object,
7848
7832
 
@@ -7850,21 +7834,21 @@ class vector_int:
7850
7834
  ...
7851
7835
 
7852
7836
  def append(
7853
- arg1: vector_int,
7837
+ arg1: vector_Distance,
7854
7838
  arg2: object,
7855
7839
 
7856
7840
  ) -> None:
7857
7841
  ...
7858
7842
 
7859
7843
  def extend(
7860
- arg1: vector_int,
7844
+ arg1: vector_Distance,
7861
7845
  arg2: object,
7862
7846
 
7863
7847
  ) -> None:
7864
7848
  ...
7865
7849
 
7866
7850
 
7867
- class vector_string:
7851
+ class vector_MatrixXd:
7868
7852
  def __init__(
7869
7853
  arg1: object,
7870
7854
 
@@ -7872,14 +7856,14 @@ class vector_string:
7872
7856
  ...
7873
7857
 
7874
7858
  def append(
7875
- arg1: vector_string,
7859
+ arg1: vector_MatrixXd,
7876
7860
  arg2: object,
7877
7861
 
7878
7862
  ) -> None:
7879
7863
  ...
7880
7864
 
7881
7865
  def extend(
7882
- arg1: vector_string,
7866
+ arg1: vector_MatrixXd,
7883
7867
  arg2: object,
7884
7868
 
7885
7869
  ) -> None:
@@ -1,5 +1,6 @@
1
1
  import meshcat
2
2
  import pinocchio as pin
3
+ import pinocchio.visualize as pin_viz
3
4
  import numpy as np
4
5
  import meshcat.geometry as g
5
6
  import meshcat.transformations as tf
@@ -26,7 +27,7 @@ def get_viewer() -> meshcat.Visualizer:
26
27
 
27
28
  def robot_viz(
28
29
  robot: placo.RobotWrapper, name: str = "robot"
29
- ) -> pin.visualize.MeshcatVisualizer:
30
+ ) -> pin_viz.MeshcatVisualizer:
30
31
  """
31
32
  Builds an instance of pinocchio MeshcatVisualizer, which allows to push the model to the meshcat
32
33
  visualizer passed as parameter
@@ -38,7 +39,7 @@ def robot_viz(
38
39
  global robot_names
39
40
 
40
41
  robot_names[robot] = name
41
- viz = pin.visualize.MeshcatVisualizer(
42
+ viz = pin_viz.MeshcatVisualizer(
42
43
  robot.model, robot.collision_model, robot.visual_model
43
44
  )
44
45
  viz.initViewer(viewer=get_viewer())
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: placo
3
- Version: 0.6.5
3
+ Version: 0.7.0
4
4
  Summary: PlaCo: Rhoban Planning and Control
5
- Requires-Python: >= 3.8
5
+ Requires-Python: >= 3.9
6
6
  License-Expression: MIT
7
7
  License-File: LICENSE
8
8
  Author-email: Rhoban team <team@rhoban.com>
@@ -11,14 +11,12 @@ Home-page: https://placo.readthedocs.io/en/latest/
11
11
  Project-URL: Repository, https://github.com/rhoban/placo.git
12
12
  Requires-Dist: cmeel
13
13
  Requires-Dist: eiquadprog >= 1.2.6, < 2
14
- Requires-Dist: pin >= 2.6.18, < 3
14
+ Requires-Dist: pin >= 3
15
15
  Requires-Dist: rhoban-cmeel-jsoncpp
16
16
  Requires-Dist: meshcat
17
- Requires-Dist: numpy<2
18
17
  Requires-Dist: ischedule
19
18
  Provides-Extra: build
20
- Requires-Dist: pin[build] >= 2.6.18, < 3 ; extra == "build"
21
- Requires-Dist: cmeel-urdfdom[build] ; extra == "build"
19
+ Requires-Dist: pin[build] >= 3 ; extra == "build"
22
20
  Description-Content-Type: text/markdown
23
21
 
24
22
  <img width="400" src="https://placo.readthedocs.io/en/latest/_static/placo.png" />
@@ -0,0 +1,12 @@
1
+ cmeel.prefix/lib/liblibplaco.so,sha256=Kss_9m8cwF-CMHjGAQ59M-yaND6P3rGL6Yazls7KpXk,2025088
2
+ cmeel.prefix/lib/python3.10/site-packages/placo.pyi,sha256=mnQkavsOZxq78ZBNN0f5our9wQ2OPefGq3hagObh_nI,165939
3
+ cmeel.prefix/lib/python3.10/site-packages/placo.so,sha256=DnhhsNkIQ5DO1zRV06V7kh2E3WjyWtMmBVYMLEdeSys,8266104
4
+ cmeel.prefix/lib/python3.10/site-packages/placo_utils/__init__.py,sha256=UN-fc5KfBWQ-_qkm0Ajouh-T9tBGm5aUtuzBiH1tRtk,80
5
+ cmeel.prefix/lib/python3.10/site-packages/placo_utils/tf.py,sha256=fFRXNbeLlXzn5VOqYl7hcSuvOOtTDTiLi_Lpd9_l6wA,36
6
+ cmeel.prefix/lib/python3.10/site-packages/placo_utils/view.py,sha256=7KiLYGpTKaPJtFHZ6kjERdOzJiPSDUtkIKHbziHpkYk,928
7
+ cmeel.prefix/lib/python3.10/site-packages/placo_utils/visualization.py,sha256=8exPggKw-njoJ9YDKgxFdpYoqiscNqnfvdsAC30iJCk,8227
8
+ placo-0.7.0.dist-info/licenses/LICENSE,sha256=q2bBXvk4Eh7TmP11LoIOIGSUuJbR30JBI6ZZ37g52T4,1061
9
+ placo-0.7.0.dist-info/METADATA,sha256=ubfE-qcTspVcod08RxCqL1R_Qyd3AtCKI40yVd0jQRg,2525
10
+ placo-0.7.0.dist-info/WHEEL,sha256=CGpSWoBURgVtaMPvLWXBsECBIFvGPsCx-wd2AU5rQ8c,115
11
+ placo-0.7.0.dist-info/top_level.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ placo-0.7.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: cmeel 0.57.1
2
+ Generator: cmeel 0.57.3
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-manylinux_2_35_x86_64
5
5
  Build: 0
@@ -1,15 +0,0 @@
1
- cmeel.prefix/lib/liblibplaco.so,sha256=JHPCSivZCpUJilIWFEzM8EC9fp7mWKb5UMiplzI6Y0Q,2619816
2
- cmeel.prefix/lib/python3.10/site-packages/placo.pyi,sha256=7qqoiIhhkYkGKgIuYE9NV1InLRwFwO3VBMjnUnL2LaE,165405
3
- cmeel.prefix/lib/python3.10/site-packages/placo.so,sha256=haijm8VCNbRolUpwCWsZuOmxRJxkr-4UjpuSwocy3X4,8201384
4
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/__init__.py,sha256=UN-fc5KfBWQ-_qkm0Ajouh-T9tBGm5aUtuzBiH1tRtk,80
5
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/tf.py,sha256=fFRXNbeLlXzn5VOqYl7hcSuvOOtTDTiLi_Lpd9_l6wA,36
6
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/view.py,sha256=7KiLYGpTKaPJtFHZ6kjERdOzJiPSDUtkIKHbziHpkYk,928
7
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/visualization.py,sha256=6ET7YkZBuIWoJg2qVO-rPt3Nj4ZnezyvGAe458G4VGo,8201
8
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/__pycache__/__init__.cpython-310.pyc,sha256=tJrTajdA7hNO9tZkE1oN49rU-61lCNUED-mQXdAvzAs,261
9
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/__pycache__/tf.cpython-310.pyc,sha256=APWQ5-zKgbEcMnkv6Hxgj_Q46jpnuOyL9YbSrj6Z5Vw,204
10
- cmeel.prefix/lib/python3.10/site-packages/placo_utils/__pycache__/visualization.cpython-310.pyc,sha256=kMdmKY2LZKM4rkKm4j0y-TOMBQ3PeVIpbfB_YJxNz5c,6781
11
- placo-0.6.5.dist-info/licenses/LICENSE,sha256=q2bBXvk4Eh7TmP11LoIOIGSUuJbR30JBI6ZZ37g52T4,1061
12
- placo-0.6.5.dist-info/METADATA,sha256=lvTtWBMQSRl3ZM85U5-DlJ57HNEiDwpnD7cMrrxBNP4,2622
13
- placo-0.6.5.dist-info/WHEEL,sha256=lhhHTnYbOJzqsg4pPctu5MqgY8RxNHlH5gszBU8FPYs,115
14
- placo-0.6.5.dist-info/top_level.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- placo-0.6.5.dist-info/RECORD,,