Quad-SDK
Loading...
Searching...
No Matches
grf_pid_controller.h
1#ifndef GRF_PID_CONTROLLER
2#define GRF_PID_CONTROLLER
3
4#include <robot_driver/controllers/leg_controller.h>
5
7
13 public:
19
27 bool computeLegCommandArray(const quad_msgs::RobotState &robot_state_msg,
28 quad_msgs::LegCommandArray &leg_command_array_msg,
29 quad_msgs::GRFArray &grf_array_msg);
30
31 private:
33 Eigen::Vector3d pos_des_;
34
36 Eigen::Vector3d ang_des_;
37
39 Eigen::Vector3d pos_error_int_;
40
42 Eigen::Vector3d ang_error_int_;
43
45 ros::Time t_old_;
46};
47
48#endif // GRF_PID_CONTROLLER
Implements inverse dynamics as a controller within the ROS framework.
Definition grf_pid_controller.h:12
bool computeLegCommandArray(const quad_msgs::RobotState &robot_state_msg, quad_msgs::LegCommandArray &leg_command_array_msg, quad_msgs::GRFArray &grf_array_msg)
Compute the leg command array message for a given current state and reference plan.
Definition grf_pid_controller.cpp:10
Eigen::Vector3d pos_error_int_
Position error integral.
Definition grf_pid_controller.h:39
Eigen::Vector3d ang_des_
Desired orientation.
Definition grf_pid_controller.h:36
ros::Time t_old_
Timekeeping variable for integral term.
Definition grf_pid_controller.h:45
Eigen::Vector3d ang_error_int_
Orientation error integral.
Definition grf_pid_controller.h:42
Eigen::Vector3d pos_des_
Desired position.
Definition grf_pid_controller.h:33
GrfPidController()
Constructor for GrfPidController.
Definition grf_pid_controller.cpp:3
Implements an abstract class for leg controllers.
Definition leg_controller.h:28