Navigation-Learning icon indicating copy to clipboard operation
Navigation-Learning copied to clipboard

我的导航学习笔记,内容涵盖导航定位开源程序的源码解读 ( 包括:RTKLIB、GAMP、GINav、Ginan、PSINS、SoftGNSS、KF-GINS、ORB-SLAM3、GICI-Lib 等)、各种导航设备的使用方式、书籍讲义、博客翻译、开源项目梳理、常...

Navigation-Learning:一个本科生的导航学习笔记

Static Badge Static Badge Static Badge 访问量统计

👋 嗨,你好,我是李郑骁,安徽理工大学导航工程本科生;

⏰ 正准备考研,考上了副标题就改《一个研究生的导航学习笔记》

💡 仓库所有内容都可以随意转载,可用于任何目的,不必征求我的意见;

✨ 本仓库会长期更新,分享出来,希望有人用得上,也激励着自己坚持学下去;

💻 理解尚浅、实践甚少,列举的公式理论仅供参考,千万不要照着我的公式写代码;

🛠 不建议直接下载整个仓库,Markdown 和 PDF 可以在线看,想要的文件可以单独下载

⚙ 目前仓库还不完善,很多文件都是空的,下载之前,建议先点开看看,有没有您期望的内容;

🎉 如果您觉得内容有价值,推荐用 Github-Desktop 下载并保持更新,用 Typora 看 Markdown 文件;

🤺 有问题或想法欢迎随时与我交流:微信 (lizhengxiao99)、QQ (1482275402)、Email ([email protected]);


👇 以下是本仓库包含的板块,点击跳转 👇

🌟 板块 🌟  🧾 说明 🧾 🛠 完成度 🛠
源码解读 我对开源程序的解读、流程图、思维导图、相关资料 <Strong>【====>             】</Strong>40%
设备上手 各种 GNSS/IMU/Camera/Lidar 设备用法、测试数据 <Strong>【=>                     】</Strong>10%
书籍讲义 导航算法学习过程中对我起较大帮助的书籍、讲义 <Strong>【========>   】</Strong>80%
博客翻译 机翻外文有意思的博客,稍作修改,再加上我的总结 <Strong>【===>                】</Strong>30%
开源整理 整理导航相关开源项目,拓展眼界,避免重复造轮子 <Strong>【======>        】</Strong>60%
常用网站 整理导航相关网址,点击即可跳转,起收藏夹的作用 <Strong>【======>        】</Strong>60%
常用命令 Linux/Git/ROS/VSCode 常用命令,便于查找使用 <Strong>【====>             】</Strong>40%
算法理解 不会一板一眼地推导公式,写点我对导航算法的理解 <Strong>【=>                     】</Strong>10%
学习心得 我作为双非导航工程本科生对于导航学习的思考感悟 <Strong>【========>   】</Strong>80%

👇 以下是本仓库重点介绍项目,点击跳转程序简介 👇

🌟 开源程序 🌟 🧾 简介 🧾 🛠 完成度 🛠
RTKLIB 最知名的 GNSS 数据处理程序 <Strong>【======>        】</Strong>60%
GAMP 基于 RTKLIB 的后处理双频 PPP <Strong>【========>   】</Strong>80%
PSINS MATLAB/C++ 捷联惯导工具箱 <Strong>【====>             】</Strong>40%
Ginan 澳大利亚 PPP 定位/定轨程序 <Strong>【=>                     】</Strong>10%
goGPS MATLAB-GNSS 数据批处理 <Strong>【=>                     】</Strong>10%
GICI-LIB GNSS+INS+Camera 图优化融合定位 <Strong>【===>                】</Strong>30%
SoftGNSS MATLAB GPS L1-C/A 码软件接收机 <Strong>【======>        】</Strong>60%
VINS 光流法视觉惯性图优化 SLAM <Strong>【===>                】</Strong>30%
ORB-SLAM3 特征点法视觉惯性图优化 SLAM <Strong>【==>                   】</Strong>20%
GNSS-SDR 基于 GNURadio 的 GNSS 软件接收机 <Strong>【=>                     】</Strong>10%
TGINS 基于 RTKLIB 的 PPP/INS-EKF 紧组合 <Strong>【==>                   】</Strong>20%
KF-GINS GNSS/INS-EKF 松组合 Demo <Strong>【=========> 】</Strong>90%
OB-GINS GNSS/INS-FGO 松组合 Demo <Strong>【====>              】</Strong>40%
ROS导航功能包 自主导航机器人定位/建图/路径规划 <Strong>【==>                   】</Strong>20%
北斗GPS软件接收机 GPS-L1/BDS-B1 软件接收机 <Strong>【==>                   】</Strong>20%
PocketSDR 带射频前端的后处理 GNSS 软件接收机 <Strong>【=>                     】</Strong>10%

🛠 记录一些我看到过的项目,其中加粗的项目会在本仓库介绍 🛠

类型 项目/网址
GNSS 数据处理 RTKLIBRTKLIB-Demo5learning_rtklibRTKLIB-Cmakertklib-pyrtklib_ros_bridgertkrcv_rosGAMPGinangoGPSgoGPS_JavaBNCGFZRNXgeorinexGAMIT/GLOBKGraphGNSSLibNet_DifflaikaPOSGOPride-PPPARPPPwizardGPSTkG-NUT/AnubisTeqcRNXQCEBernesegLABRobustGNSSGAMPII-GOODntriprtcmcorsVrsCasterogrpcentipedeTouchRTKStationrtkbasePPP-BayesTreeFASTgnsspygnssgoraPPPidgnss-compass-rosgnss-attitudeFCB-FILESMG_APPgps_amcldeep_gnss TSAnalyzerGNSS_TimeSeries_ViewersRTKinGSSgnss_lib_pyPNT-IntegrityGDDSQGOPDDgroopsOREKITrt-clk-servicepolarisgnss-tecutmPW-from-GPSGNSS-Multipath-Analysis-Softwaregnss-multipath-detectorGNSS-ShadowinggnssIR-pythongnssr-synthgnssIR_matlab_v3gnssreflgnss2tws-greengnssSNRmphwGNSSR_MERRBySPyGPSClientSTM32Primer2-GNSS-TrackerSTM32-GNSSGNSSTimeServerGNSS_ClockAgOpenGPSnmea_msgsLilyGo-LoRa-SeriescssrlibHASlibOSNMAgalileo-osnmaGNSSAMSppp-toolscssrlibgpstestiSniff-GPShypatiagps-measurement-toolsFE-GUTgnss-RXPypredictnovatel-gps-driverGPSToolbox 投稿barbeau-awesome-gnss 整理hdkarimi-awesome-gnss 整理mcraymer 整理
GNSS 信号处理 GNSS-SDRSoftGNSSSoftGNSS-pythonPocketSDRGNSS-SDRLIBnut2ntBeagle_SDR_GPSFlyDog_SDR_GPSFlyCat_SDR_GPSBDS-3-B1C-B2a-SDR-receiverFGI-GSRxsydrmulti-channel-gnssGNSS-GPS-SDRSDR-GPS-SPOOFgpsSnapperGPSsnapshot-gnss-algorithmsgnss-sdr-1ppsSatDumpgps-sdr-simbeidou-sdr-simgalileo-sdr-simgps-qzss-sdr-simmulti-sdr-gps-simSignalSimGPS_GAL_SSSgreta-otoBD3_FPGAGNSS-matlaboresat-gps-software/hardwareMAX2769FT2232HSDR-GB-SARgps_rf_frontend_simGNSS-VHDLGNSS-Metadata-Standardgnss-basebandGPSMAXIM2769b-Analog-GPS-data-receiverGNSS_FirehoseGNSS-DSP-toolshard_sydrB1C_Signals_SimulationCU-SDR-CollectionESP32_SDR_GPSSTM32F4_SDR_GPSFast_GNSS_ReceiverMATLABgnss-sdr-rs
INS、组合导航 PSINSKF-GINSOB-GINSTGINSPPPLIBCompassGINav_v2.0GINAVIGNAVMATLAB-GrovesGIOW-releaseimu_x_fusionOpenIMUroninRINS-Winvensense-imueagleyeai-imu-drNaveCodeProInertialNavallan_variance_roseskf_localizationimu_gnss_eskfnav_matlabgnss-ins-zuptkalibrkalibr_allanimu_data_simulationGPS_IMU_Kalman_FilterTightlyCoupledINSGNSSstm32f4_mpu9250mpu6050mpu9250FastIMUWheel-INS GNSS-INSimu_toolsIMUCalibration-GestureImuCalibration-Poistionimu_utilsGyroAllangnss-ins-simMEMS-IMU-Denoisingnav_matlabagrobotIBG_EKF_TCZCJ_GNSSINS_DeepIntegration Smartphone_IMU_GPSINSTINCTGait-TrackingMachine_Learning_GNSS_IMU_IntegrationImuCalibration-Poistion ADIS16470_Arduino_TeensySeeed_ADIS16470iXR_GNSS-IMU_TightlyCouplingProgramIMU-study 整理
视觉 SLAM Vins-Mono/FusionORB-SLAM3/2/1OpenVINSOpenvslamsvosvo_promsckf_viookvisDM-VIODSODSOLNeRFElasticfusionOpenMVGMeshroomKintinuousMvisionrgbdslam_v2camera_calibrationawesome-visual-slam 整理Recent_SLAM_Research 整理Awesome CV Works 整理Lee-SLAM-source 整理awesome-slam 整理Awesome_Dynamic_SLAM 整理awesome-NeRF 整理visual-slam-roadmap 整理Visual_SLAM_Related_Research 整理vins-application 整理Recent-Stars-2024 整理Visual Navigation 整理
激光 SLAM GmappingCartographerhector-slamLeGO-LOAMLOAM-LivoxA-LOAMSuMaLIO-SAMFAST-LIO-SAMFAST-LIOLIO-MappingCT-ICPCoco-LICBoW3DCloudViewerLT-Mapperawesome-lidar 整理awesome-point-cloud-place-recognition 整理awesome-sar 整理awesome-radar-perception 整理awesome-deep-point-cloud-compression 整理awesome-point-cloud-analysis 整理
多源融合 GICI-LIBGVINSGLIOInGVIOMulti-Sensor-FusionMSF_developedMINSmars_libraw-gnss-fusionESEKF_IMU_GNSS_Lidarimu_x_fusionIC_GVINSFAST-LIVOVINS-GPS-Wheelsync_gps_lidar_imu_camcarvigLVI-SAMekfmonoslamNaveGorobot_localizationYabLocmulti_sensor_calibrationCalibration-Is-All-You-NeedAwesome-LiDAR-Camera-CalibrationAwesome-LiDAR-IMU-calibration 整理
参数估计 kalmanbayes-filters-libfilterpyDynAdjustKalmanFilterCarND-Extended-Kalman-Filter-ProjectKalman-and-Bayesian-Filters-in-PythonComparison-of-UKF-CKF-EKFTinyEKFAdjustment-Of-Traverse-NetworkKalman-Filter-for-Sensor-FusionEmbedded_UKF_Library
室内定位、手机定位 uwb-localizationLocationSensorServerIndoor-PositioningUWB-Nodepositioning-algorithms-for-uwb-matlabUWB_DualAntenna_AoAPedometerahrsios_loggerGetSensorData_AndroidLoRa_2G4_localizationDeadReckoningdead-reckoningSmartlight_UWBsenslogsvrsPedestrian-Dead-ReckoningUWBPositioningutil-uwb-datasetRSSI-Dataset-for-Indoor-Localization-FingerprintingAwesome-Human-Activity-Recognition 整理Awesome-WiFi-CSI-Research 整理
规划控制 navigationnavigation2 ApolloAutowarePX4-AutopilotardupilotmarsAvemdRehmFlightPathPlanningMissionPlannerslam_toolboxneonavigationrmclnavigatorself-driving-carNamelessCotrunQuad_V1.0Awesome-Self-Driving 整理Autopilot-Notes 整理
AI tensorflowkerasPaddlepytorchTheanowekancaffetorch7yolov5DeepSpeedtransformersacceleratemindsporejittoroneflowx-deeplearningMegEnginencnnFinRLspinningupbaselinesstable-baselinesmxnetMegEngineTensorRTdarknetdarknet_rosmxnetCNTKmatconvnetchaineronnxTheanoros_deep_learningawesome-machine-learning 整理DeepLearning 整理awesome-deep-learning 整理Deep-Learning-Papers-Reading-Roadmap 整理awesome-deep-learning-papers 整理awesome-chatgpt-prompts-zh 整理awesome-machine-learning-cn 整理Awesome-PyTorch-Chinese 整理
常用库 EigenOpenBLASGflagsGlogeasyloggingppCeres-Solverg2ogtsamYaml-CppOpenCVPCLBoostbetter-enumsDBoW2matplotlib-cppprogressbargoogletest
开源数据集 PSINSi2NAV-awesome-gins-datasetsweisongwen-UrbanNavDatasetUrbanLocoPPPLib-Datasetgici-open-datasetGVINS-Datasetcomma2k19SJTU_GVIRailway-Precise-Localizationprecision-gnssAwesome_list_of_free_smartphone_GNSS_datasetsSYSU-Campus-GVI-DatasetGVI-SYSU-Outdoor-Indoor-DatasetS3ELBL-AQUALOC-Datasetvio-gnss-datasetcomma2k19IMU_datasetHR_IMU_falldetection_datasetimu_comparison_dataHumanInertialPoseH2LIDFusionPoserECC_datasetTRIPODbroadBROAD_IMU_datasetHAR_IMU_Stretchuwb-drone-datasetUWB_TDOA_datasetIndustrial-UWB-localization-CIR-datasetIR-UWB-Radar-Signal-Dataset-for-Dense-People-CountingUWB_Datasetuwb-nlos-human-detectionsnapshot-gnss-data1/2IURHA2023KITTI数据集EuRoC数据集TUM数据集Oxford数据集ICL-NUIM数据集RGB-D对象数据集Dynamic-Scenes 数据集awesome-slam-datasets 整理
Github美化 SerialChartawesome-github-profile-readme-chineseawesome-github-profile-readmeawesome-github-profilesgithub-readme-quotesreadme-typing-svgshieldsvisitor-badgespotify-github-profilereadme-jokesgithub-readme-streak-statsmetricsgithub-readme-quotesgithub-profile-trophygithub-readme-statsgithub-readme-activity-graph
工具 zoteroCaptura GitHub520freecarrotaliyunpan
开源程序作者 池澄周峰陈超严恭敏李政苏景岚陈凯欧阳明俊余义张欣任乾王晗刘国庆高翔杨熙张春杰魏源方文涛吕少麟布树辉谢立华邹丹平李英冰稚晖君electech6JzHuai0108XikunLiu-huskitcggosWelson WENcggoszarathustrYizeZhangglobskytomojitakasucarlesfernandezrtklibexplorerGeoscienceAustraliatarozosqzssiliasamJonasBchrtJakobEngelpriseboroughCharmve
开源程序团队 i2Nav-WHUPrideLabGREAT-WHUWHULuoJiaTeamTUW-VieVSPengYu-Teamtiev-tongjitjiiv-cprgSJTU-ViSYSZJU-FAST-LabSYSU-CPNTLabamazon-scienceStanford-NavLabstanford-gps-labSnapperGPSiGNSSTIERSArduPilotuzh-rpgTuring-zeroleggedroboticsHKUST-Aerial-RoboticsUZ-SLAMLabOpenSLAM-orgsair-labopen-mmlabRoboticExplorationLabMetaSLAMAPRIL-ZJUMRPTseap-udeaLRMPUTPJLab-ADGinertialsensewvu-navLabIPNL-POLYUEmbeddedAndMultisensorSystemsLabtyrex-teamMapIVTUMFTMimLabNTUuw-ssecTinkerbug-Roboticsewine-projectLIAS-CUHKSZrwth-irt3DOM-FBKKIT-ISASdabamosurl-kaistUniStuttgart-INSgooglePRBonnjpl-xOUCTheoryGroupaau-cnsKIT-MRTcvgram-labPJLab-ADGRoboMasterGNSS-SPANoresat
编程入门学习 awesome-cnawesome-cawesome-cppawesome-python-cnawesome-c-cnawesome-cpp-cnawesome-cs-booksawesome-modern-cppawesome-ios-cnawesome-css-frameworksawesome-csHacking C++QWidgetDemo

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


💾 记录一些导航相关的网址、学习资源、导航设备 💾

类型 网址
中文期刊 测绘学报武汉大学学报(信息科学版)测绘地理信息电子学报遥感学报地理学报地理科学进展科学通报现代测绘测绘工程测绘通报信号处理中国惯性技术地球物理学报大地测量与地球动力学全球定位系统导航定位学报地理空间信息海洋预报仪器仪表学报导航定位与授时地球科学与环境学报弹箭与制导学报微电子与计算机西北工业大学学报宇航学报仪表技术与传感器测控技术系统仿真学报航天控制兵工自动化光学学报中国激光光电子激光
英文期刊 GPS SolutionsRemote SensingMeasurementSatellite NavigationJournal of GeodesySurvey reviewAdvances in Space ResearchJournal of Geophysical ResearchGeo-Spatial Information ScienceScientific ReportsIEEE Sensors JournalIEEE Transactions on Aerospace and Electronic SystemsIEEE Transactions on Instrumentation and MeasurementIEEE Transactions on Geoscience and Remote SensingOptical EngineeringPattern Recognition
导航类会议 美国导航年会 IONIEEE/ION Position Location and Navigation Symposium (IEEE/ION PLANS)International Technical Meeting (ITM)中国卫星导航学术年会 CSNC欧洲导航年会 ENC慕尼黑卫星导航峰会 (Munich Satellite Navigation Summit)欧洲地学联盟大会 (EGU General Assembly)CVPRICCVECCVBMVCROBIOICRAAAAIICCPICPRPRIJCVCVIUICIPTIPSIPPRICDIPICRAIROSRSSAIMICMAECCVACCVBMVCTPAMITIPInternational Conference on 3D Vision
文献下载网站 知网万方维普Bing学术百度学术Sci-HubarxivResearchGate思谋学术-谷歌学术镜像标准网发现报告中国国家图书馆国家数据专利检索及分析
各系统、分析中心官网 BDSGPSGLONASSGalileoQZSSIRNSSMGEXIGSIGMASITRFIGS标准IGS站iGMASIAGWDSIUGGGGOS、CNES、IAC、SHAO、CODE、GFZ、ESA、WHUBKGCDDIS、ING、中国卫星导航系统管理办公室测试评估研究中心gpsworldInside GNSSGNSS Calendar时间转换查询灰机wiki卫星百科Advanced Navigation
导航软件/设备厂商 Awesome_GNSSreceivers 整理Ublox诺瓦泰天宝徕卡意法半导体JavadSeptentrioSpectra GeospatialSXblueNavComGeneq和芯星通北斗星通华力创通创宇星通华测导航千寻位置六分科技思南导航南方测绘合众思壮移远通信北云科技格林恩德中电科星河北斗中电科网络通信研究院(五十四所)创新微米度测控通宇通信天奥电子九洲北斗云智北斗海积信息际上导航博通集成天硕导航AOSenseKearfottAesculap泰雷兹博世SensonorInvenSense赛峰集团SBG SystemsOOXTS诺格霍尼韦尔OptolinkiXblue超核电子原极科技奥比中光浩如科技凌思科技矽睿科技瑞芬科技北微传感元生创新维特智能智腾微电子北斗时代科技清研讯科喜讯科技沃旭通讯瑞达科讯美迪索科泰浩微RealSense申稷光电司岚光电奥比中光科力光电禾赛科技基恩士锐驰激光EAI科技Kinect海川润泽四信物联网钦天导航思为无线光鉴科技图漾科技微深联创航天宏图中煤航测迈普时空四维图新正元地信亿力吉奥恒华伟业苍穹数码九成中芯欧比特航宇微二十一世纪空间技术应用中科星图智腾微电子卡尔曼导航导远电子梦芯科技纵目科技华大北斗国科微电子泰斗微电子北方导航莱赛导航
芯片厂商 恩智浦微芯瑞萨高通意法半导体AMDARM英飞凌德州仪器新唐罗姆三星电子东芝海力士美光赛普拉斯亚德诺莱迪思思佳讯博通Maevell菲菱科思CISCO安森美兆易创新乐鑫科技沁恒微电子高云半导体复旦微电子宏晶科技摩尔线程芯动科技海思半导体平头哥紫光集团长江存储长鑫存储易灵思
计算平台 JetsonArduinoESP32STC89C51STM32GD32CH32ZYNQ香橙派RK3588NanoPi泰山派RockPi
淘宝京东店铺 北天墨子号科技南方测绘体感中国移远千寻位置全方集思宝深圳天工测绘思南导航浩如科技维特智能北云科技原极科技凌思科技啊路比电子超核电子瑞芬科技蓝尊科技北微传感精讯畅通华信红心天线维信天线亚博智能微雪电子轮趣科技幻尔机器人youyeetoo开源硬件商城天之博特合宙正点原子野火Speedseeed芯板坊Abrobt创乐博米尔科技嘉立创微相科技我爱开发板璞致电子香橙派EAI北醒司岚SenkyLaser宇树科恩光电骆鸵互娱科技奥比中光韦东山老师个人店 WeAct StudioOpenJumper开源SDR实验室友善alinx
知乎博主 Random Walker迷途小书童任乾吴桐Hyperionyangongmin曹小白左家垅宋威龙咖啡萝卜丝杨熙Welson WEN枯荣有常计算机视觉life半闲居士邱笑晨ChurlaaaaaaaRealcat刘国庆泰伦斯-Ternence鱼香ROS行知SLAMHyperionYusheng李想清风
CSDN博主 Random-Walker辉——书生意气GISer.Wang他人是一面镜子,保持谦虚的态度随心乐行十八与她Lucid_Sheep卡尔曼的BD SLAMer梧桐Fighting路痴导航员魔方的块枯荣有常WHU-学渣GNSS初学者LZ_CUMTicebeartyst08hyisoeunbiliverbalMy.科研小菜鸡沃斯故我在什么都不会的小澎友李太白lx非正式定位算法人不学习就落后学测绘的小王GNSS-by flying fish如阳光如你ManiiCharmvejr9910开源SDR实验室difudan4777Amentia outsiderJANGHIGH
微信公众号 不迷途导航程序员慧天地自动驾驶之心3D视觉工坊中国北斗卫星导航系统古月居中国测绘学会计算机视觉life卫星导航国际期刊卫星应用泡泡机器人SLAM经纬石旁话遥测i2Nav多源智能导航实验室GNSS与自动驾驶导航员学习札记测绘家绘长安中国卫星导航年会
个人网站 无处不在的小土吴言吴语小孙同学R2CodingRealCatUinIOplt-labs廖雪峰bugstack酷壳Jakob Engel鱼香ROSLazyTomatoLab
技术社区论坛 w3cschool牛客网LeetcodeLintCode博客园CSDN掘金简书腾讯云社区阿里云社区开发者头条GitChat科学网知乎思否v2exTutorialspointGeeksforGeeksStack Overflowdev.ioDZoneBytesGoogle Developers菜鸟教程CodinGameCourseraApeclass51CTO吾爱破解慕课网中国大学MOOC马克笔记21IC电子工程专辑电子设计技术Eetop立创Hub电子森林电子发烧友与非网EDA365电子工程世界阿莫电子开源中国图灵社区博文视点地信网理工酷计算机视觉life深蓝学院硬禾学堂古月居鱼香社区正点原子所有产品和资料亚博智能资料
电子书下载 书栈网脚本之家码农之家绿色资源网鸠摩搜书计算机书籍控淘链客hello girl工联信息网IT熊猫极客图书搬书匠
导航视频教程 严恭敏-卡尔曼滤波与组合导航i2NAV-惯性导航i2NAV-组合导航斯坦福GNSS公开课王茂松-导航系统原理吴德伟-导航原理高成发-GNSS原理哈工大-GNSS原理朱家海-惯性导航系统机器人工匠阿杰-ROS入门杨旭-GNSS接收机赵乐文-开源GNSS数据处理软件介绍赵乐文-多模卫星导航定位与应用介绍冰菓的RTKlib&GAMP泰伦斯-GNSS伪距单点定位大胡子刘师傅-组合导航入门小虎哥-机器人SLAM导航核心技术与实战赵玉新-导航定位系统船舶定位与导航邓岳川-GNSS原理国科大-智能机器人系统东南大学-智能汽车技术浙大-自主移动机器人北理工-无人驾驶车辆武大-测绘学概论武大邱卫宁-误差理论与测量平差基础卡尔曼滤波器-目标追踪计算机视觉life-付费课程深蓝学院-付费课程硬禾学堂-付费课程古月居-付费课程
导航考研院校 长安大学测绘学院浙工大信息工程学院安理工测绘学院中山大学地科学院中山大学电子通信学院西工大自动化徐矿测绘学院合工大测绘学院滁州学院地信学院河海地科学院南航自动化学院南航航空学院南理工自动化学院南信大自动化学院南信大遥感测绘学院南邮自动化学院南邮地信学院南师大地科学院东南大学仪科学院东南大学交通学院清华仪科学系北大遥感地信研究所北大地空学院武大测绘学院武大GNSS中心武大测绘遥感国重武大遥感学院武大珞珈实验室武大南极研究中心中国测绘科学研究院中国科学院精密测量研究所中国科学院国家授时中心中国科学院空天信息创新研究院华东师范地信学院哈工大智能学院同济测绘学院同济电信学院北建测绘学院武理工航运学院武理工资环学院山科大测绘学院山建测绘学院上交感知学院北理工自动化学院国科大智科学院西南交大地环学院河南理工测绘学院兰州交通测绘学院中南地信学院东北大学自动化学院湖南科技大学资环学院重邮自动化学院华中科技自动化学院浙大控制学院
国内知名团队官网 武大牛小骥i2NAV武大耿江辉Pride武大钟燕飞RSIDEA武大姚剑CVRS武大郭迟BRAIN武大张祖勋数字摄影测量与计算机视觉研究中心上交感知与导航研究所同济李博峰GNSS研究团队
SLAM研究团队 香港科技大学空中机器人实验室香港科技大学机器人与多感知实验室 RAM-LAB香港中文大学天石机器人实验室浙江大学 CAD&CG 国家重点实验室美国密歇根大学感知机器人实验室(PeRL)美国卡耐基梅陇大学机器人研究所美国加州大学圣地亚哥分校语境机器人研究所美国特拉华大学人感知与导航组美国麻省理工学院航空航天实验室美国麻省理工学院 SPARK 实验室美国麻省理工学院海洋机器人组美国明尼苏达大学多元自主机器人系统实验室美国宾夕法尼亚大学 Vijay Kumar 实验室美国麻省理工学院 Robust Robotics Group美国佐治亚理工学院智能视觉与自动化实验室加拿大蒙特利尔大学机器人与嵌入式 AI 实验室加拿大舍布鲁克大学智能、交互、综合、跨学科机器人实验室瑞士苏黎世大学机器人与感知课题组瑞士苏黎世联邦理工 Vision for Robotics Lab瑞士苏黎世联邦理工计算机视觉与几何实验室瑞士苏黎世联邦理工自主系统实验室英国帝国理工学院戴森机器人实验室英国牛津大学信息工程学德国慕尼黑工业大学计算机视觉组德国马克斯普朗克智能系统研究所嵌入式视觉组德国弗莱堡大学智能自主系统实验室德国波恩大学摄影测量与机器人实验室西班牙萨拉戈萨大学机器人、感知与实时组 SLAM 实验室西班牙马拉加大学机器感知与智能机器人课题组奥地利格拉茨技术大学计算机图形学与视觉研究所波兰波兹南工业大学移动机器人实验室澳大利亚昆士兰科技大学机器人技术中心澳大利亚机器人视觉中心日本国立先进工业科学技术研究所
实用工具 NotePad++ThunderbirdMSys2TyporaEverything进程截杀器百叶窗飞书芦笋幕布ProssOnEV 录屏XMindMobaXtermPotPlayerZoteroWinMerge火绒360SnipasteQuicker超级公式冰点文库下载器Bandizip天若 OCRDropitfluxQuickLookGeek Uninstaller日期计算器

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


📚 推荐书籍 📚

image-20240125155004417

这些都值得买本纸质书反复看,但为了方便随时看和复制公式,我也找来了电子版,文件较大,所以放在了另一个仓库里,有需要可以下载,侵删!!!

 👆👆👆  转到项目   or   回到开头   👆👆👆


本仓库介绍的开源程序

01-RTKLIB:最知名的 GNSS 数据处理

RTKLIB 是全球导航卫星系统 GNSS 开源定位解算程序包,由日本东京海洋大学的高须知二(Tomoji Takasu)开发,由一个核心程序库和多个命令行程序界面程序组成;代码规范、功能完善、可拓展性好,许多 GNSS 导航定位程序开源程序都是基于 RTKLIB 二次开发衍生而来,适合作为 GNSS 入门学习的代码。

RTKLIB

  • 支持多个 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服务器函数、下载函数。

推荐阅读:不迷途导航程序员:RTKLIB 源码阅读笔记

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


02-GAMP:基于 RTKLIB 的后处理双频 PPP

GAMP 全称 (GNSS Analysis software for Multi-constellation and multi-frequency Precise positioning),在 RTKLIB 的基础上,将一些些多余的函数、代码简洁化,精简出后处理双频 PPP 部分,并对算法进行改进增强。对初学者非常友好,在我接触过的导航定位开源程序中算是最简单的,是用纯 C 语言编写,由于做了简化,代码比 RTKLIB 原版还要简单;使用也非常简单,软件包里直接有 VS 工程,和组织好的配置、数据文件,简单改改路径就能算出结果。

GAMP

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


03-PSINS:MATLAB-C++ 捷联惯导工具箱

PSINS(Precise Strapdown Inertial Navigation System 高精度捷联惯导系统算法)工具箱由西北工业大学自动化学院惯性技术教研室严恭敏老师开发和维护。工具箱分为Matlab和C++两部分。主要应用于捷联惯导系统的数据处理和算法验证开发,它包括惯性传感器数据分析惯组标定初始对准惯导AVP(姿态-速度-位置)更新解算、组合导航Kalman滤波等功能。C++部分采用 VC6 编写,可以用于嵌入式开发。

image-20231224221345981

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


04-Ginan:澳大利亚 PPP 定位/定轨程序

澳大利亚

基于 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   回到开头   👆👆👆


05-goGPS:MATLAB-GNSS 数据处理

goGPS是一个处理GNSS原始数据的软件,最初支持单频低成本GPS接收机数据,但现在也可以用来处理多频多系统GNSS数据。它实现了多种算法来解算,目前包括两个主要的最小二乘法(LS)引擎:一个基于于组合观测数据(例如无电离层观测);另一个能够使用所有的频率和记录的信号数据,而不进行任何组合(电离层延迟是正常方程的参数)。组合和不组合的引擎都支持PPP、NET解算。目前只支持静态测站的解算,还不能动态解算。

goGPS Main Window

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


06-GICI-LIB:GNSS+INS+Camera 图优化融合定位

GICI-LIB 全称 GNSS/INS/Camera Integrated Navigation Library,是上海交大最新开源的一套基于图优化的 GNSS+INS+Camera 集成导航定位库。基于 RTKLIB 处理 I/O 流、编解码;基于 OKVIS 因子图优化类型封装;基于 SVO 做特征提取。以 GNSS 为主,再加入 INS、Camera 做组合,支持相当多的数据格式、定位模式,包含很多 GNSS 因子、惯导因子、视觉因子及运动约束。以处理实时数据为主,后处理也采用模拟实时数据处理的方式进行。

典型应用方式如下图:

1689512108793

包含以下估计器:

1690024555067

补充:GICI 还在持续更新,前段时间看作者还准备加 PPP 紧组合模式。

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


07-SoftGSS:MATLAB GPS L1-C/A 码软件接收机

SoftGNSS 是《软件定义的GPS和伽利略接收机》附带的程序,MATLAB 编写,实现了一套最简单的 GNSS 软件接收机功;输入经过天线接收,射频前端滤波下变频后的数字中频信号文件,进行 GPS L1 C/A 码的捕获跟踪,生成伪距观测值,解译导航电文,最小二乘定位解算;代码量很小也很简单,适合作为 GNSS 基带数字信号处理的入门阅读程序。主要执行流程如下:

SoftGNSS流程图

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


08-VINS:光流法视觉惯性 SLAM

与双目相机和 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 的结合上,它采用了四元数积分方案,与视觉信息进行紧耦合,具有很强的鲁棒性和定位精度。

img

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


09-ORB-SLAM3:特征点法视觉惯性图优化 SLAM

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 的重投影模型一同进行图优化,使得预积分残差以及重投影误差共同达到最小,以此来完成视觉信息和惯导系统的紧耦合。并且它采用了更为快速的初始化方法,以及丢失跟踪后利用惯导系统快速重定位方法。此外,它还采用地图集的方式,实现了对大场景的定位建图。这也是如今众多开源方案中,功能最强大、最精准的方法。系统框图如下:

image-20230815102741960

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


10-GNSS-SDR:基于 GNURadio 的 GNSS 软件接收机

GNSS-SDR(GNSS: Global Navigation Satellite Systems、SDR: Software Defined Receiver),在 GitHub 上搜索 “GNSS” 排第一的仓库,收藏量也高达 1.3k。与上面列举的 RTKLIB、GAMP 等 GNSS 数据处理软件不同,GNSS-SDR 直接对信号进行处理,是一个用 C++ 实现的 GNSS 软件接收机开源项目。有了 GNSS-SDR,用户可以通过创建一个图来构建 GNSS 软件接收器,图中的节点是信号处理块,线条代表它们之间的数据流。该软件为不同的合适射频前端提供接口,并实现从接收器一直到 PVT 解算的所有功能。它的设计允许任何形式的定制,包括信号源、信号处理算法、与其他系统的互操作性、输出格式的互换,并为所有中间信号、参数和变量提供接口。

软件旨在促进新信号处理技术的发展,提供一种简便的方法来衡量这些技术对接收机整体性能的影响。通过对每个软件模块进行系统功能验证,以及使用真实和合成信号对整个接收机进行实验验证,对所有流程进行测试。

目前的技术仍无法以卫星发射频率(约 1.5 GHz)对信号进行数字处理,因此我们仍需要一个射频前端,将信号降频到较低频率,在此过程中进行一些滤波和放大,并以一定的速率进行采样,将量化的数字原始采样流传输到计算平台(通过 USB、以太网等)。

软件接收机可在普通的 PC 中运行,并通过 USB 和以太网总线为各种市售或定制的射频前端提供接口,使处理算法适应不同的采样频率、中间频率和采样分辨率。它还可以处理存储在文件中的原始数据样本。软件对可用的卫星信号进行信号采集和跟踪,对导航信息进行解码,并计算定位算法所需的观测值,最终实现完整导航解决方案。处理输出可存储在 RINEX 文件中,或通过 TCP/IP 服务器以 RTCM 3.2 消息形式实时传输。导航结果以 KML 和 GeoJSON 格式存储。

GeneralBlockDiagram

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


11-TGINS:基于 RTKLIB 的 GNSS/INS-EKF 紧组合

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


12-KF-GINS:GNSS/INS-EKF 松组合 Demo

KF-GINS 是武大 i2Nav 实验室开源的一套松组合导航程序;可以读取 IMU 数据文件、GNSS 结果文件,进行松组合解算,计算位置、速度、姿态、陀螺仪零偏、加速度计零偏、陀螺仪比例、加速度计比力,共 21 维状态向量。代码量小,有详细的文档、注释和讲解,代码结构很好理解,有一些可以学习的工程技巧。

kf-gings structure

  • 项目开源地址: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   回到开头   👆👆👆


13-OB-GINS:GNSS/INS-FGO 松组合 Demo

武大 I2NAV 开源,基于图优化的 IMU/GNSS 松组合解算,IMU 预积分算法相比以视觉为主的 ORB-SLAM3、VINS 要精细一些。

OB-GINS 执行流程

相关链接:

  • 开源地址: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   回到开头   👆👆👆


14-ROS导航功能包:自主导航机器人定位/建图/路径规划

功能简单来说,就是根据输入的里程计等传感器的信息流和机器人的全局位置,通过导航算法,计算得出安全可靠的机器人速度控制指令。广泛用在一些对可靠性要求没那么高的自主导航机器人场景中,比如扫地机器人、物流机器人等。

image-20231111160631063 img

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


15-北斗GPS双模软件接收机:GPS-L1/BDS-B1 软件接收机

《北斗GPS双模软件接收机》书配套程序,MATLAB 编写,程序运行相当耗时,70s 的示例程序要算几个小时。

GnssRcvr_V14程序文件结构

  • 网址:http://www.gnssbook.cn/book2/index.html

  • 程序下载:http://www.gnssbook.cn/book2/GnssRcvr_V14.rar

  • 实例北斗GPS双模中频数据文件下载:UTREK210_16369000_70s.DAT,提取码: 829c

 👆👆👆  转到文件夹   or   回到开头   👆👆👆


16-PocketSDR:带射频前端的后处理 GNSS 软件接收机

PocketSDR 是 RTKLIB 作者写的一款 GNSS 软件接收机,包含一个射频前端和一套后处理 GNSS 接收机程序(只支持后处理),实现了一整套完整的 GNSS 接收机功能,采用 C、Python 编写,支持几乎所有的 GNSS 信号(比商业接收机支持的还要多),目前 0.8 版本的程序支持的信号如下:

  • GPS: L1C/A, L1CP, L1CD, L2CM, L5I, L5Q,
  • GLONASS: L1C/A, L2C/A, L3OCD, L3OCP,
  • Galileo: E1B, E1C, E5aI, E5aQ, E5bI, E5bQ, E6B, E6C,
  • QZSS: L1C/A, L1C/B, L1CP,L1CD, L1S, L2CM, L5I, L5Q, L5SI, L5SQ, L6D, L6E,
  • BeiDou: B1I, B1CP, B1CD, B2I,B2aD, B2aP, B2bI, B3I,
  • NavIC: L5-SPS, SBAS: L1C/A, L5I, L5Q
image-20240110092301571

 👆👆👆  转到文件夹   or   回到开头   👆👆👆