CS现场会议
Background
在2020年夏季,我在科罗拉多矿业学院的计算机科学本科课程中选修了CSCI370或“高级软件工程”。CSCI370是一门让学生为公司设计、实现和记录软件相关解决方案的课程。它使学生能够将课程知识应用于真实世界的计算机科学问题。您可以在此处了解更多关于该课程的信息。
在课程中,您可以决定要参与的项目/公司。课程提供了详细说明每个项目和公司的PDF。最终,我决定参与一家名为Lunar Outpost的公司发布的项目,名为Real Time Wheel Slip Detection and Error Corrections for Enhanced Lunar Navigation。由于名称过长,我们给该项目起了一个别名“轮胎打滑检测”。
Problem
Lunar Outpost是一家致力于创建自主月球车的初创公司。在月球上,有大量的月尘已知会导致严重的轮胎打滑。这并不理想,因为轮胎打滑会导致自主系统失去对真实世界位置的追踪。在地球上,这通过使用GPS数据来校正因轮胎打滑导致的任何偏差来解决。但GPS的问题在于,它只能通过让30+颗导航卫星持续绕地球轨道运行并发送独特信号,使计算机能够计算其位置来工作。而在月球上,目前没有类似GPS的系统。鉴于此,必须使用除GPS之外的其他方法来检测轮胎打滑。项目问题的更详细报告可在此处查看。
Teammates
这个项目并非简单项目,因此必须以团队形式完成。团队由五名科罗拉多矿业学院的学生组成:
- Mehmet Yilmaz(我)
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
该项目要求我们了解一些ROS、C++、Python、Linux、Raspberry Pi和Arduino。我们大多数人在这些技术中至少有一种经验,但我是在ROS方面唯一有经验的人,因为我在2020年春季学期的“以人为本的机器人技术”(CSC470)课程中使用过ROS。正因为如此,我在项目初期帮助所有人快速了解ROS以及如何为其开发。
Challenges
在这个项目中遇到了许多挑战。但我们面临的最大挑战是没有真实机器人可供测试。这是由于COVID导致一切远程进行,且我们无法进入Lunar Outpost的实验室/建筑物。因此,我们只能使用仿真。
此外,我们还查阅了WVU Navigation Lab的一些学术研究,以了解如何为Lunar Outpost的使用场景解决轮胎打滑问题。对我们这些本科二年级和三年级学生来说,这比预期更困难。
我们面临的另一个挑战是可用于该项目的时间。CSCI370是一门为期一个月的课程。但该问题本身是一个巨大的难题,许多公司和学术界已经尝试解决和完善了数十年。因此,一个月的时间远远不足以解决此问题。不过,尽管面临所有这些挑战,我们仍坚持下来并确保交付。
Conclusion
在这篇文章中,我本想更详细地阐述我们的解决方案,并提供一个正式的结论,说明我们发现了什么以及最终结果。但遗憾的是,我和我的团队成员都签署了保密协议(NDA),这阻止我们分享任何关于该项目的机密信息。上述提供的所有信息都是公开的,可在互联网上获取。
在这个项目中,我们真正学会了如何使用ROS以及使用ROS和Gazebo创建仿真。我们也对轮胎打滑检测的研究领域有了更深入的了解,并有幸与WVU Navigation Lab的一些学者/研究人员会面。
了解了所有这些,我必须说,这个项目让我在团队中担任了领导角色,充当教育者帮助我的同伴更好地理解ROS,并为我提供了更多ROS、Gazebo和Python的经验。它还让我认识到轮胎打滑这一问题——在参与该项目之前我并未意识到。总体而言,我感激Lunar Outpost在繁忙的日程中,尤其是在COVID期间,抽出时间让我们参与此项目。我也感谢拥有如此努力工作的优秀团队成员。