旋转矩阵和欧拉角之间的正向转换关系比较好推理,而逆向变换就显得不是那么容易了。这篇博客介绍由旋转矩阵计算欧拉角的方法,参考了一篇Paper:Computing Euler angles from a rotation matrix。Paper本身介绍的还是比较清楚的,这篇博客最后附了转换计算的代码,包括文章作者提供的Matlab版本和博主提供的C/C++版本,希望能有用。…

上一篇博客我们完成了一个六行的SVM,对python中数据和估计器等概念有了认识,这篇博客将更加详细的对sklearn的训练进行解释,同时也按照官网例程运行KNN和SVM等具有代表性的demo。

这节笔记对应的官网教程为: Statistical learning: the setting and the estimator object in scikit-learn 和 Supervised learning: predicting an output variable from high-dimensional observations

–官网文档– –官网教程–

在上一篇博客我们搭起了环境,这篇博客将以最简介的代码快速上手sklearn。

这节笔记摘自官网Quick-Start的教程:An introduction to machine learning with scikit-learn。比起官网教程,这篇博客首先会概述基础概念,帮助快速理解和上手。话不多说,开始吧。

–官网文档– –官网教程–

正则表达式被广泛用于字符串处理,前段时间由于网站改版,没有做好网址重定向,导致用户访问返回404,于是学了一下正则表达式(淘宝正则表达式要20块一条,好吧,于是我自己动手了)。这两天学Python,学到正则表达式的时候,发现一篇简明的正则表达式教程,虽然只是基础部分,但是记忆和理解非常方便,不由的做了下学习笔记,建议访问原网站内容进行学习。…

ROS:Robot Operating System

ROS是开源的机器人次级操作系统,其设计的首要目标是在机器人研发领域提高代码复用率,是一种分布式处理框架(Nodes)。它提供类似于操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能执行、程序间的消息传递、程序发行包管理等。

ROS提供多语言支持,利用简单的、语言无关的接口定义消息传送。ROS还利用了很多已经存在于开源项目的代码,如OpenCV中借鉴视觉算法、从OpenRAVE借鉴了规划算法等。DJI、iRobot等机器人公司都在使用ROS。…

随机采样一致(ransac)算法是一种随机性的参数估计算法,利用Ransac可以实现采样一致性初始配准(SAC-IA)。采样一致性初始配准(SAC-IA)给出一个初始预估的刚性(Rigid)变换矩阵,为更精确的位姿估计算法(如ICP等)提供初始配准状态。

PCL点云库中封装了丰富的点云数据处理函数,利用PCL实现初始点云配准较为容易,于是博主就也实验了一下,效果还不错,就是时间耗费的问题,大概2000个点,迭代2000次,花了5s,实在是太慢了,代码托管在github,比较初级,欢迎指教。…

点云滤波是点云处理的基本步骤,也是进行high level三维图像处理之前必要的预处理。其类似于信号处理中的滤波,单实现手段却和信号处理不一样,主要有以下几方面原因:

  1. 点云不是函数,无法建立横纵坐标之间的关系
  2. 点云在空间中是离散的,不像图像信号有明显的定义域
  3. 点云在空间中分布广泛,建立点与点之间的关系较为困难
  4. 点云滤波依赖于集合信息而非数值信息