File controller.hpp
File List > controls > sae_2025_ws > src > payload > include > payload > controller.hpp
Go to the documentation of this file
#ifndef CONTROLLER_HPP
#define CONTROLLER_HPP
#include <memory>
#include <rclcpp/rclcpp.hpp>
/*
Abstract class interface for all payload controllers to implement
All main functionalities should be virtual functions here
*/
class Controller
{
public:
virtual ~Controller() = default;
virtual void initialize(rclcpp::Node * node) = 0;
virtual void drive_command(double linear, double angular) = 0;
virtual void servo_command(double degree) = 0;
virtual void safe_shutdown() = 0;
// TODO: add position_setpoint functionality
};
#endif