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,也是如此.不同的浏览器提供了不同的 ...
随机推荐
- Android中的Activity
Android四大组件 活动(Activity) 广播接收者(BroadCastReceiver) 服务(Service) 内容提供者(Contentprovider) Activity 先来看And ...
- 深搜(DFS)广搜(BFS)详解
图的深搜与广搜 一.介绍: p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orp ...
- 表达式求值(栈方法/C++语言描述)(一)
一个算数表达式(以下简称为表达式)由运算数.运算符.左括号和右括号组成,定义一个枚举类型TokenType表示为: typedef enum { BEGIN, NUMBER, OPERATOR, LE ...
- Autofac in webapi2
安装包:Autofac.webapi2 注意: install-package autofac.webapi2 (注意:您的项目中如果使用的是webapi2,此处必须为webapi2而不是webapi ...
- 案例:Standby RAC遭遇ORA-1157,1111,1110导致实例crash处理
案例:Standby RAC遭遇ORA-1157,1111,1110导致实例crash处理 环境:RHEL 6.5 + Oracle RAC 11.2.0.4 + Dataguard 今天在实验环境的 ...
- macOS Sierra 10.12.6 安装u盘制作
一.准备工作: 准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 U 盘全部数据) 从这里下载苹果官方 OS X Yosemite 正式版的安装程序 (可选 AppS ...
- 【转】C++智能指针简单剖析
原文链接:http://www.cnblogs.com/lanxuezaipiao/p/4132096.html 导读 最近在补看 <C++ Primer Plus>第六版,这的确是本好书 ...
- MySQL中count(1),count(*),count(col)的区别
count(*)返回行数的时候不管列中的值是不是null,在MyISAM表中,count(*)被优化,因为在MyISAM表中,行数被额外存储了,所以会很快,但是这个时候不能有where条件.innod ...
- SLF4J源码解析-LoggerFactory(一)
slf4j的含义为Simple logging facade for Java,其为简单的为java实现的日志打印工具,本文则对其源码进行简单的分析 JAVA调用SLF4J public class ...
- [js高手之路] 设计模式系列课程 - jQuery的链式调用与灵活的构造函数
一.我们从一个简单的构造函数+原型程序开始 var G = function(){}; G.prototype = { length : 5, size : function(){ return th ...