Roboreptile Navigates Maze at the Hands of LaTech College StudentsPosted by Jeff Block on Friday, 27 July 2007
Walter Elder (RoboCommunity member waldoppper), Brandon Murdock, Michael Lewis, and Sagar Pant recently finished their junior year at Louisiana Tech University on a high note. Walter and his friends were enrolled in a Digital Design class at the university, and opted into every techie college student's dream... A robot race! The teams entering the race had to build a robot to navigate a maze. Walter's team chose to modify a Roboreptile, which is how the competition came to our attention.
RoboCommunity recently caught up with Walter and got to ask him a few questions. Our interview with him follows...
Jeff: Tell me a little about yourself and your teammates.
My name is Walter Elder and my teammates for the competition were Brandon Murdock of St. Louis, MO; Michael Lewis of New Orleans, LA; and Sagar Pant of Nepal. I am from Shreveport, LA. The project was completed last month - at the end of our Junior year as undergraduates at Louisiana Tech University in Ruston, Louisiana.
Jeff: Why did you enter the competition? Is it part of a class?
The competition was an optional section of a Digital Design class in our computer science program. Our professor, Dr. Choi told the class to vote to decide on having a design competition. If we chose to do it, the rules were:
- Stay under $200. The competition was sponsored by the CEnIT - Center for Entrepreneurship and Information Technology - so we had a budget. Plus, this made it more interesting.
- Purchase a remote control toy.
- Pull out any input controls.
- Involve our whole group in adding a microprocessor and peripherals (IR sensors, digital compass, H-Bridges, etc) to navigate a small maze.
Needless to say, we voted for the competition, and the race was on!
Jeff: What has been your interest in robotics to date? Was it a childhood passion, or did you just sign up for a class? What's the scoop?
I, personally, didn't have any experience building robots going into the competition, but as a child, my favorite toys were the remote controlled toys like Roboreptile. Wish he'd been around when I was a kid.
Basically, computer science students at LaTech are required to take this class to graduate, but the competition is completely optional. We were all extremely excited when the learned we'd have the opportunity to build a robot and compete this way.
Jeff: How did the competition go in your eyes? Were you happy with the outcome? Walk us through it.
The competition was a success for us, but some of the other teams struggled. Out of four teams, only two made it through the maze at all: our Roboreptile, as well as a two-track panzer-esque tank. One of the other failures was due to the bot's sheer complexity; they were hacking a helicopter. The fourth team came running into the competition 10 minutes late with a "working" tank which proved not to be "working" as well as they claimed. It moved, but one of their timer delays was missing a decimal place, which ultimately ruined the tanks performance.
The competition began with a small introduction by Dr. Choi on robotics in their current state. He showed video of Sony's new prototype SDR-3X, and then introduced the 2007 competition and showed video of past competitions. The maze, as you can see in the pictures, was made out of beams of wood with folders stapled to them. We ultimately needed them to be expandable, as our raptor could get a bit violent with his tail. He had a tendency to tear down walls, which was a real crowd pleaser. We organized the walls so that the robots would not be able to travel a straight line and escape. Basically we were demonstrating customized object avoiding algorithms developed by each team.
Jeff: Why did you pick a Roboreptile for the competition? What did you do to get him to do the maze?
The first thing we did when deciding on which toy to buy was just shopping around and playing with whatever was on display. After class, we'd all jump in a car, head to Wal-Mart or Radioshack, and play. Evidently, we picked the Roboreptile - for size, price and coolness factors - and ran back to play with it.
After running through an entire set of batteries, we started searching the internet for schematics to our new toy, found Nocturnal's website, and started unplugging things from his central processor. We played with the H-Bridges first, supplying power to wires and testing their responses. After locating and testing all of the leg wiring, we purchased our board and chip online and borrowed Dr. Choi's In-Circuit Debugger/Programmer (an ICD2). Then out came the solder guns.
We had to learn to solder the hard way, but luckily there were no major fires. The only tricky part to rewiring everything that we'd disconnected was making sure they were all grounded together. We added a 6v battery pack to power the board and used the built in 6v to power the legs - for reasons unknown, using one pack to power both was giving us disastrous results. Once all of the parts were tested and soldered up, we used the ICD2 to test our IR code in combination with the walking code. Our experimentation yielded some interesting dance moves, some motor-grinding mishaps, etc, but much to my surprise, we never actually broke anything on the robot! As far as the programming went, I will be happy to give some pseudocode if anyone's interested.
Jeff: What was the most fun / favorite part of the project?
My favorite parts of the project were definitely 1) programming the new secondary processor chip and 2) testing the walking algorithms. It was a huge challenge to time the legs and coordinate its movement. The tricky part was that the legs seemed to cancel each others' movement out if you have them moving backward and forward at the same time. I quickly renamed that peice of code "moonwalk()". We wrote the code in C (a low-level programming language) instead of writing in assembly language (an even lower-level programming language) - something I have nightmares about.
Jeff: What obstacles did you face? Which was the most difficult and how did you overcome it?
The most difficult obstacle in our project was probably getting him to walk. Since there is no knee joint, the leg's return trip can easily cancel out any movement made on its way back. Offsetting the movements and getting the timing right proved no easy tasks. By the time we were ready to test the walking code, we had already torn apart his original chip and board, so we couldn't observe and mimic his leg movements in their out-of-the-box state. Our method was basically trial and error... I had everyone write their own walking code; we tried each function, and pointed out pros and cons. Eventually, I mashed everyone's code together into something that worked.
Jeff: What are your future plans with regards to robotics, if any?
In the future, robotics may come into play as I enter the workforce. I'm more interested in the software side of computing, but this was one of the more enjoyable group projects that I've been involved with - I wouldn't be disappointed if my future heads in this direction.
Jeff: Anything else you'd like to share, Walter?
In closing, this project was definitely worthwhile. I had a blast doing it and I learned a lot. It was definitely too much work for one student, especially in one quarter (of class). So, I'm glad we worked together on it as a team. If we'd had more time, I would have liked to have rewired his mouth and speakers in an attempt to have him do a victory roar and dance once he no longer saw any walls.
Also, as an alternative method of navigation, I would've liked to utilize his sound sensors in such a way that he could be guided by a voice or several voices. For example, while walking, if the raptor needed to turn left, the person to his left would yell "over here!" and the algorithm would compare volumes from both of the sound sensors and determine to what degree left or right he needs to turn. Granted, we never tested any of this, so I'm not sure it would even work. But it's definitely a really fun idea.