- 博客(34)
- 收藏
- 关注
原创 QGC视频框架------转载
QGC视频框架是 基于Gstreamer插件机制 实现的。插件名称 QGC_VIDEOSINK_PLUGIN=qt5videosink ,是静态插件。
2024-07-30 17:27:59 244
原创 QGC二次开发----转载
根据gstreamer状态分为FlightDisplayViewUVC,FlightDisplayViewVideo,前者是UVC摄像头,本地的设备,这一部分不走gstreamer处理,里面有qml的camera组建和videooutput组件。下面这个打开视频的小窗口,对应的代码在:Resources/qgroundcontrol.qrc/qml/FlightDisplay/FlyView.qml。FlightDisplayViewVideo.qml是gsteamer处理的流的关键。
2024-07-30 17:21:43 468
原创 电机控制---------------------------高频注入
如果通入的磁场和转子磁场相同,磁通量就会增大,L就会减小,电流就会增大,反之亦然。收敛到 0 ,PI 两个的的幅值是不一样的。
2024-01-09 11:13:13 1418
原创 永磁同步电机MPTA和弱磁控制
其实到了这里我们还是一个蒙蔽状态,因为这个公式没法用啊,我们矢量控制的转速环输出的是转矩给定Te,而且这个公式里面用iq来求id,我本来就不知道iq我还咋求id啊,仿真没法搭,好多的论文里面就到了这里就没有了,最后在一篇弱磁的论文里面才找到了最后可用的计算公式。这会导致电流的利用率不高,系统的效率降低。从控制方式角度将,最大转矩电流比是凸极电机在矢量控制上的一种优化,提高逆变器电压的利用率,减少损耗,提高电机的效率。为了找到电流和转矩的最佳匹配,使电机能最小的电流产生最大的转矩,这就是数学上的事情了。
2023-12-19 10:13:26 998
原创 电机参数辨识----模型参考自适应MRAS(最详细)
根据传统形式的自适应 规则,选用比例+积分结构的自适应律。取 D 为单位阵 E, 保证了前馈线性模型的严格正实。以电流为状态变量,a、b、c 为辨识参数,依 据方程(2),直接写出系统的观测模型。引入线性补偿矩阵 D,将 MRAI 系统转化为等效的反馈系统为。
2023-12-15 10:45:59 2975 1
原创 Linux系统移植(4)--------------------------Linux内核移植
注2:内核源码的arch/arm/configs下对各个厂商的soc都有一个默认配置文件执行该命令后就会将对应的配置文件中的信息导入到源码顶层目录下的.config文件中CONFIG xxx=y表示内核选中了该功能,内核编译时就会将该功能对应的代码编译,内核的体积也会增大。#CONFIG xxx is not set表示内核没有选中该功能,内核编译时该功能对应的代码不会被编译,内核的体积也会减小。注1: soc_name为当前使用的处理器的名字。
2023-12-13 18:00:59 369
原创 Linux系统移植(3)-----------------------------uboot配置与编译
使《board_name》配置注1: 为当前使用的开发板的名字注2:执行该命令的前提是ubot源码支持该开发板注3:该命令必须在uboot源码的顶层目录下执行。
2023-12-11 18:09:52 352
原创 嵌入式数据库(1)----------数据库概念
SQLite的源代码是C,其源代码完全开放。他是一个轻量级的入式数据库。插入一条记录insert into stu values(1001,zhangsan ,80);sq1命令基本的sq1命令,不以’.’开头,但是都要以 “:’结尾。数据库文件可以在不同字节顺序的机器间自由共享;足够小,全部源码大致3万行c代码,250KB;比目前流行的大多数数据库对数据的操作要快;储存在单一磁盘文件中的一个完整的数据库;
2023-12-11 14:39:27 357
原创 Linux系统移植(2)-----------------------uboot的烧写及应用
在操作系统运行之前运行的一小段代码,用于将软硬件环境初始化到一个合适的状态,为操作系统的加载和运行做准备 (其本身不是操作系统)
2023-12-09 15:01:51 353
原创 Linux系统移植(1)-----------------基础
不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容。linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取linux源码后,我们要经过和板卡进行相应的配置,才能进行编译和安装。
2023-12-08 16:18:19 396
原创 网络编程(7)-----------TCP\IP协议原理
TCP是一种面向连接的,可靠的数据传输1.TCP的可靠传输:通过确认和重发机制(1).TCP把所有要发送的数据进行编号(每一个字节用一个号)(2).发送时从当前数据位置,发送window大小的数据。
2023-12-08 14:40:11 356
原创 进程线程----------信号量(灯)
if (有任务在等待资源) {唤醒等待的任务,让其继续运行}else( 申请资源的任务阻塞;if (信号量的值大于0)(申请资源的任务继续运行;信号量代表某一类资源,其值表示系统中该资源的数量。信号量是一个受保护的变量,只能通过三种操作来访问。posix 有名信号灯。posix 无名信号灯。system V信号灯。
2023-12-06 16:57:06 343 1
原创 进程线程---------------消息队列
消息队列就是一个消息的列表。用户可以在消息队列中添加消息、读取消息等。消息队列是System V IPC对象的一种。3.控制 (删除) 消息队列msgctl。消息队列可以按照类型来发送/接收消息。2.打开/创建消息队列msgget。1.打开/创建消息队列msgget。2.从消息队列接收消息msgrcv。消息队列由消息队列ID来唯一标识。3.向消息队列发送消息。
2023-12-06 16:53:49 348 1
原创 网络编程(6)-----IO模型以及多路复用的基本原理
当我们将一个套接字设置为非阻塞模式,我们相当于告诉了系统内核:“当我请求的I/0操作不能够马上完成,你想让我的进程进行休眠等待的时候,不要这么做,请马上返回一个错误给我。这时,写操作不进行任何拷贝工作,将发生阻塞一量发送缓冲区内有足够的空间,内核将唤醒进程,将数据从用户缓冲区中拷贝到相应的发送数据缓冲区。进程调用read函数从套接字上读取数据,当套接字的接收缓冲区中还没有数据可读,函数read将发生阻塞。1.阻塞I/O模式是最普通使用的I/O 模式,大部分程序使用的都是阻塞模式的I/O.
2023-12-06 15:38:05 332 1
原创 进程线程-----------------------内存映射(共享内存)
5.用于映射的文件大小必须>0,当映射文件大小为 0 时,指定非 大小创建映射区,访问映射地址会报总线错误,指定 0 大小创建映射区,报非法参数错误 (Invalid argument)2.当 MAP SHARED 时,要求: 映射区的权限应 =文件打开的权限(出于对映射区的保护),如果不满足报非法参数 (Invalid argument) 错误。1.创建映射区的过程中,隐含着一次对映射文件的读操作,将文件内容读取到映射区。3.映射共享内存,即把指定的共享内存映射到进程的地址空间用于访问。
2023-12-06 15:13:58 384 1
原创 进程、线程---------信号
1 如果信号的默认处理动作是终止进程,则进程终止,pause 函数么有机会返回 2 如果信号的默认处理动作是忽略,进程继续处于挂起状态,pause 函数不返回、五号A A a 3 如果信号的处理动作是捕捉,则调用完信号处理函XBi 4 pause 收到的信号如果被屏蔽,那么 pause 就不能被唤醒。
2023-12-06 14:25:04 416 1
原创 网络编程(5)-------UDP编程
sendto():1.填写服务器的IP地址和端口号。一般填写0,此时和write()作用一样。flags:一般填写0,此时和read()作用一样。MSG_OOB:用于发送TCP类型的带外数据。MSG_OOB:用于发送TCP类型的带外数据。bind():绑定服务器的IP地址和端口号。recvfrom():阻塞等待客户端数据。MSG_DONTWAIT:非阻塞版本。MSG_DONTWAIT:非阻塞版本。do something:处理数据。sendto():返回处理结果。无连接尽力传输,是不可靠的。
2023-12-06 14:16:40 355 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人