Class ForwardControllersBase

Inheritance Relationships

Base Type

  • public controller_interface::ControllerInterface

Derived Types

Class Documentation

class ForwardControllersBase : public controller_interface::ControllerInterface

Forward command controller for a set of joints and interfaces.

This class forwards the command signal down to a set of joints or interfaces.

Subscribes to:

  • commands (std_msgs::msg::Float64MultiArray) : The commands to apply.

Subclassed by forward_command_controller::ForwardCommandController, forward_command_controller::MultiInterfaceForwardCommandController

Public Functions

FORWARD_COMMAND_CONTROLLER_PUBLIC ForwardControllersBase()
FORWARD_COMMAND_CONTROLLER_PUBLIC ~ForwardControllersBase() = default
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::InterfaceConfiguration command_interface_configuration () const override
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::InterfaceConfiguration state_interface_configuration () const override
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_init () override
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_configure (const rclcpp_lifecycle::State &previous_state) override
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_activate (const rclcpp_lifecycle::State &previous_state) override
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_deactivate (const rclcpp_lifecycle::State &previous_state) override
FORWARD_COMMAND_CONTROLLER_PUBLIC controller_interface::return_type update (const rclcpp::Time &time, const rclcpp::Duration &period) override

Protected Functions

virtual void declare_parameters() = 0

Derived controllers have to declare parameters in this method. Error handling does not have to be done. It is done in on_init-method of this class.

virtual controller_interface::CallbackReturn read_parameters() = 0

Derived controllers have to read parameters in this method and set command_interface_types_ variable. The variable is then used to propagate the command interface configuration to controller manager. The method is called from on_configure-method of this class.

It is expected that error handling of exceptions is done.

Returns:

controller_interface::CallbackReturn::SUCCESS if parameters are successfully read and their values are allowed, controller_interface::CallbackReturn::ERROR otherwise.

Protected Attributes

std::vector<std::string> joint_names_
std::string interface_name_
std::vector<std::string> command_interface_types_
realtime_tools::RealtimeBuffer<std::shared_ptr<CmdType>> rt_command_ptr_
rclcpp::Subscription<CmdType>::SharedPtr joints_command_subscriber_