blmc_drivers
|
This is a simple PD control on one motor and one slider. More...
Public Member Functions | |
Controller (std::shared_ptr< blmc_drivers::Motor > motor, std::shared_ptr< blmc_drivers::AnalogSensor > analog_sensor) | |
Construct a new Controller object. More... | |
void | start_loop () |
main control loop | |
Static Public Member Functions | |
static THREAD_FUNCTION_RETURN_TYPE | loop (void *instance_pointer) |
this function is just a wrapper around the actual loop function, such that it can be spawned as a posix thread. | |
Private Member Functions | |
void | loop () |
this is a simple control loop which runs at a kilohertz. More... | |
Private Attributes | |
std::shared_ptr< blmc_drivers::Motor > | motor_ |
one motor. | |
std::shared_ptr< blmc_drivers::AnalogSensor > | analog_sensor_ |
one slider. | |
real_time_tools::RealTimeThread | rt_thread_ |
the realt time thread object. | |
This is a simple PD control on one motor and one slider.
|
inline |
Construct a new Controller object.
motor | |
analog_sensor |
|
inlineprivate |
this is a simple control loop which runs at a kilohertz.
it reads the measurement from the analog sensor, in this case the slider. then it scales it and sends it as the current target to the motor.