33 #include <Rcs_macros.h> 34 #include <Rcs_typedef.h> 42 ball = RcsGraph_getBodyByName(graph,
"Ball");
58 double ballPosHalfSpanX = 1e-6;
59 double ballPosHalfSpanY = 1e-2;
60 double jointAngHalfSpan = 1e-6;
62 min[0] = 0.304096 - ballPosHalfSpanX;
63 max[0] = 0.304096 + ballPosHalfSpanX;
64 min[1] = 1.29785 - ballPosHalfSpanY;
65 max[1] = 1.29785 + ballPosHalfSpanY;
66 min[2] = RCS_DEG2RAD(18.996253 - jointAngHalfSpan);
67 max[2] = RCS_DEG2RAD(18.996253 + jointAngHalfSpan);
68 min[3] = RCS_DEG2RAD(-87.227101 - jointAngHalfSpan);
69 max[3] = RCS_DEG2RAD(-87.227101 + jointAngHalfSpan);
70 min[4] = RCS_DEG2RAD(74.149568 - jointAngHalfSpan);
71 max[4] = RCS_DEG2RAD(74.149568 + jointAngHalfSpan);
72 min[5] = RCS_DEG2RAD(-75.577025 - jointAngHalfSpan);
73 max[5] = RCS_DEG2RAD(-75.577025 + jointAngHalfSpan);
74 min[6] = RCS_DEG2RAD(56.207369 - jointAngHalfSpan);
75 max[6] = RCS_DEG2RAD(56.207369 + jointAngHalfSpan);
76 min[7] = RCS_DEG2RAD(-175.162794 - jointAngHalfSpan);
77 max[7] = RCS_DEG2RAD(-175.162794 + jointAngHalfSpan);
78 min[8] = RCS_DEG2RAD(-41.543793 - jointAngHalfSpan);
79 max[8] = RCS_DEG2RAD(-41.543793 + jointAngHalfSpan);
84 return {
"ball_x",
"ball_y",
"base-m3",
"m3-m4",
"m4-m5",
"m5-m6",
"m6-m7",
"m7-m8",
"m8-m9"};
90 double* ballRBJ = &
graph->q->ele[
ball->jnt->jointIndex];
92 ballRBJ[0] = 0.304096;
94 RcsGraph_setJoint(
graph,
"base-m3", RCS_DEG2RAD(18.996253));
95 RcsGraph_setJoint(
graph,
"m3-m4", RCS_DEG2RAD(-87.227101));
96 RcsGraph_setJoint(
graph,
"m4-m5", RCS_DEG2RAD(74.149568));
97 RcsGraph_setJoint(
graph,
"m5-m6", RCS_DEG2RAD(-75.577025));
98 RcsGraph_setJoint(
graph,
"m6-m7", RCS_DEG2RAD(56.207369));
99 RcsGraph_setJoint(
graph,
"m7-m8", RCS_DEG2RAD(-175.162794));
100 RcsGraph_setJoint(
graph,
"m8-m9", RCS_DEG2RAD(-41.543793));
103 ballRBJ[0] = initialState->ele[0];
104 ballRBJ[1] = initialState->ele[1];
105 RcsGraph_setJoint(
graph,
"base-m3", initialState->ele[2]);
106 RcsGraph_setJoint(
graph,
"m3-m4", initialState->ele[3]);
107 RcsGraph_setJoint(
graph,
"m4-m5", initialState->ele[4]);
108 RcsGraph_setJoint(
graph,
"m5-m6", initialState->ele[5]);
109 RcsGraph_setJoint(
graph,
"m6-m7", initialState->ele[6]);
110 RcsGraph_setJoint(
graph,
"m7-m8", initialState->ele[7]);
111 RcsGraph_setJoint(
graph,
"m8-m9", initialState->ele[8]);
void getMinMax(double *min, double *max) const override
void applyInitialState(const MatNd *initialState) override
ISSMiniGolf(RcsGraph *graph, bool fixedInitState)
unsigned int getDim() const override
virtual std::vector< std::string > getNames() const