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. | |
![]() | |
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::CommandInterface > | 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. | |
![]() | |
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::CommandInterface > | on_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. | |
![]() | |
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::LoanedCommandInterface > | joint_command_interface_ |
InterfaceReferences< hardware_interface::LoanedStateInterface > | joint_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_ |
std::vector< std::reference_wrapper< double > > | position_reference_ |
std::vector< std::reference_wrapper< double > > | velocity_reference_ |
std::unique_ptr< admittance_controller::AdmittanceRule > | admittance_ |
std::unique_ptr< semantic_components::ForceTorqueSensor > | force_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_ |
![]() | |
std::vector< double > | reference_interfaces_ |
Storage of values for reference interfaces. | |
![]() | |
std::vector< hardware_interface::LoanedCommandInterface > | command_interfaces_ |
std::vector< hardware_interface::LoanedStateInterface > | state_interfaces_ |
unsigned int | update_rate_ = 0 |
|
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.
|
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.
Implements controller_interface::ChainableControllerInterface.
|
overridevirtual |
Extending interface with initialization method which is individual for each controller.
Implements controller_interface::ControllerInterfaceBase.
|
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.
|
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.
|
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.
Implements controller_interface::ChainableControllerInterface.
|
protected |