navigation_main.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // Created by zx on 23-5-8.
  3. //
  4. #ifndef NAVIGATION_NAVIGATION_MAIN_H
  5. #define NAVIGATION_NAVIGATION_MAIN_H
  6. #include "navigation.h"
  7. class NavigationMain:public Navigation {
  8. public:
  9. NavigationMain();
  10. ~NavigationMain();
  11. virtual void ResetPose(const Pose2d& pose);
  12. virtual bool Start(const NavMessage::NavCmd& cmd);
  13. virtual void publish_statu(NavMessage::NavStatu& statu);
  14. void ResetOtherClamp(ClampStatu statu);
  15. virtual void HandleAgvStatu(const MqttMsg& msg);
  16. virtual void SwitchMode(Monitor_emqx::ActionMode mode,float wheelBase){
  17. move_mode_=mode;
  18. if(move_mode_==Monitor_emqx::eMain)
  19. {
  20. wheelBase_=wheelBase;
  21. }
  22. }
  23. protected:
  24. virtual void SendMoveCmd(Monitor_emqx::ActionMode mode,Monitor_emqx::ActionType type,
  25. double v,double angular);
  26. virtual void HandleNavCmd(const NavMessage::NavCmd& cmd);
  27. virtual bool clamp_close();
  28. virtual bool clamp_open();
  29. virtual NavMessage::RobotStatu CreateRobotStatuMsg();
  30. protected:
  31. float wheelBase_; //两节agv的位姿与单节的位姿变换
  32. TimedLockData<int> timed_other_clamp_;
  33. };
  34. #endif //NAVIGATION_NAVIGATION_MAIN_H