原创 【轉載】標準DH和改進DH的區別

原文鏈接:https://blog.csdn.net/qq_27170195/article/details/79936518 一:區別 二、區別示意圖 三:MATLAB仿真對比 1. 標準DH %標準DH %Link(DH,opt

原创 開源cnc項目Marlin2.0運動控制部分代碼理解

本文主要梳理Marlin2.0工程代碼中關於運動控制部分的理解。Marlin1.0工程代碼用C語言寫的,閱讀起來比較容易。Marlin1.0主要核心算法包括圓弧插補、速度前瞻、轉角速度圓滑、梯形速度規劃、Bresenham多軸插補。Mar

原创 分段式S形速度規劃算法

1 典型七段式S形速度曲線 典型7段式S形曲線位置q、速度v、加速度a、加加速度j的波形如圖所示: 位置q和時間t的關係式: 2 分段式S形曲線速度規劃 已知初速度V0,末速度Ve,最大速度Vmax,路程距離s,最大加速度am

原创 S形曲線規劃方式彙總

本文主要講述S形速度規劃方案,包括sigmoid函數、sin函數和bezier曲線速度方案。已知初速度Vs,末速度Ve,規劃速度曲線分別是sigmoid函數曲線、sin函數曲線、bezier曲線。 一 曲線速度規劃方案 1 sigmoid

原创 STM32高速脈衝發波方案

對於步進電機,脈衝頻率一般在幾千Hz到幾十千Hz左右,但是對於伺服電機,由於其轉速高,分辨率高,其要求的脈衝頻率可以高達幾百千Hz甚至高到幾兆Hz。此外對於多軸運動控制器,還需要同時發出多路高頻率的脈衝波形。如何讓單片機發出高頻率的高速脈

原创 S形速度規劃算法

S形速度規劃相對於梯形速度規劃其速度曲線會更加平滑,電機運行會更加平穩。常見的S曲線包括7段式加速度曲線,這種曲線計算量大,而且規划起來困難。一種簡單的方法是採用Sigmoid對稱函數加減速曲線規劃法。典型的Sigmoid函數爲: 其值

原创 採用直線逼近方式的圓弧插補

對於圓弧插補的處理思想是將圓弧用直線段進行逼近。把圓弧拆分成多段直線段,然後對拆分成的多段直線執行速度插補功能。這樣可以對圓弧插補也可以應用速度前瞻控制算法,是的圓弧加工速度更加平滑。圓弧拆分成多段直線示意圖如圖所示。 向量OP0與向量

原创 Bresenham直線插補算法及其Matlab實現

Bresenham算法用在直線插補上面。假設線段向量座標a(x,y,z),選取x,y,z絕對值最大的作爲累加溢出值c=|max(x,y,z)|,假定累加初值b=c/2,那麼三個軸輸出脈衝的算法如下: m=l=k=b; for(i=0;i

原创 梯形速度規劃算法

梯形速度是運動控制系統使用的最簡單的一種速度規劃方式,其速度曲線如下圖所示: v0爲初速度,vn爲勻速運行速度,vt爲末速度,加速和減速階段加速度爲a,總路程爲S。 則加速階段走過的路程S1=(vn*vn-v0*v0)/2a,減速階段走

原创 基於迭代控制的逆變器控制模型仿真

迭代學習控制的原理和簡單實例已經在上一篇文章中講過了。這篇文章將要研究在用迭代學習控制來無靜差跟蹤逆變器輸出電壓。 1 逆變器ILC控制建模 逆變器的模型採用半橋模型,話不多少直接貼圖: Control控制器子系統內部結構如圖: 這裏

原创 迭代學習控制方式Simulink建模與仿真

1 什麼是迭代學習控制         迭代學習控制(iterative learning control,簡稱ILC)由Uchiyama於1978年首先提出,不過因爲論文由日文撰寫,影響不是很大。1984年,Arimoto等人用英文介紹

原创 SVPWM實現概述

1 SVPWM基本原理 1.1 SVPWM基本原理 SVPWM 的理論基礎是平均值等效原理,即在一個開關週期內通過對基本電壓矢量加以組合,使其平均值與給定電壓矢量相等。         在上圖的逆變電路中,設直流母線上的電壓爲Udc,逆

原创 ubuntu16.04基於docker部署laravel項目

 本文記錄最近實際工作中部署laravel項目到服務器的全部流程。採用docker部署項目,docker鏡像是同事上傳到阿里雲的一個鏡像。 1 首先安裝docker ~$ sudo apt-get install docker.io

原创 sprintboot使用websocket

1 pom中引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artif

原创 關於給springboot添加定時器的兩種方式

首先,搭建好一個springboot項目,可使用maven或者gradle或者其他(MD不會啊。。。),這個因爲本次的重點在於如何添加定時器,本人會在這幾天有時間的時候來寫一個如何搭建一個簡單的springboot的項目的過程。現在時間有