✨ 长期更新,分享出来,也许有人用得上,也激励自己坚持学下去;
💡 仓库所有内容都可以随意转载,可用于任何目的,无需征求我的意见;
🍀 把原始文档都放在这了,欢迎大家在我的基础上整理出属于自己的一套笔记;
💻 理解尚浅、实践甚少,列举的公式和理论仅供参考,千万不要照着我的公式写代码;
🛠 不建议直接就下载整个仓库,Markdown 和 PDF 可以在线看,想要的文件可以单独下载;
⚙ 目前仓库还不够完善,部分文件还没啥内容,下载之前,建议先点开看看,有没有您期望的资料;
🎉 如果您觉得仓库内容有价值,推荐用 Github-Desktop 下载并保持更新,用 Typora 看 Markdown 文件;
🤺 【点击展开】欢迎随时与我交流:微信 (lizhengxiao99)、QQ (1482275402)、Email ([email protected]);
🌟 板块 🌟 | 🧾 说明 🧾 | 🛠 完成度 🛠 |
---|---|---|
源码解读 | 我对程序的解读,附上流程图、思维导图、相关资料 | 【====> 】40% |
资料整理 | 书籍讲义/视频教程/线上讲座/综述论文/外文资料翻译 | 【======> 】60% |
网址整理 | 开源程序/开源数据/在线工具/常用网站/同类仓库推荐 | 【========> 】80% |
设备上手 | 各种 GNSS/IMU/Camera/Lidar 设备用法、测试数据 | 【=> 】10% |
指令速查 | Linux/Vim/Make/CMake/Git/Docker/ROS/VScode | 【====> 】40% |
编程经验 | 记录一些导航定位程序编译过程中常遇到的问题 | 【======> 】60% |
算法理解 | 不会一板一眼地推导公式,写点我对导航算法的理解 | 【=> 】10% |
算法解惑 | 参数估计/GNSS/INS/组合导航/SLAM/多源融合/规控 | 【===> 】30% |
写在最后 | 欢迎大家在我的基础上整理出属于自己的一套笔记 | 【========> 】80% |
🌟 开源程序 🌟 | 🧾 简介 🧾 | 🛠 完成度 🛠 |
---|---|---|
RTKLIB | 最知名的 GNSS 数据处理程序 | 【======> 】60% |
GAMP | 基于 RTKLIB 的后处理双频 PPP | 【========> 】80% |
GAMP-GOOD | 基于 Wget 的 GNSS 产品下载程序 | 【======> 】60% |
Ginan | 澳大利亚 PPP 定位/定轨程序 | 【=> 】10% |
SoftGNSS | MATLAB GPS L1-C/A 码软件接收机 | 【======> 】60% |
PSINS | MATLAB/C++ 捷联惯导工具箱 | 【====> 】40% |
GINAV | GNSS/INS 松紧组合 Matlab 工具箱 | 【===> 】30% |
KF-GINS | GNSS/INS-EKF 松组合例程 | 【=========> 】90% |
OB-GINS | GNSS/INS-FGO 松组合例程 | 【====> 】40% |
POSGO | 图优化 GNSS 伪距单点/双差定位 | 【==> 】20% |
GICI-LIB | GNSS+INS+Camera 图优化融合定位 | 【===> 】30% |
VINS | 光流法视觉惯性图优化 SLAM | 【===> 】30% |
ORB-SLAM3 | 特征点法视觉惯性图优化 SLAM | 【==> 】20% |
ROS导航功能包 | 自主导航机器人定位/建图/路径规划 | 【==> 】20% |
🌟 开源项目 🌟 | 🧾 简介 🧾 | 更新 |
---|---|---|
GitHub-Chinese-Top-Charts | GitHub 中文资料排行榜 | √√√ |
slam-study-note | SLAM算法笔记、书籍软件资源 | √√√ |
ML_DL_CV_with_pytorch | 深度学习、自动驾驶、计算机视觉 | √√√ |
Autopilot-Notes | 相当系统的自动驾驶笔记 | √√√ |
geolearning | 大一本科生写的 WebGIS 学习笔记 | √√√ |
InSARLearning | InSAR小白学习笔记 | √√√ |
EveryDay | 一个前端小白的学习历程 | √√√ |
cs-self-learning | 北大信科学长创建的CS自学全家桶 | √√√ |
AI_Tutorial | 整理 AI 热门文章,每周更新 | √√√ |
HITCS | 哈尔滨工业大学计算机课程资料与实验 | √√√ |
learning_research | 面向实验室研究生、本科生的科研教学 | √√√ |
3D-Gaussian-Splatting-Papers | 3D高斯论文,持续更新,排版挺好 | √√√ |
qtkaifajingyan | 作者十年 Qt 开发积累的 300+ 经验 | √√√ |
learning-note | GNU相关知识学习,makefile,cmake,m4 | √√√ |
researchTools | 港理工 GraphGNSSLib 作者的博客、整理资料 | ××× |
IMU-study | IMU、气压计、磁力计的原理和驱动 | ××× |
SLAM-All-In-One | SLAM 框架整理、代码注释、学习笔记 | ××× |
slam-tricks | 记录一些SLAM中常用到的一些算法和小技巧 | ××× |
SLAM-Jobs | SLAM/SFM求职指南、面试经验 | ××× |
NEXTE_Sentry_Nav | 一个RM选手的导航系统部署和调试经验 | ××× |
RADAR | 一些雷达目标追踪的例程 | ××× |
learning-area | HTML/CSS/JavaScript 入门学习 | ××× |
cs-408 | 计算机考研408学习笔记 | ××× |
open-geo-tutorial | 地信遥感基础算法(GDAL in Python or R) | ××× |
AP1400-2 | 浙大本科生写的C++英文网课作业和学习笔记 | ××× |
learn_slam | 西工大布树辉写的SLAM入门路线和建议 | ××× |
Road2Coding | B站UP主代码羊的仓库 | ××× |
SLAM_Code_Learning | 为做NeRF-based SLAM毕设所读过的代码 | ××× |
Tech_Blog | 北理工博士的无人机理论及实践学习心得 | ××× |
CUMT-GIS-16 | 矿大GIS课设|CUMT-GIS-21/CUMT-GIS-20 | ××× |
Mind-Map | 武大遥感院期末复习思维导图 | ××× |
papers | 作者整理的论文,关于机器学习和组合导航 | ××× |
review-2023 | 23年度总结集合|review-2022|review-2021 | ××× |
工具 | 开发者 | 简介 | 账号 |
---|---|---|---|
GNSS-Calendar | Enes·Jahic | 在日历上选择年月日,可以转换到年积日、儒略日、GPS周、周内天,并且提供 GPS 和 GLONASS 的精密轨道钟差、SNX、ION、DCB 文件的下载链接。 | 无需 |
NGS 工具 | NGS | NGS的测绘工具集,包括:DEFLEC18、HTDP、IGLD85、NCAT等。 | 无需 |
GNSS-Radar | Taroz | 输入经纬度和时间,显示可视卫星情况。 | 无需 |
TRX | NRCan | 在线坐标转换工具,支持 LLH-XYZ-UTM 三种坐标之间的转换,支持 NAD83 和各种 ITRF 框架、支持上传文件进行批处理。 | 无需 |
INDIR | NRCan | 大地主题正反算在线计算工具;正算是指输入起点的经纬(高)、大地线长度和大地方位角,计算终点的经纬(高);反算是指输入两点的经纬(高)计算大地线长度和大地方位角。 | 无需 |
CSRS-PPP | NRCan | 加拿大自然资源局开发的在线 PPP 解算工具,用户仅需上传观测文件,既可执行静态或动态 PPP 解算,解算结果将通过邮件发送给用户。 | 需要 |
AUSPOS | GA | GA的在线PPP解算服务(调用 Bernese)。 | 需要 |
APPS | JPL | JPL的在线PPP解算服务(调用 GIPSY)。 | 需要 |
GAPS | UNB | UNB的在线PPP解算服务。 | 需要 |
OPUS | NGS | NGS的在线PPP解算服务。 | 无需 |
MagicGNSS | GMV | GMV的在线GNSS解算服务。 | 需要 |
GNSSer | 李林阳 | 【介绍论文】【中文论文】【解算精度】GNSSer 是一个科学研究型 GNSS 数据处理平台,支持单频和双频 PPP 解算,同时提供大地测量在线计算功能,包括:GNSS时间与IGS产品地址生成、角度转换、角度计算、XYZ与大地坐标转换、批量XYZ和大地坐标转换、地球框架转换(七参数)、地球框架转换(七参数)参数估计、大地问题正解/反解、高斯坐标转换、通用平差计算、通用文本平差计算、高程水深服务、重力异常服务、地图显示点位(注:有些工具的链接失效了)。 | 需要 |
NavSense | 赵乐文 | 【介绍文档】【介绍视频】南信大赵乐文老师团队开发的在线 GNSS 数据处理工具,核心算法基于 RTKLIB、BNC、G-Nut/Anubis,支持执行后处理及实时的 SPP、RTK、PPP 解算,支持数据预处理、质量检核、轨迹显示。 | 需要 |
一键安装 | 鱼香ROS | Linux 系统下输入一串命令,即可安装 ROS、VsCode、Docker、CartoGrapher:wget http://fishros.com/install -O fishros && . fishros |
None |
👆👆👆 回到开头 👆👆👆
封面 | 简介 |
---|---|
《GPS原理与接收机设计》谢刚 我最推荐的卫星导航入门参考书,全面且系统地介绍了GNSS的原理。从信号体制到接收机信号处理,从观测值误差分析到各种定位技术,再到航位推算、组合导航和地图匹配等,无一不包。这本书能让你深入透彻地理解GNSS的工作原理,为后续的进阶学习打下坚实的基础。 对于从事GNSS数据处理的朋友,推荐你们也看看基带算法。只依赖接收机输出的伪距、载波、多普勒和信噪比等数据进行定位,还是太浅了;深入了解接收机内部的原理,包括卫星信号的结构、发射方式、传播过程,以及接收机的天线信号接收、射频前端处理、基带数字信号处理等全流程,能够让你对数据处理算法有更深刻的理解;而且许多GNSS的岗位不仅要求掌握定位技术,还要求对基带算法有所了解。 👉👉👉 点击下载 👈👈👈 |
|
《软件定义的GPS和伽利略接收机》 薄薄的一小本,一百多面,我主要是推荐配套的开源程序SoftGNSS,MATLAB 编写,实现了一套最简单的 GNSS 软件接收机功;输入经过天线接收,射频前端滤波下变频后的数字中频信号文件,进行 GPS L1 C/A 码的捕获跟踪,生成伪距观测值,解译导航电文,最小二乘定位解算;代码量很小也很简单,适合作为 GNSS 基带数字信号处理的入门阅读程序。 👉👉👉 点击下载 👈👈👈 |
|
《北斗GPS双模软件接收机》鲁郁 主要是推荐书附带的程序,MATLAB 编写 GPS-L1/BDS-B1 软件接收机,学一学北斗信号处理算法,NH码处理啥的;程序运行相当耗时,70s 的数据要算几个小时。书写的有些部分写的比谢刚的《GPS原理与接收机设计》要细致深入,代码的有些部分处理的比SoftGNSS细致,可以结合着一块看。 👉👉👉 点击下载 👈👈👈 |
|
《GPS测量与数据处理》李征航 市面上有不少 GPS 数据处理算法的书,这本应该是看的人最多的,很多论文的参考文献列表里都有它,讲的很全面,很细致,可以准备一本在手头放着,有忘了的基础算法查一查;建议结合着 B 站赵乐文老师的《多模GNSS定位与应用介绍》课来看,赵老师的视频补充了很多的工程知识和多系统算法。 当然,初学者光靠书是没法学明白 GPS 算法的,把整本书看完了,你可能还是捋不清该如何从伪距/载波/多普勒和星历,一步步算出 SPP/RTK/PPP 解;对算法有一些了解之后,就应该找一套开源程序深入学习,无论是科研还是工程实践,都可以在开源程序的基础上拓展,从而节省大量基础工作的时间和精力。 至于其它的 GNSS 数据处理书,我都不推荐看,入了门之后就该看论文,先看综述,再看硕博学位论文,之后可以顺着引用的文献继续看;看综述,帮你快速了解所处领域的研究进展;看硕博论文,补充一些书上没讲到的算法和知识点;不推荐初学者看英文原著,英文书写的也不能比中文的强多少,但是英语带来的学习障碍可不小。 👉👉👉 点击下载 👈👈👈 |
|
《GNSS与惯性及多传感器组合导航系统原理》Groves 我最推荐的惯导和组合导航入门参考书,写的通俗易懂,比其它的惯导书易读的多;七百多面,把组合导航的方方面面都介绍到了(除了初始对准)。惯导入门建议直接学捷联惯导(不建议学平台惯导,现在很少用到),把几种姿态旋转、几种坐标系理解了之后,对着公式看代码。 👉👉👉 点击跳转 👈👈👈 |
|
《捷联惯导算法与组合导航讲义》严恭敏 严老师把捷联惯导、组合导航的算法讲的很透彻,不过整本书都是公式推导,学起来相当有难度;前三章介绍常用姿态、坐标系,地球相关参数计算,第四章介绍捷联惯导递推、误差传播,五六章介绍参数估计、各种滤波,第七章介绍松组合、初始对准,第八章讲仿真。B 站有上配套的视频课《卡尔曼滤波与组合导航》,严老师开源了配套的 MATLAB 捷联惯导工具箱 PSINS,都是入门捷联惯导、组合导航不错的资料。 👉👉👉 点击下载 👈👈👈 |
|
《视觉SLAM十四讲》高翔 SLAM入门首选参考书,系统介绍了视觉SLAM所需的基本知识与核心算法,内容全面、结构清晰、理论与实践相结合。既包含数学理论基础,如三维空间的刚体运动、非线性优化,又涵盖计算机视觉的算法实现,如多视图几何、相机标定、图优化、卡尔曼滤波等。而且作者提供了大量的实例代码供读者学习研究,有助于读者更深入地掌握SLAM技术的实现细节。网上有很多相关的读数笔记,相关的网课,可以作为入门学习的参考。 👉👉👉 点击跳转 👈👈👈 |
|
《视觉惯性SLAM》程小六 计算机视觉Life程小六写的ORB-SLAM3的源码解析,质量比大部分的博客讲义高的多,学完《视觉SLAM十四讲》就该继续学常用的SLAM框架,结合着代码深入学算法,基于ORB特征点的ORB-SLAM3是一个不错的选择,支持单目/双目/RGB-D、惯性紧组合、回环检测、重定位,在开源数据集上有不错的效果,缺点是计算量大、代码BUG多、对外参标定要求高。在六哥的知识星球《小六的机器人AI圈》中有读书挑战赛活动,感兴趣可以去看看。 👉👉👉 点击跳转 👈👈👈 |
|
《自动驾驶中的SLAM技术》高翔 既《视觉SLAM十四讲》后高翔的又一力作,系统的介绍激光惯性SLAM理论,采用 C++17 标准编写例程,全书分三部分:
👉👉👉 点击下载 👈👈👈 |
|
《概率机器人》塞巴斯蒂安·特龙 相当好的机器人导航入门参考书,包括了参数估计、定位、地图构建、规划与控制四大部分;每章的最后都提供了练习题和动手实践的项目;对于每种算法,均提供了:①伪码示例;②完整的数学推导;③实验结果;④算法优缺点的详细讨论。 既使你不做机器人导航、不做SLAM,也推荐你看看它的前四章,参数估计部分,相信能让你对最小二乘、卡尔曼滤波有更深一层次的认识。 👉👉👉 点击跳转 👈👈👈 |
|
《自适应动态导航定位》杨元喜 首先分析了函数模型误差补偿和随机模型误差补偿法;讨论了Kalman滤波的残差向量、新息向量及状态预报值残差向量的解析关系及协方差矩阵之间的关系;分析了基于新息向量、残差向量和状态预报值残差向量的自适应协方差估计存在的问题;对抗差滤波、Sage自适应滤波进行了综合比较与分析。创建了一套全新的动态自适应抗差滤波理论体系,研究了相应解的性质。构造了三段函数、两段函数和指数函数三种动态自适应因子;讨论了Sage滤波与自适应滤波组合的导航解算方法,基于方差分量估计的自适应滤波理论。构造了最优自适应滤波理论。建立了卫星轨道的自适应定轨理论与方法,提出了一种综合Sage滤波和自适应抗差滤波的新的轨道计算方法。最后对组合导航理论进行了探讨。 👉👉👉 点击下载 👈👈👈 |
|
《C++Premier》 直译过来叫“C++入门”,但不适合完全零基础看,适合初学者上过了C语言或者C++课,有了一点点基础之后看,难度比其它的 C++ 入门书籍、教材稍大,写的很详细,不光讲语法,还会讲一些代码设计经验以及一些避坑指南,文笔幽默风趣让人心情愉悦;可以放一本在手边,语法生疏了,查一下;它还有个简略的版本:《C++ Premier Plus》,也是C++入门不错的参考书。 👉👉👉 点击跳转 👈👈👈 |
|
《EffectiveC++》 以条款的形式列举了55条C++语法的使用建议,帮助我们提高代码质量、性能、可读性、可拓展性,让我们对 C++ 编程的理解更上一层楼;使用的 C++ 版本比较老,很多内容不适用于现代 C++,看完之后可以再看看类似的《Modern Effective C++》、《Effective STL》。 👉👉👉 点击跳转 👈👈👈 |
|
《C++20高级编程》 全面、详实的介绍了C++的方方面面,还有案例讲解,非常适合现代C++入门学者;C++ Primer没涵盖新的语法特性(仅到C++11),而且将来也大概率不会涵盖了,因为作者已经去世了;市面上其他介绍C++20的书,大多都只介绍C++的新特性,是给那些已经掌握了C++的读者读的(用来了解新特性),不适合初学者。 👉👉👉 点击跳转 👈👈👈 |
|
《测绘程序设计》李英冰 测绘程序设计比赛的参考书,每一节介绍一种测绘相关的算法(大地主题正反算、空间前方交会、伪距单点定位等)提供了配套的示例程序(C#为主,一大半程序都有BUG),测绘类院校学生学完了编程语法,就可以从这里找程序练练手;建议初学者先认准一套程序学,先把例程跑通、读懂,然后照着例程敲两遍,再脱离例程试着从头自己写。数据处理算法,无外乎就是三部分:读取数据、数值计算、输出结果,提供练习这里的程序都可以学到;把这书上几百行的代码学明白、写明白了,你再去看正儿八经的上万行的开源程序就容易多了。 👉👉👉 点击下载 👈👈👈 |
|
《大话数据结构》程杰 数据结构通常被认为是计算机科班学生最重要的课,面试要考算法题,找工作前要刷LeetCode;对我们非科班写算法的程序员也同样重要,懂点数据结构和算法,你才能写出更高效的程序,你才能学明白STL,而且我们找算法相关的工作也可能要考算法题的;咱不一定要像科班学生掌握那么熟练,能理解常用的数据结构、算法就行,并不需要都会实现。 咱们学数据结构和算法推荐看《大话数据结构》,它用生动有趣的对话、直观的图示,将复杂的数据结构概念变得简单易懂,让读者能够轻松掌握数据结构的基本原理和应用,进而提升编程能力和算法思维,它不像正儿八经的课本那么枯燥,对咱们非科班的程序员相当的友好。 👉👉👉 点击下载 👈👈👈 |
封面 | 简介 |
---|---|
《误差理论与测量平差基础》邱卫宁 导航定位建图本质上都是参数估计问题,各种算法都要按最小二乘、卡尔曼滤波的方式来理解,初学导航,推荐先看武大邱卫宁《误差理论与测量平差》的前三章(误差理论、协方差与权、最小二乘原理),然后再看严恭敏《卡尔曼滤波与组合导航》前两节。 👉👉👉 点击跳转 👈👈👈 |
|
《卡尔曼滤波与组合导航原理》严恭敏 严老师给博士讲的课,这是腾讯会议直播的录屏,把卡尔曼滤波、捷联惯导、组合导航的算法讲的很透彻,前七讲介绍各种卡尔曼滤波,后三讲介绍捷联惯导和组合导;建议搭配着《捷联惯导与组合导航原理》和开源程序PSINS来学。 即使你不做惯导,也推荐看看前两节,能让你对最小二乘和卡尔曼滤波有更深一层的认识,听严老师这两节课比听我老师讲一学期的《最优估计》收货还要大。 👉👉👉 点击跳转 👈👈👈 |
|
《惯性导航》武大i2Nav 武大导航工程本科生课程,比严老师的课简单的多,只讲捷联惯导,先介绍IMU的原理、误差特性,然后介绍各种姿态和旋转,最后是捷联惯导递推和噪声传播,推荐搭配着i2Nav的讲义来看。 👉👉👉 点击跳转 👈👈👈 |
|
《组合导航》武大i2Nav 武大研究生课程,是《惯性导航》课程的深入,介绍了先介绍IMU特性、标定、对准,然后回顾了各种姿态和旋转,最后是捷联惯导递推和噪声传播,最后两讲介绍松紧组合;学完之后推荐结合着讲义看PSINS程序,程序很简单,只有1300行,网上也有很多讲解,能把程序看懂才是真的学明白了。 👉👉👉 点击跳转 👈👈👈 |
|
《测绘学概论》武大 测绘通识课,六位院士每人讲一节,分别是:宁津生《绪论》、陈俊勇《大地测量学》、李德仁《遥感科学与技术》、张祖勋《摄影测量》、龚健雅《地理信息系统》、刘经南《导航定位与北斗》。 👉👉👉 点击跳转 👈👈👈 |
|
《卫星导航系统》哈工程 全面且系统地介绍了 GNSS 的原理。从信号体制到接收机信号处理,从观测值误差分析到各种定位技术,推荐搭配着谢刚的《GPS原理与接收机设计》来看。 👉👉👉 点击跳转 👈👈👈 |
|
《多模卫星导航系统介绍》赵乐文 网上的其它 GNSS 课程,大都只讲原理,只讲 GPS 系统,学完了,你可能还是捋不清该如何从伪距/载波/多普勒和星历,一步步算出 SPP/RTK/PPP 解;相比起来,赵老师这套课更加的贴近科研和工程,他会讲多系统的算法,讲RINEX文件,讲RTKLIB代码。 👉👉👉 点击跳转 👈👈👈 |
|
《GNSS高精度算法代码学习》欧阳明俊 中山大学 CPNT 实验室欧阳明俊老师给组内同学录制的一套 GNSS 高精度算法入门教程,内容为 GNSS 高精度算法代码一行一行讲解(RTKLIB,GAMP,GINAV 等)。 👉👉👉 点击跳转 👈👈👈 |
|
《卫星导航接收机设计》杨旭 北航杨旭博士录的接收机教程,主要是给他的同学看的,用FPGA实现一套B1I-B3I接收机,评论区里提到会开源;硬件接收机的实现和软件接收机有很大的不同,要额外考虑相当多的工程问题,杨旭这套视频讲的很详细,能给想了解硬件接收机的朋友带来不少帮助。 👉👉👉 点击跳转 👈👈👈 |
|
《Arduino快速上手》LazyTomatoLab 懒番茄的Arduino入门教程,三小时就能看完全部视频;对于非科班,想要尝试去编程操作硬件,Arduino 是一个不错的选择,上手最简单,做了很多的封装,不需要了解内部的寄存器就可以写单片机程序;最近几年乐鑫出品的 ESP32 系列都对Arduino框架有不错的支持,性能高而且带蓝牙WiFi,很适合用来做一些小的物联网创客项目。 👉👉👉 点击跳转 👈👈👈 |
|
《ROS入门》机器人工匠阿杰 通俗易懂的ROS导航入门教程,先讲ROS的使用、编程,然后介绍激光雷达、SLAM相机、IMU、ROS导航功能包。 👉👉👉 点击跳转 👈👈👈 |
|
《物联网NBIOT定位器》立创EDA 立创EDA官方出品,手把手带你搭建一套GPS定位器,基于移远BC20-GNSS模块和STM32,教程包括三部分:硬件PCB设计、单片机程序设计、云平台应用设计。 👉👉👉 点击跳转 👈👈👈 |
|
《MATLAB科学计算》 学MATLAB就得结合着数据处理算法,不然只会基础语法你还是很难写算法,全套视频六十个小时,选择需要的章节看就行了。 👉👉👉 点击跳转 👈👈👈 |
|
《计算机科学速成课》Crash Course
Crash Course 出品的计算机通识课,从电子管到逻辑门再到CPU,从指令集到高级语言再到数据结构,从计算机网络到网络安全再到加密算法,从机器学习到自然语言处理再到机器人学;一层一层地向上推进,帮助你建立起对计算机体系全面的认识。 👉👉👉 点击跳转 👈👈👈 |
|
《统计学速成课》Crash Course 也是 Crash Course 出品,从最基础的均值、方差一直讲到大数据、神经网络,能让你真正地理解统计学,而不仅仅只停留在会做题的层面;导航定位建图本质上都是参数估计问题,属于统计学的范畴,都要用统计学的方式去理解。 👉👉👉 点击跳转 👈👈👈 |
👆👆👆 回到开头 👆👆👆
封面 | 简介 |
---|---|
《卫星导航接收机原理》杨颖 2020.04
👉👉👉 点击跳转 👈👈👈 |
|
《精密单点定位(PPP)之浅见》周锋 2020.02 介绍了PPP的发展历程、PPP的基本原理、常用模型、具体的软件实现、应用中的限制瓶颈等内容。 👉👉👉 点击跳转 👈👈👈 |
|
《高频北斗/GNSS精密数据处理》耿江辉、林吉航、曾竞 2022.08
👉👉👉 点击跳转 👈👈👈 |
|
《一些不实用的惯导算法简介》严恭敏 2023.07
👉👉👉 点击跳转 👈👈👈 |
|
《城市复杂环境信息约束的多源组合导航》李增科 2023.06
👉👉👉 点击跳转 👈👈👈 |
|
《从idea到SCI论文发表一关于科研那些你想知道的事》徐凯 2020.04
👉👉👉 点击跳转 👈👈👈 |
|
《惯性导航在地球空间信息技术中的时空传递作用》牛小骥 2021.05 惯性导航在地球空间信息技术中发挥的作用长期以来被测绘遥感行业所忽视。本次讲座牛老师详细介绍了惯性导航和组合导航原理,并以惯性导航在组合导航中的时间同步和空间同步作用作为起点,表现惯性导航在地球空间信息技术中的时空传递作用。 |
|
《低轨导航增强GNSS:精密定位、星座设计》马福建 2020.10 随着大型低轨互联网星座的兴起,国内外学者提出将低轨星座作为导航信号播发和增强信息转发平台,以全面提升卫星导航系统的精度、完好性、连续性和可用性。本次报告马福建博士生围绕低轨星座导航增强GNSS所涉及的关键技术展开叙述,重点介绍低轨增强GNSS快速精密单点定位性能以及基于遗传算法的混合低轨导航增强星座优化方法。 |
|
《中国首个“学生造”遥感卫星背后的故事》金光 2022.01 “启明星一号”是启明星系列星座计划的首发卫星,该星座计划由多颗遥感卫星组成。此次成功升空的“启明星”是一颗以武汉大学学生为研发主体的微纳卫星,是我国首颗可见光高光谱和夜光多光谱多模式在轨可编程卫星,是武汉大学在遥感学科教学从理论走向实践的重要举措。让我们一起聆听这颗“学生造”卫星背后的故事。 👉👉👉 点击跳转 👈👈👈 |
|
《众包和本地基站混合定位研究及科研经历分享》余跃 2020.04 全球导航卫星系统(GNSS)已被广泛地应用于室外定位,但基于现有物联网终端设备实现自主、精确和普适的室内导航仍然具有极大的挑战性。本期讲座,报告人将根据个人及课题组的科研项目及学术竞赛经历,介绍使用众包和本地基站混合定位过程中面临的问题及相关科研探索,并分享香港博士申请的相关经历和心得感悟。 👉👉👉 点击跳转 👈👈👈 |
|
《IMU选型、标定误差分析、AHRS组合导航》徐伟 2020.08
👉👉👉 点击跳转 👈👈👈 |
|
《主流V1O综述及VINS解析》崔华坤 2019.02
👉👉👉 点击跳转 👈👈👈 |
|
《算法岗的招聘现状与未来——移动机器人与自动驾驶专场》 2021.09 深蓝学院特邀夏添(白犀牛无人车联合创始人兼CTO),刘兰个川(小鹏汽车算法研发总监,自动驾驶北京平台负责人),黎嘉信(高仙机器人深度学习总监、新加坡研发中心总监),任乾(自动驾驶定位算法专家)四位嘉宾分享企业招聘经验,同时对垂直领域的行业发展、技术学习及应用落地,多层次、全方位的为求职者解读剖析。 👉👉👉 点击跳转 👈👈👈 |
|
《浅谈如何将ROS应用于机器人开发》古月 2019.02
👉👉👉 点击跳转 👈👈👈 |
|
《图森未来在重卡自动驾驶的最新落地与实践》王乃岩 2022.07
👉👉👉 点击跳转 👈👈👈 |
|
《LIO系统的改进及其在自动驾驶定位模块中的应用》高翔 2022.07
👉👉👉 点击跳转 👈👈👈 |
|
《大规模点云地图的自动化构建》高翔 2021.03
👉👉👉 点击跳转 👈👈👈 |
|
《非差非组合GNSS数据处理模型与应用》张宝成 2021.03
👉👉👉 点击跳转 👈👈👈 |
|
《城市峡谷环境中的3D LiDAR辅助GNSS定位》文伟松 2021.01
👉👉👉 点击跳转 👈👈👈 |
|
《北斗GNSS精密定位及多源导航增强》李星星 2021.03
👉👉👉 点击跳转 👈👈👈 |
|
《多模多频实时GNSS软件接收机》刘刚 2021.03
👉👉👉 点击跳转 👈👈👈 |
|
《一生一芯暑期招生宣讲会》
👉👉👉 点击跳转 👈👈👈 |
|
《电离层不规则体与闪烁》熊超 2021.07 围绕电离层不规则体的产生机制、气候学特征、及电离层闪烁对导航定位的影响展开详细讨论。 👉👉👉 点击跳转 👈👈👈 |
|
《GNSS时代的电离层研究》张顺荣 2021.04 介绍、分析与评述电离层科学研究在GNSS时代取得的新进展分享对GNSS影响电离层研究的历史进程和发展趋势的个人观点 👉👉👉 点击跳转 👈👈👈 |
|
《空间天气链式预报大模型的初步研究思路》陈洲副 针对一次空间天气事件,需要从太阳活动区开始监测观察天阳表面的爆发情况,判断太阳喷发的物质怎样在行星际空间传播,进而判断太阳活动后期对地球空间是否有影响,有何种影响。由王观测技术的局限,卫星无法有效的覆盖空间天气的所有区域,因此想要从物理机制上耦合空间天气整个区域的演化过程是干分困因难的。好在最近几十年空间天气方面的卫星发展迅速,的我们在空间天气多区域提供了大量的观测数据,从最近发展的深度学习技术上来看,已具备构建空间天气多区域耦合模型的观测数据量。因此借助深度学习最新技术的强大数据学习能力,从空间天气链式观测数据中,构建整体演化的时空大模型是有可能建立空间天气不同区域之间的相互作用、相互耦合的智能监测预警模型。这对于提高空间天气监测预报水平具有重要的科学意义。 👉👉👉 点击跳转 👈👈👈 |
|
《GNSS与InSAR协同监测》胡俊 2023.09
👉👉👉 点击跳转 👈👈👈 |
|
《GNSS多维水汽反演关键技术及其应用》姚宜斌 2022.09
👉👉👉 点击跳转 👈👈👈 |
|
《北斗卫星导航系统与国家PNT体系建设》杨元喜 2022.05
👉👉👉 点击跳转 👈👈👈 |
👆👆👆 回到开头 👆👆👆
RTKLIB 是全球导航卫星系统 GNSS 开源定位解算程序包,由日本东京海洋大学的高须知二(Tomoji Takasu)开发,由一个核心程序库和多个命令行程序、界面程序组成;代码规范、功能完善、可拓展性好。RTKLIB 功能很齐全,GNSS 数据处理所需的基本功能都有,支持的数据格式很多,既可以实时解算也可以后处理,既可以接自己的 GNSS 模块也可以连 IGS 的数据流,既可以解算自己采集的数据也可以算 IGS 测站的数据,既可以 RTK 也可以 PPP;许多 GNSS 导航定位程序开源程序都是基于 RTKLIB 二次开发衍生而来,适合作为 GNSS 入门学习的项目。它的项目结构如下所示:
-
支持多个 GNSS 系统的标准和精密定位算法,包括 GPS,GLONASS,Beidou,Galileo,QZSS 和 SBAS。
-
支持 9 种GNSS实时和后处理定位模式:
- single:伪距单点定位
- DGPS/DGNSS:伪距差分
- kinematic:载波动态相对定位,动态RTK,假设流动站是移动的,可以做车载定位
- Static:载波静态相对定位,静态RTK,两站都是静止的,可以得到很高的精度
- Moving-Baseline:两站都动,双天线,主要用来定姿
- Fixed:固定坐标,解算模糊度、对流层、电离层等参数
- PPP-Kinematic:动态精密单点定位
- PPP-Static:静态精密单点定位
- PPP-Fixed:PPP 固定坐标,解算模糊度、对流层、电离层等参数。
-
支持多种GNSS标准格式和协议:RINEX2.10、RINEX2.11、RINEX2.12、RINEX3.00、RINEX3.01、RINEX3.02、RTCM2.3、RTCM3.1、RTCM3.2、BINEX、NTRIP、NMEA0183、SP3、ANTEX1.4、IONEX1.0、NGS PCV、EMS 2.0。
-
支持多种GNSS接收机专有数据协议格式:NovAtel:OEM4/V/6,OEM3, OEMStar、Superstar II、 Hemisphere、Crescent、u‐blox:LEA-4T/5T/6T、SkyTraq、JAVAD 、GW10-II/III 和 NVS。
-
支持外部通信:Serial、TCP/IP、NTRIP、本地日志文件、FTP 和 HTTP。
-
提供许多代码库和API:卫星和导航系统函数、矩阵和向量函数,时间和字符串函数、坐标的转换,输入和输出函数、调试跟踪函数、平台依赖函数、定位模型、大气模型、天线模型、地球潮汐模型、大地水准面模型、基准转换、RINEX函数、星历和时钟函数、精密星历和时钟、接收机原始数据函数、RTCM函数,解算函数、谷歌地球KML转换、SBAS函数、选项(option)函数、流数据输入和输出函数、整周模糊度解算、标准定位、精密定位、后处理定位(解算)、流服务器函数、RTK服务器函数、下载函数。
推荐视频:Lewen_NavSense-多模卫星导航定位与应用
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
GAMP 全称 (GNSS Analysis software for Multi-constellation and multi-frequency Precise positioning),在 RTKLIB 的基础上,将一些些多余的函数、代码简洁化,精简出后处理双频 PPP 部分,并对算法进行改进增强。对初学者非常友好,在我接触过的导航定位开源程序中算是最简单的,是用纯 C 语言编写,由于做了简化,代码比 RTKLIB 原版还要简单;使用也非常简单,软件包里直接有 VS 工程,和组织好的配置、数据文件,简单改改路径就能算出结果。
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
GAMP-GOOD 由核心代码库 Libgood、命令行可执行程序 Good_Cui 和 Qt界面可执行程序 Good_Gui 三部分组成,自2021年4月1.0版本至今已历经 15 个版本迭代,目前已实现常用 GNSS 观测值、广播星历、精密卫星轨道和钟差、地球定向参数、卫星姿态ORBEX、DCB/DSB/OSB、SINEX周解、电离层和对流层延迟产品、天线相位中心等产品下载。
👆👆👆 转到介绍 or 转到项目地址 or 回到开头 👆👆👆
澳大利亚
基于 RTKLIB 改写,做了面向对象封装,
大量使用 C++11/14/17 的新特性,使用了 Boost库,PEA 的主函数就有 500 行,读起来比较困难;
依赖的库较多,好在提供了 Docker;
可以运行在 Linux 和 MacOS,在 Windows 下需运行在 WSL 或 Docker 环境
文档很详细,而且可以生成 Doxygen,根据注释生成网站,可以方便的查看类型嵌套和程序调用
包括 PEA 定位和 POD 定轨程序,
PEA 用 C++、POD 部分用 Fortune,绘图和批处理脚本用 Python
矩阵运算主要用 Eigen 实现,也用 OpenBLAS 进行多线程矩阵运算
推荐阅读:不迷途导航程序员:PEA源码阅读笔记
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
SoftGNSS 是《软件定义的GPS和伽利略接收机》附带的程序,MATLAB 编写,实现了一套最简单的 GNSS 软件接收机功;输入经过天线接收,射频前端滤波下变频后的数字中频信号文件,进行 GPS L1 C/A 码的捕获跟踪,生成伪距观测值,解译导航电文,最小二乘定位解算;代码量很小也很简单,适合作为 GNSS 基带数字信号处理的入门阅读程序。主要执行流程如下:
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
PSINS(Precise Strapdown Inertial Navigation System 高精度捷联惯导系统算法)工具箱由西北工业大学自动化学院惯性技术教研室严恭敏老师开发和维护。工具箱分为Matlab和C++两部分。主要应用于捷联惯导系统的数据处理和算法验证开发,它包括惯性传感器数据分析、惯组标定、初始对准、惯导AVP(姿态-速度-位置)更新解算、组合导航Kalman滤波等功能。C++部分采用 VC6 编写,可以用于嵌入式开发。
推荐视频:严恭敏-PSINS导航工具箱入门与详解
推荐视频:严恭敏-PSINS开发板介绍
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
GINav 是 2020 年发布在 GPS Solution 上开源 GNSS/INS 紧组合工具箱,支持多模多频(单频到三频)GNSS 数据处理,支持多种处理模式 ,包括 SPP、PPD、PPK、PPS GNSS/INS 组合导航算法开发与测试。软件采用纯 MATLAB 编写,src 目录下共 325 个 .m 文件,约 12000 行代码;GNSS 部分的代码是移植 RTKLIB 和 GAMP,IMU 递推算法移植自 PSINS,使用过 RTKLIB 的朋友应该很容易就能上手。
与 RTKLIB、Ginan、IGNav 等 C/C++ 编写的导航定位解算程序相比,MATLAB 编写的 GINav 可移植性更差,执行效率低,PPK 解算比 RTKLIB 慢 20 倍;GINav 的优点是简单,调试方便,在变量区可以直接看到矩阵的值,MATLAB 提供的数据处理和分析功能更丰富,方便进行算法的学习和研究。
与同为 MATLAB 实现的 PSINS 捷联惯导工具箱相比,GINav 更侧重 GNSS 和紧组合算法,实现的惯导和滤波算法远没有 PSINS 丰富。与同为 MATLAB 实现的 goGPS 相比,GINav 的源码和软件使用方式都更简单,采用纯面向过程风格,很多的结构体和函数都与 RTKLIB 和 GAMP 一致,更容易上手。
推荐阅读:MJy65535:GINav 学习笔记
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
KF-GINS 是武大 i2Nav 实验室开源的一套松组合导航程序;可以读取 IMU 数据文件、GNSS 结果文件,进行松组合解算,计算位置、速度、姿态、陀螺仪零偏、加速度计零偏、陀螺仪比例、加速度计比力,共 21 维状态向量。代码量小,有详细的文档、注释和讲解,代码结构很好理解,有一些可以学习的工程技巧。
- 项目开源地址:https://github.com/i2Nav-WHU
- i2NAV组合导航讲义、数据集:http://www.i2nav.cn/index/newList_zw?newskind_id=13a8654e060c40c69e5f3d4c13069078
- 介绍视频:https://www.bilibili.com/video/BV1Zs4y1B7m2/
- 推荐观看:武大开源KF- GINS项目算法解析—理论部分、源码部分
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
武大 I2NAV 开源,基于图优化的 IMU/GNSS 松组合解算,IMU 预积分算法相比以视觉为主的 ORB-SLAM3、VINS 要精细一些。
相关链接:
- 开源地址:https://github.com/i2Nav-WHU/OB_GINS,
- 相关论文:
- Hailiang Tang, Tisheng Zhang, Xiaoji Niu, Jing Fan, and Jingnan Liu, “Impact of the Earth Rotation Compensation on MEMS-IMU Preintegration of Factor Graph Optimization,” IEEE Sensors Journal, 2022. 下载
- Junxiang Jiang, Xiaoji Niu, and Jingnan Liu, “Improved IMU Preintegration with Gravity Change and Earth Rotation for Optimization-Based GNSS/VINS,” Remote Sensing, vol. 12, no. 18, p. 3048, Sep. 2020, doi: 10.3390/rs12183048.
- Le Chang, Xiaoji Niu, and Tianyi Liu, “GNSS/IMU/ODO/LiDAR-SLAM Integrated Navigation System Using IMU/ODO Pre-Integration,” Sensors, vol. 20, no. 17, p. 4702, Aug. 2020, doi: 10.3390/s20174702. 下载
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
POSGO,全称 POSition based on Graph Optimization,是由武汉大学 GNSS 定轨中心李政开源的一套图优化 GNSS 伪距定位程序。该程序目前主要侧重于以伪距为核心的 SPP(单点定位)和 RTD(实时伪距差分定位)解算,并兼容 EKF(扩展卡尔曼滤波器)和 GO(图优化)解算方法。整个项目涵盖了约 8000行的 C++ 代码和 700 行的 Python 脚本,C++ 部分的代码在 RTKLIB 的基础上,进行了面向对象的改编和优化;Python 部分则包含了 Analyze 和 AnalyzeStatic 两个结果分析脚本。POSGO 使用了来自城市道路的动态车辆手机实验数据进行测试。实验结果显示,在遮挡严重的区域,GO解算方法相较于传统的 LS(最小二乘法)和 EKF 解算方法,展现出了更高的定位精度和更强的稳健性。POSGO 未来计划引入对载波相位的支持,以进一步提升定位的精准度,并计划加入对多传感器融合的支持。
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
GICI-LIB 全称 GNSS/INS/Camera Integrated Navigation Library,是上海交大最新开源的一套基于图优化的 GNSS+INS+Camera 集成导航定位库。基于 RTKLIB 处理 I/O 流、编解码;基于 OKVIS 因子图优化类型封装;基于 SVO 做特征提取。以 GNSS 为主,再加入 INS、Camera 做组合,支持相当多的数据格式、定位模式,包含很多 GNSS 因子、惯导因子、视觉因子及运动约束。以处理实时数据为主,后处理也采用模拟实时数据处理的方式进行。
- 论文:GICI-LIB: A GNSS/INS/Camera Integrated Navigation Library,可以在这下载
- 源码:https://github.com/chichengcn/gici-open
- 数据:https://github.com/chichengcn/gici-open-dataset
典型应用方式如下图:
包含以下估计器:
补充:GICI 还在持续更新,前段时间看作者还准备加 PPP/IMU/Camera 紧组合模式。
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
与双目相机和 RGB-D 相机相比,单目相机具有结构简单、成本低和处理速度快的优点。然而,单目 VSLAM 存在尺度不确定性、无法对齐位姿和重力方向的自身缺点和快速运动导致的运动模糊的环境下容易跟踪丢失等不足。为弥补此问题,可将单目相机和 IMU 相结合的传感器融合,这种融合方案被称为单目视觉惯性里程计(Visual Inertial Odometry,VIO)或单目视觉惯性 SLAM(Visual-inertial SLAM,VINS)。
-
IMU 也可以弥补视觉 SLAM 在短时间、快速运动上的不足,另外由于 IMU 不依赖外界环境信息,对环境变化不敏感,也可以在少纹理、明暗变化较大或者光线较弱场景内提供短期的定位方案以及位姿估计方案。
-
较之惯性信息,视觉里程计可以提供丰富的外界信息,在低速平稳的运动中位姿估计稳定,而且视觉里程计在长时间运行后的漂移较小,并且可以通过回环检测修正自身位置以减小累积误差。
香港科技大学沈劭劼团队开发的 VINS 系统,用了一种紧耦合的非线性优化方法。该团队在 2017 年发布的 VINS-Mono 通过在四元数上进行 IMU 的预积分,并且采用滑动窗口法融合 IMU 信息和相机观测到的特征数据,实现了数据的紧耦合。并且采用四自由度的图优化方法实现了回环检测模块,来得到全局约束。在 2019 年,该团队又发布了 VINS-Fusion,在 VINS-Mono 的基础上又加入了双目、双目+IMU 等更多的传感器类型,以及支持了 VINS 和 GPS 的融合。它支持在线标定相机及 IMU 参数及鱼眼相机模型,并且支持保存当前地图和加载过往地图。在与 IMU 的结合上,它采用了四元数积分方案,与视觉信息进行紧耦合,具有很强的鲁棒性和定位精度。
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
ORB 指 Oriented FAST and rotated BRIEF,是一种结合 FAST 和 BRIEF,并引入旋转不变性的一种特征点和描述子;SLAM 指 Simultaneous Localization and Mapping,指的是同时进行实时定位和地图构建。
ORB-SLAM3 是迄今为止,最完整的视觉惯性 SLAM 系统系统,它是第一个集成了单目相机、双目相机、RGB-D相机,以及单目相机结合 IMU、双目相机结合 IMU 的 SLAM 系统。并且在 ORB-SLAM2 的基础上,改进了相机模型,使其不再局限于传统的小孔成像模型,而是可以扩展到鱼眼模型。在与 IMU 的结合上,它根据运动模型在流形上进行 IMU 的预积分的方式,然后采用非线性优化的思想,将 IMU 的预积分结果和视觉 SLAM 的重投影模型一同进行图优化,使得预积分残差以及重投影误差共同达到最小,以此来完成视觉信息和惯导系统的紧耦合。并且它采用了更为快速的初始化方法,以及丢失跟踪后利用惯导系统快速重定位方法。此外,它还采用地图集的方式,实现了对大场景的定位建图。这也是如今众多开源方案中,功能最强大、最精准的方法。系统框图如下:
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
功能简单来说,就是根据输入的里程计等传感器的信息流和机器人的全局位置,通过导航算法,计算得出安全可靠的机器人速度控制指令。广泛用在一些对可靠性要求没那么高的自主导航机器人场景中,比如扫地机器人、物流机器人等。
👆👆👆 转到源码解读 or 转到项目地址 or 回到开头 👆👆👆
最后,如果你有问题、有建议、有想法;如果你入门导航算法过程中遇到了困难、找不准方向;或者说你认可我的仓库,单纯地想交个朋友,都欢迎你加我的微信,和我联系,记得备注 学校+姓名
,让我知道你是谁。
👆👆👆 回到开头 👆👆👆