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

Public Member Functions

STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::CallbackReturn configure_odometry () override
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC bool update_odometry (const rclcpp::Duration &period) override
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC void initialize_implementation_parameter_listener () override
 
- Public Member Functions inherited from steering_controllers_library::SteeringControllersLibrary
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::CallbackReturn on_init () override
 Extending interface with initialization method which is individual for each controller.
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::InterfaceConfiguration command_interface_configuration () const override
 Get configuration for controller's required command interfaces.
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::InterfaceConfiguration state_interface_configuration () const override
 Get configuration for controller's required state interfaces.
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::CallbackReturn on_configure (const rclcpp_lifecycle::State &previous_state) override
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::CallbackReturn on_activate (const rclcpp_lifecycle::State &previous_state) override
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::CallbackReturn on_deactivate (const rclcpp_lifecycle::State &previous_state) override
 
STEERING_CONTROLLERS__VISIBILITY_PUBLIC controller_interface::return_type update_reference_from_subscribers () override
 Update reference from input topics when not in chained mode.
 
STEERING_CONTROLLERS__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.
 
- 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 Attributes

std::shared_ptr< tricycle_steering_controller::ParamListener > tricycle_param_listener_
 
tricycle_steering_controller::Params tricycle_params_
 
- Protected Attributes inherited from steering_controllers_library::SteeringControllersLibrary
std::shared_ptr< steering_controllers_library::ParamListener > param_listener_
 
steering_controllers_library::Params params_
 
rclcpp::Subscription< ControllerTwistReferenceMsg >::SharedPtr ref_subscriber_twist_ = nullptr
 
rclcpp::Subscription< ControllerTwistReferenceMsg >::SharedPtr ref_subscriber_ackermann_ = nullptr
 
rclcpp::Subscription< geometry_msgs::msg::Twist >::SharedPtr ref_subscriber_unstamped_ = nullptr
 
realtime_tools::RealtimeBuffer< std::shared_ptr< ControllerTwistReferenceMsg > > input_ref_
 
rclcpp::Duration ref_timeout_ = rclcpp::Duration::from_seconds(0.0)
 
rclcpp::Publisher< ControllerStateMsgOdom >::SharedPtr odom_s_publisher_
 
rclcpp::Publisher< ControllerStateMsgTf >::SharedPtr tf_odom_s_publisher_
 
std::unique_ptr< ControllerStatePublisherOdomrt_odom_state_publisher_
 
std::unique_ptr< ControllerStatePublisherTfrt_tf_odom_state_publisher_
 
steering_odometry::SteeringOdometry odometry_
 Odometry:
 
AckermannControllerState published_state_
 
rclcpp::Publisher< AckermannControllerState >::SharedPtr controller_s_publisher_
 
std::unique_ptr< ControllerStatePublishercontroller_state_publisher_
 
size_t nr_state_itfs_
 
size_t nr_cmd_itfs_
 
size_t nr_ref_itfs_
 
double last_linear_velocity_ = 0.0
 
double last_angular_velocity_ = 0.0
 
std::vector< std::string > rear_wheels_state_names_
 
std::vector< std::string > front_wheels_state_names_
 
- 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
 

Additional Inherited Members

- Public Types inherited from steering_controllers_library::SteeringControllersLibrary
using ControllerAckermannReferenceMsg = ackermann_msgs::msg::AckermannDriveStamped
 
using ControllerTwistReferenceMsg = geometry_msgs::msg::TwistStamped
 
using ControllerStateMsgOdom = nav_msgs::msg::Odometry
 
using ControllerStateMsgTf = tf2_msgs::msg::TFMessage
 
using AckermannControllerState = control_msgs::msg::SteeringControllerStatus
 
- Protected Types inherited from steering_controllers_library::SteeringControllersLibrary
using ControllerStatePublisherOdom = realtime_tools::RealtimePublisher< ControllerStateMsgOdom >
 
using ControllerStatePublisherTf = realtime_tools::RealtimePublisher< ControllerStateMsgTf >
 
using ControllerStatePublisher = realtime_tools::RealtimePublisher< AckermannControllerState >
 
- Protected Member Functions inherited from steering_controllers_library::SteeringControllersLibrary
controller_interface::CallbackReturn set_interface_numbers (size_t nr_state_itfs, size_t nr_cmd_itfs, size_t nr_ref_itfs)
 
std::vector< hardware_interface::CommandInterfaceon_export_reference_interfaces () override
 
bool on_set_chained_mode (bool chained_mode) override
 Virtual method that each chainable controller should implement to switch chained mode.
 

Member Function Documentation

◆ configure_odometry()

controller_interface::CallbackReturn tricycle_steering_controller::TricycleSteeringController::configure_odometry ( )
overridevirtual

◆ initialize_implementation_parameter_listener()

void tricycle_steering_controller::TricycleSteeringController::initialize_implementation_parameter_listener ( )
overridevirtual

◆ update_odometry()

bool tricycle_steering_controller::TricycleSteeringController::update_odometry ( const rclcpp::Duration &  period)
overridevirtual

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