机械荟萃山庄

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2822|回复: 13

分享我写的小钮-B样条凸轮运动方程设计工具-这是叠加法吗

[复制链接]

30

主题

218

帖子

9807

积分

论坛元老

Rank: 8Rank: 8

积分
9807
发表于 2020-8-10 15:57:27 | 显示全部楼层 |阅读模式
本帖最后由 从零开始 于 2020-8-10 15:57 编辑

    在回头再度思考Norton凸轮手册的第五章样条曲线之后,经过摸索之后,用Python实现了作者写的凸轮设计软件中的一个功能,用B-样条设计凸轮运动方程。我用两种方法实现了,一种是Python + Qt的界面, 一种是Python + Excel的精简板。由于Python+Qt版本打包后体积太大,所以准备将后一种分享给大家。
    先说原理,我觉得这可能是998大侠所说的叠加法,但不太确定。思路如下:
        1.有各种满足连续性要求的一系列方程,各有不同的S,V,A,J 性质;
        2. 这些方程的线性组合(linear combination or weighted sum)是同样满足连续性要求的曲线,S,V,A,J性质根据系数或权重的不同而不同。   
        3.根据关键点的约束条件(s,v,a,j等)建立线性方程组,矩阵求逆解得权重/系数。
        4.这个等到的新曲线就是即满足连续性要求,有满足约束的方程。
   Norton 第五章的样条曲线方法就是这个原理,不同点是:
         1.以B-样条基函数(B-Spline Basis function)为基础系列函数,本质是分段连续多项式,显式表达式方程复杂,但是实际可以由通用的算法来快速算。  
         2.这些basis functions 随着节点(knots)的变动而变,因此由无穷多种组合,其功能更为强大和灵活,可以作为关键路径/critaical path motion方程设计的强有力工具(最后一句是Norton原话)。

       软件功能:以Excel为用户界面,输入约束条件,次数,内部节点,凸轮转速,获得满足约束条件的方程,还附带对凸轮加速度进行FFT变换的功能。
       准备条件:1.你电脑里需要Python解释器,2.安装基础的Scipy包 ,3,安装Splipy包(第三方Bspline算法包),4.Excel 和 xlwings插件。xlwings是用python读写和操作Excel表格的第三方库。
       使用方法:1.先了解B-Spline,2,阅读Norton第五章相关内容,3,将附件中的excel文件和py文件放到同一个目录下,4,打开Excel文件,输入边界条件(约束条件),你需要的曲线的次数(阶数-1),输入内部节点,输入凸轮转速。5,在xlwings插件中,点击Run Main,数秒之后获得曲线。6,反复尝试不同节点,观察曲线。            以下是Excel的界面和曲线图,
      
      再以下是此工具再现了的Norton手册中 114页和143页的设计。
     
      最后是我用Python+QT写的粗糙程序界面。

      至此,我觉得我完全弄懂了Norton手册第五章样条曲线设计凸轮运动方程的内容。将全心投入到凸轮动力学、振动分析的学习中。
注意,将附件中的Excel 文件和Python文件放到同一目录。(代码只有简单数十行,功能很强大)。
请不要随意变动Excel中单元格的位置,当然如果你弄懂了程序,可以自己修改,增加功能。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 4威望 +12 收起 理由
回火马氏体 + 3 很给力!
JP80X + 3 大侠厉害!
ysnp945 + 3 很给力!
luxiang821 + 3

查看全部评分

回复

使用道具 举报

30

主题

218

帖子

9807

积分

论坛元老

Rank: 8Rank: 8

积分
9807
 楼主| 发表于 2020-8-10 15:59:49 | 显示全部楼层
本帖最后由 从零开始 于 2020-8-10 16:07 编辑

再分享一个学习样条曲线的网页教程,讲的非常清晰。

https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/

以及捞一下我上一个帖子,FFT算法
http://jixietop.cn/forum.php?mod=viewthread&tid=32540

另,为什么我的贴子不在最新发表里呢。。。
回复 支持 1 反对 0

使用道具 举报

30

主题

218

帖子

9807

积分

论坛元老

Rank: 8Rank: 8

积分
9807
 楼主| 发表于 2020-8-10 16:03:33 | 显示全部楼层
同时想向社友大佬打听下,是否有相关职位可以推荐。
个人觉得目前就平面凸轮来说,算是从门缝看见了样子。
材料是跛腿,振动分析方面需再大大提升。
没有的话,就继续钻研动力学。
回复 支持 反对

使用道具 举报

2

主题

161

帖子

3363

积分

论坛元老

Rank: 8Rank: 8

积分
3363
发表于 2020-8-10 16:34:38 | 显示全部楼层
大侠的帖子还有一定专业性,从理论力学到振动力学,还有样条曲线的拟合,一般人没有这个耐性做这么细化的工作;

只是研究内容有些学院化,研究凸轮就要从实际工况出发,需求是什么,工作节拍多少,冲击多少,缓冲多少,根据这个需求来求凸轮的形状;

记得齿轮啮合一本书里面讲到了凸轮设计,或可互为参考。
回复 支持 反对

使用道具 举报

2

主题

161

帖子

3363

积分

论坛元老

Rank: 8Rank: 8

积分
3363
发表于 2020-8-10 16:42:27 | 显示全部楼层
另外看到大侠发的很多计算和数学的内容,参与讨论的人很少,可能一方面大家畏惧繁琐的计算,另外内容比较基础,和实践挂钩不多。

如果大侠可以结合一两个具体的案例谈自己的设计思路就更好了!

点评

谢谢大侠建议。后面会用研读课本的应用案例,试试自己做。但凸轮设计每一步确实都绕不开数学。  发表于 2020-8-11 08:16
回复 支持 反对

使用道具 举报

1万

主题

4万

帖子

26万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
265250
发表于 2020-8-10 17:03:37 | 显示全部楼层
未来有饭的节奏,不错,

点评

谢谢大侠。  发表于 2020-8-11 08:17
回复 支持 反对

使用道具 举报

8

主题

221

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12449
发表于 2020-8-10 17:47:16 | 显示全部楼层
许多年以前买过一本法国人写的贝塞尔曲线和B样条曲线的书,当时基础太差也看不太懂,后来看了david c lay的线性代数及其应用,第8章在仿射基础上解释一下几何曲线曲面上的应用才有了点感觉。也只是能看懂一些些。那是本好书。凸轮就是不懂。

点评

那书就是按您说的顺序讲下来的,不仅cad,catia等三维软件的曲线曲面数学模型也是这个,车身,舰船,飞机表面数学模型都一样,能学好就一通百通了  发表于 2020-8-11 12:55
大侠太谦虚了,你肯定比我好太多了。我的数学很不好,只是受8爷的教育,学不好也得学,安慰自己说努力了。  发表于 2020-8-11 12:46
应用如此广。堪称数学领域重要发明。  发表于 2020-8-11 08:22
Bezier,B-Spline, NURBS一脉相承,我目前只学到了B-spline曲线,曲面,NURBS曲线、面还没学,大侠学的比我更多。这些本是CAD领域的重要内容,没想到……  发表于 2020-8-11 08:22
回复 支持 反对

使用道具 举报

12

主题

208

帖子

9292

积分

论坛元老

Rank: 8Rank: 8

积分
9292
QQ
发表于 2020-8-12 14:14:16 | 显示全部楼层
大侠值得学习,
努力就跟跑步一样,开始你在一大群人里面跑,是很沮丧,但你必须加速,超越他们,你越跑越快,周围的人越来越少,到这时候,就看到希望了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|机械荟萃山庄 ( 辽ICP备16011317号-1 )

GMT+8, 2024-11-15 19:43 , Processed in 0.149678 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表