top of page

Autonomous Stunt Robot

Fast Robots

Dr. Kirstin Petersen

Individual

January 2023 - May 2023

Skills:

  • Embedded Systems

  • Sensors, complementary filter

  • Control Theory (PID)

  • Mapping and localization

  • Motors, motor drivers, hardware

Overview

Over the course of 12 labs, I turned a normal RC car into an autonomous robot capable of performing stunts through PID controllers, as well as mapping, localization, and motion planning. The course covered a variety of topics in robotics, hardware, and especially sensor fusion and different methods to make sensor data more accurate such as complementary filters. One thing I loved about the class was its focus on practical robotics as well as theory. I learned that working with "fast" robots goes beyond just good control theory and dynamics models; I also needed to take into account sensors, processing speed, and how I could simultaneously optimize and simplify our system. I also needed to figure out how to overcome sensor noise, system failures (such as uneven motor drivers), and inherent limitations (such as wheels slipping, slow sensor sampling rates, etc.).

Slide1.JPG

The robot in question

Summary

For the class, we all had websites which served as a portfolio for all of our labs. I have linked mine here:

https://mattieuzhai.github.io/Fast_Robots_mz375/

 

While I would love for you to check all of the labs out, if you are in a rush, here are some of the highlights (the final labs from 8 after really show what the robot is capable of):

Lab 2: Bluetooth Communication:

For this lab, we set up Bluetooth on our MCU using the BLE protocol and allow communication between the robot and computer. We also set up notification handlers to make parsing through data from the robot easier.

Lab 6: PID Control

For this lab, we had the choice of setting up a PID controller to control the distance of the robot from the wall in front it or an orientation-based PID controller using data from the IMU to control the yaw of the robot. I chose to create the distance-PID controller (we eventually needed both anyways).

Lab 8: Stunts (definitely check this one out!)

This was the main lab for the first half of the class, where we had to program our robot to do a stunt. The stunt I chose was to have the robot drive at a wall as fast as possible and then do a 180 degree turn 1 foot away from the wall and drive back. I used both the distance-PID controller and the orientation PID controller to perform this stunt.

Lab 12: Motion Planning

For this lab, we had to use everything we had learned to have our robot navigate a set of waypoints within a known map. I used my PID controllers and an inverse odometry model based on a turn-then-move scheme to control my robot and have it navigate the map.

Mattieu Zhai

267-592-2323

  • alt.text.label.LinkedIn

©2024 by Mattieu Zhai. Proudly created with Wix.com

bottom of page