cmvr-es/cmvr-es/devices/agv/my_agv/include/my_agv.h

38 lines
939 B
C++

#ifndef CMVR_ES_MY_AGV_H
#define CMVR_ES_MY_AGV_H
#include <string>
#include "cmvr/config/agv_config/agv_config.pb.h"
#include "devices/agv/abstract_agv.h"
namespace cmvr::device {
class MyAgv final : public AbstractAGV {
public:
explicit MyAgv(const config::MyAgvConfig& cfg);
~MyAgv() override = default;
std::string typeName() const override { return "MyAgv"; }
bool init() override;
bool start() override;
bool stop() override;
bool update() override;
AgvRuntimeState runtimeState() const override;
AgvResult emergencyStop() override;
AgvResult navigateToPose(
const math::Pose2d& pose,
const AgvMotionOptions& options = {},
const AgvAdapterParams& adapter_params = AgvAdapterParams{}) override;
AgvResult setVelocity(const AgvVelocity& velocity) override;
private:
config::MyAgvConfig config_;
};
} // namespace cmvr::device
#endif // CMVR_ES_MY_AGV_H