[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)