| ... | ... | @@ -30,12 +30,14 @@ For our initial control experiment we simply used Phillippe Hurbain's robot [1] |
|
|
|
|
|
|
|
We were able to make it balance for a few seconds 1-4, depending on the initial calibration, which was the biggest challenge. It was especially challenging, because the balance point of the robot is very hard to find, which we will explore later.
|
|
|
|
|
|
|
|
The performance can be seen in this video: [Self-balancing robot with light sensor - Control](http://1drv.ms/1EFIphV)
|
|
|
|
**The performance can be seen in this video: [Self-balancing robot with light sensor - Control](http://1drv.ms/1EFIphV)**
|
|
|
|
|
|
|
|
We noticed that if the robot titled forward all the way, it had no chance of recovering. The same was the case if it tilted too far backwards. In addition, the light settings in the room (even in this small area) may not be uniform. Thus, what may be equillibrium at one point, may not be in another. However, we weren't able to reduce the light pollution in the room any further.
|
|
|
|
|
|
|
|
#### White Cardboard Surface
|
|
|
|
Challenging the advice Phillippe Hurbain we tried to change the surface on which we are sensing (see image 6 in the above gallery). As expected, the performance was even worse and the robot showed very aggressive corrections, which may indicate that the light sensor may have zeroed on something. This behavior can be seen in this video: [Self-balancing robot with light sensor - Control](http://1drv.ms/1EFIGRZ)
|
|
|
|
Challenging the advice Phillippe Hurbain we tried to change the surface on which we are sensing (see image 6 in the above gallery). As expected, the performance was even worse and the robot showed very aggressive corrections, which may indicate that the light sensor may have zeroed on something.
|
|
|
|
|
|
|
|
**This behavior can be seen in this video: [Self-balancing robot with light sensor - Control](http://1drv.ms/1EFIGRZ)**
|
|
|
|
|
|
|
|
#### Experimenting with PID Constant Values
|
|
|
|
The native constants of Brian Bagnall's PID, allowed the robot to balance for a few seconds, which we didn't find satisfying. Through trial-and-error we've narrowed in on the following constants, which gave us increased performance:
|
| ... | ... | @@ -56,7 +58,8 @@ If we are experiencing accelerating errors we correct accordingly. Thus, if we a |
|
|
|
|
|
|
|
The scale factor is a simple mapping between the sensor values and the output variables, which changes the optimal dimensions of the constants. Thus, if we change the Scale, then we have to adjust the Power, Integral, and Differential factors accordingly.
|
|
|
|
|
|
|
|
The performance can be seen in this video: [Self-balancing robot with light sensor - PID Constants](http://1drv.ms/1xgumlG).
|
|
|
|
**The performance can be seen in this video: [Self-balancing robot with light sensor - PID Constants](http://1drv.ms/1xgumlG).**
|
|
|
|
|
|
|
|
The robot was able to balance for a few seconds using this configuration. However, it is still not satisfying.
|
|
|
|
|
|
|
|
#### Physical Enhancements - Balance Bar
|
| ... | ... | @@ -79,7 +82,7 @@ Finally, we made it balance for a whole 17 seconds! In this case, we used the ba |
|
|
|
|
|
|
|
**Scale = 18**
|
|
|
|
|
|
|
|
This performance can be seen in this video: [Self-balancing robot with light sensor - Balance Bar + Optimized PID Constants](http://1drv.ms/1EFRebE)
|
|
|
|
**This performance can be seen in this video: [Self-balancing robot with light sensor - Balance Bar + Optimized PID Constants](http://1drv.ms/1EFRebE)**
|
|
|
|
|
|
|
|
To sum up, we can conclude that the balance bar made it easier to find the balance point and that playing around with the PID constants plausibly increased performance. However, the significant improvement was introduced by combining these sources of improvement, which resulted in a best-case test of 17 seconds of self-balancing. Nonetheless, there are still many more physical aspects to explore, e.g. lowering the balance point, adding more weight instead of the wheels, using bigger wheels, etc.. Further experiments with the PID constants could also improve performance.
|
|
|
|
|
| ... | ... | |