RobotMovement 机器人运动控制工具

RobotMovement 算子为机器人运动控制工具,用于控制机器人移动。

type 功能
MoveJoint 通过 joint 移动机器人。
MoveJointList 通过 joint_list 移动机器人。
MoveTCP 通过 TCP 移动机器人。
MoveTCPList 通过 TCP_List 移动机器人。
StopMotion 停止机器人。
SetRobotIO 设置机器人 IO 端口信号。
WaitRobotIO 在设置时间内,等待机器人 IO 端口信号进行判断输出。

MoveJoint

将 RobotMovement 算子的 类型 属性选择 MoveJoint ,通过 joint 移动机器人。

算子参数

  • 机器人资源名称/robot_resource_name:机器人资源名。选择在Resource Group 中添加的机器人资源。

  • 关节/joint:机器人移动的关节值。

  • 显示目标机器人/show_targe_trobot:目标机器人的可视化。

    • 是/Ture:显示目标机器人。

    • 否/Flase:不显示目标机器人。

  • 速度/velocity:机器人移动的速度。默认值:1。单位:m/s。

  • 加速/acceleration:机器人移动的加速度。默认值:1。单位:m/s²。

  • 线性运动/move_linear:机器人移动方式。

    • 是/True:机器人直线移动。

    • 否/False:机器人正常移动。

数据信号输入输出

输入:

  • joint

    • 数据类型:JointArray

    • 输出内容:机器人关节弧度值数据

输出:

  • joint

    • 数据类型:JointArray

    • 输入内容:机器人关节弧度值数据 joint 数据

功能演示

使用 RobotMovement 中 MoveJoint ,通过 joint 的方式将机器人轴1 移动至 90°。

步骤1:算子准备

  1. 添加 SimulatedRobotResource 资源算子至 Resource Group 。

  2. 添加 Trigger 、RobotMovement 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → icon_more→ 选择 robot 文件名 ( example_data/UR5/UR5.rob )

    • 机器人 → icon_visOn 可视

  2. 设置 RobotMovement 算子参数:

    • 机器人资源名称 → SimulatedRobotResource

    • 类型 → MoveJoint

    • 关节 → 1.5708 0 0 0 0 0

步骤3:连接算子

Robot_RobotMovement_Movejoint_Nodes

步骤4:运行

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

运行结果

  1. 结果如下图所示,左侧为 SimulatedRobotResource 算子 robot 可视化初始状态。右侧为 joint1 旋转 1.5708 后的结果。

  2. 鼠标左键双击 3D 视图中的机器人,弹出机器人面板,将机器人基坐标和机器人 TCP 勾选 True 。

    Robot_RobotMovement_Movejoint_result

  3. 在机器人面板中查看此时机器人关节轴 1 为 90° 。

    Robot_RobotMovement_MoveJoint_robotpannel

MoveJointList

将 RobotMovement 算子的 类型 属性选择 MoveJointList ,通过 joint_list 的方式移动机器人。

算子参数

  • 机器人资源名称/robot_resource_name:机器人资源名。选择在Resource Group 中添加的机器人资源。

  • 显示目标机器人/show_targe_trobot:目标机器人的可视化。

    • 是/Ture:显示目标机器人。

    • 否/Flase:不显示目标机器人。

  • 速度/velocity:机器人移动的速度。默认值:1。单位:m/s。

  • 加速/acceleration:机器人移动的加速度。默认值:2。单位:m/s²。

  • 线性运行/move_linear:机器人移动方式。

    • 是/True:机器人直线移动。

    • 是/False:机器人正常移动。

数据信号输入输出

输入:

  • joint_list

    • 数据类型:JointArrayList

    • 输出内容:机器人关节弧度值列表数据

功能演示

使用 RobotMovement 中 MoveJointList ,通过 joint_list 的方式移动机器人。

步骤1:算子准备

  1. 添加 SimulatedRobotResource 资源算子至 Resource Group 。

  2. 添加 Trigger 、RobotOperator ( 3 个)、Concatenate、RobotMovement 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → icon_more→ 选择 robot 文件名 ( example_data/UR5/UR5.rob )

    • 机器人 → icon_visOn 可视

  2. 设置 RobotOperator 算子参数:

    • 算子名称 → RobotOperator1

    • 类型 → EmitJoint

    • 关节 → 1.5708 0 0 0 0 0

  3. 设置 RobotOperator_1 算子参数:

    • 算子名称 → RobotOperator2

    • 类型 → EmitJoint

    • 关节 → 1.5708 -1.5708 0 0 0 0

  4. 设置 RobotOperator_2 算子参数:

    • 算子名称 → RobotOperator3

    • 类型 → EmitJoint

    • 关节 → 1.5708 -1.5708 1.5708 0 0 0

  5. 设置 Concatenate 算子参数:

    • 类型 → JointArray

    • 输入数量 → 3

  6. 设置 RobotMovement 算子参数:

    • 机器人资源名称 → SimulatedRobotResource

    • 类型 → MoveJointList

步骤3:连接算子

Robot_RobotMovement_MoveJointList_nodes

步骤4:运行

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

运行结果

  1. 在机器人运动过程中,会根据 Concatenate 算子的输出结果 joints_list 的索引分别移动。

  2. 最终结果如下图所示,左侧为 SimulatedRobotResource 算子 robot 可视化初始状态。右侧为移动最后一组 RobotOperator3 机器人关节弧度值结果。

  3. 鼠标左键双击 3D 视图中的机器人,弹出机器人面板,将机器人基坐标和机器人 TCP 勾选 True 。

    Robot_RobotMovement_MoveJointList_result

  4. 在机器人面板中查看此时机器人关节轴 1 : 90°,轴2:-90°,轴3:90° 。该值为最后 RobotOperator3 算子中生成的关节值弧度值。

    Robot_RobotMovement_MoveJointList_result1

MoveTCP

将 RobotMovement 算子的 类型 属性选择 MoveTCP ,通过 TCP 移动机器人。

算子参数

  • 机器人资源名称/robot_resource_name:机器人资源名。选择在 Resource Group 中添加的机器人资源。

  • tcp:机器人末端坐标。

  • 显示目标机器人/show_targe_trobot:目标机器人的可视化。

    • 是/Ture:显示目标机器人。

    • 否/Flase:不显示目标机器人。

  • 速度/velocity:机器人移动的速度。默认值:1。单位:m/s。

  • 加速/acceleration:机器人移动的加速度。默认值:1。单位:m/s²。

  • 线性运动/move_linear:机器人移动方式。

    • 是/True:机器人直线移动。

    • 否/False:机器人正常移动。

数据信号输入输出

输入:

  • goal_pose

    • 数据类型:Pose

    • 输出内容:pose 数据

  • ref_joint

    • 数据类型:JointArray

    • 输出内容:机器人关节弧度值数据

输出:

  • ik_solution_joint

    • 数据类型:JointArray

    • 输出内容:机器人关节弧度值数据

功能演示

使用 RobotMovement 中 MoveTCP ,通过 TCP 的方式移动机器人。

步骤1:算子准备

  1. 添加 SimulatedRobotResource 资源算子至 Resource Group

  2. 添加 Trigger 、Emit、RobotOperator、RobotMovement 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → icon_more→ 选择 robot 文件名 ( example_data/UR5/UR5.rob )

    • 机器人 → icon_visOn 可视

  2. 设置 RobotMovement 算子参数:

    • 机器人资源名称 → SimulatedRobotResource

    • 类型 → MoveTCP

  3. 设置 Emit 算子参数:

    • 类型 → Pose

    • 坐标 → 0.10158 -0.5167 0.39675 -3.11585 0.02054 3.00946

  4. 设置 RobotOperator 算子参数:

    • 机器人资源名称 → SimulatedRobotResource

    • 类型 → EmitJoint

    • 关节 → 1.57 -1.57 0 0 0 0

步骤3:连接算子

Robot_RobotMovement_MoveTCP_Nodes

步骤4:运行

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

运行结果

  1. 如下图所示,在 3D 视图中显示当前加载机器人 RobotMovement 后的结果 。

  2. 鼠标左键双击3D视图中的机器人,弹出机器人面板,将机器人基坐标和机器人 TCP 设为 True 。

    Robot_RobotMovement_MoveTCP_Result1

  3. SimulatedRobot 面板中显示机器人当前机器人 TCP 值 和 关节轴值。

    Robot_RobotMovement_MoveTCP_Result2

MoveTCPList

将 RobotMovement 算子的 类型 属性选择 MoveTCPList ,通过 TCP_List 移动机器人。

算子参数

  • 机器人资源名称/robot_resource_name:机器人资源名。选择在Resource Group 中添加的机器人资源。

  • 显示目标机器人/show_targe_trobot:目标机器人的可视化。

    • 是/Ture:显示目标机器人。

    • 否/Flase:不显示目标机器人。

  • 速度/velocity:机器人移动的速度。默认值:1。单位:m/s。

  • 加速/acceleration:机器人移动的加速度。默认值:2。单位:m/s²。

  • 线性运行/move_linear:机器人移动方式。

    • 是/True:机器人直线移动。

    • 是/False:机器人正常移动。

数据信号输入输出

输入:

  • goal_pose_list

    • 数据类型:PoseList

    • 输出内容:pose 列表数据

    • ref_joint

      • 数据类型:JointArray

      • 输出内容:机器人关节弧度值数据

输出:

  • ik_solution_joint_list

    • 数据类型:JointArrayLlist

    • 输出内容:机器人关节弧度值列表数据

功能演示

使用 RobotMovement 中 MoveJointList ,通过 TCP_List 的方式移动机器人。

步骤1:算子准备

  1. 添加 SimulatedRobotResource 资源算子至 Resource Group 。

  2. 添加 Trigger 、Emit ( 3 个)、Concatenate、RobotMovement 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → icon_more→ 选择 robot 文件名 ( example_data/UR5/UR5.rob )

    • 机器人 → icon_visOn 可视

  2. 设置 Emit 算子参数:

    • 算子名称 → Emit1

    • 类型 → Pose

    • 坐标 → 0.490600 -0.109290 0.438640 0.055850 -3.139850 1.570700

  3. 设置 Emit_1 算子参数:

    • 算子名称 → Emit2

    • 类型 → Pose

    • 坐标 → 0.490600 -0.286290 0.438640 0.055850 -3.139850 1.570700

  4. 设置 Emit_2 算子参数:

    • 算子名称 → Emit3

    • 类型 → Pose

    • 坐标 → 0.490600 -0.286290 0.196640 0.055850 -3.139850 1.570700

  5. 设置 Concatenate 算子参数:

    • 类型 → Pose

    • 输入数量 → 3

  6. 设置 RobotMovement 算子参数:

    • 机器人资源名称 → SimulatedRobotResource

    • 类型 → MoveTCPList

步骤3:连接算子

Robot_RobotMovement_MoveTCPList_nodes

步骤4:运行

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

运行结果

  1. 在机器人运动过程中,会根据 Concatenate 算子的输出结果POSE_list 的结果分别进行机器人移动。

  2. 鼠标左键双击 3D 视图中的机器人,弹出机器人面板,将机器人基坐标和机器人 TCP 勾选 True 。

    Robot_RobotMovement_MoveTCPList_result

StopMotion

将 RobotMovement 算子的 类型 属性选择 StopMotion ,用于停止机器人。

算子参数

机器人资源名称/robot_resource_name:机器人资源名。选择在 Resource Group 中添加的机器人资源。

功能演示

使用 RobotMovement 中 StopMotion ,控制机器人停止。

步骤1:算子准备

  1. 添加 SimulatedRobotResource 资源算子至 Resource Group 。

  2. 添加 Trigger 、RobotMovement 算子至算子图。

步骤2:设置算子参数

  1. 设置 SimulatedRobotResource 算子参数:

    • 自动启动 → 是

    • 机器人模型文件 → icon_more→ 选择 robot 文件名 ( example_data/UR5/UR5.rob )

    • 机器人 → icon_visOn 可视

  2. 设置 RobotMovement 算子参数:

    • 机器人资源名称 → SimulatedRobotResource

    • 类型 → StopMotion

步骤3:连接算子

Robot_RobotMovement_StopMotion_Nodes

步骤4:运行

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

运行结果

  1. 如下图所示,触发该算子后,机器人停止运动。

    Robot_RobotMovement_StopMotion_Rsult1

  2. 如下图所示,3D 视图中机器人处于停止状态。

    Robot_RobotMovement_StopMotion_Rsult2

SetRobotIO

将 RobotMovement 算子的 类型 属性选择 SetRobotIO ,设置 RVS 主动控制机器人的 IO 端口信号。

算子参数

机器人资源名称/robot_resource_name:机器人资源名。选择在 Resource Group 中添加的机器人资源。

功能演示

使用 RobotMovement 中 SetRobotIO ,设置 RVS 主动控制机器人(elite 机器人)的 IO 端口信号。

步骤1:算子准备

  1. 添加 EliteRobotsResource 资源算子至 Resource Group 。

  2. 添加 Trigger 、RobotMovement 算子至算子图。

步骤2:设置算子参数

  1. 设置 EliteRobotsResource 算子参数:

    • 机器人模型文件 → icon_more→ 选择 robot 文件名 ( example_data/EC66/EC66.rob )

    • 机器人 → icon_visOn 可视

  2. 设置 RobotMovement 算子参数:

    • 机器人资源名称 → EliteRobotsResource

    • 类型 → SetRobotIO

    • IO值 → 是

步骤3:连接算子

Robot_RobotMovement_SetIO_nodes

步骤4:运行

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

运行结果

  1. 如下图所示,触发该算子后, elite 机器人 IO 信号的数字输出端口 0 置为 1 。

    Robot_RobotMovement_SetIO_results