MATLAB - 加载预定义的机器人模型

发布时间:2024年01月17日

系列文章目录


前言


一、

要快速访问常见的机器人模型,可使用 loadrobot 功能,该功能可加载市售的机器人模型,如 Universal Robots? UR10 cobot、Boston Dynamics? Atlas 人形机器人和 KINOVA? Gen 3 机械手。探索如何生成关节配置并与机器人模型交互。

要导入自己的通用机器人描述格式(URDF),请参阅 importrobot 功能。

以字符串形式向 loadrobot 函数指定机器人模型类型。利用制表符完成从提供的模型列表中选择输入。

若要使用列向量进行关节配置,请将数据格式指定为 "列"。

ur10 = loadrobot("universalUR10");
atlas = loadrobot("atlas");
gen3 = loadrobot("kinovaGen3","DataFormat","column");

loadrobot 函数返回一个刚体树(rigidBodyTree)对象,该对象表示每个机器人模型的运动学和动力学。某些模型可能没有加载刚体的动力学或惯性属性。请使用 Bodies 属性或 getBody 函数检查各个刚体。

disp(gen3);
  rigidBodyTree with properties:

     NumBodies: 8
        Bodies: {[1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]}
          Base: [1x1 rigidBody]
     BodyNames: {'Shoulder_Link'  'HalfArm1_Link'  'HalfArm2_Link'  'ForeArm_Link'  'Wrist1_Link'  'Wrist2_Link'  'Bracelet_Link'  'EndEffector_Link'}
      BaseName: 'base_link'
       Gravity: [0 0 0]
    DataFormat: 'column'

调用 show 可视化主配置中的机器人模型。用其他模型替换 gen3 对象,使其可视化。

show(gen3);

show(atlas);

show(ur10);

?

二、生成关节配置

为 KINOVA Gen3 机器人生成随机配置。随机配置(randomConfiguration)函数可在模型限制范围内输出随机关节位置。为验证模型是否符合预期,可视化一组四种配置。

for i = 1:4
    subplot(2,2,i)
    config = randomConfiguration(gen3);
    show(gen3,config);
end

三、与机器人模型互动

要移动机器人模型并检查其行为,可加载交互式刚体树图形用户界面。您可以设置末端执行器的目标位置,手动移动关节,并选择模型中的各种元素。?

interactiveGUI = interactiveRigidBodyTree(gen3);

单击并拖动中心圆盘可自由移动目标末端执行器的位置。图形用户界面使用逆运动学求解每个肢体的关节位置。使用轴线进行线性移动,使用圆圈绕轴旋转。?

点击刚体可查看其具体参数。

右键单击可设置不同的目标标记体。更改目标体可更新逆运动学求解器的末端执行器。

要手动控制关节,请右击并切换标记控制方法。?

?

要控制所选肢体上一个旋进关节的旋转,请单击并拖动黄色圆圈。?

四、保存关节配置

保存使用 addConfiguration 函数设置的特定配置,该函数会将当前关节位置存储在 StoredConfigurations 属性中。本示例在存储前设置了一个随机配置。?

interactiveGUI.Configuration = randomConfiguration(gen3);

addConfiguration(interactiveGUI)
disp(interactiveGUI.StoredConfigurations)
   -0.4218
   -1.6647
    1.3419
   -2.0818
    1.8179
   -0.4140
   -1.4517

五、下一步

现在您已经在 MATLAB? 中建立了模型,您可能想要做许多不同的事情。

  • 执行逆运动学,根据所需的末端执行器位置获得关节配置。指定模型参数以外的其他机器人约束条件,包括瞄准约束条件、笛卡尔边界或姿势目标。
  • 利用梯形速度曲线、B-样条曲线或多项式轨迹,根据航点和其他参数生成轨迹。
  • 利用机器人模型和快速探索随机树 (RRT) 路径规划器执行机械手规划。
  • 检查与环境中障碍物的碰撞检测,确保机器人安全有效地运动。
文章来源:https://blog.csdn.net/weixin_46300916/article/details/135591595
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。