主要内容

capsuleApproximation

刚体树与胶囊的近似碰撞几何

    描述

    capsuleApproximation对象的每个主体关联的碰撞几何形状近似rigidBodyTree物体通过在每个刚体上安装碰撞胶囊。通过该对象,您可以查询、修改和可视化刚体树中与刚体相关的碰撞胶囊。

    创建

    描述

    例子

    capapprox =胶囊近似(机器人创建胶囊近似capapprox输入刚体树的机器人

    输入参数

    全部展开

    刚体树机器人模型用胶囊近似,具体为rigidBodyTree对象。要使用提供的机器人模型,请参见loadrobot.要导入统一机器人描述格式(URDF)模型,请参见importrobot函数。

    属性

    全部展开

    胶囊近似刚体树机器人模型,存储为rigidBodyTree对象。

    对象的功能

    addCapsule 给刚体增加碰撞胶囊
    removeCapsule 从刚体上拆卸碰撞胶囊
    getCapsules 得到刚体碰撞胶囊
    显示 可视化刚体树的胶囊近似
    updateGeometry 更新刚体碰撞胶囊的几何形状
    updatePose 更新刚体碰撞胶囊的位姿

    例子

    全部折叠

    将一个机器人加载到工作区中并可视化它。

    机器人=装载机器人“universalUR16e”);显示(机器人);

    {

    创建一个机器人的胶囊近似,并可视化胶囊近似机器人模型。

    capsUR16 =胶囊逼近(机器人);显示(capsUR16 homeConfiguration(机器人));

    {

    将一个机器人加载到工作区中并可视化它。

    装载机器人(“abbIrb120”);显示(robotIRB);

    {

    创建一个机器人的胶囊近似,并可视化胶囊近似机器人模型。

    capsIRB = capsule逼近(robotIRB);图显示(capsIRB homeConfiguration (capsIRB.RigidBodyTree));

    {

    使用getCapsules函数,看看末端执行器,“tool0”,有任何碰撞胶囊。因为tool0只是一个框架,它没有碰撞网格近似为一个碰撞胶囊。

    capsulesTool = getCapsules(capsib,“tool0”
    capsulesTool = 1x0空单元格数组

    添加胶囊到tool0,在某个位置0.15沿着x-轴,半径为0.15长度为0

    addCapsule (capsIRB“tool0”,[0.15 0],trvec2tform([0.15 0 0])) show(capsIRB,homeConfiguration(capsIRB. rigidbodytree));

    {

    再次检查tool0是否有碰撞胶囊,并验证检测到的胶囊的属性。

    capsulesTool = getCapsules(capsib,“tool0”
    capsulesTool =1x1单元阵列{1 x1 collisionCapsule}
    capsulesTool {1}
    ans = collisionCapsule的属性:半径:0.1500长度:0姿势:[4x4双]

    从基本链接上移除胶囊。然后,减小碰撞胶囊的尺寸tool0,然后移动它-0.05距离之前的位置几米x设在。

    removeCapsule (capsIRB“base_link”1) updatePose (capsIRB“tool0”,trvec2tform([-0.05 0 0]),1) updateGeometry(capsIRB,“tool0”,(。1 0.01],1) show(capsIRB,homeConfiguration(capsIRB. rigidbodytree));

    {

    扩展功能

    C/ c++代码生成
    使用MATLAB®Coder™生成C和c++代码。

    版本历史

    在R2022b中引入

    Baidu
    map