玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

您可能想知道我们能否让LEGO Spike机器人像在FLL或WRO竞赛地图上一样在家完成一项任务。 但是,如果我们没有这些地图怎么办? 我们必须购买这样的地图来训练乐高机器人车辆吗? 答案是不。 您只需创意就可以在家中为机器人创建独特的任务

在这篇文章中,我将介绍一个示例任务。 如上图所示,机器人车辆需要从底部开始,找到弯曲的红色路线并越过两个间隙。 之后,它需要在交叉路口转弯并到达另一个基地。 车辆需要捡起一个球并将其发送到初始基地。 演示视频如下所示。

在以下各节中,我将介绍控制程序。 如果您对代码感兴趣,可以通过文章末尾的链接下载。

端口连接如下所示。

主要部分

主要部分包含任务的所有关键步骤。 请注意,在每次运行之前,我们需要确保抬起并打开前附件夹子。

该任务的第一步是从基地开始寻找红色路线。 之后,程序将使用“ simple_follow_line”块单独向前移动该行。 跨越两个间隙后,程序将使用“转弯并到达目的地”程序段到达另一个基座,并调用“ Up_down_fork”和“ Move_clip”放下前端附件并合上夹子以接住球。

然后,程序将调用“ Comeback”块以返回初始基数。 它调用“ Move_clip”和“ Up_down_fork”以松开夹子并抬起前附件。 最后一步是让车辆收回10厘米并停下来。 任务完成!

1617813765 178 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

每个块及其控制顺序的说明如下所示。

1617813767 625 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“启动”块

在此块中,程序通过调用“以50,0%的速度移动150度”来右转。 150度是估计值。 如果您的地图尺寸与我的地图尺寸不同,则需要调整此值。 之后,车辆直行直到到达红线。

1617813767 622 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“ Simple_follow_line”块

该挡块可确保车辆独自行驶红线。 由于LEGO Spike的颜色传感器无法很好地区分繁文tape节和地面的反射光,因此我使用简单的线跟随器(使用传感器的颜色属性)来确定路线。 因此,车辆将沿着锯齿形的红线行驶。 如果使用黑色胶带,则路线与地面之间的反射光差异足够大,可以使用比例线跟随器方法,效果可能会更好。

在该块的开头,程序将“ passed_gap”设置为0并重置计时器。 当端口D的颜色传感器识别为红色时,请再次重置其计时器。 当计时器> 2时,表示机器人车辆在最近的2秒内找不到红线。 程序判断它遇到间隙。 它称为“ cross_gap”块,我将在稍后介绍。 车辆经过两个间隙后,该程序块完成其任务并退出。

1617813767 468 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“ Across_gap”块

在程序段开始时,车辆将倒车,直到偏航角达到一定值为止。 请注意,在上一个块“ Simple_follow_line”中,每当车辆到达红线时,偏航角都将设置为0。因此,当车辆倒车直至偏航角为-12时,它将恢复到该方向稍微偏左的方向。偏航角0。

那么,为什么不恢复到偏航角0的方向呢? 这是由于简单的行跟随器方法的限制。 由于车辆仅沿曲线行进,因此即使颜色传感器沿红线行驶,车辆也可能会偏离路线方向。 此外,程序不确定车辆是否向路线的左侧或右侧倾斜。 为了补偿此错误,程序使车辆倒退到偏航角-12。 车辆直线前进越过间隙后,程序使车辆右转以再次找到红线。

那么,如果我只是使其恢复到偏航角0,会发生什么? 车辆将向前行驶以越过间隙并停留在红色路线的左侧或右侧。 程序无法决定引导车辆转向哪个方向以再次找到红线。

1617813768 939 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“转身到达目的地”街区

该块有两次迭代。 在每次迭代中,车辆都会沿着路线行驶,直到两个颜色传感器都识别出红线为止,这意味着车辆到达了十字路口。 在第一次迭代中,车辆将以0%,50%的功率移动200度向左转。 之后,它进入第二次迭代。 车辆仍沿红线行驶,直到到达下一个十字路口,该十字路口是另一个基准的前边缘。 车辆停止行驶,该挡块完成其任务。

1617813768 315 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“ Move_clip(打开?)”块

该块负责打开和关闭夹子。 在程序段的开头,程序将电动机B的相对位置设置为0。如果“打开?” 如果变量为T,则电动机B将顺时针旋转225度以打开夹子。 如果“打开?” 如果变量为F,则电动机B将逆时针旋转225度以闭合夹子。

1617813768 275 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“ Up_down_fork(向上?)”块

该块类似于上面的“ Move_clip”块。 区别在于“ C速度”的附加条件判断。 20英寸时,当电动机C接地时,条件判断为True,电动机C停止,该块完成其任务。

1617813768 826 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

“ Comeback”块

接住球后,机器人车辆将返回初始位置。 它不会选择先前的路线。 相反,它向左转并向前移动128厘米。 之后,它再次向左转。 它将面对基地的前期。 请注意,128厘米的距离是根据反复试验得出的。 如果您的地图不同于我的地图,则需要将其值调整为适当的值。 下一步是使车辆前进。 当两个颜色传感器都识别出红色(它是底座的前边缘)时,它将停止。

1617813768 726 玩乐高Spike P - 玩乐高Spike Prime-在家为机器人设计任务-第1部分-乐高编程乐趣

在主代码段完成执行“ Comeback”块后,它将调用“ Move_clip”放下球。 之后,程序将调用“ Up_down_fork”块来抬起其前端附件。 车辆的最后一步是后退10厘米,以指示其任务已完成。

这就是控制机器人车辆的程序的全部内容。 对LEGO Spike Prime感兴趣吗? 绘制自己的地图并立即对机器人车辆进行编程。 不要忘记享受乐高编程并玩得开心!

最后,如果您对上面的代码感兴趣,可以在此处下载作为参考。

注意:所有分析文章均为乐高少儿编程的版权产品。 重新张贴它们的任何人都应归功于作者和原始出处。 任何将其用于商业目的或将其翻译成其他语言的人均应通知少儿编程并首先获得确认。 版权所有。

zChocolat.com 被《顶级消费者评论》评为“ 2019年最佳巧克力商店”,被食品网络评为“顶级5巧克力礼物”,被《华尔街日报》评为“网络上鲜为人知的最佳礼物网站”,被《华尔街日报》评为“最佳巧克力商店”。 洛杉矶时报,《纽约时报》的“最佳当下创意”,华盛顿大学邮报的“超越现实”,并在TrustPilot上维持4.9 / 5的评分,并有超过2K的特殊评论。

通过DHL向全球244个国家/地区提供世界一流的法国巧克力,由世界冠军巧克力大师Pascal Caffet手工制作。

Novakid学校 是一所针对儿童(3岁以上)的在线英语学校,提供几种类型的私人课程包,根据课程数量和教师职业而有所不同。

更多内容

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top