如果你是一个饭馆老板,使用机器传菜,但是你的店里偏偏有一个坡道,于是:

ev3编程完了怎么玩(年薪百万传菜工)(1)

这个问题其实用一个陀螺仪传感器 算法就能解决。

我们可以给机器人安装可倾斜的装机械平台和陀螺仪传感器,通过传感的读数来调整平台的倾斜角度,这样它就能保持水平了!

首先我们要知道EV3陀螺仪的性能。

它可以感知角度变化,还可以检测速率(所谓速率就是每秒转多少度)但只能检测一个轴的。

我们所生活的三维世界是三个轴,对于任何一个三维物体而言,我们都可以通过以下三个轴来表示它的倾斜状态。

俯仰

ev3编程完了怎么玩(年薪百万传菜工)(2)

横滚

ev3编程完了怎么玩(年薪百万传菜工)(3)

偏航

ev3编程完了怎么玩(年薪百万传菜工)(4)

所以,想要做一个端菜不洒的机器人,你需要确定你想修正的角度。

ev3编程完了怎么玩(年薪百万传菜工)(5)

这是一个规则的斜坡,如果你直上直下,不在斜坡上走斜线的话,那么这个斜坡只会改变车子的俯仰角。以此,我们推断,平台针对俯仰角上的倾斜做出补偿,传感器自然也就需要侧向安装,把有标记的一面朝向俯仰角的轴。

传感器有两个位置可以安装,一个是装在平台上,编程的策略就是始终保持传感器角度为“0”。然而在实际操作中,我们发现即便是用蜗杆驱动平台,平台的晃动依然很大,不足以让传感器保持在稳定的状态。第二个安装位置就是安装在车身上,根据车身倾斜和平台机械臂的传动比,计算出电机应该转多少度。

但是这仅仅是解决了转的问题,无法解决速度的问题。倾斜的过快,平台的校正太慢,平台上的东西该倒还是会倒。这个速度就是速率了。我们还需要将速率和电机功率挂钩。然而实际的速率和车子的速度以及坡度有直接关系,但是算法这么做就太复杂了。于是我打算采用一种动态算法——电机功率=当前速率 当前角度。

ev3编程完了怎么玩(年薪百万传菜工)(6)

唉?为啥还要加上当前角度呢?如果你单纯的使用速率当作电机功率,那么你会发现当车子的俯仰角度不再变化的时候,平台的校正动作就停止了!因为那时候,车子的俯仰角不再改变,速率也就是“0”了,所以我们需要给电机一个数字用作补偿。

这个数字最好能够根据俯仰角产生一定的变化,角度越大数字越大,并且能够有自动在俯、仰之间切换正、负值。这不就是角度么。所以电机功率就设定为速率 角度了。

当然,我们不能让电机永远转下去,校正过度平台上的东西也会倒。什么情况下停止呢?

当(电机的角度传感器/8)-陀螺仪角度=0(±1)的时候,电机就可以停止了。写成程序是这样的:

ev3编程完了怎么玩(年薪百万传菜工)(7)

为什么是一个范围而不是=0呢?——因为误差这个东西有时候是一件好事,你会发现当你把差值设置为0的时候,你的整个平台都会变得特别不稳定,这个误差反而让平台变得稳定了。这就是为何我们一直使用实体机器人教孩子编程,想要把机器人玩转,孩子们除了考虑理论之外,还要考虑实际应用中所面临的各种情况。

最后,让我们一起来看看最终结果是啥样的:

ev3编程完了怎么玩(年薪百万传菜工)(8)

以下是本期视频中出现的

机器人搭建图和程序分享链接,供大家参考

ev3编程完了怎么玩(年薪百万传菜工)(9)

ev3编程完了怎么玩(年薪百万传菜工)(10)

ev3编程完了怎么玩(年薪百万传菜工)(11)

ev3编程完了怎么玩(年薪百万传菜工)(12)

ev3编程完了怎么玩(年薪百万传菜工)(13)

ev3编程完了怎么玩(年薪百万传菜工)(14)

ev3编程完了怎么玩(年薪百万传菜工)(15)

ev3编程完了怎么玩(年薪百万传菜工)(16)

ev3编程完了怎么玩(年薪百万传菜工)(17)

ev3编程完了怎么玩(年薪百万传菜工)(18)

ev3编程完了怎么玩(年薪百万传菜工)(19)

ev3编程完了怎么玩(年薪百万传菜工)(20)

ev3编程完了怎么玩(年薪百万传菜工)(21)

ev3编程完了怎么玩(年薪百万传菜工)(22)

ev3编程完了怎么玩(年薪百万传菜工)(23)

ev3编程完了怎么玩(年薪百万传菜工)(24)

ev3编程完了怎么玩(年薪百万传菜工)(25)

ev3编程完了怎么玩(年薪百万传菜工)(26)

ev3编程完了怎么玩(年薪百万传菜工)(27)

ev3编程完了怎么玩(年薪百万传菜工)(28)

ev3编程完了怎么玩(年薪百万传菜工)(29)

ev3编程完了怎么玩(年薪百万传菜工)(30)

ev3编程完了怎么玩(年薪百万传菜工)(31)

ev3编程完了怎么玩(年薪百万传菜工)(32)

ev3编程完了怎么玩(年薪百万传菜工)(33)

ev3编程完了怎么玩(年薪百万传菜工)(34)

ev3编程完了怎么玩(年薪百万传菜工)(35)

ev3编程完了怎么玩(年薪百万传菜工)(36)

ev3编程完了怎么玩(年薪百万传菜工)(37)

ev3编程完了怎么玩(年薪百万传菜工)(38)

ev3编程完了怎么玩(年薪百万传菜工)(39)

ev3编程完了怎么玩(年薪百万传菜工)(40)

ev3编程完了怎么玩(年薪百万传菜工)(41)

ev3编程完了怎么玩(年薪百万传菜工)(42)

ev3编程完了怎么玩(年薪百万传菜工)(43)

ev3编程完了怎么玩(年薪百万传菜工)(44)

ev3编程完了怎么玩(年薪百万传菜工)(45)

ev3编程完了怎么玩(年薪百万传菜工)(46)

ev3编程完了怎么玩(年薪百万传菜工)(47)

ev3编程完了怎么玩(年薪百万传菜工)(48)

ev3编程完了怎么玩(年薪百万传菜工)(49)

ev3编程完了怎么玩(年薪百万传菜工)(50)

ev3编程完了怎么玩(年薪百万传菜工)(51)

ev3编程完了怎么玩(年薪百万传菜工)(52)

ev3编程完了怎么玩(年薪百万传菜工)(53)

ev3编程完了怎么玩(年薪百万传菜工)(54)

ev3编程完了怎么玩(年薪百万传菜工)(55)

ev3编程完了怎么玩(年薪百万传菜工)(56)

程序链接:

链接:/s/1x9acgEAx4ASHad54mk32vg

提取码:n5hf

由于时间仓促,程序并没有经过优化,喜欢分享的小伙伴可以将优化过的程序发给我们,让我们看到你的优秀!

OK,本期的分享就到这里,我是在影视公司玩乐高的二牛,如果你喜欢我们的内容,欢迎您点赞和转发。

,