robotic 0.2.8.dev3__cp38-cp38-manylinux2014_x86_64.whl → 0.2.8.dev5__cp38-cp38-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 (34) hide show
  1. robotic/_robotic.pyi +96 -76
  2. robotic/_robotic.so +0 -0
  3. robotic/include/rai/Core/array.ipp +3 -0
  4. robotic/include/rai/Core/graph.h +4 -12
  5. robotic/include/rai/Geo/geo.h +1 -0
  6. robotic/include/rai/Geo/mesh.h +9 -3
  7. robotic/include/rai/Geo/stbImage.h +9 -0
  8. robotic/include/rai/Gui/RenderData.h +3 -2
  9. robotic/include/rai/KOMO/testProblems_KOMO.h +17 -2
  10. robotic/include/rai/Kin/frame.h +2 -0
  11. robotic/include/rai/Kin/kin.h +1 -0
  12. robotic/include/rai/Kin/simulation.h +2 -1
  13. robotic/include/rai/Optim/NLP_GraphSolver.h +1 -1
  14. robotic/include/rai/Optim/NLP_Solver.h +6 -23
  15. robotic/include/rai/Optim/constrained.h +3 -0
  16. robotic/include/rai/Optim/lagrangian.h +3 -0
  17. robotic/include/rai/Optim/options.h +7 -2
  18. robotic/include/rai/Optim/primalDual.h +1 -1
  19. robotic/librai.so +0 -0
  20. robotic/meshTool +0 -0
  21. robotic/version.py +1 -1
  22. {robotic-0.2.8.dev3.dist-info → robotic-0.2.8.dev5.dist-info}/METADATA +1 -1
  23. {robotic-0.2.8.dev3.dist-info → robotic-0.2.8.dev5.dist-info}/RECORD +34 -33
  24. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-bot +0 -0
  25. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-h5info +0 -0
  26. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-info +0 -0
  27. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-meshTool +0 -0
  28. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-test +0 -0
  29. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-urdf2rai +0 -0
  30. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-urdf2yaml +0 -0
  31. {robotic-0.2.8.dev3.data → robotic-0.2.8.dev5.data}/scripts/ry-view +0 -0
  32. {robotic-0.2.8.dev3.dist-info → robotic-0.2.8.dev5.dist-info}/LICENSE +0 -0
  33. {robotic-0.2.8.dev3.dist-info → robotic-0.2.8.dev5.dist-info}/WHEEL +0 -0
  34. {robotic-0.2.8.dev3.dist-info → robotic-0.2.8.dev5.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
@@ -433,9 +437,9 @@ class Config:
433
437
  """
434
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
435
439
  """
436
- def write(self) -> str:
440
+ def write(self) -> ...:
437
441
  """
438
- 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
439
443
  """
440
444
  def writeCollada(self, filename: str, format: str = 'collada') -> None:
441
445
  """
@@ -718,6 +722,8 @@ class Frame:
718
722
  """
719
723
  add/set attributes for the frame
720
724
  """
725
+ def asDict(self) -> dict:
726
+ ...
721
727
  def computeCompoundInertia(self, clearChildInertias: bool = True) -> Frame:
722
728
  ...
723
729
  def convertDecomposedShapeToChildFrames(self) -> Frame:
@@ -726,8 +732,12 @@ class Frame:
726
732
  """
727
733
  get frame attributes
728
734
  """
735
+ def getChildren(self) -> list[Frame]:
736
+ ...
729
737
  def getJointState(self) -> arr:
730
738
  ...
739
+ def getJointType(self) -> JT:
740
+ ...
731
741
  def getMesh(self) -> tuple:
732
742
  ...
733
743
  def getMeshColors(self) -> ...:
@@ -760,8 +770,6 @@ class Frame:
760
770
  ...
761
771
  def getTransform(self) -> arr:
762
772
  ...
763
- def info(self) -> dict:
764
- ...
765
773
  def makeRoot(self, untilPartBreak: bool) -> None:
766
774
  ...
767
775
  def setAttribute(self, arg0: str, arg1: float) -> Frame:
@@ -822,6 +830,10 @@ class Frame:
822
830
  ...
823
831
  def setTensorShape(self, data: ..., size: arr) -> Frame:
824
832
  ...
833
+ def setTextureFile(self, image_filename: ..., texCoords: arr = ...) -> Frame:
834
+ """
835
+ set the texture of the mesh of a shape
836
+ """
825
837
  def transformToDiagInertia(self, arg0: bool) -> ...:
826
838
  ...
827
839
  def unLink(self) -> Frame:
@@ -1236,7 +1248,7 @@ class NLP_Solver:
1236
1248
  ...
1237
1249
  def setPyProblem(self, arg0: typing.Any) -> None:
1238
1250
  ...
1239
- def setSolver(self, arg0: NLP_SolverID) -> NLP_Solver:
1251
+ def setSolver(self, arg0: ...) -> NLP_Solver:
1240
1252
  ...
1241
1253
  def setTracing(self, arg0: bool, arg1: bool, arg2: bool, arg3: bool) -> NLP_Solver:
1242
1254
  ...
@@ -1244,73 +1256,6 @@ class NLP_Solver:
1244
1256
  """
1245
1257
  resampleInitialization=-1 means: only when not already solved
1246
1258
  """
1247
- class NLP_SolverID:
1248
- """
1249
- Members:
1250
-
1251
- gradientDescent
1252
-
1253
- rprop
1254
-
1255
- LBFGS
1256
-
1257
- newton
1258
-
1259
- augmentedLag
1260
-
1261
- squaredPenalty
1262
-
1263
- logBarrier
1264
-
1265
- singleSquaredPenalty
1266
-
1267
- NLopt
1268
-
1269
- Ipopt
1270
-
1271
- Ceres
1272
- """
1273
- Ceres: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.Ceres: 11>
1274
- Ipopt: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.Ipopt: 10>
1275
- LBFGS: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.LBFGS: 2>
1276
- NLopt: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.NLopt: 9>
1277
- __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>}
1278
- augmentedLag: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.augmentedLag: 4>
1279
- gradientDescent: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.gradientDescent: 0>
1280
- logBarrier: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.logBarrier: 6>
1281
- newton: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.newton: 3>
1282
- rprop: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.rprop: 1>
1283
- singleSquaredPenalty: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.singleSquaredPenalty: 7>
1284
- squaredPenalty: typing.ClassVar[NLP_SolverID] # value = <NLP_SolverID.squaredPenalty: 5>
1285
- @staticmethod
1286
- def _pybind11_conduit_v1_(*args, **kwargs):
1287
- ...
1288
- def __eq__(self, other: typing.Any) -> bool:
1289
- ...
1290
- def __getstate__(self) -> int:
1291
- ...
1292
- def __hash__(self) -> int:
1293
- ...
1294
- def __index__(self) -> int:
1295
- ...
1296
- def __init__(self, value: int) -> None:
1297
- ...
1298
- def __int__(self) -> int:
1299
- ...
1300
- def __ne__(self, other: typing.Any) -> bool:
1301
- ...
1302
- def __repr__(self) -> str:
1303
- ...
1304
- def __setstate__(self, state: int) -> None:
1305
- ...
1306
- def __str__(self) -> str:
1307
- ...
1308
- @property
1309
- def name(self) -> str:
1310
- ...
1311
- @property
1312
- def value(self) -> int:
1313
- ...
1314
1259
  class NLP_SolverOptions:
1315
1260
  """
1316
1261
  solver options
@@ -1362,8 +1307,6 @@ class OT:
1362
1307
  """
1363
1308
  Members:
1364
1309
 
1365
- none
1366
-
1367
1310
  f
1368
1311
 
1369
1312
  sos
@@ -1375,8 +1318,10 @@ class OT:
1375
1318
  ineqB
1376
1319
 
1377
1320
  ineqP
1321
+
1322
+ none
1378
1323
  """
1379
- __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>}
1380
1325
  eq: typing.ClassVar[OT] # value = <OT.eq: 3>
1381
1326
  f: typing.ClassVar[OT] # value = <OT.f: 0>
1382
1327
  ineq: typing.ClassVar[OT] # value = <OT.ineq: 2>
@@ -1445,6 +1390,79 @@ class OptBenchmark_InvKin_Endeff:
1445
1390
  ...
1446
1391
  def get(self) -> NLP:
1447
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
+ ...
1448
1466
  class Quaternion:
1449
1467
  """
1450
1468
  """
@@ -1483,6 +1501,8 @@ class Quaternion:
1483
1501
  ...
1484
1502
  def setDiff(self, from: Vector, to: Vector) -> Quaternion:
1485
1503
  ...
1504
+ def setEuler(self, euler_zxz: Vector) -> Quaternion:
1505
+ ...
1486
1506
  def setExp(self, vector_w: Vector) -> Quaternion:
1487
1507
  ...
1488
1508
  def setInterpolateEmbedded(self, t: float, from: Quaternion, to: Quaternion) -> Quaternion:
robotic/_robotic.so CHANGED
Binary file
@@ -777,6 +777,7 @@ template<class T> Array<T> Array<T>::operator()(std::pair<int, int> I) const {
777
777
 
778
778
  /// range reference access
779
779
  template<class T> Array<T> Array<T>::operator()(int i, std::pair<int, int> J) const {
780
+ if(i<0) i += d0;
780
781
  Array<T> z;
781
782
  z.referToRange(*this, i, J.first, J.second);
782
783
  // if(J.size()==2)
@@ -788,6 +789,8 @@ template<class T> Array<T> Array<T>::operator()(int i, std::pair<int, int> J) co
788
789
 
789
790
  /// range reference access
790
791
  template<class T> Array<T> Array<T>::operator()(int i, int j, std::initializer_list<int> K) const {
792
+ if(i<0) i += d0;
793
+ if(j<0) j += d1;
791
794
  Array<T> z;
792
795
  if(K.size()==2) z.referToRange(*this, i, j, K.begin()[0], K.begin()[1]);
793
796
  else if(K.size()==0) z.referToDim(*this, i, j);
@@ -120,7 +120,6 @@ struct Graph : NodeL {
120
120
  //-- adding nodes
121
121
  template<class T> Node_typed<T>* add(const char* key);
122
122
  template<class T> Node_typed<T>* add(const char* key, const T& x);
123
- template<class T> Node_typed<T>* add(const char* key, const T& x, const NodeL& parents);
124
123
  template<class T> Node_typed<T&>* addRef(const char* key, const T& x);
125
124
 
126
125
  //Node_typed<int>* add(const uintA& parentIdxs); ///< add 'vertex tupes' (like edges) where vertices are referred to by integers
@@ -138,6 +137,9 @@ struct Graph : NodeL {
138
137
  NodeL findNodesOfType(const std::type_info& type, const char* key, bool recurseUp=false, bool recurseDown=false) const;
139
138
  NodeL findGraphNodesWithTag(const char* tag) const;
140
139
 
140
+ //
141
+ template<class T> Node* set(const char* key, const T& x){ Node* n = findNodeOfType(typeid(T), key); if(n) n->as<T>()=x; else n=add<T>(key, x); return n; }
142
+
141
143
  //-- get nodes
142
144
  Node* operator[](const char* key) const { return findNode(key); } ///< returns nullptr if not found
143
145
  Node* getNode(const char* key) const { return findNode(key); } ///< returns nullptr if not found
@@ -369,12 +371,6 @@ struct Node_typed : Node {
369
371
  if(is<Graph>()) graph().isNodeOfGraph = this; //this is the only place where isNodeOfGraph is set
370
372
  }
371
373
 
372
- Node_typed(Graph& container, const char* key, const T& _value, const NodeL& parents)
373
- : Node(typeid(T), container, key), value(_value) {
374
- if(parents.N) setParents(parents);
375
- if(is<Graph>()) graph().isNodeOfGraph = this; //this is the only place where isNodeOfGraph is set
376
- }
377
-
378
374
  virtual ~Node_typed() {
379
375
  }
380
376
 
@@ -409,7 +405,7 @@ struct Node_typed : Node {
409
405
  g.copy(graph());
410
406
  return g.isNodeOfGraph;
411
407
  }
412
- return container.add<T>(key, value, parents);
408
+ return container.add<T>(key, value)->setParents(parents);
413
409
  }
414
410
  };
415
411
  } //namespace
@@ -536,10 +532,6 @@ template<class T> Node_typed<T>* Graph::add(const char* key, const T& x) {
536
532
  return new Node_typed<T>(*this, key, x);
537
533
  }
538
534
 
539
- template<class T> Node_typed<T>* Graph::add(const char* key, const T& x, const NodeL& parents) {
540
- return new Node_typed<T>(*this, key, x, parents);
541
- }
542
-
543
535
  template<class T> Node_typed<T&>* Graph::addRef(const char* key, const T& x) {
544
536
  return new Node_typed<T&>(*this, key, (T&)x);
545
537
  }
@@ -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);
@@ -17,6 +17,7 @@ namespace rai { struct Mesh; }
17
17
  typedef rai::Array<rai::Mesh> MeshA;
18
18
  typedef rai::Array<rai::Mesh*> MeshL;
19
19
  struct ANN;
20
+ struct SharedTextureImage{ byteA img; uint glBufferID=UINT32_MAX; };
20
21
 
21
22
  namespace rai {
22
23
 
@@ -32,8 +33,10 @@ struct Mesh {
32
33
  uintA T; ///< triangles (faces, empty -> point cloud)
33
34
  arr Tn; ///< triangle normals (optional)
34
35
 
35
- arr texCoords; ///< texture coordinates for each vertex, dimensionality (V.d0, 2)
36
- byteA texImg; ///< texture image
36
+ arr texCoords; ///< texture coordinates for each vertex, dimensionality (V.d0, 2)
37
+ // byteA texImg; ///< texture image
38
+ shared_ptr<SharedTextureImage> _texImg;
39
+ SharedTextureImage& texImg(const char* file=0);
37
40
 
38
41
  uintA cvxParts;
39
42
  uintAA graph; ///< for every vertex, the set of neighboring vertices
@@ -174,5 +177,8 @@ arr MinkowskiSum(const arr& A, const arr& B);
174
177
  void inertiaSphere(double* Inertia, double& mass, double density, double radius);
175
178
  void inertiaBox(double* Inertia, double& mass, double density, double dx, double dy, double dz);
176
179
  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);
180
+
181
+ void inertiaSphereSurface(double& mass, double* I, double radius, double density);
182
+ void inertiaBoxSurface(double& mass, double* I, double dx, double dy, double dz, double density);
183
+ void inertiaMeshSurface(double& mass, double* com, double* I, const rai::Mesh& m, double density);
178
184
 
@@ -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
+ }
@@ -25,8 +25,9 @@ enum RenderType { _solid, _shadow, _tensor, _text, _marker, _transparent, _all }
25
25
 
26
26
  struct RenderAsset{
27
27
  floatA vertices, colors, normals; //for 2D textures: colors are vertex-wise texture coordinates
28
- byteA texture;
29
- GLuint vao, vertexBuffer, colorBuffer, normalBuffer, textureBuffer;
28
+ GLuint vao, vertexBuffer, colorBuffer, normalBuffer;
29
+ shared_ptr<SharedTextureImage> _texture;
30
+ SharedTextureImage& texture(){ if(!_texture) _texture=make_shared<SharedTextureImage>(); return *_texture; }
30
31
  GLenum mode=GL_TRIANGLES;
31
32
  uint textureDim=0;
32
33
  bool initialized=false;
@@ -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;
@@ -167,6 +167,7 @@ struct Frame : NonCopyable {
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
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
 
@@ -272,6 +272,7 @@ public:
272
272
  FeatherstoneInterface& fs();
273
273
  bool hasView();
274
274
  int view(bool pause=false, const char* txt=nullptr);
275
+ void view_savePng(str saveVideoPath="z.vid/", int count=-1);
275
276
  void saveVideoPic(uint& t, const char* pathPrefix="vid/");
276
277
  void glAdd(void (*call)(void*, OpenGL&), void* classP);
277
278
  int glAnimate();
@@ -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;
@@ -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.dev3'
1
+ __version__ = '0.2.8.dev5'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotic
3
- Version: 0.2.8.dev3
3
+ Version: 0.2.8.dev5
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=u2vE6wgidlvf3pZbN4qrluEfa5WQicjW9pKyHOHBfG0,73037
4
- robotic/_robotic.so,sha256=oUYMkLeKPt0Yl2I-kgy_t83Y6mLVA0yoDt1_8GxanVw,1205984
5
- robotic/librai.so,sha256=XNl92szEsGOIZpVXuLrQXMkPj4tjNTF0B-jSQ1YGHR4,40175592
3
+ robotic/_robotic.pyi,sha256=n3SGnLZXHD2OAYfdyUs7D_0exUox-4ZOY4Z2g_TrPx4,73626
4
+ robotic/_robotic.so,sha256=FTuHYsuNONdAsUCk78bEf0b5hZGSY-6g6_YeCpwWmmk,1218272
5
+ robotic/librai.so,sha256=W_YrlbvnMsVHG3BrSei6m4sN1A2mVDv-VRWvMdTWOoc,40175496
6
6
  robotic/manipulation.py,sha256=EhM_Zuv3vl8H4SBNqqYMD3NT9AzFUpOhr4PIzM4U7tM,22374
7
- robotic/meshTool,sha256=Dssd8R2xExwxcH_Qk7rNfcV8QNTBAYmp6ahfjjDJgY0,52168
7
+ robotic/meshTool,sha256=VjGOnOwgoO0iujNEhKJ8D_AOscHs_mlIWi1tuWoCKVw,48072
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=SW2YeWiPKW-Tot6fpOkpbGAhN4XnTi_t4C0wLP7hIgY,27
19
+ robotic/version.py,sha256=s5KdV62VO2S1RtYm6EQ3img4TW3bs_GI6AGDMl0qS_A,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
@@ -46,10 +46,10 @@ robotic/include/rai/Control/control.h,sha256=_dJefR6WzvdQMaJIYIBuYP8NwoKgNeG4owh
46
46
  robotic/include/rai/Control/ctrlMsg.h,sha256=uGuwAaKM1UsQW3hTNv4AihW99MJMuow4cxa9-AU9AmA,1121
47
47
  robotic/include/rai/Control/timingOpt.h,sha256=Ne_IH8QuFCID0Sy88LS5i3qkp1nL1FbIgREqSjRctz0,2045
48
48
  robotic/include/rai/Core/array.h,sha256=YYdSaiZ0o7RoC_Zv6S1oGWMuFBdSrOWIIt-6KuaiO0Q,25290
49
- robotic/include/rai/Core/array.ipp,sha256=hdyULakmWOdt6Gi_-4338uzkWbrkw2_eCh-H3nXFwuo,58314
49
+ robotic/include/rai/Core/array.ipp,sha256=ELRBdyAqrIi3taDBe74rjPQRDYp5MwYFn4eYAhwE8EI,58371
50
50
  robotic/include/rai/Core/arrayDouble.h,sha256=ACvesIGz_0UP3G-x7-LlfGzodKB7EVsGeX5z2RbMFx8,28869
51
51
  robotic/include/rai/Core/defines.h,sha256=hBTgf5EiJ50rQYW1saGw8Ox87aKVFOYVKnFw0jojVW0,6894
52
- robotic/include/rai/Core/graph.h,sha256=Eo0j8q8IbY_M7V2FwzKAi9E8makxgRBvrFcPfJKuCtE,20890
52
+ robotic/include/rai/Core/graph.h,sha256=YlDZVq5woqF7nYSgqk2hn6ynVPpA4SJakjPic2cjA2c,20534
53
53
  robotic/include/rai/Core/h5.h,sha256=FzIP0eLL7XYg5eRjJgfPIt9SwY5HBaazy4ddoCcpkSU,1057
54
54
  robotic/include/rai/Core/thread.h,sha256=wjwvXACwI8B6rhZSf2UDruWUb8kT9Xjm-VE-OnUQpwk,18248
55
55
  robotic/include/rai/Core/util.h,sha256=KhBcYsprUaZXt2BMpsOACoOcmEWLEtOG4WM9Dcooamc,19514
@@ -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=cmEhGxaTaBc9K2Z7lOjm7ZFzH9teVYA6I_Kr1B3sxlg,6803
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
@@ -86,7 +87,7 @@ robotic/include/rai/Geo/ccd_rai/support.h,sha256=B9KBuOctG7Hx-e1TXpnkU667WVH7SP4
86
87
  robotic/include/rai/Geo/ccd_rai/vec3.h,sha256=ARkNnQz8yWf_Cs3vgt22zclN1cLeGmwWPTVHVpvmfEA,8115
87
88
  robotic/include/rai/Geo/ply/ply.h,sha256=_oAXgQ5CyHvUMtPDBxYtOBbnKDVoZf5PKMswisqvOeI,9384
88
89
  robotic/include/rai/Geo/vhacd/VHACD.h,sha256=QT_cT6PPzec_mxKODsS9cJGr6nBt6S8cUJF7dCeBQCc,258343
89
- robotic/include/rai/Gui/RenderData.h,sha256=FPN7ApW8SK-MAI5wIoCU8_ezJbJogUMxfhAvK6GSAJ4,4775
90
+ robotic/include/rai/Gui/RenderData.h,sha256=PpNfJ6-k2mPTMv2CemQ8Ki8rPzQWrburopSgtosvb-k,4897
90
91
  robotic/include/rai/Gui/color.h,sha256=4ElBkpWgwBuqQEFD4Mdhv_afZE4ul6NkptwFQ2oDS5o,2596
91
92
  robotic/include/rai/Gui/opengl.h,sha256=sRvOz-QGHwgrf11UiQV4At4G2FjClveTTJorXyer1Fw,9036
92
93
  robotic/include/rai/Gui/plot.h,sha256=xhTBY84UN4KpgZsX7SJQGqVKd1jU7jojGVKFv02v0xU,2341
@@ -100,7 +101,7 @@ robotic/include/rai/KOMO/skeleton.h,sha256=NPaMfUMC_sUd3AjlLHTFpxWH4QtnKP_zzvHb2
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,14 +116,14 @@ 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=AU2IosH9FP2KzefWlcwyV5cLF973xG3EYILW2jM_JoY,14338
119
- robotic/include/rai/Kin/kin.h,sha256=BFZAdY7RRHhBtcjSkZf32EFhJswot1u3mIUn3P13qt4,15547
119
+ robotic/include/rai/Kin/frame.h,sha256=lYP6v7yZodtCQrfVg61H9qwtOsiYab9l7y2BHLOmeXY,14440
120
+ robotic/include/rai/Kin/kin.h,sha256=IBnhAcpn1R6ubXCh1dSac-NBhKZA_i8-GCK7eJBwme4,15610
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=1zsYTtaZRW1L5l-YiHz7u1dL973XRRbtSQ6wNC6CwCI,5215
126
+ robotic/include/rai/Kin/simulation.h,sha256=rM08Epf72aiI26z2MPE0sZ6CrnNzolzdzZKhKxw5Zn8,5238
126
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
@@ -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.dev3.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
401
- robotic-0.2.8.dev3.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
402
- robotic-0.2.8.dev3.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
403
- robotic-0.2.8.dev3.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
404
- robotic-0.2.8.dev3.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
405
- robotic-0.2.8.dev3.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
406
- robotic-0.2.8.dev3.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
407
- robotic-0.2.8.dev3.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
408
- robotic-0.2.8.dev3.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
409
- robotic-0.2.8.dev3.dist-info/METADATA,sha256=whs-ofoTrpj4zW1wBckJ5t9ZqzirQc9LksE76-7qFaU,6565
410
- robotic-0.2.8.dev3.dist-info/WHEEL,sha256=QjksN8yqvEZiPRpkysvFl_zIoTPrHYtCPi208j7yd3I,102
411
- robotic-0.2.8.dev3.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
412
- robotic-0.2.8.dev3.dist-info/RECORD,,
401
+ robotic-0.2.8.dev5.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
402
+ robotic-0.2.8.dev5.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
403
+ robotic-0.2.8.dev5.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
404
+ robotic-0.2.8.dev5.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
405
+ robotic-0.2.8.dev5.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
406
+ robotic-0.2.8.dev5.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
407
+ robotic-0.2.8.dev5.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
408
+ robotic-0.2.8.dev5.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
409
+ robotic-0.2.8.dev5.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
410
+ robotic-0.2.8.dev5.dist-info/METADATA,sha256=f-G4aCdTj47okUlEs2agCfbv0QyZ3SYYdnbQoO6xuhU,6565
411
+ robotic-0.2.8.dev5.dist-info/WHEEL,sha256=QjksN8yqvEZiPRpkysvFl_zIoTPrHYtCPi208j7yd3I,102
412
+ robotic-0.2.8.dev5.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
413
+ robotic-0.2.8.dev5.dist-info/RECORD,,