Close

Prequel 1: LaserBot Rev1.0

A project log for Laser-cut Balancing Robot "LaserBot"

Using computer simulation to design a control system for balancing robot made of laser-cut acrylic.

kirill-salitaKirill Salita 08/21/2017 at 10:340 Comments

I designed and built the first revision of the LaserBot in Spring 2014 during my second year at Simon Fraser University. The main goal of the project was to practice using laser cutter and Arduino. I also wanted to learn how to work with an IMU.

This was way before I have taken any courses on feedback control or system simulation. Also I was quite busy with university courses. For these reasons I didn't design the robot carefully. I didn't calculate any dynamics, didn't do any simulations. I just eyeballed the chassis design and picked the first motors that seemed decent to me. 

I must mention that I picked rather small motors and small wheels. I wanted to make the task more challenging for myself. 

I designed the rev1.0 chassis in Autodesk inventor and cut it on a laser cutter out of 3mm acrylic sheet. I programmed the Arduino using complementary filter for IMU and PID controller. The controller loop was not even called by a timed interrupt, so there was no guarantee that it ran at a constant frequency. 

I wrote a Desktop application using Processing. The application could receive data about robot's attitude over serial port and display it graphically. It could also control PID gain constants on the robot.

In the end, rev1.0 couldn't balance itself no matter how I tuned the PID constants. At that moment I had to means of figuring out what was wrong.   

Discussions