自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手把手教老婆嵌入式开发

鉴于自己本科学的自动化、研究生学的控制工程,有过一年开关电源和嵌入式开发的工作经验,决定从零教老婆嵌入式开发和电力电子相关技术。其中,嵌入式开发主要用于实现空调的控制逻辑,而电力电子技术难点在于实现压缩机的控制,还会涉及自控控制原理相关知识,比较难掌握。因此,第一期从嵌入式开发开始学习,掌握单片机的软硬件开发基本技能,能够从事相关开发工作;为了整理教学思路、总结相关重点、便于回顾相关知识点,决定以博客的形式记录教学过程,也希望能对想要学习相关知识的同学有所帮助。3、电路原理:了解简单的电路原理。

2023-10-21 10:57:42 243

原创 高精地图的匹配定位算法

高精地图的匹配定位算法包含公式和图片pdf文件见附件。参考文献[1]-[4],高精地图的匹配定位算法主要有基于优化和基于滤波的方 法。基于优化的主要有 NDT(Normal Distributions Transform)、ICP(Iterative Closest Point)、基于特征(Feature-based)的 LOAM 系列和 CSM(Correlative Scan Matching) 等方法,基于滤波的方法有 HF(Histogram Filter,直方图滤波)和 PF(Particle

2023-07-18 18:46:41 2091

原创 设计模式总结

自己总结《大话设计模式》总结本书以大鸟和小菜对话的方式介绍23种设计模式。面向对象程序几个重要特性(P5),这些特性便于实际中优化代码和添加新的需求,面向对象语言通过封装、继承和多态可降低程序的耦合性,实现这些特性:1)可维护性:方便后期增加和删除功能;2)可复用性:代码的复用性较高,如子类继承父类可提高代码复用性;用类构造不同的实例,也可看作在复用类的代码;可以复制的代码段都可以封装为类或函数3)可扩展性:如方法重载可提高函数的扩展性4)灵活性:1、简单工厂模式2、策略模式3、单一职责原

2022-06-29 20:07:32 512 1

原创 Apollo学习笔记

Apollo学习笔记Apollo课程智能驾驶入门课程无人驾驶概览1、软件层分为三层:实时操作系统(RTOS):确保在给定时间内完成特定任务,实时时确保系统稳定性、驾驶安全性的重要要求。通过在Ubuntu Linux操作系统加入Apollo内核,使其成为RTOS运行时框架:ROS的定制版,改进了共享内存的功能和性能(一次写入多次读取)加快数据传输速度、去中心化和数据兼容性(ROS需要所有节点通信消息格式相同,当一个节点消息升级后,需要修改其他所有节点,比较麻烦,于是改进protobuf通信,在消息

2022-04-26 22:24:41 3582 2

原创 Linux常用操作与命令

Linux常用命令1、低频命令2、高频命令参考链接1、低频命令杀掉线程或进程首先通过ps -elf | grep [线程关键信息](参考链接)或htop等方式查找线程的PID然后使用下面命令杀掉线程$ kill -9 [PID]查找命令:which,whereis,locate,find的区别(参考链接),which常用于查找命令。该命令在PATH路径中搜索,查找范围最小,查找速度快。默认只返回第一个匹配的文件路径,加 -a 可返回所有结果。whereis可查大多数文件,主要用于查

2021-08-16 20:12:42 153

原创 调试总结

调试总结一、GDB调试一、GDB调试1、运行# 终端输入gdb调试界面gdb <可执行文件># 设置参数set atgs <参数1 参数2 ...># 运行run/r2、定位崩溃点# 单个可执行文件backtrace/bt# rosrunrosrun --prefix 'gdb -ex run --args' [package_name] [node_name] # roslaunch,[参考链接](http://wiki.ros.org/roslaun

2021-08-09 11:07:50 108

原创 ORB-SLAM2系列(四)-特征匹配

ORB-SLAM2系列(四)-特征匹配ORB-SLAM2在不同已知条件和情况下使用了11种匹配方法,下面进行简单总结,具体细节看源码,默认使用八层金字塔,每层最大特征点数:设置数(初始化2000,平常1000)x 0.217(0.181、0.151、0.126、0.105、0.087、0.073),相机内参都已知searchforinitalization(1F,2F,第一帧特征点,匹配点(F1.size),windowsize=10):初始化时用,windowsize=100,nnratio=0.

2021-05-25 19:21:00 1789

原创 SLAM总结(六)-视觉建图

SLAM总结(六)-建图地图的保存和加载地图的保存和加载

2021-05-11 00:45:44 8294 4

原创 SLAM总结(五)-视觉重定位、闭环检测和全局定位

闭环检测5、 闭环检测、全局优化、局部优化和位姿跟踪之间如何在不同频率之间协调:闭环检测和全局优化,局部优化都是为了减小漂移,保持全局一致,而跟踪只跟踪前一帧或几帧,只负责当前帧与之前帧的漂移,即局部一致将后端优化结果传到前端的方法,前端相当于可以一直存在漂移,但相对位姿是准确的,后端结果不传不影响前端的工作,但后端拿到有漂移的结果需要先校正再用,否则优化也就没意义了...

2021-05-09 23:14:09 9895

原创 SLAM总结(五)-视觉后端

SLAM总结(五)-后端之视觉后端三角化优化后端的主要功能是发现三角化优化

2021-05-07 22:09:33 751

原创 SLAM总结(四)-视觉前端

SLAM总结(四)-前端前端的主要功能一般是求解当前帧的位姿,carto中也会在前端维护submap。前端需要保持与传感器帧率相同的频率,以达到实时性。相机和激光雷达都是观测外部环境的传感器,每来一帧,需要将帧与帧之间的点关联起来。数据关联之后进行姿态解算,求得当前帧的位姿。...

2021-04-25 23:57:35 2083

原创 git的使用

git的使用一、低频命令1.放弃更改,参考链接1)放弃所有更改,未提交的或提交情况都能用git reset --hard [commit名称:可由git log得到]2)放弃某个未提交的文件的更改git checkout --filename二、高频命令...

2021-04-07 21:06:26 78

原创 ROS系列(二)-常用命令和工具

ROS系列(二)-常用命令和工具一、新建工作空间二、常用命令三、常用工具

2021-04-07 11:40:14 677

原创 SLAM总结(三)-传感器之各传感器特性

SLAM总结(三)-传感器一、相机1、单目相机2、深度相机双目相机结构光相机ToF相机二、激光雷达1、2D激光雷达2、3D激光雷达三、GPS四、IMU五、编码器六、其他辅助传感器一、相机1、单目相机1.原理原理包括透镜成像原理和感光显像原理。透镜成像原理其实就是通过各种凹凸透镜组成镜头达到小孔成像的原理。感光显像是通过胶片、CCD和CMOS等感光元件将小孔成的像保存下来。这些和摄影知识密不可分。物体反射光源照来的光(不同颜色反射的不一样),当我们按下快门时物体反射的光从镜头摄入(曝光),感光元件感光

2021-04-02 01:09:26 6707 1

原创 ROS系列(一)-安装

ROS系列(一)-安装环境:Ubuntu 16.04 + ROS kinetic参考官网# 使用清华镜像,[国内镜像链接](http://wiki.ros.org/ROS/Installation/UbuntuMirrors):$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/ap

2021-03-30 11:14:25 129 2

原创 SLAM总结(二)-数学基础之常用概率知识

SLAM总结(二)-数学基础之常用概率知识1.常用概率论基础概念:在高维情况下,即n很大时,由链式法则得到的联合概率p(x1,x2,…,xn)将非常难求解,但是在每个状态只与前一个状态有关的条件独立的假设下,链式法则中p(xi | x1,x2,…,xi-1)变成p(xi | xi-1),求解将大大简化2.SLAM问题可以看成一个概率问题,概率意味着不确定性,导致不确定性的原因主要是传感器测量和控制量不是非常精确和存在噪声干扰。在马尔可夫假设下(第n次状态常决定于第n-1次状态)获得条件独立性,那么SL

2021-03-22 00:45:13 814

原创 SLAM总结(二)-数学基础之求导和线性方程求解

@TOC1.求导

2021-03-18 22:55:52 3223

原创 SLAM总结(二)-数学基础之位姿表示

SLAM总结(二)-数学基础1注:查阅了很多资料,因为时间有限,可能整理的不是很准确,先发出来,希望有大佬看了能指正一下,后期也会根据对算法的回顾,回过头来不断修正。位姿的不同表达方式:位姿的表达方式是表达2个坐标系之间相对关系的数学方法,由旋转和位移组成。SLAM中一般有每帧传感器帧坐标系在世界坐标下的位姿Twc(待求状态变量)、两传感器帧之间的相对位姿。这里统一使用右手坐标系,表达方式如下:变换矩阵,可以表示旋转和平移旋转(姿态)R用33的正交矩阵(旋转矩阵)表示,具有3个自由度。位移t用31

2021-03-14 23:19:46 3078

原创 cartographer总结(三)-线程池(thread_pool)

Cartographer总结(三)-线程池(thread_pool)线程池:程序运行时,创建一定数量的线程,此时所有线程都处于空闲状态。当有新的任务进来时,若线程池中有空闲线程,则从线程池中取出一个空闲的线程处理该任务,任务处理完后,该线程被放到线程池中;若线程池中无空闲线程,则将任务放入任务队列等待线程池中有线程空闲。参考链接使用线程池原因:线程的建立与销毁存在开销,线程池中线程在程序运行过程中不会被销毁,从而减小这一开销;避免打开过多线程会给系统产生大量消耗。参考链接Cartograher线程池

2021-03-06 16:08:35 891 2

原创 Cartographer总结(二)-代码框架及算法流程

Cartographer总结(二)-代码框架及算法流程本文从/scan传递的信息流帮助大家找到算法的入口,在找算法入口的同时可以帮助理解代码框架。在ROS环境中跑cartographer一般包含cartographer和cartographer_ros两个库,cartographer是算法库,用于实现3D和2D情况下的SLAM算法,cartographer_ros是对cartographer进行了一次打包,使得cartographer能够在ROS的环境下使用。cartographer代码框架详细总结有

2021-03-01 21:52:21 3843 8

原创 SLAM总结(一)- SLAM原理概述与简介

SLAM总结(一)SLAM原理概述与简介SLAM原理概述与简介SLAM(Simultaneous Localization and Mapping):同时定位和建图,定位是定位机体在世界坐标系下的位姿(pose、transformation)。单传感器机体一般指相机光心、激光雷达scan中心、IMU中心、编码器两轮轴心,多传感器一般使用IMU中心,可以避免离心力的影响。位姿包括3个自由度的位置(translation)和3个自由度的姿态(rotation)。世界坐标系的原点和姿态可以由第一帧关键帧、已

2021-02-18 20:25:11 20146 20

原创 机器人梦

今晚,脑子里又全是关于自己的两轮自主机器人loui的调研报告,索性完成博客的第一篇,聊聊自己的机器人之路。loui是自己为自己做的机器人的命名,因为自己名字是yilu,倒过来正好与loui谐音。曾经很多个夜晚,因为满脑子都是机器人相关技术而睡不着。渐渐的发现自己太过热爱机器人,似乎有点疯狂,每次和朋友说起自己的专业就滔滔不绝,但似乎别人并不太感兴趣,所以干脆自己写个博客,希望能找到一群热爱机器...

2019-11-15 08:54:17 334 2

高精地图的匹配定位算法

高精地图的匹配定位算法

2023-07-18

空空如也

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

TA关注的人

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