Mechatronics Lab - MENG 390L - Final Project

Project Overview

This project was a lab class-based project aimed at teaching students about electrical implementation of mechanical systems, which includes topics such as mathematical modeling, analysis and design of systems with mechanical and/or electrical components, sensors, actuators, microcontrollers, and feedback control. The culmination of the labs and homework is to build, program, implement, and race self-balancing and self-driving motorcycles. The motorcycles used were part of the Arduino Engineering Kit Rev2.

Your Role and Contributions

Skills and Tools

Goals and Objectives

  • Race a self-balancing self-steering motorcycle against other teams and get the fastest time.

Outcomes and Achievements

  • My teammate and I won second place in the competition and we were successfully able to make my motorcycle stay in the lane while balancing.
  • We recieved an A- for our project.
  • Visual Aids

    Put Alt Text Here

    Motorcycle view from front, you can see the IR sensors on the sides of the front wheeel

    Put Alt Text Here

    Motorcycle view from the side

    Put Alt Text Here

    Motorcycle view from the back top, you can see the IR sensor and RC filter circuitry

    Put Alt Text Here

    Due to the best attempt being lost, here is a video representing the race.

    MENG 390L Final Project Report

    Download Presentation

    Lessons Learned and Technical Takeaways

    • I realize that mathematical model simulations and predictions won't model a system perfectly, the testing part is arguably the most important part of a control system.
    • Due to lack of time in the semester, I could not take the PID controller model further by implementing IR sensor input, it was only expected of us to model the wheel and IMU data, so IR sensor input was not considered. The motorcycle did not steer as best it could, and made me learn that if you miss even one variable in a dynamic system, it can throw off the whole plant.
    • I had to vary the initial conditions of the motorcycle as I did the race, I hoped I would have the time to make the motorcycle robust to any initial condition such as varied starting angle.

    Future Work

    • I plan to buy my own motorcycle from Arduino with the same IR sensors and make a more robust PID controller which implements the IR sensor input. Since this iteration only told the wheel to turn at a certain fixed angle, and did not vary based on other inputs.
    • I plan to run more tests to figure out how to make the plant robust to other starting conditions.