|
|
+ Y( c9 U! P6 R2 o/ r
. |/ ^$ @6 Y' d; Q; g; J+ y经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。9 { C1 z! e( o
先上视频:+ Z" B Z* f5 P5 X2 Q1 U
0 i5 r0 @+ U% G9 j
: ]; C- H7 w2 c5 H; U: z, y) Y
5 o; a# l! |: T; _% ?: a& n1 W$ P' u8 K
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。! u, ]/ C: r+ m/ F, W5 N1 i1 J; [
5 Q: f: @6 `* G/ E* U& y0 [2 d
: C& s# U z9 b2 c
% ?9 N- [+ v0 H# B R
. q( c" [3 p# X% s% H, E; p
7 S" l( |# p, c
6 k, T. N4 m: B& @+ [" @6 @: n结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。) f% d( r, T8 G% g P m
: ]; M! q2 ~+ K7 G! {# z9 Y" @
程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。
' U8 G" a b- q9 W% z1 k按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。$ B, {9 W: L0 B* i. x; j
走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。
3 q0 |; {; q, g/ H l当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
% T, i. O& e' _2 e4 Q" h" X
# t9 q' c2 ?" A* b. _6 T) ]# p) z4 |* W- Y/ }& ]( d0 G1 K
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
* i m8 f0 N# B/ @9 A4 \$ p0 Y: d
5 p/ m* L; ~/ L0 J; L# x' u) o4 J
|
|