lqr 代码实例

import numpy as np
import scipy.linalg

def lqr(A, B, Q, R):
    P = np.matrix(scipy.linalg.solve_continuous_are(A, B, Q, R))
    K = np.matrix(scipy.linalg.inv(R) * (B.T * P))
    return K

# 系统动力学矩阵
A = np.array([[0, 1], [0, -1]])
B = np.array([[0], [1]])

# 代价函数权重矩阵
Q = np.array([[1, 0], [0, 1]])
R = np.array([[1]])

K = lqr(A, B, Q, R)
print("LQR 控制增益:\n", K)

ilqr 代码实例

import numpy as np

def ilqr(A, B, Q, R, N=10, tol=1e-6):
    n, m = B.shape
    K_list = [np.zeros((m, n)) for _ in range(N)]

for _ in range(1000):
        P = Q
        K_new_list = []

for i in range(N - 1, -1, -1):
            K = -np.linalg.inv(R + B.T @ P @ B) @ B.T @ P @ A
            K_new_list.append(K)

P = Q + K.T @ R @ K + (A + B @ K).T @ P @ (A + B @ K)

diff = np.sum([np.linalg.norm(K_new_list[i] - K_list[i]) for i in range(N)])

K_list = K_new_list[::-1]
        if diff < tol:
            break

return K_list

# 系统动力学矩阵
A = np.array([[0, 1], [0, -1]])
B = np.array([[0], [1]])

# 代价函数权重矩阵
Q = np.array([[1, 0], [0, 1]])
R = np.array([[1]])

K_list = ilqr(A, B, Q, R)
print("iLQR 控制增益序列:")
for i, K in enumerate(K_list):
    print(f"K_{i}:\n", K)

lqr ilqr代码实例相关推荐

  1. php 3 3公派算法代码,PHP常见算法合集代码实例

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣,下面是一些常用的算法和实例,大家可以好好学习下 一.文件夹遍历 function allFile($path = __DIR_ ...

  2. asp.net获取页面url参数值的实现代码实例

    asp.net获取页面url参数值的实现代码实例 file: default.aspx.cs using system; using system.data; using system.configu ...

  3. feign调用多个服务_Spring Cloud多个微服务之间调用代码实例

    这篇文章主要介绍了Spring Cloud多个微服务之间调用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 现在又一个学生微服务 user ...

  4. 多激光雷达外参⾃动化标定算法及代码实例

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 激光雷达是⽬前⾃动驾驶系统中的核⼼传感器之⼀,但是由于其信息密度低.存在垂直盲区等问题,⼚商⼤多在其L ...

  5. php设置背景图片的代码,css设置背景图片如何实现?(代码实例)

    本篇文章给大家带来的内容是关于css设置背景图片如何实现?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 很多人提交表单时都喜欢用一个图片来作为提交按钮,大多数人可能用J ...

  6. python雷达图数据_PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

  7. jQuery实现自动左右滚动效果的代码实例

    2019独角兽企业重金招聘Python工程师标准>>> jQuery实现自动左右滚动效果的代码实例 思路: 点击滚动模式下,是为点击(向前/向后/数字)添加click事件,通过控制展 ...

  8. java字典写实例,基于JAVA的新华字典接口调用代码实例

    基于JAVA的新华字典接口调用代码实例 接口描述:基于JA V A的新华字典接口调用代码实例 接口平台:聚合数据 import java.io.BufferedReader; import java. ...

  9. php最常见代码,PHP常见算法合集代码实例

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣,下面是一些常用的算法和实例,大家可以好好学习下 一.文件夹遍历<?php function allFile($path ...

最新文章

  1. Sub-process /usr/bin/dpkg returned an error code (1)
  2. 大数据成败之“监”:美团数据质量监管平台这样搭建
  3. 小鸭脖大生意——绝味鸭脖背后的故事
  4. 最近整理关于SQL Server2005性能优化技巧
  5. mysql安装包下载密码_MySQL解压包的安装与下载的图文教程
  6. opengl png图片 qt_Qt资源文件的格式,并用CMake添加Qt资源文件
  7. Hive 时间戳和日期相互转换
  8. ShapeNet:超实时人脸特征点检测与形状拟合开源库
  9. 淘宝双12惊喜——“寻”千兆,万兆光模块等你来
  10. [JNI] 开发基础(5)内存分配
  11. SQL进阶教程PDF下载
  12. G711 G723 G729线路占多少带宽问题
  13. Lookup Transformation
  14. 25岁,上帝找你谈一次灵魂。——送给女孩,也送给男孩
  15. android WebView加载淘宝天猫页面报找不到网址的错误
  16. Guided backpropagation
  17. 马克思 第一章 世界的物质性及其发展规律
  18. linux驱动调试技巧:灌寄存器---------以mma7660为例
  19. 设计模式之代理模式、动态代理模式、Cglib代理模式
  20. [光明日报]青年学生怎样把握成功机遇 --中国科学院院士 朱清时

热门文章

  1. Matlab读取pfm文件
  2. AudioStreamBasicDescription: 2 ch, 44100 Hz, ‘lpcm’ (0x00000C2C) 8.24-bit little
  3. javascript var变量长度问题 --笔记
  4. Content-Type是什么?
  5. 北京政策——户口与房子
  6. 游戏网站搭建实例:黑色沙漠中文wiki站搭建(1)
  7. 视频教程-黑客基础——爬虫(从理论剖析到实战演练)-大数据
  8. Hive技巧-选出某些列其余所有的列
  9. 【最新计算机、电子毕业设计 本科 大专 设计+源码】
  10. QQ群视频出现imsdk登录失败的解决方法