Go Down

Topic: Balancing robot for dummies (Read 91165 times) previous topic - next topic


Hello! am using GUI file from this page http://www.x-firm.com/?page_id=148.
The GUI is working well with the serial comunication via a USB cable, but i would like to try with a bluetooh one, the HC-05. But i is NOT working yet.
have anyone here succeeded with processing comunicate with Arduino via HC-05?


I'm a bit confused about how to use the motor encoder information.  I'm able to compute angular position and velocity, and able to filter velocity to reduce the choppiness borne from quantization.  But how is it used in the balancing controller?

Is motor position*Kp and velocity*Kd added to the total PID calcuation, or is it implemented in a separate PID loop to set the tilt angle?

Should the motor position and velocity be updated at a slower time step?



Jul 21, 2015, 11:48 pm Last Edit: Jul 21, 2015, 11:49 pm by randomvibe
Okay, I got my encoder situation to work.  Details in link below thanks to help from Sebastian Nilsson.




Im making my own balance robot and i succeceed in keeping it balanced. The problem comes every time i try to make it move with the bluetooth control. I tried to set constant angle references to make it go fordward or backward but it fells over and over again because the robot is not able to recover stability once its moving.

I would be very pleased if someone can help me. Sorry, my English is not very good. :smiley-confuse:


Feb 13, 2017, 08:42 am Last Edit: Feb 13, 2017, 08:58 am by EscapeVelocityLab
I'm developing the Falling-Up Robot, a balancing inverted pendulum bot, using the Teensy 3.6 microcontroller with Arduino IDE 1.6.12. I want to practice feedback control systems with this robot. I want to keep it from falling over while roaming autonomously and interacting with its environment. I'm building this in stages. So far, the brain and chassis is in place, and the basic balancing control system is in place. Here's the first video.


I used stepper motors to take advantage of high torque at low RPM and zero backlash (or zero freeplay).  Dealing with the high mechanical vibration was an issue, but was solved with analog filters and an Extended Kalman Filter in software.

Go Up