placo 0.4.6__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)
@@ -1796,8 +1798,6 @@ class DynamicsSolver:
1796
1798
  """Adds a joints task.
1797
1799
 
1798
1800
 
1799
- :param target: target joints values
1800
-
1801
1801
  :return: joints task"""
1802
1802
  ...
1803
1803
 
@@ -1994,6 +1994,16 @@ class DynamicsSolver:
1994
1994
  :return: task contact"""
1995
1995
  ...
1996
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
+
1997
2007
  def add_unilateral_point_contact(
1998
2008
  self: DynamicsSolver,
1999
2009
  position_task: DynamicsPositionTask, # placo::dynamics::PositionTask
@@ -2086,10 +2096,6 @@ class DynamicsSolver:
2086
2096
  """Decides if the floating base should be masked."""
2087
2097
  ...
2088
2098
 
2089
- optimize_contact_forces: bool # bool
2090
- """If true, the solver will try to optimize the contact forces by removing variables.
2091
- """
2092
-
2093
2099
  problem: Problem # placo::problem::Problem
2094
2100
  """Instance of the problem.
2095
2101
  """
@@ -2153,17 +2159,6 @@ class DynamicsSolver:
2153
2159
  :param kd: kd gain if the joint is a spring (0 by default)"""
2154
2160
  ...
2155
2161
 
2156
- def set_static(
2157
- self: DynamicsSolver,
2158
- is_static: bool, # bool
2159
-
2160
- ) -> None:
2161
- """Sets the robot as static, this will impose the joint accelerations to be zero.
2162
-
2163
-
2164
- :param is_static: whether the robot should be static"""
2165
- ...
2166
-
2167
2162
  def solve(
2168
2163
  self: DynamicsSolver,
2169
2164
  integrate: bool = False, # bool
@@ -2253,6 +2248,81 @@ class DynamicsTask:
2253
2248
  """
2254
2249
 
2255
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
+
2256
2326
  class Exception:
2257
2327
  def __init__(
2258
2328
  arg1: object,
@@ -3363,6 +3433,30 @@ class HumanoidRobot:
3363
3433
  ) -> HumanoidRobot_Side:
3364
3434
  ...
3365
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
+
3366
3460
  def integrate(
3367
3461
  self: HumanoidRobot,
3368
3462
  dt: float, # double
@@ -4180,6 +4274,19 @@ class KinematicsSolver:
4180
4274
  :return: joints task"""
4181
4275
  ...
4182
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
+
4183
4290
  def add_orientation_task(
4184
4291
  self: KinematicsSolver,
4185
4292
  frame: str, # std::string
@@ -4431,6 +4538,74 @@ class KinematicsSolver:
4431
4538
  ...
4432
4539
 
4433
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
+
4434
4609
  class LIPM:
4435
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.
4436
4611
  """
@@ -7027,4 +7202,4 @@ def wrap_angle(
7027
7202
  ...
7028
7203
 
7029
7204
 
7030
- __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.6
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=i1DP7aiiT29V20AUkzUUI-IiYj1NgDERwpjYsQcr8PU,2403184
2
- cmeel.prefix/lib/python3.10/site-packages/placo.pyi,sha256=HB_5dNRYuAvHO4ZvSAP1PmAAa1bCVNPUrCXj--Cd34w,145439
3
- cmeel.prefix/lib/python3.10/site-packages/placo.so,sha256=15wzTZ9yEayIoUDEREcmAA9weYF1KMuhlf646dJQXdM,9388056
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.6.dist-info/license/LICENSE,sha256=q2bBXvk4Eh7TmP11LoIOIGSUuJbR30JBI6ZZ37g52T4,1061
11
- placo-0.4.6.dist-info/METADATA,sha256=yAG6oo3mH3S0qLneOybQ-qfsPMUuHPYTI_bEUOF0gZc,873
12
- placo-0.4.6.dist-info/WHEEL,sha256=y7GzdFHC0qrZwnE2SqFjrXxL9NLtXflO9hVb0PhWwIU,115
13
- placo-0.4.6.dist-info/top_level.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- placo-0.4.6.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,,
File without changes