来自系列:火星任务机器人挑战赛
奥利维尔·杜福尔MathWorks
要求团队成员被要求在Mars机器人挑战中优化的初始算法概述。
您好,我的名字是Mathworks的olivier。该视频在2016年MARS机器人挑战上的上下文中录制了,我将为您提供当前算法的概述,您将不得不提高竞争。
在该模型中,我们将专注于包含机器人控制算法的InputProcessing子系统,更精确地培养了所有决定的脑图。
让我们开始仿真以遵循算法。
默认状态“Explore”控制机器人在速度模式下:变量模式设置为速度,这意味着我们将机器人的速度设置为cm/s,角速度设置为deg/s。如果没有发现障碍物,机器人将以50cm /s的速度向前移动(不旋转)。还有两种类型的障碍检测。避障是指机器人前方有障碍物,因此机器人停止(速度= 0),施加30°/s的角速度,直到完成避障。障碍物校正是指机器人一侧有障碍物,此时机器人减速(速度= 30厘米/秒),角速度为50度/秒。你可以看到角速度是通过“修正标志”计算出来的,这个变量会根据障碍物的位置给出转弯首选方向的信息。
只要摄像头没有检测到任何位置,机器人就会处于探索状态。当站点距离不等于0时,意味着相机正在检测到一些东西,当前状态变为TargetInView,根据相机信息(距离和方位变量)计算站点距离和角度。在这种模式下,机器人的速度会降低,角度速度会根据相机的数据进行设置。从TargetInView状态出去有两种可能:一个站点在视野之外,所以机器人返回探索状态,或者到目标的距离低于35厘米,GoToTarget成为当前状态。
当距离变得太小时(在这种情况下35厘米下),相机不再能够看到该网站。命令模式更改为距离,并使用最后计算值的距离和角度到达网站。
最后,通过机器人计算的剩余距离用于识别目标何时何时何时达到目标并切换到所有机器人移动停止的状态的“等待得分”状态。3秒后,机器人返回探索状态。
这是对机器人算法的这种简短介绍的结束,我希望它能够帮助您更好地了解机器人如何工作。随意添加/删除/修改此现有基础上的元素,并利用模拟以构建稳健和高效的算法。