7.3 KiB
7.3 KiB
赛题题目:基于openvela的新平台适配与AI Agent智能应用开发(社区赛题)
赛题说明;
操作系统移植是嵌⼊式开发的基本功,而将AI Agent(智能体)部署到资源受限的嵌入式设备上,代表了 AIoT 领域的前沿方向。本赛题将两者结合——参赛者首先将 openvela 移植到一款新的开发板,再在该平台上利用openvela内置的AI Agent框架开发具有实际应用价值的智能助手。 openvela是小米开源的嵌⼊式实时操作系统(基于Apache NuttX),已支持 ARM Cortex-M/A/R、 RISC-V、Xtensa 等多种处理器架构。openvela内置了完整的AI Agent框架,支持多种LLM后端(DeepSeek、Kimi、通义千问、GLM、MiMo、Claude、OpenAI 等)、ReAct自主推理循环、MCP协议、多通道接⼊(CLI/飞书/微信/MQTT/WebSocket/语音)、跨设备协作(OpenClaw Node)和 Markdown 可扩展Skills系统。 本赛题综合考察参赛者的OS移植能力、驱动开发能力和AI应用开发能力,鼓励参赛者通过丰富的硬件外设驱动为AI Agent赋予更多感知和控制物理世界的能力。
赛题要求;
本赛题分为两个阶段:
- 第一阶段:openvela平台适配(基础必做) openvela基于NuttX内核,NuttX上游已支持数十款开发板的基础BSP。但openvela在NuttX之上构建了大量独有的上层框架(AI Agent、多媒体、蓝牙、uORB 消息总线等),这些框架在多数NuttX 开发板上从未被适配和验证。因此,本赛题的平台适配不是简单地搬运NuttX BSP,而是要在目标平台上打通openvela的上层能力栈。 参赛者可选择以下两条路径之一:
- 路径 A(全新平台移植,高分路径):选择一款NuttX上游尚未支持的芯⽚/开发板,从零完成 BSP 开发。
- 路径 B(已有平台深度适配,可行路径):选择一款NuttX已支持基础BSP的开发板,但必须完成openvela独有的框架适配,且必须新增NuttX上游不存在的外设驱动。仅搬运已有BSP不做新增工作的,视为未完成本阶段。 无论选择哪条路径,均须完成:
- 系统启动:openvela内核启动,串口控制台可用,NSH Shell 可交互,GPIO/定时器正常。
- 网络连接:WiFi或以太网驱动可用,TCP/IP + TLS正常,设备能访问外网(AI Agent依赖网络调用LLM API)。
- openvela独有组件适配(至少 2 项):AI Agent框架、多媒体框架、LVGL图形框架、uORB消息总线、蓝牙框架等。
- 新增外设驱动(至少1项 NuttX上游不存在的驱动):如新型号传感器、新 LCD 控制器、新⾳频 Codec、摄像头模组等。
- 通过openvela官方准入测试集:准入测试集将由赛题组统一发布,届时请关注赛题交流群通知。
- BSP代码规范:包含Kconfig、defconfig、链接脚本,提供完整的移植指南文档。
- 第二阶段:AI Agent智能应用开发(进阶必做) 在第一阶段移植完成的新平台上,基于openvela AI Agent框架开发智能助手应用。
- 在新平台上成功运行AI Agent框架,配置至少一个LLM后端并完成对话测试。
- 开发至少2个自定义Skill(Markdown 格式),结合新平台的硬件能力。
- 开发至少1个自定义Tool(C 语言),与新平台的硬件外设交互,注册到Agent工具系统。
- 在新平台实际硬件上完整演示Agent接收指令→自主推理→调用硬件工具→返回结果的闭环,至少包含一次多步推理(调用2个以上工具协作完成任务)。
场景示例(供参考,不限于此):
- 智能手表健康助手:用户说"我今天运动量怎么样",Agent调用get_steps获取步数、get_heartrate获取心率,综合分析后给出运动建议。参赛者需编写传感器驱动和health coach.md Skill。
- 语音点歌音箱:用户说"播放一首周杰伦的歌",Agent通过 ASR 识别语音,调用music_search搜索、music_play播放、TTS回复。参赛者需适配麦克风和音频输出驱动。
- IoT家居管家:用户在飞书群发"帮我开灯开空调",Agent通过飞书Bot通道接收,调用自定义MQTT 控制Tool联动家居设备。
- 摄像头视觉问答:用户说"看看桌上是什么",Agent调用 camera_capture拍照、analyze_image发给Vision LLM分析。参赛者需适配摄像头V4L2驱动。
鼓励完成的扩展任务(加分项):
- 语音交互:接⼊ASR/TTS实现语音对话
- MCP Server:开发MCP协议工具服务端
- 多设备协作:利用OpenClaw Node协议实现跨设备工具互调
- LVGL聊天 UI:在LCD屏幕上开发聊天界面
- 向openvela社区提交PR并被合入
评分细则:
-
第一阶段:平台适配(40 分)
评分项 分值 评分标准 系统启动与稳定性 10分 内核启动、NSH 可用、长时间运行不崩溃。路径A满分10分,路径B 上限5分 网络连接 5分 WiFi/以太网可用、TLS 正常、能调用LLM API openvela 框架适配 10分 AI Agent/多媒体/LVGL/uORB/蓝牙等独有组件适配,至少完成2项 新增外设驱动 10分 NuttX 上游不存在的新驱动,至少 1项,按外设复杂度和对Agent的价值累计 BSP规范与文档 5分 代码结构、Kconfig、defconfig、移植指南完整性。路径A额外+5分全新平台奖励 -
第二阶段:AI Agent 应用(45 分)
评分项 分值 评分标准 Agent运行与基础对话 10分 Agent在新平台上启动正常、LLM 调用正确 Skill与 Tool质量 15分 数量、创意、与硬件的结合度、实际实用性 端到端场景演示 10分 多步推理、硬件工具联动、用户体验 应用创新性 10分 场景选择的新颖性、解决实际问题的程度 -
综合评价(15 分)
评分项 分值 评分标准 代码与文档质量 5分 代码规范、注释、文档完整性 扩展功能 5分 语音/视觉/UI/多设备/MCP 等加分项 社区贡献 5分 向openvela提交BSP或 Skill/Tool的PR并被合⼊
总分100分。所有参赛代码必须以Apache License 2.0协议上传至 openvela开源社区,并通过官方准入测试集,否则不参与评审。
赛题联系人:
参考资料:
- openvela 源码:https://github.com/open-vela (Gitee: https://gitee.com/open-vela , GitCode: https://gitcode.com/open-vela)
- openvela 官网:https://openvela.com/
- openvela 文档站:https://doc.openvela.com
- openvela 视频教学:https://www.bilibili.com/video/BV19PsAzCEuy
- NuttX移植指南:https://nuttx.apache.org/docs/latest/guides/porting.html
- 现有BSP参考:源码仓nuttx/boards/ 目录
- AI Agent文档:源码仓packages/ai_agent/docs/ 目录(含架构说明、工具列表、Skills 系统、CLI 命令参考、接⼊通道说明) 参赛资源支持:
- 开发环境:openvela提供QEMU goldfish模拟器,可用于前期开发和调试。最终演示需在参赛者自选的实际硬件上进行。
- LLM API Key:参赛者需自行申请LLM后端的API Key。
- 技术支持:openvela官方技术交流群,GitHub Issues。