rm_controllers
Loading...
Searching...
No Matches
controller_interface.h
Go to the documentation of this file.
1//
2// Created by wk on 2026/4/11.
3//
4#pragma once
5#include <Eigen/Dense>
6#include <geometry_msgs/Vector3.h>
9
11{
13{
14public:
15 virtual ~BipedalControllerInterface() = default;
16
17 virtual bool getStateChange() const = 0;
18 virtual void setStateChange(bool state) = 0;
19 virtual int getBaseState() const = 0;
20 virtual bool getOverturn() const = 0;
21 virtual void setMode(int mode) = 0;
22 virtual void clearRecoveryFlag() = 0;
23 virtual bool getCompleteStand() const = 0;
24 virtual Eigen::Matrix<double, 4, CONTROL_DIM * STATE_DIM> getCoeffs() = 0;
25
26 virtual const std::shared_ptr<ModelParams>& getModelParams() const = 0;
27 virtual const std::shared_ptr<ControlParams>& getControlParams() const = 0;
28 virtual const std::shared_ptr<BiasParams>& getBiasParams() const = 0;
29 virtual const std::shared_ptr<LegStateThresholdParams>& getLegThresholdParams() const = 0;
30 virtual const std::shared_ptr<ChassisGeometryParams>& getChassisGeometryParams() const = 0;
31 virtual double getLegCmd() const = 0;
32 virtual double getJumpCmd() const = 0;
33 virtual double getDefaultLegLength() const = 0;
34 virtual geometry_msgs::Vector3 getVelCmd() = 0;
35 virtual bool getMoveFlag() const = 0;
36 virtual void setMoveFlag(const bool& move_flag) = 0;
37 virtual const ChassisState& getChassisState() = 0;
38 virtual LegState& getLegState(Side side) = 0;
39 virtual bool getDown5cmStairFlag() const = 0;
40 virtual void setDown5cmStairFlag(bool flag) = 0;
41 virtual void setCompleteStand(bool state) = 0;
42 virtual void setJumpCmd(bool cmd) = 0;
43 virtual double f_spring_force(double L0) = 0;
44 virtual void pubState() = 0;
45 virtual void pubLQRStatus(Eigen::Matrix<double, STATE_DIM, 1> left_error,
46 Eigen::Matrix<double, STATE_DIM, 1> right_error,
47 Eigen::Matrix<double, STATE_DIM, 1> left_ref, Eigen::Matrix<double, STATE_DIM, 1> right_ref,
48 Eigen::Matrix<double, CONTROL_DIM, 1> u_left, Eigen::Matrix<double, CONTROL_DIM, 1> u_right,
49 Eigen::Matrix<double, CONTROL_DIM, 1> F_leg_, const bool unstick[2]) const = 0;
50 virtual void pubLegLenStatus(const bool& upstair_flag) = 0;
51 virtual void clearStatus() = 0;
52 virtual void pubDebugData(const std::string& name, double value) = 0;
53 virtual bool getRecoveryLegSpdTurnback() const = 0;
54 virtual void setRecoveryLegSpdTurnback(bool recovery_leg_spd_turnback) = 0;
55 virtual double getLegThetaOffset(const double& leg_len) = 0;
56};
57
58} // namespace rm_chassis_controllers
Definition controller_interface.h:13
virtual const std::shared_ptr< ChassisGeometryParams > & getChassisGeometryParams() const =0
virtual void pubLegLenStatus(const bool &upstair_flag)=0
virtual geometry_msgs::Vector3 getVelCmd()=0
virtual void pubDebugData(const std::string &name, double value)=0
virtual void setMoveFlag(const bool &move_flag)=0
virtual LegState & getLegState(Side side)=0
virtual const std::shared_ptr< LegStateThresholdParams > & getLegThresholdParams() const =0
virtual double getLegThetaOffset(const double &leg_len)=0
virtual const std::shared_ptr< ModelParams > & getModelParams() const =0
virtual const std::shared_ptr< ControlParams > & getControlParams() const =0
virtual void pubLQRStatus(Eigen::Matrix< double, STATE_DIM, 1 > left_error, Eigen::Matrix< double, STATE_DIM, 1 > right_error, Eigen::Matrix< double, STATE_DIM, 1 > left_ref, Eigen::Matrix< double, STATE_DIM, 1 > right_ref, Eigen::Matrix< double, CONTROL_DIM, 1 > u_left, Eigen::Matrix< double, CONTROL_DIM, 1 > u_right, Eigen::Matrix< double, CONTROL_DIM, 1 > F_leg_, const bool unstick[2]) const =0
virtual const std::shared_ptr< BiasParams > & getBiasParams() const =0
virtual Eigen::Matrix< double, 4, CONTROL_DIM *STATE_DIM > getCoeffs()=0
virtual const ChassisState & getChassisState()=0
virtual void setRecoveryLegSpdTurnback(bool recovery_leg_spd_turnback)=0
Definition active_suspension.h:16
Side
Definition definitions.h:116
Definition definitions.h:146
Definition definitions.h:138