![]() |
ros2_control - rolling
|
Forward command controller for a set of joints. More...
#include <forward_command_controller.hpp>


Protected Member Functions | |
| void | declare_parameters () override |
| controller_interface::CallbackReturn | read_parameters () override |
Protected Attributes | |
| std::shared_ptr< ParamListener > | param_listener_ |
| Params | params_ |
Protected Attributes inherited from forward_command_controller::ForwardControllersBase | |
| std::vector< std::string > | joint_names_ |
| std::string | interface_name_ |
| std::vector< std::string > | command_interface_types_ |
| realtime_tools::RealtimeThreadSafeBox< CmdType > | rt_command_ |
| CmdType | joint_commands_ |
| rclcpp::Subscription< CmdType >::SharedPtr | joints_command_subscriber_ |
Protected Attributes inherited from controller_interface::ControllerInterfaceBase | |
| std::vector< hardware_interface::LoanedCommandInterface > | command_interfaces_ |
| Loaned command interfaces. | |
| std::vector< hardware_interface::LoanedStateInterface > | state_interfaces_ |
| Loaned state interfaces. | |
| pal_statistics::RegistrationsRAII | stats_registrations_ |
Additional Inherited Members | |
Public Member Functions inherited from forward_command_controller::ForwardControllersBase | |
| controller_interface::InterfaceConfiguration | command_interface_configuration () const override |
| Get configuration for controller's required command interfaces. | |
| controller_interface::InterfaceConfiguration | state_interface_configuration () const override |
| Get configuration for controller's required state interfaces. | |
| controller_interface::CallbackReturn | on_init () override |
| Extending interface with initialization method which is individual for each controller. | |
| controller_interface::CallbackReturn | on_configure (const rclcpp_lifecycle::State &previous_state) override |
| controller_interface::CallbackReturn | on_activate (const rclcpp_lifecycle::State &previous_state) override |
| controller_interface::CallbackReturn | on_deactivate (const rclcpp_lifecycle::State &previous_state) override |
| controller_interface::return_type | update (const rclcpp::Time &time, const rclcpp::Duration &period) override |
| Control step update. Command interfaces are updated based on on reference inputs and current states. The method called in the (real-time) control loop. | |
Public Member Functions inherited from controller_interface::ControllerInterface | |
| bool | is_chainable () const final |
| Controller is not chainable. | |
| std::vector< hardware_interface::StateInterface::ConstSharedPtr > | export_state_interfaces () final |
| A non-chainable controller doesn't export any state interfaces. | |
| std::vector< hardware_interface::CommandInterface::SharedPtr > | export_reference_interfaces () final |
| Controller has no reference interfaces. | |
| bool | set_chained_mode (bool chained_mode) final |
| Controller is not chainable, therefore no chained mode can be set. | |
| bool | is_in_chained_mode () const final |
| Controller can not be in chained mode. | |
Public Member Functions inherited from controller_interface::ControllerInterfaceBase | |
| virtual 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. | |
| virtual void | release_interfaces () |
| Method that releases the Loaned interfaces from the controller. | |
| 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) |
| return_type | init (const controller_interface::ControllerInterfaceParams ¶ms) |
| const rclcpp_lifecycle::State & | configure () |
| Custom configure method to read additional parameters for controller-nodes. | |
| ControllerUpdateStatus | trigger_update (const rclcpp::Time &time, const rclcpp::Duration &period) |
| Trigger update method. This method is used by the controller_manager to trigger the update method of the controller. The method is used to trigger the update method of the controller synchronously or asynchronously, based on the controller configuration. The method called in the (real-time) control loop. | |
| std::shared_ptr< rclcpp_lifecycle::LifecycleNode > | get_node () |
| std::shared_ptr< const rclcpp_lifecycle::LifecycleNode > | get_node () const |
| const rclcpp_lifecycle::State & | get_lifecycle_state () const |
| Get the current lifecycle state of the controller node. | |
| uint8_t | get_lifecycle_id () const |
| Get the lifecycle id of the controller node that is cached internally to avoid calls to get_lifecycle_state() in the real-time control loop. | |
| unsigned int | get_update_rate () const |
| bool | is_async () const |
| const std::string & | get_robot_description () const |
| const std::unordered_map< std::string, joint_limits::JointLimits > & | get_hard_joint_limits () const |
| Get the unordered map of joint limits that are defined in the robot description. | |
| const std::unordered_map< std::string, joint_limits::SoftJointLimits > & | get_soft_joint_limits () const |
| Get the unordered map of soft joint limits that are defined in the robot description. | |
| virtual rclcpp::NodeOptions | define_custom_node_options () const |
| Method used by the controller_manager for base NodeOptions to instantiate the Lifecycle node of the controller upon loading the controller. | |
| template<typename ParameterT > | |
| auto | auto_declare (const std::string &name, const ParameterT &default_value) |
| Declare and initialize a parameter with a type. | |
| void | wait_for_trigger_update_to_finish () |
| Method to wait for any running async update cycle to finish after finishing the current cycle. This is needed to be called before deactivating the controller by the controller_manager, so that the interfaces still exist when the controller finishes its cycle and then it's exits. | |
| void | prepare_for_deactivation () |
| Method to prepare the controller for deactivation. This method is called by the controller manager before deactivating the controller. The method is used to prepare the controller for deactivation, e.g., to stop triggering the update cycles further. This method is especially needed for controllers running in async mode and different frequency than the control manager. | |
| std::string | get_name () const |
| void | enable_introspection (bool enable) |
| Enable or disable introspection of the controller. | |
Forward command controller for a set of joints.
This class forwards the command signal down to a set of joints on the specified interface.
| joints | Names of the joints to control. |
| interface_name | Name of the interface to command. |
Subscribes to:
|
overrideprotectedvirtual |
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.
Implements forward_command_controller::ForwardControllersBase.
|
overrideprotectedvirtual |
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.
Implements forward_command_controller::ForwardControllersBase.