|
|
8 ?; y% y7 f9 J2 t% I
5 W( a& P' P% N/ e# g; I$ G经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。# A6 Y5 a3 H, p# P
先上视频:# y2 p3 Y2 W& U6 [% o; _; f; T3 P, x% o
9 b1 F3 R! k, P0 r5 c8 }/ S( g
+ u& x }2 ?# K) Z f, `$ ?7 b, {. [) p7 E9 Z+ A
2 f! s% E" z* S
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。) I7 G6 G" y3 O; e
- h$ i E! `# H4 L- u3 p1 E1 H1 [5 Q- p% M S8 L. o$ k* a( l' r& q
' Q- x, x' e5 K% q u
3 y5 _+ h! G w3 ^7 a
# y' E. b* C& h; E* u! l) S8 c g
' J# S, D% m5 H& \" a2 j
结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。$ ?9 i: r9 [8 @" F4 r
. A2 U; ~( ^7 L+ u程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。
' Y7 v9 q6 C7 B' e: d V( d按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。
6 W q: x/ W0 k [9 t5 F走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。
: d$ k& i8 \9 T+ i- x! V, \* O2 e% Z当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。) Z& g! R, F1 S+ i1 V
1 U' g/ o( A- r. O- U# k
, R5 V7 [- p' L' Z1 q2 C
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
* U* V a; ?7 U# d# u" s8 l; D& s& Z! e0 w
|
|