robotic 0.2.6__cp311-cp311-manylinux2014_x86_64.whl → 0.2.7__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/_robotic.pyi +58 -23
- robotic/_robotic.so +0 -0
- robotic/include/rai/Control/CtrlTargets.h +3 -3
- robotic/include/rai/Core/array.h +3 -3
- robotic/include/rai/Core/arrayDouble.h +0 -3
- robotic/include/rai/DataGen/rndStableConfigs.h +0 -1
- robotic/include/rai/Geo/mesh.h +1 -1
- robotic/include/rai/Geo/signedDistanceFunctions.h +1 -1
- robotic/include/rai/Gui/RenderData.h +2 -1
- robotic/include/rai/KOMO/komo.h +1 -0
- robotic/include/rai/KOMO/manipTools.h +12 -10
- robotic/include/rai/KOMO/{opt-benchmarks.h → testProblems_KOMO.h} +36 -0
- robotic/include/rai/Kin/F_geometrics.h +9 -0
- robotic/include/rai/Kin/featureSymbols.h +6 -1
- robotic/include/rai/Kin/frame.h +1 -1
- robotic/include/rai/Kin/kin.h +1 -0
- robotic/include/rai/Kin/simulation.h +1 -0
- robotic/include/rai/Kin/viewer.h +1 -1
- robotic/include/rai/LGP/LGP_Tool.h +6 -6
- robotic/include/rai/Optim/NLP_Sampler.h +4 -4
- robotic/include/rai/Optim/NLP_Solver.h +1 -0
- robotic/include/rai/Optim/SlackGaussNewton.h +54 -0
- robotic/include/rai/Optim/gradient.h +2 -2
- robotic/include/rai/Optim/opt-ipopt.h +1 -1
- robotic/include/rai/Optim/options.h +8 -7
- robotic/include/rai/Optim/{benchmarks.h → testProblems_Opt.h} +33 -16
- robotic/librai.so +0 -0
- robotic/manipulation.py +139 -145
- robotic/meshTool +0 -0
- robotic/rai-robotModels/panda/panda.g +3 -2
- robotic/rai-robotModels/scenarios/ballFinger.g +3 -3
- robotic/rai-robotModels/scenarios/mobilePanda.g +3 -0
- robotic/rai-robotModels/scenarios/pendulum.g +3 -2
- robotic/rai-robotModels/tests/arm.g +7 -7
- robotic/ry-h5info.py +28 -0
- robotic/version.py +1 -1
- {robotic-0.2.6.dist-info → robotic-0.2.7.dist-info}/METADATA +1 -1
- {robotic-0.2.6.dist-info → robotic-0.2.7.dist-info}/RECORD +49 -53
- robotic/include/rai/MCTS/env_robert.h +0 -106
- robotic/include/rai/MCTS/problem_BlindBranch.h +0 -47
- robotic/include/rai/MCTS/solver_AStar.h +0 -90
- robotic/include/rai/MCTS/solver_MBTS.h +0 -109
- robotic/include/rai/MCTS/solver_PlainMC.h +0 -58
- robotic/include/rai/MCTS/solver_marc.h +0 -63
- /robotic/include/rai/Geo/{geoOptim.h → testProblems_Geo.h} +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-bot +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-info +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-meshTool +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-test +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-urdf2rai +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-urdf2yaml +0 -0
- {robotic-0.2.6.data → robotic-0.2.7.data}/scripts/ry-view +0 -0
- {robotic-0.2.6.dist-info → robotic-0.2.7.dist-info}/LICENSE +0 -0
- {robotic-0.2.6.dist-info → robotic-0.2.7.dist-info}/WHEEL +0 -0
- {robotic-0.2.6.dist-info → robotic-0.2.7.dist-info}/top_level.txt +0 -0
|
@@ -1,109 +0,0 @@
|
|
|
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
|
-
#include "../Logic/treeSearchDomain.h"
|
|
12
|
-
#include "../Core/graph.h"
|
|
13
|
-
#include "../Algo/priorityQueue.h"
|
|
14
|
-
|
|
15
|
-
//===========================================================================
|
|
16
|
-
|
|
17
|
-
struct MBTS;
|
|
18
|
-
struct MBTS_Node;
|
|
19
|
-
typedef rai::Array<MBTS_Node*> MBTS_NodeL;
|
|
20
|
-
|
|
21
|
-
//===========================================================================
|
|
22
|
-
|
|
23
|
-
struct MBTS_Node {
|
|
24
|
-
MBTS& MBTS;
|
|
25
|
-
TreeSearchDomain& world;
|
|
26
|
-
TreeSearchDomain::Handle action;
|
|
27
|
-
TreeSearchDomain::Handle state;
|
|
28
|
-
TreeSearchDomain::TransitionReturn ret;
|
|
29
|
-
|
|
30
|
-
MBTS_Node* parent;
|
|
31
|
-
rai::Array<MBTS_Node*> children;
|
|
32
|
-
|
|
33
|
-
uint d; ///< decision depth of this node
|
|
34
|
-
double time; ///< real time
|
|
35
|
-
|
|
36
|
-
arr g; ///< cost-so-far for each level
|
|
37
|
-
arr h; ///< cost-to-go heuristic for each level
|
|
38
|
-
|
|
39
|
-
boolA isEvaluated; ///< for each level
|
|
40
|
-
boolA isInfeasible; ///< for each level
|
|
41
|
-
bool isTerminal=false; ///< for logic level only
|
|
42
|
-
|
|
43
|
-
/// root node init
|
|
44
|
-
MBTS_Node(MBTS& MBTS, TreeSearchDomain& world);
|
|
45
|
-
|
|
46
|
-
/// child node creation
|
|
47
|
-
MBTS_Node(MBTS_Node* parent, const TreeSearchDomain::Handle& a);
|
|
48
|
-
|
|
49
|
-
~MBTS_Node() { NIY; }
|
|
50
|
-
|
|
51
|
-
//- computations on the node
|
|
52
|
-
void expand(); ///< expand this node (symbolically: compute possible decisions and add their effect nodes)
|
|
53
|
-
|
|
54
|
-
virtual void evaluate(int level=-1) { NIY; }
|
|
55
|
-
|
|
56
|
-
//-- helpers
|
|
57
|
-
void labelInfeasible(); ///< sets the infeasible label AND removes all children!
|
|
58
|
-
MBTS_NodeL getTreePath(); ///< return the decision path in terms of a list of nodes (just walking to the root)
|
|
59
|
-
MBTS_Node* getRoot(); ///< return the decision path in terms of a list of nodes (just walking to the root)
|
|
60
|
-
void getAllChildren(MBTS_NodeL& tree);
|
|
61
|
-
|
|
62
|
-
bool recomputeAllFolStates();
|
|
63
|
-
void recomputeAllMCStats(bool excludeLeafs=true);
|
|
64
|
-
|
|
65
|
-
void checkConsistency();
|
|
66
|
-
|
|
67
|
-
void write(ostream& os=cout, bool recursive=false) const;
|
|
68
|
-
void getGraph(Graph& G, Node* n=nullptr);
|
|
69
|
-
Graph getGraph() { Graph G; getGraph(G, nullptr); G.checkConsistency(); return G; }
|
|
70
|
-
|
|
71
|
-
void getAll(MBTS_NodeL& L);
|
|
72
|
-
MBTS_NodeL getAll() { MBTS_NodeL L; getAll(L); return L; }
|
|
73
|
-
};
|
|
74
|
-
stdOutPipe(MBTS_Node)
|
|
75
|
-
|
|
76
|
-
//===========================================================================
|
|
77
|
-
|
|
78
|
-
struct MBTS_Heuristic {
|
|
79
|
-
struct Return {
|
|
80
|
-
double g;
|
|
81
|
-
double h;
|
|
82
|
-
bool terminal;
|
|
83
|
-
bool feasible;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
virtual ~MBTS_Heuristic() {}
|
|
87
|
-
virtual Return evaluate(MBTS_Node* n, int level);
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
//===========================================================================
|
|
91
|
-
|
|
92
|
-
struct MBTS {
|
|
93
|
-
MBTS_Node* root;
|
|
94
|
-
rai::Array<PriorityQueue<MBTS_Node*>> queue; //for each level
|
|
95
|
-
MBTS_Heuristic& heuristic;
|
|
96
|
-
|
|
97
|
-
rai::Array<MBTS_Node*> solutions;
|
|
98
|
-
uint size, depth;
|
|
99
|
-
|
|
100
|
-
MBTS(TreeSearchDomain& world, MBTS_Heuristic& heuristic, uint L);
|
|
101
|
-
|
|
102
|
-
bool step(int level);
|
|
103
|
-
void run();
|
|
104
|
-
|
|
105
|
-
void reportQueue();
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
//===========================================================================
|
|
109
|
-
|
|
@@ -1,58 +0,0 @@
|
|
|
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
|
-
#include "../Logic/treeSearchDomain.h"
|
|
12
|
-
#include "../Core/array.h"
|
|
13
|
-
#include "../Core/graph.h"
|
|
14
|
-
|
|
15
|
-
//===========================================================================
|
|
16
|
-
|
|
17
|
-
// stored per node, or at root only, or root and its children
|
|
18
|
-
struct MCStatistics {
|
|
19
|
-
uint n;
|
|
20
|
-
arr X;
|
|
21
|
-
MCStatistics():n(0) {}
|
|
22
|
-
void clear() { X.clear(); n=0; }
|
|
23
|
-
void add(double R, uint topSize=10);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
//===========================================================================
|
|
27
|
-
|
|
28
|
-
struct PlainMC {
|
|
29
|
-
|
|
30
|
-
rai::TreeSearchDomain& world;
|
|
31
|
-
rai::Array<rai::TreeSearchDomain::Handle> A; ///< what decisions do we have in the start state
|
|
32
|
-
rai::Array<MCStatistics> D; ///< data of returns for all first actions
|
|
33
|
-
MCStatistics Droot;
|
|
34
|
-
double gamma;
|
|
35
|
-
int verbose;
|
|
36
|
-
uint topSize;
|
|
37
|
-
StringA blackList;
|
|
38
|
-
|
|
39
|
-
//partly internal: results of a rollout
|
|
40
|
-
uint rolloutStep;
|
|
41
|
-
double rolloutR, rolloutDiscount;
|
|
42
|
-
rai::Array<rai::TreeSearchDomain::Handle> rolloutDecisions;
|
|
43
|
-
|
|
44
|
-
PlainMC(rai::TreeSearchDomain& world);
|
|
45
|
-
void reset();
|
|
46
|
-
|
|
47
|
-
double initRollout(const rai::Array<rai::TreeSearchDomain::Handle>& prefixDecisions);
|
|
48
|
-
double finishRollout(int stepAbort=-1);
|
|
49
|
-
double generateRollout(int stepAbort=-1, const rai::Array<rai::TreeSearchDomain::Handle>& prefixDecisions= {});
|
|
50
|
-
double addRollout(int stepAbort=-1); ///< adds one more rollout to the tree
|
|
51
|
-
void addReturnToStatistics(double R, rai::TreeSearchDomain::Handle decision, int decisionIndex=-1);
|
|
52
|
-
void report();
|
|
53
|
-
uint getBestActionIdx();
|
|
54
|
-
rai::TreeSearchDomain::Handle getBestAction();
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
//===========================================================================
|
|
58
|
-
|
|
@@ -1,63 +0,0 @@
|
|
|
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
|
-
#include "../Logic/treeSearchDomain.h"
|
|
12
|
-
#include "../Core/array.h"
|
|
13
|
-
#include "../Core/graph.h"
|
|
14
|
-
|
|
15
|
-
//===========================================================================
|
|
16
|
-
|
|
17
|
-
struct MCTS_Node {
|
|
18
|
-
MCTS_Node* parent;
|
|
19
|
-
rai::Array<MCTS_Node*> children;
|
|
20
|
-
rai::TreeSearchDomain::Handle decision; ///< what decision (relative to the parent) does this node represent
|
|
21
|
-
|
|
22
|
-
double Qup, Qme, Qlo; ///< upper, mean, and lower Q estimates
|
|
23
|
-
double r, R; ///< last and total immediate rewards
|
|
24
|
-
uint N; ///< # of visits (to normalize immediate rewards)
|
|
25
|
-
double Q; ///< total (on-policy) returns
|
|
26
|
-
|
|
27
|
-
uint t; ///< depth of this node
|
|
28
|
-
void* data; ///< dummy helper (to convert to other data structures)
|
|
29
|
-
|
|
30
|
-
MCTS_Node(MCTS_Node* parent, rai::TreeSearchDomain::Handle decision):parent(parent), decision(decision), Qup(0.), Qme(0.), Qlo(0.), r(0.), R(0.), N(0), Q(0.), t(0), data(nullptr) {
|
|
31
|
-
if(parent) {
|
|
32
|
-
t=parent->t+1;
|
|
33
|
-
parent->children.append(this);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
//===========================================================================
|
|
39
|
-
|
|
40
|
-
struct MCTS {
|
|
41
|
-
rai::TreeSearchDomain& world;
|
|
42
|
-
MCTS_Node root;
|
|
43
|
-
int verbose;
|
|
44
|
-
double beta;
|
|
45
|
-
|
|
46
|
-
MCTS(rai::TreeSearchDomain& world):world(world), root(nullptr, nullptr), verbose(2), beta(2.) {}
|
|
47
|
-
|
|
48
|
-
void addRollout(int stepAbort=-1); ///< adds one more rollout to the tree
|
|
49
|
-
MCTS_Node* treePolicy(MCTS_Node* n); ///< policy to choose the child from which to do a rollout or to expand
|
|
50
|
-
double Qvalue(MCTS_Node* n, int optimistic); ///< current value estimates at a node
|
|
51
|
-
arr Qfunction(MCTS_Node* n=nullptr, int optimistic=0); ///< the Q-function (value estimates of all children) at a node
|
|
52
|
-
arr Qvariance(MCTS_Node* n=nullptr);
|
|
53
|
-
void reportQ(ostream& os, MCTS_Node* n=nullptr);
|
|
54
|
-
uint Nnodes(MCTS_Node* n=nullptr, bool subTree=true);
|
|
55
|
-
void reportDecisions(ostream& os, MCTS_Node* n=nullptr);
|
|
56
|
-
|
|
57
|
-
//only to display
|
|
58
|
-
void writeToGraph(rai::Graph& G, MCTS_Node* n=nullptr);
|
|
59
|
-
rai::Graph getGraph() { rai::Graph G; writeToGraph(G); return G; }
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
//===========================================================================
|
|
63
|
-
|
|
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
|
|
File without changes
|