V-REP与MATLAB连接:力矩控制实现

        V-REP提供remote API函数,远程API允许从外部应用程序或远程硬件(例如真实机器人,远程计算机等)控制模拟(或模拟器本身)。

        意味着你不需要会V-REP内嵌Lua语言,只需Matlab,Python,C,C++等等其中的一种就可以用相应的remote API来进行对控制器的编程。

以Matlab为例,结合User Manual讲解如何实现。(学会根据官方手册解决问题很重要🤭)

1·把以下V-REP安装路径下的文件复制到Matlab路径文件夹中

2·在V-REP实体添加脚本

3·在添加脚本中输入the server side (i.e. V-REP)的远程API函数

远程API是server端(V-REP)与client端(这里是Matlab)通信的过程,所以用V-REP中的函数设置这些通信,不同版本的V-REP通信函数会略有区别,反正点开官方手册复制过来不会错就完事儿了😄

里面点击server side,对就是这个函数

写在添加的脚本上面,有效的API函数写上会变成红色,有些版本V-REP是simExtRemoteApi.start,看手册就知道自己的版本对应什么函数,别跟版本过不去🤭

4·在client端(Matlab)建立通信

从手册点到这里!

在这里面是所有Matlab的函数,写一个例子

:运用remote文件-设置clientID-设置时间步长-运用同步模式-仿真开始

我的m文件里截的😄

PS:client端用带Get的函数从server端获取信息,用带Set的函数向client端输入。

例:

从V-REP获取电机关节位置

把Matlab中算法计算的目标速度输入到V-REP中

重点:在控制问题中往往需要将力矩传到vrep中

并没有直接提供函数接口给力矩控制使用

(SetJointForce是设置提供的最大转矩而非实时转矩)

力矩控制电机速度:

在没有达到目标速度之前,输出力矩等于你设定的最大转矩。

力矩控制电机位置:

        还是这两个函数,但是我们需要把set_velocity设置成无穷大inf,并用条件改变速度的方向。这样永远达不到这个速度,输出力矩就会永远等于你设定的最大转矩,达到转矩控制的目的。

就像这样噢🤭

好了搞定啦😳

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空