19 #ifndef JSON_CPG_CONTROL_H
20 #define JSON_CPG_CONTROL_H
31 #include "boost/multi_array.hpp"
37 #include <json/value.h>
47 typedef boost::multi_array<double, 2> array_2D;
48 typedef boost::multi_array<double, 4> array_4D;
76 double lp = -1 * M_PI,
87 const int segmentSpan;
88 const int theirMuscles;
91 const int segmentNumber;
94 const double controlTime;
100 const double highFreq;
101 const double lowPhase;
102 const double highPhase;
105 const double tension;
106 const double kPosition;
107 const double kVelocity;
108 const bool useDefault;
109 const double controlLength;
114 std::string resourcePath =
"");
124 const double getCPGValue(std::size_t i)
const;
126 double getScore()
const;
135 virtual array_2D scaleNodeActions (Json::Value actions);
141 std::vector<tgCPGActuatorControl*> m_allControllers;
145 std::vector<double> initConditions;
147 std::size_t segments;
153 std::vector<double> scores;
157 std::string controlFilename;
158 std::string controlFilePath;
161 #endif // BASE_SPINE_CPG_CONTROL_H
virtual void onStep(BaseSpineModelLearning &subject, double dt)
Definition of tgObserver class.
virtual array_4D scaleEdgeActions(Json::Value edgeParam)
Definition of tgSubject class.
Config(int ss, int tm, int om, int param, int segnum=6, double ct=0.1, double la=0, double ha=30, double lp=-1 *M_PI, double hp=M_PI, double kt=0.0, double kp=1000.0, double kv=100.0, bool def=true, double cl=10.0, double lf=0.0, double hf=30.0)
virtual void onTeardown(BaseSpineModelLearning &subject)
virtual void setupCPGs(BaseSpineModelLearning &subject, array_2D nodeActions, array_4D edgeActions)
Definition of tgObserver class.
JSONCPGControl(JSONCPGControl::Config config, std::string args, std::string resourcePath="")
virtual void onSetup(BaseSpineModelLearning &subject)