|
|
x* K) W) o; I* L! b7 J
1 J8 N1 |& s5 W, w: M' o y* o经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。
$ e- n6 l7 ~) W" z+ ?- E先上视频:
' y R; P9 L9 P2 u* }6 D2 Z
/ G2 U! }; V& n& L5 h) O$ F6 \0 x* ]' ?' S
. D/ ]. B i/ f3 l2 b. a
6 C+ S& p$ {# s, v/ r一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。+ @1 L* ?% b5 z" `
& J9 G( m1 V7 G. d6 @
w. y, j4 k0 D) r, ~" b
4 V) n% M" {4 V$ V
% t$ g8 P) }1 b6 C7 A2 Q+ U) b
1 ~% C: c* N. g2 w6 t; F
! X' R8 Y3 [$ ]3 K( @" ?% E
结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。
% f" {6 W3 p6 M% C$ `/ z2 J
* X1 O# {6 y5 F5 D+ r% ~7 K; x) G程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。6 t) h2 Y, k3 l: P: ?- l2 ^
按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。
% k F5 b" N- d; L4 X走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。5 M. l! }9 J# k* L! R
当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。8 Z/ ], N2 a% o \" K, {+ j) ~
, K! p1 M1 s! ^, `8 O2 X6 u2 ` m0 x# s8 j; \
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
2 z% a4 e |7 {% t" X/ d) X9 n( Q# V7 x8 z5 W
|
|