7 小牛蛋

尚未进行身份认证

关注Linux下多线程开发 并行与分布式计算 对区块链 机器学习 密码学有浓厚兴趣

等级
TA的排名 7k+

NDT算法公式推导及C++源码解析一

最近在研究无人车定位技术中的NDT算法的CUDA加速,所以首先还是要理解算法原理和CPU实现。这个系列总共两篇,是目前找到的比较详实的文章。版权声明:本文为CSDN博主「jyakaranda」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u013794793/article/details/89306...

2019-09-20 17:14:48

自动驾驶系统-控制模块PID初探

从事自动驾驶相关工作两年多以来,控制模块是我比较陌生的,最近这段时间刚好有时间学习一下这个模块具体的工作原理。1.简介 汽车控制如同每个人驾驶自己车辆一样,当你熟悉前方道路的时候你如何去控制你的车辆?显然,如果你不是专业的选手的话,你无法做到一步到位的控制,你需要一边观察车辆相对于你想要开的路线的相对偏差,一边调整你的方向盘的角度和油门踏板的力度,这种基于环境反馈的控制我们称...

2019-08-15 21:18:06

备份ubuntu系统中的文件

调试CyberRT 源码的过程中,可能是因为误装了uuid,导致部分系统库(libuuid libblkid.so.1)出现不一致(no version information available),折腾了一下系统仍无法正常使用,所以备份原系统中的文件。一、进入恢复/紧急模式联想笔记本,Ubuntu16.04,开机以后跳过x图形界面后按住shift键进入grub选择ubunt高级选...

2019-05-24 12:03:08

读取TXT文件中指定某几列

awk -F "," '{print $4,$7,$8}' data2.txt > imu2.txt

2019-04-03 09:39:19

Lock-Free编程简介

转自:https://preshing.com/20120612/an-introduction-to-lock-free-programming/Lock-free programming is a challenge, not just because of the complexity of the task itself, but because of how difficult it...

2018-12-14 11:07:01

组播 IP_MULTICAST_LOOP回环在Linux和Windows的差异

在TX2嵌入式开发板上(Ubuntu操作系统)编写网络组播发送接收程序,首先了解一下组播.linux多播编程linux多播编程步骤:1>建立一个socket;2>设置多播的参数,例如超时时间TTL,本地回环许可LOOP等3>加入多播组的4>发送和接收数据5>从多播组离开多播程序设计使用setsockopt()函数...

2018-12-10 13:39:46

Logiscope测试机理

转自:http://www.cnitblog.com/qiuyangzh/archive/2005/07/15/953.html1前言本文介绍了静态测试工具Logiscope的测试机理。通过对Logiscope测试机理的了解,能帮助我们更好的使用这个工具。通过阅读本文,你可以了解到以下信息: Logiscope是如何分析软件产品质量的; Logiscope是如何检测代码的编码规...

2018-11-28 15:31:11

cuda学习笔记五 cuda stream及 unified memory使用问题

      cuda通过多个stream可以降低host到Device的数据传输延时,这个没问题。但是通过stream传输就需要通过cudaHostAlloc等重新分配内存,那么这时候就有一个问题,就是这个内存需要重新赋值,问题就在于很有可能这段重新赋值的时间会超出接受的范围。如果用cudaMemcpy就可以直接用原始数据往Device上传输了。      本人在实际项目中遇到的问题,印象非常...

2018-08-21 19:56:05

深入理解计算机系统笔记三

这一点之前自己也有这样的疑惑,就是当一个由w位组成的数据类型,如果要移动k≥w位会得到什么样的结果呢?C语言标准规避了在这种情况,比如对于w=32时,k分别是32,36和40时,位移量是通过k mode w得到的。这时候位移运算分别是移动0, 4, 8位。不过,对于这种行为C程序来说是没有保证的,所以应该保证位移量小于待位移值得位数。...

2018-08-12 22:28:49

深入理解计算机系统笔记二

   对于自动驾驶,特别是嵌入式开发板上移植程序来说,用某个确定大小的表示来编码数据类型非常重要。例如,当编写程序,使得机器能够按照一个标准协议在因特网上通信时,让数据类型与协议指定的数据类型兼容是非常重要的。不过现在64位系统已经比较普及,不像以前处于过渡阶段。特别是long型,在不同的机器上有不同的取值范围,而实际上C语言标准只指定了每种数据类型的最小范围,而不是确定的范围。虽然我们可以选择与...

2018-08-05 23:03:05

opencv gpu支持

GPU Module IntroductionOpenCV自3.0还是3.1以后命名空间由gpu::换成了cuda::General InformationThe OpenCV GPU module is a set of classes and functions to utilize GPU computational capabilities. It is implemented...

2018-08-04 20:32:27

深入理解计算机系统笔记一

   我看的是《深入理解计算机系统》原书第三版,这真的是一本相见恨晚的好书。看了几天,有些内容已经在实际编程中获益了。我重点关注的是优化程序性能。作为程序员,我们无须为了写出高效代码而去了解一些编译器的内部工作。但是,为了在C程序中作出好的编码选择,我们确实需要了解一些机器代码以及编译器将不同的C语句转化为机器代码的方式。比如一个switch语句是否总是比一系列的if-else语句高效得多?whi...

2018-07-30 22:58:30

技术交流和工作说明

    最近后台收到不少人的私信和问题,本人由于工作原因,不能及时回复,致以歉意。最近一年来,在深圳一家自动驾驶创业公司从事深度学习算法(ResNet、ERFnet)、视觉、Lidar、Radar算法等感知算法的嵌入式移植以及并行优化工作,同时也随时关注区块链的最新应用和进展。本人一直抱着开放和学习的心态,希望与各位同行交流学习,分享心得体会。本人依然是菜鸟一名,但对编程和算法技术充满热爱,相信技...

2018-04-28 10:17:20

ubuntu开机启动脚本并使用sudo

1、在/etc/init.d/目录下新建个脚本文件S99_lidar.sh#! /bin/sh# command content  echo 'nvidia' | sudo -S route add 224.0.0.1 dev eth0exit 02、增加可执行权限chmod 755 S99_lidar.sh3、将脚本添加到启动脚本执行如下指令,在这里99表明一个优先级,越高表示执行的越晚cd /...

2018-04-28 09:44:16

screen命令工具源码安装

使用Linux这么长时间以来,感觉screen命令非常有用,不熟悉的同学可以自行搜索一下如果系统联网,那万事大吉sudo apt-get install screen不能联网的开发板,那么下载源码https://ftp.gnu.org/gnu/screen/解压后,新建build目录mkdir buildcd build../configure 如果configure没有出错,那么观世音菩萨保佑,...

2018-04-28 09:29:37

ARM NEON编译错误

在aarch64的ARM处理器上编译NEON程序,出现如下错误:/usr/lib/gcc/arm-linux-gnueabihf/6/include/arm_neon.h:5792:1: error: inlining failed in call to always_inline ‘vdupq_n_s32’: target specific option mismatch vdu

2017-11-27 20:00:23

库架构不一致引起/usr/bin/ld: cannot find -lxx问题

在Linux嵌入式平台上开发程序,除了网上能查到的库文件路径问题和/etc/ld.so.conf配置文件或/etc/ld.so.conf.d/目录下conf,再ldconfig等问题外,还有一种可能是目标so和当前可用的so架构不一致,比如armv7或者arch64(armv8a)等。可用file命令查看。如果不一致,需要重在相同环境下新生成so库文件

2017-10-21 11:22:46

深度学习网络模型可视化

在学习Resnet50的时候官网上给出了网络的整个模型图http://ethereon.github.io/netscope/#/gist/db945b393d40bfa26006,但是学RFCN的时候就不知道哪里能找到,看到同事给的文档里面有部分图,咨询后,同事给了我几个prototxt文件,当时有点困惑,查了以后,发现可以通过http://ethereon.github.io/

2017-10-17 15:16:56

NEON 3x3 max pool示例代码

3x3的池化 先分别读取三列 constexpr const int pool_size = 3; const float32x4_t top_data = vld1q_f32(reinterpret_cast(input_top_ptr + input.offset())); const float32x4_t middle_data = vld1q_f32(r

2017-10-16 17:56:02

指针的理解

从接触C语言到现在 接近10年的时间 今天才算比较明白指针p 一句话:它是一个地址有了地址就有了一切

2017-10-12 17:12:25

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。