AUTh-ARL Core Stack
0.7
|
Implements a Joint Trajectory controller. More...
#include <joint_trajectory.h>
Public Member Functions | |
JointTrajectory (std::shared_ptr< arl::robot::Robot > robot, robot::Controller::Timing timing=robot::Controller::Timing::FIXED) | |
The default constructor. More... | |
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 | reference (const primitive::JointTrajectory &reference) |
void | reference (const arma::vec &reference, double duration) |
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 | measure () |
Measures the desired data. 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 Trajectory controller.
|
explicit |
The default constructor.
robot | A pointer to the robot to control |
timing | The type of timing. Could be DYNAMIC or FIXED. See arl::robot::Controller. Use FIXED timing in real time controlled robots like KUKA LWR and DYNAMIC in non realtime-controlled robots like BarrettHand. |
|
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.
void arl::controller::JointTrajectory::reference | ( | const primitive::JointTrajectory & | reference | ) |
void arl::controller::JointTrajectory::reference | ( | const arma::vec & | reference, |
double | duration | ||
) |
|
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.