39#include <rclcpp/rclcpp.hpp>
43#include <sas_robot_driver/sas_robot_driver_server.hpp>
45using namespace rclcpp;
85 std::shared_ptr<Node> node_;
88 std::atomic_bool* kill_this_node_;
89 std::shared_ptr<ShutdownSignaler> shutdown_signaler_;
90 std::shared_ptr<RobotDriver> robot_driver_;
93 bool watchdog_started_;
94 double watchdog_period_in_seconds_;
95 double watchdog_maximum_acceptable_delay_in_seconds_;
96 bool _should_shutdown()
const;
111 const std::shared_ptr<RobotDriver>& robot_driver,
113 const std::shared_ptr<ShutdownSignaler>& shutdown_signaler_);
115 [[deprecated(
"Use RobotDriver(const std::shared_ptr<ShutdownSignaler>& shutdown_signaler_) instead.")]]
117 const std::shared_ptr<RobotDriver>& robot_driver,
119 std::atomic_bool* kill_this_node);
Definition sas_clock.hpp:46
ROS integration helper for a RobotDriver implementation.
Definition sas_robot_driver_ros.hpp:83
~RobotDriverROS()
Destructor; stops the control loop and performs cleanup.
Definition sas_robot_driver_ros.cpp:195
int control_loop()
Run the control loop.
Definition sas_robot_driver_ros.cpp:84
Server interface for robot driver ROS topics.
Definition sas_robot_driver_server.hpp:59
Timing utilities for control loops and statistics collection.
Abstract RobotDriver interface and watchdog support.
Cross-module shutdown signaling helper.
Configuration structure for RobotDriverROS.
Definition sas_robot_driver_ros.hpp:58
std::vector< double > q_max
Joint position maximum limits (q_max.size() == number of joints).
Definition sas_robot_driver_ros.hpp:72
std::string robot_driver_provider_prefix
Prefix that identifies the robot driver provider node/topic namespace.
Definition sas_robot_driver_ros.hpp:60
double watchdog_period_in_seconds
Watchdog period in seconds. If <= 0 the watchdog may be considered disabled.
Definition sas_robot_driver_ros.hpp:66
std::vector< double > q_min
Joint position minimum limits (q_min.size() == number of joints).
Definition sas_robot_driver_ros.hpp:69
double thread_sampling_time_sec
Control thread sampling time in seconds.
Definition sas_robot_driver_ros.hpp:63