Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
abstract_field_mecanum_logic.hpp
Go to the documentation of this file.
1#ifndef FANG_ROBOTICS_MCB_CONTROL_CHASSIS_HOLONOMIC_MECANUM_LOGIC_ABSTRACT_FIELD_MECANUM_LOGIC_HPP
2#define FANG_ROBOTICS_MCB_CONTROL_CHASSIS_HOLONOMIC_MECANUM_LOGIC_ABSTRACT_FIELD_MECANUM_LOGIC_HPP
6
7namespace fang::chassis
8{
30 {
31 public:
33
34 void setMotion(const AbstractVelocity2D& translation, double rotationalOffset);
35
36 void setTotalMotion(const AbstractVelocity2D& translation, double rotationOffset, const Radians& robotAngle);
37
43 void setRobotAngle(const Radians& robotAngle);
44 void setTranslation(const AbstractVelocity2D& translation);
45 void setRotationOffset(double rotationalOffset);
46
47 Radians getRobotAngle() const;
49 double getRotationOffset() const;
50
52
53 private:
54 double getFrontRightWheelSpeed() const;
55 double getFrontLeftWheelSpeed() const;
56 double getRearLeftWheelSpeed() const;
57 double getRearRightWheelSpeed() const;
58
59 AbstractVelocity2D fieldToRobotTranslation(const AbstractVelocity2D& translation) const;
60 AbstractVelocity2D robotToFieldTranslation(const AbstractVelocity2D& translation) const;
61
62 Radians robotAngle_{0.0};
63 AbstractVelocity2D fieldTranslation_{0.0,0.0};
64
65 AbstractRobotMecanumLogic robotwiseMecanumLogic_{};
66 };
67}
68#endif
Definition abstract_field_mecanum_logic.hpp:30
void setRotationOffset(double rotationalOffset)
Definition abstract_field_mecanum_logic.cpp:38
AbstractVelocity2D getTranslation() const
Definition abstract_field_mecanum_logic.cpp:48
void setTranslation(const AbstractVelocity2D &translation)
Definition abstract_field_mecanum_logic.cpp:31
AbstractQuadDriveData getWheelSpeeds() const
Definition abstract_field_mecanum_logic.cpp:74
Radians getRobotAngle() const
Definition abstract_field_mecanum_logic.cpp:43
void setMotion(const AbstractVelocity2D &translation, double rotationalOffset)
Definition abstract_field_mecanum_logic.cpp:8
void setRobotAngle(const Radians &robotAngle)
Definition abstract_field_mecanum_logic.cpp:21
double getRotationOffset() const
Definition abstract_field_mecanum_logic.cpp:53
void setTotalMotion(const AbstractVelocity2D &translation, double rotationOffset, const Radians &robotAngle)
Definition abstract_field_mecanum_logic.cpp:14
Definition basic_downscaler.cpp:4
QuadDriveData< double > AbstractQuadSpeeds
Definition quad_data_alias.hpp:7
Definition vector_2d.hpp:8
units::angle::radian_t Radians
Definition units_alias.hpp:16