10#ifndef _P_PID_CONTROLLER_HPP
11#define _P_PID_CONTROLLER_HPP
31 std::shared_ptr<pid_controller::VelocityP_PID> pid_x_, pid_y_, pid_z_, pid_roll_, pid_yaw_;
34 std::array<std::string, 5> name = {
"x",
"y",
"z",
"roll",
"yaw"};
35 std::map<std::string, pid_controller::VelocityP_PIDParameter> pid_params;
42 bool _load_gain_from_yaml(
const std::string & yaml_path);
47 double pid_x_update(
double current_slave,
double current_master,
double target_master);
48 double pid_y_update(
double current_slave,
double current_master,
double target_master);
49 double pid_z_update(
double current_slave,
double current_master,
double target_master);
50 double pid_roll_update(
double current_slave,
double current_master,
double target);
51 double pid_yaw_update(
double current_slave,
double current_master,
double target);
63 std::array<double, 5>
update(std::array<std::array<double, 3>, 5> data);
P-PID Controller class.
Definition: p_pid_controller.hpp:29
void pid_y_reset()
Definition: p_pid_controller.cpp:138
double pid_yaw_update(double current_slave, double current_master, double target)
Definition: p_pid_controller.cpp:112
void pid_x_reset()
Definition: p_pid_controller.cpp:137
void set_z_offset(double force)
Definition: p_pid_controller.cpp:130
void pid_roll_reset()
Definition: p_pid_controller.cpp:140
double pid_x_update(double current_slave, double current_master, double target_master)
Definition: p_pid_controller.cpp:88
double pid_roll_update(double current_slave, double current_master, double target)
Definition: p_pid_controller.cpp:106
void pid_z_reset()
Definition: p_pid_controller.cpp:139
std::array< double, 5 > update(std::array< std::array< double, 3 >, 5 > data)
Definition: p_pid_controller.cpp:118
void set_roll_offset(double roll_deg)
Definition: p_pid_controller.cpp:132
double pid_z_update(double current_slave, double current_master, double target_master)
Definition: p_pid_controller.cpp:100
void pid_yaw_reset()
Definition: p_pid_controller.cpp:141
void pid_all_reset()
Definition: p_pid_controller.cpp:142
double pid_y_update(double current_slave, double current_master, double target_master)
Definition: p_pid_controller.cpp:94
P-PID Controller library.