自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录(链表)(一)——链表的理论基础

链表是一种非连续存储的线性结构,由节点组成,每个节点包含数据域和指针域。主要类型有:单链表(单向指针)、双链表(双向指针)和循环链表(首尾相连)。相比数组,链表长度可变,增删高效但查询较慢,适合动态数据场景。存储方式上,链表节点在内存中随机分布,通过指针连接。

2025-10-08 22:26:52 268

原创 代码随想录(三)—— 移除元素

本文介绍了LeetCode 27题移除元素的两种解法。双指针法通过快慢指针在一次遍历中完成元素过滤,时间复杂度O(n),空间复杂度O(1)。快指针寻找有效元素,慢指针标记新数组位置。暴力解法使用双重循环,时间复杂度O(n²),不推荐。双指针法效率更高,是解决该问题的优选方案。两种方法都直接在原数组上修改,最终返回新数组长度。

2025-10-04 10:57:18 274

原创 无人机避障——卡内基梅隆大学(CMU)CERLAB 无人机自主框架复现

CMUCERLAB无人机自主框架是一个模块化的无人机自主导航系统,包含感知、测绘、规划和控制等组件。安装过程中遇到的主要问题包括:(1)cv_bridge路径未正确识别,需手动指定路径;(2)OpenCV版本冲突(4.2与4.6),导致动态导航节点崩溃。解决方案包括:完全卸载OpenCV4.2,重新编译安装OpenCV4.6,并修改相关CMakeLists文件指定版本。最终成功运行仿真环境,实现无人机在Gazebo和RViz中的自主避障导航功能。

2025-09-18 17:23:00 1431 1

原创 代码随想录学习(二)——二分查找

本文介绍了二分查找算法的核心要点和实现方法。二分查找的前提条件是数组有序且无重复元素,重点关注区间定义的不变性原则,包括左闭右闭[left,right]和左闭右开[left,right)两种区间定义方式。文章提供了两种区间定义的C++实现代码,并详细解释了边界处理的逻辑差异。同时,文章还通过LeetCode第34题:在排序数组中查找元素的第一个和最后一个位置的解法,深入分析了左右边界处理时middle值计算的关键区别:左边界采用向下取整,右边界必须采用向上取整才能避免无限循环。

2025-09-16 21:31:37 263

原创 代码随想录学习(一)——数组理论基础

本文记录自己学习《代码随想录》一书的内容,数组是存储在连续内存空间的相同类型数据集合,下标从0开始。其内存地址连续,元素只能覆盖不能删除。示例代码展示了二维数组元素地址的连续性,相邻元素地址依次递增。通过输出array[0][0]至array[1][2]的地址,验证了数组在内存中的线性存储特性。该代码使用C++实现,直观演示了数组的内存分配规律。

2025-09-14 21:59:54 188

原创 无人机避障——感知篇(采用realsense D435i实现Vins_fusion 的gpu版本,处理realsense D435i在realsense_viewer 中有imu数据ros启动没有)

本文详细介绍了在Jetson Orin+NX系统(Ubuntu 20.04+ROS1)上使用Realsense D435i双目相机实现Vins-Fusion定位与感知建图。主要内容包括:1. Realsense SDK的两种安装方法(官网版本和源码构建)及常见问题解决方案;2. Realsense-ROS包的安装与配置,重点解决IMU数据不输出的固件适配问题;3. Vins-Fusion GPU版本的参数配置与修改,包括相机内外参设置;4. 与Ego-PlannerV2的集成,实现基于深度图的实时建图。

2025-09-12 14:00:24 1163

原创 XTDrone——无人机基于2D激光Lidar进行二维运动规划(细节提醒以及相关报错解决)

本文介绍了在Ubuntu 20.04系统无人机基于ROS Noetic实现HectorSLAM二维激光建图与运动规划的完整流程。主要内容包括:安装必要ROS依赖库;修改HectorSLAM的launch文件,解决坐标系转换问题;配置地图发布参数以避免覆盖已建地图;启动PX4仿真环境与XTDrone通信模块;最后通过2D导航目标点实现无人机运动规划。文中详细说明了各步骤的关键配置修改,并提供了处理常见错误(如TF转换超时)的解决方案。实现了从激光SLAM建图到路径规划的过程。

2025-08-21 14:36:55 811

原创 XTDrone——ALOAM与3D激光雷达三维SLAM(处理没有点云和坐标系报错的问题)

本文介绍了XTDrone中配置如何在三维环境中使用A-LOAM算法配合velodyneHDL32激光雷达包括依赖包安装、代码修改和PX4系统配置,以及相关报错细节的注意事项。

2025-08-20 11:32:27 1212

原创 Ego-Planner中的random_forest_sensing仿真环境建模解析

这段代码是一个基于 ROS 的随机三维地图生成器,主要功能是生成包含随机障碍物的点云地图,并根据机器人的位置发布全局地图和局部感知范围内的地图,适用于无人机、移动机器人等的路径规划仿真场景。

2025-07-23 17:06:28 1210

原创 Failed to build osqp 在ubuntu系统安装osqp求解器,报错解决

运行优化代码的时候需要osqp求解器,但是正常安装osqp的时候无法安装,一直显示安装失败,可以通过指定安装较老版本的osqp求解器进行解决。

2025-07-23 16:58:07 323

原创 无人机避障——感知篇(Ego_Planner_v2中的滚动窗口实现动态实时感知建图grid_map ROS节点理解与参数调整影响)

本视频展示了基于ZED2双目视觉相机,结合VINS-Fusion视觉惯性里程计(VIO) 与 Raycast三维重建方法,在复杂室内室外环境实现实时定位与建图(SLAM) 的完整方案。详细呈现了系统从原始传感器数据获取(包括双目图像和IMU数据)、利用VINS-Fusion进行高精度姿态估计与稀疏点云构建、到最终通过高效的Raycast方法融合深度信息生成稠密三维占用栅格地图的全流程。视频重点分析了该方案在室内动态与弱纹理场景下的表现,展现了其在实时性、定位精度和构建稠密、可用地图方面的实际效果。

2025-07-09 11:03:56 1915 1

原创 无人机避障——感知篇(Orin nx采用zed2双目相机进行Vins-Fusion-GPU定位,再通过位姿和深度图建图完成实时感知)

本文是在Orin nx上已经安装并用zed2相机跑通Vins-Fusion感知建图的基础上进行Vins-Fusion-gpu进行修改以实现跟Vins-Fusion运行的效果,一些基本的库文件,依赖安装,只讲解opecv4.6.0带GPU加速配置和cv_bridge配置以及zed2相机的配置。

2025-06-13 11:56:54 1142 1

原创 无人机避障——感知篇(Orin nx采用zed2双目相机进行Vins-Fusion定位,再通过位姿和深度图建图完成实时感知)

本文主要通过Orin nx采用zed2双目相机进行Vins-Fusion定位,再通过位姿和深度图建图完成实时感知,为后续规划部分奠定基础。

2025-06-12 15:51:07 1319

原创 无人机避障——感知篇(在Ubuntu20.04的Orin nx上基于ZED2实现Vins Fusion)

本文主要是在Orin nx硬件环境和Ubuntu20.04的基础上通过ZED2双目视觉进行双目视觉标定、双目视觉与IMU标定,最后通过标定好的双目视觉和imu话题构建适合zed2双目相机运行Vins Fusion的yaml参数文件,最后通过bash文件终端一条指令实现Vins Fusion的实际测试过程。

2025-06-11 18:48:33 1423 1

原创 无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程

本文主要阐述在Arm 系统Ubuntu20.04架构下编译Vins-Fusion,并跑通EuRoC MAV Dataset数据集期间遇到的Opencv库的版本不对导致后续启动程序,出现段错误的情况进行完美解决。

2025-06-03 20:09:14 1504 1

原创 数据结构——KD-Tree原理详解

本文主要记录kd-Tree算法的理解,并供自己进行学习

2025-05-26 13:54:58 283

原创 无人机避障——深蓝学院浙大栅格地图以及ESDF地图内容

本文主要记录的是深蓝学院浙大栅格地图以及ESDF地图内容,以作为自己的学习笔记用。

2025-05-22 16:33:37 939

原创 无人机避障——深蓝学院浙大Ego-Planner规划部分

本文主要概括深蓝学院浙大Ego-Planner规划部分,目的供自己工作学习记录用。

2025-05-22 14:54:14 1249

原创 无人机避障——深蓝学院浙大Fast-planner学习部分(采用均匀B-Spline和非均匀B-Spline进行轨迹优化和时间重分配)

本文主要详细记录深蓝学院浙大Fast-planner学习部分(采用均匀B-Spline和非均匀B-Spline进行轨迹优化和时间重分配),以供个人学习

2025-05-20 15:28:56 382

原创 无人机避障——深蓝学院浙大Fast-planner学习部分(轨迹生成B-Spline部分)

本文主要对深蓝学院Fast-planner中采用B-Spline进行轨迹生成进行详细的笔记记录,以供自己进行学习参考。

2025-05-20 14:51:17 475

原创 《轻型民用无人驾驶航空器安全操控》 - 多旋翼部分学习

学习多旋翼无人机操控,通过《轻型民用无人驾驶航空器安全操控》学习,希望每一个对无人机感兴趣的朋友,都能通过学习,掌握操控技巧,安全飞行,让无人机在自己的手中发挥更大的价值。本文意在对个人学习过程的记录,供个人学习考证用。

2025-05-15 20:20:25 348

原创 《轻型民用无人驾驶航空器安全操控》 - 法规部分学习

在无人机的浩瀚天空中,法规知识宛如一座指引方向的灯塔,为每一位操控者照亮前行的道路。本文聚焦于《轻型民用无人驾驶航空器安全操控》法规部分的学习,为个人考证记录笔记资料。

2025-05-15 19:39:14 327

原创 无人机避障——深蓝学院浙大Fast-planner学习部分(前端部分)

【注意】:会加入一定概率的一步shot的的AnalyticExpand方法。

2025-05-15 16:50:42 376

原创 无人机避障——如何利用MinumSnap进行对速度、加速度进行优化的轨迹生成(附C++&python代码)

minimumsnap是轨迹规划领域的经典优化方法,广泛应用于无人机和自动驾驶等领域。其核心思想是通过最小化加加速度(snap)来生成平滑的轨迹,从而减少振荡和抖动。局部路径规划中,通过对当前速度和加速度进行采样,生成优化后的轨迹,可以有效避免仅基于位置的路径规划带来的不稳定问题。Fast-planner的全局规划主函数通过插入中间点、生成最小加加速度多项式轨迹Python版本的minimumsnap库也提供了类似功能,通过二次规划求解生成平滑的三维轨迹。

2025-05-13 16:57:07 1831 1

原创 无人机避障——(运动规划部分)深蓝学院动力学kinodynamic A* 3D算法理论解读(附C++代码)

动力学A*(Kinodynamic A*)通过状态转移函数模拟系统在控制输入下的演化过程(如积分加速度生成位置与速度),结合基于庞特里亚金最小值原理的启发函数估算最优控制代价以引导搜索方向,同时引入速度、加速度的动态约束验证及碰撞检测确保路径的物理可行性与安全性,最终利用B样条轨迹优化结合距离场对离散路径进行平滑处理,在满足运动学与动力学限制的前提下实现复杂环境中的高效路径规划。

2025-05-13 15:58:02 1178 1

原创 Ubuntu20.04如何优雅的安装ROS 1(胎教级教程)

本文的主要内容是对虚拟机中的Ubuntu20.04版本进行ROS1的安装,最后实现经典小海龟的运行demo。

2025-05-01 21:47:07 848

原创 Window通过虚拟机17安装Ubuntu20.04并安装相关的插件(胎教级教程)

本文基于Windows平台,详细讲解通过虚拟机17版本安装Ubuntu 20.04系统的完整流程,并针对常见痛点提供解决方案。针对​​界面太小无法点击,实现屏幕自适应与分辨率调节;针对​​跨系统交互障碍​​,结合open-vm-tools,打通Windows与Ubuntu之间的数据流转,提升操作效率。

2025-05-01 20:53:13 533

原创 Could not find a package configuration file provided by “GeographicLib“ with any of the following

Could not find a package configuration file provided by "GeographicLib" with any of the following (简单解决)

2025-04-25 15:41:30 810

原创 ubuntu20.04使用终端命令行上传自己的代码到github(保姆级教学)

ubuntu20.04使用终端命令行上传自己的代码到github(保姆级教学)

2025-04-25 14:17:37 229

原创 深蓝学院第四章路径规划——满足动力学约束(kinodynamic)的路径规划算法

深蓝学院第四章路径规划——满足动力学约束(kinodynamic)的路径规划算法个人开发学习总结

2025-04-23 16:45:04 466

原创 Pontryagin‘s minimum principle:庞特里亚金极小值原理是什么意思?

庞特里亚金极小值原理​​(Pontryagin's Minimum Principle)是​​最优控制理论​​中的核心工具,由苏联数学家 ​​Lev Pontryagin​​ 提出。它用于求解受动力学约束的系统如何选择控制变量,使得某个性能指标(如能耗、时间、误差等)达到最小。

2025-04-23 11:04:30 1005

原创 规划控制算法相关含义:jerk是什么意思,代价函数设置为jerk平方的积分有什么意义?

将代价函数设为 jerk 平方的积分,核心在于​​通过数学手段强制系统运动趋于平滑​​,适用于对舒适性、能耗或机械寿命敏感的场景。这种设计结合了物理意义与工程实用性,是控制理论和优化领域中的经典方法。

2025-04-23 10:50:18 819

原创 Arm系统ubuntu20.04中自带的火狐浏览器打开网页B站视频和百度网盘网页视频,视频无法打开,并且没有声音——(本质上解决)

自己工作过程中有一台Orin nx arm设备,所以希望能够用这台设备看视频学习,发现自带的firefox打开网页版百度网盘和B站的时候无法打开视频,而且用有线耳机发现没有声音,最后换掉浏览器,用Chromium。

2025-04-15 17:18:59 699

原创 用库文件pybind11实现python代码调用C++代码函数

在python架构中直接调用Mid360的点云进行建图做避障,但是Mid360官网的sdk是用C++写的,所以涉及到python与C++之间的调用问题,最后采用pybind11的库文件解决了

2025-03-21 16:42:23 555

原创 深蓝学院第三章路径规划——基于采样的路径规划算法与进阶

简要介绍RRT*算法及其相关的变体算法以及OMPL库

2025-03-14 14:10:33 297

原创 XTDrone调试报错问题集锦

主要包括在进行XTDrone仿真的时候,遇到的一些匪夷所思的问题,作为个人开发笔记记录。

2025-03-11 20:09:14 375

原创 XTDrone仿真——无人机能够在gazebo中出现,可以连接,但无法起飞

XTDrone仿真——无人机能够在gazebo中出现,可以连接,但无法起飞

2025-03-10 10:46:17 885

原创 无人机避障——XTDrone中运行VINS-Fusion+Ego-planner进行路径规划

本文聚焦于无人机避障技术领域的经典方案,重点探讨视觉双目VINS-Fusion建图与Ego-planner路径规划的组合应用。通过视觉双目VINS-Fusion实现精准的环境建图与自身定位,结合Ego-planner的高效路径规划能力,使无人机在复杂环境中实现自主避障飞行。基于XTDrone平台,采用PX4固件和Mavros协议进行仿真测试,验证了该技术方案的可行性和有效性,展示了其在实际应用中的潜力和优势。

2025-03-07 15:35:46 3204 3

原创 XTDrone+Mavros+Gazebo仿真——配置与控制不同的无人机

XTDrone中修改launch文件进行多种无人机的控制

2025-03-05 20:14:37 1005

原创 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系,报错解决—换源

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系,报错解决—换源

2025-03-05 16:39:29 762

无人机规划控制领域在XTDrone中catkin-ws中使用的egoplanner

适用于无法编译成功,报错较多的Ubuntu20.04系统下的XTDrone系统搭建者

2025-03-12

XTDrone+Mavros+PX4+VINS-Fusion:涉及VINS在XTDrone环境,Ubuntu20.04系统下,修改好了相关的报错问题,类似于C++库的问题

在 Ubuntu 20.04 系统下搭建 XTDrone 环境并集成 VINS-Fusion 时,我遇到了一系列与 C++ 库相关的报错问题。XTDrone 作为一个用于无人机开发的综合性平台,需要与 Mavros(用于无人机通信的中间件)以及 PX4(开源的无人机飞控软件)协同工作,而 VINS-Fusion 则为系统提供视觉惯性导航解决方案。 在编译和运行过程中,频繁出现错误。这些问题主要源于不同组件对 C++ 库的依赖不一致,以及部分库路径配置不当。例如,某些组件依赖较新的 C++ 标准库特性,而系统默认安装的库版本较低;或者在项目的 CMake 配置中,没有正确指定第三方库的路径,导致链接器无法找到所需的库文件。 为解决这些问题,我们首先对每个组件的依赖库进行了详细梳理。通过查阅 XTDrone、Mavros、PX4 和 VINS-Fusion 的官方文档,明确了各自所需的 C++ 库版本和依赖关系。

2025-03-12

空空如也

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

TA关注的人

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