AUTh-ARL Core Stack
0.7
|
Implements a Joint Admittance Controller for BarrettHand. More...
#include <joint_admittance.h>
Public Member Functions | |
JointAdmittance (std::shared_ptr< arl::robot::Robot > robot) | |
void | measure () |
Measures the desired data. More... | |
void | update () |
Performs the necessary calculations of the controller. More... | |
void | command () |
Commands the robot. More... | |
void | init () |
Initializes the controller. 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 | stop () |
Implements the stopping condition of your controller. More... | |
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 Joint Admittance Controller for BarrettHand.
arl::bhand::controller::JointAdmittance::JointAdmittance | ( | std::shared_ptr< arl::robot::Robot > | robot | ) |
|
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 |
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.