折腾来折腾去

pikipity的blog

Yaskawa 3D 模型画圆的改进

《3D Yaskawa 机器臂演示(Matlab)》中,我展示了我用 Matlab 制作的 Yaskawa 3D 模型,其中 Demo2 的画圆部分是有问题。最初考虑,如果想要匀速画圆,那么向心加速度是一定的,于是不停地在考虑,如何改进 Simulink 的 model 使其通过向心加速度来计算出相应的 x,y,z 方向上的速度,进而计算需要的角度,最终也没有想出来。最近,又重新思考了这个问题,发现自己完完全全是想多了。

重新定位现在遇到的问题:找出匀速圆周运动的速度在三个坐标轴上的分解量。由于我要画的圆只是在一个水平面上,z 轴的分解量是0,那么也就是:找出匀速圆周运动的速度在 x,y 两个坐标轴上的分解量。进而继续简化问题,就得到了:找出一个大小恒定的向量在 x,y 方向上的分解量。于是问题瞬间简单了,根据下图所示,

$$V_x=V\sin(\alpha+\frac{\pi}{2})$$

$$V_y=V\sin(\alpha)$$

计算 x,y 轴上速度的分量

也就是说,将之前 Simulink 中 Vx 和 Vy 换为两个 sine wave 就可以了。这么简单的问题竟然让我想了这么久。。。

替换之后,不仅仅运行速度大大提升,画出来的圆也更圆了。问题解决。



Comments