线性时不变系统的状态反馈控制器设计

前言

前面一篇博客介绍了基于状态空间模型的系统分析。本篇博客将针对线性时不变系统,基于状态空间模型并根据系统的性能要求来设计控制系统。

一个系统的控制方式有开环控制和闭环控制。开环控制指的是把一个确定的控制信号(关于时间的函数)加到系统的输入端,使得系统具有某种期望的性能,如稳定的跟踪某个参考输入或者使系统的状态达到某个特定值,等等。上一篇博客讲的系统的能控性就是利用了开环控制,即存在一个特定的控制作用(开环控制)使得系统在有限时间内,从初始状态转移到零状态。

然而,由于建模存在的不确定性或误差、系统运行过程中的扰动等因素,使得我们没办法获得实际物理系统的真实动态方程,我们能得到的仅仅是粗略的低阶的名义模型或有时又称标称模型。因此在对实际系统的控制过程中,若不能根据系统当前的运行状况及时修改系统的行为,而仍按照名义模型设计的开环控制作用会使得实际系统产生一些意想不到的情况,很难使实际物理系统按我们原先所期望的方式运行。因此,我们必须根据系统的运行状况实时地来确定控制信号而不是采用预先设计好的控制信号,这就是反馈控制(feedback control)。

在经典控制理论中,我们依据描述对象输入输出行为的传递函数模型来设计控制器,因此只能用系统的可测量输出作为反馈信号。而现代控制理论则是用刻画系统内部特征的状态空间模型来描述对象,出了可测量的输出信号外,还可以用系统的内部状态来作为反馈信号。根据可利用的信息是系统的输出还是状态,相应的反馈控制可分为输出反馈和状态反馈。

本篇博客以状态空间模型描述的线性时不变系统为研究对象,介绍状态反馈控制器的一些设计方法。首先介绍反馈控制的种类、结构及其对系统性能的影响。进而介绍改善系统动态性能的极点配置方法,提出极点配置状态反馈控制律的设计算法。针对极点配置方法可能影响系统稳态性能的问题,介绍了实现精确跟踪的控制系统设计方法。

线性反馈控制系统

控制系统结构

控制系统由被控对象和控制器(controller)两部分组成。状态刻画了对象内部的全部动态信息,输出仅仅是状态的一部分,从而用系统的全部状态信息来构造反馈控制器,渴望使系统获得更优异的性能。然而,要获得系统的全部状态信息,意味着需要更多的传感器,从而增加了控制系统的成本。另一方面,一个系统的状态变量未必都是可测量的物理量,这使得状态反馈控制在实际中往往难以实现。因此,在实际控制系统应用中,究竟采用输出反馈还是状态反馈视具体情况而定。

我们考虑以下状态空间描述的线性系统:
\left\{ {\begin{array}{*{20}{c}} {\dot x = Ax + Bu} \\ {y = Cx} \end{array}} \right.

其中,x是系统的n维状态空间,u是系统的m维控制输入,y是系统的p维测量输出,A、BC分别是适当维数的已知常数矩阵。

一般的反馈控制系统具有以下所示结构:


一般反馈控制系统结构

其中,vm维的外部参考输入。控制器可以是一个动态补偿器(例如在控制器中包含动态过程),也可以是一个静态反馈控制器。控制器的输入可以是系统的状态,也可以是系统输出。若系统的状态是可直接测量得到的,则结构最简单、包含对象信息量最多的反馈控制方式是线性时不变的静态状态反馈控制(简称状态反馈)。
u = -Kx+v

其中,Km\times n维的静态常数矩阵,称为状态反馈增益矩阵。将上式代入状态空间模型,可得闭环系统的状态空间模型
\left\{ {\begin{array}{*{20}{c}} {\dot x = \left( {A - BK} \right)x + Bv} \\ {y = Cx} \end{array}} \right.

输出反馈控制在这里就不展开了,处理方式和状态反馈控制类似,u = -Fy +v,只是反馈信息在这里采用系统输出y

反馈控制的一些性质

从闭环系统的状态空间模型可以看出:状态反馈和输出反馈均改变了闭环系统的状态矩阵,即系统由原来的A变为了现在的A-BKA-BFC。而闭环系统的动态行为主要由其状态矩阵的特征值(即闭环极点)决定,因此可以通过选择适当的反馈增益矩阵KF,使得闭环系统状态矩阵的特征值都在左半开复平面内,从而保证闭环系统的渐进稳定性。更进一步,还可以使得闭环状态矩阵特征值位于左半开复平面的特殊位置上,从而不仅保证系统是渐近稳定的,而且还具有一定的过渡过程特性。

除了能改变闭环系统的状态矩阵,从而改变闭环系统的稳定性和瞬态特性外,状态反馈控制对系统性能还有什么其他的影响呢?给出以下两个定理进行说明。

定理1:状态反馈不改变被控系统的能控性,而系统的能观性不一定能保证。

若原系统是能控的,则加入状态反馈控制后的闭环系统仍然是能控的。需要注意的是,原系统如果是能观的,但采用状态反馈控制后得到的闭环系统却不一定能观,因此状态反馈并不能保持原系统的能观性。这是因为状态反馈在改变系统极点的同时,可能使得闭环系统出现零极点相消现象。零极相消导致系统的能控性或能观性,或能控能观性的破坏,由于闭环系统仍然能控,故它不再可能是能观的。

定理2:输出反馈不改变系统的能控性和能观性。

两种反馈性质的讨论

  1. 在状态反馈和输出反馈中,反馈的引入并没有增加新的系统变量,即闭环系统和开环系统具有相同的阶数。

  2. 两种反馈形式所导致的闭环系统均能保持开环系统的能控性,但能观性则不然。具体的说,状态反馈未必能保持能观性(当出现零极相消),而输出反馈既能保持系统的能控性,也能保持系统的能观性。

  3. 采用状态反馈的一个前提是系统的状态x必须可以直接量测的。当状态不能直接量测时,需要设法通过系统的输入输出信息来重构系统的状态,即由状态观测器来获得状态的估计量,以实现状态反馈。然而,这种基于观测器的状态反馈由于采用的仅是系统的输出信息,因而,本质上还是一种输出反馈,只不过这是一种带有动态补偿器的输出反馈,而不再是静态的输出反馈。更加一般的带有动态补偿器的输出反馈控制系统具有以下所示结构:

    具有动态补偿器的反馈控制系统

其中,G_p(s)是被控系统的传递函数矩阵,G_c(s)是动态补偿器的传递函数矩阵。静态的输出反馈虽然结构简单,信息上的获取也没有任何困难,但可以证明:这种形式的输出反馈所能达到的系统性能是有限的,有时甚至都不能保证闭环系统稳定。

  1. 输出反馈的一个突出优点就是实现方便,但状态反馈能获得更好的系统性能。而且随着观测器理论的发展,状态反馈具有更广的应用前景。

稳定化状态反馈控制器设计

稳定是一个系统正常运行的首要条件。上一篇博客分析了一个系统的稳定性,并给出了系统稳定的李雅普诺夫判别方法。若一个系统不稳定,则必须运用外部控制手段来设法让其稳定,这就是系统的镇定问题(stabilization),使得系统稳定的控制器称为稳定化控制器(stabilizing controllers)。

控制手段往往采用反馈控制。上一节介绍了反馈控制系统的结构,其中最简单,包含对象信息最多的控制结构就是静态线性状态反馈控制。本节将介绍基于李雅普诺夫稳定性理论的稳定化状态反馈控制器设计方法。

考虑以下状态方程描述的系统:
\dot x=Ax + Bu

我们的目标是要设计一个能使系统状态稳定的稳定化状态反馈控制器:
u = -Kx

由该控制器导出的闭环系统:
\dot x=(A-BK)x

本节的目的是要给出确定增益矩阵K的方法,使得闭环系统是渐近稳定的。由于闭环系统是一个线性时不变系统,根据李雅普诺夫稳定性定理,系统渐近稳定的充分必要条件是存在一个二次型的李雅普诺夫函数V(x) = x^TPx,其中的P是特定的对称正定矩阵。可以通过沿着闭环系统的任意轨迹,使得标量二次型李雅普诺夫函数V(x) = x^TPx关于时间的导数是负定的来确定对称正定矩阵P和增益矩阵K,从而得到所要的稳定化状态反馈控制器。沿这一思路,介绍两种处理方法来确定对称正定矩阵P和增益矩阵K

黎卡提方程处理方法

这种方法可用来处理非线性系统、时滞系统等各类系统的镇定问题,也可用于鲁棒控制器的设计。

考虑标量函数V(x) = x^TPx,其中P是待定的对称正定阵。沿闭环系统的任意轨迹,V(x) = x^TPx关于时间的导数为:
\begin{aligned} dV( x)/dt &= {{\dot x}^{\rm T}}Px + {x^{\rm T}}P\dot x \\ &={\left( {Ax + Bu} \right)^{\rm T}}Px + {x^{\rm T}}P\left( {Ax + Bu} \right) \\ &= {x^{\rm T}}\left( {{A^{\rm T}}P + PA} \right)x + {u^{\rm T}}{B^{\rm T}}Px + {x^{\rm T}}PBu \\ \end{aligned}

P^{\rm T} = P,可得
{x^{\rm T}}PBu = {u^{\rm T}}{B^{\rm T}}Px


dV(x)/dt = {x^{\rm T}}\left( {{A^{\rm T}}P + PA} \right)x + 2{x^{\rm T}}PBu

我们选取控制u具有以下结构形式:
u = -kB^{\rm T}Px,k > 0


\begin{aligned} dV( x)/dt&= {x^{\rm T}}\left( {{A^{\rm T}}P + PA} \right)x - 2kx^{\rm T}PBB^{\rm T}Px\\ &= {x^{\rm T}}\left( {{A^{\rm T}}P + PA - 2kPBB^{\rm T}P} \right)x\\ \end{aligned}

进一步,若选取正定对称矩阵P使得
{{A^{\rm T}}P + PA - 2kPBB^{\rm T}P} = -I

V(x)/dt = -x^{\rm T}x < 0,李雅普诺夫函数关于时间的导数小于零(表明随着时间的增加能量是不断衰减的)。根据李雅普诺夫稳定性定理,标量二次型函数V(x)=x^{\rm T}Px是闭环系统的一个李雅普诺夫能量函数。因此,该闭环系统是渐近稳定的。式u = -kB^{\rm T}Px,k > 0就是原系统的一个稳定化状态反馈控制器。

根据以上分析,稳定化控制器的设计问题就转化为了矩阵方程:
{{A^{\rm T}}P + PA - 2kPBB^{\rm T}P} +I= 0

是否存在一个对称正定解矩阵(李雅普诺夫矩阵)P的问题。若存在这样的P,那么即可得到一个稳定化控制器增益矩阵K=kB^{\rm T}P。而该矩阵方程被称为系统的黎卡提(Riccati)矩阵方程,这类矩阵方程在自动控制中起着很重要的作用,在最优控制中还将遇到这类方程(李雅普诺夫函数就是最优控制中的值函数)。这种基于求解黎卡提矩阵方程的稳定化控制器设计方法称为黎卡提方程处理方法。

若对给定的k_0,黎卡提矩阵方程有一个对称正定解矩阵P,则对任意的k \geqslant k_0
\begin{aligned} dV( x)/dt&= {x^{\rm T}}\left( {{A^{\rm T}}P + PA - 2kPBB^{\rm T}P} \right)x\\ & \leqslant {x^{\rm T}}\left( {{A^{\rm T}}P + PA - 2k_0 PBB^{\rm T}P} \right)x\\ & = -x^{\rm T}x < 0\\ \end{aligned}

因此,对任意的k \geqslant k_0u = -kB^{\rm T}Px都是系统的稳定化控制律。由此可知,稳定化控制律u = -kB^{\rm T}Px具有正无穷大的稳定增益裕度(margin)。这在实际应用中将非常有用,当我们不知道精确的P时,我们尽量选择具有较高增益的控制律,使得实际控制系统在保持稳定的同时能够满足其他性能要求。

线性矩阵不等式处理方法

根据线性时不变系统李雅普诺夫稳定性定理,闭环系统渐近稳定的充分必要条件是存在一个对称正定矩阵P,使得:
(A-BK)^{\rm T}P+P(A-BK)<0

因此,稳定化控制器的设计问题归结为寻找一个矩阵K和一个对称正定矩阵P,使得上述矩阵不等式成立,即以矩阵KP为变量的矩阵不等式的求解问题。

在上述矩阵不等式中,矩阵变量KP以非线性的形式耦合在一起。因此,要直接求解这样一个矩阵不等式是不容易的。以下通过引进一个适当的变量替换,将非线性矩阵不等式转换成一个等价的关于新变量的线性矩阵不等式,从而可以应用求解线性矩阵不等式的方法求解所导出的线性矩阵不等式。首先将矩阵不等式整理为:
PA + A^{\rm T}P -K^{\rm T}B^{\rm T}P - PBK < 0

由于矩阵P^{-1}是对称的,故在上式两边分别左乘和右乘矩阵P^{-1},可得:
\begin{aligned} 0 &>P^{-1}(PA + A^{\rm T}P -K^{\rm T}B^{\rm T}P - PBK)P^{-1}\\ & = AP^{-1}+P^{-1}A^{\rm T} - (P^{-1}K^{\rm T})B^{\rm T}-B(KP^{-1})\\ \end{aligned}

X=P^{-1}Y=KP^{-1},则从上式进一步可得:
AX + XA^{\rm T} -Y^{\rm T}B^{\rm T}-BY<0

显然,上述不等式是一个关于矩阵变量XY的线性矩阵不等式。由于矩阵P的正定性等价于矩阵X是正定的。因此,若线性矩阵不等式系统
AX + XA^{\rm T} -Y^{\rm T}B^{\rm T}-BY<0

X>0

是可行的,则系统存在稳定化控制器。进一步,若矩阵变量XY是线性矩阵不等式系统的一个可行解,则K=YX^{-1}是系统的一个稳定化状态反馈增益矩阵,X^{-1}是相应闭环系统的一个李雅普诺夫矩阵。

以上用线性矩阵不等式系统的可行性给出了系统的稳定化状态反馈控制器存在条件,在线性矩阵不等式系统可行的情况下,用其可行解给出了稳定化控制器的构造方法。这种处理方法已在各类控制系统的设计中得到了广泛应用,和黎卡提方程处理方法相比,线性矩阵不等式处理方法具有保守性低、处理方便、易于结合其他性能要求设计多目标控制器等优点。

极点配置

上一节介绍了基于李雅普诺夫稳定性理论设计稳定化状态反馈控制器的两种方法。然而,在实际控制系统设计中,仅仅保证闭环系统的稳定性还是不够的,通常还需要使得闭环系统具有一定的过渡过程性能,如较快的响应速度,较短的调节时间,较小的超调,等等。如何设计一个状态反馈控制器,使得闭环系统同时具有期望的稳态和动态性能,本节给出了一种极点配置的方法(需要注意的是不单单只有极点配置这一种方法,还有其他设计方法也能满足兼具稳态和动态性能要求,比如最优控制)。

极点配置的主要思路就是通过寻找适当的状态反馈增益矩阵K,使得闭环系统极点(即矩阵A-BK的特征值)位于预先给定的位置。极点配置具体设计方法在这里不再赘述,这里只给出一个定理。

定理:若系统是能控的,则对任意给定闭环极点\Omega,存在状态反馈控制器,使得闭环系统的极点是\Omega

由于求解一个极点配置问题需要大量的计算,特别对于多变量系统更是如此,另一方面,描述对象的模型总是近似和不精确的,从而要实现精确极点配置的方法是难以实现的。在实际控制系统应用中,我们往往还需采用其他更简便、有效的设计方法。

通过以上的分析,理论上我们可用状态反馈的方式实现了闭环系统的极点配置,从而使得闭环系统具有满意的稳态和动态性能。然而,实际应用中,状态反馈这种方法并非总是可行的。一方面,状态反馈实际上是一个PDPID补偿器,这样的控制器具有无限带宽,而实际的执行机构总是只有有限带宽(对超过带宽频率范围的信号是没办法响应的)。另一方面,在实际中,要检测到所有的状态往往是困难的,甚至是不可能的,因此有必要研究只利用系统测量输出的极点配置问题,以后的博客将给出一种基于状态观测器的输出反馈控制器设计方法。

如果系统有多个输入,则使得闭环系统具有给定极点的状态反馈增益矩阵K是不唯一的,从而有更多的自由度去选择满足闭环极点要求的K。如何利用这些自由度,使得闭环系统具有给定的极点外,还具有一些其他附加性能是需要进一步探讨的问题,这就是多目标控制。一种方法就是在使得闭环系统具有给定极点的同时,闭环系统的稳定裕度最大化(Margin Maximization),基于这种思想进行的极点配置称为是鲁棒极点配置方法。

跟踪控制器设计

通过重新配置闭环系统极点,尽管改善了闭环系统的稳定性和动态特性,但有可能使得闭环系统产生稳态误差(稳态误差在这指的是系统的稳态输出与参考输入之间的偏差),导致系统的稳态性能变差。或者说极点配置方法可能会使一个原来没有稳态误差的系统产生稳态误差。那么是否存在一种方法使得改善系统动态特性的同时保证系统的稳态性能不变坏呢(保证系统输出与参考输出无静差)?

另一方面,实际系统还不可避免地存在外部扰动。外部扰动信号可分为随机性的高频扰动和确定性扰动两大类。随机性扰动具有随机噪声特性,通常只知道它的一些统计特性,如均值和方差等。确定性扰动具有确定的函数形式,如阶跃函数、斜坡函数、正弦函数等。在实际中,许多系统都存在确定性的扰动,如阵风对雷达系统的扰动,海浪对正常航行的船体控制系统的扰动,飞行系统在大气中受到气浪的扰动等。这些扰动都具有确定的函数表达式,可以通过动力学分析或辨识学习的手段来确定函数关系式中未知的参数。

在这里我们只讨论确定性扰动。扰动的存在使得系统在稳态时不能很好地跟踪参考输入,从而产生稳态误差。因此,必须对扰动进行补偿,以克服扰动对系统稳态性能的影响(扰动影响稳态精度)。

注:对于一个稳定的系统,从李雅普诺夫稳定性理论的角度来看,该系统在扰动的输入下,系统的能量必然会随着时间推移而衰减(只要外界不持续的输入能量包括参考输入和扰动)。也就是说只要干扰是有界的(或有界输入),就不会对系统的稳定性造成影响,影响的仅仅是稳态误差。系统的稳定性是自治系统的性质,与输入无关;输入会影响系统状态的稳态值。

在诸如数控机床、导弹制导等许多实际控制系统中,常常要求闭环系统的输出以给定的精度跟踪参考输入信号,实现精确的跟踪控制。然而以上分析又说明了极点配置状态反馈和外部扰动都可能影响系统输出跟踪参考输入的效果。那么该如何设计使得闭环系统不仅具有期望的过渡过程特性,而且在扰动的作用下,还能实现精确(稳态精度)的跟踪控制?

接下来将针对具有外部阶跃扰动的线性时不变系统,提出一种能实现无静差跟踪阶跃参考输入信号的抗干扰渐近跟踪调节器设计方法。考虑以下状态空间模型描述的系统:
\left\{ {\begin{array}{*{20}{c}} {\dot x = Ax + Bu +d } \\ {y = Cx} \end{array}} \right.

其中,dn维的扰动输入,yr维系统量测输出。假定系统的参考输入是阶跃输入y_r(t)=y_{r0}\cdot 1(t)d是阶跃扰动d(t)=d_0 \cdot 1(t),其中的y_{r0}\d_{0}\是阶跃信号的幅值向量。控制作用的目的是在存在扰动d(t)的情况下,仍希望闭环系统的输出y(t)能很好地跟踪参考输入y_r(t)

在经典控制理论中,用偏差的积分来抑制或消除单输入单输出系统的稳态误差,这样一种思想也可以推广到多输入多输出系统。为此,定义偏差向量:
e(t) = y(t) - y_r(t)

引入偏差向量的积分q(t)
q(t) = \int_0^t {e(\tau) d\tau }

注意到q(t)和输出向量y(t)具有相同的维数,因此它由r个积分组成,每个积分器的输入是偏差向量的一个分量(或者说是一维坐标值):
\dot q(t) = e(t) = Cx(t) - y_r(t)

由于在控制回路中增加了r个积分器,因此增加了整个系统的动态特性,而q是这些积分器的输出,故可以通过将q作为附加状态向量(经积分累加后输出的量是不可以突变的,是关于时间的动态量,因此q可以作为系统扩张状态),得到描述整个系统动态行为的状态空间模型:
\left[ {\begin{array}{*{20}{c}} {\dot x} \\ {\dot q} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} A&0 \\ C&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x \\ q \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} B \\ 0 \end{array}} \right]u + \left[ {\begin{array}{*{20}{c}} d \\ { - {y_r}} \end{array}} \right]

y = \left[ {\begin{array}{*{20}{c}} C&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x \\ q \end{array}} \right]

新的状态向量空间是n+r维的,称上述状态空间模型为增广系统的状态空间模型。

对上述增广系统,若能设计一个状态反馈控制器:
u = - \left[ {\begin{array}{*{20}{c}} {{K_1}}&{{K_2}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x \\ q \end{array}} \right] = - {K_1}x - {K_2}q

使得闭环系统:
\left[ {\begin{array}{*{20}{c}} {\dot x} \\ {\dot q} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {A - B{K_1}}&{ - B{K_2}} \\ C&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x \\ q \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} d \\ { - {y_r}} \end{array}} \right]

是渐近稳定的,即闭环系统状态矩阵:
\left[ {\begin{array}{*{20}{c}} {A - B{K_1}}&{ - B{K_2}} \\ C&0 \end{array}} \right]

的所有特征值均在左半开复平面中,从而该矩阵也是非奇异的。由于参考输入和外部扰动都是阶跃信号。因此当时间趋向于无穷时,x(t)q(t)都趋向于常值向量,这表明\dot x(t)\dot q(t)都必将趋于零。又因为\dot q(t) = y(t) - y_r(t),故当t趋于无穷时y(t) = y_r(t),从而实现精确的跟踪控制。

以上分析说明了只要对上述增广系统设计一个稳定化状态反馈控制器,就可以保证系统的输出跟踪阶跃参考输入且没有稳态误差。我们的做法是通过人为引入一个新的状态向量q(对误差信号的积分)来克服阶跃扰动d对系统输出带来的影响(从增广系统的状态空间模型中可以很清楚的看到q是如何克服扰动影响的)。进一步,我们还可以通过状态变量q的稳态值估计出系统的干扰。

如果还要使得闭环系统具有一定的动态特性(比如缩短调节时间),则可以通过适当配置增广系统的闭环极点来实现,但这要求增广系统是完全能控的。下面给出一个定理:

定理:增广系统能控的充分必要条件为:(1)原系统是能控的;(2)rank\left( {\left[ {\begin{array}{*{20}{c}} A&B \\ C&0 \end{array}} \right]} \right) = n + rm \geqslant rrank(C) = r

定理说明,m \geqslant r表明控制输入的个数不能小于输出的个数,而rank(C) = r则意味着所有的测量输出必须是线性无关或者说是独立的。

增广系统的状态反馈控制器可以写为:
u = - {K_1}x - {K_2} \int_0^t e(\tau)d \tau

上式中的第一项{K_1}x是原系统的状态反馈,而第二项是为了改善稳态精度而加入的积分控制作用。因此,这是一个由被控对象的状态反馈和偏差向量的积分所组成的复合控制,相当于一个比例积分控制器。这样一个反馈控制系统的结构如下图所示:

增广系统的状态反馈

由以上分析可知,对于一个多变量系统,尽管有一个未知(不能测量)的阶跃扰动输入,但仍可以设计一个控制器,使得闭环系统的输出能无静差地跟踪阶跃参考输入。一般情况下,引入积分器会使闭环增广系统响应变慢(因为增广后的系统又增加了动态环节)。类似于经典控制理论中通过加大反馈增益来加快系统响应速度的方法,对由状态空间模型描述的多变量系统,可根据闭环系统的过渡过程要求按极点配置方法来确定状态反馈增益矩阵。

若参考输入是一个包含t的多项式,则可以通过增加积分器的方法来处理。对能直接测量(或能够被估计)的外部扰动,可采用前馈控制的方式进行补偿。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 今天给儿子讲了《不一样的卡梅拉之我的催眠树根》,故事讲的是卡门被雪山猿人抓走,卡梅利多跟贝里奥前去救援,用了公...
    阿宇麻麻阅读 639评论 0 0
  • 先做好基本的节奏练习。比如:看着谱子里的音符将其打出来。严格跟着节拍器。没跟上,重新开始。速度要慢,切忌一熟练就快...
    圣易王时阅读 1,052评论 0 0
  • 第一章 他在大街上慢慢走着。看着周围的欧式风格的建筑,早已熟悉的大道却依然透着陌生。 寒风刺骨,他搂紧身上的风衣,...
    便一去不回阅读 270评论 0 0