robotic 0.2.8.dev0__cp311-cp311-manylinux2014_x86_64.whl → 0.2.8.dev1__cp311-cp311-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.
- robotic/DataGen.pyi +1 -1
- robotic/_robotic.pyi +65 -5
- robotic/_robotic.so +0 -0
- robotic/include/rai/Core/h5.h +3 -0
- robotic/include/rai/Core/util.h +2 -0
- robotic/include/rai/DataGen/shapenetGrasps.h +7 -6
- robotic/include/rai/Geo/assimpInterface.h +1 -1
- robotic/include/rai/Geo/geo.h +22 -24
- robotic/include/rai/Geo/mesh.h +1 -4
- robotic/include/rai/Gui/RenderData.h +8 -6
- robotic/include/rai/KOMO/komo.h +3 -1
- robotic/include/rai/Kin/F_collisions.h +10 -0
- robotic/include/rai/Kin/F_forces.h +14 -0
- robotic/include/rai/Kin/F_pose.h +2 -0
- robotic/include/rai/Kin/dof_direction.h +1 -1
- robotic/include/rai/Kin/dof_forceExchange.h +1 -1
- robotic/include/rai/Kin/dof_path.h +0 -1
- robotic/include/rai/Kin/frame.h +10 -11
- robotic/include/rai/ry/py-Quaternion.h +17 -0
- robotic/include/rai/ry/types.h +29 -0
- robotic/librai.so +0 -0
- robotic/manipulation.py +2 -5
- robotic/meshTool +0 -0
- robotic/rai-robotModels/scenarios/ballFinger.g +1 -1
- robotic/rai-robotModels/scenarios/pandaFloatingGripper.g +1 -1
- robotic/{ry-h5info.py → ry-h5info} +0 -0
- robotic/version.py +1 -1
- robotic-0.2.8.dev1.data/scripts/ry-h5info +28 -0
- {robotic-0.2.8.dev0.dist-info → robotic-0.2.8.dev1.dist-info}/METADATA +1 -1
- {robotic-0.2.8.dev0.dist-info → robotic-0.2.8.dev1.dist-info}/RECORD +40 -38
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-bot +0 -0
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-info +0 -0
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-meshTool +0 -0
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-test +0 -0
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-urdf2rai +0 -0
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-urdf2yaml +0 -0
- {robotic-0.2.8.dev0.data → robotic-0.2.8.dev1.data}/scripts/ry-view +0 -0
- {robotic-0.2.8.dev0.dist-info → robotic-0.2.8.dev1.dist-info}/LICENSE +0 -0
- {robotic-0.2.8.dev0.dist-info → robotic-0.2.8.dev1.dist-info}/WHEEL +0 -0
- {robotic-0.2.8.dev0.dist-info → robotic-0.2.8.dev1.dist-info}/top_level.txt +0 -0
robotic/DataGen.pyi
CHANGED
|
@@ -68,7 +68,7 @@ class ShapenetGrasps:
|
|
|
68
68
|
"""
|
|
69
69
|
(direct interface) set (relative) pose of grasp candidate
|
|
70
70
|
"""
|
|
71
|
-
def setOptions(self, verbose: int = 1, filesPrefix: ... = 'shapenet/models/',
|
|
71
|
+
def setOptions(self, verbose: int = 1, filesPrefix: ... = 'shapenet/models/', endShape: int = -1, startShape: int = 0, simVerbose: int = 0, optVerbose: int = 0, simTau: float = 0.01, gripperCloseSpeed: float = 0.001, moveSpeed: float = 0.005, pregraspNormalSdv: float = 0.2) -> ShapenetGrasps:
|
|
72
72
|
"""
|
|
73
73
|
set options
|
|
74
74
|
"""
|
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', '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_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']
|
|
10
10
|
class Actions2KOMO_Translator:
|
|
11
11
|
"""
|
|
12
12
|
Actions2KOMO_Translator
|
|
@@ -299,9 +299,9 @@ class Config:
|
|
|
299
299
|
"""
|
|
300
300
|
evaluate a feature -- see https://marctoussaint.github.io/robotics-course/tutorials/features.html
|
|
301
301
|
"""
|
|
302
|
-
def frame(self,
|
|
302
|
+
def frame(self, frameID: int) -> Frame:
|
|
303
303
|
"""
|
|
304
|
-
get access to a frame by
|
|
304
|
+
get access to a frame by index (< getFrameDimension)
|
|
305
305
|
"""
|
|
306
306
|
def getCollidablePairs(self) -> StringA:
|
|
307
307
|
"""
|
|
@@ -784,6 +784,10 @@ class Frame:
|
|
|
784
784
|
"""
|
|
785
785
|
def setMeshAsLines(self, arg0: list[float]) -> None:
|
|
786
786
|
...
|
|
787
|
+
def setMeshFile(self, filename: ...) -> Frame:
|
|
788
|
+
"""
|
|
789
|
+
attach a mesh shape from a file
|
|
790
|
+
"""
|
|
787
791
|
def setParent(self, parent: Frame, keepAbsolutePose_and_adaptRelativePose: bool = False, checkForLoop: bool = False) -> Frame:
|
|
788
792
|
...
|
|
789
793
|
def setPointCloud(self, points: arr, colors: ... = ..., normals: arr = ...) -> Frame:
|
|
@@ -814,7 +818,7 @@ class Frame:
|
|
|
814
818
|
...
|
|
815
819
|
def setTensorShape(self, data: ..., size: arr) -> Frame:
|
|
816
820
|
...
|
|
817
|
-
def transformToDiagInertia(self) -> ...:
|
|
821
|
+
def transformToDiagInertia(self, arg0: bool) -> ...:
|
|
818
822
|
...
|
|
819
823
|
def unLink(self) -> Frame:
|
|
820
824
|
...
|
|
@@ -950,7 +954,7 @@ class KOMO:
|
|
|
950
954
|
* order: Do we penalize the jointState directly (order=0: penalizing sqr distance to qHome, order=1: penalizing sqr distances between consecutive configurations (velocities), order=2: penalizing accelerations across 3 configurations)
|
|
951
955
|
* scale: as usual, but modulated by a factor 'sqrt(delta t)' that somehow ensures total control costs in approximately independent of the choice of stepsPerPhase
|
|
952
956
|
"""
|
|
953
|
-
def addFrameDof(self, name: str, parent: str, jointType: JT, stable: bool,
|
|
957
|
+
def addFrameDof(self, name: str, parent: str, jointType: JT, stable: bool, originFrameName: str = None, originFrame: Frame = None) -> Frame:
|
|
954
958
|
"""
|
|
955
959
|
complicated...
|
|
956
960
|
"""
|
|
@@ -1437,6 +1441,62 @@ class OptBenchmark_InvKin_Endeff:
|
|
|
1437
1441
|
...
|
|
1438
1442
|
def get(self) -> NLP:
|
|
1439
1443
|
...
|
|
1444
|
+
class Quaternion:
|
|
1445
|
+
"""
|
|
1446
|
+
"""
|
|
1447
|
+
@staticmethod
|
|
1448
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
1449
|
+
...
|
|
1450
|
+
def __init__(self) -> None:
|
|
1451
|
+
"""
|
|
1452
|
+
non-initialized
|
|
1453
|
+
"""
|
|
1454
|
+
def append(self, q: Quaternion) -> None:
|
|
1455
|
+
...
|
|
1456
|
+
def applyOnPointArray(self, pts: arr) -> None:
|
|
1457
|
+
...
|
|
1458
|
+
def flipSign(self) -> None:
|
|
1459
|
+
...
|
|
1460
|
+
def getArr(self) -> arr:
|
|
1461
|
+
...
|
|
1462
|
+
def getJacobian(self) -> arr:
|
|
1463
|
+
...
|
|
1464
|
+
def getLog(self) -> Vector:
|
|
1465
|
+
...
|
|
1466
|
+
def getMatrix(self) -> arr:
|
|
1467
|
+
...
|
|
1468
|
+
def getRad(self) -> float:
|
|
1469
|
+
...
|
|
1470
|
+
def getRollPitchYaw(self) -> arr:
|
|
1471
|
+
...
|
|
1472
|
+
def invert(self) -> None:
|
|
1473
|
+
...
|
|
1474
|
+
def multiply(self, f: float) -> None:
|
|
1475
|
+
...
|
|
1476
|
+
def normalize(self) -> None:
|
|
1477
|
+
...
|
|
1478
|
+
def set(self, q: arr) -> Quaternion:
|
|
1479
|
+
...
|
|
1480
|
+
def setDiff(self, from: Vector, to: Vector) -> Quaternion:
|
|
1481
|
+
...
|
|
1482
|
+
def setExp(self, vector_w: Vector) -> Quaternion:
|
|
1483
|
+
...
|
|
1484
|
+
def setInterpolateEmbedded(self, t: float, from: Quaternion, to: Quaternion) -> Quaternion:
|
|
1485
|
+
...
|
|
1486
|
+
def setInterpolateProper(self, t: float, from: Quaternion, to: Quaternion) -> Quaternion:
|
|
1487
|
+
...
|
|
1488
|
+
def setMatrix(self, R: arr) -> Quaternion:
|
|
1489
|
+
...
|
|
1490
|
+
def setRad(self, radians: float, axis: Vector) -> Quaternion:
|
|
1491
|
+
...
|
|
1492
|
+
def setRandom(self) -> Quaternion:
|
|
1493
|
+
...
|
|
1494
|
+
def setRollPitchYaw(self, roll_pitch_yaw: Vector) -> Quaternion:
|
|
1495
|
+
...
|
|
1496
|
+
def setZero(self) -> Quaternion:
|
|
1497
|
+
...
|
|
1498
|
+
def sqrNorm(self) -> float:
|
|
1499
|
+
...
|
|
1440
1500
|
class RRT_PathFinder:
|
|
1441
1501
|
"""
|
|
1442
1502
|
todo doc
|
robotic/_robotic.so
CHANGED
|
Binary file
|
robotic/include/rai/Core/h5.h
CHANGED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
namespace H5 { class H5File; }
|
|
15
15
|
|
|
16
|
+
namespace rai {
|
|
17
|
+
|
|
16
18
|
//===========================================================================
|
|
17
19
|
|
|
18
20
|
struct H5_Writer {
|
|
@@ -37,3 +39,4 @@ struct H5_Reader {
|
|
|
37
39
|
bool exists(const char* name);
|
|
38
40
|
};
|
|
39
41
|
|
|
42
|
+
} //namespace
|
robotic/include/rai/Core/util.h
CHANGED
|
@@ -187,6 +187,7 @@ struct String : public std::iostream {
|
|
|
187
187
|
void prepend(const String& s);
|
|
188
188
|
void replace(uint i, uint n, const char* xp, uint xN);
|
|
189
189
|
void removePrefix(const char* prefix);
|
|
190
|
+
void removePostfix(const char* postfix);
|
|
190
191
|
|
|
191
192
|
String& setRandom();
|
|
192
193
|
|
|
@@ -218,6 +219,7 @@ struct String : public std::iostream {
|
|
|
218
219
|
stdPipes(String)
|
|
219
220
|
|
|
220
221
|
inline String operator+(const String& a, const char* b) { String s=a; s <<b; return s; }
|
|
222
|
+
//template<class T> String operator+(const String& a, const T& b) { String s=a; s <<b; return s; }
|
|
221
223
|
|
|
222
224
|
} //namespace
|
|
223
225
|
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
struct ShapenetGrasps_Options {
|
|
8
8
|
RAI_PARAM("ShapenetGrasps/", int, verbose, 1)
|
|
9
9
|
RAI_PARAM("ShapenetGrasps/", rai::String, filesPrefix, "shapenet/models/")
|
|
10
|
-
RAI_PARAM("ShapenetGrasps/", int,
|
|
11
|
-
RAI_PARAM("ShapenetGrasps/", int,
|
|
10
|
+
RAI_PARAM("ShapenetGrasps/", int, startShape, 3)
|
|
11
|
+
RAI_PARAM("ShapenetGrasps/", int, endShape, 5)
|
|
12
12
|
RAI_PARAM("ShapenetGrasps/", int, simVerbose, 0)
|
|
13
13
|
RAI_PARAM("ShapenetGrasps/", int, optVerbose, 0)
|
|
14
14
|
RAI_PARAM("ShapenetGrasps/", double, simTau, .01)
|
|
@@ -29,7 +29,8 @@ struct ShapenetGrasps{
|
|
|
29
29
|
void displaySamples(const arr& X, const uintA& shapes, const arr& Scores={});
|
|
30
30
|
|
|
31
31
|
//-- direct interfaces
|
|
32
|
-
bool loadObject(uint shape, bool
|
|
32
|
+
bool loadObject(uint shape, bool rndOrientation=true);
|
|
33
|
+
void resetObjectPose(int idx=0, bool rndOrientation=true);
|
|
33
34
|
arr getPointCloud();
|
|
34
35
|
arr sampleGraspPose();
|
|
35
36
|
void setGraspPose(const arr& pose, const char* objPts="objPts0");
|
|
@@ -37,11 +38,11 @@ struct ShapenetGrasps{
|
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
rai::Configuration C;
|
|
40
|
-
private:
|
|
41
41
|
StringA files;
|
|
42
|
+
|
|
43
|
+
private:
|
|
42
44
|
void clearScene();
|
|
43
|
-
|
|
44
|
-
bool addSceneObject(const char* file, int idx, bool rndPose=true, bool visual=false);
|
|
45
|
+
bool addSceneObject(const char* file, int idx, bool rndOri=true, bool visual=false);
|
|
45
46
|
};
|
|
46
47
|
|
|
47
48
|
arr sampleGraspCandidate(rai::Configuration& C, const char *ptsFrame, const char* refFrame, double pregraspNormalSdv=.2, int verbose=1);
|
|
@@ -19,7 +19,7 @@ struct AssimpLoader {
|
|
|
19
19
|
std::string directory;
|
|
20
20
|
int verbose=0;
|
|
21
21
|
|
|
22
|
-
AssimpLoader(std::string
|
|
22
|
+
AssimpLoader(const std::string& path, bool flipYZ=true, bool relativeMeshPoses=false, int _verbose=0);
|
|
23
23
|
AssimpLoader(const struct aiScene* scene);
|
|
24
24
|
|
|
25
25
|
rai::Mesh getSingleMesh();
|
robotic/include/rai/Geo/geo.h
CHANGED
|
@@ -111,27 +111,26 @@ struct Quaternion {
|
|
|
111
111
|
double* p() { return &w; }
|
|
112
112
|
|
|
113
113
|
double& operator()(uint i) { CHECK(i<4, "out of range"); return (&w)[i]; }
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
void setInterpolateProper(double t, const Quaternion& from, const Quaternion to);
|
|
114
|
+
Quaternion& set(double w, double x, double y, double z);
|
|
115
|
+
Quaternion& set(const arr& q);
|
|
116
|
+
Quaternion& set(const std::vector<double>& x) { CHECK_EQ(x.size(), 4, ""); return set(x.data()); }
|
|
117
|
+
Quaternion& set(const double* p);
|
|
118
|
+
Quaternion& setZero();
|
|
119
|
+
Quaternion& setRandom();
|
|
120
|
+
Quaternion& setExp(const Vector& w);
|
|
121
|
+
Quaternion& setRad(double radians, double axis0, double axis1, double axis2);
|
|
122
|
+
Quaternion& setRad(double radians, const Vector& axis);
|
|
123
|
+
Quaternion& setDeg(double degree, double axis0, double axis1, double axis2){ return setRad(degree*RAI_PI/180., axis0, axis1, axis2); }
|
|
124
|
+
Quaternion& setRadX(double radians);
|
|
125
|
+
Quaternion& setRadY(double radians);
|
|
126
|
+
Quaternion& setRadZ(double radians);
|
|
127
|
+
Quaternion& setRollPitchYaw(const Vector& rpy);
|
|
128
|
+
Quaternion& setVector(const Vector& w){ return setExp(w); }
|
|
129
|
+
Quaternion& setMatrix(double* m);
|
|
130
|
+
Quaternion& setMatrix(const arr& R) { CHECK_EQ(R.N, 9, ""); return setMatrix(R.p); }
|
|
131
|
+
Quaternion& setDiff(const Vector& from, const Vector& to);
|
|
132
|
+
Quaternion& setInterpolateEmbedded(double t, const Quaternion& from, const Quaternion to);
|
|
133
|
+
Quaternion& setInterpolateProper(double t, const Quaternion& from, const Quaternion to);
|
|
135
134
|
void invert();
|
|
136
135
|
void flipSign();
|
|
137
136
|
void uniqueSign();
|
|
@@ -150,15 +149,14 @@ struct Quaternion {
|
|
|
150
149
|
bool isNormalized() const;
|
|
151
150
|
Vector getLog() const;
|
|
152
151
|
Vector getVector() const { return getLog(); }
|
|
153
|
-
double getDeg() const;
|
|
154
152
|
double getRad() const;
|
|
155
|
-
|
|
153
|
+
double getDeg() const{ return 180./RAI_PI*getRad(); }
|
|
156
154
|
void getRad(double& angle, Vector& axis) const;
|
|
157
155
|
Vector getX() const;
|
|
158
156
|
Vector getY() const;
|
|
159
157
|
Vector getZ() const;
|
|
160
158
|
arr getMatrix() const;
|
|
161
|
-
arr
|
|
159
|
+
arr getArr() const { return arr(&w, 4, false); }
|
|
162
160
|
double* getMatrix(double* m) const;
|
|
163
161
|
double* getMatrixOde(double* m) const; //in Ode foramt: 3x4 memory storae
|
|
164
162
|
double* getMatrixGL(double* m) const; //in OpenGL format: transposed 4x4 memory storage
|
robotic/include/rai/Geo/mesh.h
CHANGED
|
@@ -32,10 +32,8 @@ struct Mesh {
|
|
|
32
32
|
uintA T; ///< triangles (faces, empty -> point cloud)
|
|
33
33
|
arr Tn; ///< triangle normals (optional)
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
arr tex; ///< texture coordinates
|
|
35
|
+
arr texCoords; ///< texture coordinates for each vertex, dimensionality (V.d0, 2)
|
|
37
36
|
byteA texImg; ///< texture image
|
|
38
|
-
int texture=-1; ///< GL texture name created with glBindTexture
|
|
39
37
|
|
|
40
38
|
uintA cvxParts;
|
|
41
39
|
uintAA graph; ///< for every vertex, the set of neighboring vertices
|
|
@@ -134,7 +132,6 @@ struct Mesh {
|
|
|
134
132
|
|
|
135
133
|
//[preliminary]]
|
|
136
134
|
void skin(uint i);
|
|
137
|
-
void deleteGlTexture();
|
|
138
135
|
|
|
139
136
|
/// @name IO
|
|
140
137
|
void write(std::ostream&) const; ///< only writes generic info
|
|
@@ -24,9 +24,11 @@ struct Render_Options {
|
|
|
24
24
|
enum RenderType { _solid, _shadow, _tensor, _text, _marker, _transparent, _all };
|
|
25
25
|
|
|
26
26
|
struct RenderAsset{
|
|
27
|
-
floatA vertices, colors, normals
|
|
27
|
+
floatA vertices, colors, normals; //for 2D textures: colors are vertex-wise texture coordinates
|
|
28
|
+
byteA texture;
|
|
28
29
|
GLuint vao, vertexBuffer, colorBuffer, normalBuffer, textureBuffer;
|
|
29
30
|
GLenum mode=GL_TRIANGLES;
|
|
31
|
+
uint textureDim=0;
|
|
30
32
|
bool initialized=false;
|
|
31
33
|
bool isTransparent=false;
|
|
32
34
|
int version=-1;
|
|
@@ -38,8 +40,8 @@ struct RenderAsset{
|
|
|
38
40
|
void tensor(const floatA& vol, const arr& size={1.,1.,1.});
|
|
39
41
|
|
|
40
42
|
//engine specific -> should be refactored
|
|
41
|
-
void glRender();
|
|
42
43
|
void glInitialize();
|
|
44
|
+
void glRender();
|
|
43
45
|
};
|
|
44
46
|
|
|
45
47
|
//an asset can be drawn multiple times in a scene, with different poses -> each time it is drawn is a RenderItem
|
|
@@ -83,8 +85,8 @@ struct RenderQuad {
|
|
|
83
85
|
|
|
84
86
|
~RenderQuad();
|
|
85
87
|
//engine specific -> should be refactored
|
|
86
|
-
void glRender();
|
|
87
88
|
void glInitialize();
|
|
89
|
+
void glRender();
|
|
88
90
|
};
|
|
89
91
|
|
|
90
92
|
struct DistMarkers {
|
|
@@ -115,7 +117,7 @@ struct RenderData {
|
|
|
115
117
|
struct ContextIDs{
|
|
116
118
|
bool initialized=false;
|
|
117
119
|
GLuint shadowFramebuffer, shadowTexture;
|
|
118
|
-
GLuint prog_ID, prog_Projection_W, prog_ModelT_WM, prog_eyePosition_W, prog_ShadowProjection_W, prog_useShadow, prog_shadowMap, prog_numLights, prog_lightDirection_W, prog_FlatColor;
|
|
120
|
+
GLuint prog_ID, prog_Projection_W, prog_ModelT_WM, prog_eyePosition_W, prog_ShadowProjection_W, prog_useShadow, prog_shadowMap, prog_numLights, prog_lightDirection_W, prog_FlatColor, prog_textureDim, prog_textureImage;
|
|
119
121
|
GLuint progShadow, progShadow_ShadowProjection_W, progShadow_ModelT_WM;
|
|
120
122
|
GLuint progTensor, progTensor_Projection_W, progTensor_ModelT_WM, progTensor_ModelScale, progTensor_eyePosition_W, progTensor_tensorTexture;
|
|
121
123
|
GLuint progMarker, progMarker_Projection_W, progMarker_ModelT_WM;
|
|
@@ -135,7 +137,7 @@ struct RenderData {
|
|
|
135
137
|
void setText(const char* text);
|
|
136
138
|
void addQuad(const byteA& img, float x, float y, float w, float h);
|
|
137
139
|
|
|
138
|
-
RenderData& addStandardScene();
|
|
140
|
+
RenderData& addStandardScene(bool addFloor=true);
|
|
139
141
|
RenderData& clear();
|
|
140
142
|
|
|
141
143
|
//engine specific -> should be refactored
|
|
@@ -145,7 +147,7 @@ struct RenderData {
|
|
|
145
147
|
void visualsOnly(bool _visualsOnly=true){ if(_visualsOnly) renderUntil=_tensor; else renderUntil=_all; }
|
|
146
148
|
|
|
147
149
|
//private:
|
|
148
|
-
void renderObjects(GLuint idT_WM, const uintA& sortedObjIDs, RenderType type, GLint idFlatColor=-1, GLint idScale=-1);
|
|
150
|
+
void renderObjects(GLuint idT_WM, const uintA& sortedObjIDs, RenderType type, GLint idFlatColor=-1, GLint idScale=-1, GLint idTextureDim=-1);
|
|
149
151
|
|
|
150
152
|
void report(std::ostream& os);
|
|
151
153
|
};
|
robotic/include/rai/KOMO/komo.h
CHANGED
|
@@ -19,6 +19,7 @@ struct FclInterface;
|
|
|
19
19
|
enum SwitchInitializationType : int;
|
|
20
20
|
enum SkeletonSymbol : int;
|
|
21
21
|
enum JointType : int;
|
|
22
|
+
enum ForceExchangeType : int;
|
|
22
23
|
}
|
|
23
24
|
typedef rai::Array<ObjectiveType> ObjectiveTypeA;
|
|
24
25
|
struct SolverReturn;
|
|
@@ -214,7 +215,8 @@ struct KOMO : NonCopyable {
|
|
|
214
215
|
// internal (kind of private)
|
|
215
216
|
//
|
|
216
217
|
|
|
217
|
-
rai::Frame* addFrameDof(const char* name, const char* parent, rai::JointType jointType, bool stable, const char*
|
|
218
|
+
rai::Frame* addFrameDof(const char* name, const char* parent, rai::JointType jointType, bool stable, const char* originFrameName=0, rai::Frame* originFrame=0, const rai::Transformation& relOrigin=0);
|
|
219
|
+
void addForceExchangeDofs(const arr& times, const char* onto, const char* from, rai::ForceExchangeType _type, const arr& initPoa={}, const arr& initForce={});
|
|
218
220
|
void set_x(const arr& x, const uintA& selectedConfigurationsOnly= {}); ///< set the state trajectory of all configurations
|
|
219
221
|
private:
|
|
220
222
|
void selectJointsBySubtrees(const StringA& roots, const arr& times= {}, bool notThose=false);
|
|
@@ -31,6 +31,16 @@ struct F_PairCollision : Feature {
|
|
|
31
31
|
virtual uint dim_phi(const FrameL& F);
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
+
//===========================================================================
|
|
35
|
+
|
|
36
|
+
struct F_PairNormalAlign : Feature {
|
|
37
|
+
double dir = 1.;
|
|
38
|
+
F_PairNormalAlign(double _dir=1.){ dir=_dir; }
|
|
39
|
+
virtual arr phi(const FrameL& F);
|
|
40
|
+
virtual uint dim_phi(const FrameL& F){ return 3; }
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
|
|
34
44
|
//===========================================================================
|
|
35
45
|
|
|
36
46
|
struct F_PairFunctional : Feature {
|
|
@@ -91,6 +91,20 @@ struct F_Energy : Feature {
|
|
|
91
91
|
//===========================================================================
|
|
92
92
|
// force geometry, complementarity, velocities
|
|
93
93
|
|
|
94
|
+
struct F_fex_POAAtFrame : Feature {
|
|
95
|
+
arr phi(const FrameL& F);
|
|
96
|
+
uint dim_phi(const FrameL& F) { return 3; }
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
struct F_fex_ForceInFrameCone : Feature {
|
|
100
|
+
double mu;
|
|
101
|
+
F_fex_ForceInFrameCone(double _mu=.5) : mu(_mu) {}
|
|
102
|
+
arr phi(const FrameL& F);
|
|
103
|
+
uint dim_phi(const FrameL& F) { return 1; }
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
//===========================================================================
|
|
107
|
+
|
|
94
108
|
struct F_fex_ForceIsNormal : Feature {
|
|
95
109
|
arr phi(const FrameL& F);
|
|
96
110
|
uint dim_phi(const FrameL& F) { return 3; }
|
robotic/include/rai/Kin/F_pose.h
CHANGED
|
@@ -22,6 +22,8 @@ struct F_Zeros : Feature {
|
|
|
22
22
|
//===========================================================================
|
|
23
23
|
|
|
24
24
|
struct F_Position : Feature {
|
|
25
|
+
rai::Vector relPos;
|
|
26
|
+
F_Position(const rai::Vector& _relPos=0) : relPos(_relPos) {}
|
|
25
27
|
virtual arr phi(const FrameL& F);
|
|
26
28
|
virtual uint dim_phi(const FrameL& F) { return 3; }
|
|
27
29
|
};
|
|
@@ -24,7 +24,7 @@ struct DirectionDof : Dof, NonCopyable {
|
|
|
24
24
|
virtual void setDofs(const arr& q_full, uint qIndex=0);
|
|
25
25
|
virtual arr calcDofsFromConfig() const;
|
|
26
26
|
void read(const Graph& ats);
|
|
27
|
-
void write(Graph& ats);
|
|
27
|
+
void write(Graph& ats) const;
|
|
28
28
|
|
|
29
29
|
void kinVec(arr& y, arr& J) const;
|
|
30
30
|
|
|
@@ -17,7 +17,7 @@ struct PairCollision;
|
|
|
17
17
|
|
|
18
18
|
//===========================================================================
|
|
19
19
|
|
|
20
|
-
enum ForceExchangeType { FXT_none=-1, FXT_poa=0, FXT_torque=1, FXT_force, FXT_forceZ, FXT_poaOnly };
|
|
20
|
+
enum ForceExchangeType : int { FXT_none=-1, FXT_poa=0, FXT_torque=1, FXT_force, FXT_forceZ, FXT_poaOnly };
|
|
21
21
|
|
|
22
22
|
///Description of a ForceExchange
|
|
23
23
|
struct ForceExchangeDof : Dof, NonCopyable {
|
robotic/include/rai/Kin/frame.h
CHANGED
|
@@ -145,14 +145,14 @@ struct Frame : NonCopyable {
|
|
|
145
145
|
void prefixSubtree(const char* prefix);
|
|
146
146
|
|
|
147
147
|
//composed object manipulation
|
|
148
|
-
Transformation transformToDiagInertia();
|
|
148
|
+
Transformation transformToDiagInertia(bool transformOwnMesh=false);
|
|
149
149
|
Frame& computeCompoundInertia(bool clearChildInertias=true);
|
|
150
150
|
Frame& convertDecomposedShapeToChildFrames();
|
|
151
151
|
|
|
152
152
|
//I/O
|
|
153
153
|
void read(const Graph& ats);
|
|
154
|
-
void write(Graph& G);
|
|
155
|
-
void write(std::ostream& os) const;
|
|
154
|
+
void write(Graph& G) const;
|
|
155
|
+
void write(std::ostream& os) const { Graph G; write(G); G.write(os); }
|
|
156
156
|
|
|
157
157
|
//-- HIGHER LEVEL USER INTERFACE
|
|
158
158
|
Frame& setShape(rai::ShapeType shape, const arr& size);
|
|
@@ -166,6 +166,7 @@ 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
170
|
Frame& setLines(const arr& verts, const byteA& colors={});
|
|
170
171
|
Frame& setPointCloud(const arr& points, const byteA& colors= {}, const arr& normals= {});
|
|
171
172
|
Frame& setConvexMesh(const arr& points, const byteA& colors= {}, double radius=0.);
|
|
@@ -184,11 +185,11 @@ struct Frame : NonCopyable {
|
|
|
184
185
|
|
|
185
186
|
arr getPose() { return ensure_X().getArr7d(); }
|
|
186
187
|
arr getPosition() { return ensure_X().pos.getArr(); }
|
|
187
|
-
arr getQuaternion() { return ensure_X().rot.
|
|
188
|
+
arr getQuaternion() { return ensure_X().rot.getArr(); }
|
|
188
189
|
arr getTransform() { return ensure_X().getMatrix(); }
|
|
189
190
|
arr getRelativePose() const { return get_Q().getArr7d(); }
|
|
190
191
|
arr getRelativePosition() const { return get_Q().pos.getArr(); }
|
|
191
|
-
arr getRelativeQuaternion() const { return get_Q().rot.
|
|
192
|
+
arr getRelativeQuaternion() const { return get_Q().rot.getArr(); }
|
|
192
193
|
arr getRelativeTransform() { return get_Q().getMatrix(); }
|
|
193
194
|
arr getSize() const ;
|
|
194
195
|
ShapeType getShapeType() const;
|
|
@@ -233,7 +234,7 @@ struct Dof {
|
|
|
233
234
|
arr getDofState();
|
|
234
235
|
virtual String name() const = 0;
|
|
235
236
|
|
|
236
|
-
void copyParameters(Dof* copy) {
|
|
237
|
+
void copyParameters(const Dof* copy) {
|
|
237
238
|
qIndex=copy->qIndex; dim=copy->dim;
|
|
238
239
|
limits=copy->limits; q0=copy->q0;
|
|
239
240
|
active=copy->active;
|
|
@@ -246,9 +247,8 @@ struct Dof {
|
|
|
246
247
|
const Joint* joint() const;
|
|
247
248
|
const ForceExchangeDof* fex() const;
|
|
248
249
|
|
|
249
|
-
virtual void write(
|
|
250
|
+
virtual void write(Graph& ats) const;
|
|
250
251
|
};
|
|
251
|
-
stdOutPipe(Dof)
|
|
252
252
|
|
|
253
253
|
//===========================================================================
|
|
254
254
|
|
|
@@ -294,10 +294,8 @@ struct Joint : Dof, NonCopyable {
|
|
|
294
294
|
void flip();
|
|
295
295
|
|
|
296
296
|
void read(const Graph& ats);
|
|
297
|
-
void write(Graph&
|
|
298
|
-
void write(std::ostream& os) const;
|
|
297
|
+
void write(Graph& ats) const;
|
|
299
298
|
};
|
|
300
|
-
stdOutPipe(Joint)
|
|
301
299
|
|
|
302
300
|
//===========================================================================
|
|
303
301
|
|
|
@@ -315,6 +313,7 @@ struct Inertia : NonCopyable {
|
|
|
315
313
|
void setZero() { mass=0; com=0; matrix=0; }
|
|
316
314
|
void add(const Inertia& I, const rai::Transformation& rel);
|
|
317
315
|
void defaultInertiaByShape();
|
|
316
|
+
void scaleTo(double _mass){ matrix*=_mass/mass; mass=_mass; }
|
|
318
317
|
|
|
319
318
|
rai::Transformation getDiagTransform(arr& diag);
|
|
320
319
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* ------------------------------------------------------------------
|
|
2
|
+
Copyright (c) 2011-2024 Marc Toussaint
|
|
3
|
+
email: toussaint@tu-berlin.de
|
|
4
|
+
|
|
5
|
+
This code is distributed under the MIT License.
|
|
6
|
+
Please see <root-path>/LICENSE for details.
|
|
7
|
+
-------------------------------------------------------------- */
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#ifdef RAI_PYBIND
|
|
12
|
+
|
|
13
|
+
#include <pybind11/pybind11.h>
|
|
14
|
+
|
|
15
|
+
void init_Quaternion(pybind11::module& m);
|
|
16
|
+
|
|
17
|
+
#endif
|
robotic/include/rai/ry/types.h
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
#include "../Core/array.h"
|
|
14
14
|
#include "../Core/graph.h"
|
|
15
|
+
#include "../Geo/geo.h"
|
|
15
16
|
|
|
16
17
|
#include <pybind11/pybind11.h>
|
|
17
18
|
#include <pybind11/stl.h>
|
|
@@ -90,6 +91,17 @@ template<class T> rai::Array<T> arr2list(const rai::Array<T>& X) {
|
|
|
90
91
|
return Y;
|
|
91
92
|
}
|
|
92
93
|
|
|
94
|
+
template<class T> rai::Vector numpy2Vector(const pybind11::array_t<T>& X) {
|
|
95
|
+
CHECK_EQ(X.ndim(), 1, "");
|
|
96
|
+
CHECK_EQ(X.shape()[0], 3, "");
|
|
97
|
+
auto ref = X.unchecked();
|
|
98
|
+
return rai::Vector(ref(0), ref(1), ref(2));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
inline pybind11::array_t<double> Vector2numpy(const rai::Vector v) {
|
|
102
|
+
return pybind11::array_t<double>({3}, &v.x);
|
|
103
|
+
}
|
|
104
|
+
|
|
93
105
|
inline StringA strvec2StringA(const std::vector<std::string>& x) {
|
|
94
106
|
StringA y(x.size());
|
|
95
107
|
for(uint i=0; i<y.N; i++) y(i) = x[i];
|
|
@@ -269,6 +281,23 @@ template <class T> struct type_caster<rai::Array<T>> {
|
|
|
269
281
|
}
|
|
270
282
|
};
|
|
271
283
|
|
|
284
|
+
//== Vector -- numpy
|
|
285
|
+
template <> struct type_caster<rai::Vector> {
|
|
286
|
+
PYBIND11_TYPE_CASTER(rai::Vector, _("Vector"));
|
|
287
|
+
|
|
288
|
+
bool load(pybind11::handle src, bool) {
|
|
289
|
+
auto buf = pybind11::array_t<double>::ensure(src);
|
|
290
|
+
if(!buf) return false;
|
|
291
|
+
value = numpy2Vector<double>(buf);
|
|
292
|
+
return !PyErr_Occurred();
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
static handle cast(const rai::Vector& src, return_value_policy, handle) {
|
|
296
|
+
pybind11::array_t<double> ret = Vector2numpy(src);
|
|
297
|
+
return ret.release();
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
|
|
272
301
|
//== rai::Graph -- pybind11::dict
|
|
273
302
|
template <> struct type_caster<rai::Graph> {
|
|
274
303
|
PYBIND11_TYPE_CASTER(rai::Graph, _("rai::Graph"));
|
robotic/librai.so
CHANGED
|
Binary file
|
robotic/manipulation.py
CHANGED
|
@@ -268,11 +268,8 @@ class KOMO_ManipulationHelper():
|
|
|
268
268
|
'''
|
|
269
269
|
inequality on distance between pairs of objects
|
|
270
270
|
'''
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
del objs[0]
|
|
274
|
-
for obj in objs:
|
|
275
|
-
self.komo.addObjective(time_interval, ry.FS.negDistance, [comp, obj], ry.OT.ineq, [scale], [-margin])
|
|
271
|
+
for i in range(0, len(objs), 2):
|
|
272
|
+
self.komo.addObjective(time_interval, ry.FS.negDistance, [objs[i], objs[i+1]], ry.OT.ineq, [scale], [-margin])
|
|
276
273
|
|
|
277
274
|
def freeze_joint(self, time_interval, joints):
|
|
278
275
|
'''
|
robotic/meshTool
CHANGED
|
Binary file
|
|
@@ -2,4 +2,4 @@ base { X:[0 0 .5], multibody, multibody_gravity: false }
|
|
|
2
2
|
jointX(base){ joint:transX, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .1, sampleUniform: 1. }
|
|
3
3
|
jointY(jointX){ joint:transY, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .1, sampleUniform: 1. }
|
|
4
4
|
jointZ(jointY){ joint:transZ, limits: [-1.,1.], motorLambda: .01, motorMass: .1, sampleUniform: 1. }
|
|
5
|
-
finger(jointZ){ shape:sphere, size:[.2], color:[.5 1 1], contact:1, mass
|
|
5
|
+
finger(jointZ){ shape:sphere, size:[.2], color:[.5 1 1], contact:1, mass: .5 }
|
|
@@ -7,7 +7,7 @@ floatBall (floatZ){ joint:quatBall, limits:[-1 -1 -1 -1 1 1 1 1], mass:.01 }
|
|
|
7
7
|
|
|
8
8
|
Include: <../panda/panda_gripper.g>
|
|
9
9
|
|
|
10
|
-
gripper_base(floatBall): { Q:"t(0 0 .1035) d(180 1 0 0) d(-90 0 0 1)", shape: marker, size: [.
|
|
10
|
+
gripper_base(floatBall): { Q:"t(0 0 .1035) d(180 1 0 0) d(-90 0 0 1)", shape: marker, size: [.03] }
|
|
11
11
|
Edit panda_hand(gripper_base): {}
|
|
12
12
|
|
|
13
13
|
## define a gripper, palm and fingers
|
|
File without changes
|
robotic/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '0.2.8.
|
|
1
|
+
__version__ = '0.2.8.dev1'
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import h5py
|
|
5
|
+
|
|
6
|
+
parser = argparse.ArgumentParser(description='h5-file info')
|
|
7
|
+
|
|
8
|
+
parser.add_argument('FILE', type=str,
|
|
9
|
+
help='h5-file name')
|
|
10
|
+
|
|
11
|
+
def print_attrs(name, obj):
|
|
12
|
+
if isinstance(obj, h5py.Dataset):
|
|
13
|
+
print(' ', name, obj.name, obj.shape, obj.dtype)
|
|
14
|
+
else:
|
|
15
|
+
print('---', name)
|
|
16
|
+
|
|
17
|
+
def main():
|
|
18
|
+
args = parser.parse_args()
|
|
19
|
+
|
|
20
|
+
print('=== file', args.FILE)
|
|
21
|
+
try:
|
|
22
|
+
with h5py.File(args.FILE, 'r') as fil:
|
|
23
|
+
fil.visititems(print_attrs)
|
|
24
|
+
except KeyboardInterrupt:
|
|
25
|
+
sys.exit(1)
|
|
26
|
+
|
|
27
|
+
if __name__ == "__main__":
|
|
28
|
+
main()
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
robotic/DataGen.pyi,sha256=
|
|
1
|
+
robotic/DataGen.pyi,sha256=m1e5j8laihgDWOGAFbXEc5zM_Qq87y11gzj2obgSdXY,3293
|
|
2
2
|
robotic/__init__.py,sha256=k-hVqPB7vN-huwpRzQLt3f--6sNdjaCQ_hWw66dWkA8,297
|
|
3
|
-
robotic/_robotic.pyi,sha256=
|
|
4
|
-
robotic/_robotic.so,sha256=
|
|
5
|
-
robotic/librai.so,sha256=
|
|
6
|
-
robotic/manipulation.py,sha256=
|
|
7
|
-
robotic/meshTool,sha256=
|
|
3
|
+
robotic/_robotic.pyi,sha256=bn_N5aB290VEAbyAC7CUyHFk1wXdfP8Hh4x_azYzrDo,72942
|
|
4
|
+
robotic/_robotic.so,sha256=HrlCx2QRf7zy1_FzOk7D-QxgHE0ZS3H_4JbyvXCOAKE,1210112
|
|
5
|
+
robotic/librai.so,sha256=Tvf7LwXu7WQUDYjNNlAcT3mRc-41i1dxbCPMQS5qyso,40163304
|
|
6
|
+
robotic/manipulation.py,sha256=EhM_Zuv3vl8H4SBNqqYMD3NT9AzFUpOhr4PIzM4U7tM,22374
|
|
7
|
+
robotic/meshTool,sha256=Dssd8R2xExwxcH_Qk7rNfcV8QNTBAYmp6ahfjjDJgY0,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
|
|
11
|
-
robotic/ry-h5info
|
|
11
|
+
robotic/ry-h5info,sha256=YrkBvLAadxAgTmx0hlcm9h_KXy-KaNV_zp4raSXXdYY,620
|
|
12
12
|
robotic/ry-info,sha256=GRj4oMCgTCGRF2wxtYxiFvETROB92rwwtUFb6S_Eo7g,439
|
|
13
13
|
robotic/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
|
|
14
14
|
robotic/ry-test,sha256=JZJ_h4NxLkkkrcV9IYdXzYHn9eEZDPFPBAzo1jIv278,976
|
|
@@ -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=
|
|
19
|
+
robotic/version.py,sha256=rb-FgRm7ATGsW94hOY7BGKKSKdhF8udjtUpWZnvfXG4,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
|
|
@@ -50,21 +50,21 @@ robotic/include/rai/Core/array.ipp,sha256=hdyULakmWOdt6Gi_-4338uzkWbrkw2_eCh-H3n
|
|
|
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
52
|
robotic/include/rai/Core/graph.h,sha256=Eo0j8q8IbY_M7V2FwzKAi9E8makxgRBvrFcPfJKuCtE,20890
|
|
53
|
-
robotic/include/rai/Core/h5.h,sha256=
|
|
53
|
+
robotic/include/rai/Core/h5.h,sha256=FzIP0eLL7XYg5eRjJgfPIt9SwY5HBaazy4ddoCcpkSU,1057
|
|
54
54
|
robotic/include/rai/Core/thread.h,sha256=wjwvXACwI8B6rhZSf2UDruWUb8kT9Xjm-VE-OnUQpwk,18248
|
|
55
|
-
robotic/include/rai/Core/util.h,sha256=
|
|
55
|
+
robotic/include/rai/Core/util.h,sha256=KhBcYsprUaZXt2BMpsOACoOcmEWLEtOG4WM9Dcooamc,19514
|
|
56
56
|
robotic/include/rai/Core/util.ipp,sha256=soCVdpzWTpLL9i6rilFPNGozHZP40yhkmuXul7gHC7o,2157
|
|
57
57
|
robotic/include/rai/Core/lapack/blaswrap.h,sha256=jl8W6GwBGMiU-ND9ILeKqWlIvryw7AsIydPUCQGT_ew,3750
|
|
58
58
|
robotic/include/rai/Core/lapack/cblas.h,sha256=4bSmMzZ4idIPlmcwjw5HuwY1cs5RU73ZwmfydSpaBdk,32367
|
|
59
59
|
robotic/include/rai/Core/lapack/clapack.h,sha256=8rLteHzzGpKhJZXv4Eom9mk8lzbwRwjJuIqJuR1eePc,343373
|
|
60
60
|
robotic/include/rai/Core/lapack/lapacke.h,sha256=cpP6MEjkLGyhS8mV6ysRlTVeUam6f8zBgFUJB1phuwM,1045408
|
|
61
61
|
robotic/include/rai/DataGen/rndStableConfigs.h,sha256=bIz2RovkruMjYaaDwJIkyevsF6oV16y7dhyKm6sp_6s,391
|
|
62
|
-
robotic/include/rai/DataGen/shapenetGrasps.h,sha256=
|
|
63
|
-
robotic/include/rai/Geo/assimpInterface.h,sha256=
|
|
62
|
+
robotic/include/rai/DataGen/shapenetGrasps.h,sha256=QWv85YMGtW_X9ldKu4eZuoRNdQeIYtVTx1XIsk3Pbvg,1589
|
|
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=
|
|
67
|
-
robotic/include/rai/Geo/mesh.h,sha256=
|
|
66
|
+
robotic/include/rai/Geo/geo.h,sha256=Lyoy1YbDtrscHZxza6CYXIa_R7aaFmgpHrG3rLpBqTk,14672
|
|
67
|
+
robotic/include/rai/Geo/mesh.h,sha256=gq3K-_TbJbrGMVl8V-n2qB5_vDT88PmKxaxOUGgkBxY,6441
|
|
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
|
|
@@ -86,12 +86,12 @@ robotic/include/rai/Geo/ccd_rai/support.h,sha256=B9KBuOctG7Hx-e1TXpnkU667WVH7SP4
|
|
|
86
86
|
robotic/include/rai/Geo/ccd_rai/vec3.h,sha256=ARkNnQz8yWf_Cs3vgt22zclN1cLeGmwWPTVHVpvmfEA,8115
|
|
87
87
|
robotic/include/rai/Geo/ply/ply.h,sha256=_oAXgQ5CyHvUMtPDBxYtOBbnKDVoZf5PKMswisqvOeI,9384
|
|
88
88
|
robotic/include/rai/Geo/vhacd/VHACD.h,sha256=QT_cT6PPzec_mxKODsS9cJGr6nBt6S8cUJF7dCeBQCc,258343
|
|
89
|
-
robotic/include/rai/Gui/RenderData.h,sha256=
|
|
89
|
+
robotic/include/rai/Gui/RenderData.h,sha256=FPN7ApW8SK-MAI5wIoCU8_ezJbJogUMxfhAvK6GSAJ4,4775
|
|
90
90
|
robotic/include/rai/Gui/color.h,sha256=4ElBkpWgwBuqQEFD4Mdhv_afZE4ul6NkptwFQ2oDS5o,2596
|
|
91
91
|
robotic/include/rai/Gui/opengl.h,sha256=sRvOz-QGHwgrf11UiQV4At4G2FjClveTTJorXyer1Fw,9036
|
|
92
92
|
robotic/include/rai/Gui/plot.h,sha256=xhTBY84UN4KpgZsX7SJQGqVKd1jU7jojGVKFv02v0xU,2341
|
|
93
93
|
robotic/include/rai/KOMO/PathSmoother.h,sha256=y-t3yVEZvxfQIs8_EA-WI7FJ_RzfbG8TEfdiNAruuUI,813
|
|
94
|
-
robotic/include/rai/KOMO/komo.h,sha256=
|
|
94
|
+
robotic/include/rai/KOMO/komo.h,sha256=5TR2IVJzMkWB6oH7NCl1X5OiYtM_OERmf_UPLBaEOlQ,13249
|
|
95
95
|
robotic/include/rai/KOMO/komo_NLP.h,sha256=kSzUMDmw4yzAXtpNB2v38dpw2tBS8n8R_op_T3yS3DQ,3681
|
|
96
96
|
robotic/include/rai/KOMO/manipTools.h,sha256=CoIL9ElNFHAV-AU95wUtSgDWH9ceNx6WmGVTP8DZvaw,4173
|
|
97
97
|
robotic/include/rai/KOMO/objective.h,sha256=Cl4-KjheRMNWoh_xFas5tLWMKSMlJf-HLDihfqvfcSw,2704
|
|
@@ -102,20 +102,20 @@ robotic/include/rai/KOMO/splined.h,sha256=G_fu9gXCboJLkwhwu77F6F3Ei6deqzbvkgP8r9
|
|
|
102
102
|
robotic/include/rai/KOMO/switch.h,sha256=teNNnHFe4h9W5rLlL3TFBsq97ni-RUEhcxw4uVPYR1g,1850
|
|
103
103
|
robotic/include/rai/KOMO/testProblems_KOMO.h,sha256=rlVH4U8PeaSLl6hrDApQQnSd4JR5SA-FrA4jETTu9CU,2453
|
|
104
104
|
robotic/include/rai/Kin/F_LeapCost.h,sha256=wNAUNgAJjLirMurF67BlFLHtjyuXy1EPr--9XLBe6Wk,556
|
|
105
|
-
robotic/include/rai/Kin/F_collisions.h,sha256=
|
|
106
|
-
robotic/include/rai/Kin/F_forces.h,sha256=
|
|
105
|
+
robotic/include/rai/Kin/F_collisions.h,sha256=Atq9LPVOkEuMF-kSHk78cGjaJYwDIbvrTxHmLBJw3yk,2092
|
|
106
|
+
robotic/include/rai/Kin/F_forces.h,sha256=xUPLO0g3AU0nemQfPqElvt4SuGfqU2pV-7olCVBCkmM,6694
|
|
107
107
|
robotic/include/rai/Kin/F_geometrics.h,sha256=2yPFycgcmZjXLezxoRL_aaetrZusDgtGyx7GQbfbRrI,2146
|
|
108
108
|
robotic/include/rai/Kin/F_operators.h,sha256=Nxdk1dPSoN7lW0A5Ns-BSJ_YXFft4iZi9RDOmVn3BJ0,1608
|
|
109
|
-
robotic/include/rai/Kin/F_pose.h,sha256=
|
|
109
|
+
robotic/include/rai/Kin/F_pose.h,sha256=QlZnpS4ZTNFBZlH-lpe6sTt2gdbxbjsZTHPqk0T_4AI,5252
|
|
110
110
|
robotic/include/rai/Kin/F_qFeatures.h,sha256=x4cfFGaVBQSmj9ZetcC25qiGxnvfNMPsWh9zbPa5owE,2212
|
|
111
111
|
robotic/include/rai/Kin/cameraview.h,sha256=byzJyTxP4Irh0A6gi8ZNndvJ0UFDD8leLfbW9B7laJI,2478
|
|
112
|
-
robotic/include/rai/Kin/dof_direction.h,sha256=
|
|
113
|
-
robotic/include/rai/Kin/dof_forceExchange.h,sha256=
|
|
112
|
+
robotic/include/rai/Kin/dof_direction.h,sha256=9tio7VXxXAv-ZAxA6QskjD5rMH2LHU4hIGAG6TC0RaY,831
|
|
113
|
+
robotic/include/rai/Kin/dof_forceExchange.h,sha256=ZjtIbaO0MU5AGsvtMJdAQJh3Ghfn8XrZavAx1WH4MZk,1823
|
|
114
114
|
robotic/include/rai/Kin/dof_particles.h,sha256=PboLndC5a5extUKAfUPAIsJEGTTs6_ACDgnLrei2s8g,790
|
|
115
|
-
robotic/include/rai/Kin/dof_path.h,sha256=
|
|
115
|
+
robotic/include/rai/Kin/dof_path.h,sha256=XRPj3bH90JUIdkTS4jxwbAb5n9yAsRoemWUWUV1xDtQ,792
|
|
116
116
|
robotic/include/rai/Kin/feature.h,sha256=xicsrElMcYnYXdIXdO5LBLmXxvCGVUVgZJY2NIarO5I,3935
|
|
117
117
|
robotic/include/rai/Kin/featureSymbols.h,sha256=JVXbXoW43PlEGOgwHPpULlbXUQzkl79F1EFnfl-0wyk,1984
|
|
118
|
-
robotic/include/rai/Kin/frame.h,sha256=
|
|
118
|
+
robotic/include/rai/Kin/frame.h,sha256=8fqG2axtA0-kezy5fVeMFR9j30XRoU30Ous9P040vSk,14321
|
|
119
119
|
robotic/include/rai/Kin/kin.h,sha256=hhjYI9RF55PjgJvdXhV4omyQK1iRG6MTi8B_GG9yYqM,15594
|
|
120
120
|
robotic/include/rai/Kin/kin_bullet.h,sha256=y8aApXpXY4bD5QN_WmDAU2vNEvvbdo1Rd4zY7qo-FKE,1970
|
|
121
121
|
robotic/include/rai/Kin/kin_feather.h,sha256=o-hOJA8UcmIBKx_qPzoG9R7fxzz-4zhBNMBmBTK21oA,1627
|
|
@@ -184,10 +184,11 @@ robotic/include/rai/ry/py-Frame.h,sha256=ssIlaHBHBreB_3C22bgnv8tPVtLO1jsGPLBxypI
|
|
|
184
184
|
robotic/include/rai/ry/py-KOMO.h,sha256=AMa2vw8HUP-S11C4MF5d0CLT5kegYQN_SSCL467gLjI,514
|
|
185
185
|
robotic/include/rai/ry/py-LGP.h,sha256=0NBErJFTg41xAQcHbRhr6RNeDIy4EJl3DtuUR595Rx8,430
|
|
186
186
|
robotic/include/rai/ry/py-Optim.h,sha256=xvLv7tvE0hOocX64eQi2wa84of9H55GVUctZlFIYtQw,432
|
|
187
|
+
robotic/include/rai/ry/py-Quaternion.h,sha256=EydIMfUB_Zf9H21x29dhBjDm7472Ge_XD6edyRALQY0,437
|
|
187
188
|
robotic/include/rai/ry/py-Simulation.h,sha256=Kc4e6pK1yQyxDMCQu1HvXOYt9IlUiojBYFdqv3PP1AY,437
|
|
188
189
|
robotic/include/rai/ry/py-Spline.h,sha256=gR8Cvwt5PlzlolxegS1wUEEOQj9RydOp1gS67Zxm0jk,433
|
|
189
190
|
robotic/include/rai/ry/py-tests.h,sha256=-l_0V-yRqeOEztqCo_BAdcKCAMovyd8-9tnrytM5pQM,432
|
|
190
|
-
robotic/include/rai/ry/types.h,sha256=
|
|
191
|
+
robotic/include/rai/ry/types.h,sha256=DUTmlv6e8VaXEyJVVzIu7xNADwacBoxh0dSw2n0SB-A,8396
|
|
191
192
|
robotic/rai-robotModels/baxter/baxter.g,sha256=asYXGjk7sqUF20wSMtW0unGRGZa4N0YOPVhsggEjXj0,2654
|
|
192
193
|
robotic/rai-robotModels/baxter/baxter_clean.g,sha256=lTNROJfGXwhCzIJG9HmfU9gpPXjHzD9TD2AhrkBOiso,20777
|
|
193
194
|
robotic/rai-robotModels/baxter/baxter_clean2.g,sha256=rZ7ImZNJnoGP7e-6_XjjSt7csr80C6UGCGKYyYpqgMQ,21191
|
|
@@ -356,7 +357,7 @@ robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_knuckle.ply
|
|
|
356
357
|
robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_pad.ply,sha256=SjbdAIaUjNlUX7okwcDJWwfd0NaT6fazQwerbevKlbI,464
|
|
357
358
|
robotic/rai-robotModels/robotiq/meshes/visual/robotiq_ft300.ply,sha256=0zn76K_SIR85pVNO8hmbnflRsmeFKHCuCykpVTfQf6s,38626
|
|
358
359
|
robotic/rai-robotModels/robotiq/meshes/visual/robotiq_gripper_coupling.ply,sha256=ef10q5MdRRn2wjWPZTc3nrSVW401x9fHgkEdB_bdECA,30421
|
|
359
|
-
robotic/rai-robotModels/scenarios/ballFinger.g,sha256=
|
|
360
|
+
robotic/rai-robotModels/scenarios/ballFinger.g,sha256=Qz69o30vKIpv2VAxR7wStafBMyOHnG055ftSGzgUx6Y,457
|
|
360
361
|
robotic/rai-robotModels/scenarios/climber.g,sha256=fUbSlFq_PVev2AxqLgytyfud6NUxvyO5NSon9wXSOJo,2016
|
|
361
362
|
robotic/rai-robotModels/scenarios/climber2.g,sha256=xYGBfNgcLfPfI6WOxOOFpGCVkusoH7gVECEGj2bwc-4,2349
|
|
362
363
|
robotic/rai-robotModels/scenarios/gripper.g,sha256=-yvc-cxVMxz7OmqVzhg6dyh21hBk9hD9wo5Uc2c4roY,447
|
|
@@ -366,7 +367,7 @@ robotic/rai-robotModels/scenarios/kswing.g,sha256=k1bND_Hr-lE5sklOraw58HdUye6iW8
|
|
|
366
367
|
robotic/rai-robotModels/scenarios/liftRing.g,sha256=fRKPEfUH_kDL4r7PmpO0kB2t1KeLV9QypxEEN_BNrqQ,1349
|
|
367
368
|
robotic/rai-robotModels/scenarios/mobileMini.g,sha256=I7SE9YUUciZ1JrJG6BIAZ9Oho_eUa_Z76l5_h-B0wjY,1158
|
|
368
369
|
robotic/rai-robotModels/scenarios/mobilePanda.g,sha256=AxH1JQJUgwnaLfrojvpP6DO83h_I6Vt3-la10TFpk0Y,608
|
|
369
|
-
robotic/rai-robotModels/scenarios/pandaFloatingGripper.g,sha256=
|
|
370
|
+
robotic/rai-robotModels/scenarios/pandaFloatingGripper.g,sha256=zYo9T6aFWREpP2gnME0iFwOErKR8Ram2gndnZ9s-xXA,1498
|
|
370
371
|
robotic/rai-robotModels/scenarios/pandaSingle.g,sha256=H_UnXdMUbk16os9StOZB0PZMPL3FaGbCAZy0uUAKEKA,1147
|
|
371
372
|
robotic/rai-robotModels/scenarios/panda_fixGripper.g,sha256=bhkRey6igLb18HlOFj7CpAjqF6R7Z3saxevipHAn4W0,337
|
|
372
373
|
robotic/rai-robotModels/scenarios/panda_fixRobotiq.g,sha256=77KlkNgYLNLz3YrO-OrWNK0QTpr9-KaxsV2F7JfpT_U,1561
|
|
@@ -396,15 +397,16 @@ robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/UpperArm.ply,sha2
|
|
|
396
397
|
robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist1.ply,sha256=Qmlgt3g046pi8GPzlUBKbDcR-4JehZkXfSRNabe_RVI,282487
|
|
397
398
|
robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist2.ply,sha256=br9zVxfiGNlEMAuVm36e2dJ0chDKpVMe3H1MCh-318E,784726
|
|
398
399
|
robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist3.ply,sha256=el2jO6EOzwgz3ybkKjz9XcjCIQJWCpOCgTA7DSFHz6U,25593
|
|
399
|
-
robotic-0.2.8.
|
|
400
|
-
robotic-0.2.8.
|
|
401
|
-
robotic-0.2.8.
|
|
402
|
-
robotic-0.2.8.
|
|
403
|
-
robotic-0.2.8.
|
|
404
|
-
robotic-0.2.8.
|
|
405
|
-
robotic-0.2.8.
|
|
406
|
-
robotic-0.2.8.
|
|
407
|
-
robotic-0.2.8.
|
|
408
|
-
robotic-0.2.8.
|
|
409
|
-
robotic-0.2.8.
|
|
410
|
-
robotic-0.2.8.
|
|
400
|
+
robotic-0.2.8.dev1.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
|
|
401
|
+
robotic-0.2.8.dev1.data/scripts/ry-h5info,sha256=J-0Q4NRASUaQ_Xgii4Zyiw5mLp5XvvrrJvp-L248Ia4,606
|
|
402
|
+
robotic-0.2.8.dev1.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
|
|
403
|
+
robotic-0.2.8.dev1.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
|
|
404
|
+
robotic-0.2.8.dev1.data/scripts/ry-test,sha256=61CnOEa-OqBsNznvXlZ_Xo5aCXx8QKYeokhsHcEUZac,962
|
|
405
|
+
robotic-0.2.8.dev1.data/scripts/ry-urdf2rai,sha256=oeLKgNzYKV5yZ_vkvCrw65CY3ZAxL2ssFQQKcRuCNeo,7722
|
|
406
|
+
robotic-0.2.8.dev1.data/scripts/ry-urdf2yaml,sha256=Nebu73TLTUx2p40-FLakek9n3y74cRJfRchV0vV0Gf0,8529
|
|
407
|
+
robotic-0.2.8.dev1.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
|
|
408
|
+
robotic-0.2.8.dev1.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
|
|
409
|
+
robotic-0.2.8.dev1.dist-info/METADATA,sha256=RdgGtwPUnnZK_3TKX3xOvyDTJC2cHHUpScg4KtgmkPg,6694
|
|
410
|
+
robotic-0.2.8.dev1.dist-info/WHEEL,sha256=HDBMQ19ZtMFARwRc3ZGC21o8Tu11IBK6tQtXGgqOICs,104
|
|
411
|
+
robotic-0.2.8.dev1.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
|
|
412
|
+
robotic-0.2.8.dev1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|