placo 0.4.5__0-cp310-cp310-manylinux_2_35_x86_64.whl → 0.4.7__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
@@ -29,6 +29,7 @@ DynamicsRelativePositionTask = typing.NewType("DynamicsRelativePositionTask", No
29
29
  DynamicsSolver = typing.NewType("DynamicsSolver", None)
30
30
  DynamicsSolverResult = typing.NewType("DynamicsSolverResult", None)
31
31
  DynamicsTask = typing.NewType("DynamicsTask", None)
32
+ DynamicsTorqueTask = typing.NewType("DynamicsTorqueTask", None)
32
33
  Exception = typing.NewType("Exception", None)
33
34
  Expression = typing.NewType("Expression", None)
34
35
  ExternalWrenchContact = typing.NewType("ExternalWrenchContact", None)
@@ -48,6 +49,7 @@ IntegratorTrajectory = typing.NewType("IntegratorTrajectory", None)
48
49
  JointsTask = typing.NewType("JointsTask", None)
49
50
  KinematicsConstraint = typing.NewType("KinematicsConstraint", None)
50
51
  KinematicsSolver = typing.NewType("KinematicsSolver", None)
52
+ KineticEnergyRegularizationTask = typing.NewType("KineticEnergyRegularizationTask", None)
51
53
  LIPM = typing.NewType("LIPM", None)
52
54
  LIPMTrajectory = typing.NewType("LIPMTrajectory", None)
53
55
  OrientationTask = typing.NewType("OrientationTask", None)
@@ -1113,6 +1115,23 @@ class DynamicsGearTask:
1113
1115
  ) -> None:
1114
1116
  ...
1115
1117
 
1118
+ def add_gear(
1119
+ self: DynamicsGearTask,
1120
+ target: str, # std::string
1121
+ source: str, # std::string
1122
+ ratio: float, # double
1123
+
1124
+ ) -> None:
1125
+ """Adds a gear constraint, you can add multiple source for the same target, they will be summed.
1126
+
1127
+
1128
+ :param target: target joint
1129
+
1130
+ :param source: source joint
1131
+
1132
+ :param ratio: ratio"""
1133
+ ...
1134
+
1116
1135
  b: numpy.ndarray # Eigen::MatrixXd
1117
1136
  """b vector in Ax = b, where x is the accelerations
1118
1137
  """
@@ -1779,8 +1798,6 @@ class DynamicsSolver:
1779
1798
  """Adds a joints task.
1780
1799
 
1781
1800
 
1782
- :param target: target joints values
1783
-
1784
1801
  :return: joints task"""
1785
1802
  ...
1786
1803
 
@@ -1977,6 +1994,16 @@ class DynamicsSolver:
1977
1994
  :return: task contact"""
1978
1995
  ...
1979
1996
 
1997
+ def add_torque_task(
1998
+ self: DynamicsSolver,
1999
+
2000
+ ) -> DynamicsTorqueTask:
2001
+ """Adds a torque task.
2002
+
2003
+
2004
+ :return: torque task"""
2005
+ ...
2006
+
1980
2007
  def add_unilateral_point_contact(
1981
2008
  self: DynamicsSolver,
1982
2009
  position_task: DynamicsPositionTask, # placo::dynamics::PositionTask
@@ -2057,10 +2084,18 @@ class DynamicsSolver:
2057
2084
  ) -> Contact:
2058
2085
  ...
2059
2086
 
2060
- optimize_contact_forces: bool # bool
2061
- """If true, the solver will try to optimize the contact forces by removing variables.
2087
+ gravity_only: bool # bool
2088
+ """Use gravity only (no coriolis, no centrifugal)
2062
2089
  """
2063
2090
 
2091
+ def mask_fbase(
2092
+ self: DynamicsSolver,
2093
+ masked: bool, # bool
2094
+
2095
+ ) -> None:
2096
+ """Decides if the floating base should be masked."""
2097
+ ...
2098
+
2064
2099
  problem: Problem # placo::problem::Problem
2065
2100
  """Instance of the problem.
2066
2101
  """
@@ -2124,19 +2159,9 @@ class DynamicsSolver:
2124
2159
  :param kd: kd gain if the joint is a spring (0 by default)"""
2125
2160
  ...
2126
2161
 
2127
- def set_static(
2128
- self: DynamicsSolver,
2129
- is_static: bool, # bool
2130
-
2131
- ) -> None:
2132
- """Sets the robot as static, this will impose the joint accelerations to be zero.
2133
-
2134
-
2135
- :param is_static: whether the robot should be static"""
2136
- ...
2137
-
2138
2162
  def solve(
2139
2163
  self: DynamicsSolver,
2164
+ integrate: bool = False, # bool
2140
2165
 
2141
2166
  ) -> DynamicsSolverResult:
2142
2167
  ...
@@ -2223,6 +2248,81 @@ class DynamicsTask:
2223
2248
  """
2224
2249
 
2225
2250
 
2251
+ class DynamicsTorqueTask:
2252
+ A: numpy.ndarray # Eigen::MatrixXd
2253
+ """A matrix in Ax = b, where x is the accelerations.
2254
+ """
2255
+
2256
+ def __init__(
2257
+ arg1: object,
2258
+
2259
+ ) -> None:
2260
+ ...
2261
+
2262
+ b: numpy.ndarray # Eigen::MatrixXd
2263
+ """b vector in Ax = b, where x is the accelerations
2264
+ """
2265
+
2266
+ def configure(
2267
+ self: DynamicsTorqueTask,
2268
+ name: str, # std::string
2269
+ priority: any, # placo::kinematics::ConeConstraint::Priority
2270
+ weight: float = 1.0, # double
2271
+
2272
+ ) -> None:
2273
+ """Configures the object.
2274
+
2275
+
2276
+ :param name: task name
2277
+
2278
+ :param priority: task priority (hard, soft or scaled)
2279
+
2280
+ :param weight: task weight"""
2281
+ ...
2282
+
2283
+ critically_damped: bool # bool
2284
+ """If this is true, kd will be computed from kp to have a critically damped system.
2285
+ """
2286
+
2287
+ derror: numpy.ndarray # Eigen::MatrixXd
2288
+ """Current velocity error vector.
2289
+ """
2290
+
2291
+ error: numpy.ndarray # Eigen::MatrixXd
2292
+ """Current error vector.
2293
+ """
2294
+
2295
+ kd: float # double
2296
+ """D gain for position control.
2297
+ """
2298
+
2299
+ kp: float # double
2300
+ """K gain for position control.
2301
+ """
2302
+
2303
+ name: str # std::string
2304
+ """Object name.
2305
+ """
2306
+
2307
+ priority: any # placo::kinematics::ConeConstraint::Priority
2308
+ """Object priority.
2309
+ """
2310
+
2311
+ def set_torque(
2312
+ self: DynamicsTorqueTask,
2313
+ joint: str, # std::string
2314
+ torque: float, # double
2315
+
2316
+ ) -> None:
2317
+ """Sets the target for a given joint.
2318
+
2319
+
2320
+ :param joint: joint name
2321
+
2322
+ :param torque: target torque"""
2323
+ ...
2324
+
2325
+
2226
2326
  class Exception:
2227
2327
  def __init__(
2228
2328
  arg1: object,
@@ -2810,6 +2910,23 @@ class GearTask:
2810
2910
  """see KinematicsSolver::add_gear_task"""
2811
2911
  ...
2812
2912
 
2913
+ def add_gear(
2914
+ self: GearTask,
2915
+ target: str, # std::string
2916
+ source: str, # std::string
2917
+ ratio: float, # double
2918
+
2919
+ ) -> None:
2920
+ """Adds a gear constraint, you can add multiple source for the same target, they will be summed.
2921
+
2922
+
2923
+ :param target: target joint
2924
+
2925
+ :param source: source joint
2926
+
2927
+ :param ratio: ratio"""
2928
+ ...
2929
+
2813
2930
  b: numpy.ndarray # Eigen::MatrixXd
2814
2931
  """Vector b in the task Ax = b, where x are the joint delta positions.
2815
2932
  """
@@ -3316,6 +3433,30 @@ class HumanoidRobot:
3316
3433
  ) -> HumanoidRobot_Side:
3317
3434
  ...
3318
3435
 
3436
+ def get_torques(
3437
+ self: HumanoidRobot,
3438
+ acc_a: numpy.ndarray, # Eigen::VectorXd
3439
+ contact_forces: numpy.ndarray, # Eigen::VectorXd
3440
+
3441
+ ) -> numpy.ndarray:
3442
+ """Compute the torques of the motors from the contact forces.
3443
+
3444
+
3445
+ :param acc_a: Accelerations of the actuated DoFs
3446
+
3447
+ :param contact_forces: Contact forces from the feet (forces are supposed normal to the ground)
3448
+
3449
+ :return: Torques of the motors"""
3450
+ ...
3451
+
3452
+ def get_torques_dict(
3453
+ arg1: HumanoidRobot,
3454
+ arg2: numpy.ndarray,
3455
+ arg3: numpy.ndarray,
3456
+
3457
+ ) -> dict:
3458
+ ...
3459
+
3319
3460
  def integrate(
3320
3461
  self: HumanoidRobot,
3321
3462
  dt: float, # double
@@ -3443,6 +3584,14 @@ class HumanoidRobot:
3443
3584
  :param T_world_frameTarget: transformation matrix"""
3444
3585
  ...
3445
3586
 
3587
+ def set_gravity(
3588
+ self: HumanoidRobot,
3589
+ gravity: numpy.ndarray, # Eigen::Vector3d
3590
+
3591
+ ) -> None:
3592
+ """Sets the gravity vector."""
3593
+ ...
3594
+
3446
3595
  def set_joint(
3447
3596
  self: HumanoidRobot,
3448
3597
  name: str, # const std::string &
@@ -4125,6 +4274,19 @@ class KinematicsSolver:
4125
4274
  :return: joints task"""
4126
4275
  ...
4127
4276
 
4277
+ def add_kinetic_energy_regularization_task(
4278
+ self: KinematicsSolver,
4279
+ magnitude: float = 1e-6, # double
4280
+
4281
+ ) -> KineticEnergyRegularizationTask:
4282
+ """Adds a kinetic energy regularization task for a given magnitude.
4283
+
4284
+
4285
+ :param magnitude: regularization magnitude
4286
+
4287
+ :return: regularization task"""
4288
+ ...
4289
+
4128
4290
  def add_orientation_task(
4129
4291
  self: KinematicsSolver,
4130
4292
  frame: str, # std::string
@@ -4376,6 +4538,74 @@ class KinematicsSolver:
4376
4538
  ...
4377
4539
 
4378
4540
 
4541
+ class KineticEnergyRegularizationTask:
4542
+ A: numpy.ndarray # Eigen::MatrixXd
4543
+ """Matrix A in the task Ax = b, where x are the joint delta positions.
4544
+ """
4545
+
4546
+ def __init__(
4547
+ arg1: object,
4548
+
4549
+ ) -> None:
4550
+ ...
4551
+
4552
+ b: numpy.ndarray # Eigen::MatrixXd
4553
+ """Vector b in the task Ax = b, where x are the joint delta positions.
4554
+ """
4555
+
4556
+ def configure(
4557
+ self: KineticEnergyRegularizationTask,
4558
+ name: str, # std::string
4559
+ priority: any, # placo::kinematics::ConeConstraint::Priority
4560
+ weight: float = 1.0, # double
4561
+
4562
+ ) -> None:
4563
+ """Configures the object.
4564
+
4565
+
4566
+ :param name: task name
4567
+
4568
+ :param priority: task priority (hard, soft or scaled)
4569
+
4570
+ :param weight: task weight"""
4571
+ ...
4572
+
4573
+ def error(
4574
+ self: KineticEnergyRegularizationTask,
4575
+
4576
+ ) -> numpy.ndarray:
4577
+ """Task errors (vector)
4578
+
4579
+
4580
+ :return: task errors"""
4581
+ ...
4582
+
4583
+ def error_norm(
4584
+ self: KineticEnergyRegularizationTask,
4585
+
4586
+ ) -> float:
4587
+ """The task error norm.
4588
+
4589
+
4590
+ :return: task error norm"""
4591
+ ...
4592
+
4593
+ name: str # std::string
4594
+ """Object name.
4595
+ """
4596
+
4597
+ priority: any # placo::kinematics::ConeConstraint::Priority
4598
+ """Object priority.
4599
+ """
4600
+
4601
+ def update(
4602
+ self: KineticEnergyRegularizationTask,
4603
+
4604
+ ) -> None:
4605
+ """Update the task A and b matrices from the robot state and targets."""
4606
+ ...
4607
+
4608
+
4379
4609
  class LIPM:
4380
4610
  """LIPM is an helper that can be used to build problem involving LIPM dynamics. The decision variables introduced here are jerks, which is piecewise constant.
4381
4611
  """
@@ -5660,6 +5890,14 @@ class RobotWrapper:
5660
5890
  :param T_world_frameTarget: transformation matrix"""
5661
5891
  ...
5662
5892
 
5893
+ def set_gravity(
5894
+ self: RobotWrapper,
5895
+ gravity: numpy.ndarray, # Eigen::Vector3d
5896
+
5897
+ ) -> None:
5898
+ """Sets the gravity vector."""
5899
+ ...
5900
+
5663
5901
  def set_joint(
5664
5902
  self: RobotWrapper,
5665
5903
  name: str, # const std::string &
@@ -6964,4 +7202,4 @@ def wrap_angle(
6964
7202
  ...
6965
7203
 
6966
7204
 
6967
- __groups__ = {'placo::dynamics': ['AvoidSelfCollisionsDynamicsConstraint', 'Contact', 'Contact6D', 'DynamicsCoMTask', 'DynamicsConstraint', 'DynamicsFrameTask', 'DynamicsGearTask', 'DynamicsJointsTask', 'DynamicsOrientationTask', 'DynamicsPositionTask', 'DynamicsReactionRatioConstraint', 'DynamicsRelativeFrameTask', 'DynamicsRelativeOrientationTask', 'DynamicsRelativePositionTask', 'DynamicsSolver', 'DynamicsSolverResult', 'DynamicsTask', 'ExternalWrenchContact', 'PointContact', 'PuppetContact', 'Relative6DContact', 'RelativePointContact', 'TaskContact'], 'placo::kinematics': ['AvoidSelfCollisionsKinematicsConstraint', 'AxisAlignTask', 'CentroidalMomentumTask', 'CoMPolygonConstraint', 'CoMTask', 'ConeConstraint', 'DistanceTask', 'FrameTask', 'GearTask', 'JointsTask', 'KinematicsConstraint', 'KinematicsSolver', 'OrientationTask', 'PositionTask', 'RegularizationTask', 'RelativeFrameTask', 'RelativeOrientationTask', 'RelativePositionTask', 'Task', 'WheelTask'], 'placo::tools': ['AxisesMask', 'CubicSpline', 'CubicSpline3D', 'Prioritized'], 'placo::model': ['Collision', 'Distance', 'RobotWrapper', 'RobotWrapper_State'], 'placo::problem': ['Expression', 'Integrator', 'IntegratorTrajectory', 'PolygonConstraint', 'Problem', 'ProblemConstraint', 'QPError', 'Sparsity', 'SparsityInterval', 'Variable'], 'placo::humanoid': ['Footstep', 'FootstepsPlanner', 'FootstepsPlannerNaive', 'FootstepsPlannerRepetitive', 'HumanoidParameters', 'HumanoidRobot', 'LIPM', 'LIPMTrajectory', 'Support', 'SwingFoot', 'SwingFootCubic', 'SwingFootCubicTrajectory', 'SwingFootQuintic', 'SwingFootQuinticTrajectory', 'SwingFootTrajectory', 'WalkPatternGenerator', 'WalkTasks', 'WalkTrajectory']}
7205
+ __groups__ = {'placo::dynamics': ['AvoidSelfCollisionsDynamicsConstraint', 'Contact', 'Contact6D', 'DynamicsCoMTask', 'DynamicsConstraint', 'DynamicsFrameTask', 'DynamicsGearTask', 'DynamicsJointsTask', 'DynamicsOrientationTask', 'DynamicsPositionTask', 'DynamicsReactionRatioConstraint', 'DynamicsRelativeFrameTask', 'DynamicsRelativeOrientationTask', 'DynamicsRelativePositionTask', 'DynamicsSolver', 'DynamicsSolverResult', 'DynamicsTask', 'DynamicsTorqueTask', 'ExternalWrenchContact', 'PointContact', 'PuppetContact', 'Relative6DContact', 'RelativePointContact', 'TaskContact'], 'placo::kinematics': ['AvoidSelfCollisionsKinematicsConstraint', 'AxisAlignTask', 'CentroidalMomentumTask', 'CoMPolygonConstraint', 'CoMTask', 'ConeConstraint', 'DistanceTask', 'FrameTask', 'GearTask', 'JointsTask', 'KinematicsConstraint', 'KinematicsSolver', 'KineticEnergyRegularizationTask', 'OrientationTask', 'PositionTask', 'RegularizationTask', 'RelativeFrameTask', 'RelativeOrientationTask', 'RelativePositionTask', 'Task', 'WheelTask'], 'placo::tools': ['AxisesMask', 'CubicSpline', 'CubicSpline3D', 'Prioritized'], 'placo::model': ['Collision', 'Distance', 'RobotWrapper', 'RobotWrapper_State'], 'placo::problem': ['Expression', 'Integrator', 'IntegratorTrajectory', 'PolygonConstraint', 'Problem', 'ProblemConstraint', 'QPError', 'Sparsity', 'SparsityInterval', 'Variable'], 'placo::humanoid': ['Footstep', 'FootstepsPlanner', 'FootstepsPlannerNaive', 'FootstepsPlannerRepetitive', 'HumanoidParameters', 'HumanoidRobot', 'LIPM', 'LIPMTrajectory', 'Support', 'SwingFoot', 'SwingFootCubic', 'SwingFootCubicTrajectory', 'SwingFootQuintic', 'SwingFootQuinticTrajectory', 'SwingFootTrajectory', 'WalkPatternGenerator', 'WalkTasks', 'WalkTrajectory']}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: placo
3
- Version: 0.4.5
3
+ Version: 0.4.7
4
4
  Summary: PlaCo: Rhoban Planning and Control
5
5
  Requires-Python: >= 3.8
6
6
  License-Expression: MIT
@@ -1,14 +1,14 @@
1
- cmeel.prefix/lib/liblibplaco.so,sha256=SA39xaY6XsnDSh-nnGkbZZmfS6HQHoA0-t-_jc1tKZA,2393592
2
- cmeel.prefix/lib/python3.10/site-packages/placo.pyi,sha256=C0EpOn-C1H-F8_4j2AYldJo4OheP27ooWgNeeXMeTRo,144147
3
- cmeel.prefix/lib/python3.10/site-packages/placo.so,sha256=B5XSflarQi8u_nlCP-6jKS5ohoHAUB_ZRkDWwoZciu0,8966048
1
+ cmeel.prefix/lib/liblibplaco.so,sha256=Ghp9w3LMZHMM6qA0P0MHoP32inOcHSN_m8X5frAYMVM,2542584
2
+ cmeel.prefix/lib/python3.10/site-packages/placo.pyi,sha256=Z-lQBk0WM4Fknz21dSlzARW3zCVRM_p8LC1p1r8T2SU,149114
3
+ cmeel.prefix/lib/python3.10/site-packages/placo.so,sha256=9Jkf4r8BBDCbdBllCEC9JLaAqgo-ebPs5HEKCpTOkpc,9477968
4
4
  cmeel.prefix/lib/python3.10/site-packages/placo_utils/__init__.py,sha256=UN-fc5KfBWQ-_qkm0Ajouh-T9tBGm5aUtuzBiH1tRtk,80
5
5
  cmeel.prefix/lib/python3.10/site-packages/placo_utils/tf.py,sha256=fFRXNbeLlXzn5VOqYl7hcSuvOOtTDTiLi_Lpd9_l6wA,36
6
6
  cmeel.prefix/lib/python3.10/site-packages/placo_utils/visualization.py,sha256=hCcU3oQSzb2Si6P9V6n9oEtgigy6N4vjUn_f-bEHfs8,7344
7
7
  cmeel.prefix/lib/python3.10/site-packages/placo_utils/__pycache__/__init__.cpython-310.pyc,sha256=tJrTajdA7hNO9tZkE1oN49rU-61lCNUED-mQXdAvzAs,261
8
8
  cmeel.prefix/lib/python3.10/site-packages/placo_utils/__pycache__/tf.cpython-310.pyc,sha256=APWQ5-zKgbEcMnkv6Hxgj_Q46jpnuOyL9YbSrj6Z5Vw,204
9
9
  cmeel.prefix/lib/python3.10/site-packages/placo_utils/__pycache__/visualization.cpython-310.pyc,sha256=0cG3me-2-43HytnSQYn-yhKHE2ccRQryeBPiU7Ux4-g,6430
10
- placo-0.4.5.dist-info/license/LICENSE,sha256=q2bBXvk4Eh7TmP11LoIOIGSUuJbR30JBI6ZZ37g52T4,1061
11
- placo-0.4.5.dist-info/METADATA,sha256=eYRhmmySAk_f42M8j6kEChUrpURLAqhCty7_Ej0LReE,873
12
- placo-0.4.5.dist-info/WHEEL,sha256=8W7mo9EVXKwUW3PeHvgN2Bfs-uWcwwHZwDuI-r6aJW4,115
13
- placo-0.4.5.dist-info/top_level.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- placo-0.4.5.dist-info/RECORD,,
10
+ placo-0.4.7.dist-info/license/LICENSE,sha256=q2bBXvk4Eh7TmP11LoIOIGSUuJbR30JBI6ZZ37g52T4,1061
11
+ placo-0.4.7.dist-info/METADATA,sha256=UQtbpEGfUnJFhRUcW60Q_Tz5u5Tq6fu77bnQv9rf5mA,873
12
+ placo-0.4.7.dist-info/WHEEL,sha256=y7GzdFHC0qrZwnE2SqFjrXxL9NLtXflO9hVb0PhWwIU,115
13
+ placo-0.4.7.dist-info/top_level.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ placo-0.4.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: cmeel 0.53.2
2
+ Generator: cmeel 0.53.3
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-manylinux_2_35_x86_64
5
5
  Build: 0