|
|
5 g: B6 K, ^0 ?# Q+ N, R7 c9 h" Q4 a2 b* O7 P5 O8 _
经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。; V2 j; D! n* h7 X5 o( R
先上视频:& D& B1 j( l, f$ ]3 N
0 c# X! m9 d! r+ G" G" D
) _6 j, T$ Y& x6 R. @: D9 q2 r" Q% H# v7 J5 ?9 \& T
- ~% `9 E4 y% R9 S6 \8 L
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。
' B. D; Y6 ?2 A+ R5 s4 q, { s: ^- L l3 K
" I& `# \: \* J8 j2 u% H
3 d* v) z* s5 S" a
2 }/ ^3 }! H$ R* m2 `
3 t# s, p/ J* G4 L9 d
2 K% G* l& ~; {, x! @4 ]; D结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。3 k, q. o* Z5 F* ~0 g9 v
% `7 c0 p# e: Z" P2 n+ x
程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。" i! R" a* ^4 Q0 G! F
按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。( S% o; ?4 C, O& }. r! e; f
走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。
2 g5 { K- u; y; B2 g当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。 A2 p4 o* _6 n# B8 w0 ~. ]
' e- e( ^' U3 _0 S7 E
1 I4 H/ ` |6 `) Y0 V5 A最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 466)
* t. Q0 `% Y% {- K4 e: d
! D1 B- P. m2 ?: N7 Y |
|