PMAC应用六-前瞻
PMAC应用六-前瞻(Look-Ahead)
- 前瞻
- 简介
- 加减速控制
- S 型和T 型曲线的分析
- PMAC速度前瞻
- PMAC算法流程
- 在PMAC使用前瞻功能
- 功能中的几个限制参数
- 程序编写
- 前瞻中涉及的参数计算
- 结后语
前瞻
简介
Look-Ahead 技术又称为速度前瞻控制技术,目前实现此技术有两个基本思路:
(1)进行路径段之间速度衔接;
(2)进行大量微小线段参数曲线拟合。Look-Ahead 技术考虑的主要因素是机床本身动力学特性限制和加工精度限制。
加减速控制
加减速控制是指加工过程中对进给速度的加速和减速处理,这样避免机床突然启动和停止,减小机床运动过程的震动。加减速控制按照加减速曲线模型分为:T型加减速,S型加减速,指数型加减速和其它曲线加减速方式;按照加减速规划执行顺序分为:插补后加减速和插补前加减速;按照加减速规划完成的NC路径段数目分为:单段NC路径的加减速规划和连续轨迹加减速轨划。
加减速曲线模型对生成轨迹有重要影响,不同加减速曲线对轨迹控制的效果有很大区别。T型加减速曲线是最常用的加减速方式,在加速和减速阶段,加速度保持恒定值,这种方式计算简单、效率较高,但在加减速开始和结束点的加速度发生阶跃突变,导致轨迹指令不太顺滑,将在伺服系统引起较大的加加速度需求。指数型和S型加减速曲线在保证速度变化连续的同时,还保证了加速度平滑变化,在高精度CNC系统中常用这种加减速方式。这种速度曲线虽然计算较为复杂,但随着CNC的执行处理器的性能提高,这种缺点逐渐变得微小。T型加减速和S型加减速规划出来的轨迹指令作用于性能相同的伺服系统上,跟踪误差的区别在加速和减速阶段尤为明显。
S 型和T 型曲线的分析
T型速度曲线包括三个阶段:加速段Ta,匀速段Tm,减速段Td,在加减速期间,加速度A保持不变,加加速度J 在加减速起始和结束点处表现为无穷大。S型速度曲线包括五个阶段:两个加速阶段,时间均为Ta,匀速段Tm,两个减速段,时间均为Td,加减速过程中,以最大加加速度Jmax为限制,加速度A不断变化但不能超过机床允许的最大加速度Amax,速度曲线表现为缓慢变化,是一种光滑的速度曲线。
从伺服系统的指令跟踪性能考虑,T型速度规划算法考虑了速度和加速度限制而能在满足动态性能的条件下达到较好快速性,但该算法的终止点定位精度较差,并且在加减速过程中速度跟踪不够平滑;S型速度计算能够提高运动过程中的位置精度和终止点精度,并且改善了运动过程中的速度跟踪性能,运行更加平稳。上面说道得到,T 型加减速过程简单,速度规划容易实现,但有很大的加加速度,加减速过程不平稳;S 型加减速阶段多,计算较复杂,但加加速度受到限制,加减速过程平滑。
PMAC速度前瞻
PMAC算法流程
速度前瞻算法大概流程(设备使用中个的理解)
在PMAC使用前瞻功能
功能中的几个限制参数
- 位置(软件超行程)限制(Motor[x].MaxPos, Motor[x].MinPos)
- 速度限制(Motor[x].MaxSpeed)
- 加速度限制(Motor[x].InvAmax)
- 加加速度限制(Motor[x].InvJMax)
前瞻算法在运行时当检测到该运动在限制内,在不改变位置轨迹的情况下减慢问题点的运动,该算法对导致问题点的运动进行重新计算,使所有运动保持在一定范围内,可以自动减速进入急转弯,并在急转弯后加速。
程序编写
2.Motor[x].MaxPos和Motor[x].MinPos,设置正负软限位。
3.Motor[x].MaxSpeed,设置电机的最大速度。
4.Motor[x].InvAMax,最大加速的的相反数,单位ms2/mmms^2/mmms2/mm(当前设定的电机单位是mm)。
5.Coord[x].SegMoveTime,分割时间,单位ms,值越低,精度越高,基本上在2~20ms之间。
6.Coord[x].MaxFeedrate,非矢量轴的速度,相当于矢量轴的F。
7.选择停止时间最长的电机,计算Coord[x].LHDistance前瞻的长度
8.计算NTN^TNT,这是前瞻缓冲区大小。
9.删除前瞻缓冲区大小。
10.定义前瞻缓冲区的大小。
Motor[1].MaxPos=1000,1000
Motor[1].MinPos=-1000,-1000
Motor[1].MaxSpeed=0.2,0。2
Delete All Lookahead
Motor[1].InvAmax=100,100 //开启lookahead后PPMAC会检查加速度
Coord[1].SegMoveTime = 2 // Enable segmentation, with 5 ms segmentation time
Coord[1].AltFeedRate=50 //制定非矢量轴的速度,相当于矢量轴的F
Coord[1].LHDistance = 1024 // Lookahead length
Delete Lookahead
Define Lookahead 1024 // Buffer size based on Coord[1].LHDistance or 1024 at least
Coord[1].FRAxes=$1C0 //设置矢量轴xyz,a为非矢量轴
前瞻中涉及的参数计算
Coord[x].LHDistance:是段数的函数,它告诉算法程序中有多少段要查找。它需要比所需的段数稍微大一些。公式是:StopTime(ms)=Motor[x].MaxSpeed×Motor[x].InvAMaxStopTime(ms)=Motor[x].MaxSpeed\times Motor[x].InvAMaxStopTime(ms)=Motor[x].MaxSpeed×Motor[x].InvAMax SegmentsNeeded=StopTime(ms)2×Coord[x].SegMoveTime[ms/seg]SegmentsNeeded=\frac{StopTime(ms)}{2\times Coord[x].SegMoveTime[ms/seg]} \quadSegmentsNeeded=2×Coord[x].SegMoveTime[ms/seg]StopTime(ms)
Coord[x].LHDistance=43×SegmentsNeeded=2×Motor[x].MaxSpeed×Motor[x].InvAMax3×Coord[x].SegMoveTimeCoord[x].LHDistance=\frac{4}{3} \quad\times SegmentsNeeded=\frac{2\times Motor[x].MaxSpeed\times Motor[x].InvAMax }{3\times Coord[x].SegMoveTime } \quad Coord[x].LHDistance=34×SegmentsNeeded=3×Coord[x].SegMoveTime2×Motor[x].MaxSpeed×Motor[x].InvAMax
NTN^TNT
一个超大的前瞻缓冲区提供了轨迹的“历史”,缓冲区中的位置信息是可逆的(不像实际的运动程序)
如无反方向
NT=Coord[x].LHDistanceN^T=Coord[x].LHDistanceNT=Coord[x].LHDistance
有反向
NR=ReverseDistance(motorunits)vmax×Coord[x].SegMoveTimeN^R=\frac{Reverse Distance (motor units)}{v_{max}\times Coord[x].SegMoveTime} \quadNR=vmax×Coord[x].SegMoveTimeReverseDistance(motorunits)
NT=Coord[x].LHDistance+NRN^T=Coord[x].LHDistance + N^RNT=Coord[x].LHDistance+NR
结后语
PMAC中的前瞻功能使用起来很简单,参数不多,计算也很少,想要符合自己预期的进度和稳定性,参数还是要反复调整的。
哈尔滨工业大学李建华《基于Look-Ahead技术的CNC轨迹规划的研究》
Power PMAC 5-Day Training (Plus Opt ECAT Training)
PMAC应用六-前瞻相关推荐
- 笔记-信息化与系统集成技术-国务院关于印发新一代人工智能发展规划的通知...
国务院关于印发新一代人工智能发展规划的通知 http://www.cnitpm.com/pm1/49591.html 重点任务 (一)构建开放协同的人工智能科技创新体系 1.建立新一代人工智能基础理论 ...
- bway ESL电竞联赛十六季C组对战前瞻 三组战队情报分析
9月14日-9月15日ESL电竞职业联赛第十六赛季C组比赛开始了,电竞体育比赛bway由MOUZ 对战Heroic.Complexity对战 Astralis以及ENCE对战HEET.bway且看三组 ...
- 抢占万亿“氢”机,第六届国际氢能与燃料电池汽车大会亮点前瞻
"双碳"战略.能源转型,氢能已成为全球能源革命的重要探索方向. 目前,世界各国都在积极推进产业布局与技术研发:未来,氢能将在中国终端能源体系中占比将达10%,成为中国乃至全球能源战 ...
- 第十六期:Vue 3.0 前瞻,体验 Vue Function API
概述 Vue 2.x 及以前的高阶组件的组织形式或多或少都会面临一些问题,特别是在需要处理重复逻辑的项目中,一旦开发者组织项目结构组织得不好,组件代码极有可能被人诟病为"胶水代码" ...
- 写给第十七届,来自十六届的感想与建议
一名来自智能车老牌强校的十六届参赛学长给卓大大.组委会和逐飞的相关科研人员的自我感想和建议. §01 今年之约 作为十六届的选手很有幸能从省赛一路走到国赛,这一届比赛的成功举办比以往的任何一届都不易, ...
- 第十六届全国大学生智能车竞赛技术报告 | 单车拉力组- 上海海事大学-骑摩托的蒙娜丽莎
简 介: 本文设计的智能车系统以 STC16F40K128微控制器为核心控制单元,通过车体前方的电感检测赛道电磁信息,通过编码器检测智能车的实时速度,利用陀螺仪检测小车姿态,使用PID 控制算法调节电 ...
- 第十六届全国大学生智能汽车竞赛设想
作者:卓晴博士,清华大学自动化系 更新时间:2020-08-17 Monday 简 介: 每一届在暑假举办的全国大学生智能汽车竞赛,博得众多高校老师和同学们的喜欢,正是它的比赛内容贴切现在工科高校学生 ...
- 2016年ICT行业前瞻:竞合生态,牵着手 一起走
编者按:2016年是"十三五"规划开局之年,信息通信业机遇与挑战并存,希望与困难同在:经济下行压力加大,互联网OTT冲击加剧,政策因素影响加深,行业发展不容乐观:与此同时,网络强国 ...
- 中文 哈工大_第六届中文语法错误诊断大赛,哈工大讯飞联合实验室再获多项冠军...
近日,第六届中文语法错误诊断大赛(CGED)研讨会于AACL 2020大会的"面向教育技术的自然语言处理(NLPTEA)"workshop中顺利举行.今年共有国内外14支队伍参赛, ...
最新文章
- nullnullHandling the Results 处理结果
- crowd counting_[Crowd_Counting]-PGCNet-ICCV2019
- linux中的SGI(核间中断)IPI_RESCHEDULE详解
- AgilePoint商业流程管理平台
- 导入第三方库报 unknown type name 'NSString' 错误
- check hierarchy时cadence ic5141崩溃退出
- 力扣算法题—075颜色分类
- Spring Boot第一个简单返回html页面的程序
- 2012,字王强势回归
- Python 进化算法的简单介绍和实现
- excel中复制时不要计算机,电脑excel表格中无法将复制的内容粘贴进去如何解决...
- ubuntu GRUB 引导加载 Beini(WiFi破解神器) Tiny Core Linux
- 有效年利率和年化百分比利率
- 刷题刷题(个人记录)
- JAVA 使用 Random 实现概率 可控 抽奖算法
- Android逆向之源码刷机及Root
- 上半年净利同比降46%,依赖大客户的天润云能靠IPO翻身吗?
- 什么是MBS和ABS(资产支撑证券化)
- 好马应不应该吃回头草?
- Git忽略文件不起作用解决方案