CS领域会议

CG_GUI_19

背景

在2020年夏天,我在科罗拉多矿业学院的计算机科学本科项目中选修了CSCI370或“高级软件工程”课程。CSCI370是一门让学生为公司设计、实施和文档化软件相关解决方案的课程。它使学生能够将他们的课程知识应用于现实世界的计算机科学问题。您可以在这里了解更多关于该课程的信息。

在课程中,您可以决定要做哪个项目/公司。课程提供了详细说明每个项目和公司的PDF文件。最终,我决定参与一家名为Lunar Outpost的公司发布的项目,项目名称为实时轮滑检测和增强月球导航的错误修正。由于名称较长,我们给这个项目起了个别名“轮滑检测”。

问题

Lunar Outpost是一家试图创建自主月球探测车的初创公司。在月球上,有很多已知会导致轮滑的月尘。这并不理想,因为轮滑可能导致自主系统失去对其现实世界位置的追踪。在地球上,这个问题通过使用GPS数据来纠正轮滑造成的任何偏移来解决。但GPS的问题在于,它只能通过30+颗导航卫星不断环绕地球轨道并传输独特信号来工作,这使计算机能够计算其位置。但在月球上,目前没有GPS。考虑到这一点,必须使用除GPS以外的其他方法来检测轮滑。有关项目问题的更详细报告可以在这里查看。

队友

这个项目并不是一个简单的项目,因此必须在团队中完成。团队由五名科罗拉多矿业学院的学生组成:

  • Mehmet Yilmaz
  • Kane Bruce
  • Braedon O’Callaghan
  • Liam Dempsey
  • Kevin Grant

该项目要求我们了解一些ROS、C++、Python、Linux、Raspberry Pi和Arduino。我们大多数人对这些技术中的一种或多种有经验,但我是在2020年春季学期的以人为本的机器人(CSC470)课程中使用ROS的唯一一个人。因此,早期我帮助大家了解ROS及其开发。

挑战

在这个项目中有很多挑战。但我们面临的最大挑战是没有真实机器人进行测试。这是由于COVID使一切变得远程,并阻止我们在Lunar Outpost的实验室/建筑中工作。因此,我们不得不使用模拟。

此外,我们还研究了一些来自WVU导航实验室的学术研究,以了解如何解决Lunar Outpost的轮滑问题。对于我们这些本科二年级和三年级的学生来说,这比我们预期的要困难得多。

我们面临的另一个挑战是我们在这个项目上工作的时间。CSCI370是一门为期一个月的课程。但问题本身是一个巨大的问题,许多公司和学术界已经尝试解决/完善了几十年。因此,一个月远远不够时间来解决这个问题。但尽管面临所有这些挑战,我们还是坚持下来了,并确保交付。

结论

在这篇文章中,我本希望能更详细地解释我们的解决方案。以及提供一个适当的结论,解释我们发现了什么以及最终结果。但遗憾的是,我和我的队友都签署了保密协议(NDA),这使我们无法分享关于这个项目的任何机密信息。我提供的所有信息都是公开的,可以从互联网上访问。

在这个项目中,我们真正学会了如何使用ROS并使用ROS和Gazebo创建模拟。我们还对轮滑检测的研究领域有了更好的理解。我们还荣幸地与一些来自WVU导航实验室的学者/研究人员会面。

知道这一切,我必须说这个项目让我在团队中担任了领导角色,作为教育者帮助我的同伴更好地理解ROS,并为我提供了更多关于ROS、Gazebo和Python的经验。它还让我接触到了轮滑问题,这是我在参与这个项目之前并不知晓的问题。总的来说,我很感激Lunar Outpost在他们繁忙的日程中,尤其是在COVID期间,抽出时间让我们参与这个项目。我也很感谢有出色的队友,他们在这个项目上付出了很多努力。