|
|
) _% g' g4 I3 q
5 Z3 x2 f2 e! n6 v% A经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。4 G! a# J6 ]7 l7 I9 f/ X
先上视频:2 }; n( W1 q! p( `' ?9 p* s8 t- t
/ W" J6 P5 z, Z! N
0 v( V6 G5 r% M
/ B6 M0 y7 Q" j e) O# v4 z6 l8 J. h. D% t. k& j
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。. S9 g& N& v5 w0 @
/ _* W& K8 p6 `* h$ N7 |. ~
s: ]9 Z$ a& {: A9 @/ B& h) `, x
* ]2 \9 E# n4 {( h1 y' ], f
+ H8 Y! Z; A* |
# p1 o, C+ _1 m4 E& t# W- A
8 b0 y$ ~7 q: d/ M! j
结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。6 u9 p0 S0 ?4 i" f# L5 [ N, b
: N* x! m4 [, A3 Z8 B
程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。/ j Q: S' o) ?' L; f+ Z! v
按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。
- X/ N) i/ a, V, D0 F* D/ b走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。0 A( B1 f, b" w( t
当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
9 l+ p: ~- Z7 J* Y( s
/ f3 ], I% D6 E! n+ C4 t( G* i. @: L: K
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
9 a1 t C* A) m8 q; Q f
# Q; E* q/ M/ g0 b6 [4 G* V |
|