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的更多相关文章

  1. V-rep学习笔记:Reflexxes Motion Library 1

    V-REP中集成了在线运动轨迹生成库Reflexxes Motion Library Type IV,目前Reflexxes公司已经被谷歌收购.(The Reflexxes Motion Librar ...

  2. 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 ...

  3. 【论文阅读】Motion Planning through policy search

    想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...

  4. 周期同步位置模式(CSP),轮廓位置模式(PPM),位置模式(PM)

    什么是运动控制? 运动控制就是通过机械传动装置对运动部件的位置.速度进行实时的控制管理,使运动部件按照预期的轨迹和规定的运动参数(如速度.加速度参数等)完成相应的动作. 运动控制系统的典型构成 1. ...

  5. (zhuan) Deep Reinforcement Learning Papers

    Deep Reinforcement Learning Papers A list of recent papers regarding deep reinforcement learning. Th ...

  6. VES Hand Book Contents

    3...ABOUT THE VES4...Foreword 6...Chapter 1......Introduction6......Visual Effects and Special Effec ...

  7. Digests from CG articales

    Turtle Talk Prior to the on-set motion capture, the team had the actors perform expressions while be ...

  8. 读书笔记-Autonomous Intelligent Vehicles(一)

    Autonomous intelligent vehicles have to finish the basic procedures: perceiving and modeling environ ...

  9. jquery和css自定义video播放控件

    下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...

随机推荐

  1. easyui项目问题集锦

    1.级联问题(combobox) combobox至多可以保存2个东西value和text,但我需要第三个数的时候,怎么办?比如,省.市.区的三级级联,我选择市的时候,需要市id,市name,区号,邮 ...

  2. NYOJ--STL--擅长排列的小明(强大的string :: iterator 和next_permutation)

    NYOJ--STL--擅长排列的小明 #include <iostream> #include <string> #include <algorithm> usin ...

  3. css中的几个小tip(二)

    margin的塌陷现象 (一)在标准文档流中, 垂直方向存在margin的塌陷现象 先上段代码: <style type="text/css"> .box{ width ...

  4. POSTMAN-REST Client

    下载方式:翻.墙安装     #使用的时候不用翻.墙 下载地址:https://chrome.google.com/webstore/search/postman%20rest%20client Po ...

  5. Linux - 简明Shell编程05 - 条件语句(Case)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...

  6. MYSQL中的多类型查询及高级查询操作

    离散查询select * from car where price=30 or price=40 or price=50 or price=60;select * from car where pri ...

  7. jFreeChart利用CategoryDatase,ChartFactory.createBarChart生成的柱状图

    package com.potevio.rnd; import java.io.File; import java.io.FileNotFoundException; import java.io.F ...

  8. 【2016北京集训测试赛(八)】 crash的数列 (思考题)

    Description 题解 题目说这是一个具有神奇特性的数列!这句话是非常有用的因为我们发现,如果套着这个数列的定义再从原数列引出一个新数列,它居然还是一样的...... 于是我们就想到了能不能用多 ...

  9. php Yii2 报错unexpected '}'

    报错unexpected '}'一般是缺少":"导致的

  10. innerHTML innerText的使用和区别

    document对象中有innerHTML.innerText这两个属性,都是获取document对象文本内容,但使用起来还是有区别的: 1) innerHTML设置或获取标签所包含的HTML+文本信 ...