- 博客(65)
- 收藏
- 关注
原创 【JavaScript 简明入门教程】为了Screeps服务的纯JS入门教程
本教程我们从`Screeps: World`必须的`JavaScript`,将`JS`和`CSS`与`HTML`的教程分离,专注于讲解`JS`的原生基础语法。
2025-03-26 21:47:01
1024
原创 【C++数据结构】关于单链表,双向链表,循环链表,静态链表,跳表的一些实现
本文分别讲述了如何使用`C++`分别实现单向链表,双向链表,循环链表,跳表
2025-03-03 20:32:12
1040
1
原创 【C++委托与事件】函数指针,回调机制,事件式编程与松耦合的设计模式(下)
本文我们 基于C++`委托`和`事件`实现多话题的`发布-订阅`模式,同时也实现了 基于委托和事件实现状态机。
2025-02-20 16:02:01
792
原创 【C++委托与事件】函数指针,回调机制,事件式编程与松耦合的设计模式(上)
本文我们介绍了`C++`中如何实现委托和事件,并且通过委托和事件实现了`观察者模式`
2025-02-20 00:35:48
1297
原创 【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(三):基于BT行为树实现复杂敌人BOSS-AI
本文我们介绍了如何实现BT行为树的各种类型的节点以及介绍了行为树的工作原理,并且利用行为树复现空洞骑士大黄蜂的底层AI逻辑。
2024-12-25 22:39:01
1332
2
原创 【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(二):从FSM开始的2D游戏角色操控底层源码编写
本节我们讲解了`FSM有限状态机`,并且合并`状态模式`完成了一个2D游戏角色操控的底层逻辑代码。
2024-12-25 17:41:34
1375
3
原创 【C++多重类循环依赖问题】基于class前向声明与类定义和实现分离的解决方案与分析
本节讲述了C++如何使用前向声明和头文件和源文件分离解决类的重复依赖问题
2024-12-25 13:52:29
976
原创 【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(一):从电梯出发的状态模式State Pattern
本节我们学习了如何通过 **状态模式(State Pattern)** 来有效地管理一个对象的状态转换及其行为,尤其是在复杂的控制系统(如电梯控制系统)中应用。
2024-12-24 22:05:43
1990
3
原创 【STL容器vector零拷贝】基于模板和移动语义的std::vector零拷贝添加元素设计
本小节介绍了如何使用template和arg...以及移动语义来避免std::vector的拷贝问题
2024-12-21 12:17:01
904
原创 【C++移动语义与完美转发】左值右值,引用,引用折叠,移动语义,万能引用与完美转发
本节我们讲解了C++左值右值,引用,引用折叠,移动语义,万能引用与完美转发
2024-12-17 18:10:53
785
原创 【ROS2深度RGBD相机点云仿造2D激光雷达】sensor_msgs/msg/PointCloud2转sensor_msgs/msg/LaserScan的自定义激光雷达仿真器
本文介绍了如何将3D深度RGBD相机捕获的点云话题(消息类型为` sensor_msgs/msg/PointCloud2`)转为2D的雷达数据(消息类型为`sensor_msgs/msg/LaserScan `),进而达到使用3D雷达伪造局部2D雷达的作用,用于匹配某些特征点以达到减轻算力的目的。
2024-12-17 01:04:42
1515
4
原创 【动态库.so | 头文件.hpp】基于CMake与CMakeList编写C++自定义库
本文讲述了如何借助`CMake`和`CMakeLists`去创建自定义C++库,如何链接到`.so`并包含`hpp`去运行自定义库
2024-12-09 16:47:27
1386
原创 【ROS编译未来时间戳报错修正】一种无需重零编译的文件时间戳更新方法分享
本文提供一种解决“文件的修改时间在未来XX秒后,警告:检测到时钟错误。您的构建版本可能是不完整的。”无需重零编译整个项目的方法
2024-12-02 21:42:21
444
原创 【Linux 冷知识】cat >>main.py<<EOF--cat和输入输出重定向<<>>的使用
* 本文介绍了输入输出重定向符以及linux的cat指令的用法。
2024-12-02 11:49:12
963
1
原创 【PCL-1.14编译|ROS2】基于rosbag2的点云数据录制的PCL数据集制作
本节我们讲述了如何通过源码编译安装配置`PCL 1.14`,并借助gazebo仿真深度相机插件完成了pcl点云数据转换和PCD数据格式存储,最后我们利用ROS2-bag录制了一段可重复播放的点云数据作为数据集。
2024-11-24 15:28:08
1442
1
原创 【ROS2 中间件RMW】基于FastDDS共享内存实现ROS2跨进程零拷贝通讯
本节我们介绍了DDS,ROS2基础框架,以及如何配置FastDDS作为ROS2中间件实现跨进程之间进行零拷贝话题通讯。
2024-11-24 01:41:10
2849
1
原创 【10天速通Navigation2】(六):Navigation2 导航bringup基础配置和参数详解
本节介绍了基础的`nav2_bringup`的基础参数,并进行了基础的配置。
2024-11-20 22:17:26
2889
11
原创 【ROS2 核心知识】关于lifecycle_node和话题QoS profile的扩展和杂谈-- nav2_map_server的配置
`lifecycle node`和`QoS`是两个`ROS2`非常重要的核心概念,我们借助`nav2_map_server`详细的说明了这两个核心概念的用处,同时使用cpp代码教学了如何进行`QoS`的配置。
2024-11-02 16:17:33
1432
原创 【10天速通Navigation2】(五) :基于gazebo仿真的复杂地形的ORB-SLAM3配置
本节咱们将了如何使用gazebo仿真复杂环境对单目相机MONO进行ORB-SLAM3-ROS2基础建图
2024-11-01 17:15:42
1729
4
原创 【10天速通Navigation2】(四) :ORB-SLAM3的ROS2 humble编译和配置
本期介绍了如何在ROS2 Humble上进行ORB-SLAM3-ROS2的配置。
2024-10-28 23:31:48
2910
13
原创 【10天速通Navigation2】(三) :Cartographer建图算法配置:从仿真到实车,从原理到实现
本节我们介绍了cartographer的原理,并分别从仿真和实车进行配置和问题分析.
2024-10-26 23:15:28
3717
8
原创 【10天速通Navigation2】(二) :ROS2gazebo阿克曼小车模型搭建-gazebo_ackermann_drive等插件的配置和说明
本期我们使用gazebo的gazebo_ackermann_drive,激光雷达,IMU插件完成了gazebo阿克曼仿真模型的搭建原理和代码实现,同时使用gazebo的`building editor`制作了导航的地图
2024-10-26 00:03:05
2767
9
原创 【强化学习RL入门】基础概念和框架介绍(一):Stable Baseline3和gym的下载
本文介绍了强化学习入门的StableBaseline3的基础知识和安装,前置依赖Pytorch的安装以及`CartPole`环境使用基础实例。
2024-10-20 11:54:13
1340
原创 【C语言备课课件】(下)指针pointer
C语言指针从入门到如土,指针进阶内容,结构体内嵌结构体指针,回调函数和函数指针,指针数组和数组指针,多级指针,二维数组行指针和列指针,传递指针
2024-10-15 18:55:37
812
原创 【阿克曼odom里程计解算】:从下位机到上位机,从原理到代码实现
本文从阿克曼的里程计计算原理出发,讲解下位机STM32如何对电机编码器数据进行整合计算,再通过串口进行上下位机进行数据转发,最终在Linux板端对下位机发送来的数据进行积分计算并最终通过ROS的odometry数据进行全局广播。
2024-10-09 20:28:04
1894
原创 【Linux-SSH远程窗口回传】使用X11或Wayland进行SSH窗口转发
* 本文分别介绍了SSH远程窗口转发`-CX`和`-CY`的配置原理,讲解了`X11`和`Wayland`切换方法和三个例子进行SSH远程窗口转发`-CX`的测试
2024-10-06 17:05:33
2689
原创 【Matlab绘图】从Excel导入表格并进行三维绘图
本文介绍了三种绘制MATLAB三维点图的方法,三维散点图scatter3,三维表面图surf, 三维折线图plot3
2024-10-03 16:55:41
2700
原创 基于opencv-C++dnn模块推理的yolov5 onnx模型
本文我们将了如何使用基础的torch.hub.load进行pt/onnx模型的推理使用,并介绍了如何使用export.py进行pt->onnx模型转换,同时介绍了如何使用cv::dnn来加载YOLOV5onnx模型并进行推理和模型输出解析,并手动书写NMS进行后处理优化。
2024-10-02 23:26:10
3071
3
原创 【C++并发入门】opencv摄像头帧率计算和多线程相机读取(下):完整代码实现
介绍高帧率摄像头往往应用在很多opencv项目中,使用多线程对摄像头进行读取
2024-10-01 14:17:03
1738
3
原创 【C++并发入门】摄像头帧率计算和多线程相机读取(上):并发基础概念和代码实现
本文介绍了并发的基础入门知识,讲解了摄像头帧率计算,线程进程,并发和并行,std::thread,std::mutex,死锁,数据竞争问题,以及std::lock_guard
2024-09-29 23:09:09
1551
原创 【完结】【PCL实现点云分割】ROS深度相机实践指南(下):pcl::BoundaryEstimation实现3D点云轮廓检测的原理(论文解读)和代码实现
本文介绍点云轮廓提取的原理(论文解读 Detecting Holes in Point Set Surfaces)和 pcl::BoundaryEstimation 类的使用,并以代码示例展示了如何将 3D 点云轮廓信息投射到 2D 平面上。
2024-09-23 18:11:13
1289
原创 【PCL实现点云分割】ROS深度相机实践指南(中):Plane Model Segmentation实现平面分割原理及其实践
本节讲述如何讲述了PCL中Plane Model Segmentation的原理和代码时间操作及其细节
2024-09-21 13:45:45
1536
原创 【PCL实现点云分割】ROS深度相机实践指南(上):PCL库初识和ROS-PCL数据类型转换
本文介绍了PCL库的安装和基础使用,并介绍了如何使用PCL库对sensor_msgs/PointCloud2 消息转换为 pcl::PointCloud,并使用pcl::visualization::PCLVisualizer进行可视化
2024-09-20 19:56:13
1505
原创 上手一个RGBD深度相机:从原理到实践--ROS noetic+Astra S(中):RGB相机的标定和使用
介绍了如何能使用camera-calibration进行RGB相机标定和启动
2024-09-20 11:36:07
3020
1
原创 基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(六):Blender烘培和UE5导入
本节我们介绍了Blender的烘焙工艺及其使用,然后将我们的模型转成fbx导入UE5中。
2024-09-08 11:25:58
2185
1
原创 基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模
本小节叫你如何blender基础入门,完成一个真实的锥体,塑料材质构建,反光条贴图
2024-09-08 00:15:07
2035
原创 基于Android Studio的行程记录APK开发指南(三)---界面设计及两种方法获取用户位置
本节介绍了如何使用Andriod Studio进行界面设计,并使用了两种方式进行位置获取,并介绍 了APK的导出
2024-09-05 17:00:27
1829
原创 上手一个RGBD深度相机:从原理到实践--ROS noetic+Astra S(上):解读深度测距原理和内外参推导
深度相机深度测距原理--结构光解析,相机内外参矩阵推导
2024-09-04 23:33:45
5916
7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人