Motion control encoder extrapolation
Flying Saw debug
Part1 Encoder extrapolation
Machine introduction
A tube cutting saw, is working for cut tube to length in line.
A measuring wheel measures the position of the tube, when cutlength reached the moving table gearon with the measuring wheel. When the table and measuring wheel synchronized, the saw blade start cut. After cut finished or the moving table reach back position, the table pos back to start position.
This machine is controlled by siemens simotionD motion controller.The program is written by other engineer, after using for several month , user find some problems. I am in charge for on site commissioning.
max line speed : 80m/min
Problem1: cut length out of tolarence when accelaration and deceleration
Appearance:
When acceleration, actual cut length longer than set length.When deceleration, actual cut length shorter than set length. The length different could bigger than 10mm.
Analyze:
If an axis gearing/camming with another axis(or encoder), assume the gearing ratio is 1:1 and every parameter is default value. The slave position will always behind master position, because there is delay in the control loops.
I check the program, and find the encoder has set position filter. As encoder is the master of the carriage, because there is some ocillation is the tube, using position filter is a good solution. The position filter in this project is 20ms + 20ms.
Position filter has a good affect that the speed is smooth, and a bad affect that the filtered position is lagged behind the actual position.
Position delayed = encoderVelocity x filterTime
Extrapolation
There is several solution to handle the position difference. Extrapolation is an easy and effective method.
Extrapolation position
= positionBeforeExtrapolation + ExtrapolationVelocity x ExtrapolationTime
Extrapolation velocity = differential(Extrapolation position)
The graph below is extrapolation signal flow. In the middle of graph, is extrapolation time. Before extrapolation ,there is a position filter in position channel , and a velocity filter in velocity channel. These two filter only effective when extrapolation time bigger than 0.
Extrapolation setting method
Step 1:
In the FlyingSaw Axis interconnections, select "Actual value with extrapolation" of encoder.
Step 2: set extrapolation velocity filter
I prefer "mean value filter" than the "pt1/pt2" filter.
velocity filter time could be 0.1 to 0.2s. This filter is very important, a smooth velocity ensured the extrapolation value is stable.
Step 3:
how long the extropolation time should be? experience should related to the system delay time. So I can write an equation here.
extrapolation time ≈ Positionfiltertime + 2*ipo_time
= 20ms + 20ms + 2ms = 42ms (in this project)
If you are not sure about the filter time, then try a smaller value, like 70% of the calulated value.
Result
After implement extrapolation, the cutting accuracy at acceleration and deceleration is much better, length different less than 2mm.
Motion control encoder extrapolation的更多相关文章
- V-rep学习笔记:Reflexxes Motion Library 1
V-REP中集成了在线运动轨迹生成库Reflexxes Motion Library Type IV,目前Reflexxes公司已经被谷歌收购.(The Reflexxes Motion Librar ...
- The Enginer sample Test for GD temperature control (FCT, ATE, NPI,SMT, )
For me it is a day of grief.................... 1 Communication with customer test methods. notes: T ...
- 【论文阅读】Motion Planning through policy search
想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...
- 周期同步位置模式(CSP),轮廓位置模式(PPM),位置模式(PM)
什么是运动控制? 运动控制就是通过机械传动装置对运动部件的位置.速度进行实时的控制管理,使运动部件按照预期的轨迹和规定的运动参数(如速度.加速度参数等)完成相应的动作. 运动控制系统的典型构成 1. ...
- (zhuan) Deep Reinforcement Learning Papers
Deep Reinforcement Learning Papers A list of recent papers regarding deep reinforcement learning. Th ...
- VES Hand Book Contents
3...ABOUT THE VES4...Foreword 6...Chapter 1......Introduction6......Visual Effects and Special Effec ...
- Digests from CG articales
Turtle Talk Prior to the on-set motion capture, the team had the actors perform expressions while be ...
- 读书笔记-Autonomous Intelligent Vehicles(一)
Autonomous intelligent vehicles have to finish the basic procedures: perceiving and modeling environ ...
- jquery和css自定义video播放控件
下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...
随机推荐
- 表达式求值(栈方法/C++语言描述)(二)
上篇中完成了对表达式求值的整体过程,接下来看看如何处理不同类型的token. 对运算数的处理比较简单,它直接调用函数strtod(),将字符串中的运算数转换为浮点类型并将它压入运算数栈中: void ...
- OC-UICollectionView实现瀑布流
UICollectionView实现瀑布流 在iOS中可以实现瀑布流的目前已知的有2种方案: 使用UIScrollView自己封装一套,这种方案是应用于iOS6之前的,因为iOS6才出来UIColle ...
- 自己动手封装一个url参数解释器( ghostWuUrlParser.js )
ghostWuUrlParser.js的作用是分析一段url中的查询参数,即: '?'号后面的 键值对参数. ghostWuUrlParser.js 使用说明: ghostWuUrlParser( ' ...
- angular学习(六)-- Filter
2.6 过滤器:Filter 内置过滤器 currency number date json uppercase lowercase orderBy limitTo filter 自定义过滤器
- easyui 菜单按钮&提示框
<script type="text/javascript"> function updatePwd(){ alert('修改密码'); } </script&g ...
- Python Class System
1.序言 本文旨在说明:在Python里自定义class时,方法的第一个参数必须是该class的instance自身的引用(一般用self命名). 在其他语言里,定义方法的时候,第一个参数不必是类实例 ...
- vi替换方法总结
1. 基本的替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ ...
- Java 编写小程序,下载指定网页上的所有图片
使用Java编写一个小程序,可以根据指定的网页地址,下载网页中的所有图片:使用到网络编程.线程池.IO和UUID的技术.具体代码如下: import java.io.File; import java ...
- nmake学习笔记
1.命令行中调用nmake的基本语法: namke /f makefile /x stderrfile [macrodefs] [targets] 其中makefile为makefile文件,/x ...
- 新入门的小白,整理一下特别简单实用的div+css兼容性的问题。
最近整理了一下特别简单的div+css的不同浏览器的兼容性的问题,跟大家分享一下,只适合刚入门的新手,欢迎大牛们给提出意见. 1. 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: * ...