53 template <
class VEH_DYNAMICS>
57 using Ptr = std::shared_ptr<ControllerBaseTempl<VEH_DYNAMICS>>;
66 static bool isRecording =
false;
72 isRecording = !isRecording;
73 setLogRecording(isRecording);
96 "Toggle logging [L]. Clear logs[C]. New log session [N]. " 98 std::string(isRecording ?
"logging" :
"not logging") +
104 virtual void control_step(
105 const typename VEH_DYNAMICS::TControllerInput& ci,
106 typename VEH_DYNAMICS::TControllerOutput& co) = 0;
118 veh_.setRecording(recording);
virtual bool setTwistCommand([[maybe_unused]] const mrpt::math::TTwist2D &t)
virtual void teleop_interface(const TeleopInput &in, TeleopOutput &out) override
virtual void load_config([[maybe_unused]] const rapidxml::xml_node< char > &node)
virtual void newLogSession()
virtual ~ControllerBaseTempl()
std::shared_ptr< ControllerBaseTempl< VEH_DYNAMICS > > Ptr
virtual void setLogRecording(bool recording)
std::string append_gui_lines
ControllerBaseTempl(VEH_DYNAMICS &veh)
virtual void on_post_step([[maybe_unused]] const TSimulContext &context)
virtual void teleop_interface([[maybe_unused]] const TeleopInput &in, [[maybe_unused]] TeleopOutput &out)