自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Sentinel LDK配置记录

硬件加密方案。需要购买主锁和用户锁。用户锁我是用max系列。我的目标是在VMware虚拟机中的ubuntu16.04进行软件功能加密。配置分为windows和linux两个阶段。官方教程。 一开始看不懂1.win阶段安装LDK软件,全英文路径,最好是默认的。Envelope 是外壳工具,就是将可执行程序,lib so等库,直接进行加密的工具。EMS是用户锁管理软件,可以在里面添加产品...

2019-02-26 20:47:41 3602

原创 点云cell的特征向量和特征值分析

在ndt中会定义一个ndtcell的尺寸,初始化时会计算每个cell的中的均值mean和方差cov。有了均值和方差以后就可以计算特征向量和特征值。这儿获得的33的特征向量和31的特征值,分别代表旋转和每个轴的分布离散情况。错!这儿的3*3的特征向量很有可能不是旋转矩阵。因为是直接通过对cov进行分解得到。例如0 0 10 1 01 0 0虽然它乘以他的转置是单位阵,但是他不是右手...

2019-01-05 15:22:22 2107

原创 Velodyne激光距离测试

Velodyne激光距离测试在室内测试了VLP16和HDL-32E两种激光雷达的数据输出。根据官方手册25页左右给出的说明,激光探头是有安装误差和偏置的,因此想对偏置进行测试。63-9113 REV J MANUAL,USER’S,HDL-32E.pdfCoordinate Calculation Algorithm Sample CodeAfter removing all the c...

2018-10-20 19:53:40 1804 1

原创 xsens 记录 linux

环境x86 linux rosxsens 有USB模式和232模式在USB模式下带宽比较高,但是在使用ros录数据时,当有其他激光 相机等数据在录制时,会导致imu数据包的录制时间不稳定。在232模式下(注意 不是ttl),虽然imu能配置为460800甚至更高波特率,但ethz的ros的驱动只能支持最大230400波特率,而且数据输出的频率 100Hz ,都扛不住。基本上232模式下...

2018-08-31 14:52:09 1099 3

原创 记录一个python的import问题

在普通用户模式下可以正常启动的python程序,在su模式下无法启动。导入出错。 这出现在编写测试通过的python程序,在rc.local开机自启时出现无法启动的现象。 首先rc.local默认就是用su模式下启动的(和sudo权限启动有点不一样)。 某个test.py中包含第三方库例如 import requests在普通用户模式下: sudo python test.py 是...

2018-05-27 08:23:47 541

翻译 ADI的IMU参数

(https://img-blog.csdn.net/20180514133348115?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA1NjY0MTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) “`

2018-05-14 13:34:20 1353

转载 ubutnu 自动登出 logout 所有程序关闭

转自这里Similar problem happened to my friend because somehow he corrupted the .Xautority file.Log into a tty (Control+Alt+F6) and after typing your username and password:sudo rm -v .Xauthority.Xa

2018-01-10 16:30:05 1674

原创 linux内核问题

安装好ubuntu后会出现无线网卡没有,实际上是你的电脑太新,对应的linux内核太久,没有适配相关硬件,将linux内核升级就能解决。我的AERO15遇到的新问题是从4.4.0升级到4.10.0(其他版本也试了),使用从linux官网下载deb包命令行用dpkg的方式升级,虽然可以升上去,但是开机会卡死,关机会卡死。 更奇怪的是跑基于pcl的激光定位算法,实时性会有问题,加载rviz后(有很多点

2017-11-01 18:55:40 419

原创 ros 段错误 pluginlib

一个坑。。 不论ubuntu版本和ros版本应该都会出现。我的是16.04+kinetic。 在使用pluginlib时,会报段错误。因为自己编译了boost库并且sudo make install,和ros自带的boost产生冲突因为在安装ros时会自动安装boost,很多ros的可执行底层驱动也是依赖他自己装的boost的,如果我们自己编译boost并安装,是有可能和ros自带的冲突。解决办

2017-09-14 10:01:14 601 1

原创 ros 自定义数据格式 头文件的问题

ros中可以自定义数据,在cpp或者py中可以直接包含头文件,但是必须先定义数据,catkin_make以后才可以在程序中包含相关头文件! 比如写好一个工程,其中有几个自己定义的数据,将src下的工程代码拷贝到其他计算机上,由于之前没有编译过,直接编译会报错,这时候就把CmakeLists里的程序先去除,单独编译一次,之后再添加回去就好了。

2017-08-04 09:14:09 2320 2

原创 ubuntu装nvidia驱动,CUDA的血泪

必须在非图形界面安装!以前几台笔记本都是在图形界面装得,没啥问题。这台aero15很奇怪。 重装ubuntu16.04后第一时间装上本地deb。在命令行中有nvidia-smi,但是装了一些其他的东西(zed2.1 opencv3.2 3.1 boost1.64 ceres),重启几次以后这个命令就没了!!就没了!!后来我关闭了UEFI。需要通过设置密码来实现。 之后sudo apt-get a

2017-08-03 19:31:41 814

原创 激光雷达 imu 同步

基于vlp16和xsens mti300 以及外部硬件实现激光点云初步重建。 能去除高速旋转带来的影响。 视频传送门

2017-08-02 20:33:17 8500 6

原创 g2o小记

1耗时问题在g2o中有许多Solver可以选择。 实测发现Dense非常非常的慢,慢到不能用。 后面改成Cholmod就非常快。 在使用Cholmod时还需要在cmakelists里加一个lib的依赖 cholmod 这个cmakelists比较乱,可以做很多精简,这里仅仅做个记录cmake_minimum_required( VERSION 2.8 )cmake_policy(VERSI

2017-06-07 21:41:34 3408

原创 pcl小技巧

1.保存数据使用bin对比测试,将一帧vlp16激光雷达的数据存下来大约是855KB,bin格式是320KB。 分别对应//普通格式ASSICpcl::PCDWriter writer;writer.write(s_pcd,laserCloudIn);//bin格式pcl::io::savePCDFileBinary(s_pcd, *cloud);最大的不同在于读取速度。 实测assic的

2017-06-07 10:24:30 436

原创 qt5.7+opencv的一个小坑 highgui

问题描述: 在opencv程序中调用highgui时,在命令行中使用cmake make一切正常,在qt5.7中出现问题。分析 在linux下要自己编译opencv 在编译opencv时可以选择withQT的编译选项,这样highgui会默认使用qt的gui。 碰巧我的环境里有qt5.5 qt5.7,其中qt5.7又碰巧当时为了能够调试ros使用的是下面的安装方式(据说按照官方方式不会出现这

2017-04-12 22:16:16 1237

转载 ros qt4.7 ubuntu16.04

转自教程 ubuntu16.04sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial sudo add-apt-repository ppa:levi-armstrong/ppa sudo apt-get update && sudo apt-get install qt57creator-plugin-ros安装完毕

2017-03-30 20:19:21 1025

原创 基于arucoTag的简单slam

这只是一次简单的尝试,不过收获还是挺多的。 首先是地面上有一些tag,用摄像头去拍摄,每次只拍到部分的tag,拍多次。 因为tag是唯一的,而且尺度已知,可以直接计算摄像头的RT,因此可以套用slam框架。基本思路如下: 1.初始帧将map坐标系远点设为摄像头初始位置,将初始帧看到的tag的四个角点放入map中。 2.之后的帧先识别当前帧里的tag,分为两类,一类是map中已有的,一类是ma

2017-01-23 11:09:57 4265 4

原创 opencv aruco参数分析

aruco.cpp 在287行有一个DetectInitialCandidatesParallel 在这里面有并行操作,用于对图像进行二值化,之后检测二值化后的图像中是否存在marker。其循环次数直接和adaptiveThreshWinSizeMin adaptiveThreshWinSizeMax adaptiveThreshWinSizeStep相关。默认情况下分别是3 23 10,也

2017-01-10 20:19:04 3287 1

原创 不同摄像头的精度测试

在视觉定位时一个好的摄像头还是很重要的,突发奇想,对于最基础的角点的检测是否够稳定呢。 设计了一个实验,使用不同摄像头摄像头在大致相同的位置拍摄arucotag,拍摄时保持相对静止。将tag的四个边缘角点保存下来,每个摄像头都拍摄足够长的视频。 实验使用了三种摄像头: 1.罗技270网络摄像头 2.大黄蜂摄像头 3.普通全局曝光国产工业摄像头最后的结果很让我惊讶,首先罗技这种普通摄像头方差

2017-01-10 20:03:24 3697

原创 多版本opencv编译配置

转自网址修改cmake_install_prefix, opencv3.1 安装目录/usr/local/opencv3, opencv2.4 安装目录/usr/local/opencv2, 在cmake-gui中可以搜索cmake_install_prefix,修改。 注意如果准备切换opencv版本,一定不要选择默认路径,否则,链接opencv的时候会因为多版本的lib发生链接冲突。跳过

2017-01-10 19:52:58 4312

原创 g2o 简单测试1

记录一个遇到的问题。 我的程序里只有两种类型的节点和一种类型的边。 节点:VertexPointXYZ VertexSE3 边:EdgeSE3PointXYZ当我使用 BlockSolver_6_3 这个solver时 一旦执行 optimizer.optimize(10); 程序就崩溃。 按理说 BlockSolver_6_3 的意思是 6代表pose的自由度 3代表landmark

2016-12-24 21:15:21 3834 3

原创 g2o std::bad_typeid EdgeSE3PointXYZ

这真是一个很坑的bug,反正作者没有修复。 解决办法:https://github.com/RainerKuemmerle/g2o/issues/34 需要添加摄像头 并且必须增加一句e->setParameterId(0,0);任何其他的数字都不行!

2016-12-22 20:38:17 1055

原创 g2o简单测试

开始研究g2o,记录一些过程。 首先使用create_sphere可以生成一个数据文件。然后使用g2o_viewer就可以载入这个文件。 载入以后可以进行优化,优化后是一个球体。 这里g2o_viewer不是万能的可视化窗口,有许多已存在在g2o工程里的数据类型是不知显示的,比如VertexSE3Expmap因此如果希望使用g2o_viewer*来方便调试,有两个办法,第一个办法就是老老实实的

2016-12-22 13:31:14 4240

转载 ubuntu indicator-multiload 配置

ubuntu 下面查看cpu 网络 内存占用的小插件安装sudo add-apt-repository ppa:indicator-multiload/stable-dailysudo apt-get updatesudo apt-get install indicator-multiload开机自启 在/etc/rc.local最后加上一句indicator-multiload再介绍一个神器

2016-11-26 09:27:28 1839 1

原创 opencv3.1+opencv_contrib 编译出错笔记

在编译时遇到了vtk的问题。我之前自己下载了最新的vtk7,自己编译安装了。里面有一个选项和之前的选项不同,默认是opengl2,然后opencv在关联vtk时查找的时vtk里面的opengl,并不是opengl2,因此需要修改opencv的一个cmake文件。 参考网址这里wget https://github.com/Itseez/opencv/archive/3.1.0.zipwget h

2016-11-25 12:08:02 3042

原创 简单坐标变换 ch3 (7)

问题描述机器人一号和二号,分别在世界坐标系中。 一号的位姿q1=[0.35,0.2,0.3,0.1]\boldsymbol{q_1}=[0.35, 0.2, 0.3, 0.1], t1=[0.3,0.1,0.1]T\boldsymbol{t_1}=[0.3, 0.1, 0.1]^T。 二号的位姿q2=[−0.5,0.4,−0.1,0.2]\boldsymbol{q_2}=[-0.5,0.4, -

2016-11-19 13:18:21 871 1

原创 cpp 外部暴力访问类内私有变量

这也是突发奇想,试验了一下发现真的可以。直接用地址访问。 这样所谓的密码哪怕是private,也是容易被访问的了。。#include <iostream>using namespace std;class A{public: A() { num=10; num2 = 100; } int get() { c

2016-11-01 10:40:34 625

原创 cartographer

记录一点小的问题根据官网要求安装的是gmock官网安装过程,但是make的时候是需要gtest的。 我前几天编译cartographer是能成功的,最近自己在学习gtest,不知道改错了什么,不管怎么编译cartographer都不能成功。遇到两个问题1.CMP0026在下载github上的代码后,直接cmake,因为我的cmake版本是3.5,会有问题。有一个warning就是CMP0026。按

2016-10-27 11:06:49 4625

原创 cartogapher 源码分析 (transform)

分析子文件夹transform的内容proto首先打开.proto去查看依赖的数据结构,可以发现google就是爱造轮子,连基本的vector和四元数也自定义。主要分为三种数据 变量 用途 Vector 表示移动 Quaternion 表示旋转 Rigid 封装了移动和旋转所有坐标系都是右手坐标系,x前,y左,z上。和ros一样。eigen库和这个刚好相反(这个不太

2016-10-24 10:08:31 4753

原创 protocol 测试

脑洞大开一下,想比较一下rosbag和protocol谁的存储性能好一些。最后的结果是protocol小胜。实验环境是在ros下,有一个实验用的bag,其中有发布scan。 分别用rosbag和自己写的ros节点,使用proto转存激光雷达的数据。最后rosbag记录下的文件是157.9M  proto是154.0M。下面是工程代码#include "ros/ros.h"

2016-10-18 22:28:21 1341

原创 google protocol学习

因为要学习google开源的cartographer,其中涉及到谷歌的一个数据读取和存储的部件(类似于xml,性能远超xml)。在ubuntu下,因为先按照cartographer的教程来,所以一不小心已经安装了protocol。点击打开链接关键语句sudo apt-get install libprotobuf-dev protobuf-compiler 下面进入google p

2016-10-17 20:56:49 2908

原创 大楼轮廓 算法解析

题目来源 点击打开链接这道题经过好多次修改,,最主要是时间复杂度问题。下面讲讲思路:第一个重要转化是将所有矩形转变为向上跳变和向下跳变两种情况。之后对所有的上跳变和下跳变排序。用vector。需要另一个容器用来维护当前的高度。当前重叠高度height必须是一个可检索的存储方式。height一开始使用vector 但是涉及到非常多的插入和删除操作,所以

2016-09-29 21:27:09 1689

翻译 A*算法 学习记录

从某个国外的网站上看到了一篇介绍路径搜索算法的文章,使用python3编写,非常优秀。我使用的是python2,对代码稍作修改即可实现。作者还用C++和C#编写。该文章源于一个游戏塔防的策略。点击打开链接动画演示了不同墙壁下,图上随机生成的粒子点如何经过最短的路径到达目标位置。实际上每个粒子点并不是意义计算如何到达目标,而是当用户改变地图或者改变目标点位置后,重新计算了图上每个位置的最短运

2016-09-25 22:38:12 463

原创 ubuntu代码放到vs下出错

ubuntu下有一些编辑器创建的文本文件编码格式和win下面的vs是不相容的,尤其是有些文本有中文。因此在vs中要把文件格式进行转码。使用Notepad 以UTF-8-BOM格式编码即可。否则vs编译时会出现莫名其妙的错误!!

2016-08-03 22:21:22 461

原创 python 串口效率测试

先问一个问题。项目开发,串口使用python写好呢还是C++写好?我写了一个小程序,想测试一下电脑串口之间的极限传递效率。电脑上插着两个usb转串口,分别RXD接TXD,.然后启动两个python程序,分别开启串口1,串口2,.波特率115200,超时为1秒。串口1等待串口2的数据,一旦接收到数据就回发给串口2。串口2等待串口2的数据,一旦接收到数据就回发给串口1。

2016-06-26 20:21:07 3678 1

原创 ROS Python No such file or directory

记录一个很无语的bug。问题描述:在ros的catkin工程中建立了一个项目A。之前我在windows下新建了一个python的程序(test.py),并且调试通过,放入项目A中。在test.py目录下使用python test.py是可以运行程序的,而且输入rosrun A te之后按Tab也是可以自动补全变成rosrun A test.py。但是使用rosrun会报错No such

2016-06-11 14:04:37 1755 4

原创 pixhawk 四旋翼笔记1

开始入坑pixhawk。讲讲遇到的坑。(见解可能有误,欢迎拍砖)1.一开始并不清楚pixhawk飞控是什么,后来发现是一个开源硬件平台,而且有两大开源飞控代码可以在其上运行。一个出自APM开源社区点击打开链接,一个出自苏黎世理工点击打开链接。APM的代码已有多年的积累,其稳定性较好,但由于历史原因,导致其原有的硬件平台性能已经被榨干,于是APM社区人员将其移植到pixhawk的硬件平台上继

2016-03-01 20:02:11 3920 3

原创 SVO: Fast Semi-Direct Monocular Visual Odometry 代码测试

我在一个项目中要用到单目视觉里程计,自然想到的是大名鼎鼎的libviso以及SVO了。    libviso是在x86/64的intel芯片下的算法,兼容ubuntu以及win,具有双目机单目两种视觉里程计。但是它不适用于ARM Linux,因为底层用到了SSE指令集。相关主页www.cvlibs.net。真的是计算机视觉的大牛了。  SVO是2014年在IEEE上的一片文

2015-08-01 08:13:45 10683 12

原创 基于matlab标定数据,使用opencv实现双目立体摄像头的标定(源代码)

本文给出了先用matlab标定获得立体参数,再放入opencv中实现双目摄像头矫正。并给出所有源代码

2015-03-09 08:20:50 10105 23

原创 jetson tk1 surf houghlines opencv 性能测试

今天和学长一起测试了一下nvidia的jetson tk1的性能在jetson上装了opencv,不是opencv4Tegra,而是按照opencv官网的方式安装的。因为要用到surf,而opencv4Tegra的编译以后不会生成nonfree,于是无法调用surf和sift,所以才使用普通的opencv包安装。对比的GPU是我的笔记本。我笔记本配置:i7-2670QM 四核

2015-01-07 09:41:41 2291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除