入门指南
Simulink
Franka MATLAB Toolbox 包含了一整套的 Simulink 和 MATLAB 示例。这些示例旨在帮助您了解工具箱的功能,并可以根据您的项目需求进行自定义。
要浏览可用的示例,请使用以下命令:
franka_toolbox_examples();

Franka MATLAB Toolbox 示例导航器

配备滑块作为 UI 元素用于控制末端执行器位置的笛卡尔阻抗控制示例
打开后,双击任意一个 simulink 模型,机器人设置将以对象 frs 的形式自动加载到工作区中。

Franka 机器人 设置对象
robot_ip 设置为 172.16.0.2。确保 robot_ip 以及所有其他参数符合您的设置,并符合您的预期用途。
frs.robot_ip = <your robot ip string>
您可以使用以下方式修改 FrankaRobotSettings 的默认设置:
edit FrankaRobotSettings.m
Simulink 求解器设置
Simulink 模型的求解器设置要求如下:
固定步长
离散(无连续状态)
具有固定步长(基本采样时间) 0.001。
Simulink 构建与部署 - 目标 PC: Franka AI Companion
对于构建和部署到 Franka AI Companion,您可以使用以下推荐的工作流程:
首先,在 Simulink 的 APPS 面板中点击 “Run on Hardware Board”,然后选择 “NVIDIA Jetson” 选项。

Run on Hardware Board - 选择 “NVIDIA Jetson”
重要
如果此选项不可见,请确保已安装 适用于 NVIDIA Jetson 和 NVIDIA DRIVE 平台的 MATLAB Coder 支持包。
在构建和运行模型之前,我们需要进行一些 “硬件设置”。

选择 “Hardware Settings”
选择 “NVIDIA Jetson” 硬件板。
设置与您在 Franka AI Companion 中运行的 Docker 实例对应的 设备地址、用户名 和 密码。

“板子参数”
建议选择 “C++11” 选项,以确保与适用于 NVIDIA Jetson 和 NVIDIA DRIVE 平台的 MATLAB Coder 支持包的兼容性。

选择 “C++11” 选项
重要
要设置当前目标 Docker 实例暴露的 ssh 服务器的特定端口,请执行以下 MATLAB 命令:
franka_ai_companion_port_switch(<desired port number>);
重要
如果您计划使用外部模式进行 “监控与调试” ,请确保您已应用下方章节中描述的设置 Simulink 外部模式(“监控与调试”) - 必要设置。
重要
执行之前,请确保机器人的刹车已松开,在 Desk 中激活 FCI 模式,并且机器人处于执行模式(用户按钮已释放)!
您现在可以点击“构建并部署” (Build & Deploy) 或“监控并调试” (Monitor & Tune) 以运行 Simulink 模型!
小心
机器人将要产生运动了!确保正在监控情况,并准备好在必要时采取行动!

“构建并部署” 或 “监控并调试” 以启用外部模式
Simulink 构建与部署 - 目标 PC: Linux 主机
重要
如果您计划将应用程序构建、运行并部署到 Linux 主机 PC,请确保已按照之前的安装页面描述安装 libfranka 和实时内核。
首先,我们从 Simulink 的 APPS 面板中选择 Run on custom hardware 应用程序。根据提示允许自动选择 grt.tlc 目标。

Simulink 应用程序 “Run on custom hardware”
在继续之前,请进行以下必要的模型检查:
在 “硬件实现” (Hardware Implementation) 下,设备供应商为 “Intel” 或 “AMD” ,设备类型为 “x86-64 (Linux 64)”。
代码接口打包 (Code interface packaging) 选项设置为 “Nonreusable function”。

Hardware Implementation - 设备供应商选择。

“Code interface packaging” 选项
重要
如果您计划使用外部模式进行 “监控与调试” ,请确保您已应用下方章节中描述的设置 Simulink 外部模式(“监控与调试”) - 必要设置。
重要
执行之前,请确保机器人的刹车已松开,在 Desk 中激活 FCI 模式,并且机器人处于执行模式(用户按钮已释放)!
然后,可以从 “Hardware” 选项卡中选择 Monitor & Tune (如果需要通过外部模式进行监控),或者选择 Build, Deploy & Start (仅执行应用程序而不进行监控)。

Hardware Simulink App.
小心
机器人将要产生运动了!确保正在监控情况,并准备好在必要时采取行动!
Simulink 外部模式(“监控与调试”) - 必要设置
如果您计划使用外部模式 (External Mode) 进行“监控与调试” (Monitor & Tuning),还需要应用以下设置:
勾选“在后台线程中运行外部模式” (Run external mode in a background thread)。
代码接口打包 (Code interface packaging) 为 “Nonreusable function”。
“MAT-file logging” 未勾选。

“Run external mode in a background thread” 是必需的,以确保 1kHz 循环不会被影响。

“Nonreusable function” 选项是构建外部模式时必需的。

“MAT-file logging” 应该未勾选,以便与外部模式一起构建。
MATLAB
演示:Pick & Place with RRT
为了熟悉 Franka 机器人在 Matlab 中的 API,pick_and_place_with_RRT.mlx 演示是一个很好的起点。

拾取与放置演示的实时 Matlab 脚本和图形
自动错误恢复
如果机器人遇到错误状态并转换到反射(recovery)模式,您可以通过执行 Matlab 中的自动错误恢复命令尝试恢复。
fr = FrankaRobot(<robot ip as string>);
fr.automatic_error_recovery();
如果命令失败并且机器人仍处于错误状态,请尝试使用引导模式手动将机器人恢复到有效配置。
提示
查看 Franka MATLAB 库,其中包含一系列辅助函数,它们有助于优化您的工作流程。