CS Field Session (Wheel Slippage Detection)
Background
During the Summer of 2020, I took CSCI370 or “Advanced Software Engineering” as part of my CS undergraduate program at the Colorado School of Mines. CSCI370 is a course that makes students design, implement, and document software-related solutions for a company. It allows students to apply their coursework knowledge to real world computer science problems. You can learn more about the course here.
In the course, you get to decide what project/company you will work on. The course provided PDFs detailing each project and company. Ultimately I decided to work on a project posted by a company called Lunar Outpost called “Real Time Wheel Slip Detection and Error Corrections for Enhanced Lunar Navigation”. Sense the name is long, lets give the project an alias of “Wheel Slippage Detection”.
Problem
Lunar Outpost is a startup trying to create autonomous lunar rovers. On the moon, there is a lot of lunar dust that is known for causing a lot of wheel slippage. This is not ideal because wheel slippage can cause autonomous systems to lose track of their real world location. On Earth, this is solved by using GPS data to correct for any offset caused by wheel slippage. But the issue with GPS is that it only works by having 30+ navigation satellites constantly circling the Earth in obit and transmitting unique signals that allows computers to calculate their position. But on the moon, there is currently no such thing as a GPS. Knowing this, another method other then GPS has to be used to detect wheel slippage. A more detailed report of the project’s problem can be viewed here.
Teammates
This project was not a simple project, so it had to be done in a team. The team consisted of five fellow Colorado School of Mines students:
- Mehmet Yilmaz (me)
- Kane Bruce
- Braedon O’Callaghan
- Liam Williams
- Kevin Grant
The project required us to know some ROS, C++, Python, Linux, Raspberry Pi, and Arduino. Most of us had experience in one or more of theses technologies but I was the only one with experience in ROS sense I used ROS in my Human Centered Robotics (CSC470) class during the Spring 2020 semester. Due to this, early on, I helped get everyone up to speed about ROS and how to develope for it.
Challenges
In this project there were a lot of challenges. But the biggest challenge we faced was not having access to a real world robot for testing. This was due to COVID making everything remote and preventing us from working in the Lunar Outpost’s lab/buildings. Due to this, we had to use simulations.
Also, we went though some academic research from the WVU Navigation Lab to get an idea of how the Wheel Slippage problem could get solved for Lunar Outpost’s use case. Which, for us, as undergraduate sophomores and juniors, was more difficult than we expected.
Another challenge we faced was the amount of time we had to work on this project. CSCI370 is a one month class. But the problem itself is a massive problem that many companies and academics having being trying to solve/perfect for decades. So one month is far from enough time to solve this issue. But, despite all these challenges we pushed though and made sure to deliver.
Conclusion
In this post, I would have loved to give a more detailed explication of our solutions. As well as provide a proper conclusion explaining what we discovered and the final results. But sadly, me and my teammates all signed Non-Disclosure Agreement (NDA) which prevents us from sharing anything confidential about this project. All the information I provided above is public and can be accessed from the internet.
During this project, we really learned how to use ROS and create simulations using ROS and Gazebo. We also gained a better understanding in the research field of wheel slippage detection. We also had the honor of meeting with some academics/researchers from the WVU Navigation Lab.
Knowing all of this, I must say that this project allowed me to take a leadership position in the team, serve as an educator to assist my peers in better understanding ROS, and provided me with more experience in ROS, Gazebo, and Python. It also exposed me to the issue of wheel slippage, a problem I wasn’t aware of until working on this project. Overall, I am grateful that Lunar Outpost took time out of their busy schedule, especially during COVID, to allow us to work on this project. I am also thankful to have had amazing teammates who worked really hard on this project.