入门指南

在为 LinuxWindows 设置所需的软件后,是时候连接到机器人并通过使用 FCI 读取当前机器人状态来测试整个设置。

操作机器人

在继续之前,这里有一些安全注意事项。在给机器人通电之前,请务必检查以下事项:

  1. 确保手臂已安装在稳定的底座上并且不会翻倒,即使在执行快速运动或突然停止时也不会翻倒。

警告

仅支持桌面安装,即手臂必须垂直于地面安装!其他安装将 使失去保修,并 可能导致机器人损坏

  1. 确保连接机械臂和控制器的电缆在两侧牢固连接。

  2. 将外部激活设备(灰色按钮)连接到机械臂的底座 X3 口并将其放置在身边,以便能够随时停止机器人。

提示

激活外部激活设备(即按下灰色按钮)将使机械臂脱离控制。关节电机控制器将保持其当前位置。 外部激活设备不是紧急停止装置!

这份清单并不详尽!机器人随附的手册中有一章专门介绍安全。请仔细阅读并按照说明进行操作。该手册也可以在我们的 Franka World Hub 中找到。

重要

使用 FCI 给机器人发送命令的工作站 PC 必须始终连接到控制器的 LAN 端口(shop floor network),而 不是 连接到机械臂(robot network)的 LAN 端口。

安装 FCI 特性

为了能够通过 Franka 控制接口(FCI)操作机器人,需要在设备上安装相应的 Feature。如果它已经安装到控制器上,它将在 DESK -> Settings -> System -> Installed Features 下列出。如果尚未安装 FCI,可以将其从 Franka World 帐户同步到控制器。因此,公司/学校帐户中必须有可用的 FCI 许可证,并且控制器必须在此帐户中注册。软件(离线/在线)同步过程在 Franka World 用户手册 中有更详细的描述。

设置网络

使用 FCI 控制机器人时,良好的网络性能至关重要。因此强烈建议在工作站 PC 和机器人控制器之间选择(网线)直接连接。本节将介绍如何为此例配置网络。

_images/control.png

通过 FCI 控制机器人时使用控制器的网口。不要连接到机械臂底座的网口。

控制器和工作站必须配置在同一网段上。实现这一目标的最简单方法是使用静态 IP 地址。同一网段上的任何两个地址都可以使用,但本教程将使用以下值:

工作站 PC

控制器

IP 地址

172.16.0.1

172.16.0.2

网络掩码

24

24

控制器的 IP 地址(172.16.0.2)在后面的章节中会被以 <fci-ip> 调用。

提示

使用此网络配置,可以通过 https://<fci-ip> 访问 Desk,尽管会在浏览器中看到证书警告。

配置过程包括两个步骤:

  • 配置控制器的网络设置。

  • 配置工作站的网络设置。

控制器网络配置

对于这一步,需要安装和测试机器人。 在继续下一步之前,请通读机器人随附的文档并按照设置说明进行操作!

控制器的网络可以在管理员界面中配置。在此步骤期间,可以通过机器人底座中的端口连接到机器人。有关详细信息,请参阅机器人随附的手册中的 连接用户接口设备 章节。

_images/accessing-admin.png

通过 Desk 访问管理员界面。

要设置静态地址,请在 Network 部分输入以下值:

_images/control-static-ip.png

为控制器的 LAN 端口(Shop Floor network)设置静态 IP。取消选择 DHCP 客户端选项。

按下 Apply。成功应用设置后,将工作站的网口连接到机器人的控制器。

Linux 工作站网络配置

本节介绍如何使用 GUI 在 Ubuntu 16.04 上设置静态 IP 地址。如果更喜欢使用命令行,请遵循官方 Ubuntu 指南

警告

以下步骤将修改网络设置。如有疑问,请联系网络管理员。

首先,打开网络连接(Network Connection)小控件。选择要使用的有线连接,然后单击编辑。

_images/edit-connections.png

在以太网部分编辑连接。

接下来,单击 IPv4 设置选项卡,将方法设置为手动,然后输入以下值:

_images/static-ip-ubuntu.png

为工作站 PC 设置静态 IP。方法设置为手动。

提示

此步骤将禁用 DHCP 服务,这意味着在连接到 DHCP 服务器时将不再获得地址,例如机械臂基座中的服务器。当不再使用 FCI 时,可以将方法更改回 Automatic (DHCP)

保存更改,然后关闭网络连接窗口。从下拉菜单中单击连接名称。现在应该可以从工作站连接到机器人。要验证这一点,请执行  网络带宽、延迟和抖动测试。从现在开始,还可以在浏览器中通过此地址访问 Desk。

Windows 工作站网络配置

在 Windows 工作站上设置静态 IP 地址。打开 控制面板 并转到 网络和 Internet > 网络和共享中心 > 更改适配器设置。右键单击网络适配器并打开 属性。使用与 Linux 工作站网络配置中相同的示例地址和网络掩码。

在 Desk 中为使用 FCI 的机器人做准备

为了验证连接,需要在 Desk 中解锁机器人的抱闸并释放激活装置(灰色按钮),以便机器人准备好执行蓝色 LED 模式(运行模式)指示的操作。

启用 FCI 模式

使用系统版本 >= 4.2.0 的机器人需要启用 FCI 模式。为此,打开 Desk,展开侧边栏中的菜单,然后点击 Activate FCI

_images/activate_fci.png

在 Desk 侧边栏菜单中启用 FCI 模式

Franka Emika Robot 的 FCI 模式

启用 FCI 模式后,会出现如下所示的弹窗。此弹出窗口表示 FCI 模式当前处于激活状态,并且处于激活状态时不允许 Desk 交互。在使用 FCI 时,此弹出窗口需要保持打开状态。有关单点控制 Single Point of Control (SPoC) 的更多信息,请参阅机器人随附的手册,该手册也可在我们的 Franka World Hub 中找到。

_images/pop_up_fci.png

启用 FCI 模式时的弹窗

Franka Research 3 的 FCI 模式

启用 FCI 模式后,侧边栏显示 FCI 已打开。

_images/fci-on.png

启用 FCI 模式时的侧边栏

验证连接

上一节描述了如何设定控制器 LAN 端口的 IP 地址。在后文中,该地址称为 <fci-ip>

为了验证一切设置是否正确,请确保 在 Desk 中为使用 FCI 的机器人做准备 。并从 libfranka 运行示例 echo_robot_state。如果决定从 ROS 存储库安装 franka_roslibfranka,可以改为阅读 在ros中可视化机器人 的说明 。

切换到构建目录 libfranka 并执行示例:

Linux:

./examples/echo_robot_state <fci-ip>

Windows:

cd /path/to/libfranka/build/examples/
echo_robot_state.exe <fci-ip>

提示

在执行 libfranka 程序之前,请确保可执行文件能够找到它们的运行时库。在 Windows 上,最简单的方法是将所需的库复制到与可执行文件相同的目录中。

该程序会将机器人的当前状态打印到控制台并在几次迭代后终止。在 libfranka API 文档 中解释了这些字段的含义。

示例输出:

{
  "O_T_EE": [0.998578,0.0328747,-0.0417381,0,0.0335224,-0.999317,0.0149157,0,-0.04122,-0.016294,
             -0.999017,0,0.305468,-0.00814133,0.483198,1],
  "O_T_EE_d": [0.998582,0.0329548,-0.041575,0,0.0336027,-0.999313,0.0149824,0,-0.0410535,
               -0.0163585,-0.999023,0,0.305444,-0.00810967,0.483251,1],
  "F_T_EE": [0.7071,-0.7071,0,0,0.7071,0.7071,0,0,0,0,1,0,0,0,0.1034,1],
  "EE_T_K": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],
  "m_ee": 0.73, "F_x_Cee": [-0.01,0,0.03], "I_ee": [0.001,0,0,0,0.0025,0,0,0,0.0017],
  "m_load": 0, "F_x_Cload": [0,0,0], "I_load": [0,0,0,0,0,0,0,0,0],
  "m_total": 0.73, "F_x_Ctotal": [-0.01,0,0.03], "I_total": [0.001,0,0,0,0.0025,0,0,0,0.0017],
  "elbow": [-0.0207622,-1], "elbow_d": [-0.0206678,-1],
  "tau_J": [-0.00359774,-5.08582,0.105732,21.8135,0.63253,2.18121,-0.0481953],
  "tau_J_d": [0,0,0,0,0,0,0],
  "dtau_J": [-54.0161,-18.9808,-64.6899,-64.2609,14.1561,28.5654,-11.1858],
  "q": [0.0167305,-0.762614,-0.0207622,-2.34352,-0.0305686,1.53975,0.753872],
  "dq": [0.00785939,0.00189343,0.00932415,0.0135431,-0.00220327,-0.00492024,0.00213604],
  "q_d": [0.0167347,-0.762775,-0.0206678,-2.34352,-0.0305677,1.53975,0.753862],
  "dq_d": [0,0,0,0,0,0,0],
  "joint_contact": [0,0,0,0,0,0,0], "cartesian_contact": [0,0,0,0,0,0],
  "joint_collision": [0,0,0,0,0,0,0], "cartesian_collision": [0,0,0,0,0,0],
  "tau_ext_hat_filtered": [0.00187271,-0.700316,0.386035,0.0914781,-0.117258,-0.00667777,
                           -0.0252562],
  "O_F_ext_hat_K": [-2.06065,0.45889,-0.150951,-0.482791,-1.39347,0.109695],
  "K_F_ext_hat_K": [-2.03638,-0.529916,0.228266,-0.275938,0.434583,0.0317351],
  "theta": [0.01673,-0.763341,-0.0207471,-2.34041,-0.0304783,1.54006,0.753865],
  "dtheta": [0,0,0,0,0,0,0],
  "current_errors": [], "last_motion_errors": [],
  "control_command_success_rate": 0, "robot_mode": "Idle", "time": 3781435
}

提示

如果此时出现错误,请执行 ping 测试 并确保机器人的故障保护安全锁止系统已打开。机器人随附的手册中提供了更多信息。