amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 2187|回复: 38

科普连续小线段速度前瞻 贴个自己写的简单程序交流下

[复制链接]
发表于 2014-12-3 21:17:25 | 显示全部楼层 |阅读模式
本帖最后由 yngufeng 于 2014-12-3 21:27 编辑

虽然一直混迹在数控行业,但一直做的是端茶倒水的杂活,对于运控算法及实现的了解仅局限于“只见过猪跑”的级别。
趁着最近小闲,道听途说的对速度前瞻算法做个科普,同时按照自己的思路鼓捣了个简单的速度前瞻程序并贴出来跟大家交流下。

PS:由于非专业出身,能力水平和代码质量只能用一个“渣”字概括之。开源代码依照文档所述思路设计,算法尚未经过优化,虽简单测试可用,但不排除其充斥各种无底线的脑残BUG以及各种不合理的可能性,还望各位不吝批评指正。

CNC连续小线段速度前瞻算法设计与实现(纯直线段).pdf (148.52 KB, 下载次数: 168)
 楼主| 发表于 2014-12-4 09:51:40 | 显示全部楼层
贴漏了一个函数,貌似没人关注啊
get_max_corner_speed.pdf (43.13 KB, 下载次数: 78)
发表于 2014-12-4 10:19:18 | 显示全部楼层
也许大家正在消化,也许大家觉得还不够劲爆。
发表于 2014-12-4 10:40:25 | 显示全部楼层
顶一下,楼主是一个高手。

写出了代码,已是很不容易,调试更要花N倍的时间。希望能看到与mach3能比的结果。

高速加工是一个综合的问题。在G代码生成时的CAM软件就开始处理了,POWERMILL软件就有
一些高速加工的选项。这些选项很有用吧。
发表于 2014-12-4 11:29:39 | 显示全部楼层
楼主,您可以了解一下我们芯片.不要写算法.对您开发产品节约时间.降低人工成本.加995971182.兼容MCX314AL
 楼主| 发表于 2014-12-4 12:58:21 | 显示全部楼层
EasyControl 发表于 2014-12-4 10:40
顶一下,楼主是一个高手。

写出了代码,已是很不容易,调试更要花N倍的时间。希望能看到与mach3能比的结果 ...

我只负责给高手打杂。
只是有闲的时候瞎鼓捣一下学习学习。这个跟mach3之类的商业程序差了天远了,也只能自己玩一玩。
至少要做到3轴直线两轴圆弧才有一定的实用价值,但愿我很多年以后能玩出来然后开源给大家
发表于 2014-12-4 12:58:24 | 显示全部楼层
这个只能说先了解下
 楼主| 发表于 2014-12-4 13:05:51 | 显示全部楼层
995971182 发表于 2014-12-4 11:29
楼主,您可以了解一下我们芯片.不要写算法.对您开发产品节约时间.降低人工成本.加995971182.兼容MCX314AL ...

据我了解的314只有速度规划而没有连续轨迹速度前瞻,你们仿314估计也是没有这个功能的,没这个功能的话就很难用到小线段密集的轮廓加工里,比如精雕一类,除非在上位机做了再控制314,一样的要搞算法。
话说314是N年前的老片子了,尽管它稳定可靠,在很多个应用里都可以很好的胜任,但是现在的流行方案已经比314领先太多了。你们仿它就不怕跟不上时代么?
发表于 2014-12-4 14:45:29 | 显示全部楼层
yngufeng 发表于 2014-12-4 13:05
据我了解的314只有速度规划而没有连续轨迹速度前瞻,你们仿314估计也是没有这个功能的,没这个功能的话就 ...

您说的也对.如果您下次开方案里面可能不需要前瞻的.客户要求时间短里面做出来.您可以考虑一下我们芯片.
发表于 2014-12-4 14:49:55 | 显示全部楼层
 楼主| 发表于 2014-12-4 15:03:07 | 显示全部楼层
995971182 发表于 2014-12-4 14:45
您说的也对.如果您下次开方案里面可能不需要前瞻的.客户要求时间短里面做出来.您可以考虑一下我们芯片. ...

有了小线段前瞻一般来说就兼容了314的方式了,我只是纯爱好玩一玩,建议你们把更多的功能加到你们的产品里,简单的仿制只能纯靠价格竞争,而且可靠性上肯定没人家好,又是功能跟不上时代的老片子,做起来很苦逼的。
公司几年前就有成熟的方案出来了
IMG_1880.JPG
IMG_1887.JPG
发表于 2014-12-4 15:57:36 | 显示全部楼层
yngufeng 发表于 2014-12-4 15:03
有了小线段前瞻一般来说就兼容了314的方式了,我只是纯爱好玩一玩,建议你们把更多的功能加到你们的产品 ...

强.你们公司是做数控产品的.能介绍一下朋友吗?国内能做出这样的芯片也不容易.
 楼主| 发表于 2014-12-4 16:38:39 来自手机 | 显示全部楼层
995971182 发表于 2014-12-4 15:57
强.你们公司是做数控产品的.能介绍一下朋友吗?国内能做出这样的芯片也不容易. ...

深圳有家叫斯迈di的,七八年前就仿出了314了,到现在也只是局限于缝纫机的应用上。流行的方案无非上位机做算法的如mach3 维宏 linuxcnc 一类,下位机做算法的就是ARM DSP FPGA的组合,现今无论哪种跟314比都有优势。
发表于 2014-12-4 16:58:10 | 显示全部楼层
yngufeng 发表于 2014-12-4 16:38
深圳有家叫斯迈di的,七八年前就仿出了314了,到现在也只是局限于缝纫机的应用上。流行的方案无非上位机 ...

这个也看公司的实力.我们现在有客户之前就是用DSP+FPGA做的.现在也换成了我们芯片.
 楼主| 发表于 2014-12-4 17:53:14 来自手机 | 显示全部楼层
995971182 发表于 2014-12-4 16:58
这个也看公司的实力.我们现在有客户之前就是用DSP+FPGA做的.现在也换成了我们芯片. ...

那说明他们做黄了,运控基础平台没有足够的功底和以年为单位的时间投入是搞不出什么名堂的。
发表于 2014-12-5 10:58:19 | 显示全部楼层
赞一个,慢慢研究
发表于 2014-12-8 17:37:50 | 显示全部楼层
我的前瞻比固高的,维厷的,众为兴的都强
 楼主| 发表于 2014-12-8 20:25:02 来自手机 | 显示全部楼层
bdstarboy 发表于 2014-12-8 17:37
我的前瞻比固高的,维厷的,众为兴的都强

强在哪?
发表于 2014-12-9 09:23:38 | 显示全部楼层

强在会吹,我敢保证他连固高的前瞻具体方法都没搞清楚。
SMD现在发展还行,稳中求胜,要不是有RP太低的人从中捣乱,会比现在发展得更好。
貌似和楼主见过,你是当时经常找G工的那位吧。
 楼主| 发表于 2014-12-9 10:02:35 | 显示全部楼层
kisscontrol 发表于 2014-12-9 09:23
强在会吹,我敢保证他连固高的前瞻具体方法都没搞清楚。
SMD现在发展还行,稳中求胜,要不是有RP太低的人 ...

应该没见过
早年曾经脑洞大开的用自研的采集卡把包括固高在内的几家的运控卡或控制器在基本参数相同的情况下加工同一个刀路时输出的各个轴脉冲采集保存下来,再在电脑上合成成轨迹以及速度曲线,然后跟自己公司开发的系统做对比。
这种方式当时对我们的系统的早期开发还是很有帮助的,比较直观的看到了差距以及发现了自己系统的问题。
发表于 2014-12-10 14:03:51 | 显示全部楼层
没看资料那,线顶一下,这种讨论才向着高度深度发展
发表于 2015-1-14 23:12:05 | 显示全部楼层
占位学习
发表于 2015-5-12 21:47:20 | 显示全部楼层
楼主可以贴个工程代码吗?我想学一下~
发表于 2015-8-9 16:41:14 | 显示全部楼层
本帖最后由 bitter_rain 于 2015-8-9 16:46 编辑

楼主最近对这个还有研究吗?打算做个运动控制器,希望能得到你的指点。
 楼主| 发表于 2015-8-10 09:33:22 | 显示全部楼层
bitter_rain 发表于 2015-8-9 16:41
楼主最近对这个还有研究吗?打算做个运动控制器,希望能得到你的指点。

不敢指点,相互交流学习一下倒是挺好
发表于 2015-8-10 10:01:04 | 显示全部楼层
yngufeng 发表于 2015-8-10 09:33
不敢指点,相互交流学习一下倒是挺好

您太谦虚了。

我正在看您的文章。
发表于 2015-8-10 10:04:15 | 显示全部楼层
若不考虑线段的夹角,某一个线段的理想终点速度,是从第一条线段开始,计算到这条线段的距离,然后根据设置的速度和加速度计算能达到的实际速度。是这样的吗?
发表于 2015-8-10 10:11:10 | 显示全部楼层
yngufeng 发表于 2015-8-10 09:33
不敢指点,相互交流学习一下倒是挺好

某线段的终点速度是根据:2as = vt2 -V02这个公式计算吗?

Vt = (2as + V0^2)开方。 S是距离,Vt是终点速度,这样理解对的吧?
发表于 2015-8-10 10:19:00 | 显示全部楼层
知道当前的速度和终点的速度,计算需要的减速距离是不是也用2as = vt2– v02这个公式?

发表于 2015-8-10 10:27:04 | 显示全部楼层
假设前瞻缓存区写入了10条数据,现在已经运动完了一条数据,紧接着再从文件里再装载一条数据,这时需要所有数据全部从新计算一遍,还是把前面已经计算过的结果做个备份,只和新装载的一条计算即可?
 楼主| 发表于 2015-8-10 10:44:00 | 显示全部楼层
bitter_rain 发表于 2015-8-10 10:27
假设前瞻缓存区写入了10条数据,现在已经运动完了一条数据,紧接着再从文件里再装载一条数据,这时需要所有 ...

帖子里所用到的公式均为高中物理的速度位移公式
在不考虑线段夹角的情况下,
固定长度队列中每新入队一条数据也就意味着出队一条数据,
数据出队以后,总线段长度要减去出队数据的,
新数据入队后,总线段长度要加上入队数据的;
出队数据的终点速度,也就成了新的队列数据的起点速度,加上长度也更新了,此时应用速度位移公式再把整个线段算一下,所有的数据终点速度都要重算。

不知道我表达清楚了没有
发表于 2015-8-10 10:56:31 | 显示全部楼层
yngufeng 发表于 2015-8-10 10:44
帖子里所用到的公式均为高中物理的速度位移公式
在不考虑线段夹角的情况下,
固定长度队列中每新入队一条 ...

很清楚,谢谢。
发表于 2015-8-10 11:19:29 | 显示全部楼层

您可以考虑一下专用运动控制芯片.开发周期短.我们有这块开源底层方案,免费,需要加995971182
发表于 2015-8-10 18:43:40 | 显示全部楼层
995971182 发表于 2015-8-10 11:19
您可以考虑一下专用运动控制芯片.开发周期短.我们有这块开源底层方案,免费,需要加995971182 ...

谢谢,要是从开发周期等其他原因考虑,是不会自己做这个的。

但是,现在是为了挑战自己,一定要自己做出来。

再则,你的芯片没有前瞻功能的话,是没什么用处的,应用的场合受到很大的局限,听起来也不够高档。
发表于 2015-10-29 17:49:43 | 显示全部楼层
谢谢分享            请问 楼主现在做到什么程度了?
发表于 2016-11-3 19:31:25 | 显示全部楼层
楼主,能留个qq吗,有些问题喜欢和你讨论讨论
发表于 2016-12-8 21:57:30 | 显示全部楼层
楼主,能分享更多点关于速度前瞻的干货吗
 楼主| 发表于 2016-12-9 08:02:06 | 显示全部楼层
1907931256 发表于 2016-12-8 21:57
楼主,能分享更多点关于速度前瞻的干货吗

搜索一下,文库之类,大把论文,慢慢看
发表于 2017-10-13 13:53:09 | 显示全部楼层
正在研究速度前瞻,很好的科普入门资料。
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 工信部备案:粤ICP备09047143号 公安备案:4419003011657 )

GMT+8, 2017-12-15 04:50

阿莫电子论坛, 原"中国电子开发网"

© 2004-2016 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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