Quad-SDK
Loading...
Searching...
No Matches
inverse_dynamics_controller.h
1#ifndef INVERSE_DYNAMICS_H
2#define INVERSE_DYNAMICS_H
3
4#include <robot_driver/controllers/leg_controller.h>
5
7
13 public:
19
28 bool computeLegCommandArray(const quad_msgs::RobotState &robot_state_msg,
29 quad_msgs::LegCommandArray &leg_command_array_msg,
30 quad_msgs::GRFArray &grf_array_msg);
31
36 inline quad_msgs::RobotState getReferenceState() { return ref_state_msg_; }
37
38 private:
40 Eigen::VectorXd last_grf_array_;
41
43 quad_msgs::RobotState ref_state_msg_;
44
46 const double grf_exp_filter_const_ = 1.0; // 1.0 = no filtering
47};
48
49#endif // INVERSE_DYNAMICS_H
Implements inverse dynamics as a controller within the ROS framework.
Definition inverse_dynamics_controller.h:12
quad_msgs::RobotState getReferenceState()
Return the reference state used for current tracking.
Definition inverse_dynamics_controller.h:36
InverseDynamicsController()
Constructor for InverseDynamicsController.
Definition inverse_dynamics_controller.cpp:3
const double grf_exp_filter_const_
GRF exponential filter constant.
Definition inverse_dynamics_controller.h:46
Eigen::VectorXd last_grf_array_
Prior grf_array.
Definition inverse_dynamics_controller.h:40
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 inverse_dynamics_controller.cpp:5
quad_msgs::RobotState ref_state_msg_
Reference state for tracking.
Definition inverse_dynamics_controller.h:43
Implements an abstract class for leg controllers.
Definition leg_controller.h:28