模块最大化
在制作机器人时,首先要考虑的因素就是摩擦力,要尽量减小。尤其是与轮子相连的这部份结构。这是因为轮子所承受的所有的重量都是由轴传递的。轮子就象杠杆,距离它越远,作用在轴上的力就越大,这个力可能会使轴弯曲,使梁变形,在梁与轴间产生很大的摩擦力。因此,在搭建时,应尽可能使办法靠进它要支持的梁。图5.5所示的三种情况:a最不可取,b次之,c为最好。
图5.5 使马轮子尽可能靠进它所要支持的梁。
建议在条件允许时,尽可能不要用一根梁支持承重轴。图5.6所示三种结构比图5.5所示更可取,而所有6种结构中,图5.6c所示结构为最佳结构,该结构中在轮子的两侧各有一支持梁,就象自行车,避免所有可能由轴与支持物上起的杠杆效应,将摩擦力降至最小。
图5.6
RCX的安放位置对移动机器人的行为影响很大。虽然整个机器人的重量决定机器人的行动,但由于RCX(及电池)是整个机器人中最重的组件,对平衡负载至关重要。任何物体都有保持原有运动状态的趋势。有时,是阻止加速。质量越大,需要改变速度的力越大。MINDSTORMS Constructopedia所示的Acrobot模型就运用了该原理原理。如果你已经搭建过该模型,是否奇怪它为什么会翻转而不是前进?这是因为机器人的惯性使它保持在原有的状态—即稳定性。一旦为马达提供动力,轮子即试图将动力转换为运动,为机器人加速。但是,由于其惯性很大,而路面阻力很小,这样,作用力使机器人的身体翻转过来而不是使轮子转动。一旦机器人翻过来,由于机器人的前面为非驱动轮,使得它不能再转动,就只好加速了。
通常,人们希望自己的机器人稳稳地停在地上。可以利用重力加速度来实现:使驱动轴远离负载远些。不需要复杂的运算,只要用机器人实践几次就行了–运行一个简单的程序:启动机器人、停止、转向,看看机器人怎么做。试着将RCX放在不同位置,直到你满意为止。
主装:底盘、模块与负载
使用MINDSTORMS中的部分组件,搭建图5.7所示的底盘。由于高度降低,它看起来很简单,我们一起来看一下:
图5.7 完整的平台
这个平台看起来就象一块三明治,用了两层梁,中间夹了一层板子。因为使用了垂直梁将各层锁在一起,使结构非常结实。注意机器人的内部,我们用1×3连接板代替1×4梁,这样,底盘的上面就很平整,很容易安放RCX或其他组件。
承重轴为两根#8轴(#8号轴的意思是指其长度为8个乐高单位),用于支持内侧与外侧的梁,并使轮子尽可能靠近支持梁。
采用第三章中介绍的方法,用带有导轨的1×2板固定马达(见图3.4),上面用两个2×4乐高板固定(图5.8),这个结构中,只需取下这两片乐高板,无需破坏整体结构,就可取下马达(图5.9)。
当然,也可以很方便地取下导向轮和两个主轮,用于其他项目(图5.10)。这里需要提出注意的是,导向轮非常特殊,它可以使两轮的机器人稳定、平滑转弯。设计好的导向轮需要很多技巧。
一般情况下,如果你只有一套机器人发明家系统套装,为了制作另外一个机器人,可能不得不拆掉整个模型。但是,如果你有更多的LEGO技术组件,你就可以保持你的机器人平台基本完整,只需取下马达和轮子就可以开始一个新项目了。
图5.9 取下马达
图5.10
现在,让我们来考虑负载和惯性,如果有LEGO遥控器,不需要任何程序即可检验。如果没有遥控器,建议你编写一个简单的,能使机器人运动、转弯的程序,不需要很复杂,如下面所示的伪代码就可以了,该程序使机器人前进、后退,然后原地转圈。
start left & right motors forward
wait 2 seconds
stop left & right motors
wait 2 seconds
start left &right motors reverse
wait 2 seconds
stop left &right motors
wait 2 seconds
start left motors forward
start right motors reverse
wait 2 seconds
stop left &right motors
将RCX安放在不同的位置,看看会发生什么情况。如果它只是简单转动主轮轴(图5.11),就象Acrobot一样,很容易翻车。
图5.11 RCX安放位置不合适,会造成器人的不稳定。
将RCX向导向轮方向移动,会发现机器人越来越稳定(图5.12),虽然在机器人启动或停止时有些弹跳,却不会再翻车了。
图5.12 RCX位置合适,可以改进机器人的稳定性。
小结
分层:可以使你的机器人结实,结构合理。回顾一下第一章中讲的,用梁和板子分层叠放,再用垂直的梁加固,可以得到轻巧、稳固的结构。结构的稳定不是就需要很多组件,而在于设计中的技巧。
模块化:可以节约您的时间,使您可以将一些组件重复用在其他项目上。这点对于一些贵重件,如传感器、马达,尤其是RCX,颇为重要,因为这些组件比较贵,且无法替代,要牢记这一点。不只是单个组件,甚至还可能是整个子系统(如导向轮),在需要时,都可以从一个机器人上取下来,安到另一个机器人上去。
平衡:是车辆稳定的关键。尽量降低你的机器人小车的重心,以减小惯性及其不稳定性。试着将负责放在不同位置,尤其是RCX,使机器人最好地适应加速、减速过程。在第十五章我们将深入讨论这个问题,我们在该章将学习如何搭建步行机器人(平衡问题将至关重要)。
我们并不是总能能够实现这些想法。有时,由于多种因素,我们可能要考虑一种折衷的方案,例如,要求紧凑,可能会与模块化意向冲突。强调外型,如第18章中引入的电影形象模型中使用的,可能使我们不得完全遵循这里谈到的一些规则,但并不是说它们是冲突的。把它作为指导思路,但不要受其束缚,去做你想做的。