Experience / Internship

Experience

2026年7月15日至今,我在上海苦芽科技有限公司参加线上实习,工作内容以开源项目调研、环境搭建、实验验证和技术文档为主。实习期间整理了 ROS 2 激光 SLAM 和 Pixi RISC-V 支持验证两个公开项目。

上海苦芽科技有限公司

开源软件开发及维护 · 线上远程

负责仿真环境搭建、坐标变换和导航数据检查、仓库路线设计、地图与路径记录、实验验证及文档整理。两个项目的代码、实验记录和使用说明均已发布在 GitHub。

01 / ROS 2

ROS 2 激光 SLAM 调研与复现实验

大二期间,我在张莉老师课题组学习 SLAM,读完高翔《视觉 SLAM 十四讲》的基础章节,并在指导下编写过简单程序。

项目工作集中在 ROS 2 二维激光建图和导航流程的搭建与测试。实验环境为 WSL2 Ubuntu 24.04、ROS 2 Jazzy、Gazebo Harmonic、TurtleBot3、slam_toolbox 和 Nav2。

我先运行官方 TurtleBot3 仿真环境,检查 /scan、/odom、TF、/map 和导航 action 是否正常。之后搭建方形房间和仓库房间,编写导航目标脚本,记录地图、扫描数据、机器人路径和运行日志。

方形房间实验完成了 6 次导航,全部成功,自由空间覆盖率为 0.9291。覆盖率按机器人经过区域统计。

仓库房间的第一版路线完成 2/7 个导航目标。检查发现脚本混用了 world 坐标和 map 坐标。按照机器人初始位姿重新换算目标点后,第二版路线完成 10/10 个目标并保存地图。后续实验记录了 378 帧激光扫描;另一次原生采集运行约 464 秒,同样完成 10/10 个导航目标并保存地图。

实验条件:以上结果来自仿真环境。仓库保存了地图、路径、运行日志和激光扫描数据。

02 / RISC-V

Pixi RISC-V 支持验证与计算机视觉应用

这个项目在 QEMU 模拟的 RISC-V 64 位 Ubuntu 24.04 环境中测试 Pixi 0.73.0。我负责虚拟机配置、Pixi 安装验证、任务文件编写、计算机视觉示例、性能记录和实验报告。

Pixi 的 RISC-V 二进制文件可以直接安装,pixi init、pixi run、pixi info 和任务列表功能均可使用。conda-forge 当时缺少 linux-riscv64 的 Python、NumPy 和 OpenCV 软件包,因此项目依赖通过 APT 安装,Pixi 负责任务编排。

我用 pixi.toml 组织了数据预处理、训练、评估、光流、ONNX 推理和基准测试任务。其中,多阶段示例可以按照依赖关系依次执行预处理、SVM 训练和评估。

Lucas–Kanade 光流实验使用 120 帧、640×480 的合成视频,跟踪 12 个角点,平均每帧耗时 3.39 毫秒。ONNX 示例使用随机初始化的轻量 CNN,稳态推理中位数为 1.08 毫秒。两项实验用于验证算法和推理管线的运行情况。

验证项目记录结果说明
Lucas–Kanade 光流平均 3.39 ms/帧,约 279 FPS120 帧,640×480,12 个角点
ONNX CNN 推理稳态中位数 1.08 ms/张,约 880 张/秒20 次预热后测试,模型约 37 KB