万向节锁死 就是你会以一个固定的顺序来进行旋转,但是你旋转过程中可能把某个方向给转没了。比如下图,固定旋转顺序为x,y,z.先沿x旋转一定角度,再沿y轴朝着屏幕前的你旋转90度(此时x变成了原来z轴的负方向,原来的z轴没有了,变成到了x方向去。)好,现在应该旋转z轴方向了,但是此时旋转z轴就是和之前旋转x轴是一样的效果,不能通过旋转z轴达到旋转俯视图的效果了。所以相当于少了一个自由度(就全局坐标而言),这种就称为万向节死锁gimbal lock。参考文献可能没有讲清楚,强烈推荐去看看下面两篇文章,写得特别详细。
多智能体强化学习仿真环境Unreal Engine和Unity3D AirSim入门遇到的问题自动编译山脉景观失败打开UE4时,弹出窗口,报error:三级目录参考教程https://www.zhihu.com/column/multiUAV自动编译山脉景观失败问题:创建C++类时,出现了 已成功添加类“MyClass”,但必须在重新编译“LandscapeMountains”模块后它才会出现在内容浏览器中。自动编译山脉景观模块失败解决办法:删掉中文版的“山脉景观”,把Epic Game 在设置里面把语音改为English,重新下载“LandscapeMountai
放弃在QT小游戏里面嵌入Q-learning的python脚本,用C++实现了Q-learning与游戏交互 一直想给这个游戏加一个RL的大脑。我为了确定要用到哪些状态,和动作,以及奖励,回合的定义。我设想了一个最简单逻辑,此处存活的敌机群它们的x坐标的平均值avg_x,以及我方飞机的x坐标m_hero.m_X,让我方飞机向敌机群靠近打击,avg_x比m_hero.m_X小则向右移动,avg_x比m_hero.m_X大则向左移动。动作:action:一维,0表示不动,1表示向左移,2表示向右移。奖励:子弹碰到一架敌机则记1分回合结束:我方飞机的机身与敌方飞机的机身发生碰撞。状态的设置可以是很多情况:.
Qt中嵌入Python代码爬坑 Python官网的文件中有将Python嵌入的,这是python3.8的嵌入#define PY_SSIZE_T_CLEAN#include <Python.h>intmain(int argc, char *argv[]){ wchar_t *program = Py_DecodeLocale(argv[0], NULL); if (program == NULL) { fprintf(stderr, "Fatal error: cannot dec
将图片集变成动图——ImageMagick工具 从这里下载ImageMagick下载完成后,试试在cmd里面试试convert命令能不能用。ImageMagick convert教程管理员运行也救不了我,就是不行!不好意思,有点尴尬…我发现我路径没对,打扰了。现在正常了。好吧,现在程序是安好了,把准备好的图片集(A*算法寻找最短路径的每一步图)拿出来,制作动图使用命令:(把文件夹的所有png格式的图都拿出来制作一个gif动图)convert -delay 50 *.png animated.gif完成转变!wait…来看看成
用Qt做一个飞机大战的游戏 直接根据网上的资料,一步一步做的,相较于之前用Python做的,我方飞机只能左右移动,这里的飞机是鼠标控制,可以到达界面的任意位置。学习资源在我的资源可以下载,或者去百度网盘下载提取码:f7om...
RL基础算法优缺点总结 RL基础算法优缺点总结RL算法主要分为三类:基于值(value-based)系列,基于策略梯度(Policy-gradient)系列,以及两者相结合的Actor-Critic系列。今天主要介绍这三类中典型的算法的核心思想以及它们各自的优缺点。value-based 类别首先从基于值这类算法说起,这类算法的特点是计算状态价值V(s)或者是状态动作价值Q(s,a),通过提高价值来优化策略。其中典型的算法有Q-learning、Sarsa、DQN,DDQN。从Q-learning算法说起,它算是DQN这
Importance Sample 减小prioritized experience replay带来的概率不均问题 Importance Sample的定义从李宏毅老师的PPO的讲解中我们可以知道,我们本来要计算p分布下f(x)的期望,但是现在我们不从p中采样,我们从q中采样x,来计算f(x)的期望。在上图中我们可以看到经过变形,f(x)乘上了一个p(x)/q(x),这个p(x)/q(x)相当于一个修正p,q分布差异的权重因子。当然p和q也不能相差太大,虽然两者均值一样,但是当p(x)/q(x)太大时,方差就不一样了,如果采样不够多的话,也会导致两者均值不一样。我们是因为off-policy,而引出的impor
强化学习算法学习 我们可以把强化学习算法分为三类:Policy-based、Value-based和将两者结合的算法(如Actor-Critic).Policy-based:输入状态,输出下一动作的概率。如Policy Gradient。Value-based:输入状态,输出动作的价值。如Q-learning、Sarsa。AC:输入状态,Actor网络输出动作,Critic根据动作输出对应的价值,将价值传递给Actor网络,来改变动作的概率。如A3C、A2C。我们也可以把强化学习算法分为两类:On-polic