机器人与SLAM
文章平均质量分 82
MAXLLRED
欢迎交流、分享技术心得。谢谢!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ROS2 Humble + rtabmap + D435i深度相机实现视觉惯性建图(二)—— 地图保存和查看
本文介绍了使用RTAB-Map进行3D建图与处理的完整流程。首先通过ros2命令启动深度相机建图,移动设备完成环境扫描后保存为rtabmap.db数据库文件。随后详细说明了如何通过RTAB-Map数据库查看器导出3D点云地图,包括关键参数设置(如稠密点云生成、体素降采样等)和常见问题解决方法。最后介绍了使用MeshLab查看.ply格式地图的方法,以及将.ply转换为.pcd格式并使用pcl_viewer查看点云的步骤。该流程涵盖了从建图到后期处理的完整工作链,为3D环境建模提供了实用指导。原创 2026-04-07 11:17:30 · 963 阅读 · 0 评论 -
Ubuntu22.04 + ROS2 Humble + ORB-SLAM3 保存地图格式为.pcd文件
本文详细介绍了使用ORB-SLAM3进行RGB-D建图及地图保存的完整流程。首先通过ROS2启动建图节点,使用MapViewer窗口实时显示3D地图点云和相机轨迹。然后重点说明了如何修改ORB-SLAM3源码以支持PCD格式地图保存,包括添加PCL库依赖、修改CMakeLists.txt和MapDrawer.cc文件。最后通过实际测试验证了建图功能,成功生成了map.pcd点云文件,并使用pcl_viewer工具进行可视化查看。整个过程涵盖了从系统启动、实时建图到最终地图保存的全套实现方案。原创 2026-04-13 09:43:05 · 881 阅读 · 0 评论 -
Ubuntu22.04 + ROS2 Humble + ORB-SLAM3 下从环境配置到深度相机d435实时SLAM
本文详细介绍了ORB-SLAM3在Ubuntu22.04系统上的安装部署过程。首先需要安装基础编译工具和关键依赖库(Eigen3、Pangolin、OpenCV),然后编译ORB-SLAM3核心库并集成到ROS2Humble工作空间。文章还列举了可能遇到的常见错误(如std::bad_array_new_length和doublefree问题)及其解决方法。整个安装过程包括环境准备、依赖安装、源码编译和ROS2集成等步骤,为ORB-SLAM3的后续使用提供了完整的技术支持。原创 2026-04-10 14:38:17 · 785 阅读 · 0 评论 -
ROS2 Humble + rtabmap + D435i深度相机实现视觉惯性建图(一)——环境配置
本文介绍了在Ubuntu系统中配置ROS2环境并安装RealSense深度相机驱动和RTAB-Map建图工具的完整流程。主要内容包括:1) 安装ROS2 Humble及相关依赖包;2) 通过apt安装Intel RealSense SDK和ROS2驱动;3) 通过二进制或源码方式安装RTAB-Map核心库和ROS2包;4) 测试D435i深度相机建图功能。文中推荐使用apt二进制安装方式,并提供了详细的终端命令操作步骤。最后通过启动建图节点验证环境配置是否成功。该指南适用于需要搭建ROS2环境下深度相机SL原创 2026-01-15 17:12:51 · 932 阅读 · 0 评论 -
Ubuntu 22.04/ROS2 Humble下使用Intel RealSense D435i相机
本文介绍了在ROS2环境中配置和使用Intel RealSense D435i相机的完整流程。主要内容包括:1) 安装RealSense SDK和ROS2驱动的两种方法(二进制安装和源码编译);2) 创建自定义ROS2包的结构和依赖配置;3) 详细的package.xml和CMakeLists.txt配置文件;4) 相机发布者节点的C++实现框架。文章提供了完整的代码示例和命令行操作指南,适合开发者在ROS2 Humble环境下快速部署D435i相机节点,实现图像、深度和IMU数据的发布功能。原创 2026-01-09 15:10:14 · 2708 阅读 · 1 评论 -
PCL学习——点云分割与提取
点云分割算法摘要 本文介绍了两种经典的点云分割方法:RANSAC平面分割和区域生长算法。RANSAC通过随机采样和一致性验证鲁棒地拟合平面模型,适用于含噪声数据,其核心是迭代选择最优内点集并计算平面方程。区域生长算法则基于局部特征相似性,从种子点逐步扩展区域,适合分割具有连续性的表面。文中提供了RANSAC的完整Python实现,包括平面拟合、距离计算和迭代优化过程,并演示了在合成数据上的分割效果。两种方法各具优势,RANSAC对异常值鲁棒,区域生长则能处理更复杂的几何形状。原创 2025-10-28 09:43:29 · 841 阅读 · 0 评论 -
ROS2学习——PCD到八叉树地图的转换
Ubuntu 22.04和ROS2 Humble环境下实现PCD到八叉树地图转换的简易指南。首先安装必要的ROS2包和依赖库(octomap、pcl等),然后创建ROS2包并编写转换节点代码。该节点支持从PCD文件读取点云数据,转换为八叉树格式并保存为二进制文件,同时可选发布八叉树消息。关键步骤包括参数配置、PCD文件加载、八叉树创建与更新,以及结果保存与发布。此方案提供了灵活的参数设置(如分辨率、坐标系等),适用于机器人导航与环境建模应用场景。原创 2025-10-17 17:12:18 · 615 阅读 · 7 评论 -
机器人的自主导航与探索——Autonomous Exploration Development Environment(自主探索开发环境)
摘要: Autonomous Exploration Development Environment是一个开源机器人自主导航开发平台,集成了环境感知、路径规划和仿真测试功能。其核心包含TARE/FAR/ASE三种上层规划器(分别针对未知环境探索、点对点导航和马尔科夫决策),配合本地运动基元避障和地形可穿越性分析模块。支持ROS系统下的快速部署,提供Gazebo/Rviz仿真工具,可模拟车库、隧道等复杂场景。生态中还有ISS自动驾驶平台等衍生项目,适用于无人机、自动驾驶等领域的算法开发与测试。(149字)原创 2025-10-12 17:12:22 · 1563 阅读 · 0 评论 -
解决:RVIZ2 中没有显示地图
RVIZ2地图显示问题排查指南 地图服务器已启动但RVIZ2不显示地图的常见原因包括:1)RVIZ2配置错误,需检查Map显示是否添加并正确设置话题和坐标系;2)TF坐标系缺失或不正确;3)话题不匹配;4)时间不同步。建议通过检查话题数据、节点信息和服务可用性进行诊断,必要时重新配置RVIZ2或验证地图数据完整性。典型解决步骤包括确认/map话题数据、检查TF树、重新加载地图等。 (共149字)原创 2025-08-20 10:14:11 · 1445 阅读 · 1 评论 -
ROS2学习Gazebo+RVIZ2仿真实例
本文介绍了ROS2机器人仿真项目FishBot的创建和配置过程。主要内容包括:1)创建功能包和URDF文件,定义机器人模型结构;2)编写Launch文件启动Gazebo仿真环境;3)配置键盘控制插件teleop_twist_keyboard;4)编译运行项目并设置RViz2可视化界面;5)使用rqt工具查看速度数据。文章详细说明了URDF文件中各部件(底盘、激光雷达、轮子等)的定义方式,以及Gazebo插件的配置参数,为机器人仿真开发提供了完整的技术实现方案。原创 2025-08-11 15:25:37 · 1203 阅读 · 0 评论 -
MoveIt学习——使用 MoveIt 控制机械臂移动至特定位置
本文介绍了使用MoveIt控制Panda机械臂的程序结构和目标姿态设置方法。程序结构包括初始化、参数配置(允许重规划、设置容差和速度限制)和运动执行流程(绝对/相对位置移动和预设姿态调用)。重点解析了目标姿态设置,包括坐标系基础、绝对/相对位置设置、欧拉角与四元数转换,并提供了垂直向下、水平向前等典型姿态配置示例。注意事项强调需考虑工作空间限制、奇异性避免和碰撞检测,并推荐通过打印当前位姿进行调试。该控制方案具有安全设置(10%最大速度)、容错机制和多种运动方式的特点。原创 2025-10-10 10:56:41 · 673 阅读 · 0 评论 -
Open Navigation‘s Nav2 Complete Coverage技术文档翻译
摘要: Open Navigation的Nav2全覆盖软件包集成了Fields2Cover规划系统,支持开放田地及预标注行的路径规划。提供模块化任务服务器(opennav_coverage和opennav_row_coverage)、行为树节点及导航插件,支持GPS/笛卡尔坐标,并允许动态参数配置。通过ComputeCoveragePath和NavigateCompleteCoverage接口实现路径生成与导航,适用于农业等场景。需搭配Fields2Cover v1.2.1使用,由Open Navigati原创 2025-09-25 16:58:19 · 1474 阅读 · 0 评论 -
随笔——路径规划算法汇总
路径规划是机器人和自动驾驶领域的核心技术,主要解决在障碍环境中寻找最优路径的问题。文章系统介绍了四大类算法:1)全局路径规划(如A*、RRT*等搜索算法),适用于已知环境;2)局部路径规划(如DWA、人工势场法),用于动态避障;3)全覆盖路径规划(单元分解法、回溯算法),实现区域无遗漏遍历;4)自动驾驶专用算法(分层规划、曲线插值法)。算法选择需考虑环境已知度、实时性、机器人运动能力等因素,未来趋势包括混合算法、深度学习和多机协同。不同场景需灵活组合算法以获得最佳效果。原创 2025-09-25 16:55:12 · 2022 阅读 · 0 评论 -
ROS2学习——PCL Tools 详细介绍和常用功能
PCL工具集是处理点云数据的命令行工具套件,支持.pcd格式文件操作。主要包含pcl_viewer(可视化工具)、pcl_converter(格式转换)、pcl_convert_pcd_ascii_binary(二进制/ASCII转换)等核心工具。提供点云滤波、配准、分割等功能,支持批量处理脚本编写和管道操作组合。工具集适用于自动化处理流程,pcl_viewer支持交互式查看和多点云对比,可通过快捷键调整视角和显示效果。还包含常见问题解决方案和实用技巧,如内存优化、文件修复和批量重命名等。原创 2025-09-24 10:38:35 · 952 阅读 · 0 评论 -
ROS2学习——`octovis` 和八叉树地图工具的功能与使用方法
OctoMap是一个基于八叉树的开源C++库,用于构建概率化三维地图。其核心工具包括octomap_server(实时处理传感器数据生成地图)和octovis(可视化工具)。通过递归分割立方体空间,OctoMap能高效存储多分辨率三维环境信息,支持动态更新和概率占据表示。典型使用流程为:传感器数据→octomap_server生成.bt/.ot地图文件→octovis可视化查看。安装简便(Ubuntu可用apt获取),提供多种交互操作和参数调整功能,适用于机器人导航和环境建模等场景。原创 2025-09-24 10:38:08 · 1915 阅读 · 0 评论 -
解决:fastlio使用rqt保存地图失败分析原因
FAST-LIO建图过程中出现PCD保存失败错误。主要问题是程序无法在指定路径/home/robot/d2lros2/fastlio_cs5_ws/src/FAST_LIO_ROS2/PCD/创建文件,报错pcl::IOException。解决方案包括:1)检查并创建目标目录;2)修改配置文件使用绝对路径;3)检查磁盘空间;4)临时禁用PCD保存功能。建议优先采用绝对路径方案,并确保目标目录有写权限。该问题通常由路径不存在或权限不足导致,验证目录可写性后即可解决。原创 2025-09-23 10:13:20 · 587 阅读 · 0 评论 -
ROS2学习笔记——Ubuntu 22.04查看点云.PCD文件
本文介绍了在Ubuntu 22.04上查看PCD点云文件的多种方法:1)使用PCL工具包中的pcl_viewer进行快速可视化;2)通过CloudCompare软件进行功能丰富的查看;3)利用MeshLab软件处理点云数据;4)通过Python脚本结合PCL或Open3D库进行编程查看。文章还提供了查看PCD文件基本信息的方法,并针对不同需求给出了推荐方案:轻量级查看推荐pcl_viewer,功能完整推荐CloudCompare,开发需求推荐使用Open3D+Python组合。每种方法都附有详细的安装和操作原创 2025-09-23 10:03:00 · 1282 阅读 · 0 评论 -
Fast-LIO使用——mid360.yaml配置文件代码解析
mid360.yaml是用于Livox Mid-360激光雷达的ROS 2节点参数配置文件,主要包含SLAM系统参数设置。文件分为通用参数(如话题名称、时间同步)、预处理参数(如雷达类型、盲区过滤)、建图参数(如噪声协方差、外参估计)和发布参数(如路径/地图发布选项)。关键配置包括关闭特征提取、设置点云降采样、定义地图立方体边长1000米、启用外参估计和点云保存功能。该文件完整配置了从数据采集到建图发布的整个SLAM流程参数。原创 2025-09-08 10:52:08 · 1238 阅读 · 0 评论 -
ROS2学习——使用Cartographer在ROS2 Humble和Gazebo11中进行三维SLAM建图
本文介绍了在ROS2 Humble和Gazebo11环境下使用Cartographer进行三维SLAM建图的完整流程。主要内容包括:1)系统环境搭建(ROS2、Gazebo11和Cartographer安装);2)三维SLAM配置(创建自定义配置文件和启动文件);3)Gazebo仿真环境运行与地图可视化;4)八叉树地图生成方法。通过点云数据处理和Octomap转换,可实现三维点云地图和八叉树地图的创建。文中提供了详细的代码示例和配置说明,适用于机器人三维环境建模应用场景。原创 2025-09-05 15:43:44 · 2471 阅读 · 5 评论 -
ROS2学习——使用Fast-LIO在ROS2 Humble和Gazebo 11中进行三维SLAM建图
本文介绍了在ROS2 Humble和Gazebo 11环境下使用Fast-LIO算法进行三维SLAM建图的完整流程。内容包括系统环境配置(ROS2 Humble、Gazebo 11安装)、Fast-LIO算法安装、仿真环境搭建与建图实现,以及点云地图和八叉树地图的生成与可视化方法。同时提供了故障排除建议和优化方向,适用于在仿真环境中实现高效的三维SLAM建图任务。原创 2025-09-05 15:36:14 · 1965 阅读 · 1 评论 -
ROS2学习笔记——机器人仿真调试方法
本文详细介绍了在ROS 2 Humble和Gazebo 11环境下进行移动机器人仿真调试的核心方法。主要内容包括:1)四大类常用指令:ROS 2系统诊断、话题通信、TF变换和Gazebo专用指令,列举了各指令的功能和获取信息;2)系统化的调试流程,通过"机器人不移动"的典型案例,展示了如何从系统状态检查、控制指令链路追踪、感知数据验证到TF树检查的完整排查过程;3)强调对比预期与现实的重要性,并推荐使用RViz2等可视化工具辅助调试。这些方法能有效提升机器人仿真调试效率。原创 2025-08-27 21:25:25 · 889 阅读 · 0 评论 -
ROS2学习笔记汇总目录
服务(Service)介绍及常用指令、服务实现(RCLCPP, RCLPY):启动文件(Launch)介绍与编写、ROS2常用工具(RVIZ, RQT):使用FishBot进行自主导航、使用Nav2导航API进行导航。:参数(Param)通信介绍及常用指令、参数之RCLCPP实现。:节点(Node)介绍及基本指令、海龟画图、、rqt可视化。:colcon的进阶指令、话题(Topic)介绍及常用指令。:colcon编译工具的安装及使用、常用指令。:节点启动与常用指令、功能包创建与常用指令。原创 2025-08-27 17:07:30 · 1146 阅读 · 0 评论 -
ROS2学习笔记22
本文介绍了使用FishBot进行自主导航的配置流程。首先编写launch文件,将地图和参数传递给Nav2系统,并设置仿真时间参数。接着修改CMakeLists.txt和package.xml文件,添加必要的依赖和安装配置。最后通过编译和测试验证导航功能,包括定位初始点、设置目标点、生成导航路径以及多路点导航。测试结果显示机器人能够成功按照规划路径移动,并支持通过多个中间点进行导航。原创 2025-08-21 14:49:59 · 891 阅读 · 0 评论 -
Cartographer示例代码2d建图使用IMU数据编译结果
问题摘要:修改TRAJECTORY_BUILDER_2D.use_imu_data为true后,出现机器人模型显示异常和报错。终端日志显示IMU坐标系必须与跟踪坐标系共位(误差需小于1e-5),否则会导致线性加速度转换不精确。具体报错为传感器桥接检查失败,提示需要调整IMU与跟踪坐标系的位置关系。同时rviz2中显示Global Status和RobotModel报错,可能由坐标系配置问题导致。原创 2025-08-19 19:57:30 · 617 阅读 · 0 评论 -
ROS2学习笔记19
本文详细介绍了在ROS2环境下配置Fishbot机器人进行地图构建的全过程。首先完成Cartographer安装和Gazebo+RVIZ2仿真环境配置;然后创建功能包,添加cartographer配置文件和launch文件;接着编译测试,通过Gazebo仿真环境启动建图,并遥控机器人完成地图构建;最后安装nav2_map_server保存地图数据(.pgm和.yaml文件)。文章提供了完整的代码示例和参数配置说明,特别强调了2D SLAM参数调整和常见错误的解决方法。原创 2025-08-19 17:01:38 · 1230 阅读 · 0 评论 -
Gazebo ROS 插件文件的详细分析及功能
本文分类介绍了Gazebo仿真器与ROS通信的核心插件,涵盖运动控制、传感器模拟、物理交互等六大类功能。重点解析了各类插件的具体用途,如差速驱动、相机传感器、力扭矩检测等实现原理,以及它们在自动驾驶、机械臂控制等典型场景的应用。同时说明了插件依赖关系和扩展开发方法,为构建Gazebo-ROS仿真环境提供了完整的硬件交互解决方案。原创 2025-08-17 15:31:19 · 973 阅读 · 0 评论 -
FAST-LIO和Point-LIO哪个更好?能一起使用吗?
摘要: 在项目中同时使用FAST-LIO和Point-LIO两种激光惯性里程计(LIO)算法,主要基于以下原因:(1)算法互补:FAST-LIO适合高速建图(结构化环境),Point-LIO在复杂场景(如楼梯、植被)更稳定;(2)硬件适配:FAST-LIO优化固态雷达,Point-LIO兼容机械雷达;(3)冗余设计:通过位姿融合和故障切换提升系统可靠性;(4)场景优化:根据环境动态选择算法(如开阔区域用FAST-LIO,狭窄区域用Point-LIO);(5)研究对比:用于算法性能评估。实际应用中可通过自适应原创 2025-08-16 09:21:51 · 429 阅读 · 0 评论 -
ROS2(humble)+Gazebo 部署Fast-LIO2三维建图仿真 环境搭建
本文详细介绍了在ROS2环境下搭建Fast-LIO激光雷达SLAM系统的完整流程。主要内容包括:1)创建工作空间并安装Livox-SDK2;2)配置livox_ros_driver2驱动,包括仓库拉取、编译和启动方法;3)Fast-LIO的安装与编译过程。文中特别强调了环境配置的关键步骤,如使用rosdepc安装依赖、正确设置工作空间路径,以及如何通过修改.bashrc文件实现自动source环境变量。该指南适用于需要在ROS2系统中实现Livox激光雷达与Fast-LIO集成的开发者。原创 2025-08-15 16:00:26 · 2480 阅读 · 0 评论 -
Ubuntu 22.04 安装PCL(Point Cloud Library)和Eigen库
PCL (Point Cloud Library - 点云库)是什么一个大型跨平台开源C++库,专门用于处理2D/3D点云数据(即由激光雷达、深度相机等传感器获取的空间点集合)。它提供了点云处理的全套算法工具链。核心功能点云滤波(降噪、下采样)特征提取(法线、曲率、边界)点云配准(如ICP算法,用于对齐两帧点云)分割与识别(物体分割、模型拟合)可视化(实时显示点云)I/O操作(读写.pcd等点云格式文件)在FAST-LIO中的作用直接处理原始激光雷达扫描数据:接收传感器输入的点云。原创 2025-08-15 14:09:46 · 1098 阅读 · 0 评论 -
ROS2学习笔记18
本文介绍了使用Gazebo加载URDF机器人模型的完整流程。首先通过命令行启动Gazebo并加载ROS插件,利用/spawn_entity服务加载FishBot模型。详细说明了URDF模型文件的结构配置,包括机器人底盘、激光雷达、IMU和轮子的参数设置。然后演示了多机器人仿真管理,包括查询模型列表和删除实体。最后将整个流程封装为launch文件,通过gazebo_ros包提供的spawn_entity.py节点实现自动化加载。文章还提供了模型文件解析和常见问题解决方案,为机器人仿真开发提供了实用指导。原创 2025-08-10 16:50:19 · 1351 阅读 · 0 评论 -
ROS2学习笔记17
本文介绍了ROS2中控制RVIZ2关节运动的方法和URDF模型物理属性注入的技术要点。主要内容包括:1)通过自定义节点发布joint_states消息,实现机器人轮子的连续转动控制;2)URDF模型中碰撞检测、惯量矩阵等物理属性的配置方法;3)完整示例展示了如何为FishBot机器人添加碰撞检测、旋转惯量等物理特性。文章提供了详细的代码实现步骤和参数说明,帮助读者掌握ROS2机器人仿真中的关键建模技术。原创 2025-08-09 11:14:08 · 1028 阅读 · 0 评论 -
ROS2学习笔记16
本文介绍了在ROS2环境下创建移动机器人模型的完整过程。主要内容包括:1)通过URDF文件定义机器人本体(base_link)及其部件,包括蓝色圆柱体主体、黑色IMU模块、左右驱动轮(通过旋转参数调整方向)和球形支撑轮;2)添加激光雷达和虚拟底座(base_footprint)使车轮正确着地;3)通过colcon编译后,在RVIZ2中可视化测试模型,并配置TF坐标系和关节状态控制器。文中详细给出了每个部件的几何参数、材质属性和相对位置的XML配置代码,为ROS2机器人建模提供了实用参考。原创 2025-08-08 20:47:23 · 1048 阅读 · 0 评论 -
机器学习(ML)、深度学习(DL)和强化学习(RL)在机器人领域的应用简要解析
机器学习(ML)、深度学习(DL)和强化学习(RL)是人工智能的核心分支,三者既有层级关联又各具特色,在机器人领域共同推动着感知、决策与执行的智能化演进。原创 2025-08-04 20:01:40 · 1131 阅读 · 0 评论 -
Ubuntu安装Miniconda和Jupyter
本文介绍了在Linux系统上安装和使用Miniconda的详细步骤。首先通过创建目录、下载安装脚本并运行来安装Miniconda,可选择最新版本或指定Python版本(如3.10)。安装完成后需刷新终端并初始化conda。接着指导创建与系统Python版本一致的环境(如Python 3.10.12),并激活该环境。最后说明如何在conda环境中使用清华镜像源安装Jupyter Notebook,提供安装报错解决方案和验证方法,并给出Jupyter的学习参考链接。整个过程包含从环境配置到工具安装的完整流程。原创 2025-08-04 16:47:44 · 1833 阅读 · 0 评论 -
ROS2接口查看与使用指南
摘要:ros2 interface show std_msgs/msg/String是ROS 2中用于查看接口定义的核心命令,可显示消息字段和数据结构。该命令是ros2 interface工具集的一部分,支持查看消息/服务/动作三种接口类型,常用子命令包括list(列出所有接口)、package(查看包内接口)和proto(显示完整结构)。使用场景涵盖调试自定义接口、查阅官方接口设计等。使用时需注意接口命名规范(包名/类型/名称)和依赖关系,自定义接口需编译后才能识别。原创 2025-07-29 09:04:17 · 1540 阅读 · 0 评论 -
Ubuntu22.04安装Cartographer
本文详细介绍了在Ubuntu系统上安装和配置Cartographer SLAM工具的完整流程。主要内容包括:1)通过apt命令一键安装Cartographer;2)通过编译方式安装,涉及创建工作空间、克隆源码、执行rosdepc依赖检查和colcon编译等步骤;3)测试安装结果;4)参数配置详解,包括2D前端参数、后端参数和ROS通信参数等核心配置文件说明。文中提供了完整的终端操作指令和配置示例,特别强调了国内用户使用rosdepc替代rosdep以提高下载速度,并对关键参数如传感器数据范围、采样率等作了注原创 2025-07-25 15:36:18 · 1178 阅读 · 2 评论
分享