- 博客(43)
- 收藏
- 关注
原创 【ROS】 CMakeLists 文件详解
在 ROS 的学习过程中,即使主要使用 Python 进行开发,仍然会频繁涉及文件。因此,本文将简要介绍的相关知识,并通过示例加以说明。在深入了解之前,我们首先需要理解它与之间的关系,以及 .c.cpp.o.so.a等文件的作用。此外,还需掌握编译、链接、构建、目标文件和可执行文件等相关概念,以便更好地理解的作用和使用方式。【编译、链接与构建详解】Makefile 与 CMakeLists 的作用。
2025-04-01 10:19:33
801
原创 【编译、链接与构建详解】Makefile 与 CMakeLists 的作用
在大型项目中,通常会使用 C 或 C++ 语言进行开发,而编译、链接、构建等概念,以及相关工具如 GCC、G++、NVCC、CMake、Make、Makefile 等,是每个开发者都无法绕过的重要内容。这些概念虽然至关重要,但往往容易混淆。因此,本文将简明扼要地介绍这些概念,帮助读者更深入地理解编译、链接与构建过程。.o。
2025-03-31 20:01:01
1195
原创 【ROS】Darknet_ROS YOLO V3 部署自训练模型 目标检测
本文适用于已掌握YOLOv3和Darknet基础知识的读者,旨在帮助大家快速在ROS上部署自定义 YOLOv3 模型,实现目标检测。为了聚焦于部署流程,本文不会详细讲解原理部分。如需补充相关前置知识,请参考以下文章:数据集标注(手动标注)【YOLO】X-AnyLabeling 数据集标注数据集标注(AI标注)【YOLO】X-AnyLabeling 半自动标注训练 Darknet 自定义模型(本机)【YOLOv3】目标检测 Darknet 训练自定义模型训练 Darknet 自定义模型(服务器)
2025-03-28 15:06:36
1062
原创 【YOLO V3】Darknet AutoDL 训练自定义模型
本文适合已经掌握 YOLO V3 和 Darknet 基础知识的读者,帮助他们快速上手在 AUTODL 服务器上训练自己的 YOLO V3 模型。因此,本文不会过多赘述原理部分,详细内容请参考-【YOLO V3】目标检测 Darknet 训练自定义模型。YOLOv3 Darknet 适用于资源要求较低的嵌入式设备,具有较快的推理速度,特别适合在资源有限的条件下进行轻量化部署。【YOLO V3】目标检测 Darknet 训练自定义模型。
2025-03-25 22:26:01
702
原创 【YOLO V3】目标检测 Darknet 训练自定义模型
对于初学者而言,学习 YOLO 并实现目标检测时,并不需要深入理解底层原理。本篇文章的重点是如何快速上手 YOLOv3,使用 Darknet 源码训练自定义模型,并实现目标检测。PS:本文适用于已有 YOLOv5 基础的读者,你可以参考【YOLO V5】目标检测 WSL2 AutoDL VScode SSH学习 YOLOv5。由于 YOLOv5 的 PyTorch 训练方式与 YOLOv3 的 Darknet 训练方法存在相似之处,两者是互通的,这将有助于你更快理解和上手 YOLOv3。
2025-03-21 13:09:01
926
原创 【YOLO】X-AnyLabeling 半自动标注
本文介绍如何使用进行半自动图像标注。先用小数据集训练一个初步模型,让其自动标注更多数据,再人工修正不准确的部分,最终导出完整数据集进行训练,以提升模型精度。【YOLO V5】目标检测 WSL2 AutoDL VScode SSH【YOLO】数据集标注 X-Anylabeling【YOLO】AutoDL 训练模型X-AnyLabeling 自定义模型X-AnyLabeling自动标注数据集并训练自己的YOLO11目标检测模型【YOLO】X-AnyLabeling自动标注工具,AI帮你解放双手加载模型。
2025-03-12 09:24:31
964
原创 【YOLO V5】Pytorch AutoDL 训练自定义模型
本文适合已经了解YOLO相关基础知识的读者快速上手使用AUTODL服务器训练自己的YOLO模型【YOLO V5】目标检测 WSL2 AutoDL VScode SSH【YOLO】数据集标注 X-Anylabeling。
2025-03-11 17:27:29
796
原创 【YOLO】X-Anylabeling 数据集标注
本文将介绍如何使用软件进行 YOLO 格式的数据集标注与导出。对于初学者来说,建议参考进行安装与使用。特别是在第1.2节“Running from GUI”中,详细介绍了如何通过GUI进行操作。为了快速开始,建议前往页面,下载适合你系统的GUI版本。我个人下载并使用的是X-AnyLabeling自动标注数据集并训练自己的YOLO11目标检测模型(推荐)【YOLO】X-AnyLabeling自动标注工具,AI帮你解放双手(官方文档)
2025-03-11 15:56:07
1674
原创 【YOLO V5】目标检测 WSL2 AutoDL VScode SSH
对于初学者来说,学习YOLO和实现目标检测时,其实不需要了解底层原理,比如CNN神经网络。虽然这些知识有助于深入理解,但如果只是想快速上手YOLO,不必从这些复杂的原理开始。本篇内容正是基于这个思路,重点讲解如何快速上手YOLO,如何在服务器上训练自己的模型,并实现目标检测。本文以 YOLOv5 在 COCO 数据集上的训练为例,阐述 YOLOv5 目标检测任务的完整实现流程。WSL2 Ubuntu 20.04 YOLOv5 PyTorch 1.7.0 VSCode SSH连接autoDL服务器。
2025-03-05 12:47:45
1068
原创 【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 主机代理 配置
本文基于 Win11专业版,实现了在 WSL2 环境下配置 Ubuntu 20.04,支持Rviz Gazebo等图形化界面应用运行,安装并配置 ROS Noetic、VSCode如何使用 WSL 在 Windows 上安装 Linux在适用于 Linux 的 Windows 子系统上运行 Linux GUI 应用开始通过适用于 Linux 的 Windows 子系统使用 Visual Studio Code通过 VcXsrv 在 WSL2 上使用图形化界面wsl rviz可视化。
2025-02-24 15:33:33
1491
1
原创 【ROS】Ubuntu20.04 Vscode 无法代码补全
在使用VSCode开发ROS代码时,无法获得代码自动补全功能,即使正确引入了头文件,VSCode 也无法提供有效的代码提示。解决Ubuntu20.24中Vscode无法自动补全ROS相关代码。
2025-02-01 15:43:44
796
原创 【Samba】Ubuntu20.04 Windows 共享文件夹
本文基于和Windows 10系统,介绍如何通过配置 Samba 服务,使得 Windows 可以访问 Ubuntu 的共享文件夹,并实现网络驱动器的映射。Ubuntu22.04 添加samba,并在windows访问 的详细教程ubuntu与windows之间的文件共享。
2025-01-27 21:44:34
1924
原创 【Ubuntu 20.04】AX211网卡驱动安装 Wifi图标消失
本文基于【】平台,解决了AX211无线网卡无法连接 WiFi、无 WiFi 图标的问题。Ubuntu系统如何连接WiFiUbuntu 20.04 没有wifi解决方法 Realtek版本Ubuntu20.04双系统 无线网卡驱动(未发现wifi适配器)、Nvidia显卡驱动安装一条龙教程+疑难杂症修复【多坑预警】y7000p&2023&AX211&ubuntu20&无线网卡驱动。
2025-01-23 02:23:03
4067
6
原创 【KNN】手写数字识别
本文基于 KNN 机器学习算法,实现了简单的手写数字识别。KNN 不过多介绍,可以参考KNN算法(k近邻算法)原理及总结。KNN算法(k近邻算法)原理及总结004-KNN近邻算法-手写数字识别案例实现kNN算法实现手写数字识别(机器学习)
2024-11-11 09:20:53
843
3
原创 【Python】项目结构
本文总结了 Python 项目结构的知识,规范项目结构能使得项目开发过程高效流畅,提升代码可读性、团队协作效率,并便于维护、扩展和共享。各类 Python 项目的项目结构及代码组织最佳实践。
2024-11-10 08:50:54
2022
原创 【树莓派5B】OpenCV安装
本文基于树莓派5B((Debian 12 Bookworm))平台,总结了Anaconda和OpenCV安装的问题树莓派anaconda安装教程树莓派anaconda虚拟环境配置树莓派5B配置OpenCV。
2024-10-24 20:36:57
1900
原创 【树莓派 5B】anaconda换源 更换清华源
本文基于树莓派5B上运行的(Debian 12 Bookworm)平台,更换 Anaconda 官方源为清华大学镜像源,旨在解决网络连接超时、连接官方源失败、下载速度慢的问题。
2024-10-24 16:59:56
648
原创 【树莓派5B】pip清华源 PYpi清华源
本文基于树莓派5B上运行的(Debian 12 Bookworm)平台,总结了如何将 pip 的 PyPI 源更换为清华大学的镜像源,以提高 Python 包的下载速度。
2024-10-24 12:28:32
656
原创 【树莓派 5B】换源 更换清华源
本文基于树莓派 5B 设备上的 Raspberry Pi OS 32bit (Debian 12 Bookworm) 平台,为树莓派更换国内清华镜像源,解决了网络下载速度慢、包管理器源不稳定的问题,改善树莓派的包管理器更新速度。参考资料树莓派换源教程树莓派4B更换清华源和没有公钥报错清华源 raspbian | 镜像站使用帮助源是指软件源,也就是软件仓库。更换源实际上就是更换树莓派的软件仓库。默认情况下,树莓派使用官方的软件源,服务器位于国外,导致软件更新和升级速度较慢。因此,我们选择更换为清华源。
2024-10-17 17:14:11
2274
2
原创 【树莓派 5B】重启后vnc无法使用失效
树莓派5B Raspberrypi-OS-32bit(Debian12 Bookworm)本文解决了重启后VNC无法正常连接的问题,避免每次重启后手动配置VNC树莓派配置环境:无网线、无显示器、已连接手机热点、基于 Putty参考资料树莓派5最新官方系统VNC失效解决办法。
2024-10-16 11:08:30
808
原创 【树莓派 5B】Python 版本切换
本文基于树莓派5B 32-bit 树莓派OS,以 Python-3.11.2 降级到 3.9.2 为例,总结了在树莓派上切换 Python 版本的步骤,帮助大家轻松完成 Python 版本的切换。只需将下载本文中Python的版本号,修改为你想切换的版本号即可树莓派 python3.9降级为python3.7莓派上快速安装Python3.6.5。
2024-10-16 10:09:39
2452
3
原创 【STM32 HAL库】MPU6050姿态解算 卡尔曼滤波
本篇文章基于卡尔曼滤波的原理详解与公式推导,来详细的解释下如何使用卡尔曼滤波来解算MPU6050的姿态。
2024-10-10 09:28:58
5751
15
原创 【MPU6050】姿态传感器 工作原理
笔者最近学习了mpu6050姿态传感器,现做以总结B站 铁头山羊【mpu6050寄存器讲解 PAL库解算 一阶互补滤波】优快云 卡尔曼滤波原理【卡尔曼滤波算法思想 公式理解】优快云 卡尔曼滤波原理【我总结的,基于优快云 卡尔曼滤波原理DMP库移植【STM32 HAL库】卡尔曼滤波解算【STM32 HAL库】一阶互补滤波解算【STM32 HAL库】MPU6050内部整合了三轴陀螺仪三轴加速度计DMP。
2024-10-07 19:52:46
1152
原创 【卡尔曼滤波】 Kalman Filter 原理详解与公式推导
笔者最近在学习卡尔曼滤波,因个人水平实在有限,花了许久才理解卡尔曼滤波的思想。故现以通俗易懂的语言,总结我对卡尔曼滤波原理的理解参考资料:本笔记基于Blog中的实例与图解,并推荐大家阅读这篇文章现在,你开发了一个可以在森林里到处跑的小机器人。这个机器人带有GPS,精度大约10m森林里有很多沟壑和悬崖,如果机器人走错了一步,就有可能掉下悬崖。因此我们需要基于已有信息,推测出比GPS更精确的位置状态矩阵ps:这个状态只是这个小机器人的一系列基本属性,在这里是位置与速度。
2024-10-01 11:29:51
1978
原创 【STM32】VOFA+上位机 PID调参
VOFA+使用说明使用VOFA+上位机进行PID调参PID参数整定VOFA+支持3种数据流方式:FireWater、JustFloat、RawDataFireWater:编程类似 printf,但字符串解析消耗资源,适用于通道少、发送频率低的场景。JustFloat:以小端浮点数组形式传输,适合通道多、频率高的场景。RawData:不进行采样数据解析,类似普通串口助手。
2024-09-12 13:08:44
4415
1
原创 【STM32】单级与串级PID控制的C语言实现
笔者最近在学习PID控制器,本文基于Blog做以总结。优快云上已有大量PID理论知识的优秀文章,因此本文将略写理论部分,重点放在应用。PID(比例-积分-微分)控制器是一种广泛用于自动控制系统的闭环反馈控制器,能够实现系统的稳定、快速和精确控制。
2024-09-11 11:48:45
1500
原创 【STM32 HAL库】IIC通信与CubeMX配置
本文为笔者学习 IIC 通信的总结,基于keysking的视频内容,如有错误,欢迎指正。
2024-09-10 18:36:30
2456
1
原创 【STM32 HAL】多串口printf重定向
在近期项目中,作者需要 STM32 既能向上位机发送数据,又能通过 HC-05 向手机发送数据。然而,常见的 printf 重定向只能输出到一个串口,因此本文介绍如何实现 printf 同时输出到 USART1 和 USART2。
2024-08-20 01:12:57
1072
原创 【ERROR #148】variable “xxx“ has already been initialized
定义创建了一个变量,指定其类型,并分配存储空间初始化为变量赋初始值声明告诉编译器,变量在其他地方定义与变量的类型,只能声明不能初始化。
2024-08-19 19:22:22
965
原创 【STM32 HAL库】寻迹小车 开环控制 状态机 TB6612+TCRT5000+HC-05
碎碎念一下,本篇博客为个人项目总结,因技术一般且记性较差(笑)故写此博客以供记录与复盘。
2024-08-18 13:12:16
1723
原创 【STM32】寻迹小车项目复盘
博主近日首次完成了一个简单的循迹小车。但让我意外的是,在我上手如此简单的项目时,我的思路却十分混乱,开发过程毫无逻辑,虽说跌跌撞撞的做出来了,但效率低下,故在做完该项目后进行复盘,以供进步。
2024-08-17 23:25:09
691
原创 【STM32 HAL库】TB6612电机驱动
TB6612是一款双H桥电机驱动,每个H桥可以驱动一个直流电机本质上讲,TB6612是一个电子开关,它根据接收到的PWM信号,来控制”开“与”关“,从而输出特定的电压,以此来驱动电机。
2024-07-31 20:44:30
2971
原创 【STM32 HAL库】HC-05 蓝牙通信
因为串口可以重定向为printf来打印数据,而HC-05本质上为无线的串口通信,原理一样,所以HC-05蓝牙通信也能重定向为printf。即以HC-05作为串口与主机之间通信的桥梁,实现串口与主机的通信。注意:USART需要配置为轮询模式。
2024-07-31 15:41:13
908
原创 【STM32 HAL库】编码器测速
PS:这个代码可以直接放到TIM的Encoder初始化函数中,在初始化的最后,直接开启编码器。电机驱动轴转动一圈产生的脉冲数 = 分频数 * 编码器线数(电机一圈产生脉冲数)车轮转动一圈产生的脉冲数 = 分频数 * 编码器线数* 电机减速比。分频数,当编码器模式配置为TI1 and TI2时,为"4分频"故,车轮转1圈 脉冲数 = 11 * 10 * 4 = 440。编码器脉冲数,也即编码器线数,也即电机转一圈会产生的脉冲数。故,驱动轴转1圈 脉冲数 = 11 * 4 = 44。
2024-07-31 15:18:27
1406
原创 【STM32 HAL库】TIM定时器与CubeMX配置
本文为笔者学习TIM定时器知识的总结与复盘,基于keysking的系列视频,欢迎大家纠正文中错误。
2024-07-27 16:06:53
2872
原创 【STM32 HAL库】串口通信与CubeMX配置
本文为笔者学习串口通信知识的总结与复盘,基于keysking的系列视频,欢迎大家指正文中错误= USART 通用同步或异步接收器和发送器故UART为通用异步接收器和发送器。
2024-07-26 00:36:54
2205
原创 【STM32 HAL库】中断原理与CubeMX配置
本文为笔者学习中断知识的总结与复盘,基于keysking的视频,若文章有误,欢迎大家指正是什么顾名思义,中断就是在执行当下任务时,打断正在进行的任务,先执行更紧急的任务,完成后再恢复原来任务的进程外部中断EXTI本质GPIO_EXTIx外部中断模式实际上就是GPIO_Input的一个拓展。EXTI = Input + 检测引脚外部电平变化 + 中断函数中断类型我们这里只讨论外部中断(EXTI),也即检测GPIO口电平变化的中断。
2024-07-24 22:22:18
850
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人