目录

SG2002 网球捡球机器人全栈优化

项目简介

本仓库用于整理中国研究生操作系统开源创新大赛初赛阶段的技术成果。其中使用的捡网球机器人基于 LicheeRV Nano(SG2002)开发板、StarryOS、USB 摄像头、麦克纳姆轮底盘和三关节机械臂构建。

本阶段工作覆盖环境部署、用户态程序优化和内核能力补充三个层次:

  1. 搭建 LicheeRV Nano 开发与运行环境,采用单卡双系统方案启动 Linux 和 StarryOS。
  2. 复现并优化 AKARS 基线程序,解决摄像头、UART 引脚复用和机械臂通信等问题,并将固定旋转抓取流程重构为基于视觉反馈的目标偏移对准流程。
  3. 为后续内核性能优化构建 eBPF 用户态追踪程序,补充 StarryOS 的 kprobe/uretprobe 相关能力,并完善串口日志与网络诊断功能。

技术报告

建议按以下顺序阅读:

  1. SG2002 LicheeRV Nano 环境搭建记录
    介绍 Linux 镜像烧录、StarryOS 构建、SD 卡分区,以及通过 U-Boot 实现单卡双系统启动的过程。

  2. 网球捡球机器人 AKARS 程序优化技术报告
    记录 AKARS 基线程序的复现、摄像头采集路径适配、底盘与机械臂 UART 引脚复用,以及抓取对准算法优化。

  3. StarryOS eBPF &串口优化技术报告
    介绍 eBPF 用户态性能追踪方案、kprobe-local 的 RISC-V 适配、uretprobe 能力补充、日志与诊断工具,以及当前 PIE 地址转换问题和后续验证方案。

仓库内容

仓库计划包含以下内容:

内容 形式 说明
演示视频 mp4 akars用户态程序优化后运行效果展示
三篇技术成果报告 Markdown 文档 记录环境搭建、用户态优化和内核 eBPF 工作
AKARS 源码仓库 Git 子模块 保存机器人用户态程序及算法优化代码
ebpf 源码仓库 Git 子模块 保存 ebpf 程序代码
初赛演示材料 PowerPoint 用于展示初赛阶段的技术方案与成果
参赛承诺书 jpg 保存比赛要求的参赛承诺材料

源码仓库与当前仓库均属于同一gitlink用户,可在用户代码仓库中找到

当前进展

  • 已完成 SG2002 + LicheeRV Nano + StarryOS 环境搭建。
  • 已完成 AKARS 基线程序复现、硬件通信问题修复和抓取对准算法优化。
  • 已完成 eBPF 追踪程序原型及 kprobe/uretprobe 底层适配的主体工作。
  • 已完成 串口bug导致没有内核日志输出问题的修复(上游pr fix(someboot): register runtime write callback before claim_runtime_output -#1705,因有其他贡献者给出重构方式的解决方案,没有合入)。

运行说明

  • akars程序可直接使用基线build脚本编译,执行命令为 ./akars tennis.cvimodel –camera /dev/cvi-usb-camera0 –motor /dev/ttyS1 –arm /dev/ttyS2
  • ebpf程序的构建方式见ebpf技术报告第七节

说明

报告中的命令、设备名和文件路径来自比赛期间的实际开发环境。在其他主机或开发板环境中复现时,请根据本地磁盘设备、工具链路径和仓库位置进行调整。

关于
47.7 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号