摘要:
门限回归和门限自回归是对基本的回归和自回归加上一个阈值判断。 下面简单的表述一下公式。 回归模型可以用下述公式表示: 则门限回归可以表示为: 自回归模型可以用下述公式表示: 则门限自回归可以表示为: 计算参数的方法和之前ARMA中类似,根据输入输出和模型通过最优化方法计算。 门限回归代码如下: cl 阅读全文
摘要:
做带有纯滞后模块的控制时,直接对被控对象使用pid有时候会达不到最优效果,这个时候可以使用smith预估来补偿滞后量。 下面画了五个控制流程。 1. 阶跃控制量直接通过原始系统,可以看到响应最多达到0.5左右。 2. 在原始系统上加一个pid控制器,并且通过pidtune整定后,控制效果基本满足要求 阅读全文
摘要:
如果获得了当前时刻的航向角和角速度,需要外推出下一时刻的航向角,这里尝试六种方法计算。 1. 利用角速度和时间直接累积求和得到航向角。 2. 将航向角和角速度都转换到旋转矩阵,通过矩阵相乘得到航向角。 3. 将角速度计算反对称矩阵,再通过指数变换转为李群,在李群上相乘得到航向角。 4. 将角速度计算 阅读全文
摘要:
PID调参时可以先利用Z-N法估算一个大概的量,然后再精确调参。 Z-N法可以形象的用以下图表表示: 其中切线是响应曲线转折点切线,即过曲线斜率最大点的切线。 K是系统开环稳态响应。 L是转折点切线和0值交点对应的时刻。 L + T是转折点切线和稳态响应交点对应的时刻。 表中的alpha = L / 阅读全文
摘要:
box-cox变换可以将非正态分布的数据变换到正态分布。 变换公式如下: 其中lambda是待求参数。 这里就遍历可能的lambda值,得到变换后的数据,再通过sw正态分布检验,选取最好的lambda值。 如果有自变量的话可以考虑这篇文章中的优化方法。 matlab代码如下: clear all;c 阅读全文
摘要:
提取信号包络需要用到希尔伯特变换。 变换定义如下: 其中: 就是原始信号和1/(pi*t)信号做卷积。 因此可以将原始信号和h(t)傅里叶变换到频域做乘法。 乘完再逆变换回来后取信号绝对值即可得到原始信号包络。 matlab代码如下: clear all;close all;clc; x = -5: 阅读全文
摘要:
首先需要配置一下键盘,像下面的配置就好: 然后python代码如下: import mido import time from pymouse import PyMouse from pykeyboard import PyKeyboard dic = {'60': 'a', '61': '1', 阅读全文
摘要:
之前有写过二维机械臂正逆运动学运算,不过一般机械臂都是三维的,通常可以用DH模型来表示。 DH模型其坐标系和参数定义如下图: 坐标系定义: X:当前关节指向下一个关节的方向。 Z:当前关节绕动轴的方向。 Y:垂直于XZ平面的方向。 每个关节都由四个参数[a,d,alpha,theta]定义: a:上 阅读全文
摘要:
问题如下: 用python模拟鼠标点击其他程序内部按钮时失效,无论使用的库是pymouse,pyautogui还是pydirectinput均没有效果。 但是点击桌面图标或者chrome是可以的。 解决方法有两个: 1. 使用管理员身份运行脚本。 2. 可以试试下面代码: import win32a 阅读全文
摘要:
已知入射光线向量X和平面方程法向量w,可以通过Householder变换求出反射向量Y。 Householder变换公式如下: 那么反射向量Y=H*X matlab代码如下: clear all;close all;clc; %plane:1*x+2*y+3*z = 0 w = [1 2 3]'; 阅读全文