MSE83 版 (精华区)
发信人: plaster (石膏手), 信区: MSE83
标 题: 4, 方案的确定(转载)
发信站: 听涛站 (2001年12月15日22:27:00 星期六), 站内信件
【 以下文字转载自 other 讨论区 】
【 原文由 plaster 所发表 】
【 以下文字转载自 plaster 的信箱 】
来 源: 166.111.163.76
在此之前,我们的三人小组还没有过一次正式的讨论。
坦克领到手的时候,我去找了j同学,j同学是自动化系的,虽然不熟,但是他是很豪爽
干脆的人。就算是不熟的人,只要有了一个共同的话题,就能很快熟悉起来。
我拿到坦克的速度的数据后,我们三个人第一次在一起讨论起来。
自动化系学的东西,果然是比较专业一点,j同学提出了一个滞回区的概念,就是说首先
承认绝对零度是不可能的,最终的目标是零度,但是不可能是绝对的,必须有一个宽度
。承认了这个宽度的存在,就产生了两条边界线,比如是正负5度。假设在一个固定的坐
标系中,我们的坦克原来是偏离目标20度,我们的目标是纠正到正负5度的范围之内,但
是当我们的坦克旋转到偏离目标4.9度的时候,我们不能就认为可以接受了,如果接受了
,那么我们的坦克可能永远就是平均偏离5度的状态,不能是平均0度的状态。我们可能
要等到坦克旋转到偏离目标2度的时候才接受。5度减去2两度得到3度,3度就是考虑滞回
区的效果。我这种表达是我的理解,可能不是很合乎概念,但是对于我们的坦克,就是
上述的效果。
第二次讨论的时候,我们通过了坦克的行走方案,就是大角度原地转弯,小角度用纠偏
,原则上是原地转弯加上直行。因为这种行走方案在编程上比较简单,只要判断坦克偏
离目标的角度,然后让坦克转弯,进入0度死区,然后就是直行。转弯的时候可以近似坦
克的中心点不动,不用在程序中考虑中心的偏移。而其它的转弯,则是带有一个转弯半
径R,在转过一定角度后,中心也随之偏移了,不得不重新计算轨迹。而且考虑到轨迹要
收敛,就是说,不能在逻辑上存在一个死循环,即在某种状态下,坦克可能原地打转,
而不能逐次逼进目标。考虑了种种原因,我们确定了这种行走方案,随之产生了9种坦克
的状态,也就是9个信息量。9个状态是:停止、直行、直退、顺时针转、逆时针转、顺
时针前纠偏、逆时针前纠偏、顺时针后纠偏、逆时针后纠偏。
因为只有9中状态,所以,理论上用4根信号线,2的4次方是16,所以4根线就足够了。而
且考虑到通讯模块发送一个字节需要两次,也就是说一次只发4位,如果采用8位的话,
高4位和低4位的更新不一致就会产生一个假码,所以,总总考虑之后,我们决定了,只
用4位信号,一来可以避免假码的问题,二来可以节省一半的时间,因为发送4位信号需
要100ms的时间,我们用了4位,就能比别人用8位信号节省了100ms。
决定了只用4位信号后,花了一个晚上,就把原理图画出来了,原理图十分简单,只用到
了一些数字逻辑门,还有几个三极管,继电器。四根信号线是这么使用的:1号线和2号
线分别控制两个电机的正反转,3、4两根线分别控制两个电机的电压,电压只分了三档
,9V,7.5V, 和4.5V。其中4.5V专门用于转弯的状态,由1、2两根线经过一个异或门来
控制。电路的通断用四条线经过一个或门来控制,所以0000表示的是停止的状态。
可以说,原理上是很简单的,只要学过数字电路就能看懂。继电器由一个驱动芯片驱动
三极管,三极管来控制继电器的吸合,至此,原理部分完全确定下来。
--
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家] --
※ 转载:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家]
--
※ 转载:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:0.961毫秒