---
# System prepended metadata

title: 開模定位
tags: [inject_mach]

---


[TOC]






# 問題描述
## requirement

要求能控制过冲5~10mm就可以



# 方案

* 控制
    * 就我們所知，5610(目前目標硬體)是用壓力控制，而不是速度控制。所以以下就都以壓力控制為主。
    * 位置控制 + 壓力控制 by sandal
        * 位置控制 on 55 or PLC
    * 位置控制 by sandal + 壓力控制 by sandal
    * 位置控制需和位置規劃搭配。
* 規劃
    * 意義不大
    * 先講規劃的定義, 目標, input, output
    * S curve 就最佳
* ~~調參算法~~
    * 虛擬控制器(動態調整)
        * 效果有限制，前n次不好，要迭代。
        * 並非適應性控制，它的定義更狹窄
        * 減速時間



| 方案                                    | 前置需求           | 效果                             | 花費時間 | 備註  |
| --------------------------------------- | ------------------ | -------------------------------- | -------- | --- |
| 位置控制 + 壓力控制 by sandal           | 位置規劃, 時間精準 | 最有效                           |          |     |
| 位置控制 by sandal + 壓力控制 by sandal | 位置規劃           |                                  |          | 沒有精準時間的workaround |
| 位置規劃                                |                    | 應該沒用                         |          | 主要是為了控制的前置 |
| 虛擬控制器(動態調整)                       |                    | 有限，每次變動要先迭代幾次才會準 | 較少     |     |

# 條件
## 規劃與控制劃分
* 規劃
    * 決定走的平穩程度 (acceleration, jerk)
* 控制
    * 決定走的準不準，是否貼合規劃。

## 時間精準
* why
    * 時間不準feedback 的 位置轉換為速度時會誤算
    * output 的 控制量會因為時間不準，等效就是忽大忽小。

### linux realtime 測試
[kernel/git/clrkwllms/rt-tests.git](https://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git/)
gitee 上應該也有鏡像
e.g. `sudo ./cyclictest -a -t 1 -n -p99` 測realtime 能力。
要做控制了話，至少要<100us。

## 規劃（block）
規劃的精神是，分而治之，連繫物理量。

* 連繫物理量
    * 加速度, jerk 才會和實際機器的特性有關。
        * f=ma, T=Ia --> 馬達提供的力，限制機器的最大加速度
            * 若機器的慣量會變（非線性），見下方 分而治之
        * jerk --> 震動
    * 位置
        * 任何機器都有位置的極限，任何規劃都要在位置的條件之下。
    * 如果是用加速時間之類的東西，每一段的速度差都不同，加速度因此都不同，很可能超過機器力的極限。
* 分而治之
    * 一個連續的規劃拆分成數個小的、相似的規劃。
    * 連續的線條，有彎曲點，彎曲程度決定速度上限（向心加速度能力有限），所以切成不同段。
    * 非線性的規劃：按照加速度上限拆成多段，每一段假設為線性做規劃。
        * 尚無最佳解
![](https://filedn.com/lzOQU5aSSXB47Aru33KDfTb/Snipaste_2023-10-04_08-37-50.png)

[A NEW VELOCITY PROFILE GENERATION FOR HIGH EFFICIENCY CNC MACHINING APPLICATION  ](http://lbms03.cityu.edu.hk/theses/c_ftt/mphil-meem-b23405430f.pdf)
7段加減速，香港城市大學，2008

CiA402 甚至訂進去規範。PP mode & Object 6086h : Motion profile type

雖然有這些進階的方法，但就像上面說的，準度主要靠控制，所以猜測就算用梯型速度規劃也沒問題，

## 順逆運動學
十字頭與模板之間是非線性的連桿
> 希望可以提供位置轉換公式。不用所有的，其中一種。

set 十字頭位置為x, 模板位置為p, $p=f(x)$, f為順向運動學。
$x=f^{-1}(p)$ 為逆向運動學。

一般規劃都是先規劃末端點（模板），再反推後方（十字頭）的速度profile。

三段曲線，其實就是 人為設定的曲線近似 非線性所以切分規劃+逆向運動學（所以加速度可以設定不同）。


## PID
要有週期參數。
[pms67/PID](https://github.com/pms67/PID/blob/master/PID%20Controller%20Implementation%20in%20Software.pdf)

s domain --> z domain --> difference euqation

## 控制圖說明
> 找流力專業者，泵的特性

![](https://filedn.com/lzOQU5aSSXB47Aru33KDfTb/inj_mach_schematic.drawio.svg)

### 泵的特性
如果要回答，為什麼 位置、速度、轉速、壓力 回授都可以控制十字頭的位置了話，就要把控制圖分解到最細的系統特性。特別是解釋泵的特性。


## 虛擬控制器
動態調參需要理論，最好的理論是適應性控制（adaptive contronl）.

這不是適應性控制，因為沒有feedback。

假設 目前的整個open loop 的控制器系統是一整個plant，但我們完全不知道它的特性、動態。
用一個虛擬的控制器，控制這個plant。如果這個plant 的特性還在控制器的收斂範圍內，則可以控制。
controller input: position error, output: 減速時間。

不一定可行，就在賭虛擬plant的特性。

效果上限：環境改變，一定要空模跑幾次才會重新接近好的參數。

### 證明最可行
1. 強化學習-policy gradient
2. 虛擬控制器
3. 人工找出參數的對應。



---
以下是了解油壓系統用資料，已經知道的不需要看。

# 先備知識

3 種case，控制壓力的來源

1. 馬達 only
    * Pump Direct Drive
    * direct driven hydraulic (**DDH**)
    * 有3種case
        * motor+1 unidirectional pump+directional control valve
            * 只有方向閥，而沒有比例功能。
            * 本次主要的問題
            * 本公司提供的方案。
            * 可能不屬於DDH，因為還是要valve。
            * 完全找不到論文，motor+servo valve的還比較多。
            * 可能要用motor+1 bidirectional pump 的transfer function 但是砍半。
        * motor+1 bidirectional pump
            * 中國論文多
            * 建議至少 modify to this
        * motor+2 bidirectional pump
            * 歐美論文多
            * 可能是最新的研究方向。
    * > 5610
2. 馬達+伺服比例閥(servo valve)
    * 因為沒有 tank
    * 只有馬達了話，背壓會永遠等於0，過低壓的油壓系統會有 hysteresis，而且效率最高點是在中間的時候，而非在最低轉速。
    * > maybe 5580
3. 伺服比例閥
    * 馬達+tank 視為恆壓源
    * 教科書+ most of 文獻。
    * 最舊，穩定的方法。比較耗能

我們focus 在case 1。所以也不用研究

[ 《PANIX北安實業有限公司》 小型油壓動力組合 ](https://www.youtube.com/watch?v=EMuMIe4mOF0)
油壓動力單元=油壓缸+液壓伺服閥(servo valve)+油壓泵(恆壓源)

液壓伺服閥 是 (電流,壓差） 正比 流量的元件。
[伺服閥的流量特性曲線](http://www.sgdeng.com.tw/knowledge_page?knowledgeType=&id=8&lang=cht)

流量是 $flow=m^3/s$ 而 $m/s$是速度，所以假設不可壓縮流，**推桿的速度就是 flow/油壓缸截面積**。推杆速度再積分就是位置了。這是open loop 時的假設。
實際上，伺服閥的流量會和壓差成正比。當末端有質量m，m有加速度a。ma/A就是推桿給油壓缸內部的反向壓力。


<div style="width:800px"> <strong style="display:block;margin:12px 0 4px"><a href="https://slidesplayer.com/slide/11615261/" title="4-1 液壓基本概念 液壓系統之構成 液壓系統基本的構成包括：電動機或內燃機、液壓泵、液壓油、液壓控制閥、液壓致動器、儲油箱、及其他附件等。" target="_blank">4-1 液壓基本概念 液壓系統之構成 液壓系統基本的構成包括：電動機或內燃機、液壓泵、液壓油、液壓控制閥、液壓致動器、儲油箱、及其他附件等。</a></strong><iframe src="https://player.slidesplayer.com/62/11615261/" width="800" height="649" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0" allowfullscreen></iframe><div style="padding:5px 0 12px"></div></div>

[Electric Motors vs. Fluid Power: Robotic System Designers Have a Choice](https://www.techbriefs.com/component/content/article/tb/supplements/mct/features/articles/11776)


[Modeling and simulation of Hydraulic servo system with different type of controllers](https://www.researchgate.net/figure/Block-diagram-of-hydraulic-system_fig1_278412593)
有油壓系統的model(transfer function)
simulation only no experiment

[Application of Fractional Order Controllers on Experimental and Simulation Model of Hydraulic Servo System](https://www.researchgate.net/figure/Block-diagram-of-hydraulic-servo-system_fig1_314136096)

## 鎖模機構
[ 全立發 CLF - 外曲肘式射出成型機 CLF TW II - 產品動畫 Products Animation | 普拉瑞斯創意 ](https://youtu.be/ZFMKvEvQxrE?feature=shared&t=29)
兩節，第一節中間多一桿

曲軸式鎖模機構到底後就持壓了，油壓缸不用再施力（直壓式才要）。

曲軸合模機構的正逆向運動學。

## 泵
機械構造only,無電機部份。
螺桿泵 為主
注意泵一般不能反轉螺絲、水封...都有對應壓力。 e.g. [ 三螺杆泵可以反转吗？](http://www.tjyd66.com/Article/sanluoganbengkeyifan.html)。
水泵特性曲线。
定轉速, pressure(H), flow rate(Q) 圖
[测定迷宫螺旋泵和密封实际性能的实验方法](http://www.chvacuum.com/pumps/jixie/12563.html)
pump 要加上出水口才是完整的control block。此時能夠決定唯一的一條曲線。
(H,Q)=pump(n)

[How to Read a Pump Curve](https://www.csidesigns.com/blog/articles/how-to-read-a-pump-curve)
不是所有pump 特性都一樣。 positive displacement (PD) pump 是 speed 完全正比 流量 （不管壓力）

[CHARACTERISTICS OF SCREW PUMPS](https://kb.osu.edu/bitstream/handle/1811/34516/3/OS_ENG_v12_i02_006.pdf)


## 控制系統
機構等效: mot --> 泵 --> 油壓缸 --> 鎖模爪 --> 模
油壓缸位置為x，模位置為p, p=f(x), f為正向運動學。p-->x 即反運動學。
油壓缸後的東西，直接don't care，就視為 f_out=ma。

pump is critical part.
[Transfer Function of Hydraulic System](https://www.electricalengineeringinfo.com/2017/05/transfer-function-mathematical-model-hydraulic-system.html)
