33 #include <Rcs_macros.h> 34 #include <Rcs_typedef.h> 42 platform = RcsGraph_getBodyByName(graph,
"ImetronPlatform");
44 rail = RcsGraph_getBodyByName(graph,
"RailBot");
64 min[2] = RCS_DEG2RAD(-5.);
65 max[2] = RCS_DEG2RAD(5.);
72 return {
"base_x",
"base_y",
"base_theta",
"rail_z"};
81 b0 = RcsGraph_setJoint(
graph,
"DofBaseX", -0.2);
82 b1 = RcsGraph_setJoint(
graph,
"DofBaseY", 0.);
83 b2 = RcsGraph_setJoint(
graph,
"DofBaseThZ", 0.);
84 b3 = RcsGraph_setJoint(
graph,
"DofChestZ", 0.85);
87 b0 = RcsGraph_setJoint(
graph,
"DofBaseX", initialState->ele[0]);
88 b1 = RcsGraph_setJoint(
graph,
"DofBaseY", initialState->ele[1]);
89 b2 = RcsGraph_setJoint(
graph,
"DofBaseThZ", initialState->ele[2]);
90 b3 = RcsGraph_setJoint(
graph,
"DofChestZ", initialState->ele[3]);
93 if (!(b0 && b1 && b2 && b3)) {
94 throw std::invalid_argument(
"Setting graph failed for at least one of the joints!");
ISSBallInTube(RcsGraph *graph, bool fixedInitState)
void getMinMax(double *min, double *max) const override
unsigned int getDim() const override
virtual std::vector< std::string > getNames() const
void applyInitialState(const MatNd *initialState) override