summaryrefslogtreecommitdiff
path: root/LocomotorPrimitivesController.h
blob: 6c52fda5062b6385c5b368625a1248a04b8b3e8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef LOCOMOTORPRIMITIVES_CONTROLLER_H_
#define LOCOMOTORPRIMITIVES_CONTROLLER_H_

#include <OpenSim/OpenSim.h>
#include "MuscleEMGProfile.h"

class LocomotorPrimitivesController : public OpenSim::Controller {
OpenSim_DECLARE_CONCRETE_OBJECT(LocomotorPrimitivesController, OpenSim::Controller);

public:
	LocomotorPrimitivesController(OpenSim::Storage act, double alpha) : OpenSim::Controller(), _act(act), _alpha(alpha) { }

	int loadCsvData(const std::string &muscleName, const std::string &file);
	void computeControls(const SimTK::State &s, SimTK::Vector &controls) const;
private:
	double _alpha;

	OpenSim::Storage _act;
};

#endif /* LOCOMOTORPRIMITIVES_CONTROLLER_H_ */