PlotClock“小贱钟”彻底研究——模拟程序

PlotClock“小贱钟”彻底研究——模拟程序,第1张

首先升笑岁通过直观的分析,臂长和舵机的间距,对最终的可绘制区域肯定有影响。最直观的方法,就是将不同情况下的可绘制区域标识出来,这样我们就可以观察各个因素的作用。

通过软件来进行模拟,会是一个低成本且便于修改各个参数的方法。

于是决定使用Processing来进行模拟。有了上一篇帖子的基础,我们要建立这个模拟就相对比较容易了。我们首先确定我们需要使用的L1、L2、L3的长度。然后我们假设左一级摆臂,与X轴的夹角为30°。右一级摆臂与X轴的夹角也为30°。同时两个舵机的距离为150像素。根据这些参数我们就可以绘制出plotclock的线段模拟图。

这里有一个吵睁左右二级摆臂交点的确定方法。因为,左二级摆臂的主臂长度与右二级摆臂的长度相同。连接左一级摆臂与右一级摆臂的端点,将构成一个等腰三角形。所以,交点必定位于连接线的中垂线上。

如下图,所示:

因为α和θ是我们设置的,所以这个是已知量,并且L1是已知的,所以,左右一级摆臂的端点A和B的坐标就可以计算出来。

利用两点距离公式,我们可以计算左右一级摆臂端点的距离AB

因为最终拼接的三角形ABK是一个等腰三角形,其中AB是底边。所以K点必定在AB的中垂线上。AB的距离一直,则A到中点Z的距离等于AB的一半。因为角AZK是90°,则角KAZ可以通过反三角函数计算得出

获得了角度KAB,即可通过三角函数,计算出K点的坐标。

利用交点的坐标,以及持笔夹与主臂的角度,以及持笔夹的长度,即可计升蚂算出持笔夹的端点坐标。

最终得到如下的线段图。

我们只需要将角α、θ旋转即可获得持笔夹端点的所有轨迹,也就是PlotClock的绘制区域。具体的策略是:

通过实现以上的逻辑,并记录下每一个持笔夹端点的坐标,最终就可以模拟出所有的运动轨迹。在这里我们利用红色描绘这个轨迹。效果如下:

从上图我们可以发现,描绘轨迹的方法运行良好,我们得到了红色的轨迹点。但是发生了一个意外。在我们的模拟程序中,左一级摆臂与右一级摆臂交叉了。在实际的情况中,因为两个摆臂是在同一平面内,这种情况是不会发生的,也就是说我们得到的轨迹并不准确。

为了解决这个问题我们需要修改之前的逻辑。在第三步中,增加一个条件,判断两个线段是否相交。如果左右一级摆臂相交则,或α达到180则θ增加一度,通过将α置为0。通过以上的修改,模拟器能够正确的工作了。

最终的到如下的结果:

通过观察上图,可以发现,最终的轨迹图,并不对称,按理来说,左右摆臂的长度相同,预期的到的轨迹应该是相对于OC的中垂线对称的。但是实际的情况,确实整体的偏左了一些。

通过分析,这个机械系统中唯一不对称的部分就是持笔夹,而且持笔夹相对于对称轴也是偏左的。因此,我决定使用二级摆臂的交点K再次描绘一次轨迹。获得了一下的轨迹图

观察上图可以看到我们得到了一个完美对称的轨迹图。

通过以上的模拟结果,我们可以得到一下的几个结论。

利用模拟器我们可以做以下的探索

后续将继续分析不同的参数对轨迹的影响,以及求最大书写范围的方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12488946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存