2 Y-box

尚未进行身份认证

我要认证

多做笔记有助于防止老年痴呆

等级
TA的排名 4w+

【控制理论】状态观测器解析

背景有些状态量并不能由传感器直接观测出来,那么可以通过控制量和输出量把状态量观测出来。全状态观测器对于一个系统 :x˙=Ax+buy=cx\dot x=Ax+bu\\y=cxx˙=Ax+buy=cx如果已知A、b、c(也就是已知模型),那么可以观测出估计状态量x^\hat xx^:x˙^=Ax^+bu\hat{\dot x}=A\hat x+bux˙^=Ax^+bu只要能获取原系统的初始状态,那么是可以得到x^(t)=x(t),t≥0\hat x(t)=x(t),t\ge0x^(t)=x(t)

2020-07-20 22:21:55

【控制理论】【数学基础】为什么说对于dX=AX系统,A的特征值在右半平面系统不稳定

对于系统x˙(t)=Ax(t)\dot x(t) =Ax(t)x˙(t)=Ax(t)则有:x(t)=eAtx(0)x(t) = e^{At}x(0)x(t)=eAtx(0)而所以要想判定稳定与否,关键看的收敛情况!接下来就分析eAte^{At}eAt:应用凯莱-哈密顿定理(n×n系统矩阵A满足它自身的特征方程):若A的特征方程为:而矩阵A满足其自身的特征方程,即和A可互换:上式表明An+1A^{n+1}An+1亦是An−1A^{n-1}An−1,…,AAA,III的线性组合,以此类推,A

2020-07-20 15:49:00

【数学基础】【控制理论】QP方法求解带约束的二次型优化问题

QP标准问题描述minf(x)=12xTHx+cTxminf(x)=\frac{1}{2}x^THx+c^Txminf(x)=21​xTHx+cTxs.t.Bx≤ds.t. \qquad Bx\le ds.t.Bx≤d其中H为对称正定阵,x是要优化的变量。二次型优化问题分为等式约束和不等式约束,核心思路是利用拉格朗日乘子把等式约束化为无条件约束极值问题,不等式约束问题化为等式约束问题等式约束优化只考虑有等式约束的情况,那么原问题简化为:minf(x)=12xTHx+cTxminf(x)=\

2020-07-15 13:22:32

【个人文档/不开放】【机器人基础】【项目】不满足Pieper条件的运动学逆解及C++代码实现

课题一:如何根据姿态矩阵确定row,pitch,yaw三个姿态角求解对不上注意,此处的,和教材中的是反的!把(1-3)中的旋转矩阵带入到上式,即得到(1-5中的结果):β=atan2(0,1)=0α=atan2(1,0)=90°γ=pi/2+(q1-q5)注意:用哪个姿态表示法都可以,(ZYX欧拉法,ZYZ欧拉法,定轴旋转,动轴旋转),只要计算α,β,γ的公式和三个姿态角度的定义相匹配就没问题。课题二:对于不满足Pieper条件的机器人构型,如何...

2020-06-03 09:46:56

【个人文档】【机器人基础】【项目】装卸臂正运动学建模及matlab&C+程序编写

若是要在matlab中看运动学正解和逆解,直接用robotics工具箱是很方便的a2=9.5;a3=11.5;a4=-0.4673;d1=9.46;d3=-1.141;d4=1.1777;d5=1.0408;d6=2.1638;d7=1.2311;L1 = Link('d', d1, 'a', 0, 'alpha', 0,'offset',0,'modified'); %Link 类函数L2 = Link('d', 0, 'a', 0, 'alpha...

2020-06-02 11:29:12

【控制理论】PID抗积分饱和控制

1、积分饱和问题当系统输入达到极限值而控制器的积分器仍未停止积分时,积分器会继续增加,但是输出无法反映到系统输入上,而过高的积分器状态又会使系统的瞬态响应性能下降,从而整个系统的超调增大,调整时间延长。积分饱和问题来自包含积分的控制器,如PID控制器、PI控制器,而且系统中包含**输出限幅(Saturation)。**简单来讲就是控制器的输出超过了系统的限制,但是积分器还没有停止工作,只有...

2020-05-08 15:28:15

【控制理论】【Matlab】利用System identification App辨识对象模型

数据导入打开matlab->App中的System identifacation:导入的数据可以包括时域的,也可以包括频域的。填入相应的输入变量名,输出变量名,采样时间。import导入后在主界面的data views中会生成对应的图形。按下主界面中的time plot可以显示数据,检查数据是否正确很方便。有时候可能需要把数据拉到零附近,preprocess中提供了remove ...

2020-05-06 22:11:16

【程序语言】无法定位程序输入点xx于动态链接库libmysql.dll上

恢复系统之后重装了VS 2017,运行程序的时候这个错误:无法定位程序输入点xx于动态链接库libmysql.dll上。尝试了网上其他文章讲的解决方法,1、下载libmysql.dll2、复制到c:\windows\system32文件夹以及c:\windows\SysWOW64文件夹里3、”Win+R-输入regsvr32 libmysql.dll“但是仍然报错:模块加载失败,请确保二...

2020-04-12 10:07:02

git总结

1\拉取远程库的分支git pull origin dev(远程库分支名称)2\将远程git仓库里的指定分支拉取到本地(本地不存在的分支)git checkout -b 本地分支名 origin/远程分支名git checkout -b dev origin/dev3\修改文件后,将本地库分支推送到远程库分支git push origin dev(远程分支名)...

2020-03-13 16:47:13

【办公效率】更换笔记本屏幕后无法正常显示

昨天把我的笔记本屏幕换掉了,可是新的屏幕只能显示开机画面,然后启动之后就黑屏了。这种情况有两种可能,1、屏幕有问题 2、系统有问题外接的显示屏能正常显示,可是打开设备管理器找不到新屏幕的信息,大概率是系统的问题了。于是进入bios系统,把系统恢复了,恢复系统的时候屏幕能够正常显示了。今天早上淘宝店家才告诉我,可以通过更新驱动解决。气死。。。。。。重装系统再装软件实在是太浪费时间了。...

2020-04-11 11:08:49

【程序语言】【MATLAB】Invalid constructs include the use of persistent or global variables

在Simulink里面对速度曲线积分,直接在速度模块后面接积分器有一个报错信息:因为在Simulink里面用到了全局变量,MATLAB answer里面给了一个解释You can switch the entire model to discrete time or you can use rate transition blocks to move back and forth be...

2020-03-30 15:18:19

【装卸臂项目】【MATLAB】液压阀模型——输入开度输出速度

1、函数关系【开度—匀速度】【开度—启动时间】【开度变化—运动时间】输入开度和最终液压阀转动速度之间的关系:开度和启动时间之间的关系:启动之后,开度变化与时间的关系2、实现流程Simulink框架之前用S-function表示这个模型的总是理不清时序逻辑,因为有很多参数受到上一时刻的影响,如果把输出端的数据重新引进输入端,出了各种错误**。后面才意识到可以用全局变量来解决,...

2020-03-29 21:48:17

【程序语言】【C++】Run-Time Check Failure #2 - Stack around the variable 'udpRec' was corrupted

确定自己的数据没有“数据越界之后”,用这个方式解决了:改一下 project->配置属性->c/c++->代码生成->基本运行时检查 为默认值

2020-03-28 09:43:02

【程序语言】【MATLAB】Simscape报错“Provided units 'N*m' and 'rad' are not commensurate. ”

之前的Simscape中的旋转关节是输入力矩模式【Torque/provided by input】,现在想改为输入角度模式【Motion/provided by input】,结果出现以下错误:把转换的输入信号更改一下就可以了...

2020-03-26 09:14:46

【机器人基础】阻抗/导纳控制深度解析

之前写过一篇阻抗控制的文章,写的比较浅也不是很专业,最近上了桂凯博士的动力学课程之后有了更深入的认识,认真整理总结了一下,这次详细地分析一下阻抗/导纳控制。

2020-03-24 20:18:56

【MATLAB】【装卸臂项目】C++利用UDP与Simulink通信

1、C++利用UDP socket发送数据#include <stdio.h>#include <string>#include <iostream>#include <winsock.h>using namespace std;//创建新的套接字之前需要调用一个引入Ws2_32.dll库的函数,否则服务器和客户端连接不上#prag...

2020-03-20 10:24:59

【机器人基础】【装卸臂项目】【Simscape】Simulink导入机器人URDF文件及Simscape操作解析

想用simulink中的simscape模型导入机器人URDF模型来做仿真1、在命令行中运行 导入urdf文件,将生成一个slx文件smimport('xxxxxxx.urdf')2、如果这个时候编译运行没有看到模型,检查刚体中的STL文件是否地址正确STL文件对应ROS中的mesh文件夹,应该从urdf中导出的时候会有修改正确地址后就可以看到模型了...

2020-03-18 21:35:23

【程序记录】【装卸臂项目】C++中double类型(包括数组)转化为char型数组,以及Char型数组转化为double型数据

1、double类型转化成char型数组#include<sstream>double A = 10.111; stringstream ss;char ch[8];ss << A;ss >> ch;记住要包含sstream头文件2、double数组转化成char型数组double A[3] = { -110.132,42...

2020-03-16 10:50:33

【程序记录】【装卸臂项目】ResourceNotFound: rosbridge_server

报错:ResourceNotFound: rosbridge_serverROS path [0]=/opt/ros/kinetic/share/rosROS path [1]=/home/ybox/robot_ws/srcROS path [2]=/home/ybox/robot_3_ws/srcROS path [3]=/home/ybox/catkin_ws/srcROS p...

2020-03-12 21:10:28

Essential C++浓缩笔记(六)——以template进行编程

1、template class的声明和实例化template<typename valType>class BTnode: //声明BTnode<int> bti; //实例化2、template类型参数的处理将所有template类型参数视作"class"类型来处理,参数传递用传地址的方法而不是...

2020-02-17 10:12:29

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。