• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
楼主  发表于: 2020-05-19 16:34
分享下三菱凸轮计算公式。由于三菱的MS运动模块没有设置曲线类型自动生成的功能,因此分享几个公式,可以自己实现计算。
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
1楼  发表于: 2020-05-19 16:36
注:公式中的INT均为向下取整。一个分辨率为D的凸轮曲线我们实际设置的点为0-D-1,最后一个点D其实和第0个点是一样的
zhujingyu69
级别: 家园常客
精华主题: 0
发帖数量: 920 个
工控威望: 814 点
下载积分: 47428 分
在线时间: 1261(小时)
注册时间: 2008-06-12
最后登录: 2024-11-22
查看zhujingyu69的 主题 / 回贴
2楼  发表于: 2020-05-19 16:38
楼主,没有看到公式啊!
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
3楼  发表于: 2020-05-19 16:43
假设曲线起点的行程量为y0,终点行程量为y1,曲线从t0开始,至t1结束。公式均为曲线中任意一点行程量y和点t的关系。另外对于某些曲线类型,还存在曲线适用范围p1,p2和加减速范围补偿t1,t2。这些在软件中可以进行微调。对于一些分段函数构成的曲线类型,就不再讨论p1,p2取值了。因为可能会有20多种情况过于繁琐,统一只考虑p1=0,p2=1的情况。现在按照软件中的顺序一一介绍。
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
4楼  发表于: 2020-05-19 16:46
图片:
匀速比较简单
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
5楼  发表于: 2020-05-19 16:50
图片:
匀加速。只考虑P1=0,P2=1的情况。其实如果修改这两个值会引起加速度的变化,但是在软件中加速度却一直是同一个值,这也算是软件的一个BUG了吧
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
6楼  发表于: 2020-05-19 16:59
图片:
五次其实就对于三个公式,将起点终点的速度,加速度,还有位置带入求解6个系数,然后就能求出曲线方程。由于三菱PLC没有矩阵,解方程之类的库,所以只考虑一种特殊情况下的解,就是起点结束点速度,加速度均为0的情况
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
7楼  发表于: 2020-05-19 17:02
图片:
特殊情况下的解,另外3个系数均为0
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
8楼  发表于: 2020-05-19 17:05
图片:
另外这个曲线不分段,可以讨论下P1,P2.其实就相当于带入方程的点不是0,t1了,因为只是曲线中间的一段.设带入方程的变成了tt0,tt1。那么和t0,t1的关系由下面这个公式算出。补充下,带入方程的点应该是以下6个。
(t0,y0)(t1,y1)(tt0,a0)(tt1,a1)(tt0,v0)(tt1,v1)。a0,a1,v0,v1分别代表速度加速度。tto,tt1在p1=0,p2=1的情况下就等于是t0,t1
[ 此帖被zmrs163在2020-05-20 16:24重新编辑 ]
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
9楼  发表于: 2020-05-19 17:09
还有明天再更吧,有几个公式特别繁琐,我只写了脚本验证基本上和软件生成的曲线全部一致。目前只发现一种情况可能产生偏差,就是如果原来存在曲线正中间的点并且曲线对称,那么理论上会跑一半的行程量,但由于计算偏差我脚本算出来会少1,影响不大。
km2003
级别: 略有小成
精华主题: 0
发帖数量: 58 个
工控威望: 471 点
下载积分: 15573 分
在线时间: 832(小时)
注册时间: 2010-03-12
最后登录: 2024-11-21
查看km2003的 主题 / 回贴
10楼  发表于: 2020-05-19 21:06
非常有用,感谢!
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-22
查看zmrs163的 主题 / 回贴
11楼  发表于: 2020-05-21 16:02
图片:
单弦,加速度曲线为余弦。不分段因此很好计算
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go