×

自动大理石迷宫求解器

消耗积分:0 | 格式:zip | 大小:0.57 MB | 2022-12-15

陈秀珍

分享资料个

描述

主意

我从 Ahmed Azouz 项目中获得灵感,因为它是机械工程和编程的完美结合。但我不想只是复制他的作品,我想使用一种新的功能方法。

方法

我的方法是编写一个求解算法来找到穿过每个迷宫的方法,并计算 2 个伺服电机(X 和 Y 轴)的参数,以控制 X/Y 平台,使大理石通过迷宫移动。

设置

我为迷宫选择了12cmx12cm(每个正方形1cmx1cm)的尺寸。任何其他大小也可以,并且可以在代码的标题中进行调整。无论如何,12x12 足够大,足以显示算法的原理,并且是可行的,因为您必须将每个迷宫粘合在一起。

迷宫的建造

我使用了一个 1cmx1cm 矩形的打印模板。然后我在上面画一个迷宫。从起点 (S) 到终点 (E) 应该至少有一种解决方案/方式。

pYYBAGOYAcqAKKpWAACuJEtWwD8967.jpg
每个迷宫的底板 12cmx12cm
 

下一步是将纸板粘在阴影区域(墙壁)上。高度应在0.5-1cm之间。确保球能够一直通过,尤其是。边缘。

pYYBAGOYAc-AJ7HAAADfWMbW7qs651.jpg
迷宫#2。组装完成。
 

机器的构造

主要建筑材料是纸板。随着时间的推移,我对这些 12 毫米 3 层纸板有了很好的体验。它易于处理且坚固耐用。对于这个项目,我使用了 OLED I2C 128x64,因为我以前从未使用过,我很高兴能使用它们。OLED 的使用需要一些库。我选择 Adafruit 的。它们很容易处理。然而,巨大的尺寸需要一个 MEGA 板。如果您想使用没有任何动画的标准 LCD,Arduino UNO 就可以了。作为输入设备,我使用了一个标准的 4x4 键盘,它也可以在手动模式下控制弹珠。

poYBAGOYAdSAY_qEAADsrKaPc5U048.jpg
带有键盘和 Arduino 板的底板。
 

 

pYYBAGOYvcuAPvYaAABw9N3MGow581.jpg
带有胶合键盘和 Arduino 凹槽的底板
 

下一步是为 x 和 y 维度构建可移动平台。标准步进电机 SG90 完全适合该用例。12 毫米厚的纸板使它们保持稳定的位置。也使用了热胶。电机的旋转轴应恰好在侧壁的中间。平台。

poYBAGOYvc6ASP2UAAEde62AxY8931.jpg
Y轴平台后侧壁,X轴平台用SG90电机
 

 

poYBAGOYvdKAIGVCAADvqj-7mfY570.jpg
X轴平台组装成Y轴平台
 

确保电机的孔至少在 x 轴上正好位于侧壁的中间。

pYYBAGOYvdWAMYO4AACPkcI0IV0798.jpg
将 Y 轴平台安装到底板的主侧壁上。
 

Y 轴平台安装在 SG-90 小齿轮的左侧。在右侧,我用 appr 打了一个洞。6-7mm 直径,确保 M5 螺丝穿过并可以轻松转动,但不太容易。在墙壁之间,您应该使用一些垫圈。最后一步是 X 轴平台的组装。现在两个平台都可以相互独立转动。

pYYBAGOYvdeAEeJaAADQWwSqyY4954.jpg
就快结束了。
 

迷宫可以放置在 x 轴平台上。

pYYBAGOYveOAA_NSAAYQUHP50mM190.jpg
终机。
 

维度的一些数据。

dimension in (cm)             X    Y    Z 
Base plate:                  30   26    -
Side walls (on the bottom):  -    18   20
Side walls (on the top):     -     8   20
Y-axis-platform (outer d.):  15  16.5   6
X-axis-platform (outer d.):  13   13    4
 

 

算法

纸板迷宫用 0 和 1 进行二进制编码(0 - 墙壁;1 - 空格)。您可以对任何迷宫进行编码。为了计算从起始点 (S) 到结束位置 (E) 的路径,我使用了左手算法。该算法可能找不到最短路径。在下一个软件版本中,我将考虑不同的算法。在计算出方式之后,必须确定电机控制参数。为了方便起见,选择的每个平台的倾斜角度在每个方向上定义为 10 度。另一个参数是平台保持在 -10/0/+10 度的时间。这个时间取决于大理石的先前运动。如果弹子已经朝着一个特定的方向前进,那么在同一方向上下一步的时间会更短,因为弹子已经加速到特定的速度。

看法

迷宫应该用 Pixy2 相机自动记录。到目前为止,迷宫是用矩阵中的二进制代码(0/1)描述的。然后计算路径(现在已经实现)并控制球。一种新方法是使用摄像头监控球的速度和位置,并在必要时调整电机参数,例如简单版本的机器学习。一个目标可以是最快的可能速度,也可以是从开始到结束的最短时间。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !