robotic 0.3.1__cp38-cp38-manylinux2014_x86_64.whl → 0.3.1.dev1__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.
- robotic/DataGen.pyi +11 -1
- robotic/_robotic.pyi +72 -40
- robotic/_robotic.so +0 -0
- robotic/include/rai/DataGen/shapenetGrasps.h +4 -2
- robotic/include/rai/Gui/opengl.h +3 -3
- robotic/include/rai/KOMO/komo.h +1 -1
- robotic/include/rai/Kin/frame.h +1 -1
- robotic/include/rai/Kin/kin.h +2 -4
- robotic/include/rai/Kin/simulation.h +2 -2
- robotic/include/rai/Kin/viewer.h +11 -1
- robotic/librai.so +0 -0
- robotic/meshTool +0 -0
- robotic/rai-robotModels/panda/panda_gripper.g +4 -6
- robotic/rai-robotModels/scenarios/pandaFloatingGripper.g +1 -1
- robotic/src/mujoco_io.py +1 -1
- robotic/version.py +1 -1
- {robotic-0.3.1.dist-info → robotic-0.3.1.dev1.dist-info}/METADATA +8 -6
- {robotic-0.3.1.dist-info → robotic-0.3.1.dev1.dist-info}/RECORD +28 -28
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-bot +0 -0
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-h5info +0 -0
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-info +0 -0
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-meshTool +0 -0
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-test +0 -0
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-urdfConvert.py +0 -0
- {robotic-0.3.1.data → robotic-0.3.1.dev1.data}/scripts/ry-view +0 -0
- {robotic-0.3.1.dist-info → robotic-0.3.1.dev1.dist-info}/LICENSE +0 -0
- {robotic-0.3.1.dist-info → robotic-0.3.1.dev1.dist-info}/WHEEL +0 -0
- {robotic-0.3.1.dist-info → robotic-0.3.1.dev1.dist-info}/top_level.txt +0 -0
robotic/DataGen.pyi
CHANGED
|
@@ -48,10 +48,18 @@ class ShapenetGrasps:
|
|
|
48
48
|
"""
|
|
49
49
|
def getConfig(self) -> _robotic.Config:
|
|
50
50
|
...
|
|
51
|
+
def getEvalGripperPoses(self) -> arr:
|
|
52
|
+
"""
|
|
53
|
+
return the relative gripper after each motion phase: esp. poses[1] (after closing fingers) is interesting; the later ones allow you to estimate relative motion yourself)
|
|
54
|
+
"""
|
|
51
55
|
def getPointCloud(self) -> arr:
|
|
52
56
|
"""
|
|
53
57
|
(direct interface) return pcl of loaded object
|
|
54
58
|
"""
|
|
59
|
+
def getPointNormals(self) -> arr:
|
|
60
|
+
"""
|
|
61
|
+
(direct interface) return point normals of the pcl of loaded object
|
|
62
|
+
"""
|
|
55
63
|
def getSamples(self, nSamples: int) -> tuple[arr, uintA, arr]:
|
|
56
64
|
"""
|
|
57
65
|
(batch interface) return three arrays: samples X, contexts Z, scores S (each row are scores for one sample - see evaluateSamples)
|
|
@@ -60,11 +68,13 @@ class ShapenetGrasps:
|
|
|
60
68
|
"""
|
|
61
69
|
(direct interface) clear scene and load object and gripper
|
|
62
70
|
"""
|
|
71
|
+
def resetObjectPose(self, idx: int = 0, rndOrientation: bool = True) -> None:
|
|
72
|
+
...
|
|
63
73
|
def sampleGraspPose(self) -> arr:
|
|
64
74
|
"""
|
|
65
75
|
(direct interface) return (relative) pose of random sampled grasp candidate
|
|
66
76
|
"""
|
|
67
|
-
def setGraspPose(self, pose: arr, objPts: str = '
|
|
77
|
+
def setGraspPose(self, pose: arr, objPts: str = 'obj0_pts') -> None:
|
|
68
78
|
"""
|
|
69
79
|
(direct interface) set (relative) pose of grasp candidate
|
|
70
80
|
"""
|
robotic/_robotic.pyi
CHANGED
|
@@ -103,6 +103,14 @@ class BotOp:
|
|
|
103
103
|
"""
|
|
104
104
|
constructor
|
|
105
105
|
"""
|
|
106
|
+
def attach(self, gripper: ..., obj: ...) -> None:
|
|
107
|
+
"""
|
|
108
|
+
cheating: attach two objects kinematically
|
|
109
|
+
"""
|
|
110
|
+
def detach(self, obj: ...) -> None:
|
|
111
|
+
"""
|
|
112
|
+
cheating: detach two previously attached objects
|
|
113
|
+
"""
|
|
106
114
|
def getCameraFxycxy(self, sensorName: str) -> arr:
|
|
107
115
|
"""
|
|
108
116
|
returns camera intrinsics
|
|
@@ -315,7 +323,7 @@ class Config:
|
|
|
315
323
|
"""
|
|
316
324
|
returns the list of collisable pairs -- this should help debugging the 'contact' flag settings in a configuration
|
|
317
325
|
"""
|
|
318
|
-
def getCollisions(self, belowMargin: float =
|
|
326
|
+
def getCollisions(self, belowMargin: float = 0.0) -> list:
|
|
319
327
|
"""
|
|
320
328
|
return the results of collision computations: a list of 3 tuples with (frame1, frame2, distance). Optionally report only on distances below a margin To get really precise distances and penetrations use the FS.distance feature with the two frame names
|
|
321
329
|
"""
|
|
@@ -403,40 +411,10 @@ class Config:
|
|
|
403
411
|
"""
|
|
404
412
|
close the view
|
|
405
413
|
"""
|
|
406
|
-
def view_focalLength(self) -> float:
|
|
407
|
-
"""
|
|
408
|
-
return the focal length of the view camera (only intrinsic parameter)
|
|
409
|
-
"""
|
|
410
|
-
def view_focus(self, frameName: str, absHeight: float = 2.0) -> None:
|
|
411
|
-
"""
|
|
412
|
-
focus on a particular frame, given via name; second argument distances camara so that view window has roughly given absHeight around object
|
|
413
|
-
"""
|
|
414
|
-
def view_fxycxy(self) -> arr:
|
|
415
|
-
"""
|
|
416
|
-
return (fx, fy, cx, cy): the focal length and image center in PIXEL UNITS
|
|
417
|
-
"""
|
|
418
|
-
def view_getDepth(self) -> numpy.ndarray[numpy.float32]:
|
|
419
|
-
...
|
|
420
|
-
def view_getRgb(self) -> numpy.ndarray[numpy.uint8]:
|
|
421
|
-
...
|
|
422
|
-
def view_pose(self) -> arr:
|
|
423
|
-
"""
|
|
424
|
-
return the 7D pose of the view camera
|
|
425
|
-
"""
|
|
426
|
-
def view_raise(self) -> None:
|
|
427
|
-
"""
|
|
428
|
-
raise the view
|
|
429
|
-
"""
|
|
430
414
|
def view_recopyMeshes(self) -> None:
|
|
431
415
|
...
|
|
432
|
-
def
|
|
433
|
-
|
|
434
|
-
saves a png image of the current view, numbered with a global counter, with the intention to make a video
|
|
435
|
-
"""
|
|
436
|
-
def view_setCamera(self, arg0: Frame) -> None:
|
|
437
|
-
"""
|
|
438
|
-
set the camera pose to a frame, and check frame attributes for intrinsic parameters (focalLength, width height)
|
|
439
|
-
"""
|
|
416
|
+
def viewer(self, window_title: str = None, offscreen: bool = False) -> ...:
|
|
417
|
+
...
|
|
440
418
|
def watchFile(self, arg0: str) -> None:
|
|
441
419
|
"""
|
|
442
420
|
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
|
|
@@ -468,9 +446,61 @@ class ConfigurationViewer:
|
|
|
468
446
|
@staticmethod
|
|
469
447
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
470
448
|
...
|
|
449
|
+
def focus(self, position_7d: arr, heightAbs: float = 1.0) -> None:
|
|
450
|
+
"""
|
|
451
|
+
focus at a 3D position; second argument distances camara so that view window has roughly given absHeight around object
|
|
452
|
+
"""
|
|
453
|
+
def getCamera_focalLength(self) -> float:
|
|
454
|
+
"""
|
|
455
|
+
return the focal length of the view camera (only intrinsic parameter)
|
|
456
|
+
"""
|
|
457
|
+
def getCamera_fxycxy(self) -> arr:
|
|
458
|
+
"""
|
|
459
|
+
return (fx, fy, cx, cy): the focal length and image center in PIXEL UNITS
|
|
460
|
+
"""
|
|
461
|
+
def getCamera_pose(self) -> arr:
|
|
462
|
+
"""
|
|
463
|
+
get the camera pose directly
|
|
464
|
+
"""
|
|
465
|
+
def getDepth(self) -> ...:
|
|
466
|
+
"""
|
|
467
|
+
return the view's depth array (scaled to meters)
|
|
468
|
+
"""
|
|
469
|
+
def getEventCursor(self) -> arr:
|
|
470
|
+
"""
|
|
471
|
+
return the position and normal of the 'curser': mouse position 3D projected into scene via depth, and 3D normal of depth map -- returned as 6D vector
|
|
472
|
+
"""
|
|
473
|
+
def getEventCursorObject(self) -> int:
|
|
474
|
+
"""
|
|
475
|
+
(aka mouse picking) return the frame ID (or -1) that the 'cursor' currently points at
|
|
476
|
+
"""
|
|
477
|
+
def getEvents(self) -> StringA:
|
|
478
|
+
"""
|
|
479
|
+
return accumulated events as list of strings
|
|
480
|
+
"""
|
|
481
|
+
def getRgb(self) -> ...:
|
|
482
|
+
"""
|
|
483
|
+
return the view's rgb image
|
|
484
|
+
"""
|
|
485
|
+
def raiseWindow(self) -> None:
|
|
486
|
+
"""
|
|
487
|
+
raise the window
|
|
488
|
+
"""
|
|
471
489
|
def savePng(self, saveVideoPath: ... = 'z.vid/', count: int = -1) -> None:
|
|
472
490
|
"""
|
|
473
|
-
|
|
491
|
+
saves a png image of the current view, numbered with a global counter, with the intention to make a video
|
|
492
|
+
"""
|
|
493
|
+
def setCamera(self, camFrame: Frame) -> None:
|
|
494
|
+
"""
|
|
495
|
+
set the camera pose to a frame, and check frame attributes for intrinsic parameters (focalLength, width height)
|
|
496
|
+
"""
|
|
497
|
+
def setCameraPose(self, pose_7d: arr) -> None:
|
|
498
|
+
"""
|
|
499
|
+
set the camera pose directly
|
|
500
|
+
"""
|
|
501
|
+
def setupEventHandler(self, blockDefaultHandler: bool) -> None:
|
|
502
|
+
"""
|
|
503
|
+
setup callbacks to grab window events and return them with methods below
|
|
474
504
|
"""
|
|
475
505
|
def visualsOnly(self, _visualsOnly: bool = True) -> None:
|
|
476
506
|
"""
|
|
@@ -722,10 +752,6 @@ class Frame:
|
|
|
722
752
|
@staticmethod
|
|
723
753
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
724
754
|
...
|
|
725
|
-
def addAttributes(self, arg0: dict) -> None:
|
|
726
|
-
"""
|
|
727
|
-
add/set attributes for the frame
|
|
728
|
-
"""
|
|
729
755
|
def asDict(self) -> dict:
|
|
730
756
|
...
|
|
731
757
|
def computeCompoundInertia(self) -> Frame:
|
|
@@ -776,8 +802,10 @@ class Frame:
|
|
|
776
802
|
...
|
|
777
803
|
def makeRoot(self, untilPartBreak: bool) -> None:
|
|
778
804
|
...
|
|
779
|
-
def
|
|
780
|
-
|
|
805
|
+
def setAttributes(self, arg0: dict) -> Frame:
|
|
806
|
+
"""
|
|
807
|
+
set attributes for the frame
|
|
808
|
+
"""
|
|
781
809
|
def setColor(self, arg0: arr) -> Frame:
|
|
782
810
|
...
|
|
783
811
|
def setContact(self, arg0: int) -> Frame:
|
|
@@ -792,6 +820,10 @@ class Frame:
|
|
|
792
820
|
...
|
|
793
821
|
def setJointState(self, arg0: arr) -> Frame:
|
|
794
822
|
...
|
|
823
|
+
def setLines(self, verts: arr, colors: ... = ..., singleConnectedLine: bool = False) -> Frame:
|
|
824
|
+
"""
|
|
825
|
+
attach lines as shape
|
|
826
|
+
"""
|
|
795
827
|
def setMass(self, mass: float, inertiaMatrix: arr = ...) -> Frame:
|
|
796
828
|
...
|
|
797
829
|
def setMesh(self, vertices: arr, triangles: uintA, colors: ... = ..., cvxParts: uintA = ...) -> Frame:
|
robotic/_robotic.so
CHANGED
|
Binary file
|
|
@@ -32,17 +32,19 @@ struct ShapenetGrasps{
|
|
|
32
32
|
bool loadObject(uint shape, bool rndOrientation=true);
|
|
33
33
|
void resetObjectPose(int idx=0, bool rndOrientation=true);
|
|
34
34
|
arr getPointCloud();
|
|
35
|
+
arr getPointNormals();
|
|
35
36
|
arr sampleGraspPose();
|
|
36
|
-
void setGraspPose(const arr& pose, const char* objPts="
|
|
37
|
+
void setGraspPose(const arr& pose, const char* objPts="obj0_pts");
|
|
37
38
|
arr evaluateGrasp();
|
|
38
39
|
|
|
39
40
|
|
|
40
41
|
rai::Configuration C;
|
|
41
42
|
StringA files;
|
|
43
|
+
arr evalGripperPoses;
|
|
42
44
|
|
|
43
45
|
private:
|
|
44
46
|
void clearScene();
|
|
45
|
-
bool addSceneObject(const char* file, int idx, bool rndOri=true
|
|
47
|
+
bool addSceneObject(const char* file, int idx, bool rndOri=true);
|
|
46
48
|
};
|
|
47
49
|
|
|
48
50
|
arr sampleGraspCandidate(rai::Configuration& C, const char *ptsFrame, const char* refFrame, double pregraspNormalSdv=.2, int verbose=1);
|
robotic/include/rai/Gui/opengl.h
CHANGED
|
@@ -107,8 +107,8 @@ void write_png(const byteA& img, const char* file_name, bool swap_rows=true);
|
|
|
107
107
|
struct OpenGL {
|
|
108
108
|
/// @name little structs to store objects and callbacks
|
|
109
109
|
struct GLHoverCall { virtual bool hoverCallback(OpenGL&) = 0; };
|
|
110
|
-
struct GLClickCall { virtual bool clickCallback(OpenGL
|
|
111
|
-
struct GLKeyCall { virtual bool keyCallback(OpenGL
|
|
110
|
+
struct GLClickCall { virtual bool clickCallback(OpenGL&, int button, int buttonIsDown) = 0; };
|
|
111
|
+
struct GLKeyCall { virtual bool keyCallback(OpenGL&, int key, int mods, bool keyIsDown) = 0; };
|
|
112
112
|
struct GLScrollCall { virtual bool scrollCallback(OpenGL&, int) = 0; };
|
|
113
113
|
struct GLEvent { int button, key, x, y; float dx, dy; void set(int b, int k, int _x, int _y, float _dx, float _dy) { button=b; key=k; x=_x; y=_y; dx=_dx; dy=_dy; } };
|
|
114
114
|
struct GLView { double le, ri, bo, to; rai::Array<rai::RenderData*> drawers; rai::Camera camera; GLView() { le=bo=0.; ri=to=1.; } str text; };
|
|
@@ -147,7 +147,7 @@ struct OpenGL {
|
|
|
147
147
|
Signaler isUpdating;
|
|
148
148
|
Signaler watching;
|
|
149
149
|
OpenGLDrawOptions drawOptions;
|
|
150
|
-
|
|
150
|
+
int selectID=-1;
|
|
151
151
|
std::shared_ptr<rai::RenderData> _data;
|
|
152
152
|
|
|
153
153
|
bool fullscreen=false; ///<window starts in fullscreenmode on the primary screen
|
robotic/include/rai/KOMO/komo.h
CHANGED
|
@@ -203,7 +203,7 @@ struct KOMO : NonCopyable {
|
|
|
203
203
|
int view_slice(uint t, bool pause=false);
|
|
204
204
|
void view_close();
|
|
205
205
|
std::shared_ptr<rai::ConfigurationViewer> get_viewer();
|
|
206
|
-
void set_viewer(std::shared_ptr<rai::ConfigurationViewer>& _viewer);
|
|
206
|
+
void set_viewer(const std::shared_ptr<rai::ConfigurationViewer>& _viewer);
|
|
207
207
|
|
|
208
208
|
|
|
209
209
|
void plotTrajectory();
|
robotic/include/rai/Kin/frame.h
CHANGED
|
@@ -169,7 +169,7 @@ struct Frame : NonCopyable {
|
|
|
169
169
|
Frame& setMesh(const arr& verts, const uintA& tris, const byteA& colors={}, const uintA& cvxParts={});
|
|
170
170
|
Frame& setMeshFile(str file, double scale=1.);
|
|
171
171
|
Frame& setTextureFile(str imgFile, const arr& texCoords={});
|
|
172
|
-
Frame& setLines(const arr& verts, const byteA& colors={});
|
|
172
|
+
Frame& setLines(const arr& verts, const byteA& colors={}, bool singleConnectedLine=false);
|
|
173
173
|
Frame& setPointCloud(const arr& points, const byteA& colors= {}, const arr& normals= {});
|
|
174
174
|
Frame& setConvexMesh(const arr& points, const byteA& colors= {}, double radius=0.);
|
|
175
175
|
Frame& setSdf(std::shared_ptr<SDF>& sdf);
|
robotic/include/rai/Kin/kin.h
CHANGED
|
@@ -271,7 +271,7 @@ public:
|
|
|
271
271
|
void addProxies(const uintA& collisionPairs);
|
|
272
272
|
|
|
273
273
|
/// @name extensions on demand
|
|
274
|
-
std::shared_ptr<ConfigurationViewer
|
|
274
|
+
std::shared_ptr<ConfigurationViewer> get_viewer(const char* window_title=nullptr, bool offscreen=false);
|
|
275
275
|
OpenGL& gl();
|
|
276
276
|
void view_lock(const char* _lockInfo);
|
|
277
277
|
void view_unlock();
|
|
@@ -280,15 +280,13 @@ public:
|
|
|
280
280
|
FeatherstoneInterface& fs();
|
|
281
281
|
bool hasView();
|
|
282
282
|
int view(bool pause=false, const char* txt=nullptr);
|
|
283
|
-
void view_savePng(str saveVideoPath="z.vid/", int count=-1);
|
|
284
283
|
void saveVideoPic(uint& t, const char* pathPrefix="vid/");
|
|
285
284
|
void glAdd(void (*call)(void*, OpenGL&), void* classP);
|
|
286
285
|
int glAnimate();
|
|
287
286
|
void view_close();
|
|
288
|
-
void view_focus(const char* frameName, double heightAbs=1.);
|
|
289
287
|
void view_setCameraPose(const arr& pose);
|
|
290
288
|
arr view_getCameraPose();
|
|
291
|
-
void set_viewer(std::shared_ptr<ConfigurationViewer>& _viewer);
|
|
289
|
+
void set_viewer(const std::shared_ptr<ConfigurationViewer>& _viewer);
|
|
292
290
|
void coll_stepFcl();
|
|
293
291
|
void stepPhysx(double tau);
|
|
294
292
|
void stepOde(double tau);
|
|
@@ -126,8 +126,8 @@ struct TeleopCallbacks : OpenGL::GLClickCall, OpenGL::GLKeyCall, OpenGL::GLHover
|
|
|
126
126
|
TeleopCallbacks(rai::Configuration& C, rai::Frame* marker=0) : C(C), marker(marker) { q_ref = C.getJointState(); }
|
|
127
127
|
|
|
128
128
|
bool hasNewMarker();
|
|
129
|
-
virtual bool clickCallback(OpenGL& gl);
|
|
130
|
-
virtual bool keyCallback(OpenGL& gl);
|
|
129
|
+
virtual bool clickCallback(OpenGL& gl, int button, int buttonIsDown);
|
|
130
|
+
virtual bool keyCallback(OpenGL& gl, int key, int mods, bool _keyIsDown);
|
|
131
131
|
virtual bool hoverCallback(OpenGL& gl);
|
|
132
132
|
};
|
|
133
133
|
|
robotic/include/rai/Kin/viewer.h
CHANGED
|
@@ -41,7 +41,16 @@ struct ConfigurationViewer : RenderData {
|
|
|
41
41
|
|
|
42
42
|
void raiseWindow();
|
|
43
43
|
void glDraw(OpenGL&);
|
|
44
|
-
void setCamera(rai::Frame*
|
|
44
|
+
void setCamera(rai::Frame* camFrame);
|
|
45
|
+
void setCameraPose(const arr& pose);
|
|
46
|
+
void focus(const arr& position, double heightAbs=1.);
|
|
47
|
+
arr getCameraPose();
|
|
48
|
+
|
|
49
|
+
void setupEventHandler(bool blockDefaultHandler);
|
|
50
|
+
StringA getEvents();
|
|
51
|
+
arr getEventCursor();
|
|
52
|
+
uint getEventCursorObject();
|
|
53
|
+
Mutex& getEventsMutex();
|
|
45
54
|
|
|
46
55
|
//mimic a OpenGL, directly calling the same methods in its gl
|
|
47
56
|
void _resetPressedKey();
|
|
@@ -51,6 +60,7 @@ private://draw data
|
|
|
51
60
|
bool abortPlay;
|
|
52
61
|
uint pngCount=0;
|
|
53
62
|
bool drawFrameLines=true;
|
|
63
|
+
shared_ptr<struct ViewerEventHandler> eventHandler;
|
|
54
64
|
public:
|
|
55
65
|
int drawSlice;
|
|
56
66
|
String text;
|
robotic/librai.so
CHANGED
|
Binary file
|
robotic/meshTool
CHANGED
|
Binary file
|
|
@@ -2,9 +2,7 @@ panda_hand: { }
|
|
|
2
2
|
panda_hand_0(panda_hand): { shape: mesh, mesh: <meshes/hand.h5>, visual: True }
|
|
3
3
|
panda_finger_joint1_origin(panda_hand): { Q: [0, 0, 0.0584, 1, 0, 0, 0] }
|
|
4
4
|
panda_finger_joint2_origin(panda_hand): { Q: [0, 0, 0.0584, 1, 0, 0, 0] }
|
|
5
|
-
panda_finger_joint1(panda_finger_joint1_origin): { joint: transY, limits: [0, 0.04, 0.2, -1, 20], ctrl_limits: [0.2, -1, 20] }
|
|
6
|
-
panda_finger_joint2(panda_finger_joint2_origin): { joint: transY, joint_scale: -1, limits: [0, 0.04, 0.2, -1, 20], mimic: "panda_finger_joint1", ctrl_limits: [0.2, -1, 20] }
|
|
7
|
-
panda_leftfinger(panda_finger_joint1): {
|
|
8
|
-
panda_rightfinger(panda_finger_joint2): {
|
|
9
|
-
panda_leftfinger_0(panda_leftfinger): { shape: mesh, mesh: <meshes/finger.h5>, visual: True }
|
|
10
|
-
panda_rightfinger_0(panda_rightfinger): { Q: [0, 0, 0, -1.03412e-13, 0, 0, 1], shape: mesh, mesh: <meshes/finger.h5>, visual: True }
|
|
5
|
+
panda_finger_joint1(panda_finger_joint1_origin): { joint: transY, limits: [0, 0.04, 0.2, -1, 20], ctrl_limits: [0.2, -1, 20], motorKp=100, motorKd=10 }
|
|
6
|
+
panda_finger_joint2(panda_finger_joint2_origin): { joint: transY, joint_scale: -1, limits: [0, 0.04, 0.2, -1, 20], mimic: "panda_finger_joint1", ctrl_limits: [0.2, -1, 20], motorKp=100, motorKd=10 }
|
|
7
|
+
panda_leftfinger(panda_finger_joint1): { shape: mesh, mesh: <meshes/finger.h5>, visual: True, mass: .05 }
|
|
8
|
+
panda_rightfinger(panda_finger_joint2): { Q: [0, 0, 0, -1.03412e-13, 0, 0, 1], shape: mesh, mesh: <meshes/finger.h5>, visual: True, mass: .05 }
|
robotic/src/mujoco_io.py
CHANGED
|
@@ -34,7 +34,7 @@ class MujocoLoader():
|
|
|
34
34
|
|
|
35
35
|
self.C = ry.Config()
|
|
36
36
|
self.base = self.C.addFrame('base')
|
|
37
|
-
self.base.
|
|
37
|
+
self.base.setAttributes({'multibody':True})
|
|
38
38
|
self.base.setPosition(basePos)
|
|
39
39
|
self.base.setQuaternion(baseQuat)
|
|
40
40
|
self.add_node(root, self.base, path, 0)
|
robotic/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '0.3.1'
|
|
1
|
+
__version__ = '0.3.1.dev1'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotic
|
|
3
|
-
Version: 0.3.1
|
|
3
|
+
Version: 0.3.1.dev1
|
|
4
4
|
Summary: Robotic Control Interface & Manipulation Planning Library
|
|
5
5
|
Home-page: https://github.com/MarcToussaint/robotic/
|
|
6
6
|
Author: Marc Toussaint
|
|
@@ -29,8 +29,9 @@ Lab](https://argmin.lis.tu-berlin.de/)) operate our robots.
|
|
|
29
29
|
|
|
30
30
|
* The pip package was compiled for python3.8 .. 3.12, and most of the dependencies statically linked. A few are still loaded dynamically, which requires installing on Ubuntu:
|
|
31
31
|
|
|
32
|
-
sudo apt install liblapack3 freeglut3-dev libglu1-mesa libfreetype6 fonts-ubuntu python3 python3-pip
|
|
33
|
-
#latest Ubuntu:
|
|
32
|
+
sudo apt install liblapack3 freeglut3-dev libglu1-mesa libxrandr2 libfreetype6 fonts-ubuntu python3 python3-pip
|
|
33
|
+
#in latest Ubuntu also:
|
|
34
|
+
cd /usr/lib/x86_64-linux-gnu/ && sudo ln -s libglut.so.3.12 libglut.so.3
|
|
34
35
|
|
|
35
36
|
* Pip install:
|
|
36
37
|
|
|
@@ -49,14 +50,15 @@ Lab](https://argmin.lis.tu-berlin.de/)) operate our robots.
|
|
|
49
50
|
make run -j1
|
|
50
51
|
make run_demos -j1
|
|
51
52
|
|
|
52
|
-
*
|
|
53
|
+
* Test in a clean ubuntu:latest docker (starting with `xhost +local:root && docker run -it --env="DISPLAY" --network host ubuntu:latest`):
|
|
53
54
|
|
|
54
|
-
apt
|
|
55
|
+
apt update
|
|
56
|
+
env DEBIAN_FRONTEND=noninteractive apt install --yes liblapack3 freeglut3-dev libglu1-mesa libxrandr2 libfreetype6 fonts-ubuntu python3 python3-pip python3-venv
|
|
55
57
|
cd /usr/lib/x86_64-linux-gnu/ && ln -s libglut.so.3.12 libglut.so.3
|
|
56
|
-
cd
|
|
57
58
|
python3 -m venv ~/venv
|
|
58
59
|
source ~/venv/bin/activate
|
|
59
60
|
pip install robotic numpy
|
|
61
|
+
ry-info
|
|
60
62
|
ry-test
|
|
61
63
|
|
|
62
64
|
## Installation from source with real Franka & realsense support
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
robotic/DataGen.pyi,sha256=
|
|
1
|
+
robotic/DataGen.pyi,sha256=qDQjATpbIgFvOrWk7F3ZTVbOuyXjT5nwHxrsRfGxWRU,3716
|
|
2
2
|
robotic/__init__.py,sha256=H8Qi-wA95h6SuziEFNZFEt6Tpt5UrttS9ftBjZCsMm4,421
|
|
3
|
-
robotic/_robotic.pyi,sha256=
|
|
4
|
-
robotic/_robotic.so,sha256=
|
|
5
|
-
robotic/librai.so,sha256
|
|
3
|
+
robotic/_robotic.pyi,sha256=Klp80NNepVEuO4LGDt8Dj1oFa2eQXUuBXVnIEni4_Y8,75449
|
|
4
|
+
robotic/_robotic.so,sha256=YirDZkMs5CofYQoEW6d1Cn9jbYZAlCbCV9h8t55kDa0,1238792
|
|
5
|
+
robotic/librai.so,sha256=-zPXuRJsGNEU-9WpW9rdHfTV6PzktZ3VfaxFQ0tS-6U,38717824
|
|
6
6
|
robotic/manipulation.py,sha256=EhM_Zuv3vl8H4SBNqqYMD3NT9AzFUpOhr4PIzM4U7tM,22374
|
|
7
|
-
robotic/meshTool,sha256=
|
|
7
|
+
robotic/meshTool,sha256=wxcOt_C3PAn2vbnMpGYm57rjrU4iZLoEriODlQResmg,52176
|
|
8
8
|
robotic/mujoco-import.py,sha256=8eC8ldlFwnYQfqII3FVdWEQ7zd1PkSdAF-oyryIQtkY,231
|
|
9
9
|
robotic/nlp.py,sha256=n9_hOj3i707DdL_r49Yd2eWyjsSOahW8DmJrEhQlNFw,3200
|
|
10
10
|
robotic/render.py,sha256=OE1dvyWHD7Oyzk4wlhXZ7m3v3xxa3zAL5_LCV1RgJXk,4662
|
|
@@ -17,7 +17,7 @@ robotic/ry-urdfConvert.py,sha256=8Efnq3PU202rrZrVEZiGwzFOJdvrLjTJ2q-gnY6-tiU,255
|
|
|
17
17
|
robotic/ry-view,sha256=T1Omn1QS7cNAtjQhBjMJTNz7aW5FgoOf9vBIfW0mFME,613
|
|
18
18
|
robotic/test.py,sha256=8hiDRB2kB37hE5cZ7h26AJDnSGYb1y8DwOrcEGD_5Hc,620
|
|
19
19
|
robotic/test.pyi,sha256=vVxwRSerjUG4bpB7pIhof7ZatrBqwg3Bj5voywa-YTI,917
|
|
20
|
-
robotic/version.py,sha256=
|
|
20
|
+
robotic/version.py,sha256=ee5r9ceLV_FxcfRiJUTpXgWH7pgTJpybqp6_A8CMpkc,27
|
|
21
21
|
robotic/include/rai/Algo/MLcourse.h,sha256=TGkAJWC5ollGfPw0-gcYL0TZeDJiHtWFzkHSMK8_lqU,1828
|
|
22
22
|
robotic/include/rai/Algo/RidgeRegression.h,sha256=VXiv6-xr3j--CN7DJTzUg9Xb49zV9FZ9dwzxP1CmcPM,3730
|
|
23
23
|
robotic/include/rai/Algo/SplineCtrlFeed.h,sha256=9ZtYLHXx9sExj0lZV6F5ZWaCtkm0R4hMiYb-KJjktnc,3339
|
|
@@ -60,7 +60,7 @@ robotic/include/rai/Core/lapack/cblas.h,sha256=4bSmMzZ4idIPlmcwjw5HuwY1cs5RU73Zw
|
|
|
60
60
|
robotic/include/rai/Core/lapack/clapack.h,sha256=8rLteHzzGpKhJZXv4Eom9mk8lzbwRwjJuIqJuR1eePc,343373
|
|
61
61
|
robotic/include/rai/Core/lapack/lapacke.h,sha256=cpP6MEjkLGyhS8mV6ysRlTVeUam6f8zBgFUJB1phuwM,1045408
|
|
62
62
|
robotic/include/rai/DataGen/rndStableConfigs.h,sha256=bIz2RovkruMjYaaDwJIkyevsF6oV16y7dhyKm6sp_6s,391
|
|
63
|
-
robotic/include/rai/DataGen/shapenetGrasps.h,sha256=
|
|
63
|
+
robotic/include/rai/DataGen/shapenetGrasps.h,sha256=NlpKWicgaylzw1si7EPzeM7cE_-V9jvhB4mK1Slmt8E,1620
|
|
64
64
|
robotic/include/rai/Geo/assimpInterface.h,sha256=2Jg7v2GZ83nz4kkgPLzbSWTIBmL9nZg-LhMlWcjiF_o,1055
|
|
65
65
|
robotic/include/rai/Geo/depth2PointCloud.h,sha256=0mXJnTk0sMB--KDE9CO_2gKgGw4gHXUe7xg6DcROhvk,1168
|
|
66
66
|
robotic/include/rai/Geo/fclInterface.h,sha256=d89JFW3WKI64gOdQSGs6uFdE7NcMavNg89BMHhzMDac,984
|
|
@@ -90,10 +90,10 @@ robotic/include/rai/Geo/ply/ply.h,sha256=_oAXgQ5CyHvUMtPDBxYtOBbnKDVoZf5PKMswisq
|
|
|
90
90
|
robotic/include/rai/Geo/vhacd/VHACD.h,sha256=QT_cT6PPzec_mxKODsS9cJGr6nBt6S8cUJF7dCeBQCc,258343
|
|
91
91
|
robotic/include/rai/Gui/RenderData.h,sha256=SQEJbq1lTdCBsbMx8Yo6Dk_EPpQ2pNxM5l9D9xVU-qk,4986
|
|
92
92
|
robotic/include/rai/Gui/color.h,sha256=4ElBkpWgwBuqQEFD4Mdhv_afZE4ul6NkptwFQ2oDS5o,2596
|
|
93
|
-
robotic/include/rai/Gui/opengl.h,sha256=
|
|
93
|
+
robotic/include/rai/Gui/opengl.h,sha256=eFp5yfBh0sjqzGQ6xqeZdadsQzwYYVgeur_GMpmEdWA,9091
|
|
94
94
|
robotic/include/rai/Gui/plot.h,sha256=xhTBY84UN4KpgZsX7SJQGqVKd1jU7jojGVKFv02v0xU,2341
|
|
95
95
|
robotic/include/rai/KOMO/PathSmoother.h,sha256=y-t3yVEZvxfQIs8_EA-WI7FJ_RzfbG8TEfdiNAruuUI,813
|
|
96
|
-
robotic/include/rai/KOMO/komo.h,sha256=
|
|
96
|
+
robotic/include/rai/KOMO/komo.h,sha256=q4BhbBXiV3hrI05iqJdMIKYcqFVrozo2fmEIDY1PpDA,13395
|
|
97
97
|
robotic/include/rai/KOMO/komo_NLP.h,sha256=kSzUMDmw4yzAXtpNB2v38dpw2tBS8n8R_op_T3yS3DQ,3681
|
|
98
98
|
robotic/include/rai/KOMO/manipTools.h,sha256=WMdCxQB2rTcb3kzbiW9CHDpmGJZcKRqAnT861_iTsH4,4233
|
|
99
99
|
robotic/include/rai/KOMO/objective.h,sha256=Cl4-KjheRMNWoh_xFas5tLWMKSMlJf-HLDihfqvfcSw,2704
|
|
@@ -117,15 +117,15 @@ robotic/include/rai/Kin/dof_particles.h,sha256=PboLndC5a5extUKAfUPAIsJEGTTs6_ACD
|
|
|
117
117
|
robotic/include/rai/Kin/dof_path.h,sha256=XRPj3bH90JUIdkTS4jxwbAb5n9yAsRoemWUWUV1xDtQ,792
|
|
118
118
|
robotic/include/rai/Kin/feature.h,sha256=xicsrElMcYnYXdIXdO5LBLmXxvCGVUVgZJY2NIarO5I,3935
|
|
119
119
|
robotic/include/rai/Kin/featureSymbols.h,sha256=JVXbXoW43PlEGOgwHPpULlbXUQzkl79F1EFnfl-0wyk,1984
|
|
120
|
-
robotic/include/rai/Kin/frame.h,sha256=
|
|
121
|
-
robotic/include/rai/Kin/kin.h,sha256=
|
|
120
|
+
robotic/include/rai/Kin/frame.h,sha256=xqNwSGPxCmGOgCEtMZmeE80RJLXcHdpJRHWIkxbqCwU,14617
|
|
121
|
+
robotic/include/rai/Kin/kin.h,sha256=FB_nitzdTEMldqwTtJZVPKh4t1M9blrcEv9Q-jiaih8,16114
|
|
122
122
|
robotic/include/rai/Kin/kin_bullet.h,sha256=y8aApXpXY4bD5QN_WmDAU2vNEvvbdo1Rd4zY7qo-FKE,1970
|
|
123
123
|
robotic/include/rai/Kin/kin_feather.h,sha256=o-hOJA8UcmIBKx_qPzoG9R7fxzz-4zhBNMBmBTK21oA,1627
|
|
124
124
|
robotic/include/rai/Kin/kin_ode.h,sha256=zwB8Le1WMGRkQBc9bssndJICkjO1lZ_y1aZKCwP4c1Y,3686
|
|
125
125
|
robotic/include/rai/Kin/kin_physx.h,sha256=QfYi_-dIvVm7dFgG2SA3csHeb0peRMEhrf-I6pFOMPQ,1832
|
|
126
126
|
robotic/include/rai/Kin/proxy.h,sha256=jfFQrvokqvt8bGYEzGQoD2ZpnuWuLzCeOjFfUvdxcx0,1473
|
|
127
|
-
robotic/include/rai/Kin/simulation.h,sha256=
|
|
128
|
-
robotic/include/rai/Kin/viewer.h,sha256=
|
|
127
|
+
robotic/include/rai/Kin/simulation.h,sha256=oXaLa1VJXdhtsCFl6OGtAlT3PuCY9gg1OJVqZmRwOWA,5324
|
|
128
|
+
robotic/include/rai/Kin/viewer.h,sha256=07Ul8z4dOjQC8cnz5fs3qjJT1Oulj5saF_kjl2Z4kek,2366
|
|
129
129
|
robotic/include/rai/LGP/LGP_SkeletonTool.h,sha256=T4lXAUxY2QFo_ETZEm7RqRzfmU6NAHdVcow8qj_8-9Y,3240
|
|
130
130
|
robotic/include/rai/LGP/LGP_Tool.h,sha256=vcQ3ixwJ4wepPDX8ZGkDBKGIpchJQWMOoMu82_cS_8I,4230
|
|
131
131
|
robotic/include/rai/LGP/LGP_computers.h,sha256=paoCbDZnIo7OUeHKo5qkzTkKy1RIzDZocg4p6SXoObk,6480
|
|
@@ -238,7 +238,7 @@ robotic/rai-robotModels/panda/panda_arm_hand_conv.g,sha256=BVDQNIAwPB45rrvLX-WYw
|
|
|
238
238
|
robotic/rai-robotModels/panda/panda_arm_hand_conv.yml,sha256=_YP4vVVKeScSPNLRRkkiH2fnHuFUQgt12O1RnWV5mTY,2486
|
|
239
239
|
robotic/rai-robotModels/panda/panda_clean.g,sha256=6EShzBmEa2R5sJRhnGRXwLWcyjRybFY3Su-hdwz55yw,3168
|
|
240
240
|
robotic/rai-robotModels/panda/panda_deformable.g,sha256=DvkhnJYSXc1S_GRBM3iJOm6WovKYrsckzAW-rXxLqH8,6037
|
|
241
|
-
robotic/rai-robotModels/panda/panda_gripper.g,sha256=
|
|
241
|
+
robotic/rai-robotModels/panda/panda_gripper.g,sha256=qdVvPLq8LNkcXFNVfLcYBLNvcgAt7UN3qaTYgCevi7o,846
|
|
242
242
|
robotic/rai-robotModels/panda/panda_withoutCollisionModels.g,sha256=RPJawK8POmG_Hyc92XcprQbFArEryQWM8O6IB5zcSYQ,278
|
|
243
243
|
robotic/rai-robotModels/panda/meshes/finger.h5,sha256=hzqxoufYkW0_qDgVH4ZCx7vwCeZF4s3qe0KpMyXf3Lw,12994
|
|
244
244
|
robotic/rai-robotModels/panda/meshes/hand.h5,sha256=lbiphvOO3NKhuBW6kexfbfArDcNKqpqDM9yS_bmFdss,100882
|
|
@@ -317,7 +317,7 @@ robotic/rai-robotModels/scenarios/k00.g,sha256=Bjei9rYaLLwOhOSHFjaDGc7LFDraL8sxQ
|
|
|
317
317
|
robotic/rai-robotModels/scenarios/kswing.g,sha256=k1bND_Hr-lE5sklOraw58HdUye6iW8jTdjBUwbyRCRM,3995
|
|
318
318
|
robotic/rai-robotModels/scenarios/liftRing.g,sha256=fRKPEfUH_kDL4r7PmpO0kB2t1KeLV9QypxEEN_BNrqQ,1349
|
|
319
319
|
robotic/rai-robotModels/scenarios/mobileMini.g,sha256=I7SE9YUUciZ1JrJG6BIAZ9Oho_eUa_Z76l5_h-B0wjY,1158
|
|
320
|
-
robotic/rai-robotModels/scenarios/pandaFloatingGripper.g,sha256=
|
|
320
|
+
robotic/rai-robotModels/scenarios/pandaFloatingGripper.g,sha256=emCRjAxW1XAo9teBjjxvnM4C3JiCWPfiptFFr3swwfE,1508
|
|
321
321
|
robotic/rai-robotModels/scenarios/pandaSingle.g,sha256=H_UnXdMUbk16os9StOZB0PZMPL3FaGbCAZy0uUAKEKA,1147
|
|
322
322
|
robotic/rai-robotModels/scenarios/panda_fixGripper.g,sha256=bhkRey6igLb18HlOFj7CpAjqF6R7Z3saxevipHAn4W0,337
|
|
323
323
|
robotic/rai-robotModels/scenarios/panda_fixRobotiq.g,sha256=QVLpZCchSnoouayhIoVQcaWYHaZGVn4pIlj6nkFDHjs,1564
|
|
@@ -353,18 +353,18 @@ robotic/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
353
353
|
robotic/src/cleanMeshes.py,sha256=42T9WwN_cn4u_s_BzN2eRfBQxmZTEQ6ZYPBtsesA5BM,1678
|
|
354
354
|
robotic/src/mesh_helper.py,sha256=AMSOz3Eew9uJkDm5tFThbfJKcEQCmGyRLN4bZphISNk,16691
|
|
355
355
|
robotic/src/meshlabFilters.mlx,sha256=SCIiIk7XZusvKEKY62pHSem_R3TcMUP8BFaLTVUcnEg,3833
|
|
356
|
-
robotic/src/mujoco_io.py,sha256=
|
|
356
|
+
robotic/src/mujoco_io.py,sha256=drLNE4yo30hpOY01-AsuCWKLvNoG5w2YDSzR_rlyfz0,9474
|
|
357
357
|
robotic/src/urdf_io.py,sha256=bbPcJWS9rnYk8CWgEZTmx1XJRBIDrfwgCj-S_RFxl9U,8800
|
|
358
358
|
robotic/src/yaml_helper.py,sha256=eCUK6w4FCRpBqNgP7FdVDbJf2H7Y1bfIGzs89nOrAsY,637
|
|
359
|
-
robotic-0.3.1.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
|
|
360
|
-
robotic-0.3.1.data/scripts/ry-h5info,sha256=eh9McT5Ury7bbTudxkSOLWo-tZ6heiSEpGStM07N-Dc,810
|
|
361
|
-
robotic-0.3.1.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
|
|
362
|
-
robotic-0.3.1.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
|
|
363
|
-
robotic-0.3.1.data/scripts/ry-test,sha256=vcaPrFq9Co9N2F2Mdl2_1CTieOBssSoEhU67wXqJ2EY,981
|
|
364
|
-
robotic-0.3.1.data/scripts/ry-urdfConvert.py,sha256=762MIDmAhdCCj55QftY7wsy9gOEs-TDEWcRPt5dECyc,2542
|
|
365
|
-
robotic-0.3.1.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
|
|
366
|
-
robotic-0.3.1.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
|
|
367
|
-
robotic-0.3.1.dist-info/METADATA,sha256=
|
|
368
|
-
robotic-0.3.1.dist-info/WHEEL,sha256=rxKmMK2tk-0XikPyvYWdvWiQiwwfnpvkbvkHpHVHavU,102
|
|
369
|
-
robotic-0.3.1.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
|
|
370
|
-
robotic-0.3.1.dist-info/RECORD,,
|
|
359
|
+
robotic-0.3.1.dev1.data/scripts/ry-bot,sha256=LBNbbQeNNNd_tupI5463Xe-RKSD6xy4HGTbJloisCGk,2280
|
|
360
|
+
robotic-0.3.1.dev1.data/scripts/ry-h5info,sha256=eh9McT5Ury7bbTudxkSOLWo-tZ6heiSEpGStM07N-Dc,810
|
|
361
|
+
robotic-0.3.1.dev1.data/scripts/ry-info,sha256=fL5QXJL4Xx-Q42L2C29HHbj1XsmWdWiKIv9rVfc5sm4,425
|
|
362
|
+
robotic-0.3.1.dev1.data/scripts/ry-meshTool,sha256=h4f4wFPNaey3ziz870SrEvy6SsQSL-ZnR_cH3UuAZxE,101
|
|
363
|
+
robotic-0.3.1.dev1.data/scripts/ry-test,sha256=vcaPrFq9Co9N2F2Mdl2_1CTieOBssSoEhU67wXqJ2EY,981
|
|
364
|
+
robotic-0.3.1.dev1.data/scripts/ry-urdfConvert.py,sha256=762MIDmAhdCCj55QftY7wsy9gOEs-TDEWcRPt5dECyc,2542
|
|
365
|
+
robotic-0.3.1.dev1.data/scripts/ry-view,sha256=_GjUbVS2X3AWnlXqIHwU5dofLmUKA2-NUPySgS-QJNI,599
|
|
366
|
+
robotic-0.3.1.dev1.dist-info/LICENSE,sha256=oT-pAsUSXiuMq2_3omR87-GFBeBnegQYixH4Bm_7wag,1071
|
|
367
|
+
robotic-0.3.1.dev1.dist-info/METADATA,sha256=Ta9KLhIE8sPjxGFjtc2YXZojPpu7VZm_j5YFKfsdD38,6508
|
|
368
|
+
robotic-0.3.1.dev1.dist-info/WHEEL,sha256=rxKmMK2tk-0XikPyvYWdvWiQiwwfnpvkbvkHpHVHavU,102
|
|
369
|
+
robotic-0.3.1.dev1.dist-info/top_level.txt,sha256=x5A4haAZ18y9FpO1IhXSVJ2TFdhVAgT5JMkejHUg_9U,8
|
|
370
|
+
robotic-0.3.1.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
|