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');
posted @   狂小虎  阅读(117)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示