主要内容

获取机械手碰撞检测的碰撞数据

本例展示了获取a的三种方法rigidBodyTree用碰撞数据建模。要查看检查自碰撞或环境碰撞检测的更深入示例,请参阅其他示例:

URDF进口

许多机器人都带有在统一机器人定义格式(URDF)文件中指定的碰撞网格或原语。

KUKA®IIWA机器人配备了一套碰撞网格,这是视觉网格的简化版本。调用importrobot函数生成rigidBodyTree对象从URDF文件。将配置的输出格式设置为“列”

iwa = importrobot(“iiwa14.urdf”);iiwa。DataFormat =“列”

目视检查机器人碰撞网格。

显示(iiwa“视觉效果”“关闭”“碰撞”“上”);

{

在指定的配置中检查自碰撞

指定具有自碰撞的配置。的checkCollision函数指示机器人在特定配置下是否与自身发生碰撞。可视化配置。

Config = [0 -pi/4 PI 0.9* PI 0 -pi/2 0]';checkCollision (iiwa配置,“SkippedSelfCollisions”“父”
ans =逻辑1
显示(iiwa配置,“视觉效果”“关闭”“碰撞”“上”);

{

负载提供模型

机器人系统工具箱™提供常用的机器人模型和使用loadrobot函数。

kukaIiwa14 =装载机器人“kukaIiwa14”“DataFormat”“列”);checkCollision (kukaIiwa14配置,“SkippedSelfCollisions”“父”
ans =逻辑1
Config = [0 -pi/4 PI 0.9* PI 0 -pi/2 0]';

可视化机器人与碰撞网格可见。

显示(kukaIiwa14配置,“视觉效果”“关闭”“碰撞”“上”);

{


               

添加单独的碰撞对象

addCollision功能使您能够添加碰撞对象的任何刚体在机器人基本形状(盒、球体、缸)。你可以用这些碰撞几何图形构建整个机器人,但这通常不如高保真网格定义准确。

对于本例,请注意加载的IIWA机器人模型缺少一个夹持器。元素中添加一个由碰撞原语组成的夹持器iiwa_link_ee身体在机器人上。

addCollision (iiwa。身体{}结束,“气缸”[0.06, 0.05]) addCollision (iiwa。身体{}结束,“盒子”(0.02, 0.02, 0.15), trvec2tform ([0.03, 0, 0.05])) addCollision (iiwa。身体{}结束,“盒子”(0.02, 0.02, 0.15), trvec2tform ([-0.03, 0, 0.05]))

想象机器人。注意,夹持器是附加的。

显示(iiwa“视觉效果”“关闭”“碰撞”“上”);

{