DaLocalhost
  • Home
  • Project Blog
  • Travel Blog
  • Bigger Projects
  • Resume
  • Home
  • Project Blog
  • Travel Blog
  • Bigger Projects
  • Resume

Turtlebot

What is it?

This was really two separate projects that I combined into one page. They are my two finals for CSC630. The topics were Big Data and Machine Learning. I was pegged as a competent robotics guy in the computer science classroom, so I was assigned to the robotics group for both. One was a 'goalie' that tracked and intercepted a green, vex ball. The other was an inverted pendulum balancer.

What was the process?

I struggled to learn how to use the Turtlebot at first. It is a system of publishers and subscribers, and that's about all the documentation said. We dug around and figured it out eventually, but the problem came back when we needed to adjust some more advanced features. We had to dig through the original code.

What did I learn?

  • How to read other people's code
    • ...and the benefits of commenting. #TO-DO: Do comments
  • Network debugging
    • I had an html connection going through an ssh tunnel going through a port forward going through cellular at one point
  • Hardware debugging
    • Vex Potentiometer -> arduino -> serial -> Ubuntu
    • Before you judge, we only had a week, so there wasn't a lot of time to find a better solution.
  • Lag can really screw stuff up
  • Serial is buggy as all get out

Results?

The GoalieBot worked great! It saved anything it could see and drive to in time. Occasionally, it would get distracted by something that looked vaguely ball-like on the ground, but better thresholding fixed that.

Code for GoalieBot: ​https://github.com/Reichenbachian/GoalieBot
​
Code for BalancingBot: github.com/Reichenbachian/BalancingBot
Picture

Location

Contact Me