使用示例程序进行验证

运行一些示例程序来验证一切正常。

运行示例 C++ 程序

  1. 按照 使用已安装的库 编译示例 C++ 程序。

  2. 释放( 向上 )控制手柄上的急停按钮。机器人将不会执行任何操作,因为必须调用启用方法才能实际启用机器人。

  3. 运行最基本的示例程序 basics1_display_robot_states,检查RDK连接是否可以建立,机器人是否正常运行。该示例程序将首先启用机器人,然后保持机器人位置不动,同时打印出所有接收到的机器人状态和动作。

    在 Linux 和 macOS 上:

    cd flexiv_rdk/example/build
    ./basics1_display_robot_states <robot-sn>
    

    在 Windows(命令提示符)上:

    cd flexiv_rdk\example\build
    set PATH=%USERPROFILE%\rdk_install\bin;%PATH%
    Release\basics1_display_robot_states.exe <robot-sn>
    

    在 Windows(bash 模拟器,例如 Git Bash)上,使用 bash 语法设置 PATH (注意使用 / 作为路径分隔符,使用 : 来分隔条目):

    cd flexiv_rdk/example/build
    export PATH="$USERPROFILE/rdk_install/bin:$PATH"
    ./Release/basics1_display_robot_states.exe <robot-sn>
    

备注

  • <robot-sn> 替换为机器人的实际序列号。传递给程序时,用破折号或下划线替换空格,例如 Enlight-L-123456

  • 在 Linux 和 macOS 上,依赖项的共享库在运行时通过烘焙到可执行文件中的 RPATH 自动找到。在不支持RPATH的Windows上,必须将安装目录下的 bin 文件夹添加到 PATH 中,以便找到共享库。

  • 如果程序中使用实时调度器 API flexiv::rdk::Scheduler ,则需要 root 权限。

  1. 机器人将启动并释放关节制动器,这将发出一些清脆的声音。几秒钟后,当启用过程完成并且机器人开始运行时,将从服务器获取机器人状态和动作数据并在终端中打印。输出摘录如下:

    {
    "timestamp": [1780607158, 88876616],
    "q": [0.000, -0.698, 0.000, 1.571, 0.000, 0.698, 0.000],
    "theta": [0.000, -0.698, 0.000, 1.571, 0.000, 0.698, 0.000],
    "dq": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "dtheta": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tau": [-0.000, 46.595, 1.089, -19.281, -2.042, 2.309, -0.000],
    "tau_dot": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tau_ext": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tau_interact": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "temperature": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "flange_pose": [0.687, -0.110, 0.287, -0.000, -0.000, 1.000, 0.000],
    "tcp_pose": [0.687, -0.110, 0.287, -0.000, -0.000, 1.000, 0.000],
    "tcp_twist": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tcp_wrench": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tcp_wrench_local": [-0.000, 0.000, 0.000, -0.000, 0.000, 0.000],
    "raw_tcp_wrench": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "raw_tcp_wrench_local": [-0.000, 0.000, 0.000, -0.000, 0.000, 0.000],
    "raw_ft_sensor": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000]
    }
    

    接下来是机器人动作数据:

    {
    "q_d": [0.000, -0.698, 0.000, 1.571, 0.000, 0.698, 0.000],
    "dq_d": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tau_d": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tcp_pose_d": [0.687, -0.110, 0.287, -0.000, -0.000, 1.000, 0.000],
    "tcp_twist_d": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000],
    "tcp_wrench_d": [0.000, 0.000, 0.000, 0.000, 0.000, 0.000]
    }
    
  2. 要关闭正在运行的示例程序,只需按 Ctrl+C

运行示例 Python 程序

运行示例 Python 程序与运行 C++ 示例程序类似,但不需要任何编译:

cd flexiv_rdk/example_py
python3 basics1_display_robot_states.py <robot-sn>

备注

python3 替换为 python3.x 以显式调用特定版本的 Python。