① 什么是最小均方(LMS)算法
全称 Least mean square 算法。中文是最小均方算法。
感知器和自适应线性元件在历史上几乎是同时提出的,并且两者在对权值的调整的算法非常相似。它们都是基于纠错学习规则的学习算法。感知器算法存在如下问题:不能推广到一般的前向网络中;函数不是线性可分时,得不出任何结果。而由美国斯坦福大学的Widrow和Hoff在研究自适应理论时提出的LMS算法,由于其容易实现而很快得到了广泛应用,成为自适应滤波的标准算法。
LMS算法步骤:
1,、设置变量和参量:
X(n)为输入向量,或称为训练样本
W(n)为权值向量
b(n)为偏差
d(n)为期望输出
y(n)为实际输出
η为学习速率
n为迭代次数
2、初始化,赋给w(0)各一个较小的随机非零值,令n=0
3、对于一组输入样本x(n)和对应的期望输出d,计算
e(n)=d(n)-X^T(n)W(n)
W(n+1)=W(n)+ηX(n)e(n)
4、判断是否满足条件,若满足算法结束,若否n增加1,转入第3步继续执行。
② 计算机视觉算法工程师笔试主要什么内容
你好,领学网为你解答:计算机视觉部分:1、考察特征点匹配算法,输入两幅图像中的特征点对,输出匹配的特征点对,(128维描述子)距离计算函数已给出无需考虑复杂度。编写伪代码,分析算法复杂度;2、考察图像旋转。左边图像时旋转一定角度后的图像(有黑边),右边为正常图像。已知两幅图像都为WxH,以及左图像与四边的切点A1A2A3A4,设计旋转算法使左图像变换矫正成右图像,编写伪代码,分析算法复杂度及优缺点;3、主要考察双目视觉中的标定知识。给出了双目视觉的成像原理图及相关定理和表达。第一小题,需要证明x'Fx=0x'x为左右图像中的匹配点对,并要求给出F矩阵的秩;第二小题要求推导出最少可由多少对左右图像中匹配点可以推导出F矩阵;4、要求写出图像处理和计算机视觉在无人飞行器中的3个重要应用。给出理由和解决方案并分析。图像处理部分:1、主要考察一维中值滤波,退化为区间滤波编写伪代码,分析算法复杂度;2、主要考察二维中值滤波,编写伪代码,分析算法复杂度;3、如何去除脉冲噪声,图像中有大量随机产生的255和0噪声;4、考察加权中值滤波公式推导以及一维加权中值滤波控制部分:对象举例均为四旋翼无人飞行器,各题目要求设计控制器,给出控制率,还有观测方案设计等等;有一题比较简单就是说明PID的各部分含义以及如何调节。希望帮到你!
③ 机器人控制算法如何编写
基于DSP运动控制器的5R工业机器人系统设计 摘要:以所设计的开放式5R关节型工业机器人为研究对象,分析了该机器人的结构设计。该机器人采 用基于工控PC及DSP运动控制器的分布式控制结构,具有开放性强、运算速度快等特点,对其工作原理 进行了详细的说明。机器人的控制软件采用基于Windows平台下的VC++实现,具有良好的人机交互 功能,对各组成模块的作用进行了说明。所设计的开放式5R工业机器人系统,具有较好的实用性。 关键词:开放式;关节型;工业机器人;控制软件 0引言 工业机器人技术在现代工业生产自动化领域得到 了广泛的应用,也对工程技术人员提出更高的要求,作 为机械工程及自动化专业的技术人才迫切需要掌握这 一 先进技术。为了能更好地加强技术人员对工业机器 人的技能实践与技术掌握,需要开放性强的设备来满 足要求。本文阐述了我们所开发设计的一种5R关节 型工业机器人系统,可以作为通用的工业机器人应用 于现场,也可作为教学培训设备。 1 5R工业机器人操作机结构设计 关节型工业机器人由2个肩关节和1个肘关节进 行定位,由2个或3个腕关节进行定向,其中一个肩关节 绕铅直轴旋转,另一个肩关节实现俯仰,这两个肩关节 轴线正交。肘关节平行于第二个肩关节轴线。这种构 型的机器人动作灵活、工作空间大,在作业空间内手臂 的干涉最小,结构紧凑,占地面积小,关节上相对运动部 位容易密封防尘,但运动学复杂、运动学反解困难,控制 时计算量大。在工业用应用是一种通用型机器人¨。 1.1 5R工业机器人操作机结构 所设计的5R关节型机器人具有5个自由度,结构 简图如图1所示。5个自由度分别是:肩部旋转关节 J1、大臂旋转关节J2、小臂旋转关节J3、手腕仰俯运动 关节J4和在旋转运动关节J5。总体设计思想为:选用 伺服电机(带制动器)驱动,通过同步带、轮系等机械机 构进行间接传动。腕关节上设计有装配手爪用法兰, 通过不断地更换手爪来实现不同的作业任务。 1.2 5R工业机器人参数 表1为设计的5R工业机器人参数。 2 5R工业机器人开放式控制系统 机器人控制技术对其性能的优良起着重大的作用。随着机器人控制技术的发展,针对结构封闭的机 器人控制器的缺陷,开发“具有开发性结构的模块化、 标准化机器人控制器”是当前机器人控制器发展的趋 势]。为提高稳定性、可靠性和抗干扰性,采用“工业 PC+DSP运动控制器”的结构来实现机器人的控制:伺 服系统中伺服级计算机采用以信号处理器(DSP)为核 心的多轴运动控制器,借助DSP高速信号处理能力与 运算能力,可同时控制多轴运动,实现复杂的控制算法 并获得优良的伺服性能。 2.1基于DSP的运动控制器MCT8000F8简介 深圳摩信科技公司MCT8000F8运动控制器是基 于网络技术的开放式结构高性能DSP8轴运动控制器, 包括主控制板、接口板以及控制软件等,具有开放式、 高速、高精度、网际在线控制、多轴同步控制、可重构 性、高集成度、高可靠性和安全性等特点,是新一代开 放式结构高性能可编程运动控制器。 图2为DSP多轴运动控制器硬件原理图。图中增 量编码器的A0(/A0)、B0(/B0)、c0(/CO)信号作为 位置反馈,运动控制器通过四倍频、加减计数器得到实 际的位置,实际位置信息存在位置寄存器中,计算机可 以通过控制寄存器进行读取。运动控制卡的目标位置 由计算机通过机器人运动轨迹规划求得,通过内部计 算得到位置误差值,再经过加减速控制和数字滤波后, 送到D/A转换(DAC)、运算放大器、脉宽调制器 (PWM)硬件处理电路,转化后输出伺服电机的控制信 号或PWM信号。各个关节可以完成独立伺服控制,能 够实现线性插补控制、二轴圆弧插补控制。 2.2机器人控制系统结构及工作原理 基于PC的Windows操作系统,因其友好的人机界 面和广泛的用户基础,而成为基于PC控制器的首选。 采用PC作为机器人控制器的主机系统的优点是:①成 本低;②具有开放性;③完备的软件开发环境和丰富的 软件资源;④良好的通讯功能。机器人控制结构上采 用了上、下两级计算机系统完成对机器人的控制:上级 主控计算机负责整个系统管理,下级则实现对各个关 节的插补运算和伺服控制。这里通过采用一台工业 PC+DSP运动控制卡的结构来实现机器人控制。实验 结果证明了采用Pc+DSP的计算结构可以充分利用 DSP运算的高速性,满足机器人控制的实时需求,实现 较高的运动控制性能。 机器人伺服系统框图如图3所示。伺服系统由基 于DSP的运动控制器、伺服驱动器、伺服电动机及光电 编码器组成。伺服系统包含三个反馈子系统:位置环、 速度环、电流环,其工作原理如下:执行元件为交流伺 服电动机,伺服驱动器为速度、电流闭环的功率驱动元 件,光电编码器担负着检测伺服电机速度和位置的任 务。伺服级计算机的主要功能是接受控制级发出的各 种运动控制命令,根据位置给定信号及光电编码器的 位置反馈信号,分时完成各关节的误差计算、控制算法 及D/A转换、将速度给定信号加至伺服组件的控制端 子,完成对各关节的位置伺服控制。管理级计算机采用 586工控机(或便携笔记本),主要完成离线编程、仿真、 与控制级通讯、作业管理等功能;控制级计算机采用586 工控机,主要完成用户程序编辑、用户程序解释,向下位 机运动控制器发机器人运动指令、实时监控、输入输出 控制(如打印)等。示教盒通过控制级计算机可以获得 机器人伺服系统中的数据(脉冲、转角),并用于控制级 计算机控制软件中实现对机器人的示教及控制。 3 5R工业机器人运动控制软件设计 5R工业机器人控制软件采用C++Builder编程, 最终软件运行在Windows环境下。C++Builder对在 Windows平台下开发应用程序时所涉及到的图形用户 界面(GUI)编程具有很强的支持能力,提供了可视化 的开发环境,可以方便调用硬件厂商提供的底层函数, 直接对硬件进行操作,而且生成目标代码效率高。 所设计的控制软件为分级式模块化结构。 管理级主模块具有离线编程、图形仿真、资料查询 及故障诊断等功能,其结构如图4所示。 (1)离线编程模块利用计算机图形学的成果,建立 机器人及其工作环境的模型,利用规划算法,通过对图 形和对象的操作,编制各种运动控制,在离线情况下生 成工作程序。 (2)图形仿真模块可预先模拟结果,便于检查及优 化。 (3)资料查询模块可以查阅当日工作及近期工作 记录、相关资料(生产数量、班次等),并可以打印输出 存档。 (4)故障诊断模块可以实时故障诊断,以代码形式显 示出故障类型,并为技术人员排除故障提供帮助信息。 控制级主模块软件结构如图5所示。 (1)复位模块使得机器人停机时或动作异常时,通 过特定的操作或自动的方式,使机器人回到作业原点。 机器人在作业原点,机构的各运动副所受力矩最小,它 确定了机器人待机的安全位姿。 (2)系统提供两种示教方法。第一种示教方法即 “下位机+示教盒”的示教方法:示教盒和下位机操作 界面上的手动操作开关分别对应着装配机器人的各种 动作和功能。通过高、中、低速、点动等速度档次的选 择,对机器人进行大致的定位和精确的位置微调。并 存储期望的运动轨迹上机器人的位置、姿态参数。第 二种方法即离线仿真的示教方法。这种示教方法是在 计算机上建立起机器人作业环境的模型,再在这个模 型的基础上生成示教数据的一种应用人工智能的示教 方法。进行示教时使用计算机图示的方法分析机器人与作业模型的位置关系,也可以通过特定指令指定机 器人的运动位置…。 4结束语 所开发的开放式工业机器人系统具有以下特点: (1)采用分布式二级控制结构,运动控制由基于 DSP的运动控制器M'CT8000F8完成,增加了系统的开 放性,以及运行处理的快速性及可靠性。 (2)考虑到具有良好的通用性,可以作为通用机器 人使用,具有较好的产业化、商品化前景。 (3)计算机辅助软件采用基于Windows平台的 c++编程,通过调用底层函数可以对硬件进行直接操 作,可视化环境可提供良好的人机交互操作界面。 通过本机器人系统的研究开发,可极大地满足工 业现场对机器人的开放性要求,进一步提高我国工矿 企业自动化水平。同时,也可作为机器人技术训练平 台,加强工程人员能力锻炼。 [参考文献] [1]马香峰,等.工业机器人的操作机设计[M].北京:冶金工 业出版社,1996. [2]吴振彪.工业机器人[M].武汉:华中理工大学出版社, 2006. [3]蔡自兴.机器人学[M].北京:清华大学出版社,2003. [4]王天然,曲道奎.工业机器人控制系统的开放体系结构 [J].机器人,2002,24(3):256—261. [5]深圳摩信科技有限公司.MCT8000系列控制器使用手册 [z].深圳:深圳摩信科技有限公司,2001. [6]张兴国.环保压缩机装配机器人的运动学分析[J].南通 工学院学报,2004(1):32—34,38. [7]张兴国.计算机辅助环保压缩机装配机器人运动学分析 [J].机械设计与制造,2005(3):98—100, [8]本书编写委员会编着.程序设计VisualC++6[M].北京: 电子工业出版社,2000. [9]吴斌,等.OpenGL编程实例与技巧[M].北京:人民邮电出 版社,1999. [10]江早.OpenGLVC/VB图形编程[M】.北京:中国科学技 术出版社,2001. [11]韩军,等.6R机器人运动学控制实验系统的研制[J].实 验室研究与探索,2003(5):103—104.
④ 求omp算法的原理图
是指算法描述吗?
⑤ Visio怎样绘制遗传算法原理图
在文本工具旁有个“绘图工具”----点选里面的铅笔工具(ctrl+4),按住shift,可以画出圆弧。(需要练习一下,因为很容易画出直线。个人经验是按住shift,鼠标快速滑出圆弧后,再调整圆弧大小。)
⑥ C语言折半排序法到底是怎么回事,哪位大神能给我一个原理 ,最好能有原理图
有折半查找,没听说过折半排序,排序有插入、冒泡、选择(这三个效率较低)、希尔、快速、堆、归并等常见方法,对于特殊的数据还可以用计数、桶、基数等方法,在一些算法的具体实现过程中,某次排序之后要找到下一次排序需要交换或者选择的数据,可以通过折半查找的方式快速找元素,但真没有听说过方法本身就是折半排序的。
⑦ 关于一个电流检测电路的原理图分析问题,谁能帮忙分析一下这个电路的工作原理和放大倍数的计算方法!
这是电流检测电路。
电流经过检测电阻R33R34(以下称作R33)形成一定电压降。然后分别输入运放的正负输入端。
根据运放的原理来分析。
首先,运放的正负端电位应该一致。输入运放正负端的电流为零。
设负载电流IA,检测输出电压V8.
检测电阻R33R34上2端的电压分别是V3 V4。差值就是负载电流在检测电阻上的压降。
R35和R36为方便设为R356,这个并联电阻的电流设置为 I1.
则有
运放输入 V+ = V3 - I1*R356
运放输入 V- = V4
由于V+ = V-
则,V3-V4 = I1 * R356 = IA * R33
电流 I1 = V8/R50 (R50和R102的并联)
整理后, V8= IA * R50* R33 / R356。
这里 R33是定值,R356也是不变的。
通过改变R50,也就可以改变输出电压与负载电流的倍率关系。
⑧ 比较算法优缺点:
作业调度算法 .
1.先来先服务(FCFS, First Come First Serve)是最简单的调度算法,按先后顺序进行调度。
定义:
按照作业提交或进程变为就绪状态的先后次序,分派CPU;
当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。
在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。
适用场景:
比较有利于长作业,而不利于短作业。因为长作业会长时间占据处理机。
有利于CPU繁忙的作业,而不利于I/O繁忙的作业。
算法实现原理图:
2. 轮转法(Round Robin)
轮转法是让每个进程在就绪队列中的等待时间与享受服务的时间成正比例。
定义:
将系统中所有的就绪进程按照FCFS原则,排成一个队列。
每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。
在一个时间片结束时,发生时钟中断。
调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。
进程可以未使用完一个时间片,就出让CPU(如阻塞)。
时间片长度的确定:
时间片长度变化的影响
过长->退化为FCFS算法,进程在一个时间片内都执行完,响应时间长。
过短->用户的一次请求需要多个时间片才能处理完,上下文切换次数增加,响应时间长。
对响应时间的要求:T(响应时间)=N(进程数目)*q(时间片)
就绪进程的数目:数目越多,时间片越小
系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响应时间,平均周转时间和平均带权周转时间延长。
算法实现原理图:
3. 多级反馈队列算法(Round Robin with Multiple Feedback)
多级反馈队列算法是轮转算法和优先级算法的综合和发展。
定义:
设置多个就绪队列,分别赋予不同的优先级,如逐级降低,队列1的优先级最高。每个队列执行时间片的长度也不同,规定优先级越低则时间片越长,如逐级加倍。
新进程进入内存后,先投入队列1的末尾,按FCFS算法调度;若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样按FCFS算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度直到完成。
仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢先的进程投入原队列的末尾。
优点:
为提高系统吞吐量和缩短平均周转时间而照顾短进程。
为获得较好的I/O设备利用率和缩短响应时间而照顾I/O型进程。
不必估计进程的执行时间,动态调节
几点说明:
I/O型进程:让其进入最高优先级队列,以及时响应I/O交互。通常执行一个小时间片,要求可处理完一次I/O请求的数据,然后转入到阻塞队列。
计算型进程:每次都执行完时间片,进入更低级队列。最终采用最大时间片来执行,减少调度次数。
I/O次数不多,而主要是CPU处理的进程。在I/O完成后,放回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。
为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时,降低优先级。
算法实现原理图:
4. 优先级法(Priority Scheling)
优先级算法是多级队列算法的改进,平衡各进程对响应时间的要求。适用于作业调度和进程调度,可分成抢先式和非抢先式。
静态优先级:
作业调度中的静态优先级大多按以下原则确定:
由用户自己根据作业的紧急程度输入一个适当的优先级。
由系统或操作员根据作业类型指定优先级。
系统根据作业要求资源情况确定优先级。
进程的静态优先级的确定原则:
按进程的类型给予不同的优先级。
将作业的情态优先级作为它所属进程的优先级。
动态优先级:
进程的动态优先级一般根据以下原则确定:
根据进程占用有CPU时间的长短来决定。
根据就绪进程等待CPU的时间长短来决定。
5.短作业优先法(SJF, Shortest Job First)
短作业优先又称为“短进程优先”SPN(Shortest Process Next);这是对FCFS算法的改进,其目标是减少平均周转时间。
定义:
对预计执行时间短的作业(进程)优先分派处理机。通常后来的短作业不抢先正在执行的作业。
SJF的特点:
(1) 优点:
比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间;
提高系统的吞吐量;
(2) 缺点:
对长作业非常不利,可能长时间得不到执行;
未能依据作业的紧迫程度来划分执行的优先级;
难以准确估计作业(进程)的执行时间,从而影响调度性能。
SJF的变型:
“最短剩余时间优先”SRT(Shortest Remaining Time)(允许比当前进程剩余时间更短的进程来抢占)
“最高响应比优先”HRRN(Highest Response Ratio Next)(响应比R = (等待时间 + 要求执行时间) / 要求执行时间,是FCFS和SJF的折衷)
6. 最高响应比优先法(HRN,Highest Response_ratio Next)
最高响应比优先法是对FCFS方式和SJF方式的一种综合平衡。FCFS方式只考虑每个作业的等待时间而未考虑执行时间的长短,而SJF方式只考虑执行时间而未考虑等待时间的长短。因此,这两种调度算法在某些极端情况下会带来某些不便。HRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。
响应比R定义如下: R =(W+T)/T = 1+W/T
其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。每当要进行作业调度时,系统计算每个作业的响应比,选择其中R最大者投入执行。这样,即使是长作业,随着它等待时间的增加,W / T也就随着增加,也就有机会获得调度执行。这种算法是介于FCFS和SJF之间的一种折中算法。由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于SJF法,从而采用HRN方式时其吞吐量将小于采用SJF 法时的吞吐量。另外,由于每次调度前要计算响应比,系统开销也要相应增加。