你好,我是来自MathWorks的Olivier。这段视频是在2016年火星任务机器人挑战赛的背景下录制的,我将给你一个关于当前的算法的概述,你将需要在竞争中改进。
在这个模型中,我们将重点关注InputProcessing子系统,它包含了机器人控制算法,更准确地说,是所有决策的大脑图。
让我们按照算法开始模拟。
默认状态“Explore”控制机器人的速度模式:变量模式设置为Speed,表示我们将机器人的速度设置为cm/s,角速度设置为deg/s。如果没有检测到障碍物,机器人将以50cm /s的速度前进(不旋转)。还有两种类型的障碍检测。避障是指机器人前方有障碍物,机器人停止运动(速度= 0),并以30℃/s的角速度运动,直至避障完成。障碍物校正是指机器人的一侧有障碍物,此时机器人减速(速度= 30 cm/s),并施加50℃/s的角速。你可以看到角速度是用“修正符号”来计算的,这个变量根据障碍物的位置给出了最佳转弯方向的信息。
只要摄像头没有检测到站点,机器人就处于Explore状态。当位置距离不等于0时,表示相机正在检测某物,此时状态变为TargetInView,根据相机信息(距离和方位变量)计算位置距离和角度。在这种模式下,机器人的速度会降低,角速度会根据摄像头的数据进行相应的设置。从TargetInView状态出发有两种可能性:要么站点不在视图中,因此机器人返回来探索状态,要么到目标的距离小于35厘米,然后GoToTarget成为当前状态。
当距离变得太小(在本例中小于35厘米),相机就无法看到该位置。将命令模式改为距离,使用最后计算的距离和角度值到达现场。
最后,机器人计算出的剩余距离用于识别何时到达目标,并切换到“等待得分”状态,此时机器人的所有动作停止。3秒后,机器人返回探索状态。
这是对机器人算法的简短介绍,希望能帮助您更好地了解机器人的工作原理。您可以在现有的基础上随意添加/删除/修改元素,并利用模拟来构建一个健壮且高效的算法。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站表现。其他MathWorks国家站点不适合来自您所在位置的访问。
这个网站使用cookies来改善你的用户体验,个性化内容和广告,并分析网站流量。继续使用本网站,即表示您同意我们使用cookies。请参阅我们的隐私政策了解更多关于cookies和如何更改您的设置。