- 博客(45)
- 收藏
- 关注
原创 嵌入式学习!(一)ESP32-点灯(22)-26/3/18
安装过PlatformIO会自己根据platformio.ini 文件中的配置来进行下载相关的配置、库、工具链,type-c 接口与 USB接口相连(因为在platformio.ini文件中明确了USB接口可作为传输接口)使用的亚博智能的BST-03 的三色LED灯,具备R-G-B-GND 这4个引脚。
2026-03-18 21:35:34
146
原创 AI学习(三)openclow启动(2)2026/03/05
这个问题通常是 Windows 上计划任务管理网关进程时出现的间歇性异常。通过单独打开此网关终端,即可正常连接openclow。针对直接打开openclow 连接失败的问题。
2026-03-09 14:48:52
317
原创 AI学习(三)AI编程IDE-Trae简单使用(1)2026/03/05
由于我在IDE中设置的编码格式GDK,导致HTML打开文件出现文字乱码,将IDE中的编码格式调整至UTF-8,这是html可识别的编码格式,让其自动编程包括识别报错与修正。重新打开文件成功显示并允许。第二:我指定了使用python与C++,出现了两个问题:1、我的电脑里没安装python,他无法帮我安装下载,2、C++中缺少了SFML库,他也无法帮我下载。第一:若不指定语言,则会使用多种语言的结合体,比如GO生成web服务,css设置样式,java设置逻辑,最后生成一个html的网页文件。
2026-03-05 11:29:20
257
原创 机器人学习!(二)ROS2-DDS、launch、TF、URDF、Gazebo、Rviz、RQT、相关项目链接(9)2026/03/03、
floating 浮动关节,可平移、旋转;刚体是 links :外观和物理属性(size、color、形状),惯性矩阵inertial、碰撞参数collision等,每个link会成为一个坐标系。想让多个相同节点启动,则需要使用 “namespace”,尤其是在加入别人模块的时候,这样可以防止重命名问题。机器人的跟随,可使用基于一个 两者都在的源坐标系下的坐标与角度,,再给一个时间系数,通过向量计算得到速度与角度。使用mimic 节点,进行话题重映射,是的一号机器人的位姿输出,作为二号机器人的控制指令。
2026-03-04 00:33:43
156
原创 机器人学习!(二)ROS2-话题(8)2026/02/06
发布话题消息 销毁节点并关闭接口。创建节点并初始化 创建节点并初始化。通用的USB类型摄像头的图像获取工具:ros-版本-usb-cam。我使用的是CSI摄像头,所以需要修改获取图像的函数。获取图像话题的带宽(图像大小):使用 bw 命令。话题:节点间传递数据的桥梁。
2026-02-07 00:00:11
71
原创 机器人学习!(二)ROS2-节点(7)2026/02/03
注意:新建节点需要在对应文件夹下的。独立运行的可执行文件。可分布式运行在不同主机。可使用不同的编程语言。通过节点名称进行管理。
2026-02-03 00:18:19
163
原创 jetson naon super使用 sudo /opt/nvidia/jetson-io/jetson-io.py 界面闪退
(2)在外面找到一个文件并改名,复制到此文件下即可。(1)查看dtb文件是否缺少。
2026-02-02 23:45:41
140
原创 嵌入式学习!(一)C++学习-leetcode(21)-26/1/29
开始搓题1、两数之和 = 目标值利用哈希表key=数值,value=索引使用目标值减去当前值,然后检测这个数是否再哈希表中?若有则找到:若无则将当前值存入哈希表;2、最佳时机购买股票给定一个数组 prices,其中 prices[i] 是第 i 天的股票价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。动态规划思想(一次遍历)记录目前为止的最小价格;记录最大利润3、反转列表题目:给你单链表的头节点 head,请你反转链表,并返回反转后的链表。
2026-01-29 16:43:42
239
原创 嵌入式学习!(一)C++学习-STL(21)-26/1/27
链表是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。区别:vector可以动态扩展 → 找新的更大的空间,原数据拷贝,是否原空间。结点:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。质变算法:运算过程中会更改区间内的元素的内容,例如拷贝,替换,删除。非质变算法:运算过程中不会更改区间内的元素的内容,例如查找、计数;序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系。
2026-01-27 21:48:50
296
原创 机器人学习!(二)ROS2-环境配置(6)2026/01/19
推荐插件:chinese、python、C++、cmake、icons、ROS(已弃用,点击安装旁边的改用ROS2)数据录制:ros2 bag record 话题 复现:ros2 bag play 文件名称。发布话题:ros2 topic pub --发布频率 话题名 消息类型 具体内容。查看话题:ros2 topic list, ros2 topic echo 话题名。install:安装空间(install space)运行节点:ros2 run 功能包 节点名。
2026-01-19 23:54:28
604
原创 嵌入式学习!(一)C++学习-模板(20)-26/1/19
template<typename T> 等价于 template<class T>typename -- 表明其后面的符号是一种数据类型,可以用class代替。通用函数,返回值和形参类型不具体制定,用一个虚拟的类型来代表。T -- 通用的数据类型,名称可以替换,通常为大写字母。语法: template<typename T>总结:使用模板时必须确定出通用数据类型。template -- 声明创建模板。,并且能够推导出一直的类型。
2026-01-19 20:55:59
122
原创 机器人学习!(二)ROS-模型优化与加速(TensorRT)(5)2026/01/15
TensorRT是NVIDIA开发的闭源SDK,其核心优化技术深度依赖于NVIDIA GPU的专属硬件架构(如Tensor Core、SM单元)和软件生态(如CUDA、cuDNN)。在实验室 中间格式 极致优化 真实场景。训练模型 → 导出模型 → TensorRT优化(.engine) → 部署推理加速(CPU/GPU)PyTorch训练 → 保存为ONNX → 改装成赛车 → 上路飞驰。
2026-01-16 00:05:33
228
原创 机器人学习!(二)ROS-基于v4l2loopback虚拟摄像头项目(4)2026/01/14
基于v4l2loopback虚拟摄像头的yolo目标检测和ros节点控制。
2026-01-15 21:55:10
990
原创 机器人学习!(二)ROS-基于Gazebo项目-YOLO(3)2026/01/13
ERROR] [1768323879.415398, 3.882000]: 图像转换错误: /lib/libgdal.so.26: undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0。关键:安装PyTorch的 python3.8 兼容版本,及yolo 、opencv及依赖性。创建python功能包与节点(第一次运行会自动下载YOLOv8)修改CMakelist.txt文件,新增。第二步、开始运行YOLO。
2026-01-14 01:06:25
288
原创 机器人学习!(二)ROS(1)2026/01/11
5. Demo: 运行Gazebo、rviz实现激光雷达建图、地图保存、导航定位+路径规划。1. WIN11安装VM17.6+Ubuntn20.04+ROS1。2.学习话题、节点、客户端、服务端 结构。3. launch格式,TF坐标变换。4. Demo:运行小海龟,实现追逐。
2026-01-12 21:30:01
145
原创 嵌入式学习!(一)C++学习(19)入门-1/5
类中结构 : 父类 vfptr (虚函数指针) ---> vftable(虚函数表)读文件:istream& read(char *buffer, int len);
2026-01-05 22:31:07
366
原创 嵌入式学习!(一)C++学习(18)入门-12/25
父类中所有非静态成员属性都会被继承下去,父类中私有成员属性 是被编译器给隐藏了,因此是访问不到,但是确实被继承下去了。通过类名方式访问: son:: m_A son::base::m_A。当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数。this本质是指针常量,指针的指向是不可以修改的 相当于 person * const this;语法:class 子类 : 继承方式 父类1, 继承方式 父类2......成员函数的 括号 后面;
2025-12-25 22:44:47
362
原创 嵌入式学习!(一)C++学习(17)入门-12/22
1、如果定义有参构造函数,C++不提供默认无参构造,但提供默认拷贝构造。4.程序在调用函数时会自动调用构造,无需手动调用,而且只会调用一次。4.程序在调用函数时会自动调用构造,无需手动调用,而且只会调用一次。语法:创建:class 类名{ 访问权限: 属性 / 行为};3、默认拷贝构造,对属性值拷贝;唯一区别:默认的访问权限不同 struct 默认公共;语法:构造函数( ) : 属性1(值1),属性2(值2).... { }编译器强制要做的,若我们不提供,编译器会提供,其提供的是空实现。
2025-12-22 23:38:38
433
原创 嵌入式学习!(一)C++学习(16)入门-12/17
/ new 返回的值是个地址,堆区中 值为10 的 地址。堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete。tips2:常量:字符串常量 "world";注意事项:不要返回局部变量的地址,栈区开辟的数据有编译器自动释放。堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。@ 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。@ 栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。
2025-12-17 22:53:40
247
原创 嵌入式学习!(一)C++学习(15)入门-12/15
6. 头文件引用形式与C有点区别,比如using namespace std 的使用。char 名字[] = " xxx " c语言。string 名字 = " xxx " c++5.2选择结构 :if语句、<string> 头文件。编译使用 g++ 而不是gcc。
2025-12-16 22:58:33
263
原创 Vscode终端中文乱码
2. 代码写完后才发现,也是直接将UTF-8 改为 GBK 的编码格式,此时程序中的中文会变成乱码,在使用 CTRL+ Z 来进行一次回撤,即可。(也许有问题,小项目用)打开Vscode或创建文件时,默认的编码是 UTF-8 ,若直接进行打字,之后编译运行,终端中文是乱码。1. 在开始时,直接将UTF-8 改为 GBK 的编码格式;
2025-12-16 21:39:51
311
原创 嵌入式学习!(一)Linux命令学习(14)入门-12/10
lib: /usr/lib: /usr/local/lib: 系统使用的函数库目录;/bin: /usr/bin: 可执行二进制文件;路径:Unix/linux " / ";一步压缩 tar czvf xxx.tar.gz xxx1 xxx2 xxx3 xxx4。一步压缩 tar -cjvf xxx.tar.bz2 xxx1 xxx2 xxx3 xxx4。/sbin: /usr/sbin: /usr/local/sbin: 系统管理员使用的可执行命令;/mnt: /media: 光盘默认挂载点;
2025-12-15 21:17:15
423
原创 嵌入式学习!(一)C语言学习(13)入门-12/09
2. 设置光标位置:SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);<conio.h> 这个头文件当中。<conio.h> 这个头文件中。1. 随机数种子: srand((size_t)time(NULL));6. 检查当前键盘是否有输入,若有则返回一个非0值,否则返回0值 kbhit() 用法: int _kbhit(void);5. 从控制台无回显地取一个字符 getch() 用法: int。返回值:读取的字符;
2025-12-09 23:36:27
196
原创 嵌入式学习!(一)C语言学习(12)入门-12/04
不可以修改指针变量的值 p = &b;add( int arr[],int len) 可替换为 add( int* arr, int len)不可以修改指针指向内存空间的值 *p = 100;不可以修改指针指向内存空间的值 *p = 100;可以修改指针指向内存空间的值 *p = 100;//操作野指针对应的内存空间可能报错(这个地址的空间, 让不让访问, 类型是否一样,里面有啥)// 2. ch指针后移 |
2025-12-05 00:13:59
340
原创 嵌入式学习!(一)C语言学习(9)入门-12/02
void *realloc() 修改已分配空间的大小。long int strtol() 字符串转长整型。char *strncpy() 指定最大长度复制。void *malloc() 动态分配内存空间。void free() 释放动态分配的空间。void srand() 初始化随机种子。char *strcpy() 字符串复制。char *strcat() 字符串拼接。char *strrchr() 查找字符。void *memset() 设置内存值。void *memcpy() 内存复制。
2025-12-02 00:40:15
280
原创 嵌入式学习!(一)C语言学习(8)入门-11/29
2. 再用malloc函数为p指针分配动态空间,因为要对其进行写操作。4. 在定义临时变量last保存head地址,防止其丢失。3. 写入数据后,由p指向的结构体保存。1.制造出链表的元素。
2025-11-29 00:20:48
122
原创 嵌入式学习!(一)C语言学习(7)入门-11/24
head 这就是一个结点。【 数据 | 指向一下个的指针】→ 【数据 |指向一下个的指针】→。→ 【数据 | 结尾】5.优化:链表 (14.2.2反复!3.可变数组的自动增长。4.缺陷:导致空间不足。
2025-11-24 23:52:30
232
原创 嵌入式学习!(一)C语言学习(6)入门-11/19
malloc()函数的使用,借了一块void类型的空间,空间的大小以字节为单位,返回的是 void * ,需要自己转换成想要的类型 (int*)malloc(n*(sizeof(int)))字符数组 char word[] = {'H','E', 'L', 'L', 'O', '!//括号里的名字是常量符合,类型是int,值则依次从0到n。字符数组 char word[] = {'H','E', 'L', 'L', 'O', '!//空字符串,buffer[0]== ' \0 '
2025-11-20 00:15:43
431
原创 嵌入式学习!(一)C语言学习(5)入门-11/18
函数是一块代码,接收零个或多个参数,做一个事情,并返回零个或一个值y = f(x)定义:函数类型 函数名 ( 参数表 )函数体调用:函数名(参数值);()起到了表示函数调用的重要作用,即使没有参数也要带上();如果有参数,则需要给出正确的数量和顺序这些值会被按照顺序依次用来初始化函数中的参数<类型> 变量名称 [ 元素数量 ];‘元素数量必须是整数’容器: 其中所以元素具有相同的数据类型;一旦创建,不能改变大小可出现在赋值号 左边和右边数组每个单元就是数组类型的一个变量。
2025-11-18 23:46:53
664
原创 嵌入式学习!(一)C语言学习(4)入门-11/17
b 回退一格 、 \t 到下一个表格位、 \n 换行、 \r 回车、 \" 双引号、 \' 单引号、\\ 反斜杠本身。float 32 ±(很大),0,±inf,nan 有效数字7 输入 %f 输出 %f,%e。double 64 ±(很大),0,± ,nan 有效数字15 输入 %lf 输出 %f,%e。同理,对于-a,其补码就是0-a,实际是2^n - a , n是这种类型的位数。lg:(int)10.2 注意安全性,小的变量不总能表达大的量。
2025-11-18 00:04:24
285
原创 嵌入式学习!(一)C语言学习(3)入门-11/13
方案1:13245 → 1 3 2 4 5: 原本的数13245→逆序54231→再逆序挨个输出在加空格 1 3 2 4 5。方法2:在计算位数cnt时的循环中,直接使用mask *= 10,同时要注意循环的轮数。注:其中 在输出时,设置了当x>= 10 两位数时才输出空格,这样能让最后5后面没有空格。其中mask = 10000 ,循环的次数应该按照位数的多少来进行。2. 否则,计算a除以b的余数,让a等于b,而b等于那个余数;方案2:利用先取最高位,再取余,在同步位数,依次循环。
2025-11-13 23:49:41
197
原创 嵌入式学习!(一)C语言学习(2)入门-11/12
rand() 是伪随机数,是根据一个数值按照某个公式推算出来的,这个数值我们称之为“种子”。在实际开发中,我们可以用时间作为参数,只要每次播种的时间不同,那么生成的种子就不同,最终的随机数也就不同。类似于计数器:先初始化,在计数器达到某个值之前,重复循环,而每循环一轮,计数器以一定步进 进行调整,比如加1 或 减1。while( 条件 ){ 循环体语句 } : 条件满足时,不断循环其中语句。对一个整数做 /10 的操作, 就去掉了他的个位数。注意:()中的每一个表达式都是可以省略的。
2025-11-12 23:55:59
231
原创 多传感器融合(四)--- ROVIO与EVO的安装与使用
ROVIO是一款基于滤波的单目SLAM依赖:ROS、kindr、lightweight_filtering(在rovio目录下操作)
2023-07-25 11:17:57
399
原创 多传感器融合(三)--- NaveGO工具箱
NaveGo:一个开源的MATLAB/GNU-Octave工具箱,用于处理集成导航系统并执行惯性传感器剖析分析。NaveGo 是一个开源的 MATLAB/GNU Octave 工具箱,用于处理集成导航系统、模拟惯性传感器和 GNSS 接收器。它还使用艾伦方差对惯性传感器进行分析。它可以在线免费获得。它是在MATLAB / GNU-Octave下开发的,因为这种编程语言已成为物理系统工程和建模的事实标准。NaveGo的座右铭是“为大众带来综合导航”。
2023-07-24 21:51:56
1706
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2