自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 命令模式思想与 EvSim 事件调度

如果组件的更新间隔是 0.1 秒,那么一次执行结束后,事件会把自己的执行时间增加 0.1 秒,并返回 Reschedule。随着系统变复杂,我们往往需要进一步管理这些动作:有的动作要等到指定时间执行,有的动作需要按优先级排序,有的动作要周期性重复,还有的动作在执行前可能被取消。以后增加一种新的操作,例如某个时刻触发一次探测,只要提供相应的具体事件,并提交给现有调度机制,就可以复用事件队列和执行流程。这个过程体现了命令模式的价值:业务对象专注于具体动作,调度系统统一管理执行时机,以及执行后的处理方式。

2026-10-27 15:07:32 193

原创 Pub/Sub:观察者模式的工程变种 —— 从 GoF Observer 到进程内消息总线

发布‑订阅模式并非完全脱离观察者,而是观察者模式在大型工程下的变种实现。GoF 原生观察者:把通知容器绑定在业务被观察者上,简单但耦合高;Pub/Sub 消息总线:将订阅关系剥离到独立中介,依靠 Topic 做路由,实现发布者、订阅者解耦。EvDataBus这套同步进程内总线完整展现这套思想,用少量代码完成消息分发,同时也暴露同步模型带来锁、异常、生命周期、消息篡改等一系列工程挑战。

2026-10-23 16:46:39 108

原创 C++ 模板

模板就是一套 “代码模具”,本身不是可运行代码;编译器根据你传入的类型参数,自动帮你生成一份对应类型的真实函数 / 类代码。:图纸,通用描述,没有确定类型,不能直接运行;

2026-10-23 10:30:56 150

原创 虚函数与动态多态

virtual。

2026-10-21 17:02:09 201

原创 基于 C++17 与 RTTR 的注册式对象工厂:配置驱动的动态对象创建

整个演进路径,是从“固定分支写死创建”到“注册式动态分发”的典型工程范式:直接构造:最简单,完全不支持动态名称;if-else分支:可以按名字创建,但新增类型要修改加载核心,违反开闭原则;std::function + 注册表:把创建能力剥离出来,加载逻辑稳定,新增类只需要注册;模板简化注册:消除重复样板代码,是标准库实现工厂的最优形态;RTTR反射:把【类型信息、构造函数、属性】统一注册,实现跨体系的通用创建,是仿真框架里非常流行的落地方式。注册式工厂的本质,就是。

2026-10-21 17:00:18 326

原创 Agent 认知模式

模型面对复杂问题时,不急着直接回答,而是先拆成 Follow-up Questions,再调用搜索或工具获取答案,最后综合。原始问题 → 子问题 → 检索答案 → 继续子问题 → 最终综合。

2026-06-10 10:45:32 187

原创 Function Calling

system 消息 + user 消息 + tools 函数说明(system 给背景和数据,user 给任务,tools 告诉模型有哪些函数可以用、函数叫什么、需要什么参数。本地程序执行完函数后,会把system + user + assistant(tool_calls) + tool(函数结果)都拼进 messages。"我建议调用这个函数,并传入这些参数"(1)第一次发给大模型的消息组成。

2026-06-08 14:52:42 73

原创 坐标系概述

(2)经度在不同纬度下的“物理距离”是 不一样的:赤道附近,经度1度 ≈ 111km。但靠近两极,经度1度 ≈ 0 km。(2)用 ECS 做插值,相当于在平面上“画直线”,再映射回地球表面。(1)ECS是直角坐标系,实体坐标系,局部平面坐标系,单位是米。(3)纬度变化是按球面曲率来的,线性插值会导致路径“弯掉”。(1)经纬度LLA是球面坐标系,单位:°。

2025-05-12 16:42:46 572

原创 QChart绘制曲线

(3)绘制QLineSeries,将QLineSeries附加到XY坐标轴上,将QLineSeries添加到QChart对象上。(4)创建QChartView对象,将QChart对象添加到QChartView对象上。注:必须先将XY轴添加到Chart -> 将曲线附加给XY轴,将曲线添加到Chart上。如果不按照上面的顺序,就会出现Y轴数据一样的直线在Chart上面不显示。(5)将QChartView对象通过布局添加到QWidget上。(2)设置XY坐标轴,并将XY坐标轴添加到QChart对象上。

2025-04-16 16:31:24 493

原创 QTableView数据导出Excel

GUI(图形用户界面)只能在主线程(GUI 线程)中更新,而不能在其他线程(如 QThread 线程)直接操作界面。这是因为 Qt 的 GUI 组件(如 QWidget、QMainWindow、QLabel 等)不是线程安全的,如果多个线程同时修改 GUI 组件,可能会导致 UI 崩溃或行为异常。(3)在主线程中进行调用上述线程,并实时对主线程的界面进行刷新。(2)用线程实现把数据写入Excel表格里面。(1)获取QTableView数据。

2025-03-13 11:44:13 347

原创 sql语句

【代码】sql语句。

2024-12-18 15:36:33 201

原创 Qt编译MySQL数据库驱动

(6)在D:\qt\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql\myLib文件夹,把qsqlmysql.dll和qsqlmysqld.dll(这两个就是qt连接mysql数据库的桥梁了)放进D:\qt\5.12.12\msvc2017_64\plugins\sqldrivers文件夹里面。(2)在D:\qt\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql下用QtCreator打开mysql.pro。

2024-12-17 13:04:57 1131

原创 VTK 渲染管线

VTK(Visualization Toolkit)中的渲染管线是一个流程或工作流,它定义了数据从输入到最终渲染输出的所有步骤。渲染管线描述了如何处理和可视化数据,以便将其转换为可在屏幕上显示的图像或动画。这个管线是 VTK 可视化和渲染的核心。VTK 渲染管线通常包括以下几个步骤:(1)数据输入(Data Acquisition)(2)数据处理(Processing)(3)数据映射(Mapping)(4)渲染(Rendering)(5)显示(Display)

2024-12-13 11:36:00 992

原创 Cmake

(2)打开命令提示符窗口,输入下面命令,打开CMAKE GUI界面。(4)点击【Configure】,打开下面界面,进行设置。(1)在项目下创建一个build文件夹。

2024-12-10 16:59:24 2544

原创 Boost 库TCP、UDP通信

UDP发送接收的核心代码。

2024-09-23 11:17:00 570 1

原创 git命令

【代码】git命令。

2024-09-23 10:58:25 231

原创 PyQt6动态加载UI文件

【代码】PyQt6动态加载UI文件。

2024-05-10 14:33:19 841

原创 matlab代码

【代码】舵机收到的数据用matlab解析代码。

2024-04-23 10:28:21 383

原创 QT creator程序打包(以6.2.0为例)

(4)打开Qt6.2.0(MinGW 8.1.0 64-bit),输入下列指令。(3)新建exe文件夹,将复制的serialPort.exe拷贝到文件夹里。serialPort_boxed就是打包好的可执行文件。打包完成,关闭 Enigma Virtual Box。(5)打开Enigma Virtual Box。(2) 复制serialPort.exe文件。

2024-02-19 10:48:59 860

原创 Qt学习记录(四)

在(.pro)工程文件里面加一行代码。

2023-12-12 09:13:46 649

原创 Qt学习记录(三)

(1)删除D:\QT_Project\serialPort\build-serialPort-Desktop_Qt_5_15_2_MinGW_64_bit-Debug目录下的文件,除了(.h)之外的都删除。(2)打开Qt,编译运行工程。

2023-12-07 17:28:28 2705

原创 Qt学习记录(二)— 设置软件图标

(1)将ICO 图片文件 (.ico)放到自己的Qt工程目录下。(2)在.pro文件下加一行代码。(3)编译、运行自己的Qt工程。

2023-12-07 16:22:00 561

原创 Qt学习记录(一)

(1)不论是十进制、十六进制、八进制,在计算机内部都是通过二进制进行存储的。十进制、十六进制、八进制的这种表达方式是为了方便人们观看而出现的。QByteArray存储字符是通过ASCII码进行存储的。问题:如何把一个int整数存到QByteArray中(int整数在QByteArray占两个字节)(2)qDebug()

2023-11-24 09:56:52 682

原创 No valid settings file could be found.

在我电脑的Qt打开别人写的Qt项目,出现了如下错误提示。(1)删除Qt项目里面的后缀为.pro.user的文件。

2023-10-18 14:04:54 1984

原创 运行rosdep update命令遇到的超时问题

网站https://ghproxy.com/支持github的资源代理,可以用此代理加速rosdep对Github的访问,进而解决rosdep update失败问题。修改文件2:/usr/lib/python3/dist-packages/rosdistro/__init__.py。修改文件1:/usr/lib/python3/dist-packages/rosdep2/rep3.py。修改文件3:/etc/ros/rosdep/sources.list.d/20-default.list。

2023-10-10 16:54:55 430

原创 运行sudo rosdep init命令出现的问题

【代码】运行sudo rosdep init命令出现的问题。

2023-10-10 16:48:01 622

原创 wget命令从指定URL下载文件出现的段错误问题

tmp/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2:指定要保存的文件路径和名称,其中${NUTTX_GCC_VERSION}是一个变量,它的值将在运行时插入到文件名中。wget -o:使用wget工具,-o选项指定要保存的文件路径和名称。-c:这个选项表示继续下载,如果下载中断,可以恢复下载而不是重新开始。由于要下载的文件过大,导致出现段错误问题。

2023-10-10 09:15:10 1084

原创 python -m pip install -r ${DIR}/requirements.txt命令超时问题

requirements.txt 文件 — 用于记录所有需要安装的依赖包及其精确的版本号。因为下载镜像源默认为国外https://pypi.org/simple,速度较慢。修改镜像源为国内,eg:清华/阿里云/豆瓣,以阿里云镜像为例。

2023-10-09 14:53:05 492

原创 ubuntu20.04提示/boot挂载点空间不足

boot挂载点存放linux操作系统的内核信息以及引导文件。由于Ubuntu20.04会自动更新内核,但Ubuntu系统在更新完内核后不会删除旧版本,导致/boot挂载点空间不足。删除一些未使用的内核镜像即可解决问题。我设置的挂载点空间大小是400M,所以建议设置为1GB。

2023-10-07 17:28:03 931

原创 PX4(Control Allocation)

(1)含义:扭力系数(如果定义为扭矩 = KM * 推力)。(1)含义:推力系数(推力 = CT * u^2),其中 u(执行器最小值和最大值之间的值)是发送到电机控制器的输出信号。(2)根据桨叶设置,不同的桨叶值不同,螺距越大,扭矩越大。(1)含义:电机从最小输出到最大输出的最短时间。(1)角速率控制器输出力矩和推力设定值。(2)根据桨叶设置,不同的桨叶值不同。含义:以机体中心为原点,X轴的位置。含义:以机体中心为原点,Y轴的位置。含义:以机体中心为原点,Z轴的位置。(2)作用:防止电机输出波动太大。

2023-09-20 16:49:20 1964 1

原创 Python遇到的缩进问题

Python语言是一款对缩进非常敏感的语言,这是由于tab和空格的混用导致的,建议都使用Tab键。该缩进的地方必须缩进,不该缩进的地方不要缩进。一般:(冒号)的下一行都要进行缩进。

2023-09-13 16:03:24 972

原创 查询raw.githubusercontent.com的服务器 IP 地址

方法一在终端输入以下命令进行查询。

2023-09-11 10:12:44 6447

原创 ROS相关知识点

(1)具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义类型;(2)不同节点可使用不同的编程语言 , 可分布式运行在不同的主机;(2)跟踪和记录话题 / 服务通信,辅助节点相互查找、建立连接;(3)提供参数服务器,节点使用此服务器存储和检索运行时的参数。(1)执行具体任务的进程 、 独立运行的可执行文件;(1)可通过网络访问的共享、多变量字典;的配置参数,不适合存储动态配置的数据。(3)节点在系统中的名称必须是。(2)使用编程语言无关的。(2)使用编程语言无关的。

2023-09-08 16:12:32 626 1

原创 Pre-Arm Check Error汇总以及解决方法

解决方法:这个按钮处于下位就有报错,处于中位和上位就没报错。

2023-09-06 15:50:25 3133 1

原创 PX4校准遥控器遇到的问题

校准遥控器时,出现"Detected 0 radio channels.To operate PX4,you need at least 5 channels."。飞控的RC针脚没接对。

2023-09-05 14:47:25 1103 1

原创 PX4遇到的连接问题

客户端向服务端发送了一个syn包,来请求建立连接,因为某些未知原因,并没有到达服务器,在中间某个网络节点产生了滞留。但是第一包数据阻塞的网点节点,突然恢复,第一包syn包又送达到服务端,这时服务端会误认为是客户端又发起了一个新的连接,从而在两次握手之后,进入等待数据状态,服务端认为是两个连接,而客户端认为是一个连接,造成了状态不一致。如果在三次握手的情况下,服务端收不到最后的ack包,自然不会认为连接建立成功,所有三次握手本质上来说,就是为了保证在不可靠的网络链路中,建立起可靠的连接。

2023-09-05 13:56:15 866 1

原创 PX4校准电调遇到的问题以及解决方法

校准电调时,刚开始需要卸下螺旋桨,拔下电池,仅使用飞控给电脑供电,然后点击“校准”按钮。接着出现如下错误提示。电池设置需要连接电流计,以便系统能够测量和监控电池的电流和电压情况,在飞行前需要连接电流计进行相应的校准和设置。如果没有连接电流计,可能无法进行准确的电池设置。电调校准过程需要连接电池,而电池需要通过电流计,所以没有电流计无法通过电调校准。(3)将电流计一端接到飞控的POWER接口,电池通过电流计另一端给飞机供电。(1)卸下螺旋桨,拔下电池,仅使用飞控给电脑供电;将会出现如下提示,表明校准成功。

2023-08-31 17:22:32 4798 7

原创 运行catkin init命令,提示错误“catkin:未找到命令”

【代码】运行catkin init命令,提示错误“catkin:未找到命令”

2023-08-24 15:39:24 1039 3

原创 PX4烧录遇到的问题(Waiting for bootloader...)

【代码】PX4烧录遇到的问题(Waiting for bootloader...)

2023-08-21 16:52:32 1014 4

原创 You do not have permission to enter a license key. Try again using the system administrator account.

问题:输入密钥许可证之后,提示“You do not have permission to enter a license key. Try again using the system administrator account.”。解决方法:找到VMware Workstation Pro16,进行覆盖安装,安装目录选的是之前VMware Workstation Pro16的目录。由于我重置了系统,重置之后打开VMware Workstation Pro16出现了以下问题。

2023-08-21 09:13:36 10344 4

空空如也

空空如也

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

TA关注的人

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