自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 电机控制(五)-SVPWM调制与逆变器

FOC(磁场定向控制)通过坐标变换实现交流电机的高效控制。对于直流电机,电刷和换向器自动保持电枢与励磁磁场正交;而交流电机需通过Clarke变换将三相静止坐标系(A-B-C)降维为两相静止坐标系(α-β),消除耦合。进一步通过Park变换将α-β坐标系旋转至与转子同步的d-q旋转坐标系,使交变量转为直流量,实现转矩(iq)与励磁(id)的独立解耦控制。其中d轴对齐转子永磁体方向,q轴滞后90°,形成类似直流电机的控制结构,大幅简化调节复杂度。两阶段变换的核心是Clarke的3/2降维和Park的

2025-09-27 11:23:29 353

原创 电机控制(四)-级联PID控制器与参数整定(MATLAB&Simulink)

PID控制通过比例(P)、积分(I)、微分(D)三环节实现系统调节。比例项响应当前误差,积分项消除稳态误差,微分项预测误差变化。标准型PID将参数整合为增益Kp、积分时间Ti和微分时间Td,Matlab中的pidstd函数还增加了低通滤波处理高频噪声。仿真实验表明,单环PID能有效控制电机转速,但对高频噪声敏感。文中提供了Python实现的PID控制器案例,用于控制倒立摆系统,包含完整的仿真流程和可视化分析,展示了PID在连续控制任务中的应用效果。

2025-09-08 22:12:29 805 2

原创 电机控制(三)-电机控制方法基础

电机控制是自动化领域的核心技术,通过精确控制电机运动状态(位置、速度、加速度、转矩)驱动机械系统。其技术链条包括:目标指令→轨迹规划→控制算法→驱动执行→反馈修正。核心算法包括开环控制(如步进电机脉冲控制)和闭环控制(如PID、矢量控制FOC、直接转矩控制DTC)。其中,FOC通过坐标变换实现交流电机的解耦控制,DTC则直接调控转矩和磁链,响应更快。典型控制框架采用多环PID级联(电流环-速度环-位置环)配合SVPWM调制,实现高精度运动控制。该技术广泛应用于机器人、数控机床等领域。

2025-09-04 19:43:59 1046

原创 电机控制(二)-控制理论基础

经典控制理论&现代控制理论的鸟瞰,讲解经典控制理论中的常见工具如伯德图,奈奎斯特图,以及现代控制理论中的常见工具如:状态空间建模,李雅普诺夫稳定性分析,能控能观性分析,状态反馈控制

2025-09-02 22:36:11 1231

原创 电机控制(一)-电机分类

电机分类与比较 本文主要介绍了电机的分类以及不同类型电机的核心特点和区别。 主要电机类型 步进电机:开环控制,通过脉冲信号驱动,成本低但精度有限,存在失步风险,适用于简单定位场景。 伺服电机:闭环控制,包含电机、编码器和驱动器,动态响应快、精度高,适用于高精度运动控制。 直流无刷电机(BLDC):永磁转子,梯形波电流控制,适用于中高速应用。 永磁同步电机(PMSM):正弦波电流控制,效率高、动态性能好,适用于精密控制。 异步无刷感应电机:无永磁体,结构简单、成本低,适用于大功率工业应用。 核心区别 步进电机

2025-09-02 15:36:29 1004

原创 最优控制:从变分法到庞特里亚金原理

本文系统介绍了最优控制问题的分类与求解方法。最优控制问题根据系统建模可分为线性系统和非线性系统,根据约束类型可分为控制约束和状态约束。求解方法主要包括变分法和拉格朗日函数法。变分法适用于无约束问题,通过欧拉-拉格朗日方程寻求泛函极值;拉格朗日函数法则通过引入乘子将有约束问题转化为无约束优化,其KKT条件可求得候选极值点。这些方法为解决复杂最优控制问题提供了理论基础。

2025-05-29 21:33:19 1115

原创 轨迹规划:基于采样的(sample-based)路径规划算法

基于采样的路径规划算法PRM和RRT

2025-03-18 16:35:47 1723

原创 轨迹规划:基于查找的(search-based)路径规划算法

JPS算法通过。

2025-03-17 21:05:27 903

原创 强化学习算法概述

强化学习算法的分类和具体代表算法

2025-02-27 15:21:23 781

原创 强化学习DDPG算法Demo实现

强化学习DDPG算法倒立摆模型实例

2025-02-27 15:13:26 856

原创 数据结构:图(附C++实现代码)

数据结构-图,以及邻接矩阵和邻接表C++实现

2024-12-23 10:59:28 1179

原创 C++面试基础知识:移动语义 & Perfect Forwarding

C++左值右值问题,以及移动语义+完美转发问题,All in one

2024-12-01 17:02:57 1086

原创 Linux内核编译流程(Ubuntu24.04+Linux Kernel 6.8.12)

自己动手编译一个Linux内核

2024-11-29 17:45:20 2161 1

原创 C++面试基础知识:new vs malloc

C++中new和malloc的异同,以及相关联的问题。

2024-11-19 11:03:47 812

原创 计算机网络-理论部分(二):应用层

计算机网络应用层内容,只有重要概念,不涉及延迟计算等教科书上的无聊内容

2024-11-18 10:52:00 950 1

原创 计算机网络-理论部分(一):概览

计网概述部分,简单易懂

2024-11-17 17:57:45 1036

原创 深度学习模型部署(十三)CUDA编程-CUDA线程模型 & 内存架构

CUDA的线程实现和内存架构

2024-11-17 10:37:27 1254

原创 C++内存模型与并发支持

C++内存模型以及并发支持相关内容以及示例代码

2024-11-15 10:13:54 1188

原创 计算机辅助几何设计:曲线曲面基础知识

计算机符合几何设计的一些基础知识

2024-11-11 16:52:07 970

原创 C++面试基础知识:排序算法 C++实现

面试中遇到的排序问题相关内容整理

2024-11-10 16:24:56 1122

原创 设计模式:软件设计七大原则

编程软件开设计七大原则,附带各自例子

2024-11-02 22:46:07 1261 1

原创 强化学习DQN实践(gymnasium+pytorch)

使用gymnasium和pytorch进行强化学习实践

2024-10-31 22:15:19 1074 1

原创 强化学习原理:基本概念

强化学习数学理论基础

2024-10-30 10:47:03 470

原创 线性代数&群论应用:正逆运动学 & 变换矩阵

刚体变换不止在机器人中有使用,在图形学中也有使用,图形学中通过旋转矩阵,平移矩阵,投影矩阵,将3D的mesh投影到2D的显示器区域中。这些变换背后的数学原理都是线性代数和群论。

2024-10-28 16:53:13 2595 1

原创 目标检测综述:从HOG检测到DETR

目标检测二十年论文笔记+个人理解

2024-10-24 21:49:25 876

原创 C++数学库:Eigen & Ceres

两个常用的数学库,线性代数库Eigen,非线性最小二乘法求解数学库Ceres

2024-10-20 18:02:30 1242

原创 控制系统 & 状态观测问题 & Kalman卡尔曼(附MATLAB实现)

记录了状态观测问题的引入以及常见的解决方案,全维观测器以及卡尔曼观测器的原理以及matlab实现

2024-10-20 14:28:29 1104 3

原创 ROS2 Jazzy(二) ROS相关工具 & 概念

ROS中常用的工具和概念

2024-10-14 12:08:36 1036

原创 ROS2-Jazzy(一):让小乌龟跑起来

ROS2基础知识

2024-10-09 22:29:02 3075

原创 Ubuntu终端配置

Ubuntu终端基本配置

2024-10-08 10:53:09 1174

原创 OpenGL(四) 纹理贴图

纹理贴图的应用

2024-09-12 11:33:13 1621

原创 OpenGL(三)着色器语言GLSL

GLSL是一种着色器语言,需要有对应的图形API环境配合,可以使用OpenGL,也可以使用OpenGL ES,也可以使用WebGL。三者的关系可以简单理解为ES为GL的精简版,WebGL是ES的二次包装。如果我们打算从一个着色器向另一个着色器发送数据,我们必须在发送方着色器中声明一个输出,在接收方着色器中声明一个类似的输入。像cuda一样GLSL有几个数据并在一起的数据向量类型,例如vec4,包含4个float数据的向量。GLSL中内置的数据类型还有矩阵mat,但是矩阵只有浮点型的,而且是列优先排序。

2024-09-10 14:00:14 1283

原创 OpenGL(二)-核心模式下的三角形

一个更复杂,更正式且可扩展的三角形画法

2024-09-07 22:01:24 708

原创 傅里叶变换 & 基函数 & 曲线拟合 & Spherical Harmonics

万物皆是拟合,绝大部分问题到最后都要归于拟合问题。

2024-09-06 11:00:37 2139

原创 深度学习模型部署(十五)CUDA编程-流&sharememory

stream和share memory是cuda编程中优化的重点关照对象

2024-08-13 10:52:31 920

原创 工具学习:Google Test测试框架

C++测试框架Google Test使用方法

2024-08-11 13:55:11 2137

原创 C++入门:C++工具链

编程语言分为编译型语言和解释型语言,二者的区别可以简单理解为,编译型语言是生成和运行的过程是分开的,解释型语言是合在一起的,一句一句运行。编译型需要编译器,解释型需要解释器,C++就是典型的编译型语言。Python是典型的翻译型语言。生成可执行文件的过程称为编译,因为编译和运行是分开的,所以可能存在编译的机器和运行的机器不是一个架构的情况,所以在编译型语言中可能存在交叉编译的情况,即编译机器和运行机器架构不一致。

2024-08-10 11:04:57 1007

原创 Qt入门(二):第一个Qt项目

简单的Qt入门

2024-08-07 17:48:49 988

原创 Modern C++ 智能指针

比如,指向某种资源的std::shared_ptr可能在一个线程执行析构(于是递减指向的对象的引用计数),在另一个不同的线程,std::shared_ptr指向相同的对象,但是执行的却是拷贝操作(因此递增了同一个引用计数)。因为只有一个智能指针指向对象,所以unique_ptr智能指针的赋值函数,拷贝构造函数,都被禁用了,构造函数添加了explicit关键字修饰,不能使用转换函数,即:不能隐式转换构造unique_ptr指针,总之,原始指针过于简陋,虽然强大,但是需要考虑的太多了,对菜鸡不友好。

2024-08-05 18:01:01 910

原创 Modern C++ 函数发展:从函数指针到匿名函数

函数作为最小的代码单元,在C++这个大杂烩中,可以跟很多特性结合,较为复杂,本文讲解C++中函数是如何一步步演变的。

2024-08-05 11:47:35 1252

手写数字识别onnx模型

一个简单的CNN模型,用于识别mnist数据集中的手写数字

2024-03-02

空空如也

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

TA关注的人

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