ETrobocon2017 - 片山研究所モデルベース開発推進事業部
TurnControl.cpp
[詳解]
1 
7 #include "TurnControl.h"
8 
10  Pid(0.8, 1.2, 0.012, 30.0), turn(0.0){
11 
12 }
13 
14 std::int8_t TurnControl::calculateTurnForPid( std::int8_t forward, std::int8_t light_value ) {
15  calculate((double)light_value);
16  double pid_value = get_output();
17  double forward_percent = ((double)forward) / 100.0;
18  pid_value *= forward_percent;
19  turn += (pid_value - pid_value_old) / 2;
20  pid_value_old = pid_value;
21  return (int)limitOutput(turn);
22 }
double get_output()
Definition: Pid.cpp:33
void calculate(double light_value)
Definition: Pid.cpp:21
std::int8_t calculateTurnForPid(std::int8_t forward, std::int8_t light_value)
Definition: TurnControl.cpp:14
PID制御によるターン制御クラス
double limitOutput(double pid_value)
Definition: Pid.cpp:47
PID制御の計算を行うクラス
Definition: Pid.h:12