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

Classes

struct  OdometryParams
 
struct  WheelHandle
 
struct  WheelParams
 

Public Member Functions

DIFF_DRIVE_CONTROLLER_PUBLIC controller_interface::InterfaceConfiguration command_interface_configuration () const override
 
DIFF_DRIVE_CONTROLLER_PUBLIC controller_interface::InterfaceConfiguration state_interface_configuration () const override
 
DIFF_DRIVE_CONTROLLER_PUBLIC controller_interface::return_type update (const rclcpp::Time &time, const rclcpp::Duration &period) override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_init () override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_configure (const rclcpp_lifecycle::State &previous_state) override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_activate (const rclcpp_lifecycle::State &previous_state) override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_deactivate (const rclcpp_lifecycle::State &previous_state) override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_cleanup (const rclcpp_lifecycle::State &previous_state) override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_error (const rclcpp_lifecycle::State &previous_state) override
 
DIFF_DRIVE_CONTROLLER_PUBLIC CallbackReturn on_shutdown (const rclcpp_lifecycle::State &previous_state) override
 
- Public Member Functions inherited from controller_interface::ControllerInterface
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)
 
CONTROLLER_INTERFACE_PUBLIC std::shared_ptr< rclcpp::Node > get_node ()
 
template<typename ParameterT >
auto auto_declare (const std::string &name, const ParameterT &default_value)
 Declare and initialize a parameter with a type.
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & configure ()
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & cleanup ()
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & deactivate ()
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & activate ()
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & shutdown ()
 
CONTROLLER_INTERFACE_PUBLIC const rclcpp_lifecycle::State & get_state () const
 
CONTROLLER_INTERFACE_PUBLIC unsigned int get_update_rate () const
 

Protected Member Functions

const char * feedback_type () const
 
CallbackReturn configure_side (const std::string &side, const std::vector< std::string > &wheel_names, std::vector< WheelHandle > &registered_handles)
 
bool reset ()
 
void halt ()
 

Protected Attributes

std::vector< std::string > left_wheel_names_
 
std::vector< std::string > right_wheel_names_
 
std::vector< WheelHandleregistered_left_wheel_handles_
 
std::vector< WheelHandleregistered_right_wheel_handles_
 
struct diff_drive_controller::DiffDriveController::WheelParams wheel_params_
 
struct diff_drive_controller::DiffDriveController::OdometryParams odom_params_
 
Odometry odometry_
 
std::shared_ptr< rclcpp::Publisher< nav_msgs::msg::Odometry > > odometry_publisher_ = nullptr
 
std::shared_ptr< realtime_tools::RealtimePublisher< nav_msgs::msg::Odometry > > realtime_odometry_publisher_ = nullptr
 
std::shared_ptr< rclcpp::Publisher< tf2_msgs::msg::TFMessage > > odometry_transform_publisher_
 
std::shared_ptr< realtime_tools::RealtimePublisher< tf2_msgs::msg::TFMessage > > realtime_odometry_transform_publisher_ = nullptr
 
std::chrono::milliseconds cmd_vel_timeout_ {500}
 
bool subscriber_is_active_ = false
 
rclcpp::Subscription< Twist >::SharedPtr velocity_command_subscriber_ = nullptr
 
rclcpp::Subscription< geometry_msgs::msg::Twist >::SharedPtr velocity_command_unstamped_subscriber_ = nullptr
 
realtime_tools::RealtimeBox< std::shared_ptr< Twist > > received_velocity_msg_ptr_ {nullptr}
 
std::queue< Twist > previous_commands_
 
SpeedLimiter limiter_linear_
 
SpeedLimiter limiter_angular_
 
bool publish_limited_velocity_ = false
 
std::shared_ptr< rclcpp::Publisher< Twist > > limited_velocity_publisher_ = nullptr
 
std::shared_ptr< realtime_tools::RealtimePublisher< Twist > > realtime_limited_velocity_publisher_
 
rclcpp::Time previous_update_timestamp_ {0}
 
double publish_rate_ = 50.0
 
rclcpp::Duration publish_period_ = rclcpp::Duration::from_nanoseconds(0)
 
rclcpp::Time previous_publish_timestamp_ {0}
 
bool is_halted = false
 
bool use_stamped_vel_ = true
 
- Protected Attributes inherited from controller_interface::ControllerInterface
std::vector< hardware_interface::LoanedCommandInterfacecommand_interfaces_
 
std::vector< hardware_interface::LoanedStateInterfacestate_interfaces_
 
std::shared_ptr< rclcpp::Node > node_
 
rclcpp_lifecycle::State lifecycle_state_
 
unsigned int update_rate_ = 0
 

Member Function Documentation

◆ command_interface_configuration()

InterfaceConfiguration diff_drive_controller::DiffDriveController::command_interface_configuration ( ) const
overridevirtual

◆ on_init()

CallbackReturn diff_drive_controller::DiffDriveController::on_init ( )
overridevirtual

◆ state_interface_configuration()

InterfaceConfiguration diff_drive_controller::DiffDriveController::state_interface_configuration ( ) const
overridevirtual

◆ update()

controller_interface::return_type diff_drive_controller::DiffDriveController::update ( const rclcpp::Time &  time,
const rclcpp::Duration &  period 
)
overridevirtual

Member Data Documentation

◆ odometry_transform_publisher_

std::shared_ptr<rclcpp::Publisher<tf2_msgs::msg::TFMessage> > diff_drive_controller::DiffDriveController::odometry_transform_publisher_
protected
Initial value:
=
nullptr

◆ realtime_limited_velocity_publisher_

std::shared_ptr<realtime_tools::RealtimePublisher<Twist> > diff_drive_controller::DiffDriveController::realtime_limited_velocity_publisher_
protected
Initial value:
=
nullptr

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