It's a pretty interesting software challenge, to achieve balancing. There are many projects addressing this challenge - robots, transporters, and flying models made by students and enthusiasts. One of the most recognizable commercial product is Segway.
The principal idea of balancing is coming from human's ability to balance, for example - if you are standing, with your both feet put together and somebody unexpectedly pushes you from the back, you will step your leg forward in order to avoid falling and maintain your vertical (balanced position). Another example is, when you are trying to hold a stick vertically on you palm: wherever a stick leans to, you are moving the bottom edge to the same direction to bring it back to the vertical position. This is like Segway is behaving: if you lean the machine forward, it "thinks" it's falling and "makes a step forward" - it turns motors forward and brings itself back to balanced position. Same is when leaning backwards – it turns motors backwards. Unlike human, Segway needs only to react on forward-backward leaning. As a result if we want to move Segway forward, we constantly lean forward (not letting it to bring itself vertical) and as it "thinks" it's falling forward, it turns motors forward and keeps so, like a donkey running to a carrot hanged in front of him.
No comments:
Post a Comment