• Portfolio
  • Archive
    • Grad Students Halloween Party 2016
    • Praxis Showcase 2010 Highlights
    • 2015 Canada Blooms Near North Hardscapes
    • 2014 IEEE Toronto AGM Highlights
    • 2014 GSU Halloween Party
    • 2014 GSU Halloween Party 2
    • IEEE Day: Wine and Cheese
    • 2014 Akido Club Photoshoot
    • Canonball 1T5
    • 2014 Toronto Christmas Market
    • 2015 Nocturne
    • Cute-Baby-TBP
  • Stuff.
  • Contact Info

kmingk

Just Me.

  • Portfolio
  • Archive
    • Grad Students Halloween Party 2016
    • Praxis Showcase 2010 Highlights
    • 2015 Canada Blooms Near North Hardscapes
    • 2014 IEEE Toronto AGM Highlights
    • 2014 GSU Halloween Party
    • 2014 GSU Halloween Party 2
    • IEEE Day: Wine and Cheese
    • 2014 Akido Club Photoshoot
    • Canonball 1T5
    • 2014 Toronto Christmas Market
    • 2015 Nocturne
    • Cute-Baby-TBP
  • Stuff.
  • Contact Info

 

Autonomous Robot Project

What is it?

The goal of this project is to use a microprocessor to develop a fully autonomous robot that would be able to deploy cones according to certain environmental constraints.  

Interesting Facts?

  • There is a pretty cool parts place that has a giant ape as a logo in Toronto (Active Surplus)
  • Don't underestimate the amount of work you will need to do
  • Programming in Assembly is useful for some cases, but not fun... NOT FUN AT ALL

What I Did?

As the programmer within the group of 3, I was responsible for programming the micro-controller to handle the control logic.  Although relatively simply, there were many areas which required calibration to be optimized properly.   Specific Key areas of the robot are as follows: 

  • Path Tracking - Required to follow the path indicated by the black lines. 
  • Distance Tracking - Accurately record and display total distance traveled.
  • Deployment Cycle - Initiate deployment signals every "x" cm and when a hole is detected.

The flow chart below shows how the general programming flow worked for the robot. Doesn't include optimization tricks used during calibration stage.  

Robot Control Flow

Some Optimization tricks

  • Using only two sensors we attempt to track the edge of the track, the previous values of each sensor was also saved in memory. This reduced the number of circuitry complications we were encountering, but made the path finding algorithm slightly slower to respond. 
  • Using a variable duty PWM to drive the motors, it allows us to smooth out the path tracking algorithm
  • To speed up cone deployment, enabled deploying cone a small distance away from target area, then cone will drop from the moving robot.  
  • Due to constant PWM of motors for accurate path tracking, to accurately account for distance traveled with a sensor, had to employ an algorithm which takes into account direction of the wheel movement add or subtract distances. 

Robot Calibration Stage: Notice the shaking of the robot in the Path finder. 

Path Tracking Algorithm Test

Final Cone Deployment Machine going through Full Program

 

Final Report