一文洞悉Python必備的50種算法

原文:https://atsushisakai.github.io/PythonRobotics/#what-is-this

作者說(shuō)明:

  • AtsushiSakai竞帽,日本機(jī)器人工程師,從事自動(dòng)駕駛技術(shù)開(kāi)發(fā)理疙,精通C++莺治、ROS、MATLAB、Python抬伺、Vim和Robotics。

文章說(shuō)明:

  • 本文是一些機(jī)器人算法(特別是自動(dòng)導(dǎo)航算法)的Python代碼合集灾梦。

特點(diǎn):

  • 選擇了在實(shí)踐中廣泛應(yīng)用的算法峡钓;
  • 依賴最少;
  • 容易閱讀若河,容易理解每個(gè)算法的基本思想

目錄:

  • 一椒楣、環(huán)境需求
  • 二、怎樣使用
  • 三牡肉、本地化
    • 3.1 擴(kuò)展卡爾曼濾波本地化
    • 3.2 無(wú)損卡爾曼濾波本地化
    • 3.3 粒子濾波本地化
    • 3.4 直方圖濾波本地化
  • 四、映射
    • 4.1 高斯網(wǎng)格映射
    • 4.2 光線投射網(wǎng)格映射
    • 4.3 k均值物體聚類(lèi)
    • 4.4 圓形擬合物體形狀識(shí)別
  • 五淆九、SLAM
    • 5.1 迭代最近點(diǎn)匹配
    • 5.2 EKF SLAM
    • 5.3 FastSLAM 1.0
    • 5.4 FastSLAM 2.0
    • 5.5 基于圖的SLAM
  • 六统锤、路徑規(guī)劃
    • 6.1 動(dòng)態(tài)窗口方式
    • 6.2 基于網(wǎng)格的搜索
      • 迪杰斯特拉算法
      • A*算法
      • 勢(shì)場(chǎng)算法
    • 6.3 模型預(yù)測(cè)路徑生成
      • 路徑優(yōu)化示例
      • 查找表生成示例
    • 6.4 狀態(tài)晶格規(guī)劃
      • 均勻極性采樣(Uniform polar sampling)
      • 偏差極性采樣(Biased polar sampling)
      • 路線采樣(Lane sampling)
    • 6.5 隨機(jī)路徑圖(PRM)規(guī)劃
    • 6.6 Voronoi路徑圖規(guī)劃
    • 6.7 快速搜索隨機(jī)樹(shù)(RRT)
      • 基本RRT
      • RRT*
      • 基于Dubins路徑的RRT
      • 基于Dubins路徑的RRT*
      • 基于reeds-shepp路徑的RRT*
      • Informed RRT*
      • 批量Informed RRT*
      • 閉合回路RRT*
      • LQR-RRT*
    • 6.8 三次樣條規(guī)劃
    • 6.9 B樣條規(guī)劃
    • 6.10 Eta^3樣條路徑規(guī)劃
    • 6.11 貝濟(jì)埃路徑規(guī)劃
    • 6.12 五次多項(xiàng)式規(guī)劃
    • 6.13 Dubins路徑規(guī)劃
    • 6.14 Reeds Shepp路徑規(guī)劃
    • 6.15 基于LQR的路徑規(guī)劃
    • 6.16 Frenet Frame中的最優(yōu)路徑
  • 七、路徑跟蹤
    • 7.1 姿勢(shì)控制跟蹤
    • 7.2 純追跡跟蹤
    • 7.3 史坦利控制
    • 7.4 后輪反饋控制
    • 7.5 線性二次regulator(LQR)轉(zhuǎn)向控制
    • 7.6 線性二次regulator(LQR)轉(zhuǎn)向和速度控制
    • 7.7 模型預(yù)測(cè)速度和轉(zhuǎn)向控制
  • 八炭庙、項(xiàng)目支持

一饲窿、環(huán)境需求:

  • Python 3.8.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy

二、怎樣使用

  • 克隆以下倉(cāng)庫(kù):
    https://github.com/AtsushiSakai/PythonRobotics.git

  • 安裝必要的庫(kù)焕蹄;

    conda env create -f environment.yml using pip :- pip install -r requirements.txt
    
  • 執(zhí)行每個(gè)目錄下的python腳本逾雄;

三、本地化

3.1 擴(kuò)展卡爾曼濾波本地化
3.2 無(wú)損卡爾曼濾波本地化
3.3 粒子濾波本地化
  • 圖解:


    粒子濾波本地化
  • 算法說(shuō)明:

    • 該算法利用粒子濾波器(Particle Filter, PF)實(shí)現(xiàn)傳感器混合本地化。
    • 藍(lán)線為真實(shí)路徑饭尝,黑線為導(dǎo)航推測(cè)路徑(dead reckoning trajectory)肯腕,綠點(diǎn)為位置觀測(cè)(如GPS),紅線為PF估算的路徑钥平。
    • 該算法假設(shè)機(jī)器人能夠測(cè)量與地標(biāo)(RFID)之間的距離实撒。
    • PF本地化會(huì)用到該測(cè)量結(jié)果。帖池、
  • 推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/

3.4 直方圖濾波本地化
  • 圖解:


    直方圖濾波本地化

https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/Localization/histogram_filter/animation.gif

  • 算法說(shuō)明:

    • 該算法是利用直方圖濾波器(Histogram filter)實(shí)現(xiàn)二維本地化的例子奈惑。
    • 紅十字是實(shí)際位置,黑點(diǎn)是RFID的位置睡汹。
    • 藍(lán)色格子是直方圖濾波器的概率位置肴甸。
    • 在該模擬中,x囚巴,y是未知數(shù)原在,yaw已知。
    • 濾波器整合了速度輸入和從RFID獲得距離觀測(cè)數(shù)據(jù)進(jìn)行本地化彤叉。
    • 不需要初始位置庶柿。
  • 推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/

四、映射

4.1 高斯網(wǎng)格映射
  • 圖解:


    高斯網(wǎng)格映射
  • 算法說(shuō)明:本算法是二維高斯網(wǎng)格映射(Gaussian grid mapping)的例子秽浇。
4.2 光線投射網(wǎng)格映射
  • 圖解:
    光線投射網(wǎng)格映射
  • 算法說(shuō)明:本算法是二維光線投射網(wǎng)格映射(Ray casting grid map)的例子浮庐。
4.3 k均值物體聚類(lèi)
  • 圖解:


    k均值物體聚類(lèi)
  • 算法說(shuō)明:本算法是使用k均值算法進(jìn)行二維物體聚類(lèi)的例子。

4.4 圓形擬合物體形狀識(shí)別
  • 圖解:
    圓形擬合物體形狀識(shí)別
  • 圖形說(shuō)明:

    • 藍(lán)圈是實(shí)際的物體形狀柬焕。

    • 紅叉是通過(guò)距離傳感器觀測(cè)到的點(diǎn)审残。

    • 紅圈是使用圓形擬合估計(jì)的物體形狀。

  • 算法說(shuō)明:本算法是使用圓形擬合進(jìn)行物體形狀識(shí)別的例子斑举。

五搅轿、SLAM

5.1 迭代最近點(diǎn)匹配
  • 圖解:
    迭代最近點(diǎn)匹配
  • 算法說(shuō)明:

    • 本算法是使用單值解構(gòu)進(jìn)行二維迭代最近點(diǎn)(Iterative Closest Point,ICP)匹配的例子富玷。
    • 它能計(jì)算從一些點(diǎn)到另一些點(diǎn)的旋轉(zhuǎn)矩陣和平移矩陣璧坟。
  • 推薦相關(guān)閱讀:機(jī)器人運(yùn)動(dòng)介紹:迭代最近點(diǎn)算法
    https://cs.gmu.edu/~kosecka/cs685/cs685-icp.pdf

5.2 EKF SLAM
  • 圖解:


    EKF SLAM
  • 算法說(shuō)明:

    • 這是基于擴(kuò)展卡爾曼濾波的SLAM示例既穆。
    • 藍(lán)線是真實(shí)路徑,黑線是導(dǎo)航推測(cè)路徑雀鹃,紅線是EKF SLAM估計(jì)的路徑幻工。
    • 綠叉是估計(jì)的地標(biāo)。
  • 推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/

5.3 FastSLAM 1.0
  • 圖解:


    FastSLAM 1.0
  • 算法說(shuō)明:

    • 這是用FastSLAM 1.0進(jìn)行基于特征的SLAM的示例褐澎。
    • 藍(lán)線是實(shí)際路徑会钝,黑線是導(dǎo)航推測(cè),紅線是FastSLAM的推測(cè)路徑工三。
    • 紅點(diǎn)是FastSLAM中的粒子迁酸。
    • 黑點(diǎn)是地標(biāo),藍(lán)叉是FastLSAM估算的地標(biāo)位置俭正。
  • 推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/

5.4 FastSLAM 2.0
5.5 基于圖的SLAM
  • 圖解:


    基于圖的SLAM
  • 算法說(shuō)明:

    • 這是基于圖的SLAM的示例掸读。
    • 藍(lán)線是實(shí)際路徑串远。
    • 黑線是導(dǎo)航推測(cè)路徑。
    • 紅線是基于圖的SLAM估算的路徑儿惫。
    • 黑星是地標(biāo)澡罚,用于生成圖的邊。
  • 推薦相關(guān)閱讀:基于圖的SLAM入門(mén):http://www2.informatik.uni-freiburg.de/~stachnis/pdf/grisetti10titsmag.pdf

六肾请、路徑規(guī)劃

6.1 動(dòng)態(tài)窗口方式
6.2 基于網(wǎng)格的搜索
  • 迪杰斯特拉算法

    • 圖解:


      迪杰斯特拉算法
    • 算法說(shuō)明:

    • 這是利用迪杰斯特拉(Dijkstra)算法實(shí)現(xiàn)的基于二維網(wǎng)格的最短路徑規(guī)劃。

    • 動(dòng)畫(huà)中青色點(diǎn)為搜索過(guò)的節(jié)點(diǎn)铛铁。

  • A*算法

    • 圖解:


      A*算法
    • 算法說(shuō)明:

      • 使用A星算法進(jìn)行基于二維網(wǎng)格的最短路徑規(guī)劃隔显。
      • 動(dòng)畫(huà)中青色點(diǎn)為搜索過(guò)的節(jié)點(diǎn)。
      • 啟發(fā)算法為二維歐幾里得距離饵逐。
  • 勢(shì)場(chǎng)算法

    • 圖解:


      勢(shì)場(chǎng)算法
    • 算法說(shuō)明:

      • 使用勢(shì)場(chǎng)算法進(jìn)行基于二維網(wǎng)格的路徑規(guī)劃括眠。
      • 動(dòng)畫(huà)中藍(lán)色的熱區(qū)圖顯示了每個(gè)格子的勢(shì)能。
    • 推薦相關(guān)閱讀:機(jī)器人運(yùn)動(dòng)規(guī)劃:勢(shì)能函數(shù):https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf

6.3 模型預(yù)測(cè)路徑生成
  • 路徑優(yōu)化示例
    • 圖解:


      路徑優(yōu)化示例
  • 算法說(shuō)明:算法用于狀態(tài)晶格規(guī)劃(state lattice planning)

  • 查找表生成示例

6.4 狀態(tài)晶格規(guī)劃
  • 均勻極性采樣(Uniform polar sampling)

    • 圖解:


      均勻極性采樣
  • 偏差極性采樣(Biased polar sampling)

    • 圖解:


      偏差極性采樣
  • 路線采樣(Lane sampling)

    • 圖解:


      路線采樣
6.5 隨機(jī)路徑圖(PRM)規(guī)劃
  • 圖解:


    隨機(jī)路徑圖(PRM)規(guī)劃
  • 算法說(shuō)明:

    • 這個(gè)隨機(jī)路徑圖(Probabilistic Road-Map倍权,PRM)規(guī)劃算法在圖搜索上采用了迪杰斯特拉方法掷豺。
    • 動(dòng)畫(huà)中的藍(lán)點(diǎn)為采樣點(diǎn)。
    • 青色叉為迪杰斯特拉方法搜索過(guò)的點(diǎn)薄声。
    • 紅線為PRM的最終路徑当船。
  • 推薦相關(guān)閱讀:隨機(jī)路徑圖:https://en.wikipedia.org/wiki/Probabilistic_roadmap

6.6 Voronoi路徑圖規(guī)劃
  • 圖解:


    Voronoi路徑圖規(guī)劃
  • 算法說(shuō)明:

    • 這個(gè)Voronoi路徑圖(Probabilistic Road-Map,PRM)規(guī)劃算法在圖搜索上采用了迪杰斯特拉方法奸柬。
    • 動(dòng)畫(huà)中的藍(lán)點(diǎn)為Voronoi點(diǎn)。
    • 青色叉為迪杰斯特拉方法搜索過(guò)的點(diǎn)婴程。
    • 紅線為Voronoi路徑圖的最終路徑廓奕。
  • 推薦相關(guān)閱讀:機(jī)器人運(yùn)動(dòng)規(guī)劃:https://www.cs.cmu.edu/~motionplanning/lecture/Chap5-RoadMap-Methods_howie.pdf

6.7 快速搜索隨機(jī)樹(shù)(RRT)
  • 基本RRT

    • 圖解:


      基本RRT
    • 算法說(shuō)明:

      • 這是個(gè)使用快速搜索隨機(jī)樹(shù)(Rapidly-Exploring Random Trees,RRT)的簡(jiǎn)單路徑規(guī)劃代碼。
      • 黑色圓為障礙物桌粉,綠線為搜索樹(shù)蒸绩,紅叉為開(kāi)始位置和目標(biāo)位置。
  • RRT*

  • 基于Dubins路徑的RRT

    • 圖解:


      基于Dubins路徑的RRT
    • 算法說(shuō)明:為汽車(chē)形機(jī)器人提供的使用RRT和dubins路徑規(guī)劃的路徑規(guī)劃算法步藕。

  • 基于Dubins路徑的RRT*

    • 圖解:


      基于Dubins路徑的RRT*
    • 算法說(shuō)明:為汽車(chē)形機(jī)器人提供的使用RRT*和dubins路徑規(guī)劃的路徑規(guī)劃算法。

  • 基于reeds-shepp路徑的RRT*

  • Informed RRT*

    • 圖解:


      Informed RRT*
    • 算法說(shuō)明:

      • 這是使用Informed RRT*的路徑規(guī)劃代碼咙冗。
      • 青色橢圓為Informed RRT*的啟發(fā)采樣域。
    • 推薦相關(guān)閱讀:

      • Informed RRT*:通過(guò)對(duì)可接受的橢球啟發(fā)的直接采樣實(shí)現(xiàn)最優(yōu)的基于采樣的路徑規(guī)劃
        https://arxiv.org/pdf/1404.2334.pdf
  • 批量Informed RRT*

    • 圖解:


      批量Informed RRT*
    • 算法說(shuō)明:這是使用批量Informed RRT*的路徑規(guī)劃代碼漂彤。

    • 推薦相關(guān)閱讀:

      • 批量Informed樹(shù)(BIT*):通過(guò)對(duì)隱含隨機(jī)幾何圖形進(jìn)行啟發(fā)式搜索實(shí)現(xiàn)基于采樣的最優(yōu)規(guī)劃
        https://arxiv.org/abs/1405.5848
  • 閉合回路RRT*

    • 圖解:


      閉合回路RRT*
    • 算法說(shuō)明:

      • 這段代碼里雾消,轉(zhuǎn)向控制用的是純追跡算法(pure-pursuit algorithm)。
      • 速度控制采用了PID挫望。
    • 推薦相關(guān)閱讀:

  • LQR-RRT*

    • 圖解:


      LQR-RRT*
    • 算法說(shuō)明:

      • 這是個(gè)使用LQR-RRT*的路徑規(guī)劃模擬立润。
      • LQR局部規(guī)劃采用了雙重積分運(yùn)動(dòng)模型。
    • 推薦相關(guān)閱讀:

6.8 三次樣條規(guī)劃
  • 圖解:


    第一階段
第二階段
第三階段
  • 算法說(shuō)明:
    • 這是段三次路徑規(guī)劃的示例代碼媳板。
    • 這段代碼根據(jù)x-y的路點(diǎn)桑腮,利用三次樣條生成一段曲率連續(xù)的路徑。
    • 每個(gè)點(diǎn)的指向角度也可以用解析的方式計(jì)算拷肌。
  • 推薦相關(guān)閱讀:
6.9 B樣條規(guī)劃
  • 圖解:


    B樣條規(guī)劃
  • 算法說(shuō)明:

    • 這是段使用B樣條曲線進(jìn)行規(guī)劃的例子到旦。
    • 輸入路點(diǎn),它會(huì)利用B樣條生成光滑的路徑巨缘。
    • 第一個(gè)和最后一個(gè)路點(diǎn)位于最后的路徑上添忘。
  • 推薦相關(guān)閱讀:B樣條
    https://en.wikipedia.org/wiki/B-spline

6.10 Eta^3樣條路徑規(guī)劃
  • 圖解:


    Eta^3樣條路徑規(guī)劃
  • 算法說(shuō)明:這是使用Eta ^ 3樣條曲線的路徑規(guī)劃。

  • 推薦相關(guān)閱讀:

6.11 貝濟(jì)埃路徑規(guī)劃
  • 圖解:


    第一階段
第二階段
  • 算法說(shuō)明:
    • 貝濟(jì)埃路徑規(guī)劃的示例代碼若锁。
    • 根據(jù)四個(gè)控制點(diǎn)生成貝濟(jì)埃路徑搁骑。
    • 改變起點(diǎn)和終點(diǎn)的偏移距離,可以生成不同的貝濟(jì)埃路徑【第二階段】
  • 推薦相關(guān)閱讀:
6.12 五次多項(xiàng)式規(guī)劃
  • 圖解:


    五次多項(xiàng)式規(guī)劃
  • 算法說(shuō)明:它能根據(jù)五次多項(xiàng)式計(jì)算二維路徑又固、速度和加速度仲器。

6.13 Dubins路徑規(guī)劃
6.14 Reeds Shepp路徑規(guī)劃
6.15 基于LQR的路徑規(guī)劃
  • 圖解:


    基于LQR的路徑規(guī)劃
  • 算法說(shuō)明:為雙重積分模型使用基于LQR的路徑規(guī)劃的示例代碼。

6.16 Frenet Frame中的最優(yōu)路徑

七辆沦、路徑跟蹤

7.1 姿勢(shì)控制跟蹤
  • 圖解:


    姿勢(shì)控制跟蹤
  • 算法說(shuō)明:這是姿勢(shì)控制跟蹤的模擬昼捍。

  • 推薦相關(guān)閱讀:

7.2 純追跡跟蹤
  • 圖解:


    純追跡跟蹤
  • 算法說(shuō)明:
    • 使用純追跡(pure pursuit)轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬。
    • 紅線為目標(biāo)路線肢扯,綠叉為純追跡控制的目標(biāo)點(diǎn)妒茬,藍(lán)線為跟蹤路線。
  • 推薦相關(guān)閱讀:
7.3 史坦利控制
7.4 后輪反饋控制
  • 圖解:


    后輪反饋控制
  • 算法說(shuō)明:利用后輪反饋轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬乍钻。

  • 推薦相關(guān)閱讀:

7.5 線性二次regulator(LQR)轉(zhuǎn)向控制
  • 圖解:


    線性二次regulator(LQR)轉(zhuǎn)向控制
  • 算法說(shuō)明:使用LQR轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬。

  • 推薦相關(guān)閱讀:

7.6 線性二次regulator(LQR)轉(zhuǎn)向和速度控制
  • 圖解:


    線性二次regulator(LQR)轉(zhuǎn)向和速度控制
  • 算法說(shuō)明:使用LQR轉(zhuǎn)向和速度控制的路徑跟蹤模擬铭腕。

  • 推薦相關(guān)閱讀:

7.7 模型預(yù)測(cè)速度和轉(zhuǎn)向控制

八、項(xiàng)目支持

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谨履,一起剝皮案震驚了整個(gè)濱河市欢摄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌笋粟,老刑警劉巖怀挠,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異害捕,居然都是意外死亡绿淋,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)尝盼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吞滞,“玉大人,你說(shuō)我怎么就攤上這事盾沫〔迷” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵赴精,是天一觀的道長(zhǎng)佩捞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蕾哟,這世上最難降的妖魔是什么一忱? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮谭确,結(jié)果婚禮上帘营,老公的妹妹穿的比我還像新娘。我一直安慰自己逐哈,他們只是感情好芬迄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著昂秃,像睡著了一般禀梳。 火紅的嫁衣襯著肌膚如雪择诈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天出皇,我揣著相機(jī)與錄音,去河邊找鬼哗戈。 笑死郊艘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唯咬。 我是一名探鬼主播纱注,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼胆胰!你這毒婦竟也來(lái)了狞贱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜀涨,失蹤者是張志新(化名)和其女友劉穎瞎嬉,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體厚柳,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氧枣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了别垮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片便监。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖碳想,靈堂內(nèi)的尸體忽然破棺而出烧董,到底是詐尸還是另有隱情,我是刑警寧澤胧奔,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布逊移,位于F島的核電站,受9級(jí)特大地震影響葡盗,放射性物質(zhì)發(fā)生泄漏螟左。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一觅够、第九天 我趴在偏房一處隱蔽的房頂上張望胶背。 院中可真熱鬧,春花似錦喘先、人聲如沸钳吟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)红且。三九已至坝茎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間暇番,已是汗流浹背嗤放。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留壁酬,地道東北人次酌。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像舆乔,于是被迫代替她去往敵國(guó)和親岳服。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348