libstp
Robotics library for Botball
Loading...
Searching...
No Matches
characterize_drive.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <string>
5#include <vector>
6
7#include "autotune/types.hpp"
8#include "drive/drive.hpp"
9#include "hal/odometry.hpp"
10
11namespace libstp::autotune
12{
30 {
31 public:
37
46 [[nodiscard]] AxisResult characterizeAxis(const std::string& axis,
47 const CharacterizeConfig& cfg) const;
48
56 [[nodiscard]] std::map<std::string, AxisResult>
57 characterize(const std::vector<std::string>& axes,
58 const CharacterizeConfig& cfg) const;
59
60 private:
62 void brakeMotors() const;
63
64 drive::Drive& drive_;
65 odometry::IOdometry& odometry_;
66 };
67
68} // namespace libstp::autotune
AxisResult characterizeAxis(const std::string &axis, const CharacterizeConfig &cfg) const
Characterize a single axis.
std::map< std::string, AxisResult > characterize(const std::vector< std::string > &axes, const CharacterizeConfig &cfg) const
Characterize multiple axes in sequence.
DriveCharacterizer(drive::Drive &drive, odometry::IOdometry &odometry)
Measured physical limits for a single chassis axis.
Definition types.hpp:19
Configuration for the DriveCharacterizer.
Definition types.hpp:32