自由驱动
直接从RDK调用
调用
Robot::ExecutePrimitive()执行FloatingCartesian元操作以在笛卡尔空间中自由驱动,或调用FloatingJoint以在关节空间中自由驱动。例如:# Python ... # Fetch all single-arm joint groups single_arm_groups = robot.info().single_arm_groups # Execute free drive primitive on all single-arm joint groups robot.ExecutePrimitive( { group: flexivrdk.PrimitiveArgs("FloatingCartesian", {}) for group in single_arm_groups } ) while robot.busy(): time.sleep(1) ...
小心
无论是否按下控制手柄上的启用按钮,都会立即激活自由驱动。您可以实现自己的代码,以便在 Robot::enabling_device_on() 上的条件检查的帮助下,仅在启用设备打开时激活自由驱动。
备注
FloatingCartesian 和 FloatingJoint 元操作都需要许可证。
从 Flexiv Elements 调用
连接示教器后,可以在手动或自动模式下调用自由驱动。
手动模式下的自由驱动
手动模式下机器人的移动速度受到限制,因此自由驱动感觉 沉重。调用:
将控制手柄上的 自动/手动滑动开关 切换到 下方 位置可退出自动(远程)模式并进入手动模式。
单击控制手柄上的 Freedrive On & Off 按钮。控制手柄上的 LED 会变成深蓝色,并且 Flexiv Elements 中会弹出一个用于控制自由驱动的窗口。
按照 Flexiv Elements 中的说明解锁笛卡尔轴或关节轴以进行自由驱动。
按住控制手柄上的 启用按钮 可激活自由驱动。
自动模式下的自由驱动
自动模式下机器人的移动速度不受限制,因此自由驱动感觉 轻盈。调用:
与上述步骤 1 相同,首先将机器人置于手动模式。
将 自动/手动滑动开关 推回到 上 位置,会弹出一个窗口,要求您选择进入哪种类型的自动模式,选择 自动。
与上述步骤 2 至 4 相同。