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
12
using namespace
rct
;
13
14
Timer
timer;
15
Odom<3>
odom{};
16
Motor
motors[3] = {{
D10
,
D11
}, {
D12
,
D13
}, {
D12
,
D13
}};
17
Chassis<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
24
int
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.h
足回りの自動制御を行う Chassis クラスを提供する。
Odom.h
オドメトリを行う Odom クラスを提供する。
Omni.h
オムニの制御を行う Omni クラスを提供する。
rct
robot control library
Definition
Chassis.h:16
rct::Omni
N輪オムニの制御を行うクラス。
Definition
Omni.h:25
rct::PidGain
PID制御のゲイン
Definition
Pid.h:21
examples
Mbed
ChassisPid
main.cpp
Generated by
1.9.8