|
8 |2 [: {0 L, h
, N, x! `" \0 b经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。5 H- ^2 W5 l. ]% U& B% b
先上视频:
@ Z& `% f5 Z& ^
: g$ D' a$ u* \- H9 R9 F. J4 l. t
3 v- V- }5 ? L1 z; r
+ ~6 _! l4 M% t# m2 w
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。
6 Z& M: S- t) g1 M/ ?. }' f) Z$ N% j, L8 S' ]2 }6 R) E& d% b% O0 I
, q7 _. Z! \( \/ Z/ R0 {
7 v- U# w/ Y( ?' ^, r
1 V6 \: r' o0 w( G) i. q
% D; f/ [/ w! i- _
3 E; S! d' Z9 u9 ?4 n O* U; ?4 a
结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。
3 H; E* q2 a! S3 n
3 O& w6 i1 U$ G4 j& }
程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。
4 Z i3 R' R; R3 `% m按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。 H+ j! d2 {+ y( E) r, z
走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。; c4 |/ ~$ x; |
当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
' t, L2 U, [: Q4 b: H+ W6 u3 [
M1 t U: \- H5 E' |( B) h% W- b) a% E" [7 X+ b7 T5 S5 |6 `8 E
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 461)
2 Y. M3 w, P) O9 f' A4 U* ?( I- m+ D3 `" s
|
|