ROBOLAB 2.5.4

Hi,

I’m working with the Lego ROBOLAB 2.5.4 kit for a group project. We are to build a robot that can maneuver within an octogon, successfully pushing out 7 randomly-placed soda cans. The situation is, it’s not remote controlled. In order to get the job done, you have to pre-program it so that it has some prior level of intellegence.

Oh yeah, and there’s a time limit of about 1.5 minutes.

Are any of you familiar with this program? If you could give me useful links or tips, I’d really appreciate it.

Thanks.

Without more detail I’d say (assuming the bot starts in the center) that you’d want to write a program that made the bot trace increasingly large octagonal paths until it reaches the outside of the ‘ring’ area. By covering all of the area of the octagon it should have pushed all of the cans outside of the area.

I’m assuming you can tell the bot to turn a certain number of degrees and move straight a given amount - if so, I’d say you’re all set. HTH!
M

The bot doesn’t start in the center, but rather in an 8.5x11 inch “garage” located on one of the eight sides. We’re using a light sensor to keep the bot inside the octogon (black tape lines the boundaries of arena; we run on a white plywood). But I was kicking around the idea of making a loop so that whenever a can hit the touch sensor, the bot automatically keeps going foward, pushing the can until the light sensor picks up the black tape. There also seems to be a function that allows the bot to remember where it’s been. However, I have no idea how efficient this would be – let alone how to configure the memory allocation. And another idea I thought I might mention is the motor function that causes the bot to move in random directions. Once again, I have no idea how efficient this would be.

And no, I’m somewhat new to the program. I’m not sure how to make the bot turn a certain degree, but I can verily make it move forward a certain amount (more based on speed and time, though, and not an actual elapsed distance).

Ah, okay, that gives a little more to go on. I wouldn’t mess with trying to make it remember where it has been and I don’t think the random function will help you much.

Seems to me that, given the limitations of the scenario and hardware, your best bet is to try to devise an algorithm that will let your robot methodically ‘walk’ over the entire area of the octagon - pushing out anything it finds there.

The bump and push until it’s out of the ring thing is a good idea. Maybe you could combine that idea with some sort of search pattern? With a time limit I wouldn’t think the random thing would help much. If you did the search pattern/push thing smartly enough you might even be able to figure out a way to get the bot back into the garage within the time limit - that would be a nice bonus!

To get the timing right for the turns you’ll have to experiment a bit (on the same surface as the test I imagine). That way you can figure out how long to run, say, the right motor to make left turns of x%. Once you’ve got that you don’t even have to worry about distance stuff, since you’ve got the black tape and sensor to rely on for keeping in bounds.

Do you get to build your own bot or are you just using a pre-built one? Sorry, not familiar with the specifics of Robolab. I have the old Lego RCS from a few years back, though, and it’s a lot of fun.
M

We’re building our own bots. We have detailed instructions on how to make punching, smashing, and grabbing bots at our disposal, but a few members in my team seem to think that they can come up with a better design themselves. I tend to be weary about this because we *could *use a mechanism that potentially punches/rolls cans right out of the arena, thus saving a little time. *And *we’re under a definite time constraint to get this project finished. But the majority ruled against my idea. Ah well, such is life.

By the way, I’m not certain our kits even came with a rotation sensor. But methinks it would be worth my time to search the spare kits for one.

Would you happen to know of any links that have detailed instructions on how to use the ROBOLAB Inventor program? I’m a little unsure of how to use loops (even which one to use), and how to do the rotation sensor bit. If not, that’s alright.

Thanks for the input.