T-S模糊模型与状态反馈控制及Matlab仿真 (附代码)

2023-05-16

目录

  • (一) 仿射非线性系统建模
  • (二) 计算T-S模糊模型子系统
  • (三) 建立推理,验证开环特性
  • (四) 极点配置,验证闭环特性
  • (五) 使用LMI验证稳定性

(一) 仿射非线性系统建模

以overhead crane system为例,
overhead crane system
忽略摩擦,我们可以得到如下的状态空间方程,
x ˙ = ( x 2 m l x 4 2    sin ⁡    x 3 + m g    sin ⁡    x 3 cos ⁡    x 3    M + m    sin ⁡ 2    x 3 x 4 − m l x 4 2    sin ⁡    x 3    cos ⁡    x 3 + ( M + m ) g    sin ⁡    x 3    l ( M + m    sin ⁡ 2    x 3 ) ) + u M + m    sin ⁡ 2    x 3 ( 0 1 0 − cos ⁡    x 3 l ) \dot x=\begin{pmatrix}x_2\\\frac{mlx_4^2\;\sin\;x_3+mg\;\sin\;x_3\cos\;x_3\;}{M+m\;\sin^2\;x_3}\\x_4\\-\frac{mlx_4^2\;\sin\;x_3\;\cos\;x_3+(M+m)g\;\sin\;x_3\;}{l(M+m\;\sin^2\;x_3)}\end{pmatrix}+\frac u{M+m\;\sin^2\;x_3}\begin{pmatrix}0\\1\\0\\-\frac{\cos\;x_3}l\end{pmatrix} x˙=x2M+msin2x3mlx42sinx3+mgsinx3cosx3x4l(M+msin2x3)mlx42sinx3cosx3+(M+m)gsinx3+M+msin2x3u010lcosx3

(二) 计算T-S模糊模型子系统

取工作点。一般地,我们会选取平衡点。
x 0 = ( 0 0 0 0 ) x_0=\begin{pmatrix}0\\0\\0\\0\end{pmatrix} x0=0000, x 1 = ( 5 0 π / 6 π / 20 ) x_1=\begin{pmatrix}5\\0\\\pi/6\\\pi/20\end{pmatrix} x1=50π/6π/20, x 2 = ( 5 − 1 − π / 6 0 ) x_2=\begin{pmatrix}5\\-1\\-\pi/6\\0\end{pmatrix} x2=51π/60
A 0 = J ( x 0 ) A_0=J(x_0) A0=J(x0), B 0 = g ( x 0 ) B_0=g(x_0) B0=g(x0)
A i = J ( x i ) + 1 x i T x i [ f ( x i ) − J ( x i ) x i ] x i T A_i=J(x_i)+\frac {1}{{x_i}^Tx_i}[f(x_i)-J(x_i)x_i]{x_i}^T Ai=J(xi)+xiTxi1[f(xi)J(xi)xi]xiT, B i = g ( x i ) B_i=g(x_i) Bi=g(xi), i = 1 , 2 i=1,2 i=1,2

(三) 建立推理,验证开环特性

if x is about x 0 x_0 x0, then x ˙ = A 0 x + B 0 u \dot x=A_0x+B_0u x˙=A0x+B0u
if x is about x 1 x_1 x1, then x ˙ = A 1 x + B 1 u \dot x=A_1x+B_1u x˙=A1x+B1u
if x is about x 2 x_2 x2, then x ˙ = A 2 x + B 2 u \dot x=A_2x+B_2u x˙=A2x+B2u
h 0 ( x 3 ) = { sin ⁡    x 3 x 3 , x 3 ≠ 0 1 , x 3 = 0 h_0(x_3)=\left\{\begin{array}{l}\frac{\sin\;x_3}{x_3},x_3\neq0\\1,x_3=0\end{array}\right. h0(x3)={x3sinx3,x3=01,x3=0 h 1 ( x 3 ) = h 2 ( x 3 ) = 1 − h 0 ( x 3 ) 2 h_1(x_3)=h_2(x_3)=\frac{1-h_0(x_3)}{2} h1(x3)=h2(x3)=21h0(x3)
开环

(四) 极点配置,验证闭环特性

选取极点 p 0 = ( − 1.1 − 1.5 − 1.8 − 2.1 ) p_0=\begin{pmatrix}-1.1 -1.5 -1.8 -2.1\end{pmatrix} p0=(1.11.51.82.1) p 1 = ( − 1.3 − 1.6 − 1.9 − 2.2 ) p_1=\begin{pmatrix}-1.3 -1.6 -1.9 -2.2\end{pmatrix} p1=(1.31.61.92.2) p 2 = ( − 1.5 − 1.6 − 1.8 − 1.9 ) p_2=\begin{pmatrix}-1.5 -1.6 -1.8 -1.9\end{pmatrix} p2=(1.51.61.81.9)
闭环

(五) 使用LMI验证稳定性

∃ P = ( 0.4016 0.1427 0.5521 0.5098 0.1427 0.1903 − 0.0489 0.7069 0.5521 − 0.0489 5.7520 − 0.1442 0.5098 0.7069 − 0.1442 2.8079 ) \exists P=\begin{pmatrix}0.4016&0.1427&0.5521&0.5098\\0.1427&0.1903&-0.0489&0.7069\\0.5521&-0.0489&5.7520&-0.1442\\0.5098&0.7069&-0.1442&2.8079\end{pmatrix} P=0.40160.14270.55210.50980.14270.19030.04890.70690.55210.04895.75200.14420.50980.70690.14422.8079
{ ( A i − B i K i ) T P + P ( A i − B i K i ) < 0 ,    ( i = 1 , 2 , 3 ) ( A i − B i K j + A j − B j K i ) T P + P ( A i − B i K j + A j − B j K i ) < 0 , ( i < j ≤ 3 ) \left\{\begin{array}{l}{(A_i-B_iK_i)}^TP+P(A_i-B_iK_i)<0,\;(i=1,2,3)\\{(A_i-B_iK_j+A_j-B_jK_i)}^TP+P(A_i-B_iK_j+A_j-B_jK_i)<0,(i<j\leq3)\end{array}\right. {(AiBiKi)TP+P(AiBiKi)<0,(i=1,2,3)(AiBiKj+AjBjKi)TP+P(AiBiKj+AjBjKi)<0,(i<j3)

clear all;close all;
M=100;m=100;l=5;g=9.82;u=100;
syms x1 x2 x3 x4;
x00=[0 0 0 0]';x01=[5 0 pi/6 pi/20]';x02=[5 -1 -pi/6 0]';
x=[x1;x2;x3;x4];
f=[x2;(m*l*x4^2*sin(x3)+m*g*sin(x3)*cos(x3))/(M+m*sin(x3)*sin(x3));x4;-(m*l*x4^2*sin(x3)*cos(x3)+(M+m)*g*sin(x3))/l/(M+m*sin(x3)*sin(x3))];
gx=1/(M+m*sin(x3)*sin(x3))*[0;1;0;-cos(x3)/l];
J=jacobian(f,x);
Ai=J+(f-J*x)*x'/(x'*x);
A0=double(subs(J,x,x00));B0=double(subs(gx,x,x00));
A1=double(subs(Ai,x,x01));B1=double(subs(gx,x,x01));
A2=double(subs(Ai,x,x02));B2=double(subs(gx,x,x02));

a0=[-1.1 -1.5 -1.8 -2.1];
a1=[-1.3 -1.6 -1.9 -2.2];
a2=[-1.5 -1.6 -1.8 -1.9];

K0=place(A0,B0,a0);K1=place(A1,B1,a1);K2=place(A2,B2,a2);

setlmis([]);
P=lmivar(1,[4,1]);
lmiterm([1 1 1 P],1,A0-B0*K0,'s');
lmiterm([2 1 1 P],1,A1-B1*K1,'s');
lmiterm([3 1 1 P],1,A2-B2*K2,'s');
lmiterm([4 1 1 P],1,A0-B0*K1+A1-B1*K0,'s');
lmiterm([5 1 1 P],1,A1-B1*K2+A2-B2*K1,'s');
lmiterm([6 1 1 P],1,A2-B2*K0+A0-B0*K2,'s');
lmiterm([-7 1 1 P],1,1);
lmisys=getlmis;
[tmin,xfeas]=feasp(lmisys);
tmin
pmat=dec2mat(lmisys,xfeas,P)

t m i n = − 0.0163 t_{min}=-0.0163 tmin=0.0163
P = ( 4.2687 3.1372 6.7828 14.3290 3.1372 6.5107 − 10.3561 29.7178 6.7828 − 10.3561 151.4136 − 37.1458 14.3290 29.7178 − 37.1458 145.7880 ) P=\begin{pmatrix}4.2687&3.1372&6.7828&14.3290\\3.1372&6.5107&-10.3561&29.7178\\6.7828&-10.3561&151.4136&-37.1458\\14.3290&29.7178&-37.1458&145.7880\end{pmatrix} P=4.26873.13726.782814.32903.13726.510710.356129.71786.782810.3561151.413637.145814.329029.717837.1458145.7880

下载链接
https://download.csdn.net/download/qq_29710939/84993530

trolly_sim.m

clear all;close all;
t0=0;tf=30;step=0.1;
x0(1:4)=[10 1 pi/10 0.1]';
global M m l u g;
global A0 A1 A2 B0 B1 B2 x3 K0 K1 K2;
M=100;m=50;l=4;g=9.81;u=100;
syms x1 x2 x3 x4;
x00=[0 0 0 0]';x01=[5 0 pi/6 pi/20]';x02=[5 -1 -pi/6 0]';
x=[x1;x2;x3;x4];
f=[x2;(m*l*x4^2*sin(x3)+m*g*sin(x3)*cos(x3))/(M+m*sin(x3)*sin(x3));x4;-(m*l*x4^2*sin(x3)*cos(x3)+(M+m)*g*sin(x3))/l/(M+m*sin(x3)*sin(x3))];
gx=1/(M+m*sin(x3)*sin(x3))*[0;1;0;-cos(x3)/l];
J=jacobian(f,x);
Ai=J+(f-J*x)*x'/(x'*x);
A0=double(subs(J,x,x00));B0=double(subs(gx,x,x00));
A1=double(subs(Ai,x,x01));B1=double(subs(gx,x,x01));
A2=double(subs(Ai,x,x02));B2=double(subs(gx,x,x02));

[t,x_fuzzy]=ode45('trolly_fuzzy',[t0:step:tf], x0);
[t,x_affine]=ode45('trolly_affine',[t0:step:tf], x0);
figure(1);
subplot(2,2,1);plot(t, x_fuzzy(:,1),'b-.',t,x_affine(:,1),'b:');xlabel('时间(秒)');ylabel('x1');
subplot(2,2,2);plot(t, x_fuzzy(:,2),'b-.',t,x_affine(:,2),'b:');xlabel('时间(秒)');ylabel('x2');
subplot(2,2,3);plot(t, x_fuzzy(:,3),'b-.',t,x_affine(:,3),'b:');xlabel('时间(秒)');ylabel('x3');
subplot(2,2,4);plot(t, x_fuzzy(:,4),'b-.',t,x_affine(:,4),'b:');xlabel('时间(秒)');ylabel('x4');

a0=[-1.1 -1.5 -1.8 -2.1];
a1=[-1.3 -1.6 -1.9 -2.2];
a2=[-1.5 -1.6 -1.8 -1.9];
K0=place(A0,B0,a0);K1=place(A1,B1,a1);K2=place(A2,B2,a2);

[t,x_fuzzy_ctrl]=ode45('trolly_fuzzy_ctrl',[t0:step:tf], x0);
[t,x_affine_ctrl]=ode45('trolly_affine_ctrl',[t0:step:tf], x0);
figure(2);
subplot(2,2,1);plot(t, x_fuzzy_ctrl(:,1),'b-.',t,x_affine_ctrl(:,1),'b:');xlabel('时间(秒)');ylabel('x1');
subplot(2,2,2);plot(t, x_fuzzy_ctrl(:,2),'b-.',t,x_affine_ctrl(:,2),'b:');xlabel('时间(秒)');ylabel('x2');
subplot(2,2,3);plot(t, x_fuzzy_ctrl(:,3),'b-.',t,x_affine_ctrl(:,3),'b:');xlabel('时间(秒)');ylabel('x3');
subplot(2,2,4);plot(t, x_fuzzy_ctrl(:,4),'b-.',t,x_affine_ctrl(:,4),'b:');xlabel('时间(秒)');ylabel('x4');

trolly_affine.m

function xdot = trolly_affine(t, x);
global M m l u g;
f=[x(2);(m*l*x(4)^2*sin(x(3))+m*g*sin(x(3))*cos(x(3)))/(M+m*sin(x(3))*sin(x(3)));x(4);-(m*l*x(4)^2*sin(x(3))*cos(x(3))+(M+m)*g*sin(x(3)))/l/(M+m*sin(x(3))*sin(x(3)))];
gx=1/(M+m*sin(x(3))*sin(x(3)))*[0;1;0;-cos(x(3))/l];
xdot=f+gx*u;

trolly_fuzzy.m

function xdot = trolly_fuzzy(t, x);
global A0 A1 A2 B0 B1 B2 u M m;
if(x(3)==0)
    h0=1;
else
    h0=sin(x(3))/x(3);
end
h1=(1-h0)/2;h2=h1;
xdot=h0*(A0*x+B0*u)+h1*(A1*x+B1*u)+h2*(A2*x+B2*u); 

trolly_affine_ctrl.m

function xdot = trolly_affine_ctrl(t, x);
global M m l u g K0 K1 K2;
f=[x(2);(m*l*x(4)^2*sin(x(3))+m*g*sin(x(3))*cos(x(3)))/(M+m*sin(x(3))*sin(x(3)));x(4);-(m*l*x(4)^2*sin(x(3))*cos(x(3))+(M+m)*g*sin(x(3)))/l/(M+m*sin(x(3))*sin(x(3)))];
gx=1/(M+m*sin(x(3))*sin(x(3)))*[0;1;0;-cos(x(3))/l];
h0=M*(sin(x(3)))^2/(M+m*sin(x(3))*sin(x(3)));
h1=M*(cos(x(3)))^2/(M+m*sin(x(3))*sin(x(3)));
h2=m*(sin(x(3)))^2/(M+m*sin(x(3))*sin(x(3)));
xdot=f+gx*(u-h0*K0*x-h1*K1*x-h2*K2*x);

trolly_fuzzy_ctrl.m

function xdot = trolly_fuzzy_ctrl(t, x);
global A0 A1 A2 B0 B1 B2 u M m K0 K1 K2;
if(x(3)==0)
    h0=1;
else
    h0=sin(x(3))/x(3);
end
h1=(1-h0)/2;h2=h1;
u0=u-h0*K0*x-h1*K1*x-h2*K2*x;
xdot=h0*(A0*x+B0*u0)+h1*(A1*x+B1*u0)+h2*(A2*x+B2*u0); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

T-S模糊模型与状态反馈控制及Matlab仿真 (附代码) 的相关文章

  • 在 3d 空间中的两个平面之间进行插值

    我正在开发一种工具 可以让您在 3D 体积 上圈出 包围事物 我想通过标记 切片 1 和 3 并从该信息 填充 切片 2 来节省时间 两个简单的解决方案是 1 slice2 slice1 AND slice3 gets the overla
  • matlab mex 文件和 C++ dll (Windows)

    我有一个带有 Test 类的 DLL 标题 class MY EXPORT Test public int doit const string str 和来源 int Test doit const string str return in
  • Matlab:如何显示数组的“真实”值?

    我有一个在脚本中计算的向量 计算后 我将值显示到命令窗口 显示如下 finalResults 1 0e 05 0 0001 0 0 0005 0 0002 0 0001 0 0027 0 0033 0 0001 0 0000 0 0000
  • 将自动生成的 Matlab 文档导出为 html

    我想为我开发的 Matlab 工具箱生成完整的帮助 我已经看到如何显示自定义文档 http www mathworks fr fr help matlab matlab prog display custom documentation h
  • MATLAB 滚动图

    我有一个脑电图数据库 我想绘制它 数据库是一个19 1000 134的矩阵 其中 19 是通道数 在第一种方法中 我只使用一个渠道 1000 个样本大小 采样率为 500 Hz 时为 1000 个点 即 2 秒数据 134 epochs的数
  • 如何在 Matlab 中使用谷歌翻译?

    我正在编写一个程序 使用 Matlab 列出电影字幕文件中的所有唯一单词 现在我有一个独特的单词列表 我想将其翻译成我的语言并在观看电影之前了解其含义 有谁知道如何在 Matlab 中使用 Google Translate 以便完成我的脚本
  • Python 函数句柄 ala Matlab

    在 MATLAB 中可以创建function handles http www mathworks co uk help techdoc ref function handle html与类似的东西 myfun arglist body 这
  • MATLAB 中的多个捕获组

    我有一个包含数字或字母的字符串a 可能紧随其后的是r or l 在 MATLAB 中 以下正则表达式返回为 gt gt regexp 10r 0 9 a l r match ans 10r 我希望10 and r分开 因为我有两个捕获组 有
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • 如何在 Matlab 中对数组应用低通或高通滤波器?

    有没有一种简单的方法可以将低通或高通滤波器应用于 MATLAB 中的数组 我对 MATLAB 的强大功能 或数学的复杂性 有点不知所措 需要一个简单的函数或一些指导 因为我无法从文档或网络搜索中找到答案 看着那 这filter http w
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • MATLAB 教程中的 SIFT 实现

    我正在寻找 MATLAB 中的一些基本 SIFT 实现 我需要从第一原则来写它 另外 我正在寻找一些可以解释程序中发生的事情的内容 Vedali 的代码和 David Lowe 的代码超出了我的理解范围 如果您是 Matlab 用户 您一定
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • matlab中类库的全局变量

    我有一些matlab声明的类 我如何声明所有类中都可见的常量 例如 这些常量可以是在所有类的方法中使用的物理常量 首先想到的是使用全局变量 还有更好的办法吗 最好在单独的文件中声明这些常量 包含常量的类是执行此操作的一种很好的干净方法 请参
  • 如何使用 MATLAB 的 substruct 函数创建表示使用“end”的引用的结构?

    我想使用substruct http www mathworks com help matlab ref substruct html函数创建一个结构体以供使用subsref 目的是使用索引字符串subsref而不是通常的 符号 因为我正在
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • 在matlab中绘制给定区域内(两个圆之间)的向量场

    我想在 Matlab 中绘制下面的向量场 u cos x x 0 y y 0 v sin x x 0 y y 0 我可以在网格中轻松完成 例如 x 和 y 方向从 2 到 2 x 0 2 y 0 1 x y meshgrid 2 0 2 2
  • 给定协方差矩阵,在Matlab中生成高斯随机变量

    Given a M x M期望的协方差 R 以及所需数量的样本向量 N计算一个N x M高斯随机向量 X在普通 MATLAB 中 即不能使用r mvnrnd MU SIGMA cases 不太确定如何解决这个问题 通常你需要一个协方差并且意

随机推荐

  • NVIDIA JETSON XAVIER NX烧录(emmc版本)

    目录 0 前言 1 安装虚拟机 2 安装SDKManager 3 使用SDK Manager开始烧录 4 配置系统 5 开发环境的安装 xff08 CUDA xff09 6 遇到问题记录 xff08 如果有其它问题可以留言我补充 xff09
  • NVIDIA JETSON XAVIER NX烧录(sd版本)

    0 前言 本文主要补充上文提到的sd卡版本烧录Jetson Xavier Nx系统的 xff0c 需要准备的东西 一张空白SD卡balenaEtcher工具 JETSON XAVIER NX 开发者套件的SD镜像 xff08 官网下载 xf
  • NVIDIA JETSON XAVIER NX 从SSD盘启动

    0 前言 本文主要补充上文提到的Jetson Xavier Nx系统从ssd盘启动 xff0c 需要准备的东西 xff1a 提前把ssd卡装上Jetson Xavier Nx套件上 xff0c 如下图 1 格式化为GPT 打开ubuntu的
  • 在linux虚拟机上安装docker

    1 简介 Docker是一个开源的应用容器引擎 xff1b 是一个轻量级容器技术 xff1b Docker支持将软件编译成一个镜像 xff1b 然后在镜像中各种软件做好配置 xff0c 将镜像发布出去 xff0c 其他使用者可以直接使用这个
  • win11虚拟机如何安装 Windows11虚拟机安装步骤教程

    想要体验下最新的win11系统 但是又不想在实体机上安装 担心出现系统故障问题怎么办 我们可以通过虚拟机安装win11系统实现 下面小编就教下大家虚拟机如何安装win11系统 更多Windows11系统教程可以参考小白一键网 1 下载安装好
  • Win11如何开启移动热点?Win11开启移动热点的方法

    在Win10系统之后就有了一个移动热点功能 xff0c 这在Win11系统也不例外 xff0c 不过很多小伙伴并不清楚Win11系统中的移动热点功能如何开启 xff0c 那么下面就和小编一起来看看Win11开启移动热点的方法 xff0c 有
  • 交换机组建局域网

    说来惭愧 xff0c 今天才搞明白用交换机组建局域网的原理 xff0c 这里介绍方法 xff1a 平时使用的路由器有交换机的功能 xff0c 单纯使用交换机还是第一次 xff1a 1 将所有电bai脑连到同一台交换机上 xff0c du即将
  • mavros 使用经验记录

    我用的飞控硬件板是pixhawk xff0c 用missionplanner刷的fight stack是apm的最新版本3 4 amp对mavros支持不是特别好 xff0c 如果合适还是用px4的flight stack 比较好 xff0
  • ros catkin_make 出现add_custom_target cannot create target 错误

    今天用catkin make编译ros包出现如下错误 CMake Error at home liwei work catkin ws land build mycommbase cmake mycommbase genmsg cmake
  • mavros使用经验记录二

    项目是一个无人机视觉追踪功能 xff0c 无人机上的协从计算机通过串口连接到飞控的tel2 接收mavlink消息流 xff0c 协计算机将此mavlink流进行udp转发到地面站 xff0c 同时协计算机实时的进行图像处理 xff0c 将
  • Unix Shell中单引号、双引号字符、反斜杠、反引号的使用

    在执行shell脚本的时候 xff0c shell将会对脚本中的行进行解释 xff0c 然后执行 xff1b 对于一些特殊处理的句子 xff0c 我们可以使用引号或者反斜线来避免shell解释执行之 如下 xff0c 当在命令行中输入 xf
  • TX2 Ubuntu 系统默认root用户登录 (永久权限)

    操作简单 xff0c 亲测可行 xff0c 不需要写啥脚本 https jingyan baidu com article 6181c3e0780131152ef153ff html
  • nginx部署多个vue项目的2种方法

    第一种 同一个域名或者ip 相同端口号 部署多个项目 通过斜线访问 http 10 16 xx 23 student http 10 16 xx 23 先看这2种配置 查找nginx 和配置文件 whereis nginx 查看配置文件 v
  • 用C++写一个简单的服务器(Linux)

    用C 43 43 写一个简单的服务器 Linux 下面是创建一个简单服务器的基本流程 xff0c 所用的端口是8099 后面贴了代码 一 基本流程 xff1a 创建套接字配置服务器地址相关参数将两者绑定监听套接字上的端口在上面创建的套接字上
  • Resource not found: roslaunch的解决方法

    文章目录 问题解决办法 问题 按照ROS教程学习时 xff0c 在运行roscore时出现问题 roscore Resource not found roslaunch ROS path 0 61 opt ros noetic share
  • Cannot load command parameter [robot_description]解决方法

    在github上下载一个ros仿真小车 xff0c 运行时 Invalid tag Invalid tag Cannot load command parameter robot description 参考 https wiki ros
  • ORB_SLAM2 ROS Example 编译 CMake Error at CMakeLists.txt:37 (message): OpenCV > 2.4.3 not found解决办法

    报错 CMake Error at CMakeLists txt 37 span class token punctuation span message span class token punctuation span OpenCV s
  • ORB_SLAM2_modified编译

    CMake Error at CMakeLists txt 37 message OpenCV gt 2 4 3 not found Configuring incomplete errors occurred ORBSLAM2 with
  • 导纳控制 admittance control

    简单记录一下导纳控制 对于一个质量块 m m m xff0c 其位移记为 x x x xff0c 我们期望它按照预期保持在
  • T-S模糊模型与状态反馈控制及Matlab仿真 (附代码)

    目录 一 仿射非线性系统建模 二 计算T S模糊模型子系统 三 建立推理 xff0c 验证开环特性 四 极点配置 xff0c 验证闭环特性 五 使用LMI验证稳定性 一 仿射非线性系统建模 以overhead crane system为例