|
sas
Modularised monitoring, logging, and control of robots.
|
Public Member Functions | |
| RobotDriverUR (const RobotDriverUR &)=delete | |
| RobotDriverUR (const RobotDriverURConfiguration &configuration, std::atomic_bool *break_loops) | |
| VectorXd | get_joint_positions () override |
| Get current joint positions. | |
| void | set_target_joint_positions (const VectorXd &desired_joint_positions_rad) override |
| Set target joint positions. | |
| VectorXd | get_joint_velocities () override |
| Get current joint velocities. | |
| 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. | |
Public Member Functions inherited from sas::RobotDriver | |
| ~RobotDriver () | |
| Virtual destructor for RobotDriver. | |
| virtual void | set_target_joint_velocities (const VectorXd &set_target_joint_velocities) |
| Set target joint velocities. | |
| virtual VectorXd | get_joint_torques () |
| Get current joint torques. | |
| virtual void | set_target_joint_torques (const VectorXd &set_target_joint_torques) |
| Set target joint torques. | |
| virtual std::tuple< VectorXd, VectorXd > | get_joint_limits () |
| Get joint limits (min, max) | |
| virtual void | set_joint_limits (const std::tuple< VectorXd, VectorXd > &joint_limits) |
| Set 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. | |
Additional Inherited Members | |
Public Types inherited from sas::RobotDriver | |
| enum class | Functionality { None =0 , PositionControl , VelocityControl , ForceControl , Homing , ClearPositions , Watchdog } |
| Enumeration of optional driver functionalities. | |
Protected Member Functions inherited from sas::RobotDriver | |
| 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 | |
Protected Attributes inherited from sas::RobotDriver | |
| 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_ |
|
overridevirtual |
Connect to the underlying robot/hardware.
Implements sas::RobotDriver.
|
overridevirtual |
Deinitialize the driver resources.
Implements sas::RobotDriver.
|
overridevirtual |
Disconnect from the underlying robot/hardware.
Implements sas::RobotDriver.
|
overridevirtual |
Get current joint positions.
Implements sas::RobotDriver.
|
overridevirtual |
Get current joint velocities.
Reimplemented from sas::RobotDriver.
|
overridevirtual |
Initialize the driver resources.
Implements sas::RobotDriver.
|
overridevirtual |
Set target joint positions.
| set_target_joint_positions_rad | Target joint positions (radians) |
Implements sas::RobotDriver.