- 博客(157)
- 资源 (1)
- 论坛 (2)
- 收藏
- 关注
原创 cruise-automation Webviz 简介
Our initial focus was to build a suite of these panels that corresponded to existing open source tools like rviz, rqt console, rqt_runtime_monitor, rostopic echo, and rqt_plot. With further developm...
2020-04-05 17:11:13
809
5
原创 ros下使用google gflags
不同ubuntu版本对应不同的gflags版本利用sudo apt install libgflags-dev命令在不同ubuntu版本上安装的gflags的版本不同,ubuntu 16.04默认的版本为2.1,而ubuntu 18.04的版本为2.2。2.1和2.2版本在ros下的使用区别:2.1 cmake中通过find_package找不到gflags,而2.2可以找到。find_pa...
2020-04-01 17:08:57
235
原创 坐标变换(8)—复特征值与旋转
1. 共轭复特征值设AAA是n×nn\times nn×n的实矩阵,Ax‾=Aˉxˉ=Axˉ\overline{Ax}=\bar{A}\bar{x}=A\bar{x}Ax=Aˉxˉ=Axˉ假设λ\lambdaλ是AAA的特征值,xxx为λ\lambdaλ对应的特征向量,则λˉ\bar{\lambda}λˉ同样是AAA的特征值,而xˉ\bar{x}xˉ是对应的特征向量,Axˉ=Ax‾=λ...
2020-04-01 12:13:10
421
原创 禾赛+速腾 vs Velodyne+Ouster
本文只是对论文内容的简要总结,不对不同厂商激光雷达的好坏进行评价。1. LIBRE最近名古屋大学(Nagoya University)和autoware一起发表了一篇关于激光雷达数据集相关的论文《LIBRE: The Multiple 3D LiDAR Dataset》,数据集地址https://sites.google.com/g.sp.m.is.nagoya-u.ac.jp/libre...
2020-03-31 12:10:40
803
1
原创 坐标变换(7)—旋转矩阵和特征向量
I am still waiting for the day I’ll use mathematics integration in real life.— Derrick Obedgiu1. 特征向量在给定一个线性变换TTT,作用于一个非零的向量vvv,没有对vvv进行旋转,仅仅是对vvv进行了λ\lambdaλ倍的拉伸,如下式所示,T(v)=λv(1)T(v)=\lambda v...
2020-03-26 09:28:04
1833
原创 坐标变换(6)—齐次变换矩阵
前面的文章主要介绍了旋转矩阵,对于刚体的运动,除了旋转外还有平移。在机器人及自动驾驶中,经常用其次变换矩阵将旋转和平移进行统一。 前面的文章也介绍过其次变换矩阵,本文算是一个总结。1. SE(3)将旋转矩阵和平移向量写在同一个矩阵中,形成的4×44\times44×4矩阵,称为special Euclidean group,即SE(3)SE(3)SE(3),T=[Rp01]=[r11r12r...
2020-03-26 09:27:14
534
原创 坐标变换(5)—用旋转轴和旋转角表示旋转
任何旋转,都可以用一个旋转轴ω^\hat \omegaω^和一个旋转角θ\thetaθ来描述。1. 坐标系的线速度和角速度如上图,在旋转的刚体上,附加一个body frame{b}\{b\}{b},记为{x^,y^,z^}\{\hat{x},\hat{y},\hat{z}\}{x^,y^,z^}。对于三个轴而言,绕着ω^\hat \omegaω^旋转的轨迹为圆。当然,上述坐标轴{x^,y^...
2020-03-26 09:26:20
1108
原创 坐标变换(4)—旋转矩阵
1. 群群(Group)是一种集合加上一种运算的代数结构。我们把集合记作AAA,运算记作⋅\cdot⋅, 那么群可以记作G=(A,⋅)G = (A, ·)G=(A,⋅)。群要求这个运算满足以下几个条件:封闭性: ∀a1,a2∈A,a1⋅a2∈A\forall a_1, a_2 \in A, a_1\cdot a_2 \in A∀a1,a2∈A,a1⋅a2∈A.结合律: ∀a1,a2...
2020-03-26 09:25:09
637
原创 坐标变换(3)—同一坐标系下的变换
除了不同坐标系之间点的坐标变换,在同一坐标系内也存在对点的变换操作,例如平移,旋转等。1. 平移在同一坐标系下,平移操作将空间中一个点沿着一个已知的矢量方向移动一定的距离,如下图所示,将AP1^{A}P_{1}AP1沿着AQ^{A}QAQ进行平移得到AP2^{A}P_{2}AP2易得,AP2=AP1+AQ^{A}P_{2}=^{A}P_{1}+^{A}QAP2=AP1+AQ...
2020-03-26 09:23:45
354
原创 坐标变换(2)—不同坐标系下的变换
如下图所示,在自动驾驶车辆上会存在大量冗余的传感器,例如轮速传感器、激光雷达,毫米波雷达,摄像头,超声波雷达,GPS,IMU等。不同传感器对同一物体的测量原始结果都是在自身坐标下,所以首先我们需要对多传感器就行标定(即获得不同坐标系之间的变换关系,多传感器的标定是个非常复杂且困难的问题,这里先不介绍),将所有传感器的输出统一到一个坐标系下。本文主要介绍不同坐标系之间变换的原理,在这里我们采用一...
2020-03-26 09:19:51
983
原创 坐标变换(1)—向量和坐标系
1. 标量在介绍向量之前,有必要介绍一下标量(scalar),标量是一个数字,只有大小,没有方向(不过有正负)。例如温度,重量等。2. 向量向量(vector)是多个数字组成的列表。nnn个有次序的数x1,x2,⋯ ,xnx_1,x_2,\cdots,x_nx1,x2,⋯,xn所组成的数组列表称为nnn维向量。向量可以有两种方式去描述:空间中的一个点,而有次序的数字可以确定点在空...
2020-03-26 09:17:18
1607
原创 解决rosdep init 和 rosdep update出错
在安装ros时,执行rosdep命令时会出现超时或者连接被拒绝的错误。例如下面的连接超时,就是因为国内网络的原因,ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]: <urlopen error timed o...
2020-01-07 15:06:50
1884
原创 deepin 15.11 安装ROS Melodic
deepin默认对ros的支持应该是一般,所以如果要使用ROS,最好还是从源码去编译,下载完melodic-desktop-full的源码后,直接编译, 其实和apt 安装制作好的deb包是一样的。下面的安装步骤主要参考了官方的从源码安装教程,不过由于lsb_release -sc 等因为发行版的不同,有些命令需要修改。ROS_OS_OVERRIDE环境变量export ROS_OS_OVER...
2019-09-22 12:00:18
1991
5
原创 deepin 15.11 安装nvidia driver和cuda 10
最近看新闻华为的笔记本在适配deepin系统,所以特地安装试玩,确实比ubuntu漂亮些,且适配了大量常用应用,感觉可以不用切windows了。由于要用显卡开发deep learning相关应用,所以首先得安装闭源驱动和cuda,下面是具体过程(dell G7,intel nvidia双显卡,如果是单nvidia显卡可能步骤略有不同,自己斟酌)。install nvidia driver禁...
2019-09-22 11:17:43
14536
12
原创 基于yolov3的红绿灯识别
知乎原文。You only look once (YOLO) is a state-of-the-art, real-time objectdetection system. On a Pascal Titan X it processes images at 30 FPSand has a mAP of 57.9% on COCO test-dev.Yolo使用c和cuda实现...
2019-05-29 15:34:08
5827
24
原创 PCA原理补充
PCA(Principal Component Analysis)是一种常用的数据分析方法。前面转了一篇关于PCA原理的文章,其中有些部分写的不是很清晰,因此做一个补充。方差和协方差下图是一个正态分布,均值和方差提供了对数据在特征空间的分布进行衡量的手段。如图所示,大部分的数据都分布在μ±3σ\mu\pm3\sigmaμ±3σ区间中。而方差的计算公式如下,σ(x,x)=E[(x−E(x)...
2019-05-19 18:27:39
168
转载 主成分分析
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。数据的向量表示及降维问题一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店2012年全年的流量及交易情况可以看成一组记录的集合,其中每一天的数据是一条记录,格式如下:(日期...
2019-05-19 18:22:18
225
原创 linux下重编译aria2c
aria2c详细配置可参考Aria2打造属于自己的下载神器,本文主要介绍,linux下的aria2c编译,破除线程限制aria2c开机自启动破解线程限制测试环境:ubuntu 16.04 x86_64,下载代码git clone https://github.com/aria2/aria2.git代码修改OptionHandlerFactory.cc,左边是修改过的代...
2019-04-12 18:52:17
638
原创 函数矩阵对矩阵求导
dFdX=[∂F∂ξ11∂F∂ξ12…∂F∂ξ1n⋮⋮⋮∂F∂ξn1∂F∂ξn2…∂F∂ξnn]\dfrac {d\mathbf{F}}{d\mathbf{X}}=\begin{bmatrix}\dfrac {\partial F}{\partial \xi_{11}} &amp;amp;amp;amp; \dfrac {\partial F}{\partial \xi_{12}} &amp;amp;amp;amp; \ld...
2019-03-12 14:40:33
8857
原创 反向传播(Back Propagation)
在利用梯度下降法对神经网络权重等参数进行训练时,需要利用反向传播去计算损失函数对权重参数的偏导数。反向传播下面分析是如何反向传播的(分析时不考虑偏置项),参考上图,① 对于一个神经元jjj,它的输出被定义为,(1.1)Oj=φ(netj)=φ(∑k=1NwkjOk) O_j = \varphi(net_j)=\varphi(\sum_{k=1}^N w_{kj}O_k)...
2019-03-01 12:49:18
520
1
转载 How do I learn machine learning?
To master Machine Learning (ML) one has to be good at maths, programming and domain knowledge. Domain knowledge (Eg: how to deal with images, audio, financial time series etc) changes from one class o...
2018-07-20 15:24:37
238
原创 baidu apollo(2)—适配器模式
protobuf的原生支持apollo官方的介绍, 在apollo platform源码中,其实也就是ros-indigo,可以看到protobuf相关的修改, 通过百度的修改,在ros中不需要使用原有的msg机制来进行数据的序列化和反序列化,而是可以支持直接使用google的protobuf。适配器模式如何使用熟悉ros的应该都清楚原生ros中topic、node相关订阅...
2018-07-13 14:11:48
1458
转载 What is the difference among CPU, GPU, APU, FPGA, DSP, and Intel MIC?
CPUCPU is a general purpose processor. General Purpose in the sense that it is designed to perform a number of operations but the way these operations are performed may not be best for all applicati...
2018-06-02 09:06:31
393
原创 ros入门(5)—ros中的一些编译汇总
主要介绍ros中库的编译以及调用,第三方so库的编译调用,依赖其他package中messages/services/actions文件先生成的问题。编译库库名称为autodrive_common,对应头文件在include目录下,需要在catkin_package中添加INCLUDE_DIRS和LIBRARIES,表示当前package(autodrive_common)对外提供的库以及...
2018-05-28 22:12:51
1384
转载 深入理解CPU和异构计算芯片GPU/FPGA/ASIC
转自,http://www.cnblogs.com/qcloud1001/p/6617764.html随着互联网用户的快速增长,数据体量的急剧膨胀,数据中心对计算的需求也在迅猛上涨。诸如深度学习在线预测、直播中的视频转码、图片压缩解压缩以及HTTPS加密等各类应用对计算的需求已远远超出了传统CPU处理器的能力所及。摩尔定律失效的今天,关注“新“成员(GPU\FPGA\ASIC)为数据中心带...
2018-05-25 15:14:08
4542
原创 提高git下载速度
众所周知的原因,国内有些网络下github的速度相当感人,最近试了下改host,速度提升效果很明显。ipaddress.com解析ip在ipaddress.com网站中将下面两个网址解析为ip地址,github.comgithub.global.ssl.fastly.net为什么改了host后下载速度提升明显了?和我们pc的dns解析有关系,在未设置hosts前本地dns解析...
2018-05-18 10:33:00
1148
转载 ros入门(4)—ros多传感器数据同步
转自 https://blog.csdn.net/zyh821351004/article/details/47758433由于传感器频率的不同,需要将传感器数据进行同步后才能进行融合,下面是ros中同步的方法,方式一: 全局变量形式 : TimeSynchronizer步骤: 1. message_filter ::subscriber 分别订阅不同的输入topic ...
2018-04-28 16:15:12
7103
原创 自动驾驶资源汇总
持续更新测试相关https://oas.voyage.auto/ 主要涉及自动驾驶车辆的安全测试,已开源。主要功能如下图所示,开发1.多传感器数据融合 robot_localization http://docs.ros.org/kinetic/api/robot_localization/html/index.html robot_localiz...
2018-04-27 10:43:03
1418
原创 自动驾驶传感器——激光雷达
本文主要介绍了自动驾驶中激光雷达主流厂商的产品,参数,由于价格信息不全,待陆续补全。激光雷达激光雷达在自动驾驶中的两个核心功能:3D的环境感知SLAM加强定位单线的激光雷达已经被广泛应用,例如扫地机器人,单线可以获取事物的2D信息,但是无法获得高度信息。而多线激光雷达,则可以获取事物3D数据。激光雷达目前给大家的第一印象就是贵,想在无人车上普及首先应该...
2018-04-21 11:05:17
6906
原创 Constructors in Cpp
What is constructor?A constructor is a member function of a class which initializes objects of a class. In C++,Constructor is automatically called when object(instance of class) create.It is special...
2018-04-17 11:25:22
264
原创 ros入门(3)—如何添加一个srv
添加srv文件srv和msg有很多是想通的,特别是在package.xml和CmakeLists.txt的修改中,不同的就是目录和后缀的写法(srv,msg)。 首先在srv目录下创建一个SrvTutorial.srv,int64 aint64 b---int64 result后续在编译时,roscpp会将该srv文件转换为头文件SrvTutorial.h SrvTutor...
2018-04-11 16:55:23
625
原创 ros入门(2)—使用clion IDE进行ros开发
clion is a cross-platform IDE for C and C++,因为用pycharm和IDEA用习惯了,所以继续选择了jetbrains的clion,不过遗憾的是clion没有社区版。ubuntu下使用clion调试ros package,Open a command line;Run catkin_make on your package;source yo...
2018-04-09 15:43:13
4157
原创 ros入门(1)—如何添加一个msg
如何创建一个msg文件,然后自动编译成所需的头文件(c++)在你的代码中使用?因为msg,srv,action类似,文中介绍msg时会有交叉。 例如,如何添加一个MsgTutorial.msg,然后生成MsgTutorial.h,在你的代码中去使用?#include "ros_tutorials_topic/MsgTutorial.h"创建msg文件在package中的msg...
2018-04-09 15:08:19
2124
转载 A Simple Makefile Tutorial
Makefiles are a simple way to organize code compilation. This tutorial does not even scratch the surface of what is possible using make, but is intended as a starters guide so that you can quickly and...
2018-04-06 10:21:02
187
原创 从源代码到可执行程序
一切皆01源代码 hello.c, 利用hexdump命令,可以看下hello.c到底是什么? 一串的二进制文件(用16进制表示),编码采用的是ASCII编码(二进制和字符之间的对应关系),通过下表,可以将hello.c中的字符和二进制对应起来,例如16进制的23是十进制的35,十进制35对应的正是’#’。系统中的所有信息—包括磁盘文件(上面的hello.c),网络上传的数...
2018-04-06 09:47:56
1948
原创 Linux入门
计算机系统构成计算机由硬件、操作系统(又名系统软件、内核)、应用程序(软件)组成。相同的硬件,不同的操作系统内核,相同功能的应用程序。 很多应用程序,例如chrome浏览器,linux和windows版本都支持,当然实现的代码肯定有区别。Linux 简介Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 L...
2018-04-05 11:22:41
252
原创 cuda The driver installation is unable to locate the kernel source
在Ubuntu16.04上安装cuda时,报如下错误; Installing the NVIDIA display driver… The driver installation is unable to locate the kernel source. Please make sure that the kernel source packages are installed a...
2018-03-20 14:24:03
10461
6
转载 Functors: Function Objects in C++
Both C and C++ support function pointers, which provide a way to pass around instructions on how to perform an operation. But function pointers are limited because functions must be fully specified at...
2018-03-07 15:40:47
245
转载 An Introduction to the CAN Bus: How to Programmatically Control a Car
转自 https://news.voyage.auto/an-introduction-to-the-can-bus-how-to-programmatically-control-a-car-f1b18be4f377I recently collaborated with my friends at Voyage to enable programmatic control of the...
2018-03-04 10:53:35
282
转载 The C++ 'const' Declaration: Why & How
The ‘const’ system is one of the really messy features of C++. It is simple in concept: variables declared with ‘const’ added become constants and cannot be altered by the program. However it is also...
2018-02-23 10:23:40
122
lyf5231的留言板
发表于 2020-01-02 最后回复 2020-04-11
对于.DAT图像进行处理的问题
发表于 2009-05-22 最后回复 2009-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝