我是来自24级计算机科学与技术3班的马浚哲,我本次的实习是围绕自动驾驶展开的。自动驾驶的“实战演习”本次实习的核心任务是基于 PIX 自动驾驶底盘,利用 ROS (Robot Operating System) 与 Apollo 系统实现自动寻迹。这不仅是一次简单的代码编写,更是一场从软件算法到硬件控制的深度协同。
由于我使用的是 Mac 设备,其架构与 Apollo 系统存在兼容性冲突。为了规避潜在的硬件风险,我通过 Parallels Desktop 搭建虚拟机环境,为后续开发扫清障碍。
为了提升团队效率,我提前一周预研了 Linux 核心命令(Git、管道、Tmux、SSH 等),并利用 NumPy 实现了多视图几何中四元数与不同坐标系的统一转换。此外,我整理了 IPC(工控机)、双目相机及激光雷达的 ROS 教程,将资源与总结文档同步给组成员,确保团队在同一技术水平线上起跑。
1.椭圆路线轨迹规划: 最初我尝试用微积分推导极坐标下椭圆与角度的关系公式,但在 ROS 的工程实现中,核心在于对速度与角度的实时闭环控制。这让我深刻意识到,纯数学推导与解决实际工程问题之间存在微妙的鸿沟。
2.多机协作(V字编队跟随): 实现三只乌龟的编队飞行,关键在于为两只从属“乌龟”建立独立的动态参考系。这对于刚接触 ROS 坐标变换的我来说颇具挑战,经过反复调试,最终成功打通了代码逻辑。
在实习期间,我经历了多次虚拟机崩溃后的系统重装,这锻炼了我的系统维护能力。更重要的是,实车调试与电脑敲键盘完全不同:硬件运行存在概率性的 Bug 和各种不可预知的环境干扰。
每一行代码的下发都必须谨慎小心,以防系统错误或安全事故。这种对硬件的敬畏之心,是工程思维的重要一课。