robotic 0.2.8.dev2__cp39-cp39-manylinux2014_x86_64.whl → 0.2.8.dev4__cp39-cp39-manylinux2014_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 robotic might be problematic. Click here for more details.

Files changed (33) hide show
  1. robotic/_robotic.pyi +103 -79
  2. robotic/_robotic.so +0 -0
  3. robotic/include/rai/Geo/geo.h +1 -0
  4. robotic/include/rai/Geo/mesh.h +5 -2
  5. robotic/include/rai/Geo/stbImage.h +9 -0
  6. robotic/include/rai/KOMO/manipTools.h +4 -4
  7. robotic/include/rai/KOMO/testProblems_KOMO.h +17 -2
  8. robotic/include/rai/Kin/frame.h +3 -1
  9. robotic/include/rai/Kin/kin.h +5 -4
  10. robotic/include/rai/Kin/simulation.h +3 -1
  11. robotic/include/rai/Kin/viewer.h +1 -2
  12. robotic/include/rai/Optim/NLP_GraphSolver.h +1 -1
  13. robotic/include/rai/Optim/NLP_Solver.h +6 -23
  14. robotic/include/rai/Optim/constrained.h +3 -0
  15. robotic/include/rai/Optim/lagrangian.h +3 -0
  16. robotic/include/rai/Optim/options.h +7 -2
  17. robotic/include/rai/Optim/primalDual.h +1 -1
  18. robotic/librai.so +0 -0
  19. robotic/meshTool +0 -0
  20. robotic/version.py +1 -1
  21. {robotic-0.2.8.dev2.dist-info → robotic-0.2.8.dev4.dist-info}/METADATA +1 -1
  22. {robotic-0.2.8.dev2.dist-info → robotic-0.2.8.dev4.dist-info}/RECORD +33 -32
  23. {robotic-0.2.8.dev2.dist-info → robotic-0.2.8.dev4.dist-info}/WHEEL +1 -1
  24. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-bot +0 -0
  25. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-h5info +0 -0
  26. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-info +0 -0
  27. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-meshTool +0 -0
  28. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-test +0 -0
  29. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-urdf2rai +0 -0
  30. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-urdf2yaml +0 -0
  31. {robotic-0.2.8.dev2.data → robotic-0.2.8.dev4.data}/scripts/ry-view +0 -0
  32. {robotic-0.2.8.dev2.dist-info → robotic-0.2.8.dev4.dist-info}/LICENSE +0 -0
  33. {robotic-0.2.8.dev2.dist-info → robotic-0.2.8.dev4.dist-info}/top_level.txt +0 -0
robotic/_robotic.pyi CHANGED
@@ -6,7 +6,7 @@ import numpy
6
6
  import typing
7
7
  from . import DataGen
8
8
  from . import test
9
- __all__ = ['Actions2KOMO_Translator', 'ArgWord', 'BSpline', 'BotOp', 'CameraView', 'CameraViewSensor', 'Config', 'ConfigurationViewer', 'ControlMode', 'DataGen', 'FS', 'Frame', 'JT', 'KOMO', 'KOMO_Objective', 'LGP_Tool', 'NLP', 'NLP_Factory', 'NLP_Sampler', 'NLP_Solver', 'NLP_SolverID', 'NLP_SolverOptions', 'OT', 'OptBench_Skeleton_Handover', 'OptBench_Skeleton_Pick', 'OptBench_Skeleton_StackAndBalance', 'OptBenchmark_InvKin_Endeff', 'Quaternion', 'RRT_PathFinder', 'ST', 'SY', 'Simulation', 'SimulationEngine', 'Skeleton', 'SolverReturn', 'TAMP_Provider', 'compiled', 'default_Actions2KOMO_Translator', 'default_TAMP_Provider', 'depthImage2PointCloud', 'params_add', 'params_clear', 'params_file', 'params_print', 'raiPath', 'setRaiPath', 'test']
9
+ __all__ = ['Actions2KOMO_Translator', 'ArgWord', 'BSpline', 'BotOp', 'CameraView', 'CameraViewSensor', 'Config', 'ConfigurationViewer', 'ControlMode', 'DataGen', 'FS', 'Frame', 'JT', 'KOMO', 'KOMO_Objective', 'LGP_Tool', 'NLP', 'NLP_Factory', 'NLP_Sampler', 'NLP_Solver', 'NLP_SolverOptions', 'OT', 'OptBench_Skeleton_Handover', 'OptBench_Skeleton_Pick', 'OptBench_Skeleton_StackAndBalance', 'OptBenchmark_InvKin_Endeff', 'OptMethod', 'Quaternion', 'RRT_PathFinder', 'ST', 'SY', 'Simulation', 'SimulationEngine', 'Skeleton', 'SolverReturn', 'TAMP_Provider', 'compiled', 'default_Actions2KOMO_Translator', 'default_TAMP_Provider', 'depthImage2PointCloud', 'params_add', 'params_clear', 'params_file', 'params_print', 'raiPath', 'setRaiPath', 'test']
10
10
  class Actions2KOMO_Translator:
11
11
  """
12
12
  Actions2KOMO_Translator
@@ -275,6 +275,10 @@ class Config:
275
275
  """
276
276
  animate with random spline in limits bounding box [T=#spline points]
277
277
  """
278
+ def asDict(self) -> dict:
279
+ """
280
+ return the configuration description as a dict, e.g. for file export
281
+ """
278
282
  def attach(self, arg0: str, arg1: str) -> None:
279
283
  """
280
284
  change the configuration by creating a rigid joint from frame1 to frame2, adopting their current relative pose. This also breaks the first joint that is parental to frame2 and reverses the topological order from frame2 to the broken joint
@@ -387,6 +391,10 @@ class Config:
387
391
  ...
388
392
  def set_viewer(self, arg0: ...) -> None:
389
393
  ...
394
+ def simplify(self, pruneNamed: bool, pruneNonContactNonMarker: bool, pruneTransparent: bool) -> None:
395
+ """
396
+ structurally simplify the Configuration (deleting frames, relinking to minimal tree)
397
+ """
390
398
  def view(self, pause: bool = False, message: str = None) -> int:
391
399
  """
392
400
  open a view window for the configuration
@@ -429,9 +437,9 @@ class Config:
429
437
  """
430
438
  launch a viewer that listents (inode) to changes of a file (made by you in an editor), and reloads, displays and animates the configuration whenever the file is changed
431
439
  """
432
- def write(self) -> str:
440
+ def write(self) -> ...:
433
441
  """
434
- write the full configuration in a string (roughly yaml), e.g. for file export
442
+ return the configuration description as a str (similar to YAML), e.g. for file export
435
443
  """
436
444
  def writeCollada(self, filename: str, format: str = 'collada') -> None:
437
445
  """
@@ -441,7 +449,7 @@ class Config:
441
449
  """
442
450
  write the full configuration in a ply mesh file
443
451
  """
444
- def writeMeshes(self, pathPrefix: str) -> None:
452
+ def writeMeshes(self, pathPrefix: ...) -> None:
445
453
  """
446
454
  write all object meshes in a directory
447
455
  """
@@ -456,7 +464,7 @@ class ConfigurationViewer:
456
464
  @staticmethod
457
465
  def _pybind11_conduit_v1_(*args, **kwargs):
458
466
  ...
459
- def savePng(self, saveVideoPath: str = 'z.vid/', count: int = -1) -> None:
467
+ def savePng(self, saveVideoPath: ... = 'z.vid/', count: int = -1) -> None:
460
468
  """
461
469
  save enumerated pngs in a path - for video making
462
470
  """
@@ -714,6 +722,8 @@ class Frame:
714
722
  """
715
723
  add/set attributes for the frame
716
724
  """
725
+ def asDict(self) -> dict:
726
+ ...
717
727
  def computeCompoundInertia(self, clearChildInertias: bool = True) -> Frame:
718
728
  ...
719
729
  def convertDecomposedShapeToChildFrames(self) -> Frame:
@@ -722,8 +732,12 @@ class Frame:
722
732
  """
723
733
  get frame attributes
724
734
  """
735
+ def getChildren(self) -> list[Frame]:
736
+ ...
725
737
  def getJointState(self) -> arr:
726
738
  ...
739
+ def getJointType(self) -> JT:
740
+ ...
727
741
  def getMesh(self) -> tuple:
728
742
  ...
729
743
  def getMeshColors(self) -> ...:
@@ -756,8 +770,6 @@ class Frame:
756
770
  ...
757
771
  def getTransform(self) -> arr:
758
772
  ...
759
- def info(self) -> dict:
760
- ...
761
773
  def makeRoot(self, untilPartBreak: bool) -> None:
762
774
  ...
763
775
  def setAttribute(self, arg0: str, arg1: float) -> Frame:
@@ -784,7 +796,7 @@ class Frame:
784
796
  """
785
797
  def setMeshAsLines(self, arg0: list[float]) -> None:
786
798
  ...
787
- def setMeshFile(self, filename: ...) -> Frame:
799
+ def setMeshFile(self, filename: ..., scale: float = 1.0) -> Frame:
788
800
  """
789
801
  attach a mesh shape from a file
790
802
  """
@@ -818,6 +830,10 @@ class Frame:
818
830
  ...
819
831
  def setTensorShape(self, data: ..., size: arr) -> Frame:
820
832
  ...
833
+ def setTextureFile(self, image_filename: ..., texCoords: arr = ...) -> Frame:
834
+ """
835
+ set the texture of the mesh of a shape
836
+ """
821
837
  def transformToDiagInertia(self, arg0: bool) -> ...:
822
838
  ...
823
839
  def unLink(self) -> Frame:
@@ -1232,7 +1248,7 @@ class NLP_Solver:
1232
1248
  ...
1233
1249
  def setPyProblem(self, arg0: typing.Any) -> None:
1234
1250
  ...
1235
- def setSolver(self, arg0: NLP_SolverID) -> NLP_Solver:
1251
+ def setSolver(self, arg0: ...) -> NLP_Solver:
1236
1252
  ...
1237
1253
  def setTracing(self, arg0: bool, arg1: bool, arg2: bool, arg3: bool) -> NLP_Solver:
1238
1254
  ...
@@ -1240,73 +1256,6 @@ class NLP_Solver:
1240
1256
  """
1241
1257
  resampleInitialization=-1 means: only when not already solved
1242
1258
  """
1243
- class NLP_SolverID:
1244
- """
1245
- Members:
1246
-
1247
- gradientDescent
1248
-
1249
- rprop
1250
-
1251
- LBFGS
1252
-
1253
- newton
1254
-
1255
- augmentedLag
1256
-
1257
- squaredPenalty
1258
-
1259
- logBarrier
1260
-
1261
- singleSquaredPenalty
1262
-
1263
- NLopt
1264
-
1265
- Ipopt
1266
-
1267
- Ceres
1268
- """
1269
- Ceres: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.Ceres: 11>
1270
- Ipopt: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.Ipopt: 10>
1271
- LBFGS: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.LBFGS: 2>
1272
- NLopt: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.NLopt: 9>
1273
- __members__: typing.ClassVar[dict[str, NLP_SolverID]] # value = {'gradientDescent': <NLP_SolverID.gradientDescent: 0>, 'rprop': <NLP_SolverID.rprop: 1>, 'LBFGS': <NLP_SolverID.LBFGS: 2>, 'newton': <NLP_SolverID.newton: 3>, 'augmentedLag': <NLP_SolverID.augmentedLag: 4>, 'squaredPenalty': <NLP_SolverID.squaredPenalty: 5>, 'logBarrier': <NLP_SolverID.logBarrier: 6>, 'singleSquaredPenalty': <NLP_SolverID.singleSquaredPenalty: 7>, 'NLopt': <NLP_SolverID.NLopt: 9>, 'Ipopt': <NLP_SolverID.Ipopt: 10>, 'Ceres': <NLP_SolverID.Ceres: 11>}
1274
- augmentedLag: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.augmentedLag: 4>
1275
- gradientDescent: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.gradientDescent: 0>
1276
- logBarrier: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.logBarrier: 6>
1277
- newton: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.newton: 3>
1278
- rprop: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.rprop: 1>
1279
- singleSquaredPenalty: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.singleSquaredPenalty: 7>
1280
- squaredPenalty: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.squaredPenalty: 5>
1281
- @staticmethod
1282
- def _pybind11_conduit_v1_(*args, **kwargs):
1283
- ...
1284
- def __eq__(self, other: typing.Any) -> bool:
1285
- ...
1286
- def __getstate__(self) -> int:
1287
- ...
1288
- def __hash__(self) -> int:
1289
- ...
1290
- def __index__(self) -> int:
1291
- ...
1292
- def __init__(self, value: int) -> None:
1293
- ...
1294
- def __int__(self) -> int:
1295
- ...
1296
- def __ne__(self, other: typing.Any) -> bool:
1297
- ...
1298
- def __repr__(self) -> str:
1299
- ...
1300
- def __setstate__(self, state: int) -> None:
1301
- ...
1302
- def __str__(self) -> str:
1303
- ...
1304
- @property
1305
- def name(self) -> str:
1306
- ...
1307
- @property
1308
- def value(self) -> int:
1309
- ...
1310
1259
  class NLP_SolverOptions:
1311
1260
  """
1312
1261
  solver options
@@ -1358,8 +1307,6 @@ class OT:
1358
1307
  """
1359
1308
  Members:
1360
1309
 
1361
- none
1362
-
1363
1310
  f
1364
1311
 
1365
1312
  sos
@@ -1371,8 +1318,10 @@ class OT:
1371
1318
  ineqB
1372
1319
 
1373
1320
  ineqP
1321
+
1322
+ none
1374
1323
  """
1375
- __members__: typing.ClassVar[dict[str, OT]] # value = {'none': <OT.none: 6>, 'f': <OT.f: 0>, 'sos': <OT.sos: 1>, 'ineq': <OT.ineq: 2>, 'eq': <OT.eq: 3>, 'ineqB': <OT.ineqB: 4>, 'ineqP': <OT.ineqP: 5>}
1324
+ __members__: typing.ClassVar[dict[str, OT]] # value = {'f': <OT.f: 0>, 'sos': <OT.sos: 1>, 'ineq': <OT.ineq: 2>, 'eq': <OT.eq: 3>, 'ineqB': <OT.ineqB: 4>, 'ineqP': <OT.ineqP: 5>, 'none': <OT.none: 6>}
1376
1325
  eq: typing.ClassVar[OT] # value = <OT.eq: 3>
1377
1326
  f: typing.ClassVar[OT] # value = <OT.f: 0>
1378
1327
  ineq: typing.ClassVar[OT] # value = <OT.ineq: 2>
@@ -1441,6 +1390,79 @@ class OptBenchmark_InvKin_Endeff:
1441
1390
  ...
1442
1391
  def get(self) -> NLP:
1443
1392
  ...
1393
+ class OptMethod:
1394
+ """
1395
+ Members:
1396
+
1397
+ none
1398
+
1399
+ gradientDescent
1400
+
1401
+ rprop
1402
+
1403
+ LBFGS
1404
+
1405
+ newton
1406
+
1407
+ augmentedLag
1408
+
1409
+ squaredPenalty
1410
+
1411
+ logBarrier
1412
+
1413
+ singleSquaredPenalty
1414
+
1415
+ slackGN
1416
+
1417
+ NLopt
1418
+
1419
+ Ipopt
1420
+
1421
+ Ceres
1422
+ """
1423
+ Ceres: typing.ClassVar[OptMethod] # value = <OptMethod.Ceres: 12>
1424
+ Ipopt: typing.ClassVar[OptMethod] # value = <OptMethod.Ipopt: 11>
1425
+ LBFGS: typing.ClassVar[OptMethod] # value = <OptMethod.LBFGS: 3>
1426
+ NLopt: typing.ClassVar[OptMethod] # value = <OptMethod.NLopt: 10>
1427
+ __members__: typing.ClassVar[dict[str, OptMethod]] # value = {'none': <OptMethod.none: 0>, 'gradientDescent': <OptMethod.gradientDescent: 1>, 'rprop': <OptMethod.rprop: 2>, 'LBFGS': <OptMethod.LBFGS: 3>, 'newton': <OptMethod.newton: 4>, 'augmentedLag': <OptMethod.augmentedLag: 5>, 'squaredPenalty': <OptMethod.squaredPenalty: 6>, 'logBarrier': <OptMethod.logBarrier: 7>, 'singleSquaredPenalty': <OptMethod.singleSquaredPenalty: 8>, 'slackGN': <OptMethod.slackGN: 9>, 'NLopt': <OptMethod.NLopt: 10>, 'Ipopt': <OptMethod.Ipopt: 11>, 'Ceres': <OptMethod.Ceres: 12>}
1428
+ augmentedLag: typing.ClassVar[OptMethod] # value = <OptMethod.augmentedLag: 5>
1429
+ gradientDescent: typing.ClassVar[OptMethod] # value = <OptMethod.gradientDescent: 1>
1430
+ logBarrier: typing.ClassVar[OptMethod] # value = <OptMethod.logBarrier: 7>
1431
+ newton: typing.ClassVar[OptMethod] # value = <OptMethod.newton: 4>
1432
+ none: typing.ClassVar[OptMethod] # value = <OptMethod.none: 0>
1433
+ rprop: typing.ClassVar[OptMethod] # value = <OptMethod.rprop: 2>
1434
+ singleSquaredPenalty: typing.ClassVar[OptMethod] # value = <OptMethod.singleSquaredPenalty: 8>
1435
+ slackGN: typing.ClassVar[OptMethod] # value = <OptMethod.slackGN: 9>
1436
+ squaredPenalty: typing.ClassVar[OptMethod] # value = <OptMethod.squaredPenalty: 6>
1437
+ @staticmethod
1438
+ def _pybind11_conduit_v1_(*args, **kwargs):
1439
+ ...
1440
+ def __eq__(self, other: typing.Any) -> bool:
1441
+ ...
1442
+ def __getstate__(self) -> int:
1443
+ ...
1444
+ def __hash__(self) -> int:
1445
+ ...
1446
+ def __index__(self) -> int:
1447
+ ...
1448
+ def __init__(self, value: int) -> None:
1449
+ ...
1450
+ def __int__(self) -> int:
1451
+ ...
1452
+ def __ne__(self, other: typing.Any) -> bool:
1453
+ ...
1454
+ def __repr__(self) -> str:
1455
+ ...
1456
+ def __setstate__(self, state: int) -> None:
1457
+ ...
1458
+ def __str__(self) -> str:
1459
+ ...
1460
+ @property
1461
+ def name(self) -> str:
1462
+ ...
1463
+ @property
1464
+ def value(self) -> int:
1465
+ ...
1444
1466
  class Quaternion:
1445
1467
  """
1446
1468
  """
@@ -1479,6 +1501,8 @@ class Quaternion:
1479
1501
  ...
1480
1502
  def setDiff(self, from: Vector, to: Vector) -> Quaternion:
1481
1503
  ...
1504
+ def setEuler(self, euler_zxz: Vector) -> Quaternion:
1505
+ ...
1482
1506
  def setExp(self, vector_w: Vector) -> Quaternion:
1483
1507
  ...
1484
1508
  def setInterpolateEmbedded(self, t: float, from: Quaternion, to: Quaternion) -> Quaternion:
robotic/_robotic.so CHANGED
Binary file
@@ -124,6 +124,7 @@ struct Quaternion {
124
124
  Quaternion& setRadX(double radians);
125
125
  Quaternion& setRadY(double radians);
126
126
  Quaternion& setRadZ(double radians);
127
+ Quaternion& setEuler(const Vector& zxz);
127
128
  Quaternion& setRollPitchYaw(const Vector& rpy);
128
129
  Quaternion& setVector(const Vector& w){ return setExp(w); }
129
130
  Quaternion& setMatrix(double* m);
@@ -32,7 +32,7 @@ struct Mesh {
32
32
  uintA T; ///< triangles (faces, empty -> point cloud)
33
33
  arr Tn; ///< triangle normals (optional)
34
34
 
35
- arr texCoords; ///< texture coordinates for each vertex, dimensionality (V.d0, 2)
35
+ arr texCoords; ///< texture coordinates for each vertex, dimensionality (V.d0, 2)
36
36
  byteA texImg; ///< texture image
37
37
 
38
38
  uintA cvxParts;
@@ -174,5 +174,8 @@ arr MinkowskiSum(const arr& A, const arr& B);
174
174
  void inertiaSphere(double* Inertia, double& mass, double density, double radius);
175
175
  void inertiaBox(double* Inertia, double& mass, double density, double dx, double dy, double dz);
176
176
  void inertiaCylinder(double* Inertia, double& mass, double density, double height, double radius);
177
- void inertiaMesh(double* I, double& mass, double density, const rai::Mesh& m);
177
+
178
+ void inertiaSphereSurface(double& mass, double* I, double radius, double density);
179
+ void inertiaBoxSurface(double& mass, double* I, double dx, double dy, double dz, double density);
180
+ void inertiaMeshSurface(double& mass, double* com, double* I, const rai::Mesh& m, double density);
178
181
 
@@ -0,0 +1,9 @@
1
+ #pragma once
2
+
3
+ #include "../Core/array.h"
4
+
5
+ namespace rai {
6
+
7
+ byteA loadImage(const char* imgFile);
8
+
9
+ }
@@ -13,7 +13,7 @@
13
13
 
14
14
  //===========================================================================
15
15
 
16
- struct ManipulationModelling {
16
+ struct ManipulationHelper {
17
17
  std::shared_ptr<KOMO> komo;
18
18
  str info;
19
19
 
@@ -22,8 +22,8 @@ struct ManipulationModelling {
22
22
  arr qTarget;
23
23
  arr path;
24
24
 
25
- ManipulationModelling(const str& _info={});
26
- ManipulationModelling(const std::shared_ptr<KOMO>& _komo, const str& _info = str{});
25
+ ManipulationHelper(const str& _info={});
26
+ ManipulationHelper(const std::shared_ptr<KOMO>& _komo, const str& _info = str{});
27
27
 
28
28
  KOMO& k() { return *komo; }
29
29
 
@@ -63,7 +63,7 @@ struct ManipulationModelling {
63
63
  arr sample(const char* sampleMethod=0, int verbose=1);
64
64
  void debug(bool listObjectives=true, bool plotOverTime=false);
65
65
 
66
- std::shared_ptr<ManipulationModelling> sub_motion(uint phase, bool fixEnd=true, double homing_scale=1e-2, double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=false, const StringA& activeDofs={});
66
+ std::shared_ptr<ManipulationHelper> sub_motion(uint phase, bool fixEnd=true, double homing_scale=1e-2, double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=false, const StringA& activeDofs={});
67
67
  std::shared_ptr<rai::RRT_PathFinder> sub_rrt(uint phase, const StringA& explicitCollisionPairs= {}, const StringA& activeDofs={});
68
68
 
69
69
  void play(rai::Configuration& C, double duration=1.);
@@ -26,7 +26,7 @@ struct Problem{
26
26
  std::shared_ptr<KOMO> komo;
27
27
  std::shared_ptr<NLP> nlp;
28
28
 
29
- void load(str problem);
29
+ void load(str problem={});
30
30
  };
31
31
 
32
32
  //===========================================================================
@@ -40,7 +40,7 @@ struct SpherePacking : NLP{
40
40
 
41
41
  rai::Configuration disp; //for reporting/display only
42
42
 
43
- SpherePacking(uint _n, double _rad, bool _ineqAccum=false);
43
+ SpherePacking(uint _n=50, double _rad=.21, bool _ineqAccum=false);
44
44
 
45
45
  void ineqAccumulation(uint phiIdx, arr& phi, arr& J, arr& g, const arr& Jg);
46
46
  void evaluate(arr& phi, arr& J, const arr &_x);
@@ -49,6 +49,21 @@ struct SpherePacking : NLP{
49
49
 
50
50
  //===========================================================================
51
51
 
52
+ struct MinimalConvexCore : NLP {
53
+ double radius;
54
+ arr x, cen;
55
+
56
+ rai::Mesh M;
57
+ rai::Configuration disp; //for reporting/display only
58
+
59
+ MinimalConvexCore(const arr& X={}, double radius=.1);
60
+ arr getInitializationSample();
61
+ void evaluate(arr& phi, arr& J, const arr& _x);
62
+ void report(ostream &os, int verbose, const char *msg=0);
63
+ };
64
+
65
+ //===========================================================================
66
+
52
67
  struct OptBench_InvKin_Simple {
53
68
  OptBench_InvKin_Simple();
54
69
  shared_ptr<KOMO> komo;
@@ -166,7 +166,8 @@ struct Frame : NonCopyable {
166
166
  Frame& setRelativeRotationMatrix(const arr& R);
167
167
  Frame& setMesh2(const rai::Mesh& m);
168
168
  Frame& setMesh(const arr& verts, const uintA& tris, const byteA& colors={}, const uintA& cvxParts={});
169
- Frame& setMeshFile(str file);
169
+ Frame& setMeshFile(str file, double scale=1.);
170
+ Frame& setTextureFile(str imgFile, const arr& texCoords={});
170
171
  Frame& setLines(const arr& verts, const byteA& colors={});
171
172
  Frame& setPointCloud(const arr& points, const byteA& colors= {}, const arr& normals= {});
172
173
  Frame& setConvexMesh(const arr& points, const byteA& colors= {}, double radius=0.);
@@ -197,6 +198,7 @@ struct Frame : NonCopyable {
197
198
  uintA getMeshTriangles() const ;
198
199
  byteA getMeshColors() const ;
199
200
  arr getMeshCorePoints() const ;
201
+ rai::JointType getJointType() const;
200
202
  arr getJointState() const; ///< throws error if this frame is not also a joint
201
203
  Graph& getAts(){ if(!ats) ats=make_shared<Graph>(); return *ats; }
202
204
 
@@ -95,6 +95,7 @@ struct Configuration {
95
95
  /// @name initializations, building configurations
96
96
  Frame* addFrame(const char* name, const char* parent=nullptr, const char* args=nullptr, bool warnDuplicateName=true);
97
97
  Frame* addFile(const char* filename, const char* namePrefix=0);
98
+ Frame& addDict(const Graph& G);
98
99
  Frame* addAssimp(const char* filename);
99
100
  Frame* addH5Object(const char* framename, const char* filename, int verbose);
100
101
  Frame* addCopy(const FrameL& F, const DofL& _dofs, const str& prefix= {});
@@ -177,10 +178,11 @@ struct Configuration {
177
178
  void flipFrames(Frame* a, Frame* b);
178
179
  void pruneRigidJoints(); ///< delete rigid joints -> they become just links
179
180
  void pruneInactiveJoints(); ///< delete rigid joints -> they become just links
181
+ void pruneEmptyShapes();
180
182
  void reconnectShapesToParents();
181
183
  void reconnectLinksToClosestJoints(); ///< re-connect all links to closest joint
182
- void pruneUselessFrames(bool pruneNamed=false, bool pruneNonContactNonMarker=false, bool pruneNonVisible=false); ///< delete frames that have no name, joint, and shape
183
- void optimizeTree(bool _pruneRigidJoints=false, bool pruneNamed=false, bool pruneNonContactNonMarker=false, bool pruneNonVisible=false); ///< call the three above methods in this order
184
+ void pruneUselessFrames(bool pruneNamed=false, bool pruneNonContactNonMarker=false, bool pruneTransparent=false); ///< delete frames that have no name, joint, and shape
185
+ void simplify(bool pruneNamed=false, bool pruneNonContactNonMarker=false, bool pruneTransparent=false); ///< call the three above methods in this order
184
186
  void sortFrames();
185
187
  void makeObjectsFree(const StringA& objects, double H_cost=0.);
186
188
  void addTauJoint();
@@ -285,7 +287,7 @@ public:
285
287
  void write(Graph& G) const;
286
288
  void writeURDF(std::ostream& os, const char* robotName="myrobot") const;
287
289
  void writeCollada(const char* filename, const char* format="collada") const;
288
- void writeMeshes(const char* pathPrefix="meshes/") const;
290
+ void writeMeshes(str pathPrefix="meshes/") const;
289
291
  void writeMesh(const char* filename="z.ply") const;
290
292
  void read(std::istream& is);
291
293
  Graph getGraph() const;
@@ -301,7 +303,6 @@ public:
301
303
  void reportLimits(std::ostream& os=cout) const;
302
304
 
303
305
  private:
304
- void readFromGraph(const Graph& G, bool addInsteadOfClear=false);
305
306
  friend struct KinematicSwitch;
306
307
  };
307
308
 
@@ -26,7 +26,8 @@ struct Simulation {
26
26
  std::unique_ptr<struct Simulation_self> self;
27
27
 
28
28
  Configuration& C;
29
- double time;
29
+ double time=0.;
30
+ uint stepCount=0;
30
31
  Engine engine;
31
32
  Array<shared_ptr<SimulationImp>> imps; ///< list of (adversarial) imps doing things/perturbations/noise in addition to clean physics engine
32
33
  int verbose;
@@ -46,6 +47,7 @@ struct Simulation {
46
47
  //-- adapt the spline reference to genreate motion (default way)
47
48
  void setSplineRef(const arr& _q, const arr& _times, bool append=true);
48
49
  void setPositionRef(rai::Dof* dof, const arr&q_ref, double cap=-1.);
50
+ void setForceRef(const arr& f_ref, const arr& Jf, double kf, double cap);
49
51
  void resetSplineRef();
50
52
 
51
53
  //-- send a gripper command
@@ -37,9 +37,8 @@ struct ConfigurationViewer : RenderData {
37
37
  rai::Camera& displayCamera(); ///< access to the display camera to change the view
38
38
  byteA getRgb();
39
39
  floatA getDepth();
40
- void savePng(const char* saveVideoPath="z.vid/", int count=-1);
40
+ void savePng(str saveVideoPath="z.vid/", int count=-1);
41
41
 
42
- int update(bool watch=false);
43
42
  void raiseWindow();
44
43
  void glDraw(OpenGL&);
45
44
  void setCamera(rai::Frame* cam);
@@ -11,7 +11,7 @@
11
11
  #include "NLP_Solver.h"
12
12
 
13
13
  struct NLP_GraphSolver : NonCopyable {
14
- NLP_Solver subSolver;
14
+ rai::NLP_Solver subSolver;
15
15
  arr x, dual;
16
16
  std::shared_ptr<NLP_Factored> P;
17
17
  rai::OptOptions opt;
@@ -12,31 +12,12 @@
12
12
  #include "options.h"
13
13
  #include "../Core/graph.h"
14
14
 
15
- struct ConstrainedSolver;
16
-
17
- enum NLP_SolverID { NLPS_none=-1,
18
- NLPS_gradientDescent, NLPS_rprop, NLPS_LBFGS, NLPS_newton,
19
- NLPS_augmentedLag, NLPS_squaredPenalty, NLPS_logBarrier, NLPS_singleSquaredPenalty,
20
- NLPS_slackGN,
21
- NLPS_NLopt, NLPS_Ipopt, NLPS_Ceres
22
- };
15
+ namespace rai {
23
16
 
24
- enum NLopt_SolverOption { _NLopt_LD_SLSQP,
25
- _NLopt_LD_MMA,
26
- _NLopt_LN_COBYLA,
27
- _NLopt_LD_AUGLAG,
28
- _NLopt_LD_AUGLAG_EQ,
29
- _NLopt_LN_NELDERMEAD,
30
- _NLopt_LD_LBFGS,
31
- _NLopt_LD_TNEWTON,
32
- _NLopt_LD_TNEWTON_RESTART,
33
- _NLopt_LD_TNEWTON_PRECOND,
34
- _NLopt_LD_TNEWTON_PRECOND_RESTART,
35
- };
17
+ struct ConstrainedSolver;
36
18
 
37
19
  /** User Interface: Meta class to call several different solvers in a unified manner. */
38
20
  struct NLP_Solver : NonCopyable {
39
- NLP_SolverID solverID=NLPS_augmentedLag;
40
21
  arr x, dual; //owner of decision variables, which are passed by reference to lower level solvers
41
22
  rai::OptOptions opt; //owner of options, which are passed by reference to lower level solvers
42
23
  std::shared_ptr<SolverReturn> ret;
@@ -46,7 +27,7 @@ struct NLP_Solver : NonCopyable {
46
27
  NLP_Solver();
47
28
  NLP_Solver(const shared_ptr<NLP>& _P, int verbose=-100) { setProblem(_P); if(verbose>-100) opt.verbose=verbose; }
48
29
 
49
- NLP_Solver& setSolver(NLP_SolverID _solverID) { solverID=_solverID; return *this; }
30
+ NLP_Solver& setSolver(OptMethod _method) { opt.method=_method; return *this; }
50
31
  NLP_Solver& setProblem(const shared_ptr<NLP>& _P);
51
32
  NLP_Solver& setOptions(const rai::OptOptions& _opt) { opt = _opt; return *this; }
52
33
  NLP_Solver& setInitialization(const arr& _x) { x=_x; return *this; }
@@ -68,6 +49,8 @@ struct NLP_Solver : NonCopyable {
68
49
  rai::Graph reportLagrangeGradients(const StringA& featureNames);
69
50
  void gnuplot_costs() {
70
51
  FILE("z.opt.trace") <<getTrace_costs();
71
- gnuplot("plot 'z.opt.trace' us 0:1 t 'sos', '' us 0:2 t 'ineq', '' us 0:3 t 'eq'");
52
+ gnuplot("plot 'z.opt.trace' us 0:1 t 'f', '' us 0:2 t 'sos', '' us 0:3 t 'ineq', '' us 0:4 t 'eq'");
72
53
  }
73
54
  };
55
+
56
+ } //namespace
@@ -11,6 +11,8 @@
11
11
  #include "lagrangian.h"
12
12
  #include "newton.h"
13
13
 
14
+ namespace rai {
15
+
14
16
  extern const char* MethodName[];
15
17
 
16
18
  //==============================================================================
@@ -56,3 +58,4 @@ struct PhaseOneProblem : NLP {
56
58
  virtual void evaluate(arr& phi, arr& J, const arr& x);
57
59
  };
58
60
 
61
+ } //namespace
@@ -11,6 +11,8 @@
11
11
  #include "NLP.h"
12
12
  #include "options.h"
13
13
 
14
+ namespace rai {
15
+
14
16
  //==============================================================================
15
17
  //
16
18
  // LagrangianProblem
@@ -56,3 +58,4 @@ struct LagrangianProblem : ScalarFunction, NLP {
56
58
  double hpenalty_dd(double h);
57
59
  };
58
60
 
61
+ } //namespace
@@ -12,7 +12,12 @@
12
12
 
13
13
  namespace rai {
14
14
 
15
- enum ConstrainedMethodType { noMethod=0, squaredPenalty, augmentedLag, logBarrier, anyTimeAula, squaredPenaltyFixed };
15
+ enum OptMethod { M_none=0,
16
+ M_gradientDescent, M_rprop, M_LBFGS, M_newton,
17
+ M_augmentedLag, M_squaredPenalty, M_logBarrier, M_singleSquaredPenalty,
18
+ M_slackGN,
19
+ M_NLopt, M_Ipopt, M_Ceres };
20
+
16
21
 
17
22
  struct OptOptions {
18
23
  RAI_PARAM("opt/", int, verbose, 1)
@@ -39,7 +44,7 @@ struct OptOptions {
39
44
  RAI_PARAM("opt/", double, lambdaMax, -1.)
40
45
  RAI_PARAM("opt/", double, interiorPadding, 1e-2)
41
46
  RAI_PARAM("opt/", bool, boundedNewton, true)
42
- RAI_PARAM_ENUM("opt/", ConstrainedMethodType, constrainedMethod, augmentedLag)
47
+ RAI_PARAM_ENUM("opt/", OptMethod, method, M_augmentedLag)
43
48
  // void write(std::ostream& os) const;
44
49
  };
45
50
  //stdOutPipe(OptOptions)
@@ -13,7 +13,7 @@
13
13
  #include "lagrangian.h"
14
14
 
15
15
  struct PrimalDualProblem : ScalarFunction {
16
- LagrangianProblem L;
16
+ rai::LagrangianProblem L;
17
17
 
18
18
  //duality gap parameter (log barrier parameter) of the primal dual equation system
19
19
  double mu;
robotic/librai.so CHANGED
Binary file
robotic/meshTool CHANGED
Binary file
robotic/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.2.8.dev2'
1
+ __version__ = '0.2.8.dev4'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: robotic
3
- Version: 0.2.8.dev2
3
+ Version: 0.2.8.dev4
4
4
  Summary: Robotic Control Interface & Manipulation Planning Library
5
5
  Home-page: https://github.com/MarcToussaint/robotic/
6
6
  Author: Marc Toussaint
@@ -1,10 +1,10 @@
1
1
  robotic/DataGen.pyi,sha256=Psut6_CMYC1lkRWIfpem1vjiHeDA1bDRYh5WmALUuDw,3239
2
2
  robotic/__init__.py,sha256=k-hVqPB7vN-huwpRzQLt3f--6sNdjaCQ_hWw66dWkA8,297
3
- robotic/_robotic.pyi,sha256=OgL0esa9N3UzjOZDO5Q5H6d8PmsLg5G_QmgypNfY4KM,72794
4
- robotic/_robotic.so,sha256=98rVcBpt1_j0I04L5xphI4R8LBVi36DKM1xoLqwVPnk,1206016
5
- robotic/librai.so,sha256=7Y-Dl6DQ_Gx84jdpA2EaHv18YMUFKmj3d7B5gK8Y4m0,40163304
3
+ robotic/_robotic.pyi,sha256=n3SGnLZXHD2OAYfdyUs7D_0exUox-4ZOY4Z2g_TrPx4,73626
4
+ robotic/_robotic.so,sha256=tl2B7CvpjRihZtZPUZJJfYdGYqvzcHtWZJ1_S862vXc,1222400
5
+ robotic/librai.so,sha256=wG2xwkWhOxujPDmOVFi4hKp7Wmp6PRykAvMP40W-fA4,40187688
6
6
  robotic/manipulation.py,sha256=EhM_Zuv3vl8H4SBNqqYMD3NT9AzFUpOhr4PIzM4U7tM,22374
7
- robotic/meshTool,sha256=Dssd8R2xExwxcH_Qk7rNfcV8QNTBAYmp6ahfjjDJgY0,52168
7
+ robotic/meshTool,sha256=o2BWBOG3MkBEJ_QhYL3uQ1-KhBh5NHylJ0CDTnYCYk4,52168
8
8
  robotic/nlp.py,sha256=n9_hOj3i707DdL_r49Yd2eWyjsSOahW8DmJrEhQlNFw,3200
9
9
  robotic/render.py,sha256=OE1dvyWHD7Oyzk4wlhXZ7m3v3xxa3zAL5_LCV1RgJXk,4662
10
10
  robotic/ry-bot,sha256=nd2yWqaDsFbwAmr7ySdOjq06ek0E1FMHTxPRO-7e2Q8,2294
@@ -16,7 +16,7 @@ robotic/ry-urdf2rai,sha256=88CFu5ikKsjy4wQixvCZqtNOqCheBiT18cjZfOsJA8A,7736
16
16
  robotic/ry-urdf2yaml,sha256=D36MR8Ui6Ry9V0TqJOBaPCWC89OZa43Fytz4P7Y4v0w,8543
17
17
  robotic/ry-view,sha256=T1Omn1QS7cNAtjQhBjMJTNz7aW5FgoOf9vBIfW0mFME,613
18
18
  robotic/test.pyi,sha256=vVxwRSerjUG4bpB7pIhof7ZatrBqwg3Bj5voywa-YTI,917
19
- robotic/version.py,sha256=R6Li3YcJ6YXEEU4IMr2ok4Ylen5Yx0Nxp6clpfToZWo,27
19
+ robotic/version.py,sha256=ZXURDm-5GIDwe3tGJPR-rwsbLBgY-2r_P4FqGqGXp-8,27
20
20
  robotic/include/rai/Algo/MLcourse.h,sha256=TGkAJWC5ollGfPw0-gcYL0TZeDJiHtWFzkHSMK8_lqU,1828
21
21
  robotic/include/rai/Algo/RidgeRegression.h,sha256=VXiv6-xr3j--CN7DJTzUg9Xb49zV9FZ9dwzxP1CmcPM,3730
22
22
  robotic/include/rai/Algo/SplineCtrlFeed.h,sha256=9ZtYLHXx9sExj0lZV6F5ZWaCtkm0R4hMiYb-KJjktnc,3339
@@ -63,11 +63,12 @@ robotic/include/rai/DataGen/shapenetGrasps.h,sha256=QWv85YMGtW_X9ldKu4eZuoRNdQeI
63
63
  robotic/include/rai/Geo/assimpInterface.h,sha256=2Jg7v2GZ83nz4kkgPLzbSWTIBmL9nZg-LhMlWcjiF_o,1055
64
64
  robotic/include/rai/Geo/depth2PointCloud.h,sha256=0mXJnTk0sMB--KDE9CO_2gKgGw4gHXUe7xg6DcROhvk,1168
65
65
  robotic/include/rai/Geo/fclInterface.h,sha256=iNdxNc_DSOgYCLyCajxP8lxdnrNcyoKQmjUlVmjxjQM,940
66
- robotic/include/rai/Geo/geo.h,sha256=Lyoy1YbDtrscHZxza6CYXIa_R7aaFmgpHrG3rLpBqTk,14672
67
- robotic/include/rai/Geo/mesh.h,sha256=gq3K-_TbJbrGMVl8V-n2qB5_vDT88PmKxaxOUGgkBxY,6441
66
+ robotic/include/rai/Geo/geo.h,sha256=qZFXffvHa2sM2JsvvKWkRnlQ59gdD8qvsGyDtXrk_Oo,14715
67
+ robotic/include/rai/Geo/mesh.h,sha256=ompiO_tbsImfg-QqGognNsoqJxW77Kk10Fe6jiS_CNY,6639
68
68
  robotic/include/rai/Geo/pairCollision.h,sha256=kFEtQpkgPV_VKJ6YBDBKdb3ko62_s7HKDUti0kB2yYI,4374
69
69
  robotic/include/rai/Geo/qhull.h,sha256=dRAAHIdvujPPW1fXW4hXMjgixpBDajDg-y_OX1JMi_0,1890
70
70
  robotic/include/rai/Geo/signedDistanceFunctions.h,sha256=hrC838CsYWQ6TXm536iNRwB8W5-62LNb-JPqPoDAFPE,4831
71
+ robotic/include/rai/Geo/stbImage.h,sha256=R5MRPs3KLL-GOipzAN_jdV-pdlBCTkUFaA5LnYEIElw,100
71
72
  robotic/include/rai/Geo/stb_image.h,sha256=WnfQN6Iosji-LSuiVLoekjaY6NVnuy7XJnlkRTVR3KA,251786
72
73
  robotic/include/rai/Geo/testProblems_Geo.h,sha256=PAO_y2X6KFjbfpCBoy59GkVq_A82ovg-stLO3EJ7iuE,927
73
74
  robotic/include/rai/Geo/GJK/gjk.h,sha256=L4vvyYX7RYQLt8003G3ReMRhFu8MWsJZckeI-d7hzLc,15006
@@ -93,14 +94,14 @@ robotic/include/rai/Gui/plot.h,sha256=xhTBY84UN4KpgZsX7SJQGqVKd1jU7jojGVKFv02v0x
93
94
  robotic/include/rai/KOMO/PathSmoother.h,sha256=y-t3yVEZvxfQIs8_EA-WI7FJ_RzfbG8TEfdiNAruuUI,813
94
95
  robotic/include/rai/KOMO/komo.h,sha256=5TR2IVJzMkWB6oH7NCl1X5OiYtM_OERmf_UPLBaEOlQ,13249
95
96
  robotic/include/rai/KOMO/komo_NLP.h,sha256=kSzUMDmw4yzAXtpNB2v38dpw2tBS8n8R_op_T3yS3DQ,3681
96
- robotic/include/rai/KOMO/manipTools.h,sha256=0TZnMmecX389H5ezPuirGUgjUvZ--2HEf5DKXuUQfxY,4199
97
+ robotic/include/rai/KOMO/manipTools.h,sha256=FTD6sq6EqBx25O81cgaSWsavdVw0-nYGlB1aldyn7ak,4187
97
98
  robotic/include/rai/KOMO/objective.h,sha256=Cl4-KjheRMNWoh_xFas5tLWMKSMlJf-HLDihfqvfcSw,2704
98
99
  robotic/include/rai/KOMO/pathTools.h,sha256=w0Wq6BGLBxG1LAZQBDmmPWTXzwxW3RHj2EX1cm92WeE,3288
99
100
  robotic/include/rai/KOMO/skeleton.h,sha256=NPaMfUMC_sUd3AjlLHTFpxWH4QtnKP_zzvHb2YvEigI,4437
100
101
  robotic/include/rai/KOMO/skeletonSymbol.h,sha256=mrPqRn_1i4PuqbkQBhKEYc5WPEGqPjBN6TvwZxZ5e7A,1261
101
102
  robotic/include/rai/KOMO/splined.h,sha256=G_fu9gXCboJLkwhwu77F6F3Ei6deqzbvkgP8r9kiNL8,903
102
103
  robotic/include/rai/KOMO/switch.h,sha256=teNNnHFe4h9W5rLlL3TFBsq97ni-RUEhcxw4uVPYR1g,1850
103
- robotic/include/rai/KOMO/testProblems_KOMO.h,sha256=rlVH4U8PeaSLl6hrDApQQnSd4JR5SA-FrA4jETTu9CU,2453
104
+ robotic/include/rai/KOMO/testProblems_KOMO.h,sha256=zpujbYe9Q97Mx_m91LQcPhEW8YVSitzYO_7I8l7M3WI,2882
104
105
  robotic/include/rai/Kin/F_LeapCost.h,sha256=wNAUNgAJjLirMurF67BlFLHtjyuXy1EPr--9XLBe6Wk,556
105
106
  robotic/include/rai/Kin/F_collisions.h,sha256=Atq9LPVOkEuMF-kSHk78cGjaJYwDIbvrTxHmLBJw3yk,2092
106
107
  robotic/include/rai/Kin/F_forces.h,sha256=xUPLO0g3AU0nemQfPqElvt4SuGfqU2pV-7olCVBCkmM,6694
@@ -115,15 +116,15 @@ robotic/include/rai/Kin/dof_particles.h,sha256=PboLndC5a5extUKAfUPAIsJEGTTs6_ACD
115
116
  robotic/include/rai/Kin/dof_path.h,sha256=XRPj3bH90JUIdkTS4jxwbAb5n9yAsRoemWUWUV1xDtQ,792
116
117
  robotic/include/rai/Kin/feature.h,sha256=xicsrElMcYnYXdIXdO5LBLmXxvCGVUVgZJY2NIarO5I,3935
117
118
  robotic/include/rai/Kin/featureSymbols.h,sha256=JVXbXoW43PlEGOgwHPpULlbXUQzkl79F1EFnfl-0wyk,1984
118
- robotic/include/rai/Kin/frame.h,sha256=8fqG2axtA0-kezy5fVeMFR9j30XRoU30Ous9P040vSk,14321
119
- robotic/include/rai/Kin/kin.h,sha256=hhjYI9RF55PjgJvdXhV4omyQK1iRG6MTi8B_GG9yYqM,15594
119
+ robotic/include/rai/Kin/frame.h,sha256=lYP6v7yZodtCQrfVg61H9qwtOsiYab9l7y2BHLOmeXY,14440
120
+ robotic/include/rai/Kin/kin.h,sha256=BFZAdY7RRHhBtcjSkZf32EFhJswot1u3mIUn3P13qt4,15547
120
121
  robotic/include/rai/Kin/kin_bullet.h,sha256=y8aApXpXY4bD5QN_WmDAU2vNEvvbdo1Rd4zY7qo-FKE,1970
121
122
  robotic/include/rai/Kin/kin_feather.h,sha256=o-hOJA8UcmIBKx_qPzoG9R7fxzz-4zhBNMBmBTK21oA,1627
122
123
  robotic/include/rai/Kin/kin_ode.h,sha256=zwB8Le1WMGRkQBc9bssndJICkjO1lZ_y1aZKCwP4c1Y,3686
123
124
  robotic/include/rai/Kin/kin_physx.h,sha256=A39_BMDTMGixK_37sdlofFHtV-Pf0n5JtcYpmdWNWMw,1871
124
125
  robotic/include/rai/Kin/proxy.h,sha256=jfFQrvokqvt8bGYEzGQoD2ZpnuWuLzCeOjFfUvdxcx0,1473
125
- robotic/include/rai/Kin/simulation.h,sha256=oMUHHgg1e7okFtYagCG_-vXJeo6tRtHynSWW1ECgS1U,5139
126
- robotic/include/rai/Kin/viewer.h,sha256=jpP9MltococoD9hYS5GvJ99y-u75M4qVNX59rrwxVtQ,2071
126
+ robotic/include/rai/Kin/simulation.h,sha256=rM08Epf72aiI26z2MPE0sZ6CrnNzolzdzZKhKxw5Zn8,5238
127
+ robotic/include/rai/Kin/viewer.h,sha256=GzObhDzEnIBYH0Yu_wCX8Cm2GAN5wuk-El09b2Vy_8w,2031
127
128
  robotic/include/rai/LGP/LGP_SkeletonTool.h,sha256=T4lXAUxY2QFo_ETZEm7RqRzfmU6NAHdVcow8qj_8-9Y,3240
128
129
  robotic/include/rai/LGP/LGP_Tool.h,sha256=vcQ3ixwJ4wepPDX8ZGkDBKGIpchJQWMOoMu82_cS_8I,4230
129
130
  robotic/include/rai/LGP/LGP_computers.h,sha256=paoCbDZnIo7OUeHKo5qkzTkKy1RIzDZocg4p6SXoObk,6480
@@ -138,19 +139,19 @@ robotic/include/rai/Optim/BayesOpt.h,sha256=GqOqGk5Y0USf513duMPtt--TBYGqujdsvY2q
138
139
  robotic/include/rai/Optim/GlobalIterativeNewton.h,sha256=WRaTFUrx0A1FO7d7shgZbJVaC5AWKZT5PTD8LnuPXiE,801
139
140
  robotic/include/rai/Optim/NLP.h,sha256=rWs2HDuaIQnrz2DZeiCuLjYrENb5mfdUiCcht6dQaus,8195
140
141
  robotic/include/rai/Optim/NLP_Factory.h,sha256=xDn73B-u6fFvtu-udkXgyTiFyjTzfJNHwUm6z88FiOo,1979
141
- robotic/include/rai/Optim/NLP_GraphSolver.h,sha256=VE_3t8l-NThDSGFh7FCGxONNXYatzRbZv1HY9lgXF9s,1162
142
+ robotic/include/rai/Optim/NLP_GraphSolver.h,sha256=Wwq4YiU_35Wa0qERa9Pibo4EqzxzJcIYDTSh5Gol9so,1167
142
143
  robotic/include/rai/Optim/NLP_Sampler.h,sha256=JaOEc8YJwatW5toOviTFXlOoF3Dg8ZWPM9zejyW9ND8,4643
143
- robotic/include/rai/Optim/NLP_Solver.h,sha256=vPdZTjTJAX1mjtjLhtgS4jAc2qKGAaO73fyecfepJ3U,3359
144
+ robotic/include/rai/Optim/NLP_Solver.h,sha256=Y07FfnrTjkVldXFU5HJ0SB0pOlGGivQ9k_4vpEM3YoA,2482
144
145
  robotic/include/rai/Optim/SlackGaussNewton.h,sha256=b5w2ti8AqqothZtCFevUNSs1Y5dz4LOLBJXZQvoKNmU,1338
145
- robotic/include/rai/Optim/constrained.h,sha256=62pWGQMt3TK_KvbaAuEpahcNv0cHadoYyEGmrEpN4QE,1446
146
+ robotic/include/rai/Optim/constrained.h,sha256=k5RGe4TurTN4Af_I_jqhYhHpCM4mjvwrhwQK2yfO9ZE,1477
146
147
  robotic/include/rai/Optim/gradient.h,sha256=dtpGXdKffzufV3qxOmsp6u9u73pjRUXF0RoD3VbhtyI,1837
147
- robotic/include/rai/Optim/lagrangian.h,sha256=aG5MJvaZxGeE_Bfufjq4yJbAQZN62j__58WhuMkBHzQ,2377
148
+ robotic/include/rai/Optim/lagrangian.h,sha256=cs0mq6KBTzmMhcEoecsQ1YiGmttWGe-THlx209s8hsI,2408
148
149
  robotic/include/rai/Optim/newton.h,sha256=3CLZn80ZOUQfdN3R3qkDVuOke9Tp5fDeRm9p932c2Xk,1150
149
150
  robotic/include/rai/Optim/opt-ceres.h,sha256=bB-k-tlIDAh6g0_6Tue8Lc_Tnxol76kIssS_5GQeMVI,960
150
151
  robotic/include/rai/Optim/opt-ipopt.h,sha256=1v147tZVY3MuNMRLaFFWxKC7fyNP5-59WJzKoVv8BsY,516
151
152
  robotic/include/rai/Optim/opt-nlopt.h,sha256=R0ma9SjxcVU9nI7H39QOWUIPy95H4AiQwLRHz3DRe7k,970
152
- robotic/include/rai/Optim/options.h,sha256=YXgBVLacCkJ59fui2gJnYXhjlqNpDS8xcduusXiDnqE,1817
153
- robotic/include/rai/Optim/primalDual.h,sha256=BNotLDK43sveJ274eNojO_p14d2Fgqes4XEwXnFuJ30,1267
153
+ robotic/include/rai/Optim/options.h,sha256=JSqHw6agqLkvfvw6kd54KHQ6Hz7xZyHeRkWAumYUag0,1876
154
+ robotic/include/rai/Optim/primalDual.h,sha256=xHXhAPbZWPVj17ZGpDr4OrLJLYj_G1Wr_k4TCPFBiHc,1272
154
155
  robotic/include/rai/Optim/testProblems_Opt.h,sha256=GBzuiO5lI3tSh9sHzhQuf5bElr3eejFbYHWAXYiUAdg,6532
155
156
  robotic/include/rai/Optim/utils.h,sha256=lZcBjPtYl0JDY-DfjYOlOBBR-nRqu67XgYPF6nxfspU,3515
156
157
  robotic/include/rai/PathAlgos/ConfigurationProblem.h,sha256=xNtvq0sK9sTtpWd_c8X6yzoYmFkACOvv_9VIRbG6R8s,1311
@@ -397,16 +398,16 @@ robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/UpperArm.ply,sha2
397
398
  robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist1.ply,sha256=Qmlgt3g046pi8GPzlUBKbDcR-4JehZkXfSRNabe_RVI,282487
398
399
  robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist2.ply,sha256=br9zVxfiGNlEMAuVm36e2dJ0chDKpVMe3H1MCh-318E,784726
399
400
  robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist3.ply,sha256=el2jO6EOzwgz3ybkKjz9XcjCIQJWCpOCgTA7DSFHz6U,25593
400
- robotic-0.2.8.dev2.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
401
- robotic-0.2.8.dev2.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
402
- robotic-0.2.8.dev2.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
403
- robotic-0.2.8.dev2.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
404
- robotic-0.2.8.dev2.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
405
- robotic-0.2.8.dev2.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
406
- robotic-0.2.8.dev2.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
407
- robotic-0.2.8.dev2.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
408
- robotic-0.2.8.dev2.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
409
- robotic-0.2.8.dev2.dist-info/METADATA,sha256=OTgjAlrRShMecjIy1GkxXHHg_JUOnfZ5aQ19Z8CJ8HM,6694
410
- robotic-0.2.8.dev2.dist-info/WHEEL,sha256=C0OANs-DVT8xkLtO9NVd4ZECqWX-G8uLVHB2gdrEbRg,102
411
- robotic-0.2.8.dev2.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
412
- robotic-0.2.8.dev2.dist-info/RECORD,,
401
+ robotic-0.2.8.dev4.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
402
+ robotic-0.2.8.dev4.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
403
+ robotic-0.2.8.dev4.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
404
+ robotic-0.2.8.dev4.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
405
+ robotic-0.2.8.dev4.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
406
+ robotic-0.2.8.dev4.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
407
+ robotic-0.2.8.dev4.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
408
+ robotic-0.2.8.dev4.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
409
+ robotic-0.2.8.dev4.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
410
+ robotic-0.2.8.dev4.dist-info/METADATA,sha256=i8zEwUIA_m8DgisJEtucaDMZBv5kAphNDC-aOllrumg,6694
411
+ robotic-0.2.8.dev4.dist-info/WHEEL,sha256=917Nk_A7dZ3srGKZRqp5WKZ_AS1EEFGAqxcMBnTJRUs,102
412
+ robotic-0.2.8.dev4.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
413
+ robotic-0.2.8.dev4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (75.8.2)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp39-cp39-linux_x86_64
5
5