首先通过直观的分析,臂长和舵机的间距,对最终的可绘制区域肯定有影响。最直观的方法,就是将不同情况下的可绘制区域标识出来,这样我们就可以观察各个因素的作用。
通过软件来进行模拟,会是一个低成本且便于修改各个参数的方法。
于是决定使用Processing来进行模拟。有了上一篇帖子的基础,我们要建立这个模拟就相对比较容易了。我们首先确定我们需要使用的L1、L2、L3的长度。然后我们假设左一级摆臂,与X轴的夹角为30°。右一级摆臂与X轴的夹角也为30°。同时两个舵机的距离为150像素。根据这些参数我们就可以绘制出plotclock的线段模拟图。
这里有一个左右二级摆臂交点的确定方法。因为,左二级摆臂的主臂长度与右二级摆臂的长度相同。连接左一级摆臂与右一级摆臂的端点,将构成一个等腰三角形。所以,交点必定位于连接线的中垂线上。
如下图,所示:

因为α和θ是我们设置的,所以这个是已知量,并且L1是已知的,所以,左右一级摆臂的端点A和B的坐标就可以计算出来。
Ax=cos(180-α)L1
Ay=sin(180-α)L1
Bx=cos(θ)L1+OC (因为C点相对于原点有一段位移,所以需要加上OC)
By=sin(θ)L1
利用两点距离公式,我们可以计算左右一级摆臂端点的距离AB

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

获得了角度KAB,即可通过三角函数,计算出K点的坐标。
利用交点的坐标,以及持笔夹与主臂的角度,以及持笔夹的长度,即可计算出持笔夹的端点坐标。
最终得到如下的线段图。

我们只需要将角α、θ旋转即可获得持笔夹端点的所有轨迹,也就是PlotClock的绘制区域。具体的策略是:
1.将α和θ都初始化为0
2.将α从0增加到180,每次增加1度
3.每当α增加到180度之后,则θ增加一度,并将alpha置为0
4.θ大于180度则退出否则返回步骤2
通过实现以上的逻辑,并记录下每一个持笔夹端点的坐标,最终就可以模拟出所有的运动轨迹。在这里我们利用红色描绘这个轨迹。效果如下:

从上图我们可以发现,描绘轨迹的方法运行良好,我们得到了红色的轨迹点。但是发生了一个意外。在我们的模拟程序中,左一级摆臂与右一级摆臂交叉了。在实际的情况中,因为两个摆臂是在同一平面内,这种情况是不会发生的,也就是说我们得到的轨迹并不准确。
为了解决这个问题我们需要修改之前的逻辑。在第三步中,增加一个条件,判断两个线段是否相交。如果左右一级摆臂相交则,或α达到180则θ增加一度,通过将α置为0。通过以上的修改,模拟器能够正确的工作了。

最终的到如下的结果:

通过观察上图,可以发现,最终的轨迹图,并不对称,按理来说,左右摆臂的长度相同,预期的到的轨迹应该是相对于OC的中垂线对称的。但是实际的情况,确实整体的偏左了一些。
通过分析,这个机械系统中唯一不对称的部分就是持笔夹,而且持笔夹相对于对称轴也是偏左的。因此,我决定使用二级摆臂的交点K再次描绘一次轨迹。获得了一下的轨迹图

观察上图可以看到我们得到了一个完美对称的轨迹图。
通过以上的模拟结果,我们可以得到一下的几个结论。
- 持笔夹与对称轴不对称,导致轨迹不对称。应该会对书写的效果有影响,估计是导致书写的线段不能平滑的原因。具体的影响以及缓解的方法还需要深入分析。
- 可书写的范围并不是一个矩形,为了获得最大的书写面积可以考虑异形的书写板。
利用模拟器我们可以做以下的探索
- 在舵机间距、摆臂长度确定的情况下,可以通过轨迹,求得最大面积的矩形书写范围。
- 分析摆臂长度固定,舵机间距对书写范围的影响。
- 分析舵机间距固定,不同摆臂长度对书写范围的影响。
- 分析不同的持笔夹角度对书写范围形变的影响
- 利用模拟器,我们根据目标书写板的面积要求,求出所需的摆臂长度、舵机间距等参数。
后续将继续分析不同的参数对轨迹的影响,以及求最大书写范围的方法。
网友评论