# libfranka报错unable to set realtime scheduling: Oper。

> 原文链接：https://robotics.hellobike.com/pitfalls/2024-09-26-libfranka-77
> 频道：pitfalls | 更新日期：2024-09-26 | 标签：auto, github-issue, libfranka
> 核心摘要：运行libfranka示例或ROS节点时报实时调度权限错误，需正确配置limits.conf中的rtprio等参数或使用kIgnore模式绕过。

# libfranka报错unable to set realtime scheduling: Oper。

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[libfranka: unable to set realtime scheduling: Operation not permitted](https://github.com/frankarobotics/libfranka/issues/77)（GitHub frankaemika/libfranka #77）

**状态**：已解决

## 问题

在Ubuntu 18.04及RT内核（如4.14.12_rt10、5.4.102-rt53）下运行Franka控制器或libfranka示例时，报错“libfranka: unable to set realtime scheduling: Operation not permitted”。即使已安装RT内核、通过rt-test验证、确认用户在realtime组且网络抖动正常，该错误仍会在启动控制程序时触发，导致无法设置实时调度优先级。

## 环境

Franka FR3机器人；Ubuntu 18.04；Linux RT内核4.14.12_rt10或5.4.102-rt53；libfranka库；Intel i9-9900K/i7-8650U CPU。

## 解决办法

1. 使用 `sudo` 编辑 `/etc/security/limits.conf` 或 `/etc/security/limits.d/realtime.conf`，确保包含以下未被注释的配置行：`@realtime soft rtprio 99`、`@realtime hard rtprio 99`、`@realtime soft priority 99`、`@realtime hard priority 99`、`@realtime soft memlock 102400`、`@realtime hard memlock 102400`。
2. 保存文件后注销并重新登录，或重启系统使配置生效。
3. 若无需严格实时性能（如调试或在Kernel &gt;= 6.14等新系统上），可在代码初始化 `franka::Robot` 时传入 `RealtimeConfig::kIgnore` 参数以跳过实时调度检查。
4. 验证权限是否生效可尝试直接运行 `sudo ./examples/gen…

讨论原作者：@YinjieLin 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub frankaemika/libfranka #77：libfranka: unable to set realtime scheduling: Operation not permitted](https://github.com/frankarobotics/libfranka/issues/77)