10 阿卡司机

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

python opencv读取图像并生成plt文件

1 前言在数控系统中,plt文件是标准的数控加工文件格式。一般可由signMast、文泰等工控软件生成plt加工文件。现在假设电脑或手机上没有工控软件,只有一些描述加工路径的图片,比如这样的:https://img-blog.csdnimg.cn/20200915210819756.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdXpo

2020-09-16 09:25:56

开源cnc项目Marlin2.0运动控制部分代码理解

本文主要梳理Marlin2.0工程代码中关于运动控制部分的理解。Marlin1.0工程代码用C语言写的,阅读起来比较容易。Marlin1.0主要核心算法包括圆弧插补、速度前瞻、转角速度圆滑、梯形速度规划、Bresenham多轴插补。Marlin2.0工程相对于Marlin1.0工程程序用了更多C++的写法,程序写的相对专业(晦涩),许多人不太适应,其实2.0比1.0主要是增加了S形速度规划。1...

2020-02-25 15:25:35

S形曲线规划方式汇总

本文主要讲述S形速度规划方案,包括sigmoid函数、sin函数和bezier曲线速度方案。已知初速度Vs,末速度Ve,规划速度曲线分别是sigmoid函数曲线、sin函数曲线、bezier曲线。一 曲线速度规划方案1 sigmoid函数曲线速度规划这种方式在前面博文https://blog.csdn.net/liuzhijun301/article/details/103978087...

2020-02-24 09:16:36

STM32高速脉冲发波方案

对于步进电机,脉冲频率一般在几千Hz到几十千Hz左右,但是对于伺服电机,由于其转速高,分辨率高,其要求的脉冲频率可以高达几百千Hz甚至高到几兆Hz。此外对于多轴运动控制器,还需要同时发出多路高频率的脉冲波形。如何让单片机发出高频率的高速脉冲,有以下几种方法:使用定时器溢出中断,定时中断里翻转IO口电平来产生方波。优点:实现简单,对硬件要求不高。缺点:不适合高速脉冲波形,而且脉冲分辨率也不...

2020-02-20 16:25:14

分段式S形速度规划算法

1 典型七段式S形速度曲线典型7段式S形曲线位置q、速度v、加速度a、加加速度j的波形如图所示:位置q和时间t的关系式:2 分段式S形曲线速度规划已知初速度V0,末速度Ve,最大速度Vmax,路程距离s,最大加速度amax,最大jerk(加加速度)jmax,要规划位置、速度、加速度、加加速度随时间变化的曲线。具体步骤如下:1) 假设能够达到最大速度Vmax,...

2020-02-18 08:29:06

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<c;i++){m+=x; l+=y;k+=z;if(m>=c) {x轴输出一个...

2020-01-16 11:50:12

采用直线逼近方式的圆弧插补

对于圆弧插补的处理思想是将圆弧用直线段进行逼近。把圆弧拆分成多段直线段,然后对拆分成的多段直线执行速度插补功能。这样可以对圆弧插补也可以应用速度前瞻控制算法,是的圆弧加工速度更加平滑。圆弧拆分成多段直线示意图如图所示。向量OP0与向量OPn的夹角θ有关系式:对于圆弧容差h、弧长为k的小圆弧(圆弧容差是指圆弧上俩点连线到这段圆弧之间最长的距离),有关系式:P0Pn段圆弧的弧长...

2020-01-14 19:47:08

S形速度规划算法

S形速度规划相对于梯形速度规划其速度曲线会更加平滑,电机运行会更加平稳。常见的S曲线包括7段式加速度曲线,这种曲线计算量大,而且规划起来困难。一种简单的方法是采用Sigmoid对称函数加减速曲线规划法。典型的Sigmoid函数为:其值域为(0,1),函数关于横坐标左右对称,关于点(0,0.5)中心对称。其函数图形为:如要将此曲线应用在步进电机的加、减速过程中,需要将方程在XY坐标系...

2020-01-14 19:19:41

梯形速度规划算法

梯形速度是运动控制系统使用的最简单的一种速度规划方式,其速度曲线如下图所示:v0为初速度,vn为匀速运行速度,vt为末速度,加速和减速阶段加速度为a,总路程为S。则加速阶段走过的路程S1=(vn*vn-v0*v0)/2a,减速阶段走过的路程S3=(vn*vn-vt*vt)/2a,则匀速阶段走过的路程S2=S-S1-S2若S2<=0,代表此时没有匀速阶段,此时梯形速度退化成...

2020-01-14 18:40:39

【转载】标准DH和改进DH的区别

原文链接:https://blog.csdn.net/qq_27170195/article/details/79936518一:区别二、区别示意图三:MATLAB仿真对比1. 标准DH%标准DH%Link(DH,option):%DH = [THETA D A ALPHA SIGMA]//我的代码中此处定义theta的初始值无效L1 = Link([0 0.2...

2019-11-18 14:35:55

基于迭代控制的逆变器控制模型仿真

迭代学习控制的原理和简单实例已经在上一篇文章中讲过了。这篇文章将要研究在用迭代学习控制来无静差跟踪逆变器输出电压。1 逆变器ILC控制建模逆变器的模型采用半桥模型,话不多少直接贴图:Control控制器子系统内部结构如图:这里将传统的逆变器电压电流双闭环控制中的电压环改造成了迭代学习控制器ILC Controller。控制器输出作为电流环参考。接着看ILC Contro...

2019-08-15 22:02:16

迭代学习控制方式Simulink建模与仿真

1 什么是迭代学习控制 迭代学习控制(iterative learning control,简称ILC)由Uchiyama于1978年首先提出,不过因为论文由日文撰写,影响不是很大。1984年,Arimoto等人用英文介绍了该方法。它是指不断重复一个同样轨迹的控制尝试,并以此修正控制律,以得到非常好的控制效果的控制方法。 迭代学习控制的特点是“在重复中学习”,通...

2019-08-15 17:13:18

SVPWM实现概述

1 SVPWM基本原理1.1 SVPWM基本原理SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在上图的逆变电路中,设直流母线上的电压为Udc,逆变器输出的三相相电压为UA、UB、UC,其分别施加在空间上互差120度的平面坐标系上,定义这三个电压空间矢量为UA(t)、UB(t)、UC(t),他们方向...

2019-06-13 11:14:17

ubuntu16.04基于docker部署laravel项目

本文记录最近实际工作中部署laravel项目到服务器的全部流程。采用docker部署项目,docker镜像是同事上传到阿里云的一个镜像。1 首先安装docker~$ sudo apt-get install docker.io安装完成后查看版本~$ docker -vDocker version 18.06.1-ce, build e68fc7a2 安装docker-...

2019-02-22 19:15:35

sprintboot使用websocket

1 pom中引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></dependency>2 建立websocket控制类/**...

2018-12-22 17:26:55

关于给springboot添加定时器的两种方式

首先,搭建好一个springboot项目,可使用maven或者gradle或者其他(MD不会啊。。。),这个因为本次的重点在于如何添加定时器,本人会在这几天有时间的时候来写一个如何搭建一个简单的springboot的项目的过程。现在时间有限,所以喽。还请各位多包涵。咳咳。好了 进入主题。方法一:通过springboot自带入口来开启定时器。首先我们都知道,springboot有一个自己...

2018-12-22 15:50:57

SprintBoot执行异步多线程

1 介绍Spring是通过任务执行器(TaskExecutor)来实现多线程和并发编程,使用ThreadPoolTaskExecutor来创建一个基于线城池的TaskExecutor。在使用线程池的大多数情况下都是异步非阻塞的。我们配置注解@EnableAsync可以开启异步任务。然后在实际执行的方法上配置注解@Async上声明是异步任务。2 配置类package com.examp...

2018-12-22 15:41:51

java访问eos

0 java库jeos目前EOS方面比较成熟的开源Java SDK非常少,个人推荐一个比较好用的java库jeos,地址https://github.com/adyliu/jeos。在gradle中添加这个库:compile group: 'io.jafka', name: 'jeos', version: '0.9.14'1 jeos使用最简单的用来访问EOS节点的代码:...

2018-12-14 17:25:31

eosjs的使用

1 安装eosjs首先建立一个文件夹,进入该文件夹下面执行下列命令安装eosjs库:~/eosjsPro$ sudo npm install eosjsnpm WARN saveError ENOENT: no such file or directory, open '/home/lzj/eosjsPro/package.json'npm notice created a lock...

2018-12-12 18:14:09

10分钟学会创建账户、转账及买卖RAM等常用命令

搭建环境本文主要介绍EOS命令的使用,搭建环境只作简单介绍,更多信息请查阅 官方手册。1、获取EOS代码git clone https://github.com/EOSIO/eos --recursive2、使用脚本自动安装cd eos ./eosio_build.sh配置命令指向主网1、创建EOS操作命令cleos别名,便于后续命令均指向EOS主网进入cl...

2018-12-05 17:06:22

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取