水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

      目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

水下机器人-机械手系统(Underwater vehicle-manipulator systems, UVMS)可以完成除观测之外的水下采样、抓取、操作等任务,在海洋科学考察、海洋工程等领域得到广泛应用。通过对近年来国内外UVMS的研究现状进行综述,介绍了不同的UVMS本体结构与机械手构型,总结了UVMS的运动学、动力学和水动力学的建模方法,分析了人机交互式遥控操作控制方式,针对UVMS的自主控制中的运动规划、位置与轨迹跟踪、独立与协调控制、运动补偿控制、力/位置混合控制、视觉伺服控制等问题做了分类阐述。

该项目体现UVDMS(水下机器人双机械手系统)上的运动学、动力学和控制模拟器。采用DH法建立运动学模型,并使用牛顿-欧拉法建立动力学模型。该项目为UVDMS的水下抓取操作提供了一个演示。

📚2 运行结果

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

🎉3 参考文献

[1]常宗瑜,张扬,郑方圆,郑中强,王吉亮.水下机器人-机械手系统研究进展:结构、建模与控制[J].机械工程学报,2020,56(19):53-69.

👨‍💻4 Matlab代码

主函数部分代码:文章来源地址https://www.toymoban.com/news/detail-476344.html

clc


fprintf('\n ----------------')
fprintf('\n ----------------')
fprintf('\n -- SIMURV 4.0 --')
fprintf('\n ----------------')
fprintf('\n ----------------')


% take path and "now" to store data
mypath = pwd;
prefix = datestr(now,30);


% ---------------------------------------------------
% load the model and copy the m-file in the folder output
% ---------------------------------------------------
cd data
if (exist('model_name','var')==0)
    model_name = uigetfile('data*.m', 'select a model to simulate');
end
model_copy = strcat(mypath,filesep,'output',filesep,prefix,model_name);
copyfile(model_name,model_copy);
eval(strrep(model_name,'.m',''));
fprintf('\nmodel copied in          %s',[filesep,'output',filesep,prefix,model_name]);
cd ..


% ---------------------------------------------------
% output name to be copied in the folder output
% ---------------------------------------------------
% output_name = strcat(mypath,filesep,'output',filesep,prefix,'out.mat'); 
% fprintf('\noutput will be copied in %s',[filesep,'output',filesep,prefix,'out.mat']);
output_name = strcat('demo',prefix,'out.mat');  % 2020.2.6
fprintf('\noutput will be copied in %s',[filesep,'output',filesep,prefix,'out.mat']);




% ---------------------------------------------------
% run the "core" simulation file and copy the m-file in the folder output
% ---------------------------------------------------
cd func
if (exist('core_simulator_name','var')==0)
    core_simulator_name = uigetfile('core*.m', 'select the core simulation file');
end
core_simulator_copy = strcat(mypath,filesep,'output',filesep,prefix,core_simulator_name);
copyfile(core_simulator_name,core_simulator_copy);
fprintf('\ncore_simulator in        %s',[filesep,'output',filesep,prefix,core_simulator_name]);
eval(strrep(core_simulator_name,'.m',''));
cd ..


% ---------------------------------------------------
% save simulation output in a mat file
% ---------------------------------------------------
cd output
eval(['save ',output_name]);
cd ..


% ---------------------------------------------------
% warning for too much files in the output dir
% ---------------------------------------------------
file_number = size(dir('output'),1)-2;
if file_number>30
    fprintf('\n %d files are currently stored in the output folder, consider erase some',file_number);
    fprintf('\n to erase all type: delete output/2*');
end
    


% ---------------------------------------------------
% exiting stuff
% ---------------------------------------------------
fprintf('\n\n to run another simulation with same model and controller type: simurv[enter]');
fprintf('\n to modify the model type: clear model_name, simurv[enter]');
fprintf('\n to modify the controller type: clear core_simulator_name, simurv[enter]');
fprintf('\n\n');
clear mypath prefix model_copy core_simulator_copy

到了这里,关于水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 工业机械手的PLC控制

    课题概述: 机械手的概述: 机械手是在机械化、自动化生产过程中发展起来的一种新型装置。近年来,随着电子技术特别是电子计算机的广泛应用,机器人的研制和生产已成为高技术领域内迅速发展起来的一门新兴技术,它更加促进了机械手的发展,使得机械手能更好地实

    2024年02月09日
    浏览(47)
  • 【factoryio】使用SCL编写 <机械手控制> 程序

    使用虚拟工厂软件和博图联合仿真来编写【scl】机械手控制程序 文章目录 目录 文章目录  前言 二、程序编写 1.机械手运行部分 2.启动停止部分 3.急停复位部分  三、完整代码 总结 在前面我们一起写过了许多案例控制的编写,在这一章我们一起来编写一下一个仿真机械手程

    2024年02月03日
    浏览(48)
  • 点云从入门到精通技术详解100篇-基于 3D 视觉信息的机械手抓取机械零部件

    目录 前言 相关技术的国内外发展现状 点云配准 点云分割 点云位姿估计

    2024年02月06日
    浏览(50)
  • 6轴关节机械手仿真和控制QtQuick3D 和 CodeSys Robotics

    本工程利用QtQuick3D做上位机 ,基于CodeSys的控制器,使用 Robotics的库,进行6轴垂直机械手仿真和控制。 2.1.1程序组织 2.1.2代码 2.1.2.1 pro文件 2.1.2.2 armgeometry.h 2.1.2.3 armgeometry.cpp 2.1.2.4 plccomm.h 2.1.2.5 plccomm.cpp 2.1.2.6 main.cpp 2.1.2.7 main.qml 2.2.1 程序组织 2.2.2 程序代码 2.2.2.1 KinGroup 2.2

    2024年02月08日
    浏览(68)
  • 水下机器人ROV和AUV

    水下机器人,也可以称为无人水下潜航器(Unmanned Underwater Vehicle,UUV),是在水下的极限环境中运行并能潜入水面替代人进行某种动作的可控机器结构。水下无人潜航器通常可分为三类:遥控水下机器人(ROV,Remotely Operated Vehicle)、载人水下航行器(HOV,Human-occupied Vehic

    2024年02月04日
    浏览(33)
  • 观察级水下机器人使用系列之四二维前视声纳

    本文主要讲观察级水下机器人Valor配套的二维前视声纳,它与超短基线定位、摄像头都是水下机器人导航的重要部件。二维声纳是Tritech公司生产的,型号为Gemini 720is。 ​编辑​ Gemini 720is主要技术参数见下表。 Gemini 720is通过一条蓝色的缆与机器人的电子舱USP9连接。 水下机器

    2024年02月14日
    浏览(39)
  • 机器人强化学习-双机械臂

    基于 robosuite 库,进行双臂机器人学习训练 下面展示下分别控制两个机械手随机运动的画面: 双臂显示场景如下:双臂调用代码如下: 值得注意的是,与单机械手控制相比,只需要将 action 改成 16维的就可以。 ps :对于单机器人控制, action 是7维的,但是在这里,两个机器

    2024年01月16日
    浏览(48)
  • 关于机器人机械臂参数辨识

    前几天在逛github发现一个dynamic identification的仓库,代码非常全。同时也看了对应的文章,虽然参数辨识不是文章最终目的,但是仍能感受到作者在参数辨识领域的了解程度和功底。这篇博客主要记录一下这几天学习该仓库的一些心得吧,对机器人参数辨识有兴趣的小伙伴欢迎

    2024年02月03日
    浏览(34)
  • 机械臂的动力学分析-工业机器人

    工业机器人动力学研究采用的方法有很多,例如拉格朗日法、牛顿-欧拉法、高斯法、凯恩法等,在此重点介绍牛顿-欧拉法和拉格朗日法。牛顿-欧拉法需要从运动学出发求得加速度,并计算各内作用力。对于较复杂的系统,此种分析方法十分复杂与麻烦。而拉格朗日法,只需

    2023年04月08日
    浏览(43)
  • 【机器人算法】机械臂动力学参数辨识仿真

    本文以puma560m机械臂为例子进行动力学参数辨识的讲解,puma560m可以在robotic toolbox中找到,这里以它真实机械臂对他的动力学参数进行辨识。 此外这里还有要说的是,机械臂参数辨识其实是一个系统工程,其中和机械、电子、嵌入式都有着很深的联系,并不是仿真这么简单的

    2024年02月05日
    浏览(96)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包