首先你需要引入controller.hpp,你的控制器需要public继承控制器类Controller
你的控制器会从Controller继承得到
out,一个float变量,用来存放控制器的输出set(float x), 一个纯虚函数,需要由你自己重载,用来进行控制器的计算
你的控制器需要做
- 重载实现
set函数,并在set中对out变量进行赋值,存放输出 - 重载实现虚析构器,一般只要设为
default即可
下面是一个控制器例子,这个例子只是把输入乘以某个系数并输出
class Mul : public Controller {
public:
float k = 0;
Mul(float k_) : k(k_) {}
void set(float x) override {
out = x * k;
}
~Mul() override = default;
};随后我们就可以尝试使用它
Mul mul(2.21);
std::cout << (2 >> mul) << std::endl;可以得到4.42的输出
首先你需要引入actuator.hpp,你的执行器需要public继承执行器类Actuator
你的执行器会从Actuator继承得到
set_directly(float x),一个纯虚函数,需要由你自己重载,用来调用执行器执行
你的执行器需要做
- 重载实现
set_directly函数,在该函数中将传入的值输出给物理执行器 - 重载实现虚析构器,一般只要设为
default即可
下面是一个执行器例子,这个例子只是把输入通过cout输出
class Output : public Actuator {
public:
void set_directly(float x) override {
std::cout << "get: " << x << std::endl;
}
~Output() override = default;
};尝试和控制器一同使用
Mul mul(2.21);
Output output;
2 >> mul >> output;可以得到get: 4.42的输出
以上的demo位于demo/demo4
请参阅tutorials/io