|
: c4 z4 d. m) \0 b0 U, E
7 _$ H, c& Z* d; d9 E经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。5 M, j. U2 _# t
先上视频:
# |# h% }" B& Q! p) K" x
6 f$ o8 G1 @! E0 ?" w3 W. a
5 T8 g5 ? q9 L0 ~$ X
9 T$ X: `& t% L, \; Z* D0 m4 X. q6 R% u2 \
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。
! _& ]( x+ S, Z K! n4 P5 c: L6 h$ o
l- L9 u( w& I+ m
7 F F/ f# Z' R+ Z' o& i* c: p
2 l3 o: ^/ H7 ?( ~8 e" V. d) ~9 P
" K! A" R6 a6 n9 b' Y2 r( {
0 c) c+ Y# d* @; f* j' m结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。
& F5 Y7 g% G) _1 z9 U. D
) s# t; U! g6 e! |2 j' H
程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。1 n4 n9 g, A$ V$ h w' o/ f3 h+ k
按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。1 s1 g; S' z: J. l; l* m
走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。- @9 a$ s' f( Q
当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
) d) z- `+ e/ D5 p: d0 \' r5 \, o3 g) a
2 b5 ?: A6 E0 z0 u
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
7 J3 G/ d+ J( a$ T; B
, G, z# v M; s0 H% {: S* M/ x7 k6 U' e |
|