Class RosbotSystem

Inheritance Relationships

Base Type

  • public hardware_interface::SystemInterface

Class Documentation

class RosbotSystem : public hardware_interface::SystemInterface

Public Functions

ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_init (const hardware_interface::HardwareInfo &hardware_info) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_configure (const rclcpp_lifecycle::State &previous_state) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_cleanup (const rclcpp_lifecycle::State &previous_state) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_activate (const rclcpp_lifecycle::State &previous_state) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_deactivate (const rclcpp_lifecycle::State &previous_state) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_shutdown (const rclcpp_lifecycle::State &previous_state) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC CallbackReturn on_error (const rclcpp_lifecycle::State &previous_state) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC std::vector< StateInterface > export_state_interfaces () override
ROSBOT_HARDWARE_INTERFACES_PUBLIC std::vector< CommandInterface > export_command_interfaces () override
ROSBOT_HARDWARE_INTERFACES_PUBLIC return_type read (const rclcpp::Time &time, const rclcpp::Duration &period) override
ROSBOT_HARDWARE_INTERFACES_PUBLIC return_type write (const rclcpp::Time &time, const rclcpp::Duration &period) override

Protected Functions

void cleanup_node()
void motor_state_cb(const std::shared_ptr<JointState> msg)

Protected Attributes

realtime_tools::RealtimeThreadSafeBox<std::shared_ptr<JointState>> received_motor_state_msg_ptr_ = {nullptr}
std::shared_ptr<rclcpp::Publisher<Float32MultiArray>> motor_command_publisher_ = nullptr
std::shared_ptr<realtime_tools::RealtimePublisher<Float32MultiArray>> realtime_motor_command_publisher_ = nullptr
rclcpp::Subscription<JointState>::SharedPtr motor_state_subscriber_ = nullptr
std::map<std::string, double> vel_commands_
std::map<std::string, double> pos_state_
std::map<std::string, double> vel_state_
bool subscriber_is_active_ = false
std::shared_ptr<rclcpp::Node> node_
rclcpp::executors::MultiThreadedExecutor executor_
std::unique_ptr<std::thread> executor_thread_
std::vector<std::string> velocity_command_joint_order_
uint connection_check_period_ms_
uint connection_timeout_ms_