- 博客(109)
- 资源 (22)
- 收藏
- 关注
原创 EXTRA 算法解读与仿真
EXTRA: An Exact First-Order Algorithm for Decentralized Consensus OptimizationEXTRA算法是分布式优化算法的一种,其基本思想是利用智能体的策略分布来更新全局策略,使得智能体的策略分布趋于一致。设状态数量和智能体数量分别为 m,nm,nm,n,原始的分布式梯度下降法更新公式如下
2024-11-13 22:49:19
821
2
原创 pyinstaller反编译踩坑记录
本文介绍了如何反编译pyinstaller打包的exe文件,并提出了一些踩坑方法。pyinstaller打包后exe文件体积较大,运行时也比较慢。所以想着能不能把exe文件反编译成py文件。有两个开源仓库,pycdc和Uncompyle6,但都不支持最新版的python,于是尝试直接单步调试代码看能不能发现问题,然后偶然发现一个非常好用的网站PyLingual,可以直接把pyc文件反编译成py文件。
2024-10-20 21:42:29
1125
转载 LATEX中优化问题如何排列 max—s.t. 格式
做优化的同学可能会碰到排列形如的格式,既要要求max和s.t.对齐,又要令约束式的=>等符号对齐,下面几个代码以供参考。
2024-03-16 17:48:26
1234
转载 什么是P问题、NP问题和NPC问题
这或许是众多OIer最大的误区之一。 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了。接下来你可以看到,把NP问题当成是 NPC问题是一个多大的错误。
2024-02-20 20:15:10
165
原创 欧拉角速度推导与不建议使用欧拉角的原因
欧拉角速度指欧拉角对时间的微分与角速度的关系,用于刚体姿态运动学建模,本文从一种复杂但严谨(应该)的角度推导这一关系,并解释为什么不建议使用欧拉角来描述姿态。
2024-01-23 00:16:36
1374
原创 证明四元数乘法与旋转矩阵乘法等价
刚体四元数姿态控制 一文中没有证明的公式在这篇文章中证明。首先找几个数测试是否等价。下面的代码中,为了测试准确,四元数还要保证归一化,不如事先拿几个欧拉角转成四元数。然后测试一下 sympy 计算四元数转旋转矩阵的公式是否正确。最后正式验证等价性。输出结果如下,公式特别复杂,两个矩阵的误差为0。
2023-12-16 22:42:19
1293
原创 刚体四元数姿态控制
首先给出刚体被控对象的微分方程,然后对四元数微分方程线性化求出合适的PD控制参数,然后详细分析了误差四元数的概念和性质,并提出四元数和旋转矩阵的等价性,然后简要介绍了非对角转动惯量矩阵的一些特点,最后分别仿真验证了调节问题、跟踪问题和误差四元数,附录中给出了使用拉塞尔不变性原理证明PD控制稳定性的过程。
2023-11-24 09:27:06
2290
原创 攻角、侧滑角、倾侧角与欧拉角的关系
欧拉角定义在地面坐标系上,气动角定义在航迹坐标系上。本文里当所有坐标系重合,欧拉角和气动角都是0°时,所有坐标系都是x轴朝前,y轴朝上,z轴朝右,但也有文献给出x轴朝前,z轴朝下,y轴朝右的定义;尽管坐标系的定义可以不一样,但欧拉角和气动角的定义不能因为坐标系定义的不同而变化。另一方面,侧滑角和和俯仰角都是向量和平面的夹角,而攻角和偏航角都有向量到平面的投影,只是向量和平面各不同。航迹系和速度系的x轴都朝向飞行器速度方向,两个系的y轴分别位于地面系的XOY平面内朝上和本体系的XOY平面内朝上,z轴都朝右。
2023-11-02 21:34:12
6392
4
原创 simucpp系列教程(7)坟墓
最近使用simucpp在做某预研航天项目中逐渐发现,simucpp没有明显优势,不如直接手撕ODE4,从代码量上来看两种方法其实差不多,而且simucpp更容易出现编程上的错误,比如空指针和参数配置等,而且运行速度肯定是直接用ODE4更快。我目前觉得只有在下面两种情况下使用simucpp有优势。
2023-10-28 22:38:40
338
原创 连续离散混合系统控制与仿真
以二阶积分器串联型系统为例,分析了混杂系统的控制器参数设计方法,比较了控制器周期对控制效果的影响,仿真展示了简单混杂系统的良好控制效果,并与纯连续系统与纯离散系统对比,得出的结论是混杂系统的设计方法与纯连续/离散系统区别非常大。
2023-10-27 11:33:34
390
原创 向量形式四阶龙格库塔法的仿真细节
给出了四阶龙格库塔法(ODE4)的向量形式,推导了二阶积分器串联型系统的ODE4更新公式,解释了在使用ODE4仿真高阶系统和带外部输入系统时的各种注意事项,最后给出四阶龙格库塔法只能使用一次的重要结论。
2023-10-22 11:25:06
546
原创 角速度变化时四元数和旋转矩阵微分方程的证明
本文证明了在角速度向量不是常数时,四元数和旋转矩阵微分方程依然成立,成立的条件和性质等,并指出了大部分资料里给出的四元数微分方程中的一个错误,最后给出仿真验证。
2023-09-18 18:58:12
1720
2
原创 [论文解读]二阶非线性不确定系统的PID控制器设计
PID controller design for second order nonlinear uncertain systems摘要 复现一下论文的推导过程,补充一些推导细节,证明PID可以控制满足一定条件的二阶非线性系统并全局稳定,最后跑个仿真。
2023-09-07 16:01:27
480
原创 刚体姿态动力学推导与进动现象仿真
摘要 首先推导角速度公式和角加速度公式,并举一个例子说明角速度公式的细节,然后从加速度公式出发推导转动惯量矩阵 J 和姿态动力学方程 Jw’=w×Jw,并解释为什么需要进行一次坐标变换。最后总结从力矩到姿态四元数的完整过程,并对无力矩输入时的进动现象进行仿真。
2023-09-05 15:52:39
808
1
原创 特征模型(2)简单二阶系统的证明
这是我在看书中的正式推导前自己的推导过程,只推导了二阶系统,比较简单,可以跳过本文直接看正式证明。正规的推导见 特征模型(3)证明全系数之和等于1。
2023-07-10 16:45:08
373
3
原创 特征模型仿真例1:参数辨识
考虑被控对象Gss45s310s26s43s4和特征模型ykϕTk−1θk其中ϕk−1θkyk−1yk−2uk−1Tf1kf2kg0kT控制输入uuk10uk0.97uk−10.31uk10cos2πkT1uk10signcos2πkT))采样周期取Δt0.05。
2023-07-07 17:14:55
490
翻译 [翻译]一种基于学习的脉冲机动轨道追逃博弈的高效算法
本文利用基于人工智能的方法全面研究了脉冲轨道追逃博弈(Orbital Pursuit-Evasion Games, OPEGs)的问题。首先,构建了追逐者和逃避者都通过施加脉冲速度增量来执行轨道机动的脉冲OPEG数学模型。其次,将脉冲OPEG问题转化为在终端时间方面具有最小-最大优化指数和机动性、总燃料消耗、任务时间等多重约束的双边优化问题。为了确定双方的最优脉冲动作,在多智能体强化学习框架中设计了一种PRD-MADDPG(预测-奖励-检测多智能体深度确定性策略梯度)算法。
2023-06-15 23:22:56
3410
16
原创 强化学习复现笔记(2)策略迭代
上一节的压缩映射在实际迭代时可以分成两种方法,分别称作值迭代和策略迭代。本文用走迷宫的例子(将1维迷宫扩展到2维)讲这两种迭代。对应第一节参考链接[2]的前4章。
2023-06-14 11:01:58
757
原创 强化学习复现笔记(1)基本概念
一条线上包含起点和终点共有6个格子,起点在左终点在右。假设智能体已经学到了最优的策略,并且在每一步行动时,以 $0.9$ 的概率选择最优策略(也就是往右),以 $0.1$ 的概率选择随机策略。各个概念的定义见文末参考链接,本文举实际的数值例子帮助理解。
2023-05-26 18:42:37
1055
原创 Python通过SWIG调用C++时出现的ImportError问题解析
win10系统,编译器为mingw,按照教程封装C++的一个类并用python调用,一步步进行直到最后一步运行python代码时,在python代码中。
2023-05-10 11:19:55
982
原创 python多次调用exe文件运行不同的结果
有个C++项目是读取配置参数文件并打印对应的结果,后来需要多次修改配置文件并运行,于是想到写个python脚本执行这一过程。
2023-05-07 14:05:03
845
翻译 使用深度Q网络(Deep Q Network)学习控制倒立摆
我们将尝试使用Deep Q网络(通常称为DQN)来解决单摆向上的问题,该网络结合了Q学习(一种强化学习方法)和深度神经网络。{我完全不会日语,很多表达可能跟原文完全不一样。}
2023-05-05 23:14:50
470
原创 raylib一些示例代码
3D预览图视角:鼠标拖动,滚轮缩放。只能沿着中心点。第一视角:WSAD分别控制视角的前后左右移动,EQ分别控制上下移动,滚轮控制移动速度。
2023-04-30 22:37:43
700
原创 带遗忘因子的递推最小二乘法推导
首先,已知最小二乘法的解后,推导出解的递推形式;然后通过一个简单的公式y=x+w的形式引入遗忘因子,并改写成递推形式,最后将遗忘因子引入带递推的最小二乘法中。
2023-04-20 21:57:40
7680
6
原创 非线性系统的反步法
当被控对象含有未知参数时,通过设计李雅普诺夫函数使参数估计和被控对象的输出同时收敛。本文主要内容为,第一部分介绍使用李雅普诺夫法估计参数的基本原理,第二部分介绍参数不匹配情况下的反步法,第三部分对其中一个问题进行仿真。
2023-03-24 11:30:44
636
原创 非线性系统的反馈线性化
本文介绍仿射非线性系统的反馈线性化方法的基本原理和实现细节,介绍相对阶、李导数、微分同胚、最小相位、内部动态等名词解释,并举一个例子来说明线性化过程,最后展示仿真结果。
2023-03-21 20:45:31
2964
17
原创 自用的矩阵运算库zhnmat使用说明
代码仓库安装教程建议参考(二)EGE安装与配置 -优快云博客其它功能与MATLAB对应的初始化方法MATLAB 写法:zhnmat 写法:修改打印格式下面的代码可以将矩阵输出成可用于 markdown 或 LaTeX 的格式。
2023-03-03 09:57:35
330
原创 自用的姿态与轨道动力学笔记
由位置和速度向量计算远拱点。根据平近点角计算真近点角。已知初始位置和速度计算经过指定时间后的位置和速度。四元数/旋转矩阵/欧拉角。
2023-02-19 10:08:27
729
翻译 [论文翻译]演化博弈方法用于多智能体系统最优资源分配
一群行为体在分布式环境中需要一组资源来完成任务,它们必须合作决定每个个体接受的资源数量来最大化系统性能。我们从演化博弈论的角度解决了这个问题,并提出了一种基于局部复制动态方程的完全分布式算法。通过使用最优性条件,我们证明了我们的算法在连通通信拓扑下的收敛性和最优性。一个示例说明了该方法在动态环境中的有效性。
2022-12-30 18:18:24
1603
原创 水下潜航器的建模与控制
水下潜器模型,可能是潜艇或者鱼雷等对象。一个主推进螺旋桨,前后两对水平陀翼,后面一对垂直陀翼。潜器前进过程中,通过调节助推进螺旋桨推力,以及三对陀翼的角度变化,对潜器的五个自由度,X轴和Z轴方向的速度,以及垂直、滚动和俯仰方向角速度,进行控制,实现潜器的各种机动以及在运动过程中的姿态平稳。
2022-12-16 16:34:57
2515
2
原创 无量纲处理、量纲变换与实时仿真理论
分析描述系统动态变化的微分方程中时间的单位和仿真步长对仿真精度的影响。进行了两次仿真实验。第一个实验中,把时间单位由秒改成毫秒,步长仅在数值上缩小了1000倍,但总的仿真精度并没有减小;第二个实验中,时间单位不变,只把步长缩小了1000倍,虽然仿真步数多了1000倍,但仿真精度还是提升了。
2022-10-09 18:09:25
899
ADRC-vs-PID 韩京清老师97年在CSU做的第一个ADRC运动控制的实验
2023-08-26
Riccati Equations in Optimal Control Theory
2022-02-09
pytorch实现lenet5
2020-08-14
常用初等函数的快速算法
2020-06-07
MATLAB径向基函数神经网络
2020-05-03
mpu6050加速度计六面校准MATLAB程序
2020-02-08
c++双人贪吃蛇小游戏
2020-02-08
QR分解求矩阵特征值和特征向量
2019-11-04
MATLAB实现差分进化算法示例
2019-10-09
C++二叉堆实现A*算法及方向优化
2019-01-20
C++实现8方向A*算法
2019-01-06
MPU6050卡尔曼滤波解算姿态
2018-09-28
MPU6050用卡尔曼滤波解算姿态
2018-09-20
QPSK调制与解调的simulink仿真
2018-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人