自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS导航工具包Navigation

Navigation工具包包含在 元功能包中。你可以通过以下命令安装:如果你只需要Navigation工具包中的部分功能包,可以单独安装。例如 安装完成后,可以通过以下命令验证是否安装成功:如果安装成功,会输出Navigation工具包的安装路径:注意:使用 安装的Navigation工具包是二进制版本(即编译好的可执行文件),不包含源码。也就是说这种方式无法直接调整参数。为了在使用Navigation时能够方便的调整参数,有两种解决方式: 第一种方式是在sudo apt-get

2025-03-23 18:53:53 816

原创 ROS摄像头驱动

需要注意通过安装的usb_cam是二进制包,不包括源码,安装后会分布在 ROS 的系统目录中,而并不在你自己定义的ROS工作空间中,如果你想将整个usb_cam工具包安装到当前工作空间来你可以使用如下命令将其克隆到工作空间如果你没有克隆到当前工作空间中也是可以正常使用的。如果需要自定义摄像头参数(如分辨率、帧率、设备号等),可以创建一个自定义的启动文件。首先需要创建一个功能包创建完成后打开src文件,在里面创建一个launch文件,如下所示。

2025-03-22 11:39:04 743

原创 YOLOv5

由于不同版本的yolov5文件结构有所改变,所以以下的介绍并不是唯一的,但是作用上大差不差。以下是对于文件中个文件的详细解释,如果你想深入了解可以看看,如果你想快速入门也可以跳过文件结构介绍,在后面的实战中我会介绍需要修改的文件和流程。文件结构如下yolov5/├── data/ # 数据集和配置文件├── models/ # 模型定义文件├── classify/ # 完成分类任务从训练到部署的全流程├── utils/ # 工具函数。

2025-03-21 19:24:53 954

原创 ROS导航方式

我在做导航任务时总结了一下几项导航方式代码方面不做过多解释,可以查看我的上一篇文章。

2025-03-18 15:27:59 632

原创 ROS动态调参

因此,不需要手动下载或将其添加到你的 ROS 工作空间,就可以直接通过 import 使用。目标节点接收到参数更新请求后,会应用新的参数值(前提是节点实现了参数更新逻辑)。的节点的参数(如控制器的增益、导航算法的阈值、传感器的配置等),无需修改代码或重启节点。客户端可以获取节点的当前参数值,并监听参数更新的状态(例如是否成功应用新值)。注意:确保传递的参数名称和类型与节点定义的参数一致,否则会抛出异常。目标节点接收到新参数后,会立即应用这些值(前提是节点实现了参数更新逻辑)。服务,并发送参数更新请求。

2025-03-12 22:33:20 351

原创 ROS话题、服务、和动作

在 ROS(Robot Operating System)中,、**话题(Topic)和服务(Service)**是三种主要的通信机制,每种机制都有其特定的用途和特点。如果需要传输(如传感器数据),使用。如果需要执行并获取即时响应,使用。如果需要执行,并且需要中间状态更新或任务取消功能,使用。

2025-03-12 19:17:53 614

原创 电容的作用

以下电路灯泡工作电压是10V,电阻100Ω。电源为220V交流电,如果将220V交流电直接加在小灯泡身上会将其烧毁。此时我们给它串联一个电容,电容承担210V压降即可。那电容如何承受210V压降?我们知道,电阻对电流有阻碍作用,它可以串联分压;电容也一样,它有容抗,也是电阻值,以下为电容容抗计算公式:,单位是欧姆,f是交流电源频率,C是电容器电容值(单位法拉F)。

2025-02-06 14:17:08 947

原创 ESP32(Arduino)

USB接口用于下载程序,电源输入和烧录驱动等等。BOOT启动模式选择,按下为下载模式,放开为运行模式。ESP-32-WROOM-32模组集成了蓝牙,wifi等模块共48个引脚。但并不是所有引脚都暴露在外面,有些引脚不能使用就没有暴露出来。这个单片机就只有30个引脚。ESP32芯片有34个可编程的GPIO引脚,每个引脚执行多个功能。

2025-02-03 15:02:41 2422

原创 PyTorch快速入门

再PyTorch当中如何读取数据主要涉及到两个类,Dataset和Dataloader。在 PyTorch 中,Dataset和DataLoader是用于数据处理和加载的两个核心组件,它们在深度学习项目中起着至关重要的作用.Dataset是一个抽象类,它定义了访问和处理数据的接口。其主要作用是封装数据集,提供一种统一的方式来获取数据集中的样本及其label标签并且会对其进行标号,方便后续的数据处理和模型训练。主要实现获取每个数据及其label并且告诉我们共有多少个数据这样的功能。用户可以通过继承。

2025-02-03 15:01:24 2129

原创 C++学习记录

结构体属于用户自定义数据类型,允许用户存储不同的数据类型struct 结构体名{结构体成员列表};//结构体名就是数据类型#include<string>//使用字符串必须包含此头文件int main(){ //方式1int age;int score;//创建变量时struct可以省略//方式2int age;int score;//方式3int age;int score;}s3;//通过.访问属性。

2025-01-17 15:33:19 1121

原创 ROS基础

工作空间(workplace)是一个存放工程开发相关文件的文件夹。所有的源码,配置文件和可执行文件都放在工作空间文件夹中。src:代码空间(SourceSpace)。用来放置功能包,功能包里的所有代码,配置文件,launch文件都在此空间里build:编译空间(BuildSpace)。放置编译过程中产生的中间文件,一般用不到devel:开发空间(DevelopmentSpace)。放置编译生成的可执行文件,库,脚本等等install:安装空间(InstallSpace)。

2025-01-14 17:21:13 1172

原创 各种电机原理介绍

直流电动机由直流电驱动电池或外部电源为其供电。在最简单的直流电动机中,定子为永磁体(即红蓝磁体外壳),转子是一个电磁体(即线圈),电流通过碳刷和一个换向器作用于转动的线圈。由于电流作用于线圈,线圈变成磁体。同级相斥异极相吸,线圈总是向异极靠近,在向异极靠近后(靠近到异极磁体的中间位置),由于换向器,致使线圈电流反向,线圈磁体方向发生变化,线圈继续向异极靠近。为了使电机更平稳快速地运转,增加线圈组数和转子铁芯以及换向器数量,如下,则为一般使用的直流有刷电机。

2024-12-23 21:09:16 3893

原创 三相电原理

因此随着旋转的磁场转过线圈,当出现下图左边的磁场时,此时线圈磁场对线圈感应电流最大,也就是电子流动速度最大;为了改进单相电提供电流忽大忽小的问题,可以再加一相线圈,称为第二相,它与第一组线圈旋转120度得到的。不过磁铁到下图所示位置时磁场最大处没有线圈,而有线圈的地方磁场很小,此时电流仍然很小。三相电之间没有零线,所以是三相电火线之间的相差电压,由于其中一相电压等于另外两相电压之和,假设其中一相为0V可以去除。基于上述特性,假设三相电的三相分别给三个负载供电,某一相的正向电压等于另外两条线的反向电压。

2024-12-23 19:59:18 1369

原创 电磁继电器

如果是10V继电器的线圈可能会直接烧毁(注意,这里说的烧毁是线圈端电压过大而导致的烧毁。下面所说的最高承受指的是右边触点所在电路)。第一行指它的机械寿命只有10万次,也就是继电器带载的情况下,当它的开关次数达到10万次时继电器可能就无法可靠的动作了,而MOS管是不用考虑机械寿命的。除此之外,继电器的动作时间大约为10ms,一秒钟可以开关100次(一般不会让继电器这样频繁开关,否则容易使其损坏),而MOS管导通时间可以达到10ns。当给继电器的线圈通电,线圈就有了磁性,它的衔铁就会被吸引,致使电路连接。

2024-12-18 18:01:52 355

原创 MOS管米勒电容

在MOS管发热原因一篇中,分析过下图的上升沿过程。黄波(VGS)上升沿第二阶段平行一段就叫做米勒平台,这个现象被称为米勒效应,它由MOS管的米勒电容引起的在MOS管的等效电容图中(如下图),存在三个等效电容,分别为Cgs Cgd Cds。Cgs电容之前已将说过了,振铃现象和上升沿缓慢就是由它造成的,Cds影响的主要影响功率回路,Cgd就是米勒电容MOS管的手册中也有三个电容,分别为输入电容,输出电容和反向传输电容,它们和等效电容的关系如下。

2024-12-16 20:45:01 643

原创 MOS管发热主要原因和解决办法

忽略杂散电感,由于GS之间存在小电容,所以驱动回路就变成了RC低通滤波器,如下图,RC滤波器特点是当输入90度上升沿时,输出会变得缓慢,下降沿同理。这就是MOS管发热主要原因,因为此时MOS管并未完全导通,DS之间电阻RDSon比较大,DS两端的电压不小,电流也很大,这就会导致MOS管发热可以通过示波器来分析这个缓慢上升的阶段得到波形图如下,紫色为电流。开始时PWM为0,黄色波形为0V,MOS管完全关断,这时电压VDS就应该等于电源电压。右边部分MOS管完全导通时VGS=5V,VDS=0V。

2024-12-16 19:55:27 1372

原创 MOS管振铃现象

用MOS管作为电子开关电路如下单片机输出的PWM波形应该是规整的方波信号。但实际上确出现了下图的不稳定波形。这种上升沿和下降沿出现的不同程度的一小段震荡就叫做MOS管的振铃。如果振铃的峰值超过G端耐压,GS之间就会被击穿,MOS管就会坏掉。要判断振铃峰值是否会击穿MOS管,需要查看下图所示手册内容中的VGS下图所示型号的MOS管G与S之间最大电压为20V,超过这个电压就容易造成MOS管损坏。

2024-12-16 17:39:32 1039

原创 STM32

片上资源/外设上图深颜色的是位于Cortex-M3内核里面的外设,剩下的是内核外的外设。以上为STM32F1整个系列的外设,并不是所有型号都有这些外设,比如此款STM32F103C8T6就没有后面4个外设,具体查看手册Systick是内核里面的一个定时器,主要用来给操作系统提供定时服务(STM32可以加入操作系统,如FreeRTOS,UCOS等),如果使用操作系统就需要Systick提供定时来进行任务切换的功能。RCC可以对系统时钟进行配置,还可以使能各模块时钟。

2024-10-21 19:54:34 2347

原创 OpenVINO基本操作流程

环境配置:conda env list:可以查看有哪些环境conda activate intel:启动某个环境pip list:可以查看此环境下都下载了哪些软件包。

2024-10-04 18:52:11 749 5

原创 通信方式(UART,I2C)

通信方式分为串行通信和并行通信。串行通信用一根数据线就可以完成信息的传输,而并行通信需要8根数据线(一个字节8位数据,同时发送8位数据),由于并行数据线无法携带时钟信息,为了保证信号时序一致,需要额外的时钟信号线。并行通信速度快,但线成本也更高,抗干扰能力差,通信距离有限通常在。串行通信外设简单,成本低并且传输距离更远。

2024-09-10 17:52:09 1021

原创 opencv-特征检测

如果粉色窗口向四周移动,窗口内的像素没有变化则认定为平坦区域,如果窗口向上移动无明显变化,而左右移动有变化则认定为边缘,如果窗口向任意方向移动均有明显变化则为角点,如下图dst不是输入参数,是输出参数,输出检测出来的角点。

2024-08-12 17:45:23 1345 1

原创 SIFT算法原理

SIFT(ScaleInvariant Feature Transform),尺度不变特征转换。SIFT相对于一般的角点检测算法Harris和shi-tomas来说,具有角度和尺度不变性,不论平移旋转缩放亮度和噪音对特征点都没有影响,而且计算精准,速度快。通俗点来说,人看世界的事物都有近大远小的特点,而且远的事物还会产生模糊效果,但对于计算机来说就要需要使用SIFT算法来提取不同远近不同模糊程度的特征如下,人眼很容易分辨以下两张图片,但对计算机来说就不容易,利用SIFT算法就可以实现这两张图片的匹配。

2024-08-11 18:08:04 1157

原创 SoildWorks练习清单

鼠标中键可以旋转视图。ctrl+鼠标中建可以移动视图。F键图形回到视图中心。画完直线后按alt+c变为构造线。剖视图:先选择一个基准面再点击剖视图,就会沿这个基准面剖开。也可以设置剖视面到基准面的距离。新建零件在设置中修改字体等后,保存,在保存弹窗中将保存类型改为如下图所示即可保存为模板。新建零件,装配体后先保存再建模,建模过程中不定时保存,防止软件崩溃。显示类型功能:多种不同视图功能。

2024-08-11 14:49:35 544

原创 opencv-霍夫变换

霍夫变换就是一个可以让计算机学会自己找图形的算法。是图形处理领域内从图像中检测几何形状的基本方法之一。经典霍夫变换用来检测图像中的直线,后来霍夫变换经过扩展可以进行任意型状物体的识别,例如圆和椭圆。霍夫变换运用两个坐标空间之间的变换,将在一个空间具有相同形状的曲线或直线映射到另一个坐标空间的一个点上形成峰值,从而把检测形状的问题转化成统计峰值问题。

2024-08-05 20:20:29 1101 1

原创 OpenCV函数

cv2.imread:这个函数可以直接用cv2.imread('filename', cv2.IMREAD_GRAYSCALE)直接将图片以黑白图像输入,也可以通过cv2.imread(img, 0)来将图片以黑白图像输入。其实这两者是一样的,如下图所示,可以将特定的颜色通道用数字表示。如果直接用cv2.imread('filename')表示默认读入彩色图像.注意cv2.imread() 如果无法从指定文件读取图像,并不会报错,而是数返回一个空矩阵。

2024-08-03 21:16:32 6684 1

原创 opencv-图像透视变换

透射变换是视角变化的结果,是指利用透视中心,像点,目标点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴旋转某一角度,破坏原有的投影光束,仍能保持承影面上投影几何图形不变的变化)透射变换所需矩阵为3*3的矩阵,矩阵的最后一个数固定为1,所有需要求解这个矩阵的8个方程,而一个点(x,y)可以构建两个方程,所以共需要原图像4个点以及透射变换后对应4个点即可。其中,(u,v)是原始图像像素坐标,w取值为1,(x=x'/z',y=y'/z')是透射变换后的结果。

2024-08-03 21:15:31 794

原创 opencv-图像基础变换

缩放是对图像的大小进行调整缩放矩阵,相当于x和y乘一个常数例如将图像放大两倍。

2024-08-03 20:13:10 867

原创 opencv-图像仿射变换

如下图,对图中点1,2,3与图二中三个点一一映射,仍然形成三角形,但形状已经发生改变,通过这两组三点求出仿射变换矩阵,然后将其应用到图像中所有点就完成了图像的仿射变换。仿射变换设计图像位置角度的变化,是深度学习预处理中常用的功能。仿射变换就是对图像的平移缩放旋转翻转操作的组合。

2024-08-03 17:53:19 480

原创 Python

axis的取值取决于数据的维度,如果数据是一维数组那么axis只有0,如果数据是二维的,那么axis可以取0和1,如果数据是三维的,那么axis就可以取0、1和2。2、list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。【cmp】 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。返回:一个zip对象,

2024-08-03 17:05:47 1375

原创 OpenCV

第一维表示整张图像,第二维表示图像中的一个像素点,其中每个像素点又分为若干像素点,第三维表示最小像素点的RGB数值像素点范围为0~255,所以选用dtyper为uint8就可以了如下所示,二维数组,为灰度图的读取结果。

2024-07-26 16:43:28 111

原创 树莓派学习记录

如下图4B树莓派所示,左侧最上方的两个接口为USB接口,最左侧最下方的比较大的接口为以太网接口(配备了两个信号灯来表示信号的状态)。蓝圈所示为耳机接口,让我们的音视频得以输出。在它的右边有一个摄像机模块的排线接口。黄圈所示为两个HDMI接口,可以将视频进行输出,支持4K视频输出,红圈所示为typec电源接口。板子下方有一排GPIO连接器(40针),可以方便链接各种各样的传感器,在其左边有四个小的针脚,它是支持POE供电的SD卡插在树莓派的背面,如下图所示。

2024-07-24 13:09:14 1857

原创 51单片机

一位数码管共有8个LED。其内部连接如下图,为了减少数码管的引脚数,在数码管内将8个LED的正极或负极引脚连接起来,接成一个公共端(COM端),根据公共端是正极还是负极,可分为共阳极和共阴极。数码管共十个引脚,左下角的为1号引脚,逆时针递增,中间的两个引脚(即3号和8号引脚为两个公共端)。定时器属于单片机内部资源,其电路的连接和运转均在单片机内部完成。

2024-06-26 22:09:40 1722

原创 RAM和ROM

RAM和ROM都是由来存储的,比如CPU缓存,电脑和手机内存等属于RAM,而固态硬盘,U盘,手机的128G,256G存储空间等都属于ROM。他们的最主要区别是RAM在断电后存储数据就没有了,而ROM在断电后存储数据依旧存在。并且RAM的速度远远大于ROM。

2024-06-18 17:35:40 1515

原创 差动放大器

差动器的出现是为了解决直接耦合电路存在的零点漂移问题,另外,差动放大器还有灵活的输入,输出方式。

2024-06-10 13:35:46 5311

原创 负反馈放大电路

开环放大倍数:放大电路没有加反馈时的放大倍数A闭环放大倍数:电路加了反馈信号的放大倍数Af。反馈信号和输出信号的比值称为反馈系数F。

2024-06-08 10:37:10 1760

原创 直流放大器

集成电路主要由半导体材料构成,其内部适合用二极管,三极管等类型的元器件制作,而不适用电容,电感和变压器,因此集成放大电路内部多个放大电路之间通常采用直接耦合。直接耦合电路除了可以放大交流信号外,还可以放大直流信号,所以直流耦合放大电路又称为直流放大器。直流放大器在传输信号时不会使信号衰减,但是前后级电路之间的,而且容易出现。下面介绍两种方法的解决办法。

2024-06-08 09:31:33 1748 2

原创 AutoCAD记录

(软件提供了圆的多种画法,其中包括与其他图形的切线)

2024-06-05 17:04:31 881

原创 场效应管原理及其放大电路

三极管是一种电流控制器件,当输入电流变化时,输出电流会随之变化。而场效应管是一种电压控制器件,当输入电压变化时,输出电压会随之变化。

2024-06-05 12:40:50 3365

原创 多级放大电路

多数情况下,电子设备处理的交流信号很弱,由于单级放大电路的放大能力有限,往往不能达到要求的放大幅度,所以往往将多个放大电路连接起来组成多级放大电路根据各个放大电路之间的耦合方式(连接和传递信号方式)不同,多级放大电路可分为。

2024-06-04 16:44:00 1103

原创 功率放大电路

功率放大电路,简称功放电路。与不同放大电路相比,功放电路更关注于功率的放大,基本放大电路都是在放大电压和电流之间进行选择,而功放电路则在电流和电压之间进行权衡使U与I的乘积达到最大,来推动大功率负载(如扬声器,仪表的表头,电动机,继电器等)工作。。

2024-06-03 23:18:33 6317 3

空空如也

空空如也

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

TA关注的人

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