|
5 I( `1 ]) ]0 m, S, q b) c
' \9 p8 \9 m, V9 N" h% X, O经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。
& u: k' d4 Z7 P% e5 X* S$ ?先上视频:& x, p U2 C& X' L$ H' `
/ _- v, f( t1 T5 t& l, R4 E- M$ \5 }2 F$ R+ K: J) A
) P/ f- d; i/ e6 ^; m7 U! h
4 p7 _; m. o* q9 L8 ~9 G3 t
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。8 Z& ]8 s6 G: s% K' r0 L' ]
Y7 M5 v) @3 n d
1 B3 w6 K! ~; c
% n0 y; x1 D7 X8 ?# I# O! `& f( W( D4 D7 \
8 a2 g8 p5 _" P9 X% n
1 J! i6 J8 J3 e$ G/ }
结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。
+ J9 k% P( q# o9 Y5 Q9 D5 j
! O6 ], m' t8 g3 c. S% d程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。
9 j% V9 a( r4 i; b9 a# l0 ?* r按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。) H0 {, S/ e* z4 U. k( O$ L) n
走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。
, ^& z% ?; q h$ l1 G0 N当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
; p: e1 o; C' ?! K( w
" n1 d! ^+ o0 {$ E: [& L& x
7 e3 [8 I& w9 I- O最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
2 z' C- Z+ l: L" I# Z# P
v/ f) ^, t0 L' c L
|
|