AUTh-ARL Core Stack
0.7
|
Implements a Cartesian Impedance Controller, assuming that the robot supports this mode. More...
#include <cartesian_impedance.h>
Public Member Functions | |
CartesianImpedance (std::shared_ptr< arl::robot::Robot > robot) | |
void | init () |
Initializes the controller. More... | |
void | update () |
Performs the necessary calculations of the controller. More... | |
void | command () |
Commands the robot. More... | |
bool | stop () |
Implements the stopping condition of your controller. More... | |
void | measure () |
Measures the desired data. More... | |
Public Member Functions inherited from arl::robot::Controller | |
Controller (std::shared_ptr< Robot > r, const std::string &name, Timing timing=FIXED) | |
Constructor which initializes the robot controller. More... | |
~Controller () | |
bool | run () |
The main function that runs the controller. More... | |
bool | runRT () |
Runs the controller with real time priority. More... | |
void | setExternalStop (bool arg) |
Sets an external stop to the controller. Another external thread can use this function to stop the controller. More... | |
std::string | getName () |
Returns the name of the controller. More... | |
double | getTime () const |
Returns the current time since the start of the controller in seconds. More... | |
virtual void | enableLogging (const std::string &log_path="/home/user/autharl_logfiles/") |
Enables the logging by opening files for log benchmarking times and data. More... | |
virtual void | reference (const arma::mat &ref) |
Additional Inherited Members | |
Public Types inherited from arl::robot::Controller | |
enum | Timing { FIXED, DYNAMIC } |
Protected Member Functions inherited from arl::robot::Controller | |
virtual bool | success () |
Implements the success condition of your controller. More... | |
virtual void | waitNextCycle () |
Sets a new reference for the controller. More... | |
Protected Attributes inherited from arl::robot::Controller | |
std::string | name |
The name of the controller. More... | |
bool | external_stop |
The external stopped setted by Controller::setExternalStop() More... | |
std::shared_ptr< Robot > | robot |
The pointer to the robot to be controlled. More... | |
double | t |
The current time t, with t = 0 when the controller is created. Alternatively the user can initialize time durint the init() function of its derived controller. More... | |
double | dt |
The cycle time of the control loop, obtained by the robot. More... | |
bool | stop_flag_ |
utils::Timer | timer |
Used for measuring the current time of the controller. More... | |
utils::Timer | benchmark_total_timer_ |
utils::Timer | benchmark_timer_ |
io::Logger | benchmark_logger_ |
io::Logger | logger_ |
Timing | timing_ |
Implements a Cartesian Impedance Controller, assuming that the robot supports this mode.
|
explicit |
|
virtual |
Commands the robot.
Implemented according to your controller needs. Basically makes calls to functions of the Robot class, like sending new desired joint torques or joint positions. These desired signals can be stored in internal variables and should have been calculated based on the measurements of the Controller::measure() and the calculations of the Controller::update()
Reimplemented from arl::robot::Controller.
|
virtual |
Initializes the controller.
Implemented according to your controller needs. Common use cases involve sending a the robot in an initial configuration, setting the robot mode (to position or torque control) or setting the paramters and gains of your controller.
Reimplemented from arl::robot::Controller.
|
virtual |
Measures the desired data.
Implemented according to your controller needs. Basically makes calls to functions of the Robot class and store them to internal variables, like the joint positions of the robot, the task pose of a robotic arm etc.
Reimplemented from arl::robot::Controller.
|
virtual |
Implements the stopping condition of your controller.
Implemented according to your controller needs. Common use cases involve stopping conditions like your robot has zero velocity, the robot hardware signals an error or dangerous movements indicates the immediate stop.
Reimplemented from arl::robot::Controller.
|
virtual |
Performs the necessary calculations of the controller.
Implemented according to your controller needs. The calculations can use the measurements from the Controller::measure() which is stored in internal variables and store the results for the Controller::command() to use.
Implements arl::robot::Controller.