Our sensor setup last year was sorely lacking. We had one sonar sensor mounted in the front, a few vex touch sensors, and a non-functioning camera. We had a random algorithm for obstacle avoidance that sometimes led us into corners and walls. This year we plan to have a more effective sensor array, utilizing five sonars in total. We will have two sonars mounted on the front, two on either side, and one on the rear of the robot. When turning left or right, we will check the readings on the respective side sensor, and if is reporting an object in its range, we won’t turn into the obstacle. We will also do the same type of check when backing up the robot as well. Hopefully these checks will allow us to solve the problems (and walls) we ran into last year.
Another big obstacle we didn’t successfully circumvent was giving our bot instructions. We were able to tell the robot to go to Location 1 and then Location 2 and then look for a cone at Location 2, but we couldn’t say go to Location 1, pass through Location 1.5 and then look for a cone at Location 2. The only team that successfully completed the course was UCLA’s team, and they were able to easily place a way point for the robot to pass through. Additionally, we also had a problem where we wanted the robot to go straight north for a few meters, but had no way to tell the bot to do that. To fix these cases, we are creating a control file to give our bot instructions. The commands will be simple, such as drive for 10 meters and x degrees, or find a cone at X,Y, or go to X,Y and then move onto the next instruction. This text file will be easily readable by everyone, including those with no programming knowledge. Although interpreting a .txt file in Python programming language is not a trivial task, we have almost finished the required code! We plan on creating a few courses throughout our school campus and then creating a control file for each course. Then we can simply run the robot with a specific control file and have it complete different courses with little downtime. A sample control file is located below, although we would need an autonomous plane to run this one (Hey Boeing, any spares?).
CONE 4043.250 08936.567 DRIV 1000000 180 CONE 3903.350 09541.267 GOTO 4542.400 12131.300 5000 CONE 3359.019 11841.006