使用示例程序进行验证
运行一些示例程序来验证一切正常。
运行示例 C++ 程序
按照 使用已安装的库 编译示例 C++ 程序。
释放( 向上 )控制手柄上的急停按钮。机器人将不会执行任何操作,因为必须调用启用方法才能实际启用机器人。
运行最基本的示例程序
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 权限。
机器人将启动并释放关节制动器,这将发出一些清脆的声音。几秒钟后,当启用过程完成并且机器人开始运行时,将从服务器获取机器人状态和动作数据并在终端中打印。输出摘录如下:
{ "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] }
要关闭正在运行的示例程序,只需按
Ctrl+C。
运行示例 Python 程序
运行示例 Python 程序与运行 C++ 示例程序类似,但不需要任何编译:
cd flexiv_rdk/example_py
python3 basics1_display_robot_states.py <robot-sn>
备注
将 python3 替换为 python3.x 以显式调用特定版本的 Python。