Chassis v2.1.1
Chassisはロボコンでの足回り制御を行うためのC++ライブラリである。
Loading...
Searching...
No Matches
rct Namespace Reference

robot control library More...

Data Structures

struct  Chassis
 足回りの自動制御を行うクラス。 More...
 
struct  ChassisAuto
 足回りの位置のPID制御を行う。 More...
 
struct  ChassisPid
 足回りの速度のPID制御を行う。 More...
 
struct  CoordinateUnit
 座標、速度を示す構造体。 rct::Coordinate, rct::Velocity
More...
 
class  is_pidable
 T型がPID制御可能な型であるかを判定する。 More...
 
struct  Mecanum
 メカナムの制御を行うクラス。 More...
 
struct  Odom
 N個のエンコーダでオドメトリを行うクラス。 More...
 
struct  Omni
 N輪オムニの制御を行うクラス。 More...
 
struct  Pid
 T型のPID制御を行うクラス。 More...
 
struct  PidGain
 PID制御のゲイン More...
 
struct  Pwm
 モータ出力 -> PWM出力へ変換を行う。 More...
 
struct  SteerDrive
 N輪独立ステアリング駆動機 More...
 

Typedefs

using Coordinate = CoordinateUnit< 0 >
 座標を示す構造体
 
using Velocity = CoordinateUnit<-1 >
 速度を示す構造体
 

Functions

template<int M, int N>
CoordinateUnit< Munit_cast (const CoordinateUnit< N > &obj)
 CoordinateUnitをCoordinateUnitにキャストする。
 
constexpr float distance (const Coordinate &p1, const Coordinate &p2)
 2つの座標間の距離を計算する。
 
template<class T >
constexpr T lerp (const T &a, const T &b, float t) noexcept
 二点aとbの間を、時間tで線形補間 (linear interpolate) する。
 
operator

演算子を定義 CoordinateUnit同士の加減算, floatとの乗除算, chrono::microsecondsとの乗除算

template<int N>
CoordinateUnit< Noperator+ (const CoordinateUnit< N > &lhs, const CoordinateUnit< N > &rhs)
 
template<int N>
CoordinateUnit< Noperator- (const CoordinateUnit< N > &lhs, const CoordinateUnit< N > &rhs)
 
template<int N>
CoordinateUnit< Noperator* (const CoordinateUnit< N > &lhs, const float rhs)
 
template<int N>
CoordinateUnit< Noperator* (const float lhs, const CoordinateUnit< N > &rhs)
 
template<int N>
CoordinateUnit< Noperator/ (const CoordinateUnit< N > &lhs, const float rhs)
 
template<int N>
CoordinateUnit< N+1 > operator* (const CoordinateUnit< N > &obj, const std::chrono::microseconds &sec)
 
template<int N>
CoordinateUnit< N+1 > operator* (const std::chrono::microseconds &sec, const CoordinateUnit< N > &obj)
 
template<int N>
CoordinateUnit< N - 1 > operator/ (const CoordinateUnit< N > &obj, const std::chrono::microseconds &sec)
 
template<int N>
bool operator== (const CoordinateUnit< N > &lhs, const CoordinateUnit< N > &rhs)
 
template<int N>
bool operator!= (const CoordinateUnit< N > &lhs, const CoordinateUnit< N > &rhs)
 

Variables

template<class T >
constexpr bool is_pidable_v = is_pidable<T>::value
 T型がPID制御可能な型であるかを判定する。 T型同士の加減算とfloat型との乗除が定義されていればtrue, そうでなければfalse。
 

Detailed Description

robot control library