ros2_control - rolling
|
Public Member Functions | |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::CallbackReturn | on_init () override |
Extending interface with initialization method which is individual for each controller. | |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::InterfaceConfiguration | command_interface_configuration () const override |
Get configuration for controller's required command interfaces. More... | |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::InterfaceConfiguration | state_interface_configuration () const override |
Get configuration for controller's required state interfaces. More... | |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::CallbackReturn | on_cleanup (const rclcpp_lifecycle::State &previous_state) override |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::CallbackReturn | on_configure (const rclcpp_lifecycle::State &previous_state) override |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::CallbackReturn | on_activate (const rclcpp_lifecycle::State &previous_state) override |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::CallbackReturn | on_deactivate (const rclcpp_lifecycle::State &previous_state) override |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::return_type | update_reference_from_subscribers (const rclcpp::Time &time, const rclcpp::Duration &period) override |
Update reference from input topics when not in chained mode. More... | |
PID_CONTROLLER__VISIBILITY_PUBLIC controller_interface::return_type | update_and_write_commands (const rclcpp::Time &time, const rclcpp::Duration &period) override |
Execute calculations of the controller and update command interfaces. More... | |
Public Member Functions inherited from controller_interface::ChainableControllerInterface | |
CONTROLLER_INTERFACE_PUBLIC return_type | update (const rclcpp::Time &time, const rclcpp::Duration &period) final |
CONTROLLER_INTERFACE_PUBLIC bool | is_chainable () const final |
Get information if a controller is chainable. More... | |
CONTROLLER_INTERFACE_PUBLIC std::vector< hardware_interface::StateInterface::ConstSharedPtr > | export_state_interfaces () final |
CONTROLLER_INTERFACE_PUBLIC std::vector< hardware_interface::CommandInterface::SharedPtr > | export_reference_interfaces () final |
CONTROLLER_INTERFACE_PUBLIC bool | set_chained_mode (bool chained_mode) final |
CONTROLLER_INTERFACE_PUBLIC bool | is_in_chained_mode () const final |
Get information if a controller is currently in chained mode. More... | |
Public Member Functions inherited from controller_interface::ControllerInterfaceBase | |
virtual CONTROLLER_INTERFACE_PUBLIC void | assign_interfaces (std::vector< hardware_interface::LoanedCommandInterface > &&command_interfaces, std::vector< hardware_interface::LoanedStateInterface > &&state_interfaces) |
Method that assigns the Loaned interfaces to the controller. More... | |
virtual CONTROLLER_INTERFACE_PUBLIC void | release_interfaces () |
Method that releases the Loaned interfaces from the controller. More... | |
CONTROLLER_INTERFACE_PUBLIC return_type | init (const std::string &controller_name, const std::string &urdf, unsigned int cm_update_rate, const std::string &node_namespace, const rclcpp::NodeOptions &node_options) |
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & | configure () |
Custom configure method to read additional parameters for controller-nodes. | |
CONTROLLER_INTERFACE_PUBLIC ControllerUpdateStatus | trigger_update (const rclcpp::Time &time, const rclcpp::Duration &period) |
CONTROLLER_INTERFACE_PUBLIC std::shared_ptr< rclcpp_lifecycle::LifecycleNode > | get_node () |
CONTROLLER_INTERFACE_PUBLIC std::shared_ptr< const rclcpp_lifecycle::LifecycleNode > | get_node () const |
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & | get_lifecycle_state () const |
CONTROLLER_INTERFACE_PUBLIC unsigned int | get_update_rate () const |
CONTROLLER_INTERFACE_PUBLIC bool | is_async () const |
CONTROLLER_INTERFACE_PUBLIC const std::string & | get_robot_description () const |
virtual CONTROLLER_INTERFACE_PUBLIC rclcpp::NodeOptions | define_custom_node_options () const |
template<typename ParameterT > | |
auto | auto_declare (const std::string &name, const ParameterT &default_value) |
Declare and initialize a parameter with a type. More... | |
CONTROLLER_INTERFACE_PUBLIC void | wait_for_trigger_update_to_finish () |
Protected Types | |
using | PidPtr = std::shared_ptr< control_toolbox::PidROS > |
using | ControllerStatePublisher = realtime_tools::RealtimePublisher< ControllerStateMsg > |
Protected Member Functions | |
std::vector< hardware_interface::CommandInterface > | on_export_reference_interfaces () override |
std::vector< hardware_interface::StateInterface > | on_export_state_interfaces () override |
bool | on_set_chained_mode (bool chained_mode) override |
Virtual method that each chainable controller should implement to switch chained mode. More... | |
void | update_parameters () |
controller_interface::CallbackReturn | configure_parameters () |
Protected Attributes | |
std::shared_ptr< pid_controller::ParamListener > | param_listener_ |
pid_controller::Params | params_ |
std::vector< std::string > | reference_and_state_dof_names_ |
size_t | dof_ |
std::vector< double > | measured_state_values_ |
std::vector< PidPtr > | pids_ |
std::vector< double > | feedforward_gain_ |
rclcpp::Subscription< ControllerReferenceMsg >::SharedPtr | ref_subscriber_ = nullptr |
realtime_tools::RealtimeBuffer< std::shared_ptr< ControllerReferenceMsg > > | input_ref_ |
rclcpp::Subscription< ControllerMeasuredStateMsg >::SharedPtr | measured_state_subscriber_ = nullptr |
realtime_tools::RealtimeBuffer< std::shared_ptr< ControllerMeasuredStateMsg > > | measured_state_ |
rclcpp::Service< ControllerModeSrvType >::SharedPtr | set_feedforward_control_service_ |
realtime_tools::RealtimeBuffer< feedforward_mode_type > | control_mode_ |
rclcpp::Publisher< ControllerStateMsg >::SharedPtr | s_publisher_ |
std::unique_ptr< ControllerStatePublisher > | state_publisher_ |
Protected Attributes inherited from controller_interface::ChainableControllerInterface | |
std::vector< std::string > | exported_state_interface_names_ |
Storage of values for state interfaces. | |
std::vector< hardware_interface::StateInterface::SharedPtr > | ordered_exported_state_interfaces_ |
std::unordered_map< std::string, hardware_interface::StateInterface::SharedPtr > | exported_state_interfaces_ |
std::vector< double > | state_interfaces_values_ |
std::vector< std::string > | exported_reference_interface_names_ |
Storage of values for reference interfaces. | |
std::vector< double > | reference_interfaces_ |
std::vector< hardware_interface::CommandInterface::SharedPtr > | ordered_exported_reference_interfaces_ |
std::unordered_map< std::string, hardware_interface::CommandInterface::SharedPtr > | exported_reference_interfaces_ |
Protected Attributes inherited from controller_interface::ControllerInterfaceBase | |
std::vector< hardware_interface::LoanedCommandInterface > | command_interfaces_ |
std::vector< hardware_interface::LoanedStateInterface > | state_interfaces_ |
|
overridevirtual |
Get configuration for controller's required command interfaces.
Method used by the controller_manager to get the set of command interfaces used by the controller. Each controller can use individual method to determine interface names that in simples case have the following format: <joint>/<interface>
. The method is called only in inactive
or active
state, i.e., on_configure
has to be called first. The configuration is used to check if controller can be activated and to claim interfaces from hardware. The claimed interfaces are populated in the command_interfaces_ member.
Implements controller_interface::ControllerInterfaceBase.
|
overrideprotectedvirtual |
Virtual method that each chainable controller should implement to export its read/write chainable interfaces. Each chainable controller implements this methods where all input (command) interfaces are exported. The method has the same meaning as export_command_interface
method from hardware_interface::SystemInterface or hardware_interface::ActuatorInterface.
Reimplemented from controller_interface::ChainableControllerInterface.
|
overrideprotectedvirtual |
Virtual method that each chainable controller should implement to export its read-only chainable interfaces. Each chainable controller implements this methods where all its state(read only) interfaces are exported. The method has the same meaning as export_state_interfaces
method from hardware_interface::SystemInterface or hardware_interface::ActuatorInterface.
Reimplemented from controller_interface::ChainableControllerInterface.
|
overrideprotectedvirtual |
Virtual method that each chainable controller should implement to switch chained mode.
Each chainable controller implements this methods to switch between "chained" and "external" mode. In "chained" mode all external interfaces like subscriber and service servers are disabled to avoid potential concurrency in input commands.
[in] | flag | marking a switch to or from chained mode. |
Reimplemented from controller_interface::ChainableControllerInterface.
|
overridevirtual |
Get configuration for controller's required state interfaces.
Method used by the controller_manager to get the set of state interface used by the controller. Each controller can use individual method to determine interface names that in simples case have the following format: <joint>/<interface>
. The method is called only in inactive
or active
state, i.e., on_configure
has to be called first. The configuration is used to check if controller can be activated and to claim interfaces from hardware. The claimed interfaces are populated in the state_interfaces_ member.
Implements controller_interface::ControllerInterfaceBase.
|
overridevirtual |
Execute calculations of the controller and update command interfaces.
Update method for chainable controllers. In this method is valid to assume that \reference_interfaces_ hold the values for calculation of the commands in the current control step. This means that this method is called after \update_reference_from_subscribers if controller is not in chained mode.
Implements controller_interface::ChainableControllerInterface.
|
overridevirtual |
Update reference from input topics when not in chained mode.
Each chainable controller implements this method to update reference from subscribers when not in chained mode.
Implements controller_interface::ChainableControllerInterface.