ros2_control - humble
Loading...
Searching...
No Matches
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
admittance_controller::AdmittanceController Class Reference
Inheritance diagram for admittance_controller::AdmittanceController:
Inheritance graph
[legend]
Collaboration diagram for admittance_controller::AdmittanceController:
Collaboration graph
[legend]

Public Member Functions

ADMITTANCE_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_init () override
 Extending interface with initialization method which is individual for each controller.
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::InterfaceConfiguration command_interface_configuration () const override
 Export configuration of required state interfaces.
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::InterfaceConfiguration state_interface_configuration () const override
 Export configuration of required state interfaces.
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_configure (const rclcpp_lifecycle::State &previous_state) override
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_activate (const rclcpp_lifecycle::State &previous_state) override
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_deactivate (const rclcpp_lifecycle::State &previous_state) override
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_cleanup (const rclcpp_lifecycle::State &previous_state) override
 
ADMITTANCE_CONTROLLER_PUBLIC controller_interface::CallbackReturn on_error (const rclcpp_lifecycle::State &previous_state) override
 
ADMITTANCE_CONTROLLER_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.
 
- 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.
 
CONTROLLER_INTERFACE_PUBLIC std::vector< hardware_interface::CommandInterfaceexport_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.
 
- Public Member Functions inherited from controller_interface::ControllerInterfaceBase
CONTROLLER_INTERFACE_PUBLIC void assign_interfaces (std::vector< hardware_interface::LoanedCommandInterface > &&command_interfaces, std::vector< hardware_interface::LoanedStateInterface > &&state_interfaces)
 
CONTROLLER_INTERFACE_PUBLIC void release_interfaces ()
 
virtual CONTROLLER_INTERFACE_PUBLIC return_type init (const std::string &controller_name, const std::string &namespace_="", const rclcpp::NodeOptions &node_options=rclcpp::NodeOptions() .allow_undeclared_parameters(true) .automatically_declare_parameters_from_overrides(true))
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & configure ()
 Custom configure method to read additional parameters for controller-nodes.
 
CONTROLLER_INTERFACE_PUBLIC std::shared_ptr< rclcpp_lifecycle::LifecycleNode > get_node ()
 
CONTROLLER_INTERFACE_PUBLIC std::shared_ptr< rclcpp_lifecycle::LifecycleNode > get_node () const
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & get_state () const
 
CONTROLLER_INTERFACE_PUBLIC unsigned int get_update_rate () const
 
template<typename ParameterT >
auto auto_declare (const std::string &name, const ParameterT &default_value)
 Declare and initialize a parameter with a type.
 

Protected Types

template<typename T >
using InterfaceReferences = std::vector< std::vector< std::reference_wrapper< T > > >
 

Protected Member Functions

std::vector< hardware_interface::CommandInterfaceon_export_reference_interfaces () override
 
controller_interface::return_type update_reference_from_subscribers () override
 Update reference from input topics when not in chained mode.
 
void read_state_from_hardware (trajectory_msgs::msg::JointTrajectoryPoint &state_current, geometry_msgs::msg::Wrench &ft_values)
 Read values from hardware interfaces and set corresponding fields of state_current and ft_values.
 
void read_state_reference_interfaces (trajectory_msgs::msg::JointTrajectoryPoint &state)
 Set fields of state_reference with values from controllers exported position and velocity references.
 
void write_state_to_hardware (const trajectory_msgs::msg::JointTrajectoryPoint &state_command)
 Write values from state_command to claimed hardware interfaces.
 
- Protected Member Functions inherited from controller_interface::ChainableControllerInterface
virtual bool on_set_chained_mode (bool chained_mode)
 Virtual method that each chainable controller should implement to switch chained mode.
 

Protected Attributes

size_t num_joints_ = 0
 
std::vector< std::string > command_joint_names_
 
InterfaceReferences< hardware_interface::LoanedCommandInterfacejoint_command_interface_
 
InterfaceReferences< hardware_interface::LoanedStateInterfacejoint_state_interface_
 
bool has_position_state_interface_ = false
 
bool has_velocity_state_interface_ = false
 
bool has_acceleration_state_interface_ = false
 
bool has_position_command_interface_ = false
 
bool has_velocity_command_interface_ = false
 
bool has_acceleration_command_interface_ = false
 
bool has_effort_command_interface_ = false
 
const std::vector< std::string > allowed_interface_types_
 
const std::vector< std::string > allowed_reference_interfaces_types_
 
std::vector< std::reference_wrapper< double > > position_reference_
 
std::vector< std::reference_wrapper< double > > velocity_reference_
 
std::unique_ptr< admittance_controller::AdmittanceRuleadmittance_
 
std::unique_ptr< semantic_components::ForceTorqueSensorforce_torque_sensor_
 
rclcpp::Subscription< trajectory_msgs::msg::JointTrajectoryPoint >::SharedPtr input_joint_command_subscriber_
 
rclcpp::Publisher< control_msgs::msg::AdmittanceControllerState >::SharedPtr s_publisher_
 
std::shared_ptr< admittance_controller::ParamListener > parameter_handler_
 
std::shared_ptr< trajectory_msgs::msg::JointTrajectoryPoint > joint_command_msg_
 
realtime_tools::RealtimeBuffer< std::shared_ptr< trajectory_msgs::msg::JointTrajectoryPoint > > input_joint_command_
 
std::unique_ptr< realtime_tools::RealtimePublisher< ControllerStateMsg > > state_publisher_
 
trajectory_msgs::msg::JointTrajectoryPoint last_commanded_
 
trajectory_msgs::msg::JointTrajectoryPoint last_reference_
 
trajectory_msgs::msg::JointTrajectoryPoint reference_
 
trajectory_msgs::msg::JointTrajectoryPoint joint_state_
 
trajectory_msgs::msg::JointTrajectoryPoint reference_admittance_
 
geometry_msgs::msg::Wrench ft_values_
 
- Protected Attributes inherited from controller_interface::ChainableControllerInterface
std::vector< double > reference_interfaces_
 Storage of values for reference interfaces.
 
- Protected Attributes inherited from controller_interface::ControllerInterfaceBase
std::vector< hardware_interface::LoanedCommandInterfacecommand_interfaces_
 
std::vector< hardware_interface::LoanedStateInterfacestate_interfaces_
 
unsigned int update_rate_ = 0
 

Member Function Documentation

◆ command_interface_configuration()

controller_interface::InterfaceConfiguration admittance_controller::AdmittanceController::command_interface_configuration ( ) const
overridevirtual

Export configuration of required state interfaces.

Allowed types of state interfaces are hardware_interface::POSITION, hardware_interface::VELOCITY, hardware_interface::ACCELERATION.

Implements controller_interface::ControllerInterfaceBase.

◆ on_export_reference_interfaces()

std::vector< hardware_interface::CommandInterface > admittance_controller::AdmittanceController::on_export_reference_interfaces ( )
overrideprotectedvirtual

Virtual method that each chainable controller should implement to export its 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.

Returns
list of CommandInterfaces that other controller can use as their outputs.

Implements controller_interface::ChainableControllerInterface.

◆ on_init()

controller_interface::CallbackReturn admittance_controller::AdmittanceController::on_init ( )
overridevirtual

Extending interface with initialization method which is individual for each controller.

Implements controller_interface::ControllerInterfaceBase.

◆ state_interface_configuration()

controller_interface::InterfaceConfiguration admittance_controller::AdmittanceController::state_interface_configuration ( ) const
overridevirtual

Export configuration of required state interfaces.

Allowed types of state interfaces are hardware_interface::POSITION, hardware_interface::VELOCITY, hardware_interface::ACCELERATION.

Implements controller_interface::ControllerInterfaceBase.

◆ update_and_write_commands()

controller_interface::return_type admittance_controller::AdmittanceController::update_and_write_commands ( const rclcpp::Time &  time,
const rclcpp::Duration &  period 
)
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.

Returns
return_type::OK if calculation and writing of interface is successfully, otherwise return_type::ERROR.

Implements controller_interface::ChainableControllerInterface.

◆ update_reference_from_subscribers()

controller_interface::return_type admittance_controller::AdmittanceController::update_reference_from_subscribers ( )
overrideprotectedvirtual

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.

Returns
return_type::OK if update is successfully, otherwise return_type::ERROR.

Implements controller_interface::ChainableControllerInterface.

Member Data Documentation

◆ allowed_interface_types_

const std::vector<std::string> admittance_controller::AdmittanceController::allowed_interface_types_
protected
Initial value:
= {
constexpr char HW_IF_ACCELERATION[]
Constant defining acceleration interface.
Definition hardware_interface_type_values.hpp:25
constexpr char HW_IF_VELOCITY[]
Constant defining velocity interface.
Definition hardware_interface_type_values.hpp:23
constexpr char HW_IF_POSITION[]
Constant defining position interface.
Definition hardware_interface_type_values.hpp:21

◆ allowed_reference_interfaces_types_

const std::vector<std::string> admittance_controller::AdmittanceController::allowed_reference_interfaces_types_
protected

The documentation for this class was generated from the following files: