36 lines
972 B
C
36 lines
972 B
C
|
|
//
|
||
|
|
// Created by xtkuang on 2025/5/8.
|
||
|
|
//
|
||
|
|
|
||
|
|
#ifndef CMVR_ES_ABSTRACT_AGV_H
|
||
|
|
#define CMVR_ES_ABSTRACT_AGV_H
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "abstract_device.h"
|
||
|
|
|
||
|
|
namespace cmvr::device{
|
||
|
|
class AbstractAGV: public AbstractDevice {
|
||
|
|
public:
|
||
|
|
explicit AbstractAGV(const XmlNode &config): AbstractDevice(config) {};
|
||
|
|
~AbstractAGV() override=default;
|
||
|
|
|
||
|
|
virtual void getState(AGVState &state) {}
|
||
|
|
|
||
|
|
// navigation
|
||
|
|
virtual void eStop() {}
|
||
|
|
virtual void goHome() {}
|
||
|
|
virtual void moveto(math::Pose2d &location, double speed_ratio) {}
|
||
|
|
virtual void setVelocity(math::Vec3 linear, math::Vec3 angular) {}
|
||
|
|
|
||
|
|
// map
|
||
|
|
virtual void initMap(float resolution, int width, int height) {}
|
||
|
|
virtual void updateMap() {}
|
||
|
|
virtual void saveMap(const std::string& file_path) {}
|
||
|
|
virtual void loadMap(const std::string& file_path) {}
|
||
|
|
|
||
|
|
protected:
|
||
|
|
AGVState state_;
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif //CMVR_ES_ABSTRACT_AGV_H
|