描述
您是否曾经对甜食感到渴望,但意识到它们隐藏在一些无法穿越的障碍后面。只有一台机器适合这项任务……饼干士兵。
Cookie Soldier 基于 Dan Block 教授的 segbot,这是一个为伊利诺伊大学厄巴纳-香槟分校的 ME461(机械系统的计算机控制)完成的项目。通过更换一个最初用于控制板载 LED 的前按钮,我连接了一个碰撞开关。碰撞开关本质上是一个更大的按钮。我在颠簸开关上连接了一根杆,以获得稍微更敏感的感觉能力。我将凹凸开关的末端焊接到按钮的切割线上,并将其粘在机器人的前面。
让机器人转动是一个相当大的挑战。ME461 提供了基本转动代码,但右转包括将左电机保持在原位并反转右电机,而左转则使右电机向前旋转,但左电机略微向后移动。这意味着两者之间的转弯半径略有不同,因此我需要校准转弯半径以确保它们大致相同。
此外,连续左转或右转的距离与第一次不同。这只发生在有 2 个或多个相同方向的转弯接连发生时。同样,为了抵消这一点,必须进行校准以允许正确发生转向。
当机器人的碰撞开关被激活时,它会停在原地,然后反转。为了确定它需要往回走多远,它会在碰撞触发的实例中保存电机的位置,将速度设置为后退,并从前一个位置减去当前电机的位置,一旦差值超过编码器值就停止. 该编码器值距离是通过找到车轮的周长来计算的。将乘数添加到阈值以进行校准。
通过分析路线,您可以利用颠簸开关将机器人设置为遵循特定的方向。只需将机器人设置为向前移动,并通过跟踪碰撞计数,就可以进行简单的函数调用来引导机器人遵循特定路径。这是在软件中断部分完成的。
一旦机器人获得奖品,它就会触发最终的碰撞计数值函数并显示消息“COOKIES!!!” 在 LED 上。左上角和右下角的 LED GPIO 用于不同的目的,因此不显示。这在 LED 的“K”字符上尤为明显。
但是,需要进行一些修复。首先,代码比预期更早地进入软件中断,因此需要添加一个初始的 bumpCheck 变量来查看是否发生这种情况。接下来是连续转弯的校准,这很难校准,因为一些距离变化看起来几乎是随机的。此外,备用距离与是否将进行右转或左转有关,因为两者的曲率半径不同。因此,我制作了半后备功能和全后备功能,机器人将向后移动不同的距离。
这个项目当然很有趣,也是一个很好的学习经历。总的来说,工作很棒,我将继续修补 segbot。我计划为移动时在 LED 上显示的路径添加功能,并让机器人在到达终点时使用压电播放歌曲。
感谢 Dan Block 教授本学期提供的帮助,感谢 TI 提供 F28379D Launchpad 板,很高兴能参与其中。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !