机器人操作系统
第一章介绍ros由一组工具软件构成,是一个元操作系统,特点:
消息传递接口:进程通信
硬件抽象:无需关注具体硬件
包管理:ros节点以包的形式组织起来,每个包由原码文件、配置文件、编译文件等构成
第三方库集成:Open-CV, PCL, Open-NI等
低级设备控制:控制I/O pin, 端口传数据
分布式计算:将计算任务分布到几块计算节点上
代码复用
语言独立:可用python, c++, Lisp
易测试:内建测试框架
扩展
免费
ROS概念$组织等级\left{\begin{aligned}& ros文件系统\& ros计算图\& ros社区\end{aligned}\right.$
ros文件系统:ros文件在硬盘中如何组织
package: ros包是ros框架下的个体单元,包含了:原码、第三方库、配置文件
package manifests: 是一个*.xml文件记录了包的全部细节,例如:名字、描述、依赖
message type: 是一个数据结构,定义*.msg文件中,该文件放在msg文件夹下
service type: 是一个请求/应答 ...
slam
后端状态估计概率解释视觉里程计只有短暂记忆,而我们希望整个运动轨迹在较长时间内都能保持最优的状态。用最新的知识更新较久远的状态。这是个状态估计问题。
状态估计方式\left\{\begin{align*}
&批量式(\mathrm{Batch}): 过去信息+当前信息+未来信息更新状态 \\
&渐进式(\mathrm{Incremental}): 只由过去信息更新状态
\end{align*}\right.假设$t=0$到$t=N$时间内,有位姿$x_0$到$x_N$,并有路标$y_0$,…,$y_M$,运动方程和观测方程为
\begin{equation}
\left\{\begin{aligned}
&\vec{x}_k=f(\vec{x}_{k-1},\vec{u}_k)+\vec{w}_k \\
&\vec{z}_{k,j}=h(\vec{y}_j,\vec{x}_k)+\vec{v}_{k,j}
\end{aligned}\right.\quad\quad k=1,\cdots,N,\quad j=1,\cdots,M.
\end{equa ...
rna_match
RNARNA secondary structure prediction using deeplearning with thermodynamic integrationRNA二级结构方法:
热力学模型—最近临方法
二级结构分解成若干子结构环(hairpin loops, internal loops, bulge loops, base-pair stackings, multi-branch loops, and external loops),累加每个子结构环的自由能,子结构环自由能由实验获取。
动态规划—Zuker计算最小自由能
机器学习
对分解后的子结构训练得分参数
对训练数据过拟合
概率生成stochastic context-free grammars (SCFGs)
混合方法 结合热力学和机器学习 数据包含:1、RNA序列,2、已知的二级结构dot-brancket格式,3、二级结构的自由能, 构成三元组 预测4种折叠分数类型方法:
输入:长度为L的RNA序列,序列元素被编码成d维矢量
UFold: fast and accurate RNA seco ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
g2o
g2o:c++图优化库
g2o提供鲁棒核函数抑制误差特别大的点,g2o::RobustKernelHuber
flask.md
Flask简介
flask是轻量级web开发框架,依赖Jinja2模版引擎和Werkzeug WSGI工具集。
flask是一个内核可以扩展其他应用功能,例如:邮件Flask-Mail, 用户认证Flask-Login, 数据库Flask-SQLAIchemy等。
安装:pip install Flask
Flask常用扩展包:
Flask-SQLaIchemy: 数据库
Flask-script: 插入脚本
Flask-migrate: 管理迁移数据库
Flask-Session: Session存储方式指定
Flask-WTF: 表单
Flask-Mail: 邮件
Flask-Bable: 翻译
Flask-Login: 认证用户
Flask-OpenID: 认证
Flask-RESTful: 开发REST API工具
Flask-Bootstrap: 集成前段Twitter Bootstrap框架
Flask-Moment: 本地化日期和时间
Flask-Admin: 简单而可扩展的管理接口的框架
Web搭建
搭建过程包含了路由,模版,请求,响应等
应用模块:Flask核心 ...
c++知识汇总
数据对齐字节对齐字节对齐是指变量存储首地址是其类型长度的整数倍,例如4字节对齐是存储首地址是4的整数倍0x0000,0x0004,0x0008,0x000C,0x0010等
字节对齐目的提高cpu访问效率以及内存管理,在字节对齐时cpu只需读取一次可以将数据全部提取出来,若字节不对齐要读区数次
字节对齐实现方法在c++定义语句中添加_attribute_((aligned(n)))代码,添加位置可以在原定义语句之前或之后,$n=2^i$, 例如123456789101112131415161718//2字节对齐typedef __attribute__((aligned(2))) struct A{ char a; char b; int c;};//char a占1字节,char b占1字节,int c占4字节且起始地址必须是4的整数倍所以char b和int c之间补2字节,整个结构体的尾后地址也必须是2字节对齐(即2的整数倍地址)//1byte(a) + 1byte(b) + 2byte(变量间补) + 4byte(c) + 0byte(结构体补)//4字节对 ...
姿态检测公式
姿态检测公式
已知图像I维度是w*h, 3D姿态为${P^{3D}k}^K{k=1}$,其中K是图片中人体数目,$P_k^{3D}\in\mathbb{R}^{3\times J}$表示J个身体节点坐标,坐标是相对于盆骨节点(根节点)的。
Stage I 预测:
核心网络+两个分支网络,一个分支预测2D姿态坐标,另一支预测3D姿态编码,核心网络输出图像尺度为$\frac{w}{16}\times\frac{h}{16}$,两个分支网络输出图像尺度为$\frac{w}{8}\times\frac{h}{8}$,且3D分支要引入2D分支中的部分特征
- core network: selecsls net
SelecSLS模型在选择方式上使用短长范围跳跃连接,在模块内部用短范围跳跃连接,在各模块间使用长范围跳跃连接。中间特征数用k表示,最终输出特征数用$n_0$表示,卷积跨步用s表示。长连接中每个后续模块都和第一个模块连接这是为了提升网络中的信息流
一个等级定义为一连串模块它们会输出相同的空间分辨率的特征图
- 2D分支:
预测2D热点图$H=\{H_ ...


