Public Member Functions | |
controller_interface::CallbackReturn | on_init () override |
Extending interface with initialization method which is individual for each controller. | |
controller_interface::InterfaceConfiguration | command_interface_configuration () const override |
Export configuration of required state interfaces. | |
controller_interface::InterfaceConfiguration | state_interface_configuration () const override |
Export configuration of required state interfaces. | |
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::CallbackReturn | on_error (const rclcpp_lifecycle::State &previous_state) override |
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. | |
![]() | |
return_type | update (const rclcpp::Time &time, const rclcpp::Duration &period) final |
bool | is_chainable () const final |
Get information if a controller is chainable. | |
std::vector< hardware_interface::StateInterface::ConstSharedPtr > | export_state_interfaces () final |
std::vector< hardware_interface::CommandInterface::SharedPtr > | export_reference_interfaces () final |
bool | set_chained_mode (bool chained_mode) final |
bool | is_in_chained_mode () const final |
Get information if a controller is currently in chained mode. | |
![]() | |
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) |
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) |
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 |
unsigned int | get_update_rate () const |
bool | is_async () const |
const std::string & | get_robot_description () const |
virtual 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. | |
void | wait_for_trigger_update_to_finish () |
void | prepare_for_deactivation () |
std::string | get_name () const |
void | enable_introspection (bool enable) |
Enable or disable introspection of the controller. | |
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 (const rclcpp::Time &time, const rclcpp::Duration &period) 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 std::vector< hardware_interface::StateInterface > | on_export_state_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::Subscription< geometry_msgs::msg::WrenchStamped >::SharedPtr | input_wrench_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_ |
realtime_tools::RealtimeBuffer< geometry_msgs::msg::WrenchStamped > | input_wrench_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< 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_ |
![]() | |
std::vector< hardware_interface::LoanedCommandInterface > | command_interfaces_ |
std::vector< hardware_interface::LoanedStateInterface > | state_interfaces_ |
pal_statistics::RegistrationsRAII | stats_registrations_ |
|
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 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.
|
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 |