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 的 yaw、pitch、roll 参数依次旋转。参数一般设置为 π/2 的整数倍,若不等于 π/2 的整数倍则默认调整到最接近的 nπ/2。

    • reference_pose:将箱子的 pose 调整到最接近参数 adjust_pose 的姿态上。

  • 调整坐标/adjust_pose:设置调整的姿态。只参照 roll、pitch、yaw 的值,x、y、z 的值忽略。

  • 立方体/cube:设置 cube 在 3D 视图中的可视化属性。

    • icon_visOn 打开立方体可视化。

    • icon_visOff 关闭立方体可视化。

    • icon_color 设置立方体的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity 设置立方体的透明度。取值范围:[0,1] 。默认值:0.5 。

  • 坐标/pose:设置 pose 在 3D 视图中的可视化属性。

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

    • icon_size 设置 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:设置算子参数

  1. 设置 Emit 算子参数:

    • 算子名称 → EmitCube

    • 类型 → Cube

    • 坐标→ 0.5 0.5 0 0.6 0.8 1.2

    • 宽度→ 0.5

    • 高度→ 0.3

    • 深度 → 0.01

    • 立方体 → icon_visOn 可视

  2. 设置 AdjustBox 算子参数:

    • 选择箱子 → all_boxes

    • 调整模式 → transform_pose

    • 调整坐标 → 0 0 0 0 0 1.5708

    • 立方体 → icon_visOn 可视

    • 坐标 → icon_visOn 可视

步骤3:连接算子

Box_unstack_AdjustBox_Nodes

步骤4:运行

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

运行结果

  1. 打开 EmitCube 算子的 立方体坐标 可视化属性值。3D 视图显示如下:

    Box_unstack_AdjustBox_Result1

  2. 关闭 EmitCube 算子的 立方体坐标 可视化属性值。

  3. 打开 AdjustBox 算子的 立方体坐标 可视化。在 3D 视图中显示 AdjustBox 算子的结果。调整后的箱子 pose 由原姿态绕 z 轴旋转 90° 。

    Box_unstack_AdjustBox_Result2