当前位置: 首页 > news >正文

EtherCAT运动控制器Delta机械手应用

ZMC406硬件介绍

ZMC406是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。

在这里插入图片描述

ZMC406支持6轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。

ZMC406支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、Matlab、Qt、Linux、VB.Net、Python等接口。

在这里插入图片描述

ZMC406支持6轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24路输入口和12路输出口,模拟量AD/DA各两路,EtherCAT最快125us的刷新周期。

此类运动控制器与PCI运动控制卡相比具有如下优点:

(1)不使用插槽,稳定性更好;

(2)可以选用MINI电脑或ARM工控电脑,降低整体成本;

(3)控制器直接做接线板使用,节省空间;

(4)控制器上可以并行运行程序,与PC只需要简单交互,降低PC软件的复杂性等优势。

ZMC控制器通过RTSys开发环境来调试,RTSys是一个方便的编程、编译和调试环境。RTSys可以通过串口、以太网、PCI和LOCAL与控制器建立连接。应用程序可以使用VC,VB,VS,C++Builder,C#等软件来开发。调试时可以把RTSys软件同时连接到控制器,程序运行时需要动态库zmotion.dll。

Delta机械手支持3-4轴,关节轴1+关节轴2+关节轴3+[末端旋转轴4]。后缀带R的控制器支持Delta机械手功能,例如ZMC406R。

ZMC406R可以采用脱机的方式将编辑好的程序下载到控制器上,可利用触摸屏示教的方式编辑想要运动的轨迹。也可以用PC API函数调用方式或者实时发送指令操作,在PC上位机C#,C++,Labview,Python等语言来开发Delta机械手的应用。

在这里插入图片描述

▶▶▶ 机械手相关概念

1、关节轴与虚拟轴

(1)关节轴:是指实际机械结构中的旋转关节,在程序中一般显示旋转角度(某些结构也是平移轴)。由于电机与旋转关节会存在减速比,所以设置脉冲当量UNITS(电机走1mm或者1°需要的脉冲数)时要按照实际关节旋转一圈来设置,同时TABLE中填写结构参数时也要按照旋转关节中心计算,而不是按照电机轴中心计算。

(2)虚拟轴:不是实际存在的,抽象为世界坐标系的6个自由度,依次为X、Y、Z、RX、RY、RZ。可以理解为直角坐标系的三个直线轴和三个旋转轴,用来确定机械手末端工作点的加工轨迹与坐标。

2、正解运动与逆解运动

(1)正解运动:通过操作关节坐标,再根据机械结构参数可以计算出末端位置在直角坐标系的空间位置,这个过程称为正解运动。此时操作的是实际关节轴,虚拟轴自动计算坐标。此时只能操作关节轴运动,正解模式一般用于手动调整关节位置或上电点位回零。

(2)逆解运动:给定一个直角坐标系中的空间位置,反推出各关节轴坐标,这个过程称为逆解运动。此时操作的是虚拟轴,实际关节轴自动解算坐标并运动。控制器使用CONNFRAME指令建立逆解模式,此指令作用在关节轴上,此时只能操作虚拟轴,对虚拟轴发送运动指令,可以在笛卡尔坐标系中做直线,圆弧,空间圆弧等运动,关节轴在CONNFRAME的作用下会自动运动到逆解后的位置。

▶▶▶ 机械手使用操作步骤

1、确认电机转向是否正确。

3个关节轴向下旋转时为正向。末端旋转轴逆时针旋转为正向(俯视)。连接上机械手仿真工具,通过Rtsys软件菜单栏的【工具】-【手动运动】,以较小的速度分别操作3个关节轴移动,观察各个关节轴下杆移动过程中是否趋向末端工作点,若是则说明电机转向是正确的。

在这里插入图片描述

2、TABLE寄存器(控制器上电后自动生成)依次存入机械手结构参数。

建立机械手连接时,需要将机械结构参数按照如下次序依次填写到TABLE数组中。Delta机械手FRAME12模型机械结构参数说明如下。

在这里插入图片描述

在这里插入图片描述

‘从TableNum编号开始依次机械手结构参数上间距半径、下间距半径、上杆长度、下杆长度、第一个关节轴旋转一圈的脉冲数、第二个关节轴旋转一圈的脉冲数、第三个关节轴旋转一圈的脉冲数、末端与下面中心点的X偏移、末端与下面中心点的Y偏移、末端与下面中心点的Z偏移、第四个关节轴旋转一圈的脉冲数到Table中。
TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)

3、设置关节轴参数及虚拟轴参数。

各轴的轴类型和脉冲当量(units)要设置正确,设置为电机走1°需要的脉冲数。虚拟轴的units跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的1mm的脉冲数一般建议设置为1000,表示精度为小数点后3位。

'关节轴设置
BASE(Axis_JList(0),Axis_JList(1),Axis_JList(2),Axis_JList(3))
'脉冲轴类型设置为1。若是总线轴类型,可设置为65 
ATYPE = 1,1,1,1 
UNITS = UnitsJList(0),UnitsJList(1),UnitsJList(2),UnitsJList(3)
'设置关节轴速度、加速度(一般设置为速度的10)、减速度(一般设置为速度的10)
SPEED = SpeedJList(0),SpeedJList(1),SpeedJList(2),SpeedJList(3) 
ACCEL = ADSpeedJList(0),ADSpeedJList(1),ADSpeedJList(2),ADSpeedJList(3)
DECEL = ADSpeedJList(0),ADSpeedJList(1),ADSpeedJList(2),ADSpeedJList(3)
'S曲线
SRAMP = SrampJ(0),SrampJ(1),SrampJ(2),SrampJ(3)
'虚拟轴设置
BASE(Axis_VList(0),Axis_VList(1),Axis_VList(2))
'虚拟轴轴类型设置为0
ATYPE = 0,0,0
'虚拟轴脉冲当量设置为1000--表示精度为小数点后3位
UNITS = 1000,1000,1000
'设置虚拟轴速度、加速度(一般设置为速度的10)、减速度(一般设置为速度的10)
SPEED = SpeedVList(0),SpeedVList(1),SpeedVList(2)
ACCEL = AccelV(0),AccelV(1),AccelV(2)
DECEL = DecelV(0),DecelV(1),DecelV(2)
'S曲线
SRAMP = SrampV(0),SrampV(1),SrampV(2)

4、移动各关节轴到规定的零点位置。

机械手算法建立时,需要有个零点位置作为参考。当Delta机械手各关节轴的连杆L1都处于水平位置时,认为是关节零点位置。实际现场机械手机台一般有定位销,没有定位销的话可以通过水平仪把连杆L1调整至水平。

在这里插入图片描述

5、根据需求建立正解或逆解控制机械手。

▶▶▶ 机械手指令说明

不同的机械手模型参数是有差异的,可通过“正运动机械手指令手册说明”(文章末尾扫码查看),查阅对应的机械手模型参数进行确认选择。

本文以Delta的FRAME12模型(有末端旋转轴,使用关节轴操作旋转轴)为例介绍,机械手正解与逆解的指令说明如下。

在这里插入图片描述

1、CONNREFRAME – 建立正解连接

指令描述:将虚拟轴的坐标与关节轴的坐标关联,关节轴运动后,虚拟轴自动走到相应的位置。

指令语法:

CONNREFRAME(frame,tablenum,Axis_J1,Axis_J2,Axis_J3,Axis_J4)

参数说明:

frame:坐标系类型。参考【正运动机械手指令手册说明】,frame是12,代表这款机械手模型是4轴Delta且关节轴操作末端旋转轴。

Tablenum:存储机械手结构参数的TABLE起始位置,依次存储对应模型的机械手结构参数。

Axis_J1:第1个关节轴轴号

Axis_J2:第2个关节轴轴号

Axis_J3:第3个关节轴轴号

Axis_J4:第4个关节轴轴号

2、CONNFRAME – 建立逆解连接

指令描述:将当前关节坐标系的目标位置与虚拟坐标系的位置关联;关节坐标系的运动最大速度受SPEED参数的限制;当关节轴告警等出错时,此运动会被CANCEL。

指令语法:

CONNFRAME(frame,tablenum,Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)

参数说明:

frame:坐标系类型。参考【正运动机械手指令手册说明】,frame是12,代表这款机械手模型是4轴Delta且关节轴操作末端旋转轴。

Tablenum:存储机械手结构参数的TABLE起始位置,依次存储对应模型的机械手结构参数。

Axis_Vx:第1个虚拟轴轴号

Axis_Vy:第2个虚拟轴轴号

Axis_Vz:第3个虚拟轴轴号

Axis_J4:第4个关节轴轴号

▶▶▶ Delta机械手模式建立

1、正解建立

以Delta机械手的Frame12模型为例。先将机械手结构参数从某个Table起始编号依次存储到Table数组中,然后选择对应模型的轴列表,使用CONNREFRAME指令建立正解模式。

指令说明可通过Rtsys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。

'将机械手参数从编号TableNum开始依次存储到Table数组中
TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)
'选择轴列表
BASE(Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)
'建立机械手正解
CONNREFRAME(FrameType,TableNum,Axis_J1,Axis_J2,Axis_J3,Axis_J4)

若机械手正解建立成功,虚拟轴MTYPE(当前运动类型)将显示为34,此时只能操作关节轴在关节坐标系中调整机械手姿态,手动运动可通过RTSys软件菜单栏的【工具】-【手动运动】,待【手动运动】界面弹出之后选择关节轴轴编号(本文关节轴以轴0,轴1,轴2,末端旋转轴轴3为例),然后根据实际需求选择点动或者寸动。虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

在这里插入图片描述

在这里插入图片描述

2、逆解建立

以Delta机械手的Frame12模型为例。先将机械手结构参数从某个Table起始编号依次存储到Table数组中,然后选择对应模型的轴列表,使用CONNFRAME指令建立正解模式。指令说明可通过Rtsys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。

'将机械手参数从编号TableNum开始依次存储到Table数组中
TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)
'选择轴列表
BASE(Axis_J1,Axis_J2,Axis_J3,Axis_J4) 
'建立机械手逆解
CONNFRAME(FrameType,TableNum,Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)

若机械手逆解建立成功,关节轴MTYPE(当前运动类型)将显示为33,【手动运动】界面操作虚拟轴方法同上。此时加工工艺指令只能操作虚拟轴,事先编辑好运动的轨迹在直角坐标系中运动(本文虚拟轴以轴10,轴11,轴12为例),关节轴会自动计算在关节坐标系中如何联合运动。

在这里插入图片描述
在这里插入图片描述

▶▶▶ 程序编辑

RTSys软件支持Basic,HMI与PLC混合编程,本例程采用Basic结合HMI界面混合编程进行演示。可通过RTSys软件菜单栏的【HMI】-【工具箱】,选择控件进行拖拉摆放,设计交互界面。

在这里插入图片描述

在本次例程中均先在bas文件中定义全局的SUB子函数,编辑子函数的功能(工程源码见文章末尾)需求然后使用控件绑定,控件的动作均选择调用函数。操作流程如下图。

在这里插入图片描述

▶▶▶ 应用例程

1、需求描述

Delta机械手逆解建立时以零点位置为参考,确定一个安全高度。基本动作为机械手上升到安全高度去固定的取料点上方,然后下降打开Op口通过真空吸的方式去取料,延时抬升到安全高度然后运动到固定的2*2码盘位置,下降到码盘位置关闭Op进行放料,然后抬升依次循环直到将码盘放满后停止。

2、加工代码

'启动标志位置1
StartFlag = 1
LOCAL SafeHigh,i
'安全高度
SafeHigh = DPOS(Axis_VList(2))-25
'行,LOCAL Row,Col
'固定的取料点位置
LOCAL SrcBorrow_X,SrcBorrow_Y,SrcBorrow_Z
SrcBorrow_X = 5
SrcBorrow_Y = 5
SrcBorrow_Z = SafeHigh-20
'选择虚拟轴
BASE(Axis_VList(0),Axis_VList(1),Axis_VList(2))
'设置加工的速度、加速度、减速度
SPEED = SpeedVList(0)
ACCEL = AccelV(0)
DECEL = DecelV(0)
'打开连续插补
MERGE = ON
'每次启动临时总数清零
TmpSum = 0
'运动到零点位置参考的安全高度
MOVEABS(0,0,SafeHigh)
FOR Col=1 TO 2FOR Row=1 TO 2'运动到取料点上方MOVEABS(SrcBorrow_X,SrcBorrow_Y,SafeHigh)'下降到取料点MOVEABS(SrcBorrow_X,SrcBorrow_Y,SrcBorrow_Z)'打开Op口吸附取料MOVE_OP(8,ON)'延时MOVE_DELAY(300)'上升到安全高度MOVEABS(SrcBorrow_X,SrcBorrow_Y,SafeHigh)'运动到码盘放料点上方位置MOVEABS(-5*Row,5*Col,SafeHigh)'下降到码盘放料点位置MOVEABS(-5*Row,5*Col,SrcBorrow_Z)'关闭Op口进行放料MOVE_OP(8,OFF)'延时 MOVE_DELAY(300)'上升到安全高度MOVEABS(-5*Row,5*Col,SafeHigh)'临时总数自增TmpSum = TmpSum+1NEXT
NEXT
'等待所有轴停止
WAIT UNTIL IDLE(Axis_VList(0)) AND IDLE(Axis_VList(1)) AND IDLE(Axis_VList(2))
DELAY(10)
RAPIDSTOP(2)
DELAY(10)
'启动标志位置0
StartFlag = 0

▶▶▶ 调试分析

1、将程序下载到控制器运行,先后点击RTSys软件菜单栏的【工具】-【插件】-【XPLC SCREEN】。

在这里插入图片描述

2、待交互界面弹出后,在主界面机械手模式选择”机械手正解”。

在这里插入图片描述

3、建立正解连接之后,打开正运动机械手仿真软件ZRobotView,点击“连接”弹出”连接控制器”窗口,然后选择连接控制器的方式(仿真工具支持串口和网口连接)。这里以网口连接为例,在IP栏选择控制器的IP然后进行连接。

在这里插入图片描述

4、连接成功后,仿真工具上方会显示当前机械手类别,程序中存入Table中的机械手结构参数仿真工具也可以查看,且构建出相应参数的机械手模型。

在这里插入图片描述

5、切换到RTSys编程软件,先后点击菜单栏的【常用】-【示波器】。待示波器窗口弹出后选择XYZ模式,从三维空间观察动作演示效果。数据源选择DPOS(规划位置),数据源编号选择虚拟轴轴号。示波器参数确认后,先后点击【停止】-【启动】-【手动触发】。

在这里插入图片描述

6、切换到交互界面,在主界面机械手模式选择”机械手逆解”,建立逆解模式。然后点击“启动”,进行需求工艺的加工流程。

在这里插入图片描述

7、切换到RTSys软件的示波器界面观察加工效果,Delta机械手每次来回取放料过程,始终保持在安全高度下进行升降,这样确保在实际加工的平稳性。

在这里插入图片描述

教学视频。

EtherCAT运动控制器Delta机械手应用

在这里插入图片描述

本次,正运动技术EtherCAT运动控制器Delta机械手应用,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

在这里插入图片描述

相关文章:

EtherCAT运动控制器Delta机械手应用

ZMC406硬件介绍 ZMC406是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。 ZMC406支持6轴运动控制,最多可扩展至32轴&#…...

物联网杀虫灯—新型的环保杀虫设备

型号推荐:云境天合TH-FD2S】物联网杀虫灯是一种新型环保杀虫设备,其中风吸式太阳能杀虫灯作为其一种特殊类型,展现了独特的工作原理和优势。 风吸式太阳能杀虫灯以太阳能电池板为电源,白天储存电源,晚上为杀虫灯提供电…...

加盟零食店的真是大冤种

关注卢松松,会经常给你分享一些我的经验和观点。 我一朋友,在老家县城去年失业没事干,手里有一点钱但不多,就想着自己干点啥 。最后经多方打听考察,加盟了一个零食店,前前后后花去了近五六十万&#xff0c…...

力扣刷题--数组--第三天

今天再做两道二分查找的题目,关于二分查找的知识可看我前两篇博客。话不多说,直接开干! 题目1:69.x 的平方根 题目详情:   给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数&#…...

开源即时通讯IM框架 MobileIMSDK v6.5 发布

一、更新内容简介 本次更新为次要版本更新,进行了bug修复和优化升级(更新历史详见:码云 Release Notes、Github Release Notes)。 MobileIMSDK 可能是市面上唯一同时支持 UDPTCPWebSocket 三种协议的同类开源IM框架。轻量级、高…...

React 第二十七章 Hook useMemo

useMemo 函数可以用于缓存计算结果,以避免不必要的重复计算。 在React的函数组件中,当组件重新渲染时,函数组件内的所有代码都会重新执行。有些计算可能是非常消耗资源的,例如进行复杂的计算或进行网络请求。如果这些计算的结果在…...

自己写的爬虫小案例

网址:aHR0cDovL2pzc2NqZ3B0Lmp4d3JkLmdvdi5jbi8/dXJsPS92aWV3L3dvcmtpbmdVbml0L3dvcmtpbmdVbml0Lmh0bWw 这串代码能够爬取勘察单位企业的详细信息。 import requests import time import csv f open(勘察单位公司信息.csv,w,encodingutf-8,newline) csv_writer …...

Kafka 环境搭建和使用之单机模式详细教程

上一篇:Kakfa 简介及相关组件介绍 下一篇:Kafka 环境搭建之伪分布式集群详细教程 Kafka 环境搭建 Kafka的环境搭建可以根据不同的需求和场景采取不同的模式,主要包括以下几种: 单机模式(Standalone Mode): 在这种模式下,Kafka、Zookeeper 以及生产者和消费者都在同一…...

Xamarin.Android项目使用ConstraintLayout约束布局

Xamarin.AndroidX.ConstraintLayout Xamarin.Android.Support.Constraint.Layout Xamarin.AndroidX.ConstraintLayout.Solver Xamarin.AndroidX.DataBinding.ViewBinding Xamarin.AndroidX.Legacy.Support.Core.UI Xamarin.AndroidX.Lifecycle.LiveData ![在这里插入图片描述]…...

探索Java 18:未来技术趋势与革新之路

Java,作为一门历史悠久而又历久弥新的编程语言,始终站在技术发展的前沿,引领着软件开发的潮流。随着Java 18的发布,我们再次见证了这门语言的自我迭代与革新。本文将深入探讨Java 18带来的新特性、技术趋势,以及它如何…...

毕业论文怎么写? 推荐4个AI工具

写作这件事一直让我们从小学时期就开始头痛,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,这玩意不…...

JVM认识之垃圾收集算法

一、标记-清除算法 1、定义 标记-清除算法是最基础的垃圾收集算法。它分为标记和清除两个阶段。先标记出所有需要回收的对象(即垃圾),在标记完成后再统一回收所有垃圾对象。 2、优点和缺点 优点:实现简单缺点: 可能…...

docker-compose部署gitlab

需要提前安装docker和docker-compose环境 参考:部署docker-ce_安装部署docker-ce-CSDN博客 参考:docker-compose部署_docker compose部署本地tar-CSDN博客 创建gitlab的数据存放目录 mkdir /opt/gitlab && cd mkdir /opt/gitlab mkdir {conf…...

Colab/PyTorch - 001 PyTorch Basics

Colab/PyTorch - 001 PyTorch Basics 1. 源由2. PyTorch库概览3. 处理过程2.1 数据加载与处理2.2 构建神经网络2.3 模型推断2.4 兼容性 3. 张量介绍3.1 构建张量3.2 访问张量元素3.3 张量元素类型3.4 张量转换(NumPy Array)3.5 张量运算3.6 CPU v/s GPU …...

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习三

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…...

基于Seata实现分布式事务实现

Seata 是一个开源的分布式事务解决方案,它提供了高性能和简单易用的分布式事务服务。Seata 将事务的参与者分为 TC(Transaction Coordinator)、TM(Transaction Manager)和 RM(Resource Manager)…...

adss光缆是什么意思

adss光缆,adss光缆型号,adss光缆用途 什么是adss光缆 ADSS用于高压输电线路并利用电力系统输电塔干,整个光缆为非金属介质,自承悬挂于电力铁塔上的电力强度最小的位置。它运用于已建高压输电线路,具有安全性高&#…...

JavaScript异步编程——04-同源和跨域

同源和跨域 同源 同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口完全相同。 跨域问题的解决方案 从我自己的网站访问别人网站的内容,就叫跨域。 出于安全性考虑,浏览器不允许ajax跨域获取…...

出差——蓝桥杯十三届2022国赛大学B组真题

问题分析 该题属于枚举类型&#xff0c;遍历所有情况选出符合条件的即可。因为只需要派两个人&#xff0c;因此采用两层循环遍历每一种情况。 AC_Code #include <bits/stdc.h> using namespace std; string str;//选择的两人 bool ok(){if(str.find("A")!-1…...

UE5(射线检测)学习笔记

这一篇会讲解射线检测点击事件、离开悬停、进入悬停事件的检测&#xff0c;以及关闭射线检测的事件&#xff0c;和射线检测蓝图的基础讲解。 创建一个简单的第三人称模板 创建一个射线检测的文件夹RadiationInspection&#xff0c;并且右键蓝图-场景组件-命名为BPC_Radiation…...

语音识别的基本概念

语音识别的基本概念​​​​​​​ ​​​​​​​ 言语是一种复杂的现象。人们很少了解它是如何产生和感知的。天真的想法常常是语音是由单词构成的&#xff0c;而每个单词又由音素组成。不幸的是&#xff0c;现实却大不相同。语音是一个动态过程&#xff0c;没有明确区分的…...

OpenCV Radon变换探测直线(拉东变换)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Radon变换可以将原始图像中直线特征的处理问题转化为变换域图像中对应点特征的处理问题,其中对应特征点的横坐标表示原始图像的旋转角度,一般来讲原始图像中的噪声不会分布在直线的特征上。因此,Radon变换在探测…...

六、Redis五种常用数据结构-zset

zset是Redis的有序集合数据类型&#xff0c;但是其和set一样是不能重复的。但是相比于set其又是有序的。set的每个数据都有一个double类型的分数&#xff0c;zset正是根据这个分数来进行数据间的排序从小到大。有序集合中的元素是唯一的&#xff0c;但是分数(score)是可以重复的…...

FPGA第一篇,FPGA现场可编程门阵列,从0开始掌握可编程硬件开发(FPGA入门指南)

简介&#xff1a;FPGA全称Field-Programmable Gate Array&#xff0c;是一种可编程逻辑器件&#xff0c;它通过可编程的逻辑单元和可编程的连接网络实现了灵活的硬件实现。与固定功能的集成电路&#xff08;ASIC&#xff09;相比&#xff0c;FPGA具有更高的灵活性和可重新配置性…...

C#实现简单音乐文件解析播放——Windows程序设计作业2

1. 作业内容 编写一个C#程序&#xff0c;要求实现常见音乐文件的播放功能&#xff0c;具体要求如下&#xff1a;     1). 播放MP3文件&#xff1a; 程序应能够读取MP3文件&#xff0c;并播放其中的音频。     2). 播放OGG文件&#xff1a; 应能够播放ogg文件。     …...

Python数据爬取超简单入门

## 什么是网络爬虫&#xff1f; 网络爬虫是一种自动浏览器程序&#xff0c;能够自动地从互联网获取数据。爬虫的主要任务是访问网页&#xff0c;分析网页内容&#xff0c;然后提取所需的信息。爬虫广泛应用于数据收集、数据分析、网页内容监控等领域。 ## 爬虫的基本步骤 1.…...

Dreamweaver 2021 for Mac 激活版:网页设计工具

在追求卓越的网页设计道路上&#xff0c;Dreamweaver 2021 for Mac无疑是您的梦幻之选。这款专为Mac用户打造的网页设计工具&#xff0c;集强大的功能与出色的用户体验于一身。 Dreamweaver 2021支持多种网页标准和技术&#xff0c;让您能够轻松创建符合现代网页设计的作品。其…...

【Git】Git学习-15:分支简介和基本操作

学习视频链接&#xff1a;【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 git bran…...

浏览器提示网站“不安全”原因及解决方法

是否经常会遇到访问的网站被浏览器提示访问不安全&#xff1f;那么&#xff0c;浏览器提示网站不安全通常有哪些原因又该如何处理这种不安全提醒&#xff0c;以下总结了几个原因及相应的处理办法&#xff1a; 一、网站管理者原因排查及处理办法&#xff1a; 1、网站没有部署S…...

Jmeter详细学习思路和教程

目录 1、JMeter环境准备 1.1、介绍 1.2、与LoadRunner比较 1.3、前提条件 1.4、安装配置 2、JMeter脚本 2.1、测试计划 2.2、线程组 2.3、Sampler 2.4、HTTP请求 2.5、查看结果树 2.6、HTTP Cookie管理器 2.7、HTTP信息头管理器 2.8、响应断言 2.9、参数化 3、JM…...

银川做网站哪家好/江苏建站

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 前端面试基础知识题 1. js中如何判断一个值是否是数组类型&#xff1f; instanceof const arr []; arr instanceof…...

国外数码印花图案设计网站/爱站数据官网

时间限制&#xff1a;1秒 空间限制&#xff1a;65536K 热度指数&#xff1a;395算法知识视频讲解题目描述对给定的字符串(只包含z,o,j三种字符),判断他是否能AC。 是否AC的规则如下&#xff1a; 1. zoj能AC&#xff1b; 2. 若字符串形式为xzojx&#xff0c;则也能AC&#xff0c…...

免费网站模板库/三叶草gy5987

展开全部用“”替换文件中的内32313133353236313431303231363533e78988e69d8331333337626137容达到删除目的import java.io.InputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.util.…...

大学网站建设目标/百度联盟推广

ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flv ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv 使用-ss参数 作用&#xff08;time_off set the start time offset&#xff09;&#xff0c;可以从指…...

广州培训做网站/佛山今日头条

点击上方 蓝字 关注我们给大家推荐几个我经常看的一些公众号&#xff0c;当你迷茫的时候刷一下这些公众号&#xff0c;就可以知道自己的不足&#xff0c;小编经常在地铁刷。从这些公众号我看到了同一个问题的不同描述和思路&#xff0c;十分精彩&#xff0c;大家可以关注一下他…...

做网站用什么技术/网游百度搜索风云榜

目录 5.1. 解析本库WAL日志 5.1.1. 创建扩展 5.1.2. 执行普通解析 5.1.3. 时间范围解析 5.1.4. LSN范围解析 5.1.5. 单表解析 5.1.6. 查看分析结果 5.1.7. 结束分析 5.2. 解析其他数据库的WAL日志 5.2.1. 从其他数据库导出数据字典 5.2.2. 导入其他数据库…...