代码为实现仿生四足机器人技术(罗庆生等)中关于CPG网络控制模型的部分的绘图。

本人新手 代码不保证正确性

  • 方程:

两种方法通用一个函数:

代码中变量含义:

a=  B=  u=    Wsw=  W= th=  Q= A=a

x=[x1;y1;x2;y2......]

代码中的通过书中的公式 使用 (占空比)来得出;相位关系可参照波士顿动力真的无可企及吗?一步步剖析四足机器人技术(一)中相关内容

function dydt = f( t,x )
%F 此处显示有关此函数的摘要
%   此处显示详细说明
a=10000;
B=0.75;
u=0.4;
Wsw=5*pi;
A=100;QLF=0;%1
QRH=0.25;%3 0.25QRF=1;%2
QLH=1;%4W1=(((1-B)/B)*Wsw)/(exp(-1*A*x(2))+1)+(Wsw/(exp(A*x(2))+1));
W2=(((1-B)/B)*Wsw)/(exp(-1*A*x(4))+1)+(Wsw/(exp(A*x(4))+1));
W3=(((1-B)/B)*Wsw)/(exp(-1*A*x(6))+1)+(Wsw/(exp(A*x(6))+1));
W4=(((1-B)/B)*Wsw)/(exp(-1*A*x(8))+1)+(Wsw/(exp(A*x(8))+1));r1=x(1)^2+x(2)^2;
r2=x(3)^2+x(4)^2;
r3=x(5)^2+x(6)^2;
r4=x(7)^2+x(8)^2;if QLH~=0QRF=B-QRH;QLH=B;
elseif QLH==0QRF=QRH;QLH=QLF;end
end%1行
%     QLF=0;%1
% QRH=0.25;%3
%
% QRF=0;%2
% QLH=0;%4
%     th11=0;
th11=2*pi*(QLF-QLF);
R11 = [cos(th11), -sin(th11);sin(th11), cos(th11)];%th21=-pi;
th21=2*pi*(QLF-QRF);
R21 = [cos(th21), -sin(th21);sin(th21), cos(th21)];%th31=-pi/2;
th31=2*pi*(QLF-QRH);
R31 = [cos(th31), -sin(th31);sin(th31), cos(th31)];%     th41=-3*pi/2;
th41=2*pi*(QLF-QLH);
R41 = [cos(th41), -sin(th41);sin(th41), cos(th41)];%2行
%     th12=pi;
th12=2*pi*(QRF-QLF);
R12 = [cos(th12), -sin(th12);sin(th12), cos(th12)];%     th22=0;
th22=2*pi*(QRF-QRF);
R22 = [cos(th22), -sin(th22);sin(th22), cos(th22)];%     th32=pi/2;
th32=2*pi*(QRF-QRH);
R32 = [cos(th32), -sin(th32);sin(th32), cos(th32)];%     th42=-pi/2;
th42=2*pi*(QRF-QLH);
R42 = [cos(th42), -sin(th42);sin(th42), cos(th42)];%3行
%     th13=pi/2;
th13=2*pi*(QRH-QLF);
R13 = [cos(th13), -sin(th13);sin(th13), cos(th13)];%     th23=-pi/2;
th23=2*pi*(QRH-QRF);
R23 = [cos(th23), -sin(th23);sin(th23), cos(th23)];%     th33=0;
th33=2*pi*(QRH-QRH);
R33 = [cos(th33), -sin(th33);sin(th33), cos(th33)];%     th43=-pi;
th43=2*pi*(QRH-QLH);
R43 = [cos(th43), -sin(th43);sin(th43), cos(th43)];
%4行
%     th14=3*pi/2;
th14=2*pi*(QLH-QLF);
R14 = [cos(th14), -sin(th14);sin(th14), cos(th14)];%     th24=pi/2;
th24=2*pi*(QLH-QRF);
R24 = [cos(th24), -sin(th24);sin(th24), cos(th24)];%     th34=pi;
th34=2*pi*(QLH-QRH);
R34 = [cos(th34), -sin(th34);sin(th34), cos(th34)];%     th44=0;
th44=2*pi*(QLH-QLH);
R44 = [cos(th44), -sin(th44);sin(th44), cos(th44)];RR=[R11,R21,R31,R41;R12,R22,R32,R42R13,R23,R33,R43R14,R24,R34,R44];FF=[a*(u-r1)*x(1)-W1*x(2);a*(u-r1)*x(2)+W1*x(1);a*(u-r2)*x(3)-W2*x(4);a*(u-r2)*x(4)+W2*x(3);a*(u-r3)*x(5)-W3*x(6);a*(u-r3)*x(6)+W3*x(5);a*(u-r4)*x(7)-W4*x(8);a*(u-r4)*x(8)+W4*x(7);];
RR(abs(RR)-0<0.00001)=0;
temp=RR*x;
dydt=FF+RR*x;

matlab自带函数实现

使用ode45函数绘图

[t,y] = ode45(@f,[0 5],[0.1;0;0;0;0;0;0;0]);%这里是膝关节处理
for i=1:length(y)if y(i,2)<=0y(i,2)=-1*sign(-1)*0.7067*y(i,2);elsey(i,2)=0;endif y(i,4)<=0y(i,4)=-1*sign(-1)*0.7067*y(i,4);elsey(i,4)=0;endif y(i,6)<=0y(i,6)=-1*sign(-1)*0.7067*y(i,6);elsey(i,6)=0;endif y(i,8)<=0y(i,8)=-1*sign(-1)*0.7067*y(i,8);elsey(i,8)=0;end
endsubplot(4,1,1)
plot(t,y(:,1),t,y(:,2));
subplot(4,1,2)
plot(t,y(:,3),t,y(:,4));
subplot(4,1,3)
plot(t,y(:,5),t,y(:,6));
subplot(4,1,4)
plot(t,y(:,7),t,y(:,8));
grid;

matlab手动欧拉法

out=[]%输出变量
count=1;
temp=f([],[0.1;0;0;0;0;0;0;0]);%后面参数为初值
y=zeros(8,1);
y=y+temp*0.0001;%0.0001为步长
for i=0:0.0001:5temp=f([],y);y=y+temp*0.0001;%处理膝关节if y(2)<=0out(count,2)=-1*sign(-1)*0.7067*y(2);elseout(count,2)=0;endif y(4)<=0out(count,4)=-1*sign(-1)*0.7067*y(4);elseout(count,4)=0;endif y(6)<=0out(count,6)=-1*sign(-1)*0.7067*y(6);elseout(count,6)=0;endif y(8)<=0out(count,8)=-1*sign(-1)*0.7067*y(8);elseout(count,8)=0;endout(count,1)=y(1);%out(count,2)=y(2);out(count,3)=y(3);%     out(count,4)=y(4);out(count,5)=y(5);%     out(count,6)=y(6);out(count,7)=y(7);%     out(count,8)=y(8);count=count+1;
end
t=0:0.0001:5;
%绘图
subplot(4,1,1)
plot(t,out(:,1),t,out(:,2));
title('LF')
subplot(4,1,2)
plot(t,out(:,3),t,out(:,4));
title('RF')
subplot(4,1,3)
plot(t,out(:,5),t,out(:,6));
title('RH')
subplot(4,1,4)
plot(t,out(:,7),t,out(:,8));
title('LH')
grid;

效果:

ode45:

手动欧拉法

simulink:

基于HOPF振荡器的CPG单元模型matlab实现相关推荐

  1. 梳妆谐振器的matlab实现,基于HOPF振荡器的CPG单元模型matlab实现

    代码为实现仿生四足机器人技术(罗庆生等)中关于CPG网络控制模型的部分的绘图. 本人新手 代码不保证正确性 方程: 两种方法通用一个函数: 代码中变量含义: a=   B=   u=    Wsw= ...

  2. 【配电网重构】基于粒子群求解配电网重构模型matlab源码

    一.故障信息的数学表示 在上图中K表示断路器,每一个断路器上均有一个FTU装置,可以反馈断路器开关是否过流,用表示上传的故障信息,反映的是各分段开关处是否流过故障电流有故障电流为1,否则为0).即: ...

  3. 【cpg控制】HOPF振荡器动态特性分析

    系列文章目录 [cpg控制]Hopf振荡器的一种python实现 [CPG控制]Hopf振荡器引入beta参数 [CPG控制]Hopf振荡器之间的耦合 [cpg控制]HOPF振荡器动态特性分析 动态特 ...

  4. 基于DSTATCOM无功补偿的风电并网模型

    基于DSTATCOM无功补偿的风电并网模型 Matlab simulink 质量过硬 仿真简介: 1.2个风电:一个基于双馈风机DFIG.一个基于感应风机 2.仿真总时长30s,10s时,感应风机风速 ...

  5. 【cpg控制】Hopf振荡器的一种python实现

    系列文章目录 [CPG控制]Hopf振荡器引入beta参数 [CPG控制]Hopf振荡器之间的耦合 [cpg控制]HOPF振荡器动态特性分析 hopf实现 系列文章目录 一.python 解微分方程 ...

  6. 基于IMAGE法的房间回响模型创建、C++代码实现、matlab仿真

    基于IMAGE法的房间回响模型创建.C++代码实现.matlab仿真 1.模型简介 \qquad在处理声音信号时,我们要对信号先进行采集.那么我们就必须要有,一个发出声音的声源,一个进行声音采集的传感 ...

  7. pm模型matlab算法,18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码...

    基于遗传算法(粒子群算法.人工鱼群算法等)的投影寻踪模型 MATLAB源代码 投影寻踪是一种处理多因素复杂问题的统计方法,其基本思路是将高维数据向低维空间进行投影,通过低维投影数据的散布结构来研究高维 ...

  8. ar模型matlab fpe,基于Matlab的AR模型参数估计.pdf

    基于Matlab的AR模型参数估计.pdf 维普资讯 2OO5年第39卷No4 39 基于Matlab的AR模型参数估计* 陈国强 赵俊伟 黄俊杰 刘万里 河南理工大学 摘 要:基于Matlab用时间 ...

  9. m基于隐马尔科夫模型(HMM)的手机用户行为预测(MMUB)算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,广泛应用在语音识别, ...

最新文章

  1. 解决异常:“The last packet sent successfully to the server was 0 milliseconds ago. ”的办法
  2. nmake构建Geos库
  3. Strange Words 4
  4. java 多线程同步
  5. 个性化联邦学习算法框架发布,赋能AI药物研发
  6. 日常赠书 | 王者荣耀的觉悟AI是怎么训练的?
  7. ZOJ 1606 Count the Colors (线段数染色)
  8. Android开机键失灵启动手机的解决的方法
  9. excel 地级市名单_“excel随机抽取名单“谁有全国行政区划列表(EXCEL版且含省市县乡)?...
  10. navicat 导入excel 闪退
  11. 【GlobalMapper精品教程】002:GlobalMapper中文版安装后的基本设置
  12. 滴滴技术专家任玉刚:让你的职业迷茫从哪来回哪去
  13. 数据库之系统的三级模式结构
  14. 银河麒麟桌面V10SP1安装nosqlbooster 可视化工具
  15. WPS怎么外链网页上的实时数据_数据收集、整理低效繁琐?WPS表单帮你轻松解决...
  16. 交换机,路由器和防火墙
  17. Pika使用入门(一)【介绍】
  18. 分享|2020年义务教育入学信息采集今日开始!手把手教您如何快速操作|方格教育
  19. android 版本分布 最新,安卓手机系统版本分布:Android 9.0占比达34%!
  20. JAVA毕业设计基层党支部建设平台计算机源码+lw文档+系统+调试部署+数据库

热门文章

  1. web前端开发与应用——选择器
  2. Windows下安装CMake教程
  3. 数字图像处理2.2/2.3 光与电磁波谱/图像形成
  4. 小米官网是不是用php开发的,小米官网抢手机排队功能,后台语言是什么
  5. 新的浏览器的诞生,你会选择哪个?
  6. 命令行参数输入特殊字符
  7. 高点击率淘宝宝贝主图怎么做
  8. CLOUDXNS 使用体验
  9. 关于多部门协作完成项目使用过程中出现问题互相推卸责任的问题
  10. 教你一招:低代码开发平台实现抗疫物资管理系统的搭建