File sim_controller.hpp
File List > controls > sae_2025_ws > src > payload > include > payload > sim_controller.hpp
Go to the documentation of this file
#ifndef SIM_CONTROLLER_HPP
#define SIM_CONTROLLER_HPP
#include <atomic>
#include <string>
#include <rclcpp/rclcpp.hpp>
#include <gz/transport/Node.hh>
#include <gz/msgs/twist.pb.h>
#include "payload/controller.hpp"
#include "payload/payload_parameters.hpp"
class SimController : public Controller
{
public:
SimController();
void initialize(rclcpp::Node * node) override;
void drive_command(double linear, double angular) override;
void servo_command(double degree) override;
void safe_shutdown() override;
std::shared_ptr<payload::ParamListener> payload_params_listener_;
payload::Params payload_params_;
private:
void publish_drive_command(double linear, double angular);
std::atomic<bool> shutdown_requested_ {false};
std::shared_ptr<gz::transport::Node> gz_node_;
gz::transport::Node::Publisher gz_drive_publisher_;
};
#endif