- 博客(41)
- 收藏
- 关注
原创 Sentinel LDK配置记录
硬件加密方案。需要购买主锁和用户锁。用户锁我是用max系列。我的目标是在VMware虚拟机中的ubuntu16.04进行软件功能加密。配置分为windows和linux两个阶段。官方教程。 一开始看不懂1.win阶段安装LDK软件,全英文路径,最好是默认的。Envelope 是外壳工具,就是将可执行程序,lib so等库,直接进行加密的工具。EMS是用户锁管理软件,可以在里面添加产品...
2019-02-26 20:47:41
3840
原创 点云cell的特征向量和特征值分析
在ndt中会定义一个ndtcell的尺寸,初始化时会计算每个cell的中的均值mean和方差cov。有了均值和方差以后就可以计算特征向量和特征值。这儿获得的33的特征向量和31的特征值,分别代表旋转和每个轴的分布离散情况。错!这儿的3*3的特征向量很有可能不是旋转矩阵。因为是直接通过对cov进行分解得到。例如0 0 10 1 01 0 0虽然它乘以他的转置是单位阵,但是他不是右手...
2019-01-05 15:22:22
2221
原创 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
1873
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
1221
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
598
翻译 ADI的IMU参数
(https://img-blog.youkuaiyun.com/20180514133348115?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA1NjY0MTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) “`
2018-05-14 13:34:20
1422
转载 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
1806
原创 linux内核问题
安装好ubuntu后会出现无线网卡没有,实际上是你的电脑太新,对应的linux内核太久,没有适配相关硬件,将linux内核升级就能解决。我的AERO15遇到的新问题是从4.4.0升级到4.10.0(其他版本也试了),使用从linux官网下载deb包命令行用dpkg的方式升级,虽然可以升上去,但是开机会卡死,关机会卡死。 更奇怪的是跑基于pcl的激光定位算法,实时性会有问题,加载rviz后(有很多点
2017-11-01 18:55:40
495
原创 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
803
1
原创 ros 自定义数据格式 头文件的问题
ros中可以自定义数据,在cpp或者py中可以直接包含头文件,但是必须先定义数据,catkin_make以后才可以在程序中包含相关头文件! 比如写好一个工程,其中有几个自己定义的数据,将src下的工程代码拷贝到其他计算机上,由于之前没有编译过,直接编译会报错,这时候就把CmakeLists里的程序先去除,单独编译一次,之后再添加回去就好了。
2017-08-04 09:14:09
2373
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
853
原创 激光雷达 imu 同步
基于vlp16和xsens mti300 以及外部硬件实现激光点云初步重建。 能去除高速旋转带来的影响。 视频传送门
2017-08-02 20:33:17
8709
3
原创 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
3505
原创 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
469
原创 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
1306
转载 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
1061
原创 基于arucoTag的简单slam
这只是一次简单的尝试,不过收获还是挺多的。 首先是地面上有一些tag,用摄像头去拍摄,每次只拍到部分的tag,拍多次。 因为tag是唯一的,而且尺度已知,可以直接计算摄像头的RT,因此可以套用slam框架。基本思路如下: 1.初始帧将map坐标系远点设为摄像头初始位置,将初始帧看到的tag的四个角点放入map中。 2.之后的帧先识别当前帧里的tag,分为两类,一类是map中已有的,一类是ma
2017-01-23 11:09:57
4468
4
原创 opencv aruco参数分析
aruco.cpp 在287行有一个DetectInitialCandidatesParallel 在这里面有并行操作,用于对图像进行二值化,之后检测二值化后的图像中是否存在marker。其循环次数直接和adaptiveThreshWinSizeMin adaptiveThreshWinSizeMax adaptiveThreshWinSizeStep相关。默认情况下分别是3 23 10,也
2017-01-10 20:19:04
3416
原创 不同摄像头的精度测试
在视觉定位时一个好的摄像头还是很重要的,突发奇想,对于最基础的角点的检测是否够稳定呢。 设计了一个实验,使用不同摄像头摄像头在大致相同的位置拍摄arucotag,拍摄时保持相对静止。将tag的四个边缘角点保存下来,每个摄像头都拍摄足够长的视频。 实验使用了三种摄像头: 1.罗技270网络摄像头 2.大黄蜂摄像头 3.普通全局曝光国产工业摄像头最后的结果很让我惊讶,首先罗技这种普通摄像头方差
2017-01-10 20:03:24
3848
原创 多版本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
4375
原创 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
3935
3
原创 g2o std::bad_typeid EdgeSE3PointXYZ
这真是一个很坑的bug,反正作者没有修复。 解决办法:https://github.com/RainerKuemmerle/g2o/issues/34 需要添加摄像头 并且必须增加一句e->setParameterId(0,0);任何其他的数字都不行!
2016-12-22 20:38:17
1135
1
原创 g2o简单测试
开始研究g2o,记录一些过程。 首先使用create_sphere可以生成一个数据文件。然后使用g2o_viewer就可以载入这个文件。 载入以后可以进行优化,优化后是一个球体。 这里g2o_viewer不是万能的可视化窗口,有许多已存在在g2o工程里的数据类型是不知显示的,比如VertexSE3Expmap因此如果希望使用g2o_viewer*来方便调试,有两个办法,第一个办法就是老老实实的
2016-12-22 13:31:14
4329
转载 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
1894
原创 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
3110
原创 简单坐标变换 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
919
原创 cpp 外部暴力访问类内私有变量
这也是突发奇想,试验了一下发现真的可以。直接用地址访问。 这样所谓的密码哪怕是private,也是容易被访问的了。。#include <iostream>using namespace std;class A{public: A() { num=10; num2 = 100; } int get() { c
2016-11-01 10:40:34
674
原创 cartographer
记录一点小的问题根据官网要求安装的是gmock官网安装过程,但是make的时候是需要gtest的。 我前几天编译cartographer是能成功的,最近自己在学习gtest,不知道改错了什么,不管怎么编译cartographer都不能成功。遇到两个问题1.CMP0026在下载github上的代码后,直接cmake,因为我的cmake版本是3.5,会有问题。有一个warning就是CMP0026。按
2016-10-27 11:06:49
4696
原创 cartogapher 源码分析 (transform)
分析子文件夹transform的内容proto首先打开.proto去查看依赖的数据结构,可以发现google就是爱造轮子,连基本的vector和四元数也自定义。主要分为三种数据 变量 用途 Vector 表示移动 Quaternion 表示旋转 Rigid 封装了移动和旋转所有坐标系都是右手坐标系,x前,y左,z上。和ros一样。eigen库和这个刚好相反(这个不太
2016-10-24 10:08:31
4833
原创 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
1473
原创 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
3006
原创 大楼轮廓 算法解析
题目来源 点击打开链接这道题经过好多次修改,,最主要是时间复杂度问题。下面讲讲思路:第一个重要转化是将所有矩形转变为向上跳变和向下跳变两种情况。之后对所有的上跳变和下跳变排序。用vector。需要另一个容器用来维护当前的高度。当前重叠高度height必须是一个可检索的存储方式。height一开始使用vector 但是涉及到非常多的插入和删除操作,所以
2016-09-29 21:27:09
1733
翻译 A*算法 学习记录
从某个国外的网站上看到了一篇介绍路径搜索算法的文章,使用python3编写,非常优秀。我使用的是python2,对代码稍作修改即可实现。作者还用C++和C#编写。该文章源于一个游戏塔防的策略。点击打开链接动画演示了不同墙壁下,图上随机生成的粒子点如何经过最短的路径到达目标位置。实际上每个粒子点并不是意义计算如何到达目标,而是当用户改变地图或者改变目标点位置后,重新计算了图上每个位置的最短运
2016-09-25 22:38:12
507
原创 ubuntu代码放到vs下出错
ubuntu下有一些编辑器创建的文本文件编码格式和win下面的vs是不相容的,尤其是有些文本有中文。因此在vs中要把文件格式进行转码。使用Notepad 以UTF-8-BOM格式编码即可。否则vs编译时会出现莫名其妙的错误!!
2016-08-03 22:21:22
508
原创 python 串口效率测试
先问一个问题。项目开发,串口使用python写好呢还是C++写好?我写了一个小程序,想测试一下电脑串口之间的极限传递效率。电脑上插着两个usb转串口,分别RXD接TXD,.然后启动两个python程序,分别开启串口1,串口2,.波特率115200,超时为1秒。串口1等待串口2的数据,一旦接收到数据就回发给串口2。串口2等待串口2的数据,一旦接收到数据就回发给串口1。
2016-06-26 20:21:07
3828
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
1833
原创 pixhawk 四旋翼笔记1
开始入坑pixhawk。讲讲遇到的坑。(见解可能有误,欢迎拍砖)1.一开始并不清楚pixhawk飞控是什么,后来发现是一个开源硬件平台,而且有两大开源飞控代码可以在其上运行。一个出自APM开源社区点击打开链接,一个出自苏黎世理工点击打开链接。APM的代码已有多年的积累,其稳定性较好,但由于历史原因,导致其原有的硬件平台性能已经被榨干,于是APM社区人员将其移植到pixhawk的硬件平台上继
2016-03-01 20:02:11
4039
原创 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
10845
2
原创 基于matlab标定数据,使用opencv实现双目立体摄像头的标定(源代码)
本文给出了先用matlab标定获得立体参数,再放入opencv中实现双目摄像头矫正。并给出所有源代码
2015-03-09 08:20:50
10225
7
原创 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
2352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人