|
$ ]" ^. `$ c5 `/ U: s
: e/ j4 b9 X' O. `6 v* } m- x
经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。
6 r9 J0 F2 I! m, r% _1 W, k* \先上视频:
3 C7 p! p4 K2 V, T/ x3 {% }. l5 Z/ P& I
9 b* T* r1 r) [& ?! Z- A
3 b7 \2 j" _/ C9 H. y! e) P
8 g! l7 }5 l0 D6 c一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。- k$ Q/ a7 ?0 \3 L
; u K( d1 i6 X' _
6 \- R# F- d& M4 K1 m, [8 L
: l, E- k d( `' j) W& E
/ l& K$ P6 y) I8 s- ?! X: P5 m
2 ]1 m9 u/ s0 }8 R7 u) z
& {0 R3 J: O1 q
结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。
* i3 }( k( B% f& o7 I( W
* A- Q/ \- j( V, A程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。6 r# a% K% \( h, l% n! y7 M
按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。
1 M" I( k! B- @. Y走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。
" ]* ^- \0 T7 j3 r/ F当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
, \' Y8 g; ]5 R: n
0 V$ D0 F/ P+ y) |$ q# w+ }
& q) _) g" V% c+ A J% U最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 465)
" s, s x8 O+ X$ l, H) T
* S7 z4 n% Y7 s |
|