CollisionObjectOperator 障碍物操控
CollisionObjectOperator 算子作用是根据场景资源对障碍物进行操控。
| 类型 | 功能 |
|---|---|
| 添加场景点云 | 将点云添加为障碍物场景点云 |
| 更新物品 | 更新障碍物坐标 |
| 保存物品 | 保存障碍物 |
添加场景点云
CollisionObjectOperator 类型选择添加场景点云,用于将点云添加为障碍物场景点云。
算子参数
场景资源/sceneresource:指定包含场景点云数据的资源名。采样规模/sampling_size:指定点云数据的采样规模,用于控制点云的密度。粘连高度/dilate_height:指定点云数据的粘连高度,用于处理点云中的噪声或不连续部分。
数据信号输入输出
输入:
点云:数据类型:PointCloud
输出内容:点云
功能演示
使用 CollisionObjectOperator 类型选择添加场景点云,将点云添加至避撞场景中。
步骤1:算子准备
添加 SimulatedRobotResource 、SceneResource 、Trigger、Load、CollisionObjectOperator 算子至算子图。
步骤2:设置算子参数
设置 SimulatedRobotResource 算子参数:
自动启动 → 是
机器人模型文件 → example_data/robot_data/Aubo/AUBO-i5/AUBO-i5.rob
设置 SceneResource 算子参数:
自动启动 → 是
启用避撞 → 是
障碍物 →
可视
设置 Load 算子参数:
类型 → 点云
文件 → pipe_binpick/data/20230829150707171/cloud.pcd
设置 CollisionObjectOperator 算子参数:类型 → 添加场景点云
步骤3:连接算子

步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,将加载点云添加为避撞场景点云。

更新物品
CollisionObjectOperator 类型选择更新物品,用于更新避撞物品位置。
算子参数
场景资源/sceneresource:指定包含场景点云数据的资源名。品类名/type_name:障碍物品类名。类型/type:更新物品。
数据信号输入输出
输入:
坐标:数据类型:Pose
输出内容:坐标
功能演示
使用 CollisionObjectOperator 类型选择更新物品,更新障碍物坐标。
步骤1:算子准备
添加 SimulatedRobotResource 、SceneResource 、Trigger、Load、CollisionObjectOperator 算子至算子图。
步骤2:设置算子参数
设置 SimulatedRobotResource 算子参数:
自动启动 → 是
机器人模型文件 → example_data/robot_data/Aubo/AUBO-i5/AUBO-i5.rob
设置 SceneResource 算子参数:
自动启动 → 是
启用避撞 → 是
障碍物 →
可视障碍物文件夹 → scene_files/collisionObjects
设置 Emit 算子参数:
类型 → 坐标
坐标 → 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
设置 CollisionObjectOperator 算子参数:
品类名 → 料框
类型 →更新物品
步骤3:连接算子

步骤4:运行
点击 RVS 运行按钮,机器人仿真控制资源和场景资源自动启动。
运行结果
显示如下图所示:

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

保存物品
CollisionObjectOperator 类型选择更新物品,用于保存障碍物。
算子参数
场景资源/sceneresource:指定包含场景点云数据的资源名。品类名/type_name:障碍物品类名。类型/type:保存物品。文件路径/file_path:保存障碍物文件名。
功能演示
使用 CollisionObjectOperator 类型选择保存物品,保存障碍物点云。
步骤1:算子准备
添加 SimulatedRobotResource 、SceneResource 、Trigger、Load、CollisionObjectOperator(2个)算子至算子图。
步骤2:设置算子参数
设置 SimulatedRobotResource 算子参数:
自动启动 → 是
机器人模型文件 → example_data/robot_data/Aubo/AUBO-i5/AUBO-i5.rob
设置 SceneResource 算子参数:
自动启动 → 是
启用避撞 → 是
障碍物 →
可视障碍物文件夹 → scene_files/collisionObjects
设置 Emit 算子参数:
类型 → 坐标
坐标 → 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
设置 CollisionObjectOperator 算子参数:
品类名 → desktop
类型 →更新物品
设置 CollisionObjectOperator 算子参数:
品类名 → desktop
类型 →保存物品
文件路径 → scene_files/collisionObjects/desktop1.cube.txt
步骤3:连接算子

步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,将更新的障碍物进行保存。
