1#include "controllers_bindings.h"
3#include <controllers/ControllerFactory.hpp>
4#include <controllers/IController.hpp>
5#include <robot_model/Model.hpp>
6#include <state_representation/space/joint/JointState.hpp>
8#include "py_controller.h"
11using namespace py_parameter;
13void joint_controller(py::module_& m) {
14 py::object parameter_map = py::module_::import(
"state_representation").attr(
"ParameterMap");
15 py::class_<IController<JointState>, std::shared_ptr<IController<JointState>>,
PyController<JointState>> c(m,
"IJointController", parameter_map);
19 "Compute the command output based on the commanded state and a feedback state.",
"command_state"_a,
"feedback_state"_a);
25void bind_joint_controllers(py::module_& m) {
28 m.def(
"create_joint_controller", [](
CONTROLLER_TYPE type,
const std::list<ParameterContainer>& parameters,
unsigned int dimensions = 6) -> py::object {
30 },
"Create a controller of the desired type with initial parameters.",
"type"_a,
"parameters"_a,
"dimensions"_a = int(6));
32 m.def(
"create_joint_controller", [](
CONTROLLER_TYPE type,
unsigned int dimensions = 6) -> py::object {
34 },
"Create a controller of the desired type.",
"type"_a,
"dimensions"_a = int(6));
38 },
"Create a controller of the desired type with initial parameters and an associated robot model.",
"type"_a,
"parameters"_a,
"robot_model"_a);
42 },
"Create a controller of the desired type with an associated robot model.",
"type"_a,
"robot_model"_a);
static std::shared_ptr< IController< S > > create_controller(CONTROLLER_TYPE type, unsigned int dimensions=6)
Create a controller of the desired type.
Abstract class to define a controller in a desired state type, such as joint or Cartesian spaces.
The Model class is a wrapper around pinocchio dynamic computation library with state_representation e...
CONTROLLER_TYPE
Enumeration of the implemented controllers.
Robot kinematics and dynamics.
Core state variables and objects.