AdjustBox 调整箱子姿态
AdjustBox 算子用于调整箱子 cube 的姿态 pose,在保持箱子位置不变的前提下,将箱子的姿态 pose 调整到便于机械臂抓取。
算子参数
选择箱子/select_box
:将满足所选条件的箱子进行调整,不满足所选条件的箱子保持不变。all_boxes:调整所有的箱子。
square_boxes:只调整正方形箱子,即 width 和 height 相差小于5%的箱子。
width > height:只调整 width > height 的箱子,即 x 轴对应的边长 > y 轴对应的边长。
height > width:只调整 height > width 的箱子,即 y 轴对应的边长 > x 轴对应的边长。
width > depth:只调整 width > depth 的箱子,即 x 轴对应的边长 > z 轴对应的边长。
depth > width:只调整 depth > width 的箱子,即 z 轴对应的边长 > x 轴对应的边长。
height > depth:只调整 height > depth 的箱子,即 y 轴对应的边长 > z 轴对应的边长。
depth > height:只调整 depth > height 的箱子,即 z 轴对应的边长 > y 轴对应的边长。
调整模式/adjust_mode
:选择调整的方式。transform_pose:以箱子的 pose 为基准,根据 adjust_pose 的 rx、ry、rz 参数依次旋转。参数一般设置为 π/2 的整数倍,若不等于 π/2 的整数倍则默认调整到最接近的 nπ/2。
reference_pose:将箱子的 pose 调整到最接近参数 adjust_pose 的姿态上。
调整坐标/adjust_pose
:设置调整的姿态。只参照 rx、ry、rz 的值,x、y、z 的值忽略。立方体/cube
:设置 cube 在 3D 视图中的可视化属性。打开立方体可视化。
关闭立方体可视化。
设置立方体的颜色。取值范围:[-2,360] 。默认值:-2 。
设置立方体的透明度。取值范围:[0,1] 。默认值:0.5 。
坐标/pose
:设置 pose 在 3D 视图中的可视化属性。打开 pose 可视化。
关闭 pose 可视化。
设置 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
立方体列表/cube_list
:设置 cube 列表在 3D 视图中的可视化属性。参数值描述与立方体
一致。坐标列表/pose_list
:设置 pose 列表在 3D 视图中的可视化属性。参数值描述与坐标
一致。
数据信号输入输出
输入:
cube
:数据类型:Cube
输入内容:立方体数据
cube_list
:数据类型:CubeList
输入内容:立方体列表数据
输出:
cube
:数据类型:Cube
输出内容:调整后的箱子
pose
:数据类型:Pose
输出内容:调整后箱子的姿态
cubelist
:数据类型:CubeList
输出内容:调整后的箱子列表
poselist
:数据类型:PoseList
输出内容:调整后箱子的姿态列表
功能演示
使用 AdjustBox 算子调整箱子的姿态。
步骤1:算子准备
添加 Trigger 、Emit 、AdjustBox 算子至算子图。
步骤2:设置算子参数
设置 Emit 算子参数:
算子名称 → EmitCube
类型 → Cube
坐标→ 0.5 0.5 0 0.6 0.8 1.2
宽度→ 0.5
高度→ 0.3
深度 → 0.01
立方体 →
可视
设置 AdjustBox 算子参数:
选择箱子 → all_boxes
调整模式 → transform_pose
调整坐标 → 0 0 0 0 0 1.5708
立方体 →
可视
坐标 →
可视
步骤3:连接算子
步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
打开 EmitCube 算子的
立方体
和坐标
可视化属性值。3D 视图显示如下:关闭 EmitCube 算子的
立方体
和坐标
可视化属性值。打开 AdjustBox 算子的
立方体
和坐标
可视化。在 3D 视图中显示 AdjustBox 算子的结果。调整后的箱子 pose 由原姿态绕 z 轴旋转 90° 。