3.2 机器人软件设计 3.2.1驱动控制设计 驱动控制设计包括各个模块的初始化、模块之间的通信和上位机软件设计。该文采用与STM32F103VCT6配套的MDK-ARM作为开发环境,完成各个模块初始化和通信,上位机软件采用VC++开发。具体的各个模块软件实现的功能及工作流程在系统的工作原理和流程中已经介绍,这里不再叙述。
3.2.2 路径规划 路径规划主要可分为全局路径规划和局部路径规划,前者是指在环境信息完全已知的情况下,机器人规划一条从初始位置到目标位置的无碰撞最优路径;后者由于环境信息是未知的,需考虑局部的特定情况来进行路径调整。 机器人移动过程中利用电子罗盘进行姿态调整,即调整前进方向,努力寻找一条最快捷的路径到达目标位置。机器人姿态调整主要取决于当前位置和前一位置与目标位置的距离,包括横向距离和纵向距离。若当前位置与目标位置的横向距离和纵向距离分别小于或者等于前一位置与目标位置的横向距离和纵向距离,表明机器人与目标位置的距离在逐渐缩小,机器人在朝目标位置前进,否则就说明机器人没有按预期的轨迹前进,需要再次进行姿态调整。姿态调整示意图如图2所示。 局部路径规划包括避障处理、振荡位置分析、房门位置搜索和过房门策略分析。在机器人移动过程中,需要不断探测周围环境,从而更好地决定下一步动作。五个红外传感器数据使机器人时刻掌握周围环境,避障处理要求机器人合理避开障碍物,向目标位置移动。 振荡位置指的是机器人不能顺利通过某一位置,而在这一点附近反复来回走动。如果起始位置和目标位置分别在两个房间,在全局路径规划思想的指导下,机器人会在两间房的公用墙边不断徘徊。振荡位置分析示意图如图3所示。
当机器人到达振荡位置时,需要调整路径规划策略,此时放弃全局路径规划策略,选择直接以公用墙为基准墙搜索房门。沿墙走算法的基本规则是:当机器人不断靠近墙面时需要调整两轮速差使机器人朝偏离墙面的方向前进;当机器人不断远离墙面时,则需要调整两轮速差,使机器人朝靠近墙面的方向前进。综合调整的结果是机器人的前进轨迹是以基准线为轴的类正弦曲线,沿墙走轨迹如图4所示。 过房门是机器人完成任务必不可少的一个环节,怎样确保机器人顺利穿过房门是任务成功的关键。机器人准备过房门时并不是正对房门,可能向左侧或者右侧不同程度的倾斜。根据倾斜程度的划分,机器人检测相对应的红外传感器距离值,不断调整机器人姿态,使机器人正对房门并顺利通过。
4 结束语 本文设计的家庭服务机器人系统,为智能家居环境服务对象的需求任务提出了详细可行的解决方案。整个系统应用了基于XBee模块的主流无线通信技术,以保证数据的传输速率。此外,对轮式机器人的模块化设计具有结构简单和性能稳定等特点,大大提高了家庭服务机器人的可靠性,并且降低了系统的硬件成本。自主决策过程中的路径规划,使得机器人能够快速沿着最合适的路线移动。总之,该设计系统对家庭服务机器人相关问题的解决提供了可借鉴的方法。
|