I didn’t know if anyone would be interested in this or not, but I wanted to share some information about a project that I have been working on.
I wanted to build a Vex robot that would autonomously move around a playing field - staying inside the area and doing something like collecting balls. Then it would find the goal area and put the balls there. I had originally started out to build a robot that could autonomously move about a maze like area using the Line Following Sensors to detect the borders.
My first problem was that I didn’t have a lot of money and I needed to find something to build the maze/playing with that was easy to store and reconfigure. I had posted a message on the forum earlier this year and I wanted to thank everyone for their ideas and advice.
I decided to go with foam tiles and borders from http://www.wondermat.com. Even though their tiles were more expensive than the ones from http://www.softtiles.com, they had flat border pieces that could be used to enclose the area. I went with gray tiles for the maze/playing field, white for the goal area, and black for the border. These colors made it easy to detect the different areas and write a program. Luckily, I was able to get enough titles and borders to make a 6’ x 7’ area for my birthday.
There are just 3 main loops to the program: 1) Avoid the borders and goal while collecting balls, 2) Avoid the borders while finding goal, and 3) Put balls in goal area and move out. The program loop to move inside the field while avoiding the borders and goal is very simple and just needs a few lines added to help avoid getting stuck in corners. The program loop to find the goal while avoiding the borders is just the same loop with a few changes.
I have tried the first loop - avoid the borders and goal - and it works fairly well. The robot just can’t move too fast or it will over run the borders sometimes before the Vex Microcontroller has a chance to react and it gets stuck in the corners sometimes. That’s why I need to add the part to prevent that.
I just haven’t been able to decide on a design for the robot itself so that I can test the rest. It will just have some kind of intake for the balls and either spit them back out the same way or dump them out the back. Although, it would be easier if it both collected and dumped the balls from the front. I also haven’t decided how to stop collecting the balls - either some way to tell how many balls or just a simple timer.
Hopefully everything will work as well as I think it will once I am finished. I will post an update after I get the robot built and do some more testing. Sorry for such a long post and thanks for listening.
We also do a competition that involves maze navigating. This was our third year, and we placed 5th place for junior division, but we are the best junior american team (everyone in front of us was chinese!!! this really puts into perspective how we need more engineering classes at younger ages in America) and one an award (our team is TMSCVex). http://www.trincoll.edu/events/robot/
As for navigating mazes, we found that ultrasonics work great. Also, if you can get hold of an accelerometer and 2 quadrature encoders, this will allow you to detect not only how far you’ve gone, but also allows you to balance the motors if 1 is too powerful, making your robot turn.
we also had a strip of white tape at every door, and used a line tracker to tell if we were in a room. if you’re competition has a door marker, this would allow you to tell when to run the ball grabbing subroutine.
Thanks for the tips!
I do have the Quadrature Encoders and I was going to use them for another project to help the robot drive straight and adjust for variances in the speeds of the drive motors like you mentioned.
I am not doing this for any competetion though, I just wanted to do this for myself and needed some kind of area to setup for the maze/playing area.
I don’t think that the Ultrasonics Sensor would really work for my application though. I know the kind of setup that you are talking about - I have seen a similar one for the Firefighting robot contests. They use tape to detect the doorways and Ultrasonics to detect the walls. I wanted to use the Line Following Sensors - that’s why I am just using colored foam tiles laying on the floor for my maze/playing area.
The borders and maze “walls” are black which has a higher reading than the gray tiles so it is easy to write a program to avoid them. The white tiles that I am using for the goal areas have a lower reading than the gray ones of course, so it is easy to include lines in the program to avoid them during ball pickup and find them for dropping off the balls.
I had thought about making up some thin walls with wide bases so that I could setup something like what you were talking about on my foam tiles, but I figured that I would just start with what I have and get that to work first. I would love to use all of those sensors though - Quadrature Encoders, Ultrasonic and Line Following Sensors. I think that the new Gyro Sensor coming out could help too!
I will just have to wait and see how my project turns out. I just didn’t know if very many people were doing autonomous projects with Vex or not, or if anyone would be interested in mine.
‘the Firefighting robot contest’ meaning the trinity one or one local to you?
because at trinity as long as i’ve been with TMSC we used that method.
Actually in the walker division for Trinity someone was using vex. I forget how they did it, but they’re robot could navigate any maze facing any direction. they had to use mplab, however.
No, I meant the trinity one. I just didn’t pay attention to your link before I wrote my reply. I didn’t notice until afterward that you were involved in the trinity contest.
I know that ultrasonics would work great for moving through a maze. The reason that I said that it wouldn’t work for me is because I don’t have any walls. I was trying to explain that my maze is all flat on the floor made up of the foam tiles and borders - that’s why I am using the line following sensors. I’m just using black tiles and border pieces to make the maze on the floor. The rest of the area is filled in with the gray titles and the white goal tiles.
Instead of drawing or painting a pattern or maze on a big board or pieces of cardboard, I’m using the foam tiles. That way I can easily change the pattern if I want to without having to repaint anything or buying another board or more cardboard. Plus the foam tiles are easy to set up and put away and I can easily expand my area by buying more tiles and borders whenever I get more money and space.