ChiPy Mentorship Program Blog Post #3

This is just the beginning!

Projects

From simple sequential models in Keras, to making a GTA car stay within the lanes (more often than not…), Python really did make me feel like “any sufficiently advanced technology is indistinguishable from magic.” I am still amazed at the fact that I can type in some code, and the computer just learns by itself. It has been easy to establish a habit of daily study when I find the subject both fun and fascinating.

My self-driving GTA car adventure was fun, but the novelty quickly wore off. I felt limited by the game because aside from changing the vehicle or adding mods, there was only so much I could do. I learned a lot, but some of the parts of getting everything set up were frustrating, and I felt ‘stuck’ working on it at home since my Windows machine is a desktop. Honestly, I feel like being stuck in the same room at home was the most demotivating part. I couldn’t even bring it over to my mentor’s house to work on it with him, and that was frustrating. I wanted to expand.

So I quickly jumped into the Raspberry Pi world, and ordered the Pi 3 B+ right after it came out on 3/14. The more tutorials I watched the quicker I realized that

  • I don’t remember much about circuits from High School
  • It is very easy to fry your Pi if you don’t know what you’re doing

So I got myself a second one just to learn and experiment (just in case…). About a dozen Amazon Prime packages later, and hours of installations, debugging, and breaking things, I have my chassis ready, my Pi set up, and my Python script waiting.

Next Steps

There are many tutorials online for self-driving in video games, but I am considering making videos on YouTube for installation, and walk-throughs for all the different variables you could bring into the game (vehicle, weather, mods, etc.). I am also Frankensteining my Pi car, and would like to include my process in case someone wants to follow my shuffled and occasionally tripping footsteps. If you have any comments or experiences you would like to share regarding posting on YouTube, please contact me!

Long-term, I want to learn more about embedded systems and ‘real’ self-driving cars. Working on my little Pi car over the next couple of weeks will be a good first step.

This opportunity has allowed me to set goals for myself I wouldn’t have set alone because I felt like I had a support structure. The mentorship program has also given me the confidence I needed to explore more. I feel so lucky.

Skills I Have Gained and/or Improved:

  • Python
  • Using Jupyter notebook and PyCharm
  • OpenCV, Keras, and Tensorflow
  • Command line on macOS, Linux, and Windows
  • Learning how to use Raspbian (based on Debian) for Raspberry Pi
  • Basic circuits using a breadboard and GPIO
  • How to be less clumsy (I broke the first base for my Pi car within the first 30 seconds of unwrapping it. I’m not joking.)

Between all three of my ChiPy mentorship blogposts, one thing hasn’t changed:

I am still so excited for what is to come. I love Python and have a newfound passion for robotics.

Valuable Resources:

  • ChiPy! The project nights were very helpful, and it was nice to learn about Python applications I wouldn’t normally use. I would absolutely recommend the mentorship program to anyone wanting to learn Python.
  • Zax’s Ultimate Python Learning Guide is a great resource to learning Python, no matter your skill level.
  • I really enjoyed Pluralsight, especially the Python: Getting Started and the Deep Learning with Keras courses. Pluralsight is a paid service, but you should be able to get a free trial if you are interested in trying it out.