robotic 0.3.3__cp310-cp310-manylinux2014_x86_64.whl → 0.3.3.dev0__cp310-cp310-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/__init__.py +4 -1
- robotic/_robotic.pyi +45 -34
- robotic/_robotic.so +0 -0
- robotic/include/rai/Algo/RidgeRegression.h +1 -1
- robotic/include/rai/Core/arrayDouble.h +15 -4
- robotic/include/rai/Core/util.h +3 -0
- robotic/include/rai/DataGen/rndStableConfigs.h +1 -0
- robotic/include/rai/Geo/geo.h +4 -4
- robotic/include/rai/Geo/mesh.h +5 -5
- robotic/include/rai/Geo/pairCollision.h +1 -1
- robotic/include/rai/Geo/signedDistanceFunctions.h +2 -3
- robotic/include/rai/KOMO/komo.h +2 -0
- robotic/include/rai/KOMO/komo_NLP.h +2 -2
- robotic/include/rai/KOMO/manipTools.h +4 -0
- robotic/include/rai/Kin/kin_physx.h +6 -4
- robotic/include/rai/Kin/simulation.h +9 -4
- robotic/include/rai/LGP/LGP_TAMP_Abstraction.h +33 -0
- robotic/include/rai/LGP/LGP_Tool.h +4 -25
- robotic/include/rai/LGP/LGP_computers2.h +196 -0
- robotic/include/rai/LGP/NLP_Descriptor.h +5 -0
- robotic/include/rai/Optim/BayesOpt.h +3 -3
- robotic/include/rai/Optim/GlobalIterativeNewton.h +1 -1
- robotic/include/rai/Optim/NLP.h +5 -5
- robotic/include/rai/Optim/SlackGaussNewton.h +0 -10
- robotic/include/rai/Optim/constrained.h +1 -1
- robotic/include/rai/Optim/gradient.h +8 -6
- robotic/include/rai/Optim/lagrangian.h +3 -2
- robotic/include/rai/Optim/lbfgs.h +18 -0
- robotic/include/rai/Optim/liblbfgs.h +755 -0
- robotic/include/rai/Optim/m_LeastSquaresZeroOrder.h +38 -0
- robotic/include/rai/Optim/newton.h +3 -3
- robotic/include/rai/Optim/opt-ceres.h +2 -2
- robotic/include/rai/Optim/options.h +3 -2
- robotic/include/rai/Optim/primalDual.h +1 -1
- robotic/include/rai/Optim/testProblems_Opt.h +20 -8
- robotic/include/rai/Optim/utils.h +20 -79
- robotic/include/rai/Perception/pcl.h +10 -10
- robotic/librai.so +0 -0
- robotic/meshTool +0 -0
- robotic/rai-robotModels/panda/panda.g +9 -9
- robotic/rai-robotModels/panda/panda_withoutCollisionModels.g +3 -11
- robotic/rai-robotModels/pr2/pr2.g +5 -5
- robotic/rai-robotModels/pr2/pr2_clean.g +19 -19
- robotic/rai-robotModels/robotiq/robotiq_clean.g +2 -2
- robotic/rai-robotModels/scenarios/liftRing.g +2 -2
- robotic/rai-robotModels/scenarios/pandaSingle.g +1 -1
- robotic/rai-robotModels/tests/arm.g +15 -16
- robotic/ry-h5info +3 -12
- robotic/src/h5_helper.py +20 -5
- robotic/src/h5_helper.py~ +42 -0
- robotic/version.py +1 -1
- robotic-0.3.3.dev0.data/scripts/ry-h5info +23 -0
- {robotic-0.3.3.dist-info → robotic-0.3.3.dev0.dist-info}/METADATA +9 -9
- {robotic-0.3.3.dist-info → robotic-0.3.3.dev0.dist-info}/RECORD +63 -57
- robotic/test.py +0 -15
- robotic-0.3.3.data/scripts/ry-h5info +0 -32
- {robotic-0.3.3.data → robotic-0.3.3.dev0.data}/scripts/ry-bot +0 -0
- {robotic-0.3.3.data → robotic-0.3.3.dev0.data}/scripts/ry-info +0 -0
- {robotic-0.3.3.data → robotic-0.3.3.dev0.data}/scripts/ry-meshTool +0 -0
- {robotic-0.3.3.data → robotic-0.3.3.dev0.data}/scripts/ry-test +0 -0
- {robotic-0.3.3.data → robotic-0.3.3.dev0.data}/scripts/ry-urdfConvert.py +0 -0
- {robotic-0.3.3.data → robotic-0.3.3.dev0.data}/scripts/ry-view +0 -0
- {robotic-0.3.3.dist-info → robotic-0.3.3.dev0.dist-info}/WHEEL +0 -0
- {robotic-0.3.3.dist-info → robotic-0.3.3.dev0.dist-info}/licenses/LICENSE +0 -0
- {robotic-0.3.3.dist-info → robotic-0.3.3.dev0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "NLP.h"
|
|
4
|
+
#include "../Core/util.h"
|
|
5
|
+
|
|
6
|
+
struct LeastSquaredZeroOrder{
|
|
7
|
+
shared_ptr<NLP> P;
|
|
8
|
+
|
|
9
|
+
//-- parameters of the inner problem (Lagrangian, unconstrained problem)
|
|
10
|
+
double sigma=1e-3;
|
|
11
|
+
double lambda=1e-3;
|
|
12
|
+
uint steps=0;
|
|
13
|
+
|
|
14
|
+
//-- buffers to avoid re-evaluating points
|
|
15
|
+
arr x; ///< point where P was last evaluated
|
|
16
|
+
double phi2_x=-1.;
|
|
17
|
+
arr phi_x, J_x, H_x; ///< features at x
|
|
18
|
+
arr J;
|
|
19
|
+
arr data_X, data_Phi, data_Phi2;
|
|
20
|
+
str method="rank1";
|
|
21
|
+
|
|
22
|
+
LeastSquaredZeroOrder(shared_ptr<NLP> P, const arr& x_init={});
|
|
23
|
+
|
|
24
|
+
shared_ptr<SolverReturn> solve(){
|
|
25
|
+
while(!step()){}
|
|
26
|
+
shared_ptr<SolverReturn> ret = make_shared<SolverReturn>();
|
|
27
|
+
ret->x = x;
|
|
28
|
+
ret->sos = phi2_x;
|
|
29
|
+
ret->feasible=true;
|
|
30
|
+
return ret;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
bool step();
|
|
34
|
+
|
|
35
|
+
void updateJ_rank1(arr& J, const arr& x, const arr& x_last, const arr& phi, const arr& phi_last);
|
|
36
|
+
|
|
37
|
+
void updateJ_linReg(arr& J, const arr& Xraw, const arr& Y, double lambdaReg=1e-3);
|
|
38
|
+
};
|
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
#include "options.h"
|
|
12
12
|
#include "../Core/array.h"
|
|
13
13
|
|
|
14
|
-
int optNewton(arr& x,
|
|
14
|
+
int optNewton(arr& x, ScalarFunction& f, rai::OptOptions opt=DEFAULT_OPTIONS);
|
|
15
15
|
|
|
16
16
|
struct OptNewton {
|
|
17
|
-
ScalarFunction f;
|
|
17
|
+
ScalarFunction& f;
|
|
18
18
|
arr& x;
|
|
19
19
|
rai::OptOptions opt;
|
|
20
20
|
|
|
21
21
|
enum StopCriterion { stopNone=0, stopDeltaConverge, stopTinyFSteps, stopTinyXSteps, stopCritEvals, stopStepFailed, stopLineSearchSteps };
|
|
22
22
|
|
|
23
|
-
OptNewton(arr& _x,
|
|
23
|
+
OptNewton(arr& _x, ScalarFunction& _f, const rai::OptOptions& _opt);
|
|
24
24
|
~OptNewton();
|
|
25
25
|
OptNewton& setBounds(const arr& _bounds);
|
|
26
26
|
void reinit(const arr& _x);
|
|
@@ -27,12 +27,12 @@ struct CeresInterface {
|
|
|
27
27
|
|
|
28
28
|
//===========================================================================
|
|
29
29
|
|
|
30
|
-
struct
|
|
30
|
+
struct Conv_NLP2Ceres {
|
|
31
31
|
shared_ptr<NLP_Factored> P;
|
|
32
32
|
|
|
33
33
|
arr x_full, phi_full; //the full linear memory for all decision variables and all features
|
|
34
34
|
|
|
35
35
|
shared_ptr<ceres::Problem> ceresProblem;
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Conv_NLP2Ceres(const shared_ptr<NLP_Factored>& _P);
|
|
38
38
|
};
|
|
@@ -14,9 +14,10 @@ namespace rai {
|
|
|
14
14
|
|
|
15
15
|
enum OptMethod { M_none=0,
|
|
16
16
|
M_gradientDescent, M_rprop, M_LBFGS, M_newton,
|
|
17
|
-
M_augmentedLag,
|
|
17
|
+
M_augmentedLag, M_logBarrier, M_slackGN_logBarrier, M_squaredPenalty, M_singleSquaredPenalty,
|
|
18
18
|
M_slackGN,
|
|
19
|
-
M_NLopt, M_Ipopt, M_Ceres
|
|
19
|
+
M_NLopt, M_Ipopt, M_slackGN_Ipopt, M_Ceres,
|
|
20
|
+
M_LSZO};
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
struct OptOptions {
|
|
@@ -25,7 +25,7 @@ struct PrimalDualProblem : ScalarFunction {
|
|
|
25
25
|
|
|
26
26
|
PrimalDualProblem(const arr& x, const shared_ptr<NLP>& P, const rai::OptOptions& opt);
|
|
27
27
|
|
|
28
|
-
double
|
|
28
|
+
double f(arr& r, arr& R, const arr& x); ///< CORE METHOD: the unconstrained scalar function F
|
|
29
29
|
|
|
30
30
|
void updateMu();
|
|
31
31
|
};
|
|
@@ -11,17 +11,11 @@
|
|
|
11
11
|
#include "NLP.h"
|
|
12
12
|
#include "../Core/util.h"
|
|
13
13
|
|
|
14
|
-
extern ScalarFunction RosenbrockFunction();
|
|
15
|
-
extern ScalarFunction RastriginFunction();
|
|
16
|
-
extern ScalarFunction SquareFunction();
|
|
17
|
-
extern ScalarFunction SumFunction();
|
|
18
|
-
extern ScalarFunction HoleFunction();
|
|
19
|
-
extern ScalarFunction ChoiceFunction();
|
|
20
|
-
|
|
21
14
|
std::shared_ptr<NLP> getBenchmarkFromCfg();
|
|
22
15
|
|
|
23
16
|
//===========================================================================
|
|
24
17
|
|
|
18
|
+
#if 0
|
|
25
19
|
struct ScalarUnconstrainedProgram : NLP {
|
|
26
20
|
double forsythAlpha = -1.;
|
|
27
21
|
shared_ptr<ScalarFunction> S;
|
|
@@ -47,9 +41,10 @@ struct ScalarUnconstrainedProgram : NLP {
|
|
|
47
41
|
}
|
|
48
42
|
virtual double f(arr& g, arr& H, const arr& x) {
|
|
49
43
|
CHECK(S, "no scalar function given in the constructor");
|
|
50
|
-
return
|
|
44
|
+
return S->f(g, H, x);
|
|
51
45
|
}
|
|
52
46
|
};
|
|
47
|
+
#endif
|
|
53
48
|
|
|
54
49
|
//===========================================================================
|
|
55
50
|
|
|
@@ -132,6 +127,20 @@ struct NLP_RastriginSOS : NLP {
|
|
|
132
127
|
|
|
133
128
|
//===========================================================================
|
|
134
129
|
|
|
130
|
+
struct NLP_Rastrigin : ScalarFunction {
|
|
131
|
+
NLP_Rastrigin(uint _dim) { dim=_dim; }
|
|
132
|
+
virtual double f(arr& g, arr& H, const arr& x);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
//===========================================================================
|
|
136
|
+
|
|
137
|
+
struct NLP_Rosenbrock : ScalarFunction {
|
|
138
|
+
NLP_Rosenbrock(uint _dim) { dim=_dim; }
|
|
139
|
+
virtual double f(arr& g, arr& H, const arr& x);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
//===========================================================================
|
|
143
|
+
|
|
135
144
|
/// $f(x) = x^T C x$ where C has eigen values ranging from 1 to 'condition'
|
|
136
145
|
struct NLP_Squared : NLP {
|
|
137
146
|
arr C; /// $A = C^T C $
|
|
@@ -150,6 +159,7 @@ struct NLP_Wedge : NLP {
|
|
|
150
159
|
dimension=2;
|
|
151
160
|
featureTypes = { OT_f };
|
|
152
161
|
featureTypes.append(rai::consts(OT_ineq, 2));
|
|
162
|
+
bounds = arr{-2.,-2.,2.,2.}.reshape(2,2);
|
|
153
163
|
}
|
|
154
164
|
|
|
155
165
|
virtual void evaluate(arr& phi, arr& J, const arr& x) {
|
|
@@ -168,6 +178,7 @@ struct NLP_HalfCircle : NLP {
|
|
|
168
178
|
dimension=2;
|
|
169
179
|
featureTypes = { OT_f };
|
|
170
180
|
featureTypes.append(rai::consts(OT_ineq, 2));
|
|
181
|
+
bounds = arr{-2.,-2.,2.,2.}.reshape(2,2);
|
|
171
182
|
}
|
|
172
183
|
|
|
173
184
|
virtual void evaluate(arr& phi, arr& J, const arr& x) {
|
|
@@ -205,6 +216,7 @@ struct ChoiceConstraintFunction : NLP {
|
|
|
205
216
|
enum WhichConstraint { none=0, wedge2D=1, halfcircle2D, randomLinear, circleLine2D, boundConstrained, boundConstrainedIneq } which;
|
|
206
217
|
uint n;
|
|
207
218
|
arr randomG;
|
|
219
|
+
shared_ptr<ScalarFunction> f_uc;
|
|
208
220
|
ChoiceConstraintFunction();
|
|
209
221
|
|
|
210
222
|
void evaluate(arr& phi, arr& J, const arr& x);
|
|
@@ -9,76 +9,33 @@
|
|
|
9
9
|
#pragma once
|
|
10
10
|
|
|
11
11
|
#include "NLP.h"
|
|
12
|
+
#include "../Core/util.h"
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
struct Conv_ScalarProblem_NLP : NLP {
|
|
24
|
-
ScalarFunction f;
|
|
25
|
-
uint xDim;
|
|
26
|
-
arr bounds_lo, bounds_up;
|
|
27
|
-
Conv_ScalarProblem_NLP(const ScalarFunction& f, uint xDim): f(f), xDim(xDim) {}
|
|
28
|
-
void evaluate(arr& phi, arr& J, const arr& x) {
|
|
29
|
-
double y = f(J, NoArr, x);
|
|
30
|
-
phi = {y};
|
|
31
|
-
if(!!J) J.reshape(1, x.N);
|
|
32
|
-
}
|
|
33
|
-
void getFHessian(arr& H, const arr& x) {
|
|
34
|
-
f(NoArr, H, x);
|
|
14
|
+
struct Conv_ScalarFunction2NLP : NLP {
|
|
15
|
+
shared_ptr<ScalarFunction> f;
|
|
16
|
+
Conv_ScalarFunction2NLP(shared_ptr<ScalarFunction> f);
|
|
17
|
+
virtual void evaluate(arr& phi, arr& J, const arr& x);
|
|
18
|
+
virtual void getFHessian(arr& H, const arr& x);
|
|
19
|
+
virtual void report(ostream& os, int verbose, const char *msg=0){
|
|
20
|
+
os <<"ScalarFunction of type '" <<rai::niceTypeidName(typeid(*this)) <<"'";
|
|
21
|
+
if(msg) os <<' ' <<msg;
|
|
22
|
+
os <<" dimension:" <<f->dim;
|
|
35
23
|
}
|
|
36
|
-
void setBounds(double lo, double up) { bounds_lo.resize(xDim) = lo; bounds_up.resize(xDim) = up; }
|
|
37
24
|
};
|
|
38
25
|
|
|
39
|
-
struct
|
|
26
|
+
struct Conv_NLP2ScalarProblem : ScalarFunction {
|
|
40
27
|
std::shared_ptr<NLP> P;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
ScalarFunction::operator=([this](arr& g, arr& H, const arr& x) -> double {
|
|
44
|
-
return this->scalar(g, H, x);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
double scalar(arr& g, arr& H, const arr& x);
|
|
28
|
+
Conv_NLP2ScalarProblem(std::shared_ptr<NLP> _P) : P(_P) { dim = P->dimension; }
|
|
29
|
+
virtual double f(arr& g, arr& H, const arr& x);
|
|
49
30
|
};
|
|
50
31
|
|
|
51
32
|
struct Conv_NLP_SlackLeastSquares : NLP {
|
|
52
33
|
std::shared_ptr<NLP> P;
|
|
34
|
+
Conv_NLP_SlackLeastSquares(std::shared_ptr<NLP> _P);
|
|
35
|
+
virtual void evaluate(arr& phi, arr& J, const arr& x);
|
|
36
|
+
virtual void report(ostream& os, int verbose, const char *msg=0){ os <<"SlackLeastSquares of: "; P->report(os, verbose, msg); }
|
|
37
|
+
private:
|
|
53
38
|
uintA pick;
|
|
54
|
-
|
|
55
|
-
Conv_NLP_SlackLeastSquares(std::shared_ptr<NLP> _P) : P(_P) {
|
|
56
|
-
dimension = P->dimension;
|
|
57
|
-
bounds = P->bounds;
|
|
58
|
-
|
|
59
|
-
//pick constraints
|
|
60
|
-
for(uint i=0; i<P->featureTypes.N; i++) {
|
|
61
|
-
ObjectiveType f = P->featureTypes(i);
|
|
62
|
-
if(f==OT_eq || f==OT_ineq) pick.append(i);
|
|
63
|
-
}
|
|
64
|
-
featureTypes.resize(pick.N) = OT_sos;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
virtual void evaluate(arr& phi, arr& J, const arr& x) {
|
|
68
|
-
arr Pphi, PJ;
|
|
69
|
-
P->evaluate(Pphi, PJ, x);
|
|
70
|
-
phi = Pphi.pick(pick);
|
|
71
|
-
J = PJ.pick(pick);
|
|
72
|
-
for(uint i=0; i<pick.N; i++) {
|
|
73
|
-
if(P->featureTypes(pick(i))==OT_ineq) {
|
|
74
|
-
if(phi(i)<0.) { phi(i)=0.; J[i]=0.; } //ReLu for g
|
|
75
|
-
} else if(P->featureTypes(pick(i))==OT_eq) {
|
|
76
|
-
if(phi(i)<0.) { phi(i)*=-1.; J[i]*=-1.; } //make positive
|
|
77
|
-
} else {
|
|
78
|
-
NIY;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
39
|
};
|
|
83
40
|
|
|
84
41
|
struct NLP_LinTransformed : NLP {
|
|
@@ -89,7 +46,7 @@ struct NLP_LinTransformed : NLP {
|
|
|
89
46
|
|
|
90
47
|
virtual arr getInitializationSample();
|
|
91
48
|
virtual void evaluate(arr& phi, arr& J, const arr& x);
|
|
92
|
-
virtual void report(ostream& os, int verbose, const char*
|
|
49
|
+
virtual void report(ostream& os, int verbose, const char *msg=0){ os <<"LinTransformed of: "; P->report(os, verbose, msg); }
|
|
93
50
|
};
|
|
94
51
|
|
|
95
52
|
//===========================================================================
|
|
@@ -100,27 +57,11 @@ struct NLP_LinTransformed : NLP {
|
|
|
100
57
|
bool checkDirectionalGradient(const ScalarFunction& f, const arr& x, const arr& delta, double tolerance);
|
|
101
58
|
bool checkDirectionalJacobian(const VectorFunction& f, const arr& x, const arr& delta, double tolerance);
|
|
102
59
|
|
|
103
|
-
//===========================================================================
|
|
104
|
-
//
|
|
105
|
-
// accumulative constraints
|
|
106
|
-
//
|
|
107
|
-
|
|
108
|
-
inline void accumulateInequalities(arr& y, arr& J, const arr& yAll, const arr& JAll) {
|
|
109
|
-
y.resize(1).setZero();
|
|
110
|
-
if(!!J) J.resize(1, JAll.d1).setZero();
|
|
111
|
-
|
|
112
|
-
for(uint i=0; i<yAll.N; i++) {
|
|
113
|
-
if(yAll.elem(i)>0.) {
|
|
114
|
-
y.scalar() += yAll.elem(i);
|
|
115
|
-
if(!!J && !!JAll) J[0] += JAll[i];
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
60
|
//===========================================================================
|
|
121
61
|
//
|
|
122
62
|
// helpers
|
|
123
63
|
//
|
|
124
64
|
|
|
125
|
-
void
|
|
65
|
+
void accumulateInequalities(arr& y, arr& J, const arr& yAll, const arr& JAll);
|
|
66
|
+
void displayFunction(ScalarFunction& f, bool wait=false, double lo=-1.2, double hi=1.2);
|
|
126
67
|
|
|
@@ -24,19 +24,19 @@
|
|
|
24
24
|
typedef pcl::PointCloud<pcl::PointXYZ> Pcl;
|
|
25
25
|
typedef pcl::PointCloud<pcl::PointXYZRGB> PclC;
|
|
26
26
|
|
|
27
|
-
Pcl::Ptr
|
|
28
|
-
void
|
|
29
|
-
void
|
|
27
|
+
Pcl::Ptr conv_ArrCloud2PclCloud(const arr& pts);
|
|
28
|
+
void conv_ArrCloud2PclCloud(Pcl& cloud, const arr& pts);
|
|
29
|
+
void conv_PclCloud2ArrCloud(arr& pts, const Pcl& cloud);
|
|
30
30
|
|
|
31
|
-
PclC::Ptr
|
|
32
|
-
void
|
|
33
|
-
void
|
|
31
|
+
PclC::Ptr conv_ArrCloud2PclCloud(const arr& pts, const byteA& rgb);
|
|
32
|
+
void conv_ArrCloud2PclCloud(PclC& cloud, const arr& pts, const byteA& rgb);
|
|
33
|
+
void conv_PclCloud2ArrCloud(arr& pts, byteA& rgb, const PclC& cloud);
|
|
34
34
|
|
|
35
|
-
void
|
|
36
|
-
void
|
|
35
|
+
void conv_ArrCloud2PclCloud(PclC& cloud, const arr& pts, const arr& rgb);
|
|
36
|
+
void conv_PclCloud2ArrCloud(arr& pts, arr& rgb, const PclC& cloud);
|
|
37
37
|
|
|
38
|
-
inline arr PclPoints(const PclC& cloud) { arr pts;
|
|
38
|
+
inline arr PclPoints(const PclC& cloud) { arr pts; conv_PclCloud2ArrCloud(pts, NoByteA, cloud); return pts; }
|
|
39
39
|
|
|
40
|
-
arr
|
|
40
|
+
arr conv_PclNormals2Arr(const pcl::PointCloud<pcl::Normal>::Ptr& normals);
|
|
41
41
|
|
|
42
42
|
#endif
|
robotic/librai.so
CHANGED
|
Binary file
|
robotic/meshTool
CHANGED
|
Binary file
|
|
@@ -32,15 +32,15 @@ panda_coll7(panda_joint7): { shape: capsule, color: [1.,1.,1.,.1], size: [.1, .0
|
|
|
32
32
|
|
|
33
33
|
## zero position
|
|
34
34
|
|
|
35
|
-
Edit panda_joint1: { q: 0.0 }
|
|
36
|
-
Edit panda_joint2: { q: -.5 }
|
|
37
|
-
Edit panda_joint3: { q: 0. }
|
|
38
|
-
Edit panda_joint4: { q: -2. }
|
|
39
|
-
Edit panda_joint5: { q: -0. }
|
|
40
|
-
Edit panda_joint6: { q: 2., limits: [.5, 3.] }
|
|
41
|
-
Edit panda_joint7: { q: -.5 }
|
|
42
|
-
Edit panda_finger_joint1: { q: .04 }
|
|
43
|
-
Edit panda_finger_joint2: { q: .04 }
|
|
35
|
+
Edit panda_joint1: { q: 0.0, mj_actuator_kp: "870.", mj_joint_damping: "100." }
|
|
36
|
+
Edit panda_joint2: { q: -.5, mj_actuator_kp: "870.", mj_joint_damping: "100." }
|
|
37
|
+
Edit panda_joint3: { q: 0., mj_actuator_kp: "870.", mj_joint_damping: "100." }
|
|
38
|
+
Edit panda_joint4: { q: -2., mj_actuator_kp: "870.", mj_joint_damping: "100." }
|
|
39
|
+
Edit panda_joint5: { q: -0., mj_actuator_kp: "120.", mj_joint_damping: "10." }
|
|
40
|
+
Edit panda_joint6: { q: 2., limits: [.5, 3.], mj_actuator_kp: "120.", mj_joint_damping: "10." }
|
|
41
|
+
Edit panda_joint7: { q: -.5, mj_actuator_kp: "120.", mj_joint_damping: "10." }
|
|
42
|
+
Edit panda_finger_joint1: { q: .04, mj_actuator_kp: "500.", mj_joint_damping: "100." }
|
|
43
|
+
Edit panda_finger_joint2: { q: .04, mj_actuator_kp: "500.", mj_joint_damping: "100." }
|
|
44
44
|
|
|
45
45
|
## kill rigid hand joints
|
|
46
46
|
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
Include: <panda_clean.g>
|
|
2
2
|
|
|
3
|
-
Delete
|
|
4
|
-
Delete
|
|
5
|
-
Delete
|
|
6
|
-
Delete panda_link3_0:
|
|
7
|
-
Delete panda_link4_0:
|
|
8
|
-
Delete panda_link5_0:
|
|
9
|
-
Delete panda_link6_0:
|
|
10
|
-
Delete panda_link7_0:
|
|
11
|
-
Delete panda_hand_0:
|
|
12
|
-
Delete panda_leftfinger_0:
|
|
13
|
-
Delete panda_rightfinger_0:
|
|
3
|
+
Delete: panda_hand_0
|
|
4
|
+
#Delete: panda_leftfinger_0
|
|
5
|
+
Delete: panda_rightfinger_0
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
world: {}
|
|
2
|
-
worldTranslationRotation (world): { joint: transXYPhi, Q: "d(90 0 0 1)", gains: [1, 1], limits: [-10, -10, -6, 10, 10, 6],
|
|
2
|
+
worldTranslationRotation (world): { joint: transXYPhi, Q: "d(90 0 0 1)", gains: [1, 1], limits: [-10, -10, -6, 10, 10, 6], ctrl_H: 10, base }
|
|
3
3
|
|
|
4
4
|
Include: <pr2_conv.g>
|
|
5
5
|
|
|
@@ -28,10 +28,10 @@ Edit bl_caster_r_wheel_joint: { joint: none }
|
|
|
28
28
|
Edit br_caster_l_wheel_joint: { joint: none }
|
|
29
29
|
Edit br_caster_r_wheel_joint: { joint: none }
|
|
30
30
|
|
|
31
|
-
#Delete l_gripper_r_parallel_link_1
|
|
32
|
-
#Delete l_gripper_l_parallel_link_1
|
|
33
|
-
#Delete r_gripper_r_parallel_link_1
|
|
34
|
-
#Delete r_gripper_l_parallel_link_1
|
|
31
|
+
#Delete: l_gripper_r_parallel_link_1
|
|
32
|
+
#Delete: l_gripper_l_parallel_link_1
|
|
33
|
+
#Delete: r_gripper_r_parallel_link_1
|
|
34
|
+
#Delete: r_gripper_l_parallel_link_1
|
|
35
35
|
|
|
36
36
|
Edit r_gripper_l_finger_joint: { q: .1 }
|
|
37
37
|
Edit l_gripper_l_finger_joint: { q: .1 }
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
base_footprint: { mass: 1, inertia: [0.01, 0.01, 0.01] }
|
|
2
2
|
|
|
3
|
-
base_footprint_0(base_footprint): { shape: box, size: [0.01, 0.01, 0.01
|
|
3
|
+
base_footprint_0(base_footprint): { shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
4
4
|
|
|
5
5
|
base_link(base_footprint): { pose: [0, 0, 0.051, 1, 0, 0, 0], mass: 116, inertia: [5.65223, -0.00971993, 1.29399, 5.66947, -0.00737958, 3.6832] }
|
|
6
6
|
base_link_0(base_footprint): { pose: [0, 0, 0.051, 1, 0, 0, 0], shape: mesh, mesh: <meshes/base.h5>, visual: True }
|
|
7
7
|
base_laser_link(base_footprint): { pose: [0.275, 0, 0.303, 1, 0, 0, 0], mass: 0.001, inertia: [0.0001, 1e-06, 0.0001] }
|
|
8
|
-
base_laser_link_0(base_footprint): { pose: [0.275, 0, 0.303, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001
|
|
8
|
+
base_laser_link_0(base_footprint): { pose: [0.275, 0, 0.303, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
9
9
|
|
|
10
10
|
fl_caster_rotation_joint_origin(base_footprint): { pose: [0.2246, 0.2246, 0.0792, 1, 0, 0, 0] }
|
|
11
11
|
fr_caster_rotation_joint_origin(base_footprint): { pose: [0.2246, -0.2246, 0.0792, 1, 0, 0, 0] }
|
|
@@ -37,7 +37,7 @@ br_caster_r_wheel_joint_origin(br_caster_rotation_joint): { pose: [0, -0.049, 0,
|
|
|
37
37
|
torso_lift_link(torso_lift_joint): { mass: 36.248, inertia: [2.77165, 0.00428452, -0.160419, 2.51002, 0.0296645, 0.526432] }
|
|
38
38
|
torso_lift_link_0(torso_lift_joint): { shape: mesh, mesh: <meshes/torso_lift.h5>, visual: True }
|
|
39
39
|
imu_link(torso_lift_joint): { pose: [-0.02977, -0.1497, 0.164, -1.03412e-13, 0, 1, 0], mass: 0.001, inertia: [0.0001, 1e-06, 0.0001] }
|
|
40
|
-
imu_link_0(torso_lift_joint): { pose: [-0.02977, -0.1497, 0.164, -1.03412e-13, 0, 1, 0], shape: box, size: [0.001, 0.001, 0.001
|
|
40
|
+
imu_link_0(torso_lift_joint): { pose: [-0.02977, -0.1497, 0.164, -1.03412e-13, 0, 1, 0], shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
41
41
|
head_pan_joint_origin(torso_lift_joint): { pose: [-0.01707, 0, 0.38145, 1, 0, 0, 0] }
|
|
42
42
|
laser_tilt_mount_joint_origin(torso_lift_joint): { pose: [0.09893, 0, 0.227, 1, 0, 0, 0] }
|
|
43
43
|
r_shoulder_pan_joint_origin(torso_lift_joint): { pose: [0, -0.188, 0, 1, 0, 0, 0] }
|
|
@@ -76,7 +76,7 @@ head_tilt_joint_origin(head_pan_joint): { pose: [0.068, 0, 0, 1, 0, 0, 0] }
|
|
|
76
76
|
laser_tilt_mount_link(laser_tilt_mount_joint): { mass: 0.05, inertia: [0.0001, 1e-05, 0.0001] }
|
|
77
77
|
laser_tilt_mount_link_0(laser_tilt_mount_joint): { shape: mesh, mesh: <meshes/tilting_hokuyo.h5>, visual: True }
|
|
78
78
|
laser_tilt_link(laser_tilt_mount_joint): { pose: [0, 0, 0.03, 1, 0, 0, 0], mass: 0.001, inertia: [0.0001, 1e-06, 0.0001] }
|
|
79
|
-
laser_tilt_link_0(laser_tilt_mount_joint): { pose: [0, 0, 0.03, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001
|
|
79
|
+
laser_tilt_link_0(laser_tilt_mount_joint): { pose: [0, 0, 0.03, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
80
80
|
r_shoulder_pan_link(r_shoulder_pan_joint): { mass: 25.7993, inertia: [0.866179, -0.0608651, -0.121181, 0.874217, -0.0588661, 0.273538] }
|
|
81
81
|
r_shoulder_pan_link_0(r_shoulder_pan_joint): { shape: mesh, mesh: <meshes/shoulder_pan.h5>, visual: True }
|
|
82
82
|
r_shoulder_lift_joint_origin(r_shoulder_pan_joint): { pose: [0.1, 0, 0, 1, 0, 0, 0] }
|
|
@@ -89,27 +89,27 @@ l_shoulder_lift_joint(l_shoulder_lift_joint_origin): { joint: hingeY, limits: [-
|
|
|
89
89
|
head_tilt_link(head_tilt_joint): { mass: 1.74973, inertia: [0.0106023, -0.000408814, 0.00198304, 0.0118744, 0.000197909, 0.00551679] }
|
|
90
90
|
head_tilt_link_0(head_tilt_joint): { shape: mesh, mesh: <meshes/head_tilt.h5>, visual: True }
|
|
91
91
|
head_plate_frame(head_tilt_joint): { pose: [0.0232, 0, 0.0645, 1, 0, 0, 0], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
92
|
-
head_plate_frame_0(head_tilt_joint): { pose: [0.0232, 0, 0.0645, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01
|
|
92
|
+
head_plate_frame_0(head_tilt_joint): { pose: [0.0232, 0, 0.0645, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
93
93
|
sensor_mount_link(head_tilt_joint): { pose: [0.0232, 0, 0.0645, 1, 0, 0, 0], mass: 0.05, inertia: [0.001, 0.001, 0.01] }
|
|
94
|
-
sensor_mount_link_0(head_tilt_joint): { pose: [0.0232, 0, 0.0645, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01
|
|
94
|
+
sensor_mount_link_0(head_tilt_joint): { pose: [0.0232, 0, 0.0645, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
95
95
|
high_def_frame(head_tilt_joint): { pose: [0.0232, -0.109, 0.0995, 1, 0, 0, 0], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
96
|
-
high_def_frame_0(head_tilt_joint): { pose: [0.0032, -0.109, 0.0995, 1, 0, 0, 0], shape: box, size: [0.04, 0.04, 0.04
|
|
96
|
+
high_def_frame_0(head_tilt_joint): { pose: [0.0032, -0.109, 0.0995, 1, 0, 0, 0], shape: box, size: [0.04, 0.04, 0.04], visual: True }
|
|
97
97
|
high_def_optical_frame(head_tilt_joint): { pose: [0.0232, -0.109, 0.0995, 0.5, -0.5, 0.5, -0.5], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
98
|
-
high_def_optical_frame_0(head_tilt_joint): { pose: [0.0232, -0.109, 0.0995, 0.707107, -3.46245e-12, 0.707107, -5.55112e-17], shape: cylinder, size: [0
|
|
98
|
+
high_def_optical_frame_0(head_tilt_joint): { pose: [0.0232, -0.109, 0.0995, 0.707107, -3.46245e-12, 0.707107, -5.55112e-17], shape: cylinder, size: [0.05, 0.02], visual: True }
|
|
99
99
|
double_stereo_link(head_tilt_joint): { pose: [0.0232, 0, 0.0675, 1, 0, 0, 0], mass: 0.1, inertia: [0.001, 0.001, 0.01] }
|
|
100
|
-
double_stereo_link_0(head_tilt_joint): { pose: [0.0132, 0, 0.0925, 1, 0, 0, 0], shape: box, size: [0.02, 0.12, 0.05
|
|
100
|
+
double_stereo_link_0(head_tilt_joint): { pose: [0.0132, 0, 0.0925, 1, 0, 0, 0], shape: box, size: [0.02, 0.12, 0.05], visual: True }
|
|
101
101
|
wide_stereo_link(head_tilt_joint): { pose: [0.0232, 0.03, 0.098, 1, 0, 0, 0], mass: 0.1, inertia: [0.01, 0.01, 0.01] }
|
|
102
|
-
wide_stereo_link_0(head_tilt_joint): { pose: [0.0232, 0.03, 0.098, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001
|
|
102
|
+
wide_stereo_link_0(head_tilt_joint): { pose: [0.0232, 0.03, 0.098, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
103
103
|
wide_stereo_gazebo_l_stereo_camera_frame(head_tilt_joint): { pose: [0.0232, 0.03, 0.098, 1, 0, 0, 0], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
104
|
-
wide_stereo_gazebo_l_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, 0.03, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01
|
|
104
|
+
wide_stereo_gazebo_l_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, 0.03, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
105
105
|
wide_stereo_gazebo_r_stereo_camera_frame(head_tilt_joint): { pose: [0.0232, -0.06, 0.098, 1, 0, 0, 0], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
106
|
-
wide_stereo_gazebo_r_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, -0.06, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01
|
|
106
|
+
wide_stereo_gazebo_r_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, -0.06, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
107
107
|
narrow_stereo_link(head_tilt_joint): { pose: [0.0232, 0.06, 0.098, 1, 0, 0, 0], mass: 0.1, inertia: [0.01, 0.01, 0.01] }
|
|
108
|
-
narrow_stereo_link_0(head_tilt_joint): { pose: [0.0232, 0.06, 0.098, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001
|
|
108
|
+
narrow_stereo_link_0(head_tilt_joint): { pose: [0.0232, 0.06, 0.098, 1, 0, 0, 0], shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
109
109
|
narrow_stereo_gazebo_l_stereo_camera_frame(head_tilt_joint): { pose: [0.0232, 0.06, 0.098, 1, 0, 0, 0], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
110
|
-
narrow_stereo_gazebo_l_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, 0.06, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01
|
|
110
|
+
narrow_stereo_gazebo_l_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, 0.06, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
111
111
|
narrow_stereo_gazebo_r_stereo_camera_frame(head_tilt_joint): { pose: [0.0232, -0.03, 0.098, 1, 0, 0, 0], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
112
|
-
narrow_stereo_gazebo_r_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, -0.03, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01
|
|
112
|
+
narrow_stereo_gazebo_r_stereo_camera_frame_0(head_tilt_joint): { pose: [0.0232, -0.03, 0.098, 1, 0, 0, 0], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
113
113
|
r_shoulder_lift_link(r_shoulder_lift_joint): { mass: 2.74988, inertia: [0.0210558, 0.00496704, -0.00194809, 0.0212722, 0.00110425, 0.0197575] }
|
|
114
114
|
r_shoulder_lift_link_0(r_shoulder_lift_joint): { shape: mesh, mesh: <meshes/shoulder_lift.h5>, visual: True }
|
|
115
115
|
l_shoulder_lift_link(l_shoulder_lift_joint): { mass: 2.74988, inertia: [0.0210558, 0.00496704, -0.00194809, 0.0212722, 0.00110425, 0.0197575] }
|
|
@@ -139,14 +139,14 @@ r_forearm_roll_link_0(r_forearm_roll_joint): { shape: mesh, mesh: <meshes/forear
|
|
|
139
139
|
r_forearm_link(r_forearm_roll_joint): { mass: 2.57968, inertia: [0.00364857, 5.21588e-05, 0.000715348, 0.0150774, -1.31077e-05, 0.0165931] }
|
|
140
140
|
r_forearm_link_0(r_forearm_roll_joint): { shape: mesh, mesh: <meshes/forearm.h5>, visual: True }
|
|
141
141
|
r_forearm_cam_frame(r_forearm_roll_joint): { pose: [0.135, 0, 0.044, 0.679288, 0.679288, -0.196387, 0.196387], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
142
|
-
r_forearm_cam_frame_0(r_forearm_roll_joint): { pose: [0.135, 0, 0.044, 0.679288, 0.679288, -0.196387, 0.196387], shape: box, size: [0.01, 0.01, 0.01
|
|
142
|
+
r_forearm_cam_frame_0(r_forearm_roll_joint): { pose: [0.135, 0, 0.044, 0.679288, 0.679288, -0.196387, 0.196387], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
143
143
|
r_wrist_flex_joint_origin(r_forearm_roll_joint): { pose: [0.321, 0, 0, 1, 0, 0, 0] }
|
|
144
144
|
l_forearm_roll_link(l_forearm_roll_joint): { mass: 0.1, inertia: [0.01, 0.01, 0.01] }
|
|
145
145
|
l_forearm_roll_link_0(l_forearm_roll_joint): { shape: mesh, mesh: <meshes/forearm_roll.h5>, visual: True }
|
|
146
146
|
l_forearm_link(l_forearm_roll_joint): { mass: 2.57968, inertia: [0.00364857, 5.21588e-05, 0.000715348, 0.0150774, -1.31077e-05, 0.0165931] }
|
|
147
147
|
l_forearm_link_0(l_forearm_roll_joint): { shape: mesh, mesh: <meshes/forearm.h5>, visual: True }
|
|
148
148
|
l_forearm_cam_frame(l_forearm_roll_joint): { pose: [0.135, 0, 0.044, 0.679288, -0.679288, -0.196387, -0.196387], mass: 0.01, inertia: [0.001, 0.001, 0.001] }
|
|
149
|
-
l_forearm_cam_frame_0(l_forearm_roll_joint): { pose: [0.135, 0, 0.044, 0.679288, -0.679288, -0.196387, -0.196387], shape: box, size: [0.01, 0.01, 0.01
|
|
149
|
+
l_forearm_cam_frame_0(l_forearm_roll_joint): { pose: [0.135, 0, 0.044, 0.679288, -0.679288, -0.196387, -0.196387], shape: box, size: [0.01, 0.01, 0.01], visual: True }
|
|
150
150
|
l_wrist_flex_joint_origin(l_forearm_roll_joint): { pose: [0.321, 0, 0, 1, 0, 0, 0] }
|
|
151
151
|
r_wrist_flex_joint(r_wrist_flex_joint_origin): { joint: hingeY, limits: [-2.094, 0, 3.078, -1, 10], ctrl_limits: [3.078, -1, 10] }
|
|
152
152
|
l_wrist_flex_joint(l_wrist_flex_joint_origin): { joint: hingeY, limits: [-2.094, 0, 3.078, -1, 10], ctrl_limits: [3.078, -1, 10] }
|
|
@@ -161,7 +161,7 @@ r_wrist_roll_link_0(r_wrist_roll_joint): { shape: mesh, mesh: <meshes/wrist_roll
|
|
|
161
161
|
r_gripper_palm_link(r_wrist_roll_joint): { mass: 0.58007, inertia: [0.000352239, -1.58048e-05, -9.175e-07, 0.000677413, -5.9554e-07, 0.000865633] }
|
|
162
162
|
r_gripper_palm_link_0(r_wrist_roll_joint): { shape: mesh, mesh: <meshes/gripper_palm.h5>, visual: True }
|
|
163
163
|
r_gripper_motor_accelerometer_link(r_wrist_roll_joint): { mass: 0.001, inertia: [0.001, 0.001, 0.001] }
|
|
164
|
-
r_gripper_motor_accelerometer_link_0(r_wrist_roll_joint): { shape: box, size: [0.001, 0.001, 0.001
|
|
164
|
+
r_gripper_motor_accelerometer_link_0(r_wrist_roll_joint): { shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
165
165
|
r_gripper_l_finger_joint_origin(r_wrist_roll_joint): { pose: [0.07691, 0.01, 0, 1, 0, 0, 0] }
|
|
166
166
|
r_gripper_r_finger_joint_origin(r_wrist_roll_joint): { pose: [0.07691, -0.01, 0, 1, 0, 0, 0] }
|
|
167
167
|
r_gripper_l_parallel_root_joint_origin(r_wrist_roll_joint): { pose: [0.05891, 0.031, 0, 1, 0, 0, 0] }
|
|
@@ -171,7 +171,7 @@ l_wrist_roll_link_0(l_wrist_roll_joint): { shape: mesh, mesh: <meshes/wrist_roll
|
|
|
171
171
|
l_gripper_palm_link(l_wrist_roll_joint): { mass: 0.58007, inertia: [0.000352239, -1.58048e-05, -9.175e-07, 0.000677413, -5.9554e-07, 0.000865633] }
|
|
172
172
|
l_gripper_palm_link_0(l_wrist_roll_joint): { shape: mesh, mesh: <meshes/gripper_palm.h5>, visual: True }
|
|
173
173
|
l_gripper_motor_accelerometer_link(l_wrist_roll_joint): { mass: 0.001, inertia: [0.001, 0.001, 0.001] }
|
|
174
|
-
l_gripper_motor_accelerometer_link_0(l_wrist_roll_joint): { shape: box, size: [0.001, 0.001, 0.001
|
|
174
|
+
l_gripper_motor_accelerometer_link_0(l_wrist_roll_joint): { shape: box, size: [0.001, 0.001, 0.001], visual: True }
|
|
175
175
|
l_gripper_l_finger_joint_origin(l_wrist_roll_joint): { pose: [0.07691, 0.01, 0, 1, 0, 0, 0] }
|
|
176
176
|
l_gripper_r_finger_joint_origin(l_wrist_roll_joint): { pose: [0.07691, -0.01, 0, 1, 0, 0, 0] }
|
|
177
177
|
l_gripper_l_parallel_root_joint_origin(l_wrist_roll_joint): { pose: [0.05891, 0.031, 0, 1, 0, 0, 0] }
|
|
@@ -19,6 +19,6 @@ right_inner_knuckle_0(right_inner_knuckle_joint): { shape: mesh, color: [0.1, 0.
|
|
|
19
19
|
left_inner_finger_joint(left_outer_finger>left_inner_finger_joint): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
|
|
20
20
|
right_inner_finger_joint(right_outer_finger>right_inner_finger_joint): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
|
|
21
21
|
left_inner_finger_0(left_inner_finger_joint): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_inner_finger.ply>, meshscale: 0.001, visual: True }
|
|
22
|
-
left_inner_finger_pad_0(left_inner_finger_joint): { Q: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375
|
|
22
|
+
left_inner_finger_pad_0(left_inner_finger_joint): { Q: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375], color: [0.9, 0.9, 0.9, 1], visual: True }
|
|
23
23
|
right_inner_finger_0(right_inner_finger_joint): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_inner_finger.ply>, meshscale: 0.001, visual: True }
|
|
24
|
-
right_inner_finger_pad_0(right_inner_finger_joint): { Q: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375
|
|
24
|
+
right_inner_finger_pad_0(right_inner_finger_joint): { Q: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375], color: [0.9, 0.9, 0.9, 1], visual: True }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
world: {
|
|
1
|
+
world: {}
|
|
2
2
|
|
|
3
3
|
table (world): {
|
|
4
4
|
shape: ssBox, Q: "t(0 0. .6)", size: [1., 2., .1, .02], color: [.3, .3, .3]
|
|
@@ -41,6 +41,6 @@ target (table): {
|
|
|
41
41
|
#Include: <panda_fixGripper.g>
|
|
42
42
|
#Include: <panda_fixRobotiq.g>
|
|
43
43
|
Include: <../panda/panda.g>
|
|
44
|
-
(table
|
|
44
|
+
Edit panda_base(table): { joint: rigid, Q: "t(.3 .8 .05) d(-90 0 0 1)" }
|
|
45
45
|
|
|
46
46
|
Edit panda_finger_joint1: { joint_active: false }
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
|
|
2
|
-
stem
|
|
2
|
+
stem { X: "t(0 0 1)" shape:capsule size=[2 .1] }
|
|
3
3
|
|
|
4
|
-
arm1
|
|
5
|
-
arm2
|
|
6
|
-
arm3
|
|
7
|
-
arm4
|
|
8
|
-
arm5
|
|
9
|
-
arm6
|
|
10
|
-
arm7
|
|
4
|
+
arm1(j1) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
5
|
+
arm2(j2) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
6
|
+
arm3(j3) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
7
|
+
arm4(j4) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
8
|
+
arm5(j5) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
9
|
+
arm6(j6) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
10
|
+
arm7(j7) { shape:capsule Q:[0 0 .2], size=[.4 .1] contact:-1, }
|
|
11
11
|
|
|
12
|
-
(stem
|
|
13
|
-
|
|
14
|
-
(
|
|
15
|
-
(
|
|
16
|
-
(
|
|
17
|
-
(
|
|
18
|
-
(
|
|
19
|
-
(arm6 arm7): { joint: hingeX, limits:[-2,2], pre: "t(0 0 0.2) d(45 0 0 1)", post: "t(0 0 .2)", Q: "T d(1 0 0 0)" }
|
|
12
|
+
j1(stem) { joint:hingeX A: "t(0 0 1) d(90 1 0 0)" limits:[-2 2] }
|
|
13
|
+
j2(arm1) { joint:hingeX A: "t(0 0 0.2) d(45 0 0 1)" limits:[-2 2] }
|
|
14
|
+
j3(arm2) { joint:hingeX A: "t(0 0 0.2) d(45 0 0 1)" limits:[-2 2] }
|
|
15
|
+
j4(arm3) { joint:hingeX A: "t(0 0 0.2) d(45 0 0 1)" limits:[-2 2] }
|
|
16
|
+
j5(arm4) { joint:quatBall A: "t(0 0 0.2) d(45 0 0 1)" limits:[0 -1 -1 -1 1.5 1 1 1] }
|
|
17
|
+
j6(arm5) { joint:hingeX A: "t(0 0 0.2) d(45 0 0 1)" limits:[-2 2] }
|
|
18
|
+
j7(arm6) { joint:hingeX A: "t(0 0 0.2) d(45 0 0 1)" limits:[-2 2] }
|
|
20
19
|
|
|
21
20
|
target: { X: "t(.7 -.5 1.2)", shape: sphere, size: [.05], color: [0, .5, 0] }
|
|
22
21
|
|
robotic/ry-h5info
CHANGED
|
@@ -2,29 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
import argparse
|
|
4
4
|
import h5py
|
|
5
|
+
from robotic.src.h5_helper import *
|
|
5
6
|
|
|
6
7
|
parser = argparse.ArgumentParser(description='h5-file info')
|
|
7
8
|
|
|
8
9
|
parser.add_argument('FILE', type=str,
|
|
9
10
|
help='h5-file name')
|
|
10
11
|
|
|
11
|
-
def print_attrs(name, obj):
|
|
12
|
-
if isinstance(obj, h5py.Dataset):
|
|
13
|
-
print(' ', name, obj.name, obj.shape, obj.dtype, f'{obj.size*obj.dtype.itemsize/1024:.2f}kB')
|
|
14
|
-
if obj.dtype=='int8':
|
|
15
|
-
print(' ', ''.join([chr(x) for x in obj[()]]))
|
|
16
|
-
elif obj.size<20:
|
|
17
|
-
print(' ', obj[()])
|
|
18
|
-
else:
|
|
19
|
-
print('---', name)
|
|
20
|
-
|
|
21
12
|
def main():
|
|
22
13
|
args = parser.parse_args()
|
|
23
14
|
|
|
24
15
|
print('=== file', args.FILE)
|
|
25
16
|
try:
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
h5 = H5Reader(args.FILE)
|
|
18
|
+
h5.print_info()
|
|
28
19
|
except KeyboardInterrupt:
|
|
29
20
|
sys.exit(1)
|
|
30
21
|
|