新控制算法
Ⅰ 电机的控制算法
选用直流或则同步伺服电机,启动惯性小,启动转矩大,可以快速加速,然后设置好电流环参数,减小电流环惯性系数,应当可以达到要求。如果在平衡点想力求快速平稳控制可以考虑其他高级控制算法,如最优控制,模糊PID控制等
给电流环阶跃信号,如果他能快速上升且产生微弱超调或者不超调,这样的PI参数就可以,个人认为i参数不必设的挺大,甚至去掉就可以;可以加D参数,它能提高速度环的反应速度。电流环加PI两个参数就可
Ⅱ 机器人控制算法如何编写
基于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.
Ⅲ 新能源汽车bms控制算法有哪些
新能源汽车bms的控制算法有热管理控制。soc控制,soh计算控制和上下电管理等。
Ⅳ 一文搞懂PID控制算法
PID算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID算法已经有100多年历史,在四轴飞行器,平衡小车、汽车定速巡航、温度控制器等场景均有应用。
之前做过循迹车项目,简单循迹摇摆幅度较大,效果如下所示:
PID算法优化后,循迹稳定性能较大提升,效果如下所示:
PID算法:就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种常见的“保持稳定”控制算法。
常规的模拟PID控制系统原理框图如下所示:
因此可以得出e(t)和u(t)的关系:
其中:
Kp:比例增益,是调适参数;
Ki:积分增益,也是调适参数;
Kd:微分增益,也是调适参数;
e:误差=设定值(SP)- 回授值(PV);
t:目前时间。
数学公式可能比较枯燥,通过以下例子,了解PID算法的应用。
例如,使用控制器使一锅水的温度保持在50℃,小于50℃就让它加热,大于50度就断电不就行了?
没错,在要求不高的情况下,确实可以这么干,如果换一种说法,你就知道问题出在哪里了。
如果控制对象是一辆汽车呢?要是希望汽车的车速保持在50km/h不动,这种方法就存在问题了。
设想一下,假如汽车的定速巡航电脑在某一时间测到车速是45km/h,它立刻命令发动机:加速!
结果,发动机那边突然来了个100%全油门,嗡的一下汽车急加速到了60km/h,这时电脑又发出命令:刹车!结果乘客吐......
所以,在大多数场合中,用“开关量”来控制一个物理量就显得比较简单粗暴了,有时候是无法保持稳定的,因为单片机、传感器不是无限快的,采集、控制需要时间。
而且,控制对象具有惯性,比如将热水控制器拔掉,它的“余热”即热惯性可能还会使水温继续升高一小会。
此时就需要使用PID控制算法了。
接着咱再来详细了解PID控制算法的三个最基本的参数:Kp比例增益、Ki积分增益、Kd微分增益。
1、Kp比例增益
Kp比例控制考虑当前误差,误差值和一个正值的常数Kp(表示比例)相乘。需要控制的量,比如水温,有它现在的 当前值 ,也有我们期望的 目标值 。
当两者差距不大时,就让加热器“轻轻地”加热一下。
要是因为某些原因,温度降低了很多,就让加热器“稍稍用力”加热一下。
要是当前温度比目标温度低得多,就让加热器“开足马力”加热,尽快让水温到达目标附近。
这就是P的作用,跟开关控制方法相比,是不是“温文尔雅”了很多。
实际写程序时,就让偏差(目标减去当前)与调节装置的“调节力度”,建立一个一次函数的关系,就可以实现最基本的“比例”控制了~
Kp越大,调节作用越激进,Kp调小会让调节作用更保守。
若你正在制作一个平衡车,有了P的作用,你会发现,平衡车在平衡角度附近来回“狂抖”,比较难稳住。
2、Kd微分增益
Kd微分控制考虑将来误差,计算误差的一阶导,并和一个正值的常数Kd相乘。
有了P的作用,不难发现,只有P好像不能让平衡车站起来,水温也控制得晃晃悠悠,好像整个系统不是特别稳定,总是在“抖动”。
设想有一个弹簧:现在在平衡位置上,拉它一下,然后松手,这时它会震荡起来,因为阻力很小,它可能会震荡很长时间,才会重新停在平衡位置。
请想象一下:要是把上图所示的系统浸没在水里,同样拉它一下 :这种情况下,重新停在平衡位置的时间就短得多。
此时需要一个控制作用,让被控制的物理量的“变化速度”趋于0,即类似于“阻尼”的作用。
因为,当比较接近目标时,P的控制作用就比较小了,越接近目标,P的作用越温柔,有很多内在的或者外部的因素,使控制量发生小范围的摆动。
D的作用就是让物理量的速度趋于0,只要什么时候,这个量具有了速度,D就向相反的方向用力,尽力刹住这个变化。
Kd参数越大,向速度相反方向刹车的力道就越强,如果是平衡小车,加上P和D两种控制作用,如果参数调节合适,它应该可以站起来了。
3、Ki积分增益
Ki积分控制考虑过去误差,将误差值过去一段时间和(误差和)乘以一个正值的常数Ki。
还是以热水为例,假如有个人把加热装置带到了非常冷的地方,开始烧水了,需要烧到50℃。
在P的作用下,水温慢慢升高,直到升高到45℃时,他发现了一个不好的事情:天气太冷,水散热的速度,和P控制的加热的速度相等了。
这可怎么办?
P兄这样想:我和目标已经很近了,只需要轻轻加热就可以了。
D兄这样想:加热和散热相等,温度没有波动,我好像不用调整什么。
于是,水温永远地停留在45℃,永远到不了50℃。
根据常识,我们知道,应该进一步增加加热的功率,可是增加多少该如何计算呢?
前辈科学家们想到的方法是真的巧妙,设置一个积分量,只要偏差存在,就不断地对偏差进行积分(累加),并反应在调节力度上。
这样一来,即使45℃和50℃相差不是太大,但是随着时间的推移,只要没达到目标温度,这个积分量就不断增加,系统就会慢慢意识到:还没有到达目标温度,该增加功率啦!
到了目标温度后,假设温度没有波动,积分值就不会再变动,这时,加热功率仍然等于散热功率,但是,温度是稳稳的50℃。
Ki的值越大,积分时乘的系数就越大,积分效果越明显,所以,I的作用就是,减小静态情况下的误差,让受控物理量尽可能接近目标值。
I在使用时还有个问题:需要设定积分限制,防止在刚开始加热时,就把积分量积得太大,难以控制。
PID算法的参数调试是指通过调整控制参数(比例增益、积分增益/时间、微分增益/时间) 让系统达到最佳的控制效果 。
调试中稳定性(不会有发散性的震荡)是首要条件,此外,不同系统有不同的行为,不同的应用其需求也不同,而且这些需求还可能会互相冲突。
PID算法只有三个参数,在原理上容易说明,但PID算法参数调试是一个困难的工作,因为要符合一些特别的判据,而且PID控制有其限制存在。
1、稳定性
若PID算法控制器的参数未挑选妥当,其控制器输出可能是不稳定的,也就是其输出发散,过程中可能有震荡,也可能没有震荡,且其输出只受饱和或是机械损坏等原因所限制。不稳定一般是因为过大增益造成,特别是针对延迟时间很长的系统。
2、最佳性能
PID控制器的最佳性能可能和针对过程变化或是设定值变化有关,也会随应用而不同。
两个基本的需求是调整能力(regulation,干扰拒绝,使系统维持在设定值)及命令追随 (设定值变化下,控制器输出追随设定值的反应速度)。有关命令追随的一些判据包括有上升时间及整定时间。有些应用可能因为安全考量,不允许输出超过设定值,也有些应用要求在到达设定值过程中的能量可以最小化。
3、各调试方法对比
4、调整PID参数对系统的影响
Ⅳ 哪些控制类的算法惊艳了你
谈到控制算法,有人说路径规划,有人说机器人运动学,还有人说卡尔曼滤波器,神经网络,蚁群算法,或者粒子群优化算法。我擦,这哪是控制算法,完全不是一个层面的东西,至少不属于狭义上的控制算法。那上面那些东西属于啥,搞控制的喜欢对系统分层,一般分为决策优化层和控制层。路径规划,机器人运动学都属于决策优化层的东西,在这一层进行全局的规划和优化,最后生成控制指令,传给控制层,控制层通过闭环反馈实现对指令的跟踪。
控制算法,控制的是信号,信号是连续量,比如电压,电流,转速,功率,温度,等等,说到底信号就是一个物理量在一个域(时间或者空间)上展开。系统是啥,系统就是信号到信号的变换,比如最普通的直流电机,我加一个电压信号给电机,然后电机的转速信号慢慢升到一个固定值,这里电机就是一个系统,它实现了电压信号到转速信号的变换,改变电压,转速信号也会随着改变。