| ... | ... | @@ -11,7 +11,7 @@ In this lab session we will try to create a self-balancing robot, using differen |
|
|
|
In this section, we replicate the robot from Philippe Hurbain's construction [1], in an attempt to make it balance by itself. The roboto will balance by adjusting the motor-power, based on the light sensor readings.
|
|
|
|
|
|
|
|
### Setup & Approach
|
|
|
|
The only difference between Phillippe's and our robot is that we are using the big battery pack, where Philippe is using the AA-battery pack. This required us to change the cross-beam behind the robot very slightly. Other than that, the robots are similar.
|
|
|
|
The only difference between Phillippe's and our robot is that we are using the big battery pack, where Philippe is using the AA-battery pack. This required us to change the cross-beam behind the robot very slightly. Other than that, the robots are similar. On the following 6 pictures we see the robot and our testing environment. The first image shows our lighting situation, where we closed the curtains to rely on flourescent light only. This was suggested by Philippe Hurbain, in the section "Usage" [1]. Images 2-5 shows the robot with a table as the sensed surface (where the light emits from). In the last image, we've used a piece of white cardboard as our surface, to test Phillipe's other suggestion, that contoured/non-uniform and clean surfaces work the best. We expected the white surface to reduce performance, since it is too uniform.
|
|
|
|
|
|
|
|

|
|
|
|

|
| ... | ... | @@ -21,10 +21,23 @@ The only difference between Phillippe's and our robot is that we are using the b |
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
To make it balance, we adopted Brian Bagnall's control system, [Sejway.java](http://legolab.cs.au.dk/DigitalControl.dir/NXT/Lesson5.dir/Lesson5Programs/Sejway.java) [2]. Here, however, we tried out different settings and constant values. Which we will specify during our experiments.
|
|
|
|
|
|
|
|
### Findings
|
|
|
|
|
|
|
|
##### Control
|
|
|
|
For our initial control experiment we simply used Phillippe Hurbain's robot [1] with Brian Bagnall's control system [2], without any alterations.
|
|
|
|
|
|
|
|
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, because it is top heavy.
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
##### Physical Enhancements - Balance Bar
|
|
|
|
## Choice of parameters on-the-fly
|
|
|
|
### Setup & Approach
|
|
|
|
|
| ... | ... | |