|
|
. ]: c: Y4 ]9 O0 r' C/ V
5 }1 n, b% j9 ~! B4 }, t, {9 e经过几次不同搭建方式的尝试,目前这个是最好的,试过双流,可能是功力不够,效果并不好。就当做是一次尝试吧。4 I& _0 q7 z, L9 b/ [0 j
先上视频:. m2 B* N- C: Z3 T/ u$ h
( p9 i$ V" a5 I; E3 ~
- Z; K: |' M4 k/ [
! ~' A# Q" o$ J( O, G) A2 a. q! a" @' g3 h9 w
一块板长81cm,最后肯定是多走了点。咱实话实说,我肯定是挑最好的传上来。不过能从视频中看出我 这个车还是挺稳的,结果不是靠蒙来的。多次测试的结果是3米以后误差在0.5±0.5cm以内吧。* N( W, v4 u8 m% ^' D) [+ U% K5 L
r8 C, I9 _. `6 v! g- {, s
6 Y r6 _ A. @6 B* Q, p
; }5 x2 ]9 y9 S, U% o6 N( t1 j8 D# H5 ^5 W# B
) f8 p; ~1 ^2 C8 a
6 N! \! @! f9 S3 a结构上没什么好说的,做了一个框架,保证轮子承受的重量均匀的分配到两边。然后就是完全对称,重心尽量在中间。! Y9 j& o; M7 e% X( r& [
3 S" e) q3 n1 e7 c6 Z- v3 I程序太长了,我大概讲讲。首先测出轮子直径算出周长,然后算出电机该转多少圈。
$ _+ u# D0 j$ y' D, g按下中键等1秒程序启动,为了避免车启动时受手的影响。然后重置所有传感器。
% F) l# @0 w6 a1 s1 ]走分成三段,缓加,匀速,缓减速。缓加减根据的是时间,乘以30再加上陀螺仪传感器的数值,就是电机的转速。
3 g8 N0 f, Z* T$ K当电机速度大于50时跳出循环执行匀速程序,同时记录电机已经转的圈数。理论上加速和减速走的距离是一样的,所以我们用应走圈数减去加速时走的圈数,就是执行减速时的圈数节点。不过为了避免误差,我让其多走了一圈。随后跳出匀速程序,之后就是减速了。这里只用了PID中的P,感觉已经够用了。
# d" K" \! m8 j. X/ ~8 c; A4 t
- s7 _8 U$ c( G: |' N }& q: ^3 J Z, h
最后附上程序,仅供参考吧
tg.ev3
(29.49 KB, 下载次数: 466)
+ V) s8 d* x3 K
4 n: Q% L. o' x9 W
|
|