本帖最后由 “” 于 2017-7-27 20:09 编辑
2 s/ m! `: ?6 ?; L9 M2 O$ k
4 `; e) g" N6 D. v0 ^# }出这一版本只用能一个词无奈来解释,真心无奈。; ^7 Q. L0 C# P0 E1 L' a( c
我仅有一天时间,这天时间内,想完成这个,如果不能直接放弃,因此方法只有一个:最高效,最简。
9 F0 d5 t9 [' X2 Q# c) ?. f F( h9 k1 ]) [0 Y* R* r. S/ J! e- B
第一个问题:场地8 m0 F, w, E3 ~: v6 e' o* J
不是我要挑战斜穿20块地板的极限。( c0 M M" \. W9 q: y5 W8 Q( L0 O
是因为要3m长的地方,只有这样的形式才能产生。& A* e9 z. s1 K. [& i
呵呵,而且前后只剩下30厘米,车最后到达终点的位置已经没有合适的站位拍摄视频了,所以盲拍了,摄像头拍到什么只有手机知道,也无法测量了。
3 i, N( d: o+ ~) m; e+ W2 @# X5 O+ E" m$ L1 X% l, P, E
第二问题:机器* d; p( y' q" V* k3 E5 p
用的是最简单的机器,去年走线好像就是这台,一直没有拆,因为电机是nxt的,所以也暂时用不到,就一直留着。不过要符合右前轮,所以把三轮改了以下,变四轮,其实我应该写右前轮这几个字的。
! ?$ s0 y% V4 v6 B4 s# c6 r; @% z0 g+ j+ g' C5 a$ O( i }4 q
第三个问题:程序
9 b+ j8 _* j/ \5 g个人方法不同,有人靠结构,有人靠程序。我是靠程序解决问题的。不过也遇到了很多问题,走了很多我认为的弯路,可能被我抛弃的方法是可实现的,可能只是我的场地条件比较苛刻而已。
/ i1 A3 u. x( s9 d在此我分享今天的思考流程。& z, [) g2 D% @( l3 u2 ^5 n1 ]: N/ [
1、直线,应该是左右两轮的前进角度是一致的,我用如此方法前进,左右电机误差基本为0,最终还是偏离比较大。
1 v% R5 n+ }3 f; A q8 N0 a2、于是会想到陀螺仪修正。那控制电机的要素就是陀螺仪,不能再以电机角度为参考依据(陀螺仪变化表示偏了,那么就需要某电机加强功率或减少功率,电机角度一定不相等)。: Z6 q! }7 l$ r; l
第一阶段尝试,用陀螺仪速度,进行比例调节。为什么用陀螺仪速度,因为我需要及时的修正,速度更能体现实时的状态,结果抖动较大。其实可以降低比例,进行慢慢调整,但是我没有尝试,因为我的时间有限,我的第一反应是速度的变化范围太大,所以如果这样调整的话不能用仅仅用比例,因为这对小的偏差不利,不能及时修正。( l t/ }) d. t
第二阶段尝试,用陀螺仪角度,进行比例调节。过程不详细说了。反正调的很好,数值很完美,出发和最终停的陀螺仪角度数值完全一致(当然我承认陀螺仪还是有误差的),但是误差离开线还是非常远。这点很惊讶。 H+ Y4 k1 n5 ^
3、我要静静。(不要问静静是谁?)+ `5 M D5 v( H. }+ p
4、静完了,我想问题。(也不要问问题是谁?)
( {4 \% R. Y2 C( U, t6 X4 c上个月,买了个激光模块,一直没用。这次本来是想打算做好,放上激光模块,用来证明误差量的。现在被我直接拿了出来,装在上面分析车辆的摆动。首先是连线,可能会想到用输出或者输入口,我直接用了usb的口,正要也有usb的插头(昨天刚到的快递,怎么那么寸?),简单接完,随后用lego搭一个框架装在车上。结果发现,墙上光点除了向一边偏以外,上下抖动也厉害,且范围大(冥冥中注定我离墙该如此近。呵呵)。- _3 X% J4 C$ q1 g' D
# A& I9 a) b% J4 x2 n
?: t! K4 q" G4 y6 e5、结构改进:加重。没零件,没时间,那就直接来4个WRO足球的万向轮(简单,粗暴吧!)。5 T4 @8 D+ I `) j8 w% x$ I
程序:仍旧用电机角度反馈的,因为感觉陀螺仪的反馈还是比较慢的,要发现1°的误差,电机可能已经跑了很多角度了。既然地面有高低,会产生误差,可将电机的power设置不一致,只要弧线到位在地板上就是直线。(在3m的长度中,要调整最终的误差,那2轮power的差一定在1以内,所以不要指望用模块了,自己动手写想方法写吧)。
: z3 k! u l$ D0 b/ b) o
! I- D% A9 F/ O/ s9 j视频(由于时间短,参与为主,最后附上照片,表示机器停下位置,以及测量结果,视频最后较模糊,但是应该能判断停止位置的精度,可细细研究):& N# H Y& G; f% I" r6 r
\0 D. ?1 ?+ s* b
0 Q0 B/ G* V- B$ p( @# r
机器人停止位置* A' J6 P, j9 A' ?+ [
" O5 i9 g. `) Y ]* h) S测量, U5 o0 J1 L8 M1 s
* F5 A% [/ i$ Q- s$ g: A: V9 Q5 ?
9 m+ J* q& M0 ?写在最后:垂直穿越地板,如果后地板比前地板高,会有略微纠正方向的作用,哪位朋友可以尝试一下,横穿30块地板的效果,是否会比直穿4块地板效果好。希望有朋友尝试,有答案。- A$ i) X/ d; v0 o/ f
! M7 R9 ^' [, z) P9 F
) d3 b3 y* \2 i4 ?7 M
) N) T; h8 S4 d6 C7 b
5 e. T. s' V+ O; u' F' |/ H
' s p7 p+ ~! G! Q
1 Y) w: K n0 f) h! m4 N) l |