• 2024-09-13vslam 归档
    HowtoimplementvisualSLAM?IntroductiontoVisualSLAMvslamstudyVisualSLAMTutorial--CMUTheBasicsaboutBundleAdjustmentProf.Dr.CyrillStachnissBundleAdjustment–AModernSynthesis视觉SLAM十四讲(第二版)习题解答视觉SLAM十四讲:从理论到实践
  • 2024-09-11SLAM 中的 逆深度 是什么?
    在SLAM(同步定位与地图构建)中,逆深度是指深度的倒数。深度表示从相机到物体的距离,而逆深度则是这个距离的倒数,即:\[\text{逆深度}=\frac{1}{\text{深度}}\]逆深度的概念深度:在计算机视觉中,深度通常是指从摄像头或传感器到某个物体表面的距离,即点的三维坐标中的(Z)轴距离。
  • 2024-09-06SG-SLAM: A Real-Time RGB-D Visual SLAMToward Dynamic Scenes With Semantic andGeometric Information解析
    目录一、引言二、相关工作A.动态场景中的SLAMB.语义建图三、系统概述A.系统框架B.目标检测C.极线约束D.动态特征剔除策略E.动态特征剔除策略四、实验结果A.基于TUMRGB-D数据集的性能评估B.BonnRGB-D数据集的性能评估 C.动态特征剔除策略的有效性D.时间分析
  • 2024-09-03视觉SLAM十四讲学习笔记-非线性优化的状态估计问题
    视觉SLAM十四讲学习笔记-非线性优化的状态估计问题经典SLAM模型的位姿可以由变换矩阵来描述,然后用李代数进行优化。观测方程由相机成像模型给出,其中内参是随相机固定的,而外参则是相机的位姿。由于噪声的存在,运动方程和观测方程的等式必定不是精确成立的。得到的数据通常是
  • 2024-09-01slam回环检测
    回环检测,又称闭环检测,是SLAM(SimultaneousLocalizationandMapping,即同时定位与建图)技术中的一个重要组成部分。它指的是机器人识别曾到达某场景,并利用这一信息来优化自身位姿估计和地图构建的过程。一、回环检测的重要性在SLAM建图过程中,视觉里程计(VO)通常仅考虑相邻时间
  • 2024-08-20换个思路搞科研,一年发10篇顶会顶刊
     1、SLAM/3DGS/三维点云/医疗图像/扩散模型/结构光/Transformer/CNN/Mamba/位姿估计顶会论文指导2、基于扩散模型的跨域鲁棒自动驾驶场景理解3、基于环境信息的定位,重建与场景理解4、轻量级高保真GaussianSplatting5、基于大模型与GS的6Dposeestimation6、在挑战性
  • 2024-08-11How to buildORB-SLAM on ubuntu in 2024?
    1removeGTK3sudoaptremovelibgtk3*2installopencvdepenenciessudoaptinstallbuild-essentialcmakegitpkg-configlibgtk-3-dev\libavcodec-devlibavformat-devlibswscale-devlibv4l-dev\libxvidcore-devlibx264-devlibjpeg-devlibpng-devlibt
  • 2024-08-03(11-1)基于SLAM的自主路径导航系统:背景介绍+项目介绍
    在本章的内容中,通过具体实例展示了实现一个自主路径导航系统的过程。本项目利用TurtleBot3机器人和ROS框架实现了自主路径规划功能,通过SLAM技术进行实时地图建立和定位,并结合move_base包实现路径规划。用户可以根据需求选择不同的SLAM方法,包括gmapping、cartographer、hector
  • 2024-08-014DRadarSLAM方案部署
    4DRadarSLAM方案部署参考教程:GitHub-zhuge2333/4DRadarSLAMcp-Google云端硬盘Ubuntu20.04LTS上运行4Dradar_slam_20.044dradar-CSDN博客1.查看系统环境要运行本仿真程序,需要保证当前环境为ubuntu20.04+ros-noetic-desktop-full查看ubuntu版本:rosnoetic@rosnoetic-
  • 2024-07-26SLAM中的各种地图
     1、地图的不同分类方式地图有多种不同的分类方式,网上有不少帖子介绍各种各样的地图,但并没有非常完整的总结地图应该怎么分类。论文[1]中将地图分成以下几种:拓扑地图、度量地图、度量-语义地图和混合地图。我觉得按照这种方式进行归类相对比较科学。1.1拓扑地图拓扑地图(Topo
  • 2024-07-22【SLAM】最最最简单的直线拟合情形下的多种求解方法
    本文我们讨论一个最最最简单情况下的拟合的情形,并尝试使用不同的方法来进行求解。假如有一组数x1,x
  • 2024-07-06SLAM 精度评估
    SLAM精度的评估有两个最重要的指标,即绝对轨迹误差(ATE)和相对位姿误差(RPE)的均方根误差(RMSE):绝对轨迹误差:直接计算相机位姿的真实值与SLAM系统的估计值之间的差值,首先将真实值与估计值的时间戳对齐,然后计算每对位姿之间的差值,适合于评估SLAM系统的性能。相
  • 2024-07-03ros-slam-microros-发布里程计odom
    获得了里程计数据后,下一步就是将里程计通过MicroROS话题发布到ROS2系统中。一、了解接口在ROS2已有的消息接口中:nav_msgs/msg/Odometry用于表示里程计数据,该接口内容如下:ros2interfaceshownav_msgs/msg/Odometry---#Thisrepresentsanestimateofapositio
  • 2024-07-03ros - slam - microros - 里程计原理-速度积分
    前面两节中我们完成机器人底盘正逆解的计算,我们通过机器人的运动学逆解完成了机器人实时的角速度和线速度的测量,那我们能不能利用对线速度和角速度的积分,计算机器人当前的位置呢?答案肯定是可以的,那么本节我们就来编写代码实现机器人的里程计。  二、编写代码先修改Kinematics
  • 2024-07-03【ORB_SLAM的安装报错】—— 使用./build.sh编译ORB_SLAM源码时出现报错:/usr/bin/ld:找不到 -lboost_serialization的解决办法
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、/usr/bin/ld:找不到-lboost_serialization1.问题描述2.解决(1).下载源码(2).编译安装总结前言Boost库是一组由C++标准库的扩展库组成的集合,旨在为C++开发者提供高质量和功能丰
  • 2024-07-03【视觉SLAM】 十四讲ch4习题
    概述视觉slam十四讲作为经典书籍,习题解答博客很多,避免重复工作,1~4和8题提供了其它博客连接。5、6、7笔者重新推导一遍并整理一些推导细节。感谢某只郭的誊抄。验证SO(3)、SE(3)和Sim(3)关于乘法成群。验证(R3,R,×)构成李代数。验证so(3)和se(3)满足李代数要求的性质。证明性质
  • 2024-07-02ros - slam - microros - 两轮差速模型运动学 - 运动学逆解
    上一节我们推导并在代码中实现了运动学正解,本节我们来学习下运动学逆解,实现给定线速度和角速度,计算出轮子达到怎样的转速才能达到这个速度。 一、逆解推导我们直接用正解结果进行求逆解即可。 二、编写代码继续在上一节中的代码Kinematics.cpp中完善即可。voidKinematics
  • 2024-07-02ros - slam - microros - 两轮差速模型运动学 - 运动学正解
    上一节了解了两轮差速运动学,本节我们线进一步的了解两轮差速正运动学的推导过程,并利用两轮差速运动学正解,来完成对小车的实时速度计算。 一、正运动学解推导两轮差速机器人是一种常见的移动机器人类型,由两个轮子和一个中心点组成。我们可以通过控制每个轮子的转速来实现移动,并
  • 2024-07-02ros - slam - microros - 两轮差速模型运动学介绍
    本节我们来了解下两轮差速运动学。一、两轮差速运动学模型两轮差速模型指机器人底盘由两个驱动轮和若干支撑轮构成的底盘模型,像turtlebot和开源机器人fishbot都是两轮差速模型。 两轮差速模型通过两个驱动轮可以通过不同转速和转向,使得机器人的达到某个特定的角速度和线速度
  • 2024-07-02ros -slam - microros- PID控制器实现
    上一节我们通过编码器完成了对机器人单个轮子的速度测量,完成了电机速度闭环控制的重要一步-反馈。 有了反馈,接着我们需要设计一个控制器来帮助我们实现这个需求,这个控制器的输入是当前的速度和目标速度,输出是应该给到电机的PWM占空比。一、PID控制器介绍PID控制器是一种广泛应
  • 2024-07-02ros2 - slam - 直流电机-编码器脉冲测量与校准
    这一节我们编写代码来尝试下是否能够读取到电机上编码器的脉冲数,并通过实验测试出小车的输出轴转速和编码器脉冲的比值。一、新建工程并导入开源库新建example25_encoder添加依赖[env:featheresp32];这是一个环境配置标签,指定了代码将运行的硬件平台和框架platform=esp
  • 2024-07-02ros2 - slam - 使用编码器测量轮子最大速度
    新建example26_max_speed_measurement 添加依赖[env:featheresp32];这是一个环境配置标签,指定了代码将运行的硬件平台和框架platform=espressif32;指定了使用的平台为Espressif32board=featheresp32;指定使用的硬件板为FeatherESP32framework=arduino;
  • 2024-07-02ros2 - slam - 编码器测速原理
    上节做完小车,遥控时小车前进时你应该会发现,小车很难走一条直线,但明明我们给到两个电机的PWM占空比都是相同的,原因在于每一个电机的硬件参数并不能完全的保证一致,所以当我们采用开环控制时,即使我们给到每个电机相同的电压,也不能让两个电机保持相同的转速。要解决这个问题我们就要
  • 2024-07-02ros2 slam - 订阅ROS2 Twist
    本节我们结合上一节电机控制以及前面章节的MicroROS话题订阅部分知识点,来实现一个可以用键盘遥控的小车。新建工程example24_ros2_car 修改配置[env:featheresp32];这是一个环境配置标签,指定了代码将运行的硬件平台和框架platform=espressif32;指定了使用的平台为E
  • 2024-07-02ros - slam - 电机控制之速度控制实验
    前面说到通过控制对应的IO上的PWM占空比即可完成对电机速度的控制。关于PWM的介绍在ROS2硬件控制篇的舵机控制中已经介绍过了,所以我们知道通过改变PWM的占空比可以实现对输出电压的大小调节。占空比越大,输出电压越高;占空比越小,输出电压越低。接着我们通过一个实验来验证下一、新建