- 博客(17)
- 收藏
- 关注
原创 如何理解强化学习中迭代线性-二次型调节器(ILQR)算法
1、强化学习预备知识(1)状态-动作价值函数Q(s, a):在状态s,先立即执行动作a,后面所有的状态都按照最优动作进行执行,所能获得价值之和;(2)状态价值函数V(s):在状态s,从当前状态直到后面所有的状态,全部按照最优动作进行执行,所能获得的价值之和;(3)策略函数π(s):已经当前的状态s,求解出最优的动作 a;(4)Q(s, a)与V(s)之间的关系:Q(s, a)中先执行的动作a并不一定是最优动作,而V(s)中的每一步动作a都是最优的V(s) = max a Q(s,a)2、
2022-03-06 14:33:46 5142
原创 如何理解deepMind 团队的Muzero算法
如何理解deepMind 团队的Muzero算法Muzero算法是什么?Muzero建立在alphaZero算法的搜索能力以及基于搜索的策略迭代算法之上,同时联合了一个学习model在训练的过程中,极大的扩展了该学习算法的应用场景。它主要是将mentor Calor Tree Search算法、hidden state value equivalence思想,以及Deep Neural Network 相结合,创造一个更加general的算法来进行强化学习的训练,一句话总结就是 Muzero算法是一个
2021-10-30 15:30:15 2112
原创 gazebo中获得任意model的groundtruth的pose
初衷在利用gazebo做实验的时候,我们往往需要获得某个model的pose,拿视觉SLAM来说,很多时候缺少camera 的 groundtruth的pose。那么我们应该怎么获得呢?做法我们可以在模型的urdf文件或者sdf文件中加入下面这段代码,这是给模型加入一个ros plugin——libgazebo_ros_p3d。<gazebo> <plugin nam...
2018-12-18 17:58:15 3864 5
原创 gazebo中创建stereo camera并且利用ROS获取左右图
现在很多CNN算法都开始采用无监督的学习算法,有的时候需要在仿真环境中获取一个stereo camera的左右图来进行训练,发现用gazebo获取一个stereo camera的左右图的资料比较少,所以就记录一下我做的过程。在读这篇博客之前,请先了解gazebo的相关内容和ROS的相关知识。步骤: 1、创建一个stereo camera model,添加ros plugin 2、创建一...
2018-06-08 17:19:51 5622 9
原创 大疆经纬M100无人机的组装以及Onboard SDK的安装
前段时间一直在搞在M100上搭载处理器,并且用大疆官方的Onboard SDK来进行开发,所以就记录一下,免得过段时间忘记了。先上一张M100的图(来源于大疆官网): 一、硬件介绍 1、首先介绍大疆M100的硬件大致: (1)基本配置:一块飞控板(大疆A3飞控),4根机臂,一块电池,一个GPS模块和一个遥控器。 有了这个配置之后就达到了飞行条件。 (2)如果加上云台相机,就可...
2018-06-08 10:58:26 16998 15
原创 ORB SLAM的local mapping部分的代码解析
从ORB SLAM的系统框架中就可以很清楚知道Local Mapping部分主要的实现。这个线程主要通过MapPoints维护关键帧之间的共视关系(covisibility),通过局部BA优化共视关键帧位姿和MapPoints。 如上图所示,Local Mapping 主要完成以下几个操作,所有操作在LocalMapping::Run()成员函数中被调用: 1、关键帧的插入 2、地图...
2018-04-26 11:03:58 2812
原创 ORB SLAM的tracking部分代码解析
接着LSD SLAM的代码整理,现在把ORB SLAM的代码也梳理一遍。ORB SLAM是基于特征点法的SLAM的一个代表性的工作,并且有个可读性很强的开源代码[1],感兴趣的人可以下载下来跑一跑。 ORB SLAM主要分成四个部分,tracking、mapping、relocalization和Loop closure。它的系统框图很好的反映了这点。先放上系统框图。 如上...
2018-04-24 13:18:33 3251 1
原创 LSD SLAM 的tracking部分的代码解析
首先还是放上LSD SLAM的整个代码框架,以至于读者可以清楚的知道tracking部分在整个SLAM框架中处于一个什么样的位置。 LSD SLAM 的tracking部分主要做的工作就是解出keyframe与current frame之间的pose(R,t),已知keyframe上高梯度点的3D点,首先可以初始化一个pose(比如利用上一帧的pose作为这一帧的初始化的值)...
2018-04-20 13:08:01 1163
原创 LSD SLAM mapping部分的代码解析
关于LSD SLAM的代码解析已经有人详细的介绍过了[1],这篇博客主要是自己总结一下代码中自己看的一些思路,免得时间长了就忘记了。 首先放上LSD SLAM整个算法框架: 在LSD SLAM的mapping中,会首先判断当前frame是不是keyframe,判断的标准就是离上一帧keyframe的baseline是不是超过了一定的阈值,如果超过了阈值,那么就会把这cur...
2018-04-19 21:25:14 1040
原创 LSD SLAM的编译以及depth debug window不存在的问题
在回顾LSD SLAM的过程中,想着再跑跑LSD,结果笔记本上面的源码不能重新编译了,所以就重新过了一遍,给后面对SLAM感兴趣的人一点点参考。首先需要提醒一下的,因为ros版本的升级,编译方式由原来的rosmake变成了catkin_make,所以在编译安装LSD的时候建议使用catkin的那个分支,github的链接为:https://github.com/tum-vision/lsd_s...
2018-04-11 18:02:33 1065 1
原创 LSD SLAM和ORB SLAM的对比
现在开始找实习了,开始回顾研究生做的工作,把之前做的东西都总结一下,梳理梳理知识。 LSD SLAM的介绍: LSD SLAM是slam界大牛 Jakob Engel的著作,也是直接法的代表性工作。和LSD SLAM想对应的feature-based的ORB SLAM则是又一代表性工作。 ORB SLAM的介绍: ORB SLAM是一种基于ORB特征点的SLAM系统,在纹理比较丰富的场景下...
2018-04-11 17:39:42 7588 2
原创 tensorflow中如何直接读取网络的参数(weight and bias)的值
训练好了一个网络,想要查看网络里面参数是否经过BP算法优化过,可以直接读取网络里面的参数,如果一直是随机初始化的值,则证明训练代码有问题,需要改。下面介绍如何直接读取网络的weight 和 bias。 (1) 获取参数的变量名。可以使用一下函数获取变量名:def vars_generate1(self,scope_name_var): return [var for var
2018-01-29 17:18:41 13572 1
原创 Nature DQN为什么会存在过估计?
谈到过估计(overestimate)问题的时候,我们需要先交代一下背景,现在训练神经网络的时候,不是一张图一张图的进行训练,我们是通过一个batch一个batch去训练,每个batch里面包含了N张图,所以经常在看到别的网络参数的时候会有一个batch size的参数。 假设N=32,就是32张图分别经过CNN网络计算,然后计算出32个Loss,然后会把这32个Loss求和或者求平均转换成1个L
2017-12-28 15:49:57 5178 3
原创 强化学习中DQN是如何更新网络参数的?
下面是DQN更新参数的流程框图: 如图所示,当前的状态为S(t),通过eval net可以预测出current state对应的不同actions的Q值,然后通过greedy policy选择让Q值最大的actions进行状态转换。下一个时刻的状态我们设为S(t+1),我们是通过Target net计算出下一个时刻对应的Q值Q(t+1),然后计算出Loss,更新Eval net。 那么网
2017-12-27 16:54:19 9261
原创 基于Q-function的强化学习方法的总结
本篇博客只讨论reinforcement learning方法中Q-function的方法,包括Q-learning,NIPS DQN和Nature DQN算法上面的区别,尝试探讨为什么这些改进会对效果有很大的提升。
2017-12-25 20:23:53 6157
原创 关于Gazebo ROS Kobuki plugin:NaN in d1. step time:0.01的问题
gazebo turtlebot kobuki ros
2017-12-11 21:14:22 789
原创 基于Ubuntu 的 Parrot ARDrone 2.0的SDK安装以及ardrone_autonomy和tum_ardrone的安装和使用
经过了一个多星期的摸索,现在开始慢慢理解Parrot ARDrone 2.0的使用。现在总结一下遇到的问题,希望用这款无人机的人能够得到一些帮助,毕竟不能总是做一个伸手党。 Parrot ARDrone 2.0是法国的一家无人机的厂商生产的无人机的产品,是parrot ardrone 1.0的进阶版,摸索的这一个星期我感受到现在对ardrone 2.0的支持还是挺棒的。有很多资料,遇到问题
2016-12-07 20:55:28 4909 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人