搜索
bottom↓
回复: 183

PID和仿人控制,孰优孰劣?300-1000控温精度+-1度,最高超调2度

  [复制链接]

出0入0汤圆

发表于 2009-11-14 14:17:48 | 显示全部楼层 |阅读模式
硬件:
1。用可控硅控制4.5KW电炉 用K型热电偶采集温度,采用cs1242做温度转换,可以到正负一度的精度


实验目标:
在300度到1000度内可对任意设定的温度恒温,精度先做到+/-1度吧

基本的控制实现方法:
因为是对加热的炉子温度进行控制,属于滞后效应系统,所以采样周期先定为2秒(这里指的是PID计算的周期,注意我的温度采样是实时的),所以CPU外部中断次数为15次/S,对应的功率计算结果输出为0~255,就是说把这2秒钟划分为255等份,根据计算的结果来决定在这2秒钟内应该加热多少等份


下面是控制曲线输出的表格 0.1度为单位
点击此处下载 控制曲线.xls(文件大小:27K) (原文件名:曲线.xls)

(原文件名:升温曲线.JPG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2009-11-14 22:20:27 | 显示全部楼层
希望楼主多介绍点相关知识,谢谢!

出0入0汤圆

发表于 2009-11-15 00:18:07 | 显示全部楼层
对大于二阶的惯性系统温度控制来说,仿人优于PID。

出0入0汤圆

 楼主| 发表于 2009-11-15 08:20:11 | 显示全部楼层
搞自控的这么多派别中,我是电工派的.公式太多看不太懂,走的都是野路子,但是运行的也挺稳定的,不可否认,公式上有些东西学习后能提高自控的最优程度,比如说达到目标速度快,超调小,抗干扰能力强(鲁棒性好)等等.

出0入0汤圆

发表于 2009-11-15 09:55:56 | 显示全部楼层
记号,pid正在学习...

出0入20汤圆

发表于 2009-11-15 10:04:26 | 显示全部楼层
楼主是三德还是开元的?

出0入0汤圆

发表于 2009-11-15 10:07:14 | 显示全部楼层
记号,准备听许老师讲课。

出0入0汤圆

 楼主| 发表于 2009-11-15 12:29:46 | 显示全部楼层
【6楼】 wenming 老王

楼主是三德还是开元的?

不是

出0入0汤圆

 楼主| 发表于 2009-11-15 12:33:10 | 显示全部楼层
edawn 小闹钟
是谁啊?认识我?

出0入0汤圆

发表于 2009-11-15 16:17:55 | 显示全部楼层
这东西 PID做不了最优的控制 要么太慢要么超调

出0入0汤圆

 楼主| 发表于 2009-11-15 16:36:07 | 显示全部楼层
jjldc 九九大侠都来了,不容易啊

出0入0汤圆

 楼主| 发表于 2009-11-15 20:46:55 | 显示全部楼层
贴上控制代码
<pre>
<code>/******************************************************************************
FILE:       FUZZY.C
POPURSE:
WRITER:     Xukaiming
DATE:       2007.03.08
******************************************************************************/
#include &quot;main.h&quot;
#include &quot;task.h&quot;
#include &quot;fuzzy.h&quot;
#include &quot;ied_ctrl.h&quot;
#include &quot;math.h&quot;
#include &quot;x5043.h&quot;
#include &quot;manctrl.h&quot;


#define ERRORCNT  9                        //误差记录
#define DERRORCNT 10                //误差变化率记录
//#define DOOROPENSPEED  -15L        //开门时的升温速度,如果低于此温度,认为电阻丝的热量完全散发出来或者开门升温
xdata long DOOROPENSPEED =  - 15L;
#define MAXNEGINTERG   (-200L*KI/Ki)
extern code unsigned int K_Temp_Tab[];
typedef struct AI_CONTROL
{
  
long gDest; //目标温度的AD值
  
long CTEMP; //开始控制温度

  
long Error[ERRORCNT]; //偏差
  
long dErr[DERRORCNT]; //偏差变化率       
  
long ECSUM; //10S内的偏差变化率之和               
  
long SumErrLimit; //加热初值                       

  
long PreviewOut;
  
long du;
  
long DoorOpenValue; //保存炉子门状态         
  
char LowSpeedCnt;
  
unsigned int iDestTemp; //目标温度值
};

#define Kp                15                           //输出变量u比例因子
#define Ki                1/10                                 //衰减系数;               
#define KI                15

//Kp 变小的时候 ki要变大       
xdata struct AI_CONTROL Ai_CTRL;
void TaskFuzzy(void)
{
  
char cnt;
  
_nop_();

  
if (IED.lADTemp &gt; MAX_TEMP)
  
//超温保护
  
{
   
SetPWM(PWM_PITCED);
   
return ;
  }
  
//求偏差
  
for (cnt = ERRORCNT - 1; cnt &gt; 0; cnt--)
  {
   
Ai_CTRL.Error[cnt] = Ai_CTRL.Error[cnt - 1];
  }
//保存上次偏差值
  
Ai_CTRL.Error[0] = (long)(((Ai_CTRL.gDest - IED.lADTemp) / KC));
  
for (cnt = DERRORCNT - 1; cnt &gt; 0; cnt--)
  {
   
Ai_CTRL.dErr[cnt] = Ai_CTRL.dErr[cnt - 1];
  }
//保存上次偏差率值
  
Ai_CTRL.dErr[0] = Ai_CTRL.Error[0] - Ai_CTRL.Error[1]; //计算偏差变化率
  
Ai_CTRL.ECSUM = Ai_CTRL.dErr[0] + Ai_CTRL.dErr[1] + Ai_CTRL.dErr[2] +
   
Ai_CTRL.dErr[3] + Ai_CTRL.dErr[4]; //10s的温升速率          =iol               
  
if (Ai_CTRL.Error[0] &lt; Ai_CTRL.CTEMP)
  {

   
if (((Ai_CTRL.Error[0] *Ai_CTRL.dErr[0]) &gt; 0) || ((Ai_CTRL.Error[0] == 0)
      &amp;&amp; (
Ai_CTRL.dErr[0] != 0)))
   
//误差变大的情况
   
{
      
Ai_CTRL.SumErrLimit += Ai_CTRL.Error[0]; //误差变大的时候,求积分                       
      
if (Ai_CTRL.SumErrLimit &lt; MAXNEGINTERG)
      
//限幅,如果超过负的最大值, 保持为负的最大值
        
Ai_CTRL.SumErrLimit = MAXNEGINTERG;
      
////////////////////////////////////////////////////////////
      
Ai_CTRL.du = Ai_CTRL.Error[0] *Kp + Ai_CTRL.SumErrLimit * Ki / KI * Kp;
        
//增益抑制模式                                 //                               
   
}
   
else
   
//开环保持模式
   
{
      
if (((Ai_CTRL.Error[0] *Ai_CTRL.dErr[0]) &lt; 0) || (Ai_CTRL.dErr[0] == 0))
      
//误差变小的情况
      
{
        
Ai_CTRL.du = Ai_CTRL.SumErrLimit * Ki / KI * Kp;
      }
      
else
      
{
        
Ai_CTRL.du = Ai_CTRL.PreviewOut;
      }
    }
  }
  
else
   
Ai_CTRL.du = PWM_PERIOD;
  
//升温


  
if (Ai_CTRL.du &lt; 0)
   
Ai_CTRL.du = 0;
  
if (Ai_CTRL.du &gt; PWM_PERIOD)
   
Ai_CTRL.du = PWM_PERIOD;

  
#ifdef _DEBUG
    printf(&quot;%ld,&quot;, Ai_CTRL.CTEMP);
   
printf(&quot;%ld,%ld,&quot;, Ai_CTRL.Error[0], Ai_CTRL.dErr[0]);
   
printf(&quot;%ld,%ld,%d\n&quot;, Ai_CTRL.ECSUM, Ai_CTRL.SumErrLimit, (int)Ai_CTRL.du);
  
#endif
  
SetPWM((unsigned char)Ai_CTRL.du);
  
//保存上次输出
  
Ai_CTRL.PreviewOut = Ai_CTRL.du;

}

//functions prototype
/************************************************************************
仿人智能控制器//Humanoid Intelligent Controller
************************************************************************/

/*******************************************************************
模糊控制数据变量
********************************************************************/
void InitFuzzy(void)
{
  
Ai_CTRL.DoorOpenValue = 0; //  重新统计升温速度       
  
Ai_CTRL.LowSpeedCnt = 0;
  
SetPWM(PWM_PITCED);
}

/*********************************************************************
启动高温炉
**********************************************************************/
void CtrlStove(UCHAR cOpen, long lDefTemp, UCHAR cRate)
{
  
xdata StableTempTab psTmpTab;
  
//停止                               
  
SuspendTask(TASK_FUZZY);
  
InitFuzzy();
  
if (cOpen)
  
//启动
  
{
   
Ai_CTRL.gDest = (((double)(0xFFFFFFUL &lt;&lt; 2)) / 5000000UL)
      *
K_Temp_Tab[lDefTemp] + 20; //将 目标 温度值 转换 为 AD值
   
Ai_CTRL.CTEMP = (1010L - lDefTemp); //控温范围
   
ActiveTask(TASK_FUZZY, PWM_SCAN);
  }
}

/**********************************************************************
设置PWM,PWM0控制高温炉
16MHz时,T=2*512/16=64uS,F=42.666KHz,计数周期=256,占空比=0%--99.61%
***********************************************************************/
sbit POUT = P1 ^ 3;
char gcPoutTimer =  - 1;

void StopPOut()
{
  
POUT = 1;
}



void SetPWM(UCHAR cPeriod)
{
  
/*
  CMOD  = 0x00;                                         // Setup PCA timer
  // Configure PCA0 Counter operating mode
  CCAP0L=CCAP0H=cPeriod;                        // Set duty for TCM0
  CCON  =0x40;                       
  CCAPM0=0x42;                                        // Set TCM0 operationg mode                        
   */
  
long period;
  
StopTimer(&amp;gcPoutTimer);
  
POUT = 1;
  
period = PWM_SCAN * cPeriod / 255 / 10;
  
if (period &gt; 0)
  {
   
POUT = 0;
   
gcPoutTimer = StartTimer(TIMER_MODE_ONCEROUTINE, period, StopPOut, 0);
  }

}
</font>
</code></pre>

点击此处下载 ourdev_503519.rar(文件大小:2K) (原文件名:fuzzy.rar)

出0入0汤圆

 楼主| 发表于 2009-11-15 20:52:24 | 显示全部楼层
没有代码高亮,贴上代码看不得

烦请armok给标题加上有代码

出0入0汤圆

发表于 2009-11-15 23:05:15 | 显示全部楼层
楼主很强!
我也看不懂那些公式,对PID也一知半解,看了楼主那个自整定的帖子感觉写的非常清楚,先看看你的代码,再向你请教了,谢谢!

出0入0汤圆

发表于 2009-11-16 10:02:36 | 显示全部楼层
先作个标志。

出0入0汤圆

 楼主| 发表于 2009-11-16 12:27:15 | 显示全部楼层
<br>呼唤armOK,让本贴拯救那些为了PID痛苦挣扎的人吧.搞了半年运行稳定的东西在armok眼里连条裤子也没有,太伤心了

出0入4汤圆

发表于 2009-11-16 13:33:14 | 显示全部楼层
make

出0入8汤圆

发表于 2009-11-16 16:59:13 | 显示全部楼层
此贴要学习一下!!!

出0入0汤圆

 楼主| 发表于 2009-11-16 18:35:42 | 显示全部楼层

(原文件名:1.png)


(原文件名:1_00002.png)


(原文件名:1_00003.png)

点击此处打开 ourdev_503847.png(文件大小:423K,只有400K以内的图片才能直接显示) (原文件名:1_00004.png)
点击此处打开 ourdev_503848.png(文件大小:536K,只有400K以内的图片才能直接显示) (原文件名:1_00005.png)

(原文件名:1_00006.png)

点击此处打开 ourdev_503850.png(文件大小:546K,只有400K以内的图片才能直接显示) (原文件名:1_00007.png)
点击此处打开 ourdev_503851.png(文件大小:724K,只有400K以内的图片才能直接显示) (原文件名:1_00008.png)


仿人智能控制与变结构 PID ourdev_503855.PDF(文件大小:208K) (原文件名:仿人智能控制与变结构 PID ourdev_503855.PDF(文件大小:208K)<font color=green>(原文件名:1.PDF)
.PDF)</font> )

出0入0汤圆

 楼主| 发表于 2009-11-16 21:58:33 | 显示全部楼层
上图为稳定后打开一个炉门后,丢入一个试样(坩埚盛装的可燃物)燃烧后的控制曲线.说明这个算法的抗干扰力很强的

(原文件名:升温曲线.jpg)

出0入85汤圆

发表于 2009-11-16 22:34:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-17 09:57:45 | 显示全部楼层
引用自<br>温控PID参数调节实验过程
【93楼】 gx_huang
积分:225
派别:
等级:------
来自:
看了这个帖子,强!
终于发现自己的数学都忘光了,只会做实验不会整理数据了。
楼主,能否做以下实验:
1、把输出周期加大到20秒左右,适合继电器工作
2、把铁块改为铝块,或者减少铁块重量
3、加大加热功率,从200W改为500W或者更大
4、在铁块上泼一些冷水,看是否会振荡
5、当室温在25度时,要求控制温度在30-35度,此时加热输出也许只要0.5%,看能否稳定住
6、当铁块的形状比较长时,加热丝和传感器距离比较远,滞后比较大时,会振荡吗?

请楼主不要怪我提这么多问题,这些问题都是我在实际中遇到的,不解决这些问题,就无法商用!  
------------------------我是分割线----------------------------------------------------
试了几个
2.样品多少,装满与否好像没什么太多关系,都差不多
3.3KW到4.5KW都试过,结果一样
4.就不用说了吧,见上面
5.控制250度时超调20度,到300度以上基本为2度
6.热电偶只要在炉子中,均不会受到影响
7.电压下降到180V,只是全速升温阶段受到影响 控温精度基本不变


<br>
怎么把我的ID给封了?

出0入0汤圆

发表于 2009-11-18 00:12:54 | 显示全部楼层
-----------------------------------------------------------------------------------------------------------------------

出0入0汤圆

发表于 2009-11-18 00:44:52 | 显示全部楼层
先作个标志。

出0入0汤圆

发表于 2009-11-18 08:26:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-18 08:38:03 | 显示全部楼层
标记,下载保存。

出0入0汤圆

发表于 2009-11-18 08:41:00 | 显示全部楼层
标志!

出0入0汤圆

发表于 2009-11-18 10:12:34 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-11-19 13:07:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-19 14:55:22 | 显示全部楼层
注:如果不希望超调的话,把预先保存的积分值去掉就可以了,但是到达目标可能要推迟两分钟

出0入0汤圆

发表于 2009-11-19 15:09:37 | 显示全部楼层
这个COOL

出0入0汤圆

发表于 2009-11-19 15:55:54 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2009-11-19 16:14:51 | 显示全部楼层
MARK...

出0入0汤圆

发表于 2009-11-19 16:58:16 | 显示全部楼层
COOL!

出0入0汤圆

发表于 2009-11-19 20:01:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-19 20:14:03 | 显示全部楼层
一个字“强”

出0入0汤圆

发表于 2009-11-20 09:06:41 | 显示全部楼层
帮楼主传两篇文章
点击此处下载 ourdev_505183.pdf(文件大小:175K) (原文件名:仿人智能控制.pdf)
点击此处下载 ourdev_505184.pdf(文件大小:212K) (原文件名:仿人智能控制经验与技巧的研究 .pdf)

出0入0汤圆

发表于 2009-11-20 12:31:57 | 显示全部楼层
仿人控制的关键在于保持值(PID里的积分)的求解方法,按原始的极值求解方法,会振荡得一塌糊涂,只有解决了这个问题,仿人控制就能稳定运行了,见楼上surkenjur   仿人智能控制.pdf
摘抄自仿人智能控制.pdf
/************************************************************
根据前面的分析,可以得到引入智能积分的判断条件为:
当 e△e>0 时,对偏差进行积分;当e△e<0 时,不对偏差进行积分。
在考虑到偏差及偏差变化的极值点的情况,可把引入积分和不引入积分
的条件综合如下:
(1)  if  e△e>0  or  (△e=0 and e≠0)  then 积分
(2)  if  e△e<0  or  e=0             then  不积分
*-----------------------------------------------------

出0入0汤圆

发表于 2009-11-21 19:55:16 | 显示全部楼层
-

出0入0汤圆

发表于 2009-11-21 23:15:46 | 显示全部楼层
mark,再仔细研究

出0入4汤圆

发表于 2009-11-24 08:37:44 | 显示全部楼层
帮你顶!

出0入0汤圆

发表于 2009-11-24 08:47:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-24 12:18:24 | 显示全部楼层
【44楼】 XU_MAJIA
积分:41
派别:
等级:------
来自:

各位看客,帮我求个情,让ARMOK把ID 还给我


直接联系ARMOK,弄清楚什么原因封ID

出0入0汤圆

发表于 2009-11-24 13:27:12 | 显示全部楼层
好贴,该给个裤子

出0入0汤圆

发表于 2009-11-26 22:24:34 | 显示全部楼层
哈哈 老王也知道 三德 和开元?

出0入0汤圆

发表于 2009-11-26 23:34:21 | 显示全部楼层
mark,这个帖要好好学习

出0入0汤圆

发表于 2009-11-27 19:53:07 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-11-27 20:11:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-28 08:20:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-28 10:42:18 | 显示全部楼层
老王在长沙呆过?在三德吗?   
ce180303 是煤质行业的吗?

出0入0汤圆

发表于 2009-11-28 10:58:36 | 显示全部楼层
嘿嘿 我不是 开元和三德很有名啊

出0入0汤圆

发表于 2009-11-28 12:15:07 | 显示全部楼层
【61楼】 ce180303 你在长沙?出来玩玩?

出0入0汤圆

发表于 2009-11-29 22:33:47 | 显示全部楼层
这个世界太小了....哪些网友长沙的?出来聚一聚?

出0入0汤圆

发表于 2009-12-1 01:41:47 | 显示全部楼层
---------------
  |              |
  |              |
  |              |
--     \|/       ----------

出0入0汤圆

发表于 2009-12-1 09:49:18 | 显示全部楼层
+-1度算什么? 人体在睡觉的时候,人体温度可以控制在+-0.1度,居然没有一句代码,没有使用一个方程式,没有使用一块芯片,也没经过CPU(大脑)运算。

出0入0汤圆

发表于 2009-12-1 10:12:15 | 显示全部楼层
不知道LS老兄这几天有没有感冒啊?控温还行不?

出0入0汤圆

发表于 2009-12-1 11:16:24 | 显示全部楼层
65楼的同学有点搞笑哦,人体温度的控制系统复杂到什么程度不是你能想象的。你又是如何知道没有经过大脑运算,又有什么样的CPU能跟大脑的运算相提并论。

出0入0汤圆

发表于 2009-12-1 11:26:24 | 显示全部楼层
67楼同学,心跳,呼吸,体温,由小脑控制........不是由大脑控制.
人的控制能力最强,不然这个算法怎么叫仿人 呢?

出0入0汤圆

发表于 2009-12-3 11:54:36 | 显示全部楼层
哦,搞错了啊,是脑干.......小脑是运动平衡系统........

出0入0汤圆

发表于 2009-12-3 12:42:44 | 显示全部楼层
mark

出0入228汤圆

发表于 2009-12-12 11:52:40 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-1-2 13:50:21 | 显示全部楼层
值得深入。

出0入4汤圆

发表于 2010-1-3 00:01:46 | 显示全部楼层
xukaiming ,oldxukaiming ,    呵呵, 谁是真正的 xukaiming ?

出0入0汤圆

发表于 2010-1-3 07:44:13 | 显示全部楼层
好贴,MARK!!!

出75入4汤圆

发表于 2010-1-3 09:43:28 | 显示全部楼层
这个下来研究下。

出0入0汤圆

发表于 2010-1-3 23:10:55 | 显示全部楼层
回复【74楼】sunliezhi
xukaiming ,oldxukaiming ,    呵呵, 谁是真正的 xukaiming ?
-----------------------------------------------------------------------

一个人......马甲恶意顶贴.

出0入0汤圆

发表于 2010-5-12 16:33:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-13 18:13:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-13 19:20:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-13 19:56:29 | 显示全部楼层
mark pid

出0入0汤圆

发表于 2010-7-10 10:04:28 | 显示全部楼层
好东西,学习了。

出0入0汤圆

发表于 2010-7-10 10:43:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-10 12:01:56 | 显示全部楼层
学习中

出0入0汤圆

发表于 2010-7-10 16:56:23 | 显示全部楼层
65楼纯扯淡。。。小孩也是人吧?体温控制能力很差,经常大幅度波动(几度),有时候误以为小孩发烧,其实只是体温波动。

经过几年的自整定,到了小学的时候,体温控制算法才基本成型,不容易阿。。。

出0入0汤圆

发表于 2010-7-10 18:01:11 | 显示全部楼层
很有研究性的帖子,还有代码!谢谢xukaiming 了~
我以前也用过仿人智能,感觉就是一种积分变异、分段策略的PID

出0入0汤圆

发表于 2010-7-10 18:39:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-14 11:08:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-15 18:18:05 | 显示全部楼层
好东西!手下了

出0入0汤圆

发表于 2010-7-22 15:08:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-18 13:33:50 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-9-1 17:05:44 | 显示全部楼层
今天没白搜索,找到个好贴强贴

出0入0汤圆

发表于 2010-9-1 19:38:00 | 显示全部楼层
做个记号备用哈

出0入4汤圆

发表于 2010-9-1 19:43:25 | 显示全部楼层
马克

出0入0汤圆

发表于 2010-9-7 08:58:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-7 09:21:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-7 09:48:52 | 显示全部楼层
mark PID参数整定

出0入0汤圆

发表于 2010-9-7 09:54:43 | 显示全部楼层
mark PID参数整定 too

出0入0汤圆

发表于 2010-9-7 10:01:05 | 显示全部楼层
代码很规范 !   
顶到->100

出0入21汤圆

发表于 2010-10-13 22:43:54 | 显示全部楼层
一定要顶

出0入0汤圆

发表于 2010-10-13 23:40:39 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-10-14 00:04:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-14 00:56:37 | 显示全部楼层
不错~~~ 近期要作个小东西~~~参考一下

出0入0汤圆

发表于 2010-10-14 11:12:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-19 09:36:37 | 显示全部楼层
找到了柏建国的原版文章,图书馆的,拿手机拍的,不太清楚,勿怪

(原文件名:20101019108.jpg)


(原文件名:20101019109.jpg)


(原文件名:20101019110.jpg)


(原文件名:20101019111.jpg)


(原文件名:20101019112.jpg)


(原文件名:20101019113.jpg)


(原文件名:20101019114.jpg)


(原文件名:20101019115.jpg)


(原文件名:20101019116.jpg)

补充内容 (2012-3-31 15:15):
没有图片啦.......

出0入0汤圆

发表于 2010-10-19 10:05:35 | 显示全部楼层
温度PID,马上要用,MARK

出0入0汤圆

发表于 2010-10-19 10:13:00 | 显示全部楼层
mark 一下啊

出0入0汤圆

发表于 2010-10-19 10:32:22 | 显示全部楼层

(原文件名:shupi.jpg)

目录回到顶部↑第1章 绪论
1.1 控制理论的发展概况
1.2 智能控制发展的认识论与方法_论
1.2.1 智能控制发展的背景
1.2.2 关于人工科学
1.3 智能与人工智能
1.3.1 智能与人体智能的"多种智能结构"
1.3.2 人工智能与智能系统
1.3.3 智能自动化
1.4 智能控制
1.4.1 智能控制的产生与发展
1.4.2 智能控制的定义
1.4.3 智能控制的基本要素
1.4.4 智能控制的学科结构
1.4.5 智能控制的主要研究内容
1.4.6 智能控制研究的基本方法
1.4. 7 智能控制的发展趋势
第2章 人体运动控制系统与身体一动觉智能
2.1 神经分区运动控制的多级递阶结构
2.1.1 高级神经控制中枢--脑

.2.1.2 低级神经控制中枢--脊髓
2.1.3 外周神经系统、感受器和效应器
2.1.4 神经系统的基本单元--神经元
2.1.5 人体控制系统中的反射弧与反射控制
2.2 人体动觉控制体系的构造与功能
2.2.1 人体感觉与运动控制系统的结构
2.2.2 运动控制的执行及其参数的校正或调节
2.2.3 小脑模型及其控制回路
2.3 人的身体动觉智能
2.3.1 人对自身身体运动的控制能力
2.3.2 人熟练操作对象的控制能力
2.3.3 身体运动中大脑的智能控制作用
第3章 仿人智能控制的基本原理
3.1 引言
3.2 仿人智能控制器的原型
3.2.1 基本算法和静特性
3.2.2 动态特性分析
3.2.3 仿人智能控制器原型中的智能属性
3.3 特征模型、特征辨识与特征记忆
3.3.1 特征信息与特征模型
3.3.2 特征辨识、特征记忆与模式识别
3.4 多模态控制与多目标决策
3.4.1 多模态控制
3.4.2 典型的仿人智能控制模态基元
3.4.3 多模态控制与多指标的兼顾
3.5 启发式搜索与直觉推理
3.5.1 使用启发式搜索的必要性
3.5.2 基本搜索策略
3.5.3 启发性搜索策略
3.5.4 直觉推理
3.6 分层递阶的信息处理和决策机构
3.6.1 产生式系统
3. 6.2 高阶产生式系统
3.6.3 仿人智能控制器的高阶产生式系统结构
第4章 仿人智能控制的设计理论
4.1 仿人智能控制的瞬态性能指标--理想的误差时相轨迹
4.2 仿人智能控制系统的设计方法
4.2.1 被控对象的"类等效"简化模型
4.2.2 被控对象的模型处理
4.2.3 仿人智能控制器设计的基本步骤
4.3 一类伺服对象的仿人智能控制器算法设计
4.3.1 运行控制级设计
4.3.2 参数校正级设计
4.3.3 任务适应级设计
4.3.4 仿真示例
4.4 计算机辅助设计
4.4.1 引言
4.4.2 辅助设计的思想
4.4.3 辅助设计的方法
4.4.4 总体结构和功能
4.4.5 知识库的组织及其管理
第5章 仿人智能控制的稳定性监控
5.1 引言
5.2 智能控制系统稳定性分析基础
5.2.1 智能控制系统的智能性
5.2.2 智能控制系统的能控性
5.2.3 智能控制规律的一般描述形式
5.2.4 智能控制系统稳定性的定性分析
5.3 智能控制系统稳定性分析研究概况
5.3.1 基于李雅普诺夫函数的智能控制系统稳定性分析
5.3.2 基于信息处理结构模式的智能控制系统稳定性分析
5.3.3 专家控制系统的稳定性分析
5.3.4 模糊控制系统的稳定性分析
5.4 智能控制系统的稳定性监控
5.4.1 系统不稳定的实质
5.4.2 仿人智能控制稳定性监控思想
5.4.3 动态系统输出的稳定性等价
5.4.4 线性定常系统的稳定性特征
5.4.5 仿人智能控制系统稳定性监控条件
5.4.6 仿人智能控制系统稳定性监控级设计
第6章 仿人智能控制在多变量系统中的应用
6.1 多变量系统的传统解耦控制
6.2 多变量系统耦合和不确定性的描述与分析
6.3 仿人智能协调控制的基本思路与算法
6.4 带纯滞后多变量系统的仿人智能控制
6.5 多变量液压伺服系统的仿人智能控制
第7章 仿人智能控制在过程及大滞后过程控制中的应用
7.1 过程控制的特点与描述
7.2 温度过程的仿人智能控制
7.2. 1 仿人智能温度控制算法
7.2.2 FWK型仿人智能温度控制器产品简介
7.2.3 控制性能的对比实验与结论
7.3 pH过程的仿人智能控制
7.3.1 pH仿人智能控制器的设计
7.3.2 仿真实验及结果
7.4 纯滞后过程的仿人智能控制
7.4.1 典型的纯滞后过程及其对系统动态特性的影响
7.4.2 传统控制理论中几种控制大纯滞后过程的方案
7.4.3 具有纯滞后过程的仿人智能控制方案
7.5 具有超大纯滞后过程的仿人智能控制
第8章 仿人智能控制在非线性系统中的应用
8.1 典型非线性环节及其传统分析方法
8.2 具有典型非线性环节系统的仿人智能控制
8.2.1 仿人智能控制在含饱和非线性环节系统中的应用
8.2.2 仿人智能控制在死区与滞环非线性系统中的应用
8.3 力矩受限单摆的摆起倒立控制
8.3.1 力矩受限单摆的物理与数学模型
8.3.2 力矩受限单摆摆起倒立的仿人智能控制器设计
8.3.3 仿人智能控制器特征模型与控制模态参数的CAD
8.3.4 仿真和实时实验
8.4 小车一单摆的摆起倒立控制
8.4.1 小车一单摆系统的物理数学模型
8.4.2 小车一单摆系统摆起倒立仿人智能控制器的设计
8.4. 3 确定仿人智能控制器参数初值的原则
8.4.4 仿真研究
8.5 小车一二级摆的摆起倒立控制
8.5.1 小车一二级摆系统的物理与数学模型
8.5.2 小车一二级摆系统分析
8.5.3 小车一二级摆系统内部模型的建立
8.5.4 动觉智能控制图式的确定
8.5.5 系统总体控制方案
8.5.6 仿真研究
参考文献

前言回到顶部↑自1948年维纳发表《控制论》著作以来,半个世纪过去了,伴随着科学技术的迅猛发展,控制理论经历了从经典控制理论发展到现代控制理论,从线性系统理论发展到非线性系统理论,从传统控制理论发展到大系统理论和智能控制理论的发展历程。大系统理论是传统控制理论在广度上的开拓,是用控制和信息的观点,研
究各种大系统的结构方案、总体设计中的分解方法和协调等问题的技术基础理论。智能控制理论是传统控制理论在深度上的挖掘,是研究与模拟人类智能活动及其控制与信息传递过程的规律,研制具有某些拟人智能的工程控制与信息处理系统的认识论与方法_论。我们认为,这里所说的智能控制应当包括分级递阶控制、模糊控制、专家控制、神经网络控制、仿人智能控制和拟人智能控制等。
在科学技术如此发达的今天,人类大脑的高超作用仍是不可忽视的重要因素。我们认为,迄今为止,世界上最高级、最有成效的控制器还是人类自身,因为人类具有比任何其他动物都发达的大脑。从行为上讲,人的智能具有多种智能的结构,即可分为语言智能、音乐智能、逻辑一数学智能、空间智能、身体一动觉智能和人
格(人际)智能。所有人类的个体都具有这些智能。但由于遗传及后期学习训练的作用,使某些个体在某些智能方面的发展比其他个体要好。而人类在某些智能的杰出表现就是人工智能学科模拟模仿的目标。
人类认识世界和改造世界的过程可以说是一个从“知其然”到“知其所以然”的过程。人们对一件事情,首先是感知它、认识它、了解它及至模仿它、应用它,这就是一个“知其然”的过程;进而,为了改造世界、创造世界,人们会对如何实施和完成这件事情的机理、实现程序以及证明性知识给予重视,掌握与了解,达到能重复它、控制它、改造它,这就是一个“知其所以然”的过程。例如,在实际生活中,许多人知道如何骑自行车,但对为什么自己能骑自行车,骑自行车过程的程序是如何执行的机理却缺乏了解。又如,我们中大多数人能从漫画家用简单的线条表现出的漫画中,识别出他所画的是什么人或物,以及其表达的含义,但是自己却不能画出来,也不知道为什么会是这样。当然他们也对画家如何实施或完成这一件事情时的实际程序和证明性知识,以及自己为什么能识别和理解画家的表现结果,即对识别和理解的机理这样的证明性知识,缺乏了解和了解的兴趣。一般的人往往只是对“知其然”的过程感兴趣,对“知其所以然”却缺乏关心。
大量的研究表明,在各个智能的内核中存在着一种运算能力和信息加工能力,它是这种智能所独有的,这种智能更复杂的实现与体现都是基于这种能力之上的。对人的智能的内核及其证明性知识的关心,即对人智能的“知其所以然”的关心,是人工智能学科的研究任务;而对人的身体一动觉智能的“知其所以然”的关心正
是仿人智能控制的研究任务。
长期以来,人们从不同的角度和不同的层次对人工智能进行了研究。对应于人脑思维的不同侧面,形成了所谓符号主义、连接主义和行为主义的研究方法;对应于人脑信息处理的方法,形成了所谓符号智能和计算智能的分类;对应于多种智能的概念,产生了不同的相应的具体研究领域,例如:
1)计算机作曲、演奏、计算机听觉(人工音乐智能);
2)模式识别、图像处理和计算机视觉(人工空间智能);
3)语言识别、自然语言理解与生成(人工语言智能);
4)博弈论、自动定理证明和自动程序设计(人工逻辑一数学智能);
5)智能控制(人工身体—动觉智能);
6)专家系统、虚拟现实技术(人工人格智能);
7)智能机器人(人工多种智能的综合);
8)智能自动化(人工多种智能的综合应用)。
智能控制系统是模仿、延伸和扩展人的身体—动觉智能的人工智能系统。分级递阶智能控制模拟人脑的分层结构,由执行级、协调级和组织级构成。模糊控制是从行为上模拟人的模糊推理和决策过程的一种实用控制方法。专家控制是将人的感性经验(浅层知识)和定理算法(深层知识)结合的一种智能控制方法。神经网络控制是从机理上对人脑生理系统进行简单结构模拟的一种控制和辨识方法。仿人智能控制是重庆大学周其鉴教授于20世纪80年代初提出的,最基本的思想就是从行为功能和结构功能上仿人(或广义讲仿生)、仿智。拟人智能控制是北京科技大学涂序彦教授最先提出的,是指模拟、延伸和扩展人的智能和人控制器的一种控制方法。本书定义仿人智能控制是能在适应环境变化的过程中模仿人和动物所表现出来的优秀控制能力(动觉智能)的控制。
仿人智能控制理论把人工智能与计算机科学技术引入自动控制,在对人的控制结构宏观模拟的基础上研究人的行为功能并加以模拟和实现,其最大特点在于从分层递阶智能控制系统的最低层次着手,把人工智能技术不仅用于高的层次上,而且也用于运行控制级。计算机硬软件技术与微电子学的迅猛发展,为仿人智能控制的实现奠定了基础。仿人智能控制理论视智能控制为对控制问题求解的二次映射的信息处理过程,即从“认知到判断”的定性推理过程和从“判断到操作”的定量控制过程,仿人智能控制不同于传统的控制方法,它不仅具有模糊控制理论那样的并行、逻辑控制和语言控制的特点,而且还具有以数学模型为基础的传统控制理论那样的解析定量控制的特点。
仿人智能控制理论认为在对人的控制结构宏观模拟的基础上研究人的控制行为功能并加以模拟和实现,是当前研究智能控制的重要方向。在结构和功能上,智能控制器的基本特点是:
分层的信息处理和决策机构(高阶产生式系统结构);

. 在线的特征辨识和特征记忆;
开、闭环控制结合和定性决策与定量控制结合的多模态控制;
启发式和直觉推理逻辑的应用。
从控制理论的观点上看,这里出现了一系列新概念和新方法。其中,启发与直觉推理逻辑由产生式规则描述;特征辨识和记忆根据系统动态特征模型在线进行;特征模型的建立与模式识别和知识表示技术息息相关;开、闭环结合,定性决策与定量控制结合的多模态控制,充分利用了传统控制理论的成果;分层递阶(高阶产
生式)的信息处理与决策机构需要计算机软、硬件及其发展的支持。应当说这一切充分体现了人工智能、控制理论和计算机科学技术的交叉和结合。
本书是作者对仿人智能控制20年研究成果的系统提炼与总结;在撰写的过程中,结合了自己多年来的研究生教学实践,以及作者的同仁们与研究生们的研究实践;参阅了国内外相关文献资料而完成的,也可以说是集体智慧的结晶。全书共8章,第1章绪论主要介绍了仿人智能控制的认识论与方法_论以及发展的历史与背景;第2章描述了仿人智能控制研究与模仿的对象,人的身体一动觉智能;第3章~5章是仿人智能控制理论主要内容,包括它的基本概念、基本原理、设计方法和稳定性理论;第6章~8章列举了仿人智能控制在一些典型的难控对象上的应用。原计划还有一章内容介绍与仿人智能控制学科相关的理论基础,包括模式识别、人工智能与知识工程、模糊逻辑、神经元网络以及思维科学和人工生命等,由于篇幅所限,现已删除,为此如给读者造成阅读本书的不便敬请原谅。
周其鉴教授是仿人智能控制的缔造者,是作者的恩师,作者跟随周其鉴教授从事仿人智能控制理论与应用研究20来年。作者的心愿是将本书的出版作为对恩师的答谢和向老师80寿辰的献礼。由于智能控制是一门形成不久的新学科,发展很快,特别是仿人智能控制还有许多未完善的地方,这也是作者多年来一直想写此书,但又迟迟未敢动笔的原因。如今,撰写此书也仅仅是作者的一次初步尝试,作为抛砖引玉,定有许多不妥之处,敬请读者批评指教。
全书整体结构和主要内容由重庆大学李祖枢教授为主、后勤工程学院涂亚庆教授为辅完成,其中第2、8章由李祖枢教授完成;
第1、3、4、5、6、7章由李祖枢教授和涂亚庆教授共同完成。
仿人智能控制基础理论研究得到了国家自然科学基金的立项资助,本书中介绍的理论及应用成果都与国家自然科学基金的支持相关,本书的出版又得到了总装备部国防科技图书出版基金的支持,在此著者一并表示衷心的谢意!
重庆大学温永玲教授校阅了全书,研究生谢健、曾洎等同学在绘图和文字录入方面作了大量工作。北京科技大学涂序彦教授、清华大学孙增圻教授审阅了全书,涂序彦教授还为本书作了序,在此作者也一并表示衷心的感谢。
李祖枢涂亚庆

出0入0汤圆

发表于 2010-10-19 10:47:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-9 18:27:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-9 21:02:11 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 08:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表