#include <Arduino.h>
#include "PID.h"
#include "cubic_arduino.h"
Go to the source code of this file.
|
constexpr double | degToRad (double deg) |
| 度数法から弧度法に変換します
|
|
constexpr double | radToDeg (double rad) |
| 弧度法から度数法に変換します
|
|
constexpr double | Cubic_controller::limitAngle (double angle, const double min=-PI) |
| 与えられた角度を一定範囲(min<=angle<min+2pi)に収めます
|
|
constexpr double | Cubic_controller::encoderToAngle (const int32_t encoder, const uint16_t CPR, const double offset=-PI, const bool limit=true) |
| 与えられたCPRのもと、エンコーダの値から角度を計算します
|
|
◆ encoderType
エンコーダの種類を示します
inc: incremental encoder, abs: absolute encoder
◆ degToRad()
constexpr double degToRad |
( |
double | deg | ) |
|
|
constexpr |
度数法から弧度法に変換します
- Parameters
-
- Returns
- constexpr double
◆ encoderToAngle()
constexpr double Cubic_controller::encoderToAngle |
( |
const int32_t | encoder, |
|
|
const uint16_t | CPR, |
|
|
const double | offset = -PI, |
|
|
const bool | limit = true ) |
|
constexpr |
与えられたCPRのもと、エンコーダの値から角度を計算します
- Parameters
-
encoder | エンコーダの値 |
CPR | counts per revolution(PPRの4倍) |
offset | オフセット[rad]。省略可能で、デフォルトは-PI |
limit | 角度を一定範囲に収めるかどうか。省略可能で、デフォルトはtrue |
- Returns
- constexpr double angle[rad](-PI<= angle < PI)
◆ limitAngle()
constexpr double Cubic_controller::limitAngle |
( |
double | angle, |
|
|
const double | min = -PI ) |
|
constexpr |
与えられた角度を一定範囲(min<=angle<min+2pi)に収めます
- Parameters
-
angle | 角度[rad] |
min | 最低値[rad]。省略可能で、デフォルトは-PI |
- Returns
- constexpr double 角度[rad](-PI<= angle < PI)
◆ radToDeg()
constexpr double radToDeg |
( |
double | rad | ) |
|
|
constexpr |
弧度法から度数法に変換します
- Parameters
-
- Returns
- constexpr double
◆ ALLOWED_ROTATION_RANGE
constexpr double Cubic_controller::ALLOWED_ROTATION_RANGE = 2.0 * PI |
|
constexpr |
アブソリュートエンコーダーの回転をどこまで許容するか。
[-ALLOWED_ROTATION_RANGE, ALLOWED_ROTATION_RANGE]の範囲で許容する。
◆ AMT22_CPR
constexpr uint16_t Cubic_controller::AMT22_CPR = 16384 |
|
constexpr |
AMT22のCPRです
CPR: Counts Per Revolution