四足机器人仿真 Matlab

这篇具有很好参考价值的文章主要介绍了四足机器人仿真 Matlab。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Adams模型导入

导入模型为parasolid所产生文件

文件->导入->文件类型->Parasolid->读取文件选择文件路径->模型名称右键->模型->创建

添加转动副

连接->运动副->旋转副->右击主体1选择->右击主体2选择->在关节出设置坐标系

添加驱动

驱动->转动驱动

设置状态变量

Adams快捷键

T+左键 平动模型
R+左键 旋转模型
Z+左键 动态缩放
F或Ctrl+F 以最大比例全面显示模型

matlab

足端轨迹绘制

参考了B站大佬视频

函数

axis

axis( [xmin xmax ymin ymax] ): 设置当前坐标轴 x轴 和 y轴的限制范围
axis equal: 设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔

hold on

hold on: 主要是用于添加新绘图的时候保留当前绘图

linspace

linspace: Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。
eg:X=linspace(5,100,20)将输出:
X =5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100

length

length: 函数主要是求数组元素的个数

绘制代码

axis([-3 5 -2 8]);
axis equal;
hold on;

x=0:0.01:3;xi=x;
yi=-0.5*xi.*(xi-3);
plot(xi,yi,'color','r');%足端轨迹
yz=linspace(6,6,length(x));
plot([x,3],[yz,6],'color','r');%上端横线

%x1=0:0.2:3;%上端移动
%x3=x1;%上端移动
x1=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];%上端不动
x3=0:0.2:3;%上端不动
y1=linspace(6,6,length(x1));
pp=spline(xi,yi);
y3=ppval(pp,x3);
[x2,y2]=solvepoint2(x1,y1,x3,y3);
for i=1:length(x1)
	hold on;
	plot([x1(i),x2(i),x3(i)],[y1(i),y2(i),y3(i)],'color','b');
	pause(0.1);
end
hold on;
执行效果

四足机器人仿真 Matlab
四足机器人仿真 Matlab

%% 支撑相
clear;clc;clf;
axis equal;
axis([-6 5 -2 8]);% 坐标范围
hold on; 
grid; %xyzlabel;
plot([0],[0],'Marker','diamond');
plot([-3],[6],'Marker','diamond');
plot([3],[6],'Marker','diamond');
text(0,0,' 支撑点','color','b');
text(-3,6,' 初始髋关节点','color','b');
text(3,6,' 末髋关节点','color','b');
x1=-3:0.5:3;
y1=linspace(6,6,length(x1));
x3=zeros(length(x1),1)';y3=zeros(length(x1),1)';
plot([x1(1),x1(length(x1))],[y1(1),y1(length(y1))],'color','r');
% [x2,y2]=solvepoint2(x1,y1,x3,y3);
for i=1:length(x1)
    hold on;
    [x2(i),y2(i)]=solvepoint2(x1(i),y1(i),x3(i),y3(i));
    plot([x1(i),x2(i),x3(i)],[y1(i),y2(i),y3(i)],'color','b');
%     axis([-6 5 -2 8]);
    pause(0.1);
end

四足机器人仿真 Matlab

%% 摆动相
clear;clc;clf;
axis equal;
axis([-3 15 -1 7]);% 坐标范围
hold on; 
grid; 
%xyzlabel;
plot([0],[0],'Marker','diamond');text(0,0,' 初支撑点','color','b','HorizontalAlignment','right');
plot([9],[6],'Marker','diamond');text(9,6,' 末髋关节点','color','b');
plot([3],[6],'Marker','diamond');text(3,6,' 初髋关节点','color','b','HorizontalAlignment','right');
plot([12],[0],'Marker','diamond');text(12,0,' 末支撑点','color','b');
a=6; b=6;
x1=0.5*a:0.5:1.5*a; y1=linspace(b,b,length(x1));
step_x3=2*a/(length(x1)-1);
x3=0:step_x3:2*a;   y3=-0.03*x3.*(x3-2*a);
plot([x1(1),x1(length(x1))],[y1(1),y1(length(y1))],'color','r');
plot(x3,y3,'color','r');
for i=1:length(x1)
    hold on;
    [x2(i),y2(i)]=solvepoint2(x1(i),y1(i),x3(i),y3(i));
    plot([x1(i),x2(i),x3(i)],[y1(i),y2(i),y3(i)],'color','b');
%     axis([-6 5 -2 8]);
    pause(0.1);
end
%% 

四足机器人仿真 Matlab

绘制过程所用到函数

function [x2,y2]=solvepoint2(x1,y1,x3,y3)
    l1=4;l2=4;% 两条腿长
    l3=sqrt((x1-x3).*(x1-x3)+(y1-y3).*(y1-y3));
    theta3=acos((l2.*l2+l3.*l3-l1.*l1)/(2*l2.*l3));
    theta2=acos((l1.*l1+l2.*l2-l3.*l3)/(2*l1.*l2));
    if x1 > x3
        theta_need=theta2-(pi-atan((y1-y3)./(x1-x3))-theta3);
    elseif x1==x3
        theta_need=theta2-(pi/2-theta3);
    else
        theta_need=theta2-(atan((y1-y3)./(x3-x1))-theta3);
    end
    x2=x1-l1*cos(theta_need);
    y2=y1-l1*sin(theta_need);
end

Simulink仿真

B站参考视频

模型导入

  1. 模型下载
    宇树科技官方CAD下载地址
  2. 利用UG完成零件坐标设置如下图
    四足机器人仿真 Matlab

身体四足机器人仿真 Matlab
左上肢
注意z轴与旋转轴重合
四足机器人仿真 Matlab
右上肢
四足机器人仿真 Matlab
髋关节
四足机器人仿真 Matlab
小腿
四足机器人仿真 Matlab
4. 模型导入simulink
1. smnew快捷键打开物理建模
四足机器人仿真 Matlab
四足机器人仿真 Matlab
产生一平面
四足机器人仿真 Matlab

导入3D模型,拖动至simulink界面中(Ctrl+R可旋转)四足机器人仿真 Matlab
四足机器人仿真 Matlab
双击file solid
四足机器人仿真 Matlab

注:由于宇树科技官方结构坐标系方向设置遇到障碍,故改用视频配套结构
仿真结果
四足机器人仿真 Matlab
身体上各个关节位置坐标转换
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab

四足机器人仿真 Matlab
仿真后可观察到坐标对应成功

腿部模型导入

四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
Ctrl+G封装
四足机器人仿真 Matlab
添加旋转副
四足机器人仿真 Matlab
四足机器人仿真 Matlab
关节运动方式改为角度输入
四足机器人仿真 Matlab
四足机器人仿真 Matlab
同侧腿一致,可以直接复制,但是要改一个参数
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab
四足机器人仿真 Matlab

加入力反馈

四足机器人仿真 Matlab
四足机器人仿真 Matlab
下载对应版本解压并添加到目录
四足机器人仿真 Matlab
四足机器人仿真 Matlab四足机器人仿真 Matlab

仿真会报错
四足机器人仿真 Matlab此处改为warning
四足机器人仿真 Matlab

加入六自由度变化

四足机器人仿真 Matlab
仿真结果四足机器人仿真 Matlab文章来源地址https://www.toymoban.com/news/detail-412060.html

到了这里,关于四足机器人仿真 Matlab的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人坐标系解读及四足机器人虚拟模型控制(VMC)控制方法

    终于理清VMC控制方法了,对于很多新入门机器人的小伙伴,尤其像我这样做毕设前完全没有接触过机器人的本科生来说,坐标变换可谓是一大难,很多教材说的也是非常一本正经,非常不利于入门学习。本文对四足机器人坐标变换以及VMC控制方法作以简要介绍,力求简单易懂

    2024年02月06日
    浏览(32)
  • Matlab机械臂建模:机器人工具箱的使用&&导入自己的机械臂模型

            本文主要介绍 如何在matlab中建立机械臂模型( 前提要下载了Robotics Toolbox机器人工具箱~ ),并进行基于正逆运动学计算的轨迹运动 。对于已有的Solidworks机械臂三维模型,如何导入Matlab,并对其进行运动控制。         关于 机器人工具箱的安装 及函数的详细

    2024年02月07日
    浏览(46)
  • 【标准DH法和改进DH法介绍及三自由度四足或双足机器人腿建模——MATLAB机器人工具箱使用】

    DH参数是机器人学习过程中常用的一种建模方法,通常情况下每一次坐标变换需要6个独立参数来描述坐标系i相对坐标系i-1的关系,即3个用来描述位置另外3个用来描述姿态。而DH参数法只需要4个参数,列出DH参数表并带入变换矩阵中可以轻易的得到机械手末端和基

    2024年02月02日
    浏览(47)
  • 基于预测控制模型的自适应巡航控制仿真与机器人实现(Matlab代码实现)

         目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 自适应巡航控制技术为目前由于汽车保有量不断增长而带来的行车安全、驾驶舒适性及交通拥堵等问题提供了一条有效的解决途径,因此本文通过理论分析、仿真验证及实车实验对自适应巡航控制中的若干

    2024年02月16日
    浏览(39)
  • 相对全面的四足机器人驱动规划MATLAB和Simulink实现方式(足端摆线规划,Hopf-CPG,Kimura-CPG)

            许久没更新四足机器人相关的博客文章,由于去年一整年都在干各种各样的~活,终于把硕士毕业论文给写好,才有点时间更新自己的所学和感悟。步态规划和足端规划只是为了在运动学层面获取四足机器人各关节的期望角位移和速度信号,再由底层的关节控制器输出

    2024年02月03日
    浏览(38)
  • Isaac Sim 仿真机器人urdf文件导入

    本教程展示如何在 Omniverse Isaac Sim 中导入 urdf 安装urdf 插件 方法是转到“window”-“Extensions” 搜索框中输入urdf, 并启用 通过转至Isaac Utils - Workflows - URDF Importer菜单来访问 urdf 扩展。 表格中的 1,2,3 对应着上图中的1,2,3 位置说明 导入选项 Merge Fixed Joins-合并固定关节 :合并由固

    2024年04月12日
    浏览(33)
  • Matlab机器人的仿真(八):绘制机器人运动轨迹(复现)

    跑一得出运动轨迹的动图结果: 跑二得出的绘出6个关节的角度,角速度,角加速度的信息图: 跑三得出的结果:末端点轨迹(x-y-z视图)

    2024年02月11日
    浏览(41)
  • 基于Matlab开发的动态机器人轨迹仿真

    基于Matlab开发的动态机器人轨迹仿真 近年来,机器人技术的发展已经进入了高速发展时期。控制与仿真技术作为机器人领域中至关重要的一环,也随之发展壮大。而在动态机器人轨迹仿真方面,Matlab作为一款具备强大数学计算能力的软件,在该领域中得到广泛应用。 本文将

    2024年02月03日
    浏览(41)
  • Matlab机器人仿真(五):利用DH法建立六轴机器人(复现,整合,记录)

    DH法包括两种:一种为标准DH法,另一种为改进型DH法,如图所示(图片转载来自https://blog.csdn.net/qq_26565435/article/details/91460988): 例子:建立一个常见的简单3轴机器人: 在建立一个常见的六轴机器人: 例子如图所示: case1: case 2: case 3: 在matlab中建立机械臂模型 MATLAB代码:

    2024年02月11日
    浏览(40)
  • ESP32(MicroPython) 四足机器人(五)功能补充

    本次更新增加了前后倾斜(每次动作交换前部和后部高度)、蹲起与抬脚动作,均位于用于连续执行动作的function函数中,但实测抬脚动作需要先启动function函数的另一项功能才能正常开启,代码检查无误,应该是MicroPython固件的bug。另外,对于判断功能,增加了elif语句的使用

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包