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');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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)