CollisionObjectOperator 障碍物操控

CollisionObjectOperator 算子作用是根据场景资源对障碍物进行操控。

类型 功能
添加场景点云 将点云添加为障碍物场景点云
更新物品 更新障碍物坐标
保存物品 保存障碍物

添加场景点云

CollisionObjectOperator 类型选择添加场景点云,用于将点云添加为障碍物场景点云。

算子参数

  • 场景资源/sceneresource:指定包含场景点云数据的资源名。

  • 采样规模/sampling_size:指定点云数据的采样规模,用于控制点云的密度。

  • 粘连高度/dilate_height:指定点云数据的粘连高度,用于处理点云中的噪声或不连续部分。

数据信号输入输出

输入:

  • 点云 :

    • 数据类型:PointCloud

    • 输出内容:点云

功能演示

使用 CollisionObjectOperator 类型选择添加场景点云,将点云添加至避撞场景中。

功能演示仅仅展示添加场景点云结果,实际使用场景请参考深框抓取案例。

步骤1:算子准备

添加 SimulatedRobotResource 、SceneResource 、Trigger、Load、CollisionObjectOperator 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → example_data/robot_data/Aubo/AUBO-i5/AUBO-i5.rob

  2. 设置 SceneResource 算子参数:

    • 自动启动 → 是

    • 启用避撞 → 是

      • 障碍物 → icon_visOn可视

  3. 设置 Load 算子参数:

    • 类型 → 点云

    • 文件 → pipe_binpick/data/20230829150707171/cloud.pcd

  4. 设置 CollisionObjectOperator 算子参数:类型 → 添加场景点云

步骤3:连接算子

image-20241107155844588

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,将加载点云添加为避撞场景点云。

image-20241107160146290

更新物品

CollisionObjectOperator 类型选择更新物品,用于更新避撞物品位置。

算子参数

  • 场景资源/sceneresource:指定包含场景点云数据的资源名。

  • 品类名/type_name:障碍物品类名。

  • 类型/type:更新物品。

数据信号输入输出

输入:

  • 坐标 :

    • 数据类型:Pose

    • 输出内容:坐标

功能演示

使用 CollisionObjectOperator 类型选择更新物品,更新障碍物坐标。

功能演示仅仅展示更新物品结果,实际使用场景请参考深框抓取案例。

步骤1:算子准备

添加 SimulatedRobotResource 、SceneResource 、Trigger、Load、CollisionObjectOperator 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → example_data/robot_data/Aubo/AUBO-i5/AUBO-i5.rob

  2. 设置 SceneResource 算子参数:

    • 自动启动 → 是

    • 启用避撞 → 是

      • 障碍物 → icon_visOn可视

      • 障碍物文件夹 → scene_files/collisionObjects

  3. 设置 Emit 算子参数:

    • 类型 → 坐标

    • 坐标 → 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000

  4. 设置 CollisionObjectOperator 算子参数:

    • 品类名 → 料框

    • 类型 →更新物品

步骤3:连接算子

image-20241107170727385

步骤4:运行

点击 RVS 运行按钮,机器人仿真控制资源和场景资源自动启动。

运行结果

  1. 显示如下图所示:

    image-20241107171320037

  2. 触发 Trigger 算子,调整料框位置,结果如下图所示:

    image-20241107171636011

保存物品

CollisionObjectOperator 类型选择更新物品,用于保存障碍物。

算子参数

  • 场景资源/sceneresource:指定包含场景点云数据的资源名。

  • 品类名/type_name:障碍物品类名。

  • 类型/type:保存物品。

  • 文件路径/file_path:保存障碍物文件名。

功能演示

使用 CollisionObjectOperator 类型选择保存物品,保存障碍物点云。

功能演示仅仅展示保存物品结果,实际使用场景请参考深框抓取案例。

步骤1:算子准备

添加 SimulatedRobotResource 、SceneResource 、Trigger、Load、CollisionObjectOperator(2个)算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → example_data/robot_data/Aubo/AUBO-i5/AUBO-i5.rob

  2. 设置 SceneResource 算子参数:

    • 自动启动 → 是

    • 启用避撞 → 是

      • 障碍物 → icon_visOn可视

      • 障碍物文件夹 → scene_files/collisionObjects

  3. 设置 Emit 算子参数:

    • 类型 → 坐标

    • 坐标 → 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000

  4. 设置 CollisionObjectOperator 算子参数:

    • 品类名 → desktop

    • 类型 →更新物品

  5. 设置 CollisionObjectOperator 算子参数:

    • 品类名 → desktop

    • 类型 →保存物品

    • 文件路径 → scene_files/collisionObjects/desktop1.cube.txt

步骤3:连接算子

image-20241107174131093

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,将更新的障碍物进行保存。

image-20241107175033713