从零开始 发表于 2022-3-3 01:04:07

已知凸轮轮廓-反求滚子从动件运动规律-逆向工程小实例

大概一两个月之前,山庄微信群有位社友问已知凸轮的轮廓怎么求从动件的速度和加速度曲线,我的第一反应是这“不是正确的设计凸轮的流程”,应该先定从动件运动,再定轮廓,当然我现在也是这个观点,凸轮设计还是应该走”正向“;当时,我刚跳槽到新东家不久,公司把买的德国凸轮软件(相当好的软件,有空推荐下)使用权交给了我,在慢慢熟悉这个软件之后发现,它是有”从凸轮轮廓反求运动方程“这个功能的(当然许多三维软件也可以做),于是就思索,没有这些钮的话,如果确实有这个需要,我该怎么实现,于是思索了两天,琢磨出一个我觉得比较完整且靠谱的方法。
以摆动式滚子从动件凸轮为例,已知平面凸轮实际轮廓(或以离散点形式表示),和必要的几何位置关系,如何反求从求从动件运动方程。
第一步,求凸轮的理论轮廓。重要的第一步,要求凸轮理论轮廓(pitch curve),你需要求出每一点的切向量,继而求出单位法向量,从实际轮廓每一点,沿着这个点的单位法向量向外或向内偏移一个Rf的距离(取决于凸轮是外接触还是内接触), Rf为滚子半径。涉及的数学内容为平面曲线的基本理论,包括切向量,法向量,顺便还可以求出曲率,这几个量是息息相关的。对于离散点构成的曲线,最好采用数值方法,比如构造一个二次参数曲线,此曲线能够通过相邻的三个点。
第二步,求滚子在理论轮廓某个位置上,对应的从动件摆臂销轴的位置。无疑,这时你会有两个解。涉及的数学内容为基础的方程组求解。
第三步,上一步中得到两个解,你需要选择一个,就是摇臂与中心连线(凸轮中心和摇臂销轴中心)的夹角,你需要选择同一符号的(除非是平面分度凸轮这样的特例,一般此角不会改变符号)。怎么选呢,琢磨许久发现其实特简单,以摇臂销轴为中心为原点,构造两个向量分别代表摇臂和中心连线,两个平面向量叉乘即可判定夹角正负。涉及的数学内容为基础向量代数
第四步,对理论轮廓上每个采样点都执行第二、三步的计算,你就会得到一系列的 摇臂与中心连线的夹角(摆臂的角位移) vs 中心连线的转角(其实就是凸轮转角的反转)的对应关系,此即为 位移-转角曲线。
第五步, 第四步的得到结果有个问题,其凸轮转角一般是不均匀的,不适宜于用高阶有限差分去求导,这时你可以这个位移-转角曲线进行插值计算,求出均匀间隔的转角对应的位移, 得到新的位移-转角(系列)。涉及数学,插值。
第六步, 有限差分获得速度,加速,越度曲线。 涉及数学,有限差分。
以上过程其实每一步都是比较基础的数学,我用excel加少量python代码实现了,用excel做出了下列示意图,结合这几张图,整个过程应该比较清楚了。
山庄微信群我已退出,不知那位庄友能否看到此贴,此贴是否对他有帮助。




从零开始 发表于 2022-3-3 15:26:51

第一步的解释,求离散点代表的曲线的切向量,法向量和曲率。
实际上这个方法来自一个知乎博主,我理解了他这个方法的意义,重新更仔细的解释了一遍。他的这段代码我一直在用[憨笑]。
大家可以看他的原文。计算离散点的曲率(附Python, MATLAB代码) - 知乎 (zhihu.com)
另给大家推荐一个网站,mathworld.wolfram.com,每次有数学的不清楚的地方,可以直接参考,维基被封之后的好去处。
比如可以看曲率的词条。Curvature -- from Wolfram MathWorld

螺旋线 发表于 2022-3-3 07:46:13

反解是有应用场景的,只是不接触罢了。和你直接相关的就是凸轮加工,反解就是生成加工刀路。从动件就是刀具,在已知约束下解出来,评定轮廓误差,加速度,加加速度。在公差范围内进行优化。最终生成加工代码。所以,那位群友大概率是为了这个。

wf2725864 发表于 2022-3-3 08:29:08

大佬太NB了

菜哥 发表于 2022-3-3 08:39:11

大佬厉害,坚持学几年凸轮,一下就上道了!

召唤师 发表于 2022-3-3 10:43:31

有没有更详细的数学步骤公布:lol

米兰的小铁匠 发表于 2022-3-3 11:21:15

学习了。第一步构造的滚子圆心的轨迹,能解决加工中选用不同直径刀具的问题。第一张图里的理论轮廓是完全用EXCEL做的吗,可不可以再详细说下步骤,比如曲率中心位置怎么确定的?

华丽转身 发表于 2022-3-3 18:20:53

厉害,高人

Walle-Eva 发表于 2022-3-10 21:07:49

华丽转身 发表于 2022-3-3 18:20
厉害,高人

能加个微信吗?大佬
页: [1]
查看完整版本: 已知凸轮轮廓-反求滚子从动件运动规律-逆向工程小实例