Thursday, June 05, 2008

Robot Party

Well, I know it's been a long time since we did the robot party. I didn't publish in part, because I think Arhuaco's blog was pretty cool. But here you're with my report.

Nelson arrived at 11AM with a wireless mosquito. It was damaged but some days later I found it was only the battery. Their design requires some charge in it to be able to charge it !!!. So I only had to disassemble it and load some charge in it.

Lowfill wrote a list with the possible subjects which included:

- Self balancing robot (the best one, but the one I didn't want given the short time)
- Follow the line (with learning, a variation to the classical thing)
- Basketball (my favorite)
- Get off the labyrinth (the one Lowfill and Arhuaco didn't want)
- Sumo (the easiest one, but nobody liked it this time)

The choice was supposed to be random but we finally decided to do the first three of them. At the end, however, we only managed to build the first one in our limited time schedule (we were too ambitious!! ).

At around 2 p.m. we had a Richter's 5.5 magnitude earth quake, so we were very nervous all the rest of the party.

Each team built a skeleton for the robot. Both robots were symmetric and holonomic with two motors. Both designs were similar, although I was more familiar with the alluminium work.

At the middle of the party I managed to build an ON/OFF controlled robot who kept equilibrium for about 20 seconds on a more/less regular floor. When Lowfill left (why the !#@$ Lowfill!!! you lost the funniest part!) Arhuaco and I started working together to improve my prototype. We did progress immediately. First of all we improved the ON/OFF prototype by implementing a proportional PWM controller. It was softer than that of the ON/OFF control, but it somehow was too slow.

Our sensor was only light, which as every electromagnetic radial field reduces power with the inverse of the square of the distance. Hence

width = k / tan^2{angle}

We decided then to add a constant control to it. It made the system faster but less stable and soft.

width = k_1/ tan^2{angle} + k_2

Finally we decided that in order to reduce oscillation we should base the width correction on the average rather than the sample. This, formally is an integral control system.

width = k_1/ sample_N + k_2 + k_3 . \sum_{i}{sample_i}

The system worked then very well, but the sensor didn't help much. We had to test it in a very dim environment. I am sure it can work better with an angular sensor rather than using a longitudinal one (because of the tangent and inverse square, and light dependency) for it works pretty well with a very simple led - photo-resistor pair, holding equilibrium for more than twenty minutes (actually we got bored of seeing it swing and stand and we decided to turn it off for it was very late).

We finished around 1 A.M.

I am very happy with the results, Lowfill and Arhuaco did pretty well. I also liked our very minimalist implementation of the PWM PID control system. All of us shared ideas and learned a lot in the process. It was in my opinion a very successful robot party.

0 Comments:

Post a Comment

<< Home