Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
mecanum_drive.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "driver/drivers.hpp"
8
12
13namespace fang::chassis
14{
21 {
22 public:
24
31
42
49 (
51 std::unique_ptr<IQuadDrive> quadDrive,
52 std::unique_ptr<Imu> imu,
53 const Config& config
54 );
55
60 void setTargetTranslation(const physics::Velocity2D& translation) override;
61
68 void setTargetRotation(const RPM& rotation) override;
69
70 void initialize() override;
71 void update() override;
72
76 void refresh() override;
77
81 void refreshSafeDisconnect() override;
82 private:
83 void updateSystems();
84 void updateFieldAngle();
85 void syncWheelsToLogic();
86
87 std::unique_ptr<IQuadDrive> quadDrive_;
88 std::unique_ptr<Imu> imu_;
89
90 FieldMecanumLogic mecanumLogic_;
91 };
92}//namespace fang::chassis
Definition drivers.hpp:31
Definition field_mecanum_logic.hpp:12
Definition holonomic_subsystem.hpp:12
Definition mecanum_drive.hpp:21
void setTargetRotation(const RPM &rotation) override
Definition mecanum_drive.cpp:30
void refresh() override
Definition mecanum_drive.cpp:47
void update() override
Definition mecanum_drive.cpp:40
void setTargetTranslation(const physics::Velocity2D &translation) override
Definition mecanum_drive.cpp:25
void initialize() override
Definition mecanum_drive.cpp:35
void refreshSafeDisconnect() override
Definition mecanum_drive.cpp:52
Drivers * drivers
Definition subsystem.hpp:138
Definition pwm_info.hpp:4
Definition basic_downscaler.cpp:4
Meters verticalWheelDistance
Definition mecanum_drive.hpp:28
Meters horizontalWheelDistance
Definition mecanum_drive.hpp:29
Meters wheelRadius
Definition mecanum_drive.hpp:27
Definition mecanum_drive.hpp:39
FieldMecanumLogic::Config mecanumLogicConfig
Definition mecanum_drive.hpp:40
Definition robot_mecanum_logic.hpp:14
units::angular_velocity::revolutions_per_minute_t RPM
Definition units_alias.hpp:30
units::length::meter_t Meters
Definition units_alias.hpp:7