loadrobot()有什么用

摘要

最新小虎利用MATLAB学习robotics,发现了这个loadrobot。其实就是载入机器人的关节、杆长等机械机构,方便我们进行运动学的控制学习。

loadrobot使用细节

loadrobot的Syntax有三种形式。

robotRBT = loadrobot(robotname)
[robotRBT,metaData] = loadrobot(robotname)
[robotRBT,metaData] = loadrobot(robotname,Name,Value)
  • robotname(模型名)可以是默认的模型,当然也可以是自己建的模。
  • Name有’DateFormat’(只能选‘row’或者‘column’)和Gravity(重力)。一般重力竖直向下,与z轴方向相反,所以用[0 0 -9.81]表示重力的影响。
robot = loadrobot('kinovaGen3','DataFormat','row','Gravity',[0 0 -9.81]);
  • robotRBT输出的是一个刚体树rigidBodyTree。

在这里插入图片描述

  • metaData输出量则包含了模型名、模型路径以及模型的来源等等信息。
    在这里插入图片描述

示例——机械臂避障夹取

结果

在这里插入图片描述

部分代码

读取kinovaGen3机械臂,并且利用homeConfiguration()读取机械臂配置。

robot = loadrobot('kinovaGen3','DataFormat','row','Gravity',[0 0 -9.81]);
currentRobotJConfig = homeConfiguration(robot);%机器人关节配置

任务初始化用到模型。

taskInit = getTransform(robot,jointInit,endEffector);%初始

运动模型也用到了机械臂模型。

tsMotionModel = taskSpaceMotionModel('RigidBodyTree',robot,'EndEffectorName','EndEffector_Link');

仿真显示用到了机械臂模型。

show(robot,currentRobotJConfig,'PreservePlot',false,'Frames','off');
发布了91 篇原创文章 · 获赞 84 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Davidietop/article/details/105431944