38 lines
939 B
C++
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
|