自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

干啥都是小小白的分享内容

分享个人的学习笔记与错误解决

  • 博客(41)
  • 收藏
  • 关注

原创 VOFA出现接收数据无显示

摘要:代码测试时发现VOFA工具无法打印输出,但其他串口调试工具正常。关闭break功能后问题解决,确认代码本身无错误。问题可能与VOFA工具配置或兼容性有关。

2025-12-09 21:08:24 130

原创 Linux 驱动

本文详细介绍了Linux字符设备驱动的开发流程。主要内容包括:1)通过find命令查找内核头文件路径并配置VSCode开发环境;2)编写基础驱动框架,实现模块加载/卸载和printk调试输出;3)使用register_chrdev注册字符设备,定义file_operations结构体实现open/read/write等操作;4)通过mknod创建设备节点,开发用户空间测试程序验证驱动功能;5)使用copy_to/from_user实现内核与用户空间的安全数据交互;

2025-12-03 22:01:31 971

原创 Linux C编程

这篇文章主要介绍了Linux环境下C语言编程的实用技巧。首先,讲解了如何设置Vim的<tab>键默认为四格以及显示行号。接着,通过“hello world”示例,介绍了gcc编译器的四个步骤(预处理、生成汇编代码、生成目标文件、链接),并展示了如何编译多个文件并进行链接。文章还详细介绍了Makefile的使用,包括基本语法、变量使用(“=”、“:=”、“?=”、“+=”的区别)、模式规则、自动化变量以及伪目标的概念。最后,讲解了Shell脚本的创建和执行,包括获取键盘输入、进行运算、使用逻辑运算符&&和||

2025-11-24 22:42:59 505

原创 rosbag的使用

ROS中的rosbag工具用于录制和回放ROS主题数据,支持命令行和编程两种使用方式。命令行操作包括录制(rosbag record)、回放(rosbag play)和查看信息(rosbag info)。编码实现通过C++ API可灵活控制数据读写流程:写操作需要创建rosbag对象、打开文件流、写入话题数据并关闭;读操作则通过解析文件流获取话题、时间戳和消息内容。该工具在机器人调试和测试中可实现数据复用,典型应用如录制并回放乌龟运动轨迹。

2025-08-10 10:41:46 618

原创 tf坐标变换

摘要:本文详细介绍了ROS中的坐标变换(tf)系统实现方法。主要内容包括:1) 坐标变换基础概念,说明传感器数据不能直接等价于机器人坐标系,需要通过tf2、tf2_ros等工具包进行转换;2) 静态坐标变换实现,包括TransformStamped和PointStamped消息类型的使用,发布方和订阅方的C++/Python代码实现;3) 动态坐标变换实现,处理时间戳问题及四元数转换;4) 多坐标变换实现,展示如何计算坐标系间关系及坐标点转换;5) 坐标关系可视化工具view_frames.py的使用。文章

2025-08-07 15:38:48 976

原创 分布式通信实现

分别相互输入各IP与各计算机名,其中ip可以通过ifconfig 计算机名可以通过hostname查看。先要保证不同计算机处于同一网络中,最好分别设置固定IP,如果为虚拟机,需要将网络适配器改为桥接模式;3.反向测试,主机启动发布节点,从机启动订阅节点,测试通信是否正常。2.主机启动订阅节点,从机启动发布节点,测试通信是否正常。1.主机启动 roscore(必须)~/.bashrc 追加。~/.bashrc 追加。配置主机的 IP 地址。

2025-08-07 15:32:54 379

原创 ​​​​重名问题

ROS中的重名问题及解决方案 摘要: 本文详细分析了ROS系统中常见的重名问题及其解决方案。主要内容包括:1)工作空间下功能包重名问题,会导致功能包覆盖和依赖错误;2)节点重名处理,可通过命名空间、重命名或两者结合的方式解决;3)话题通信重名问题,可通过rosrun命令、launch文件或编码方式(全局/相对/私有话题)实现重映射;4)参数重名问题,可通过launch文件或编程方式(ros::param/NodeHandle)设置全局/相对/私有参数。文章通过具体代码示例和效果演示,系统介绍了各种重名问题的

2025-08-07 15:30:46 955

原创 launch 的学习

本文介绍了ROS launch文件的使用方法,主要包括:1) 节点启动配置(name、type、output等属性)和参数设置(param/rosparam);2) 特殊属性如respawn、required、ns命名空间的使用限制;3) remap话题重映射和group分组启动多个节点;4) arg参数化配置实现多处引用统一修改。通过turtlesim示例演示了如何加载/导出yaml参数文件、启动多乌龟界面,以及利用arg简化参数管理。文中还指出了rosparam操作时需注意的优先级问题。

2025-08-07 15:26:50 363

原创 tf坐标变换的实操

本文介绍了如何通过ROS实现两只乌龟的跟随功能。主要内容包括:1) 通过服务调用生成新乌龟;2) 获取并发布两只乌龟的位姿信息到坐标系转换;3) 以其中一只乌龟为原点计算另一只乌龟的相对坐标,并发布控制速度信息。系统使用turtlesim/Spawn服务创建新乌龟,通过订阅乌龟位姿话题获取坐标数据,利用tf2_ros进行坐标变换计算,最终实现一只乌龟跟随另一只移动的功能。文中详细说明了各模块的实现流程、数据类型和代码结构,并提供了完整的launch文件配置方法。

2025-08-07 11:49:32 423

原创 话题通信之python实现

本文介绍了使用Python实现ROS话题通信的方法,包含发布者和订阅者的完整代码示例。发布者实现包括:导入ROS包、创建发布节点、设置发布主题、编写消息内容和设定发送频率;订阅者实现包括:创建订阅节点、设置订阅主题、定义回调函数和使用spin()循环。文章详细说明了代码编写步骤、CMakeLists文件修改方法以及终端测试流程,并提供了运行效果截图。通过Python实现ROS通信比C++更简洁易维护,适合ROS初学者快速掌握话题通信机制。

2025-06-01 20:23:58 576

原创 开始通信之旅-----话题通信

话题通信主要涉及到三个对象其主要流程如下图详细解释一下:1.发布者向管理者发送发布话题等相关信息,在管理者处注册2.订阅者向管理者发布订阅话题等相关信息,在管理者处注册(注意1和2顺序可以相反)3.管理者将订阅者和发布者进行配对4.配对后发布者无需通过管理者发送信息直接和订阅者进行数据传输。

2025-06-01 19:36:37 664

原创 如何使用windows下的vscode连接到本地虚拟机的linux

下载下图所示插件下载完以后打开首选项选择设置搜索ssh搜索ssh往下滑对下图打上勾点击下图或者按ctrl + shift +P 搜索ssh选择第一个,双击后进入这个界面好的window基本配置差不多。

2025-05-30 19:23:42 993

原创 sudo apt-get update错误解决

首先使用进入该文件后然后按两次esc键,然后输入:wq先输入 (:)再输入wq。

2025-05-29 17:04:07 589

原创 编写第一个ros程序

本文主要为初学ros提供一个创建环境的方式

2025-05-27 17:52:33 845

原创 ROS_Noetic的安装

ros学习

2025-05-22 18:56:13 816

原创 Ubuntu20.04的安装(VMware)

ros的环境安装之Ubuntu20.04安装

2025-05-22 11:50:46 793

原创 YOLO算法模型检测利用手机IP摄像头

其中admin:admin是你的用户名和密码一般都是admin。

2025-02-13 16:24:52 678

原创 yolov5训练网络数据集

1.1 下载网络数据集本次使用IP102(下附数据集原作者)这是一个害虫数据集,用于农业防治。下面是解压缩以后的文件树首先我们看VOC2007这个文件夹这里面有三个文件:1.训练集与测试集的图片编号第一个文件是:test.txt是测试集的图片编号所在文件同理,trainval.txt是训练集所在文件2.xml也就是目标检测中那个框和标签所在文件,注意此时是测试集和训练集都在一起此时一张图片一个xml文件等下要依据此进行变换3.图片存放地,所有图片都在这里(包括训练集和测试集)

2025-02-08 01:12:50 1490 2

原创 yolov5错误更改与相关参数详解(train.py)

main中相关参数首先你先运行一次train.py然后他会帮你下载coco127数据集,然后如果出现unzip的错误你就需要自己解压缩一下。其中coco128.yaml中的train与val是一个文件路径且该路径是你解压以后的images/train2017此时应该会报错多处:此时你要去上面找报错的.py文件,窗口一般有,然后将改窗口中的所有np.int改成int我改了好多处这个错每次运行都改一次直到没有这个错误这里的long int可能是int64。

2025-01-29 17:57:52 1349

原创 yolov5的detect.py中基础参数分析

上述:如果不设置则每次运行时都会新建一个exp,如果设置了就不会新建而是在上次文件夹。上面两个参数是增强:第一个是增强NMS,第二个是增强检测(可以提高被检测出概率,可能也会检测出错)上述:在--project的路径下新建文件夹,default = “新建文件夹名称”上述:运行结束后输出结果所在文件,default = “输出结果的文件夹路径”上述参数是:用于将模型中不必要参数去除仅保留检测需要参数。可以发现dog检测错了,然后坐下角的car概率提高了

2025-01-25 15:50:23 282

原创 小土堆学习笔记10(利用GPU训练于模型验证)

模型优化

2025-01-21 01:38:00 1203

原创 小土堆学习笔记9(完整的模型学习套路)

导入训练集和测试集。

2025-01-17 21:22:02 306

原创 小土堆学习笔记8(模型使用与更改,模型保存与模型加载)

本次使用下述模型参数如下:第一个参数:是否载入预训练权重,就是问你要不要载入在IMAGENET这个数据集下已经训练好的权重(各项参数)如果要使用的话就要写一下weight="DEFAULT"或者weight="IMAGENET1K_V1",如果不用不写这个参数就好了,第二个为如果第一个参数写了,他得从网上下权重和相关数据, 如果第二个参数为True,则为显示下载进度条,否则不显示。

2025-01-17 02:03:16 378

原创 小土堆学习笔记7(优化器)

优化器的学习

2025-01-14 14:44:22 552

原创 小土堆学习笔记6(L1Loss,MSELoss,CrossEntropyLoss)

本次重点学一下新版本的CrossEntropyLoss,这玩意折磨我好几个小时。

2025-01-12 02:28:26 969

原创 卷积问题详解

然后由于卷积层的输入kernel不是一个我们规定的特定值而是服从正态分布的一个随机值,我们就可以得到输出如下了:(也就是代码中的out)为了使得卷积计算简单:我们设置stride等于1,padding等于0,经过一个单通道的计算可以得出最后的值为。好的,多通道的输入单通道的输出我们会了,现在我们来看看多通道的输入和多通道的输出。我们经常是RGB三通道,那此时我们的input也选择3通道:如下图。

2025-01-11 19:08:19 450

原创 小土堆学习笔记5(sequential与小实战)

稍微解释一下就是:Sequential顺序连接:Sequential 容器中的模块是按顺序连接的。当你将输入传递给 Sequential 的 forward() 方法时,它会依次将输出作为下一个模块的输入,最终返回最后一个模块的输出。就是他会按顺序执行你放在Sequential里面的代码。

2025-01-11 07:41:49 1219

原创 小土堆学习笔记4(线形层)

主要是防止,输入drop_last = False的情况下,最后一组的in_features不等于前几组的,如何稍微更改了一下。对out_feature进行更改,取前面的196608:10的输出,最后一组按比例输出(向上取整模式)下面这两行代码的效果差不多,都是为了将输入的图像展平,变成可以进行矩阵运算的一维矩阵,

2025-01-09 09:51:33 387

原创 小土堆学习笔记3(非线性激活中的ReLU与Sigmoid)

自我学习笔记的分享,主要是非线性激活的两个函数的使用

2025-01-08 04:02:10 388

原创 小土堆学习笔记2(卷积与最大池化)

小土堆学习池化层与卷积层的个人理解

2025-01-07 04:46:39 1031

原创 2024年pytorch小土堆学习笔记1(summarywriter与图像处理)

据我个人的理解就是画图的,可以看到每一次的步数那么就让我们画两张图第一步:导入第二步:设定赋值与相关文件存在位置(看注释)第三步:画一个简单的图y=2x相当于i从1执行到了100,然后这个图的标题是y=2x,y轴的输入是2*i,x轴的输入是i第三步附加1:显示你的图片(PIL格式的)第四步:关闭第五步:看一下你的图像(注意注释)

2025-01-02 04:12:45 480 1

原创 2024年pytorch小土堆学习笔记(2024.12.31)

首先对于小土堆视频1的aconda可以直接安装最新的(兄弟们加油)(理论上整个过程都不会卡顿,如果发生卡顿,这玩意是外国软件emmm...)

2024-12-31 03:51:20 2669 11

原创 pycharm与conda?

配置conda,首先看上图,选择custom environment,然后记住了一定要选择Scripts文件夹下的conda.exe而不是和小土堆一样的python,然后点reload environment ,如果发现create点不了你就点一下base conda按钮再点回 custom environment,就可以create了。小土堆的第二个视频,新版的pycharm如何。

2024-12-31 03:15:23 951 11

原创 torch.cuda.is_available(),false 怎么办?

在我学习改视频的第一章就有点问题就是torch.cuda.is_available(),false ,我寻思我明明有显卡咋会false,然后我就自己开始鼓捣了。

2024-12-30 22:49:18 2454

原创 ADC0832的stm32的实现

采用了软仿SPI最终传值0-256经过protues仿真证明没啥问题。我用的主频是72Mhz'

2024-12-25 23:00:24 691

原创 关于如何实现STM32cubemx-protues-oled

经过数以十次的尝试,我发现当我cubemx选择i2c时无论咋选都是实现不了的,那么经过我多方搜索发现当用软件I2C可以实现。(我用的是STM32F103C8T6)

2024-12-25 02:01:32 666

原创 华清远见的联网

尝试tftp命令(tftp -g -l a.txt 192.168.50.238(板卡))利用ifconfig eth0 192.168.50.233(板卡)改变板卡端网络ip。利用sudo ifconfig ens33 192.168.50.238改变虚拟机ip。设置虚拟机的有线连接(注意要将虚拟机连接改为此次设置的)利用ifconfig -a(板卡端)查看所有网络连接服务。烧入linux程序后等待开机自启动(那5s不用管)命令minicom -D /dev/ttyUSB0。利用minicom连接板卡。

2024-04-20 12:40:19 249

原创 STM32MP157运行C语言程序

说白了就是你直接用PC端gcc编译的程序,在你的板卡端是运行不了的,你可以用arm-linux-gcc才能运行在板卡端。

2024-04-10 10:36:52 1267 1

原创 基于STM32MP157的基础操作

主要是mp157的移植和联网

2024-04-09 18:24:02 2038 1

原创 单片机中按键的使用

单片机中独立按键以及矩阵按键的使用

2022-11-30 01:17:52 1129

人工智能+害虫检测+yolov5

本资源主要用于yolov5训练集的处理,用于网络数据集下载后的yolov5训练的演示。

2025-02-07

yolov5的资源分享

yolov5的资源分享

2025-01-25

小土堆学习总资源直接能用

如果用不了欢迎评论

2025-01-25

小土堆学习笔记相关资源

小土堆学习笔记相关资源

2025-01-21

小土堆学习之最大池化层与卷积层

小土堆学习之最大池化层与卷积层的相关代码

2025-01-07

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

TA关注的人

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