|
|
| RobotDriverPy (const std::shared_ptr< ShutdownSignaler > &ss) |
| |
| VectorXd | get_joint_positions () override |
| | Get current joint positions.
|
| |
| void | set_target_joint_positions (const VectorXd &set_target_joint_positions_rad) override |
| | Set target joint positions.
|
| |
| VectorXd | get_joint_velocities () override |
| | Get current joint velocities.
|
| |
| void | set_target_joint_velocities (const VectorXd &set_target_joint_velocities) override |
| | Set target joint velocities.
|
| |
| VectorXd | get_joint_torques () override |
| | Get current joint torques.
|
| |
| void | set_target_joint_torques (const VectorXd &set_target_joint_torques) override |
| | Set target joint torques.
|
| |
| void | set_joint_limits (const std::tuple< VectorXd, VectorXd > &joint_limits) override |
| | Set joint limits (min, max)
|
| |
| void | connect () override |
| | Connect to the underlying robot/hardware.
|
| |
| void | disconnect () override |
| | Disconnect from the underlying robot/hardware.
|
| |
| void | initialize () override |
| | Initialize the driver resources.
|
| |
| void | deinitialize () override |
| | Deinitialize the driver resources.
|
| |
|
| ~RobotDriver () |
| | Virtual destructor for RobotDriver.
|
| |
| virtual std::tuple< VectorXd, VectorXd > | get_joint_limits () |
| | Get joint limits (min, max)
|
| |
| void | watchdog_start (const std::chrono::nanoseconds &period) |
| | Start the watchdog thread with the given period.
|
| |
| void | watchdog_trigger (const std::chrono::time_point< std::chrono::system_clock, std::chrono::nanoseconds > &time_point_from_the_client, const std::chrono::time_point< std::chrono::system_clock, std::chrono::nanoseconds > &time_point_from_the_server, const bool &status) |
| | Trigger the watchdog with timestamps from client/server and the current status.
|
| |
| void | watchdog_set_maximum_acceptable_delay (const double &max_acceptable_delay) |
| | Set the maximum acceptable delay for the watchdog (seconds)
|
| |
| void | check_for_watchdog_exceptions () |
| | Check for exceptions thrown by the watchdog thread and rethrow if present.
|
| |
|
| enum class | Functionality {
None =0
, PositionControl
, VelocityControl
, ForceControl
,
Homing
, ClearPositions
, Watchdog
} |
| | Enumeration of optional driver functionalities.
|
| |
|
void | _watchdog_thread_function () |
| | RobotDriver::_watchdog_thread_function throws an exception if the elapsed time since the last trigger exceeds the specified period.
|
| |
|
| RobotDriver (const std::shared_ptr< ShutdownSignaler > &shutdown_signaler_) |
| |
|
| RobotDriver (std::atomic_bool *break_loops) |
| |
|
| RobotDriver (const RobotDriver &)=delete |
| |
|
std::atomic_bool * | break_loops_ |
| |
|
std::shared_ptr< ShutdownSignaler > | shutdown_signaler_ |
| |
|
std::tuple< VectorXd, VectorXd > | joint_limits_ |
| |
|
VectorXd | joint_velocities_ |
| |
|
VectorXd | joint_torques_ |
| |
|
std::unique_ptr< sas::Clock > | clock_ |
| |
|
std::unique_ptr< std::thread > | watchdog_thread_ |
| |
|
std::chrono::time_point< std::chrono::system_clock, std::chrono::nanoseconds > | time_point_from_the_client_ |
| |
|
std::chrono::time_point< std::chrono::system_clock, std::chrono::nanoseconds > | time_point_from_the_server_ |
| |
|
bool | watchdog_status_ |
| |
|
std::mutex | mutex_watchdog_ |
| |
|
double | max_acceptable_delay_ = 0.1 |
| |
|
double | watchdog_period_ |
| |
|
std::exception_ptr | watchdog_exception_ {nullptr} |
| |
|
std::mutex | watchdog_exception_mutex_ |
| |