Team Fourteen/Journal

From Maslab 2007

Jump to: navigation, search
Maslab teams
Team 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 · 15 · 16 · 17 · 18
Team Fourteen’s Journal


Contents

January 8

Today we assembled the pegbot and discussed an overall strategy.

Pegbot...Our experience with the pegbot was generally uneventful, except that one of our motors turns much slower than the other. We will check this out tomorrow when we have a full team. We succeeded in passing the day's requirements - our robot moved and we printed to the console - without tany other trouble.

Strategy...Our overall goal is to start with a simple but extensible design that we can build upon throughout IAP. The robot will begin as a gated collector, using wall following and simple camera tracking of balls. We also plan to mount our camera on a pan servo, allowing for a wider range of tracking and scanning options. Ultimately, it is desired that these behaviors could form a strong foundation of a more complicated strategy (and, perhaps, mechanism) to produce a robust robot. Mapping is hopefully in our future.


January 9

Met and talked about things we would like our robot to have, including a simple gate, the ability for the camera to track red balls using a servo, and wall following. Also mapping, perhaps using an optical mouse for positioning. Accomplishments for the day:

Eric: Began drawings of the pegbot and final robot

Chris: Began interfacing with the camera

Ele & Jonathan: Characterized short-range IR sensor and implemented it in robot to meet day two requirements

January 10

Tasks for today:

Eric: Sketched drawings of gate design

Chris: Got pictures out of the camera and did red center of mass calculations. Set up basic camera tracking which allows the servo to turn the camera in order to put the red center of mass in the center of the field of view.

Jonathan: Compared long-rage vs. short-range IR sensor for use in wall following. Decided on the short range sensor for it's greater precision. Completed wall following algorithm to allow the robot to follow easy walls. The algorithm needs to be expanded for sharp corners and wall endings. Worked on feeding back the camera tracking with the motors to allow the robot to track a red ball.

Ele: Got SVN repository set up so we can use our personal laptops instead of athena to program the robot and still keep our code synchronized. Threaded Chris's camera tracking and combined Jonathan's code to allow for tracking red ball's by joining the camera tracking with motor feedback similar to that used in wall follow.

Made good progress today. The camera tracking combined with motor feedback looks promising. However, at high speeds the robot often does not have enough time to react between frames to all for proper feedback, so a slower speed is used. Camera tracking needs to be more robust and perhaps used a density rather than center of mass ball locator.


January 11

We passed the checkpoint! Our robot can now wander around, looking for objects. The camera sweeps side-to-side until it sees something, and then locks onto that object. The robot then attempts to collect that ball. We also hashed out a lot of details for how our robot would approach the game, including listing behaviors, discussing thread structure, and others. A more final version will appear later.

Eric: Made progress on mechanical designs. We plan to combine a bail-like gate with an arm to allow us to collect almost any ball, even if it is in a corner.

Chris: Improved camera object tracking and added sweeps to locate balls. Provided a better mounting for the camera on the pegbot.

Jonathan: Improved object tracking routine to consistently collect balls. Integrated with wall following wander and locate balls.

Ele: Led discussion of strategy for robot. Helped Jonathan with movement routines.


January 14

Today we accomplished litte. We continued to make small progress on wall following and camera tracking, no significant gains were realized.


January 18

Curious George is almost ready for the first mock competition. In practice runs, he was able to successfully roam the playing field and usually pick up balls off the field.

We spent most of today working on integration. Over the past few weeks we had independently built key pieces of our strategy: wall following, camera tracking, and motion tracking. We had also spent some time discussing the software framework for the robot. We had put some pieces together before, but today we really tried to get them all together.

Our results were mixed. By the end of the day, we had better integration of camera tracking with movement. However, we were unable to put the pieces into the larger framework we had designed. That will wait for later.

One of our particular issues was combining camera tracking with motion. The robot could move (and particularly turn) much faster than the camera could follow. Thus, if we tried to do anything at speed, the robot would lose the ball out of its vision and fail. Today we were able to combine our vision tracking with gyro readings to alleviate the problem. now, when the robot can no longer see the ball, it checks the gyro to see how much the robot has turned and corrects accordingly. It still isn't perfect, but it is better.

On the mechanical end, we added a prototype gate to our robot. While it isn't pretty, it is enough to score us points in the competition.


January 19

Today Curious George showed most of his stuff in the first mock competition. During one run, he was able to collect 6 or 7 balls from the playing field in a fairly short amount of time.

That said, we were experiencing one major issue - our computer would sporadically reboot. We suspect that it is the result of current surges to the motors in which the orcboard cannot source enough current, causing it to stop supplying any - hence killing the power to the computer. We tested this by unplugging our camera servo, and that seemed to fix the problem, so we rebuilt the camera mount to minimize the current draw by that servo.


January 22

There were two major accomplishments today. First, we stopped our computer from periodically rebooting. We ultimately decided that the servo used for the camera was drawing too much current. We suspect that it was defective, and replacing the servo fixed our problem. Secondly, we were able to get our final code structure working. We need to do some final work to put the existing pieces in the framework, but it should work. Otherwise, we continued to make progress on our gate and worked on code for dealing with goals. The goals have, thus far, proven to be more difficult to track than the balls.

January 24

Gate is nearly completed, the nuts for the 4-40 screws were unavailable, so it will be completed first thing in the morning.


February 2

After firming up the gate and doing lots of wrap up code, we ran the robot on Tuesday using our competition control code during the final mock competition. It worked, but we found that our robot would often get stuck in its IR blindspot when trying to get balls located around a corner.

So, in the next couple of days we added timeout routines to throw errors when the robot got stuck, two more IR sensors to avoid the blind spot, and a more robust control code that worked out the final issues we had with multi-threading.

The competition went well, depositing four balls and finishing with three more collected for a total of 19 points. Team 1 also had a great run, and we ended up tieing for first. MASLab was a blast, and we thoroughly enjoyed our time and learned a lot.

If you have any questions about our design or problems that we encountered, feel free to e-mailjburnham@mit.edu and I'll try and get your question answered. Good luck!