多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 机器人软件设计 ## 运动规划 使用此算法,我们设置最大向前左右移动速度为2.5,最大后退速度为0.2,障碍物之间的最小距离为0.32。它具有一定的灵活性、适应性而且有很好的避障能力,但有时也会出现实时的情况规划不够合理,需要与基本控制权,需要修改和调整。 运动规划系统具有三大结构的功能:使机器人能够移动到达指定的位置、获取到自身的地图信息和机器人自身在地图中的位置信息。主要包括定位模块提供的 场地地图、机器人自身的位置信息、目的位置信息,以及友方机器人信息和对方机器人位置信息。在这些信息基础上进一步做路径规划。 首先有一个全局的路径的规划,就是由于机器人不可能实时的检测到场地中的所有的位置信息。但是场地的固定特殊物体机器人是已知的(障碍块、围墙、防御加成区等),所以会根据这些已知的信息先前存储到机器人自身内部做一个全局地图。 在一些非固定的障碍物物体信息中(友方机器人位置信息和对方机器人位置信息),将这些信息重新规划为一个本地的地图,本地地图的地图数据是实时变化的,在真正的路径规划中,本地地图是占主导位置的,首先确保本地的路径规划是没有问题,并实时更新本地地图的数据,及时清除过时的障碍物信息。确保本地地图数据的准确性。 做路径规划的时候,我们首先根据全局的静态地图找到一条最短的运动路径,当机器人在按照这个根据全局地图所找出的路线运动时,再根据本地的动态地图实时去更新我们的局部最短路径,在全局静态路径规划中,使用算法A\*。但是,实时在实际应用中,我们通常依赖于局部动态路径规划并使用定时弹性带算法。 在做静态地图的路径规划的同时,本地动态地图的路径规划也显得尤为重要,这里我们使用了D\*( D-Star,Dynamic A Star)来处理本地动态地图的路径规划。当机器人按照静态规划的地图运动时,会根据动态地图来判断下一个位置点是否可以移动,如果不可移动,那么就根据D\* 算法重新对局部做一个路径规划从而获取一个新的、可以避开当前障碍物的新规划。 对于在运动过程中,发现地方机器人和自身状态出现不同情况时,该如何选择一个合适的目标点,这个问题则由我们的智能决策来完成。