Application of a PID controller and Bluetooth communication Computation & Modeling Jade Mills, Gage Hibner Northwest Halifax High 2010 South Mecklenburg High NXT Programming All of our robots were programmed using the NXT programming software. NXT is a program that allows the user to explore programming from the basic to complex levels . The program uses blocks to map out the programs actions NXT gives the robot “senses” by working with light, touch, ultrasonic, time, and rotation sensors. NXT Programming An example of a simple program using NXT It tells the robot to pivot to the left until it sees white then it will stop breifly. Can You Rock with this Balance? Our robot was designed to resemble a segway, meaning it was created to balance on two wheels while only using three motors and a light sensor We also included an ultra sonic sensor for a visual effect PID Controller The balancing-bot was made possible by the PID controller. A PID controller uses three terms to calculate a way to fix an error from a set point. An easy way to think of it is as a controller that self adjusts to go back to the starting position. A real life analogy of a PID controller is starting a bath. To get the perfect water temperature you have to adjust the hot water by turning it down or adding cold water. The three terms are the proportional, the integral, and the derivative term. Proportional Term The proportional term calculates error by taking the distance from the set point and multiplying it times a number, Kp, proportional to the error created to try and move back to the original position. Integral Term The I (integral) term calculates the error over the time and multiplies it by the value of the integral gain, Ki. The I term is accurate but often produces a lot of overshoot which causes the robot to fall. The reason for this is because the I term corrects over long periods of time Derivative Term The D term calculates the error by determining the slope over time. The derivate value also slows the rate of change, this is rather important because it contributes mostly to stability because it deals with the overshoot produced from the I term. Proportional-Integral-Derivative The big picture. Results TERM ORIGINAL VALUE CHANGE MADE NEW VALUE RESULT Proportional 40 50% increase 60 Faster response but instability Proportional 40 50% decrease 20 Complete loss of balance Integral 3 Multiply by 2 6 Shorter distance better stability Derivative 20 25% increase 25 Longer distances Great stability Robotic Interactions Robots can interact with each other by using Bluetooth. Our program created in NXT tells the balancing robot which direction to move based on the position of the slider . Robotic Interactions This program contains a Boolean that says when the slider is far from the ultrasonic sensor it sends a true message to the balancing robot to move forward. When the slider gets closer to the ultrasonic sensor it sends a true message to move backwards. What we Learned! A new programming language, NXT. How a PID controller works. We gained a greater understanding about how Bluetooth technology works.