Chassis v2.1.1
Chassisはロボコンでの足回り制御を行うためのC++ライブラリである。
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1
3#include <../snippets/Motor.h>
4#include <Chassis.h>
5#include <Odom.h>
6#include <Omni.h>
7#include <mbed.h>
8
9#include <array>
10#include <functional>
11
12using namespace rct;
13
14Timer timer;
15Odom<3> odom{};
16Motor motors[3] = {{D10, D11}, {D12, D13}, {D12, D13}};
17Chassis<Omni<3>> chassis{[](std::array<float,3> pwm) {
18 for(int i = 0; i < 3; ++i) {
19 motors[i] = pwm[i];
20 }
21 },
22 PidGain{0.1}, PidGain{0.1}};
23
24int main() {
25 timer.start();
26 while(1) {
27 // エンコーダ角変位の変化量を引数に渡す
28 odom.integrate({0, 0, 0});
29 auto now = timer.elapsed_time();
30 static auto pre = now;
31 auto delta = pre - now;
32
33 Velocity tag_vel = {0, 0.5, 0.05};
34 Velocity now_vel = odom.get() / delta;
35 chassis.pid_move(tag_vel, now_vel, delta);
36
37 pre = now;
38 }
39}
足回りの自動制御を行う Chassis クラスを提供する。
オドメトリを行う Odom クラスを提供する。
オムニの制御を行う Omni クラスを提供する。
robot control library
Definition Chassis.h:16
N輪オムニの制御を行うクラス。
Definition Omni.h:25
PID制御のゲイン
Definition Pid.h:21