MATLAB机器人工具箱使用

MATLAB机器人工具箱(一)

前言:

    在开始做机器人仿真之前,我了解了一系列机器人仿真软件(包括Matlab、Webots、Gazebo、V-rep、Adams、Simbad、Morse等)的适用场景、使用方法等资料,决定从最经典的Matlab入手,快速搭建机器人平台进行路径规划与控制。
    这里记录一下我的学习和使用过程,以及遇到的坑。我的版本是R2018a。


一、添加机器人工具箱——RTB工具箱:

方法一:
    1.下载rvctools文件包,放在一个自己知道的目录下(任意路径都是可以的,但是为了方便管理,一般都安装在toolbox),然后“设置路径”里面添加并保存。
在这里插入图片描述
    2.在命令中输入statrup_rvc,之后会看到机器人工具箱启动成功。
在这里插入图片描述
    3.最后在命令行中输入rtbdemo命令,会跳出一个操作界面。
在这里插入图片描述
    但是这么做也有一个问题,就是每次打开都要重新通过statrup_rvc命令运行rvctools文件包,目前还没找到好的解决方法,欢迎大家提点。
    如图所示:左边一列是通用函数的例子(如:旋转,平移,轨迹等);中间主要是机械臂的基础函数,可以快速构建一个机器人;右边为移动机器人的一些历程。大家可以自己试试看。

方法二:
    这里我看到别人直接下载RTB工具箱(注意版本号)并安装,然后输入rbtdemo命令运行,但我试了不太行,大家也可以试试看。
在这里插入图片描述


错误合集:

1.“错误使用 eval,未定义…”:

    在导入多体物理库时通过“设置路径”添加了toolbox里面的“Simscape-Multibody-Contact-Forces-Library-18.1.4.1”,结果就出现了如下错误:
在这里插入图片描述
    甚至有的人安装好Matlab以后,什么操作也不做,仅仅是将软件打开就会有这样的报错。

解决方法一:(很多人用这种方法奏效了)
    但对我来说似乎没什么用。

解决方法二:
    先把“设置路径”恢复成默认(之前设置的就没有了,不知道有没有更好的方法),把新的工具箱a解压到toolbox目录下,然后用addpath把toolbox的路径添加到matlab的搜索路径中,最后用which xxx.m来检验是否可以访问里面的xxx.m文件。如果能够显示新设置的路径,则表明报错解决,该工具箱可以使用了。示例如下:

>> addpath E:\MATLAB\R2018a\toolbox

%输入工具箱名称,此时一般会返回该工具箱的说明,也就是mathmodl 
>> help mathmodl路径下content.m中的内容
%在命令行中输入如下,此时会返回mathmodl路径下所有的文件
>> what mathmodl
%再到mathmodl中随便找一个不与Matlab中重名的函数,比如xxx.m,在命令行中输入
>> which xxx.m
E:\MATLAB\rvctools\xxx.m

2.Matlab启动过慢:

    这绝对是困扰我很久的一个问题,一度让我怀疑自己设备有问题(虽然确实慢)。
    如果你的matlab停留在“正在初始化…”这个界面长达几分钟甚至更久,试试下面的方法(据说是最近几代新版本的共性问题):
    启动慢的原因是软件查找授权文件时间太长,我们定位到license文件,找到license文件的绝对路径(我的就在一级安装文件下),删除这个文件license_server.lic(不同版本的名字是不一样的!大家试一下)。
    剩下的文件如图:
在这里插入图片描述
    然后速度瞬间提升了hhh。

3.Matlab启动的时候给出警告:

Warning: MATLAB Toolbox Path Cache is out of date and is not being used. Type 'help toolbox_path_cache' for more info.To get started, select MATLAB Help or Demos from the Help menu.

    这个问题式因为安装工具箱之后没有更新缓存,解决方法:
    File——>Preferences——>General——>选中enable toolbox path cache——>点击updata toolbox path cache

在这里插入图片描述


二、使用机器人工具箱创建双足机器人:

1.复现双足机器人:

    原博:JianRobSim
在这里插入图片描述

%% 主代码
%% 说明:我用了原博的代码腿的位置不对,troty(-pi/2)改成了troty(pi/2)对了
%% creat walking robot model
clear all
%leg length 
L1=0.15;L2=0.25;
%form a leg 
leg=SerialLink([0, 0, 0, pi/2; 0, 0, L1, 0; 0, 0, -L2, 0 ],...
    'name', 'leg', 'base', eye(4,4),'tool', ...
    troty(pi/2)*trotx(-pi/2)*trotz(-pi/2),'offset', [pi/2  0  -pi/2]);
%% diplay the leg 
%body wide and length
W = 0.2; L = 0.2;
%form a body
legs(1) = SerialLink(leg, 'name', 'leg1','base', transl(0, 0, -0.05)*trotz(pi/2));  %*trotz(pi/2)
legs(2) = SerialLink(leg, 'name', '.', 'base', transl(0, -W, -0.05)*trotz(pi/
  • 21
    点赞
  • 225
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值