- 博客(119)
- 收藏
- 关注
原创 多传感器融合时间软同步
软同步时间同步包括两个步骤:首先保证时钟源是一致的因为时钟源都有钟漂,而且每个时钟源钟漂不同,所以即使把各个传感器时间戳在初始时刻对齐,运行一段时间之后,之前对齐的结果仍会偏离。解决这个问题的办法就是在硬件上把时钟源统一,常见的做法是做一个脉冲发生器,所有传感器都被这个脉冲触发,每次触发都校正一次自己的时钟,这样就可以消除时钟源的累计误差。在自动驾驶的传感器配置里,GNSS是一个必备的传感器,它自带秒脉冲发生器,所以可以直接使用。而且GNSS信号能够达到定位要求时,自身时钟也会受到卫星上原子钟的
2022-01-07 20:22:36 3051 1
原创 多传感器同步理论
文章目录《多传感器同步理论》课堂问题汇总与答疑_202107031. 多个传感器标定是两两标定 还是联合标定呢?2. 激光雷达与相机融合 由于运动的因素 特别是在旋转的时候 时间差一点就会造成融合很大的误差 比如说对于交通锥这种小目标 两种数据融合会可能产生半个身位甚至一个身位的误差 这种情况怎么处理呢?3. 不在时间戳的数据都会扔掉吗?还是会存起来另有用处?4. 如果没有ADU或者Trigger box等可以直接接入PPS信号的设备,能否将LiDAR设为PTP的master?5. 课上讲空间同步那里时需要
2022-01-07 17:58:09 766
原创 openpcdet环境配置
版本确定驱动,cuda,cudnncuda与cudnn官方https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile-installation
2021-10-18 14:42:02 1718
原创 融合系统调试
关于相机时间同步网口相机支持PPP授时,一般通过GNSS模块给工控机提供时间源,然后工控机给网口相机授时GMSL相机不支持外部授时,只能自己通过软同步往前推PPP:硬同步无ppp:软同步毫米波软同步往前推:卡尔曼,往后补:插值(线性,多次样条)权重:以谁为主的问题靠真值来测试融合系统...
2021-10-14 16:39:03 314
原创 Speeding Up Deep Learning Inference Using TensorRT
引用It uses a C++ example to walk you through converting a PyTorch model into an ONNX model and importing it into TensorRT, applying optimizations, and generating a high-performance runtime engine for the datacenter environment.Simple TensorRT exampleF
2021-09-16 14:20:51 115
原创 Openpcd使用记录
OpenPCDet环境搭建有了前面SECOND搭建环境的经验,OpenPCDet就容易很多首先是创建python环境,这里我选的是python=3.7装pytorch,这里因为我准备装spconv-1.0,所以选择cuda的搭配如下: 1606 conda install --use-local pytorch-1.1.0-cuda100py37he554f03_0.tar.bz2 1607 conda install --use-local torchvision-0.3.0-cuda
2021-09-16 14:17:30 605
原创 yolov5本地布置
运行yolo得到engine文件需要制作权重文件kuangka.wts,然后得到engine文件n_camera_obj节点
2021-08-06 13:41:56 255
原创 clion/vscode配置ROS工程
先安装cion的ROS插件这个在官网上有下载,直接将插件安装包解压放在插件文件夹下主要针对cmake工程导入cmake工程找不到ros环境,可以用这个方法解决:http://wiki.ros.org/IDEs#QtCreator // 里面有各个主流编译器对ROS的配置// 主要是为了让CLION知道ROS环境sh PATH_TO_CLION/bin/clion.sh//...
2021-02-28 16:44:00 666
原创 sudo idconfig出现软连接的错误
参考这篇帖子修改https://askubuntu.com/questions/1025928/why-do-i-get-sbin-ldconfig-real-usr-local-cuda-lib64-libcudnn-so-7-is-not-a
2021-02-28 15:35:18 363
原创 Doxygen生成代码注释文档
1 首先按照Doxygen的规范注释代码具体可以选择一种样例2 在注释代码的基础上,生成Doxygen html注释文档比方我想对Perception/libs 目录底下的 roi segment tracking等文件生成注释文档那么我就在libs这一级目录下:doxygen -s -g// 注释:上述s 和 g 分别表示simple和generate此时会生成一个Doxyf...
2021-02-28 11:25:29 561
原创 内存高级话题
18.1 new,delete的进一步认识18.1.1 总述与回顾内存有关的高级用法,如内存池等18.1.2 从new说起new类对象时,加与不加括号的差别A *pa=new A() // 带号的写法,类A的成员变量被初始化为0A *pa2=new A // 这种写法,m_i成员变量中是随机值但是增加了一个构造函数后,情况又有所不同,初始化的工作交给构造函数因此不一定会初始化为0...
2021-02-07 19:50:18 110
原创 剑指offer专题
p76 把字符串转换成整数strToInt()主要思路:1. 先判断正负号的存在sign2. 从正负号之后开始遍历字符串if(str[i]>='0' && str[i]<='9'){ num+=num*10+str[i]-'0';}p3 找出数组中重复的数字主要思路:就是num[i]与nums[nums[i]]之间的关系p3不修改数组找重复数组方法一暴力方法二二分法for(int i=0;i<nums.size();i++){ // 先
2021-02-07 19:49:57 108
原创 c++并发与多线程
并安、进程、线程的基本概念并发表示两个或更多任务同时发生因为有多个CPU就可以同时做多件事情线程数量就可以理解为并发的任务数量可执行程序一个可执行程序运行起来就相当于创建了一个进程线程每一个进程都有一个主线程且唯一主线程从北京到深圳编写代码创建其他线程从北京到南京把线程理解成一条代码的执行通路,一个新线程代表一条新的通路17.1.2 并发的实现方法多进程并发和多线程并发多进程并发:进程之间的通信手段比较多,如果是同一台计算机上的进程之间的通信可以使用管道、文件
2021-01-17 22:15:14 482
原创 cuda编程入门
P2 CUDA编程入门01-GPU硬件架构综述bank的访问冲突冲突的情况规约的一个有效的算法p3 CUDA编程模型CUDA程序执行流程##### Block和grid的关系CUDA程序层次结构CUDA kernel函数的grid, block调用情况注意用__global__定义的kernel是异步的:调用这个函数cpu就走了,不管GPU是否算完,不会等待GPU完成,而GPU会一个个执行kernel函数CUDA内置变量P4向量加法# GPU申请内存的函数:c
2021-01-13 16:48:10 451
原创 Ros相关語法
node标签output: 运行时节点输出的日志respawn:节点运行挂掉是否重启required: launch文件的某个节点是否一定需要启动ns:给每个节点命名空间,避免命名冲突args:rosrun后面跟的一群指令,暑输入一些参数param和arg标签remap实践...
2021-01-04 22:03:37 125
原创 Docker的使用
Docker的概述就是一个图说明linux:Docker:Docker的使用docker run id /bin/bashdocker复制文件到宿主机:cp宿主机文件到docker:使用数据卷
2020-12-24 11:33:11 122
原创 pytorch linux 安装
因为之前已经安装过tensorflow-gpu所以我的cndu与cudnn与annaconda都已经安装好接下来安装pytorch也是基于conda的虚拟环境//如果在配置的过程中发生了什么问题,可以先退出虚拟环境然后移除该虚拟环境,再重新配置conda remove -n pytorch --all//主要参考帖子:https://blog.csdn.net/hktxt/articl...
2020-12-16 17:25:59 140
原创 velodyne32C激光雷达解析
首先就是选择single return模式,这样你在解析时就按照single模式进行拆包其次就是选择转速600 rev/min,这样你的分辨率就确定了(即在设置页面设置频率)single模式返回如图:激光雷达的参数,Laser ID不是ring里面的数字是Laser_id...
2020-12-14 21:44:33 2158
原创 sudo rosdep init出错
sudo rosdep initERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.reference:https:/...
2020-12-14 21:44:12 184
原创 ros多线程
AsyncSpinnerint main(int argc, char** argv) { std::string node_name = "simple_class_node"; ros::init(argc, argv, node_name); ros::NodeHandle nh(""); ros::NodeHandle nh_private("~"); ros::AsyncSpinner spinner(1); // it creates one spinner thread
2020-11-25 12:25:14 521
原创 c++面试知识总结
子类能够从父类继承什么,不能从父类继承什么?能:派生类能够继承其基类的成员,但是基类必须将它的两种成员函数区分开来:一类是基类希望其派生类进行覆盖的函数;另一类是基类希望派生类直接继承而不要改变的函数;派生类可以继承定义在基类的成员,但是派生类的成员函数不一定有权访问从积累继承而来的成员(关于权限访问参考几种继承方式)派生类构造函数尽管在派生类对象中含有从基类继承而来的成员,但是派生类并不能直接初始化这些成员,派生类也必须使用基类的构造函数来初始化它的基类部分。继承与静态成员:如果基类定.
2020-11-16 09:01:55 85
原创 分割聚类的细节
1.关于depth_cluster的列数选择首先建立一个vector _col_angles把360/870的分隔度数放到vector里面2.进入CloudProjection()函数新建各种图,_depth_image/_xy_image/_z_image/_label_image点云数据都放在# 这个data每一个格子都保存PointMatrix data = PointMatrix(_num_beams, PointColumn(32));// vector < vector<
2020-10-21 14:11:01 1396
原创 pcl库使用的总结
文章目录Filtering a PointCloud using a PassThrough filterFiltering a PointCloud using a PassThrough filter#include <iostream>#include <pcl/point_types.h>#include <pcl/filters/passthrough.h>int main (int argc, char** argv){ pcl::Poin
2020-10-21 14:10:31 1982 2
原创 ROS分布式多机通信
来自知乎的分布式多机通信系统介绍机器人端:nvidia TX2 --IP地址为192.168.2.178,计算机名:jetson-1423019134103PC端:Lenovo-V480–IP地址为192.168.2.210,计算机名:cheng-Lenovo-V4800准备工作分别为两台计算机安装同步通信分别安装ssh服务SSH远程连接1配置主从机ip地址首先PC和TX2要连接到同一个wifi网络上,并分别设置固定IP,若PC端为虚拟机,则应将网络适配改为桥接模式将hostname和I
2020-10-19 10:23:18 174
原创 多进程多线程
并发编程有两种模型一种是多进程,一种是多线程对于多进程来说,每个进程进程只有一个线程,进程间是可以相互通信的,进程中通信的方式有很多种,比如文件,消息队列,管道,第二种并发模型是多线程,对于多线程而言,一个进程可有两个或多个线程,线程之间通过共享内存的方式进行通信,那么对于这两个并发模型而言,各自的优缺点:多线程:相对于一个进程而言,多线程的启动速度快,因为操作系统需要分配一系列的内部资源去管理进程,线程通常被认为是更轻量级的,开销更低,进程的开销更大,(操作系统需要对进程提供很多的保护,而且.
2020-10-17 17:21:21 210
原创 贝叶斯滤波与卡尔曼滤波
第三讲.贝叶斯滤波的三大概率第四讲.连续随机变量的贝叶斯公式似然概率第六讲.随机过程的贝叶斯滤波正如上图所示,贝叶斯滤波的缺点:无穷积分,大多数情况下无解析解,所以对这个无穷积分需要有两种解决办法,一个是作假设(高斯分布,积分就好积了,另一个是数值积分)因此,正如博主所说,贝叶斯滤波是一个思想,该思想应用到KF,EKF,UKF,PFKF那五个公式卡尔曼都是期望和方差由上一个时刻的期望和方差,推出这个时刻期望和方差的先验(预测值,两个公式)由这个时刻期望和方差的先验再推出这个时刻期望和
2020-10-14 16:37:02 2338
原创 打家劫舍问题
198.打家劫舍主要思路:第i个房间选还是不选若选:则第i-1个房间不能选,当前抢劫的钱为:dp[i-2]+rooms[i-1]若不选:则第
2020-10-06 16:37:24 500
原创 sensor fusion of Udacity
Radar Principles01 why use Radar同时Radar能够在多雨多雪的环境下使用02 the radar sensor
2020-10-04 13:27:44 343
原创 回溯算法_字符分割
5520. 拆分字符串使唯一子字符串的数目最大主要思路:这一题是经典的dfs,你就不断的拆字符串,每一次拆到一个子串时加入unordered_set前,要检查是否重复,如果重复那就不加入,这个set起到了visited的作用用一个变量去搜索可能的答案,节省空间,当然要用到回溯了代码如下:class Solution{public: int ans; void solve(string &s, unordered_set<string> &st, int
2020-10-03 14:33:58 207
原创 并查集
查并集查并集算法用于查找一个有向图是否有环具体解释见一灯大神主要的思想是:两个函数:find根节点合并某两个节点输入一个图,建立一个vector parent, vector rank遍历这个图,对他的边进行遍历,对与某边的两个节点找其1.根节点,2.合并某两个节点如果合并两个节点返回0,说明他们有公共根节点,同时这两个节点又是连接的,此时图有环代码如下:#include <stdio.h>#include <stdlib.h>#include <
2020-09-28 20:28:56 315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人