Thursday, August 3, 2017

Day 10 - Trip Home and Final Thoughts

This marked my 11th year being involved in RoboCup.  It is one of the highlights of my year to watch the students participate in this international event.  They see the field of robotics at its most innovative and cutting-edge level.  They get a glimpse of what could be in store for them in college or in a professional career.  They get to compete on a level unrivaled by any other program readily available to them, while facing the best in the world from every nation willing to participate.  It is simply amazing to witness, and hard to put into words, what all of these cumulative years have meant to me as an educator.

This year, the team was simply incredible.  Dr. J. did a great job mentoring them.  The students were prepared, knowledgable, and dedicated, often working until they passed out from exhaustion.  Had the last run not have been cancelled due to the fire, they would have won.  I know that is hard to say with certainty, but another run like the 3rd one would have sealed the first place position with a very comfortable margin.   It broke my heart to watch how circumstances worked against them. But this team accepted those circumstances with grace.  They were positive and genuinely happy during the entire trip and it was a privilege to be able to spend the week with them at RoboCup.  The best part of my job is being able to spend significant time with young people who possess such great strength, intelligence, character, and spirit.

Because they made it to the finals, Patrick and Victor have already qualified to compete in RoboCup 2018 in Montreal, Canada ... and they will be ready!  

Check out this video Conner compiled over the course of the entire week.  We hope it gives you some insight into what we experienced at RoboCup Japan 2017.

Until next year,
Julia Maurer '90
Mathematics and Robotics Teacher
Assistant Head of School for Academic Affairs
Mercersburg Academy

Day 9 - Reflection

The six competition days proved to be a lot to reflect on during our last day in Nagoya. Personally, I was a judge for the rescue line competition, so I had a much different experience than the rest of the group. I got a peek into the behind the scenes of RoboCup, and it is not easy work. Each day multiple new mazes had to be thought up and designed in both the maze and line competitions and Dr. Maurer did her best with that task everyday. Of course there were some complications with some of the mazes because not all of the volunteers nor Organizational Committee agreed on everything, but in the end each day went relatively well.

One of the great things about being a judge was getting to see every team in action and seeing how each country tackled the challenge they were given. There were some amazing robots that gave a glimpse into what to expect in the future from the teens today. It was a week I thoroughly enjoyed and I hope to continue volunteering in years to come.

Now on to what you really want to read about, the Mercersburg team. The last competition day was a hard one for everyone. With complications from the fire, disappointment fell on the team over everything they had worked so hard on.  Looking at that broken team I didn't recognize the people that had worked so hard to get to where they were. I understood how disappointing it was, but I saw something much greater than a second place rank. The team that went to Japan was one of, if not the best team, Mercersburg has ever sent to a robotics competition, and I get to say that because I was on a team last year in the same event. They worked endlessly on their codes, their build and everything that went into the competition. Their knowledge and ability was beyond even Dr. Jaiclin's knowledge at some, very few, points. They created an almost flawless robot and had the best performance out of every team that was competing this year and every past year of this event. That is not something that should be taken lightly, nor is it disappointing in any way. They may have ended in a heartbreaking second place, but what they accomplished was so much more than any rank could show. The best part - this is only their first year. They have a whole other one to work out any kinks they came across. Seeing what they did this year only provides an immense sense of interest to see what they can accomplish in the year to come, because I know it will be great things.

Caroline Casparian
Mercersburg Class of 2016

Wednesday, August 2, 2017

Day 8 - Finals

Driving Daddy-O (the name of our robot) was a pretty unique experience. You basically become the robot. The perspective change of seeing only through small cameras is my favorite part of being the pilot.  What were waist high ramps to myself suddenly seemed like massive mountains with various obstacles and structures spanning out in the distance for me to traverse. After a couple hours of practice I could take turns naturally, tell when I might flip over or get stuck, and feel when a certain servo wasn’t responding right. There were a couple instances in preliminaries and finals where my front camera feed would cut out and I would be forced to drive with only input from the back camera. 

So I was confident in my abilities to drive properly, but I was still nervous with a lot seeming to rest on my shoulders. On finals day my heart rate was up before I even opened my eyes. It was the culmination of many twelve hour days with Dr. J, free periods and late nights working with Victor, and the neglecting of various other classes (my bad, mom) that produced a robot in three months that could place first in the international preliminaries with relative ease. I honestly expected something along the way to go awfully wrong, but it's pretty cool that it didn’t.

[Dr. Maurer's note - Watch this video of the "flip" during a morning competition run.  Amazing!]

Daddy-O’s main strength is it’s navigation.  Due to its larger size and wheel design, most obstacles aren’t an issue like they were for other teams. It did have trouble with sharp turns and precise angles, but with practice that became less of an issue. Because of time constraints and having only two programmers our camera technology (object recognition, motion detection, tracking, etc.) worked on only a basic (but passable) level. We implement OpenCV for camera vision, if anyone is curious.

Driving during finals was not as stressful as I had thought. Victor did an amazing job making sure the tether didn’t inhibit my driving, and the course didn’t change too much from practice. The only frustrating part was how one of our Raspberry Pi's would often decide it didn’t want to work mid-run, and I would be blind in one direction until it restarted. Our last run was definitely the strongest (getting the highest score in the event). We had lost five minutes in the beginning due to the Pi giving us trouble, but after that it was the strongest I had ever felt driving.

[Dr. Maurer's note - the team received 2nd place by only 8 points.  It was an unbelievable effort.  On the final run, the team scored 18 points, the highest ever earned by a robot in this competition.  See the video below:]

Regarding getting second, I wish I could only point to my performance as pilot and the limitations of our robot that led to that instead of first. But, the slight variations in the competition rules and what we prepared for, along with the cutting of the fourth run due to a major rescue robot catching fire just as we were about to take our last run (as we arguably had the best navigation there) seemed to directly effect us more than other teams. Although sad at first, I figure it’ll be some motivation for next year.

All in all, I am very happy with how things went and I am very thankful I was given the opportunity to travel with such an enjoyable crew. 

Pat Madden
Mercersburg Class of 2018

Monday, July 31, 2017

Day 7 - Testing Day and Preparation for Finals

After the promising performance during the preliminaries, the atmosphere of weekend still remained nonexistent to us as we had a lot of work left to do.

We arrived at the venue around 10 AM, because we needed to restore energy (big shout out to Maddie who woke up at 6AM sharp). As planned on the train, we decided that familiarizing ourselves with the course is our top priority.
Since the maze hadn’t been finished yet as of the time we arrived, after some solid runs on the individual courses, Patrick, Maddie, Conner and I went to the 3rd Exhibition Hall to check out the soccer league and industrial league.

The soccer league’s junior section was mostly comprised of robots that look like a two-story cylindrical building, while the major section standard platform robots, cone-shaped robots and humanoid robots. The industrial league was, on the other hand, completely another beast—most of the robots there looked complicated enough that we couldn’t tell their function on first sight. However, the big idea was that the industrial robots were designed to improve the following fields: future family usage, corporate use, human interaction and precision control.

As we were leaving to do more test driving, we decided to go to the Dynamixel stand, whose servos had been doing a great job for us. The humanoid robot they were exhibiting was worth a quarter million dollars, but what worth more was the conversation we had with the technical advisor there. He, a professional combat robot creator, introduced us to the different edition of their servos, which could potentially help our design next year.
Finally the maze was finished, with two sections left empty as a surprise for the final day. Patrick and I immediately start testing on the course to familiarize with it and to make sure that we are cooperating smoothly, while Maddie and Conner started working on the route choosing strategy to maximize our score and minimize danger of failure.

The initial plan was to do one lap of top continuous ramp, following by the drop, which would be challenging for the tethering. Then, the robot should continue through the middle crossing ramp, going down the step field, turn into the gravel, then to elevated ramps with landings and finally to center. On our way back, we would go for sand for a lap, and then we would finish gravel, ascending through the continuous ramp, turning into the step field bridge, going down another center, then repeating the route till the end of the step field bridge. At this point, we would turn right and ram ourselves over the hurdles, then through the low continuous field. 

This plan would ideally give us 21 points, which would be a very competitive score. The test driving roughly extended from 2PM to 10PM, which was ignored by the oblivious duo of Patrick and me as we kept working until well after 10PM. The team decided to revise the driving strategy based on our test driving performance: we will have to be careful on the drop because the limited space and the requirement of precision, and we will give up the section after the step field bridge because the robot constantly got stuck in the crevice and opening of the blocks when turning.

Here is a video of one of the late night practice runs:

When we came back to the hotel it was after 11PM.  After a quick soda with the team, I started working on the computer vision (especially the motion detection and object identification) of our robot. At around 1AM, I finally had some progress, so I shut down the computer and wished for the best. At that moment I almost wished I was a religious person.

Victor Li 
Mercersburg Class of 2018

Day 6 - Preliminary Round

Having finally gotten our robot working on the tether, we were ready to test out our robot on the various terrains.  The day was scheduled to start with a team meeting at 10:00 am.

We wanted to get to the venue as early as possible, since we had lost out on a 
lot of practice time over the previous couple of days.  "As early as possible" turned out to be less early than we had hoped, but we had the robot fully assembled, tethered and ready to go around the time of the meeting.

The meeting gave us the opportunity to sign up for time slots to be tested on the various terrains.  After randomizing the list of teams, each team could, in order, select a time and a terrain to test, until they were satisfied that they could demonstrate the capabilities of their robot.  Each time slot was 10 minutes, with 5 minutes total to get set up and clear out of the testing area, and 5 minutes to run the test.

In the selection process, the team worked to strategize how to most effectively show what we could do.  They made sure to not put too many bouncy runs in succession, because these tend to rattle the screws loose (even with thread locking glue), and we'd need time to re-tighten them in between.  We took no more than three time slots in a row so that we would be able to switch out batteries for fresh ones.  We signed up more than once for the ones that we needed a little more practice on.  In the end, we were continuing to take more runs when all the other teams were done.  As I said at the time: "We didn't come all this way to sit around!"

Each team member had a job to do when we were setting up and breaking down: Patrick took care of the two laptops that showed the video stream that he drove by. Victor took care of the robot and the tether.  Maddie had tools and fresh batteries, and was the robot's 'pit crew.'  She kept the batteries that were not on the robot charging while the robot was running, and made sure the robot was tightly assembled before starting the run.  Together, they got the robot in and out of the testing area quickly and efficiently, and kept everything humming along.

To test the robot on a terrain, we had to drive the robot from one end of the pallet to the other as many times as possible.  There were 10 terrains, a manipulation and vision test, and a sensor test.  The score on a terrain was calculated by taking a percentage of the best total for the day on that terrain.  So, if the top team on that terrain completes 20 lengths, and another completes 15, the top team gets 100 points, the other team gets 75.  Then, the 11 scores other than sensors were added, and were multiplied by the sensor score.  This favors the sensor score substantially, but this is intentional -- the robot needs to be productive when it gets into the disaster area.  It doesn't do any good to get a robot in that can't do anything.

Personally, I spent quite a lot of time judging other teams' runs, and trying to help the other two Brazilian teams get their robots running.  I watched out of the corner of my eye as our team cranked out runs, one after the other.  On the terrain that we found easiest, I watched Patrick crank out laps, one after the other: back and forth, back and forth, relentlessly clipping off laps, driving mostly by muscle memory.  He said that by the end, he could do most runs on that terrain with only three button presses, if he got the timing right. They had built in a function that allowed them to reverse the robot with a click, switching all the motors so that the back of the robot became became the front.  This made it so we didn't have to turn around, we would just start driving back immediately.

In the end, we didn't test the manipulation and vision because we just didn't build that capability into our robot.  On the other ten terrains, we had the top score on 6 of them, second on one, and tied for third on one.  There was one terrain that required a more flexible camera than we had, so we didn't complete it, but others did, and one terrain that no one was able to complete (though we were painfully close).   We also tied for the highest score on the sensor test.  We had a goal of hitting 60 laps on one terrain if all went just about perfectly; we hit 62.  Last year's best for any team was about 30.

In the end, the scores were: 7th place: Siegal (Brazil) 7.6, 6th: AIT (Japan) 199.5, 5th: Magistry (Mexico) 1308, 4th: King's Legacy (Australia) 1576, 3rd: Tupac (Japan) 1710, 2nd: SART (Australia) 2104, Mercersburg Blue Storm (USA) 3440. Siegal and AIT were eliminated from the competition, the other five teams were invited to compete in the finals.

We couldn't help but be very excited about these results, but we also knew that our robot's strength (speed) was favored in the preliminaries more than in the finals, and that it was bound to get closer.

I was so happy to see the team working together: analyzing the runs, looking to see how we could improve, tuning up the robot, moving equipment to make way for other teams.  It was an amazingly successful day, we've never had anything like this before.  The robot proved to be incredibly durable, it just kept humming along all day, with some care and tuning by Maddie.

We all also spent some time after the runs with the two other Brazilian teams, trying to help them get their robots working.  The Chinese team had given up and left the competition area.  In the end, one of the teams (Equipe Genesis) got everything working and completed some runs during the evening after everyone else went home.

Dr. J (aka Marcus Jaiclin)

Mathematics and Robotics Teacher

Saturday, July 29, 2017

Day 5 - Testing Day

Robocup 2017 marks my third year competing at the international level, and if there's one thing I've learned it's that Murphy's Law is never more applicable than in the field of robotics: "Anything that can go wrong, will go wrong." No matter how prepared you think you are, or how well your robot is running back home, you will ALWAYS encounter problems large in both magnitude and number. 

Going in to day 5, we were feeling more or less prepared. After the extensive amount of time spent planning, coding, and building the robot, we were justified in feeling confident about our robot's capabilities. However, today the inevitable Robocup roadblocks finally caught up to us. Yesterday our robot's radio communication was working as it had been, but today the large scale major league robots on the course right beside us started running and completely took over the radio environment of the venue. That meant we needed to change our robot to accommodate for wired communication rather than the wireless system we had built. Luckily, Patrick came prepared with code for just this situation, but we still had to change around the interior of the robot to make it work. Maddie, Victor, and Patrick worked diligently preparing the interior of the robot while troubleshooting various circuitry and power problems throughout the day. 

Today was reserved for officially scored practice runs. The team leaders, including Patrick representing our team, decided on time slots for different run times. As it turned out, we weren't able to show up and be judged for most of our time slots we chose because we were still working out our wired communication and couldn't run until we were done. Other teams ran into similar (if not worse) problems than we had, and only about half the teams were able to score at all on their scheduled time slots. At the very end of the day, we still had yet to put any points on the board, and they told the remaining teams that if any team doesn't score anything before tomorrow morning than they were disqualified from competing in the preliminaries. Just before everyone was packing up to leave, we finally got our robot function, and did one official run... during which we more than doubled the score of the previous best run all day, qualifying us to compete in the prelims. 

The Mercersburg team this year continues to impress me more and more every day. We showed up to the competition today early and left late, and during that time the team worked tirelessly and diligently. Now that we're finally functional, our team can finally take a breather and get ready for the first scored runs tomorrow. 

Conner Caruso
Mercersburg Class of '16

Here is another great photo from daily train trip to RoboCup!

Dr. Julia Maurer

Thursday, July 27, 2017

Day 4 - Calibration Day

Calibration day! The first day of robotics and building! 

Today was the first time we were able to set up shop, build, and work on our robot for consecutive hours. We got to the venue relatively early (around 9am), registered, and were on our way to meeting teams from all across the world. We set up our multiple suitcases and toolboxes at a small table next to teams from Japan, Mexico, and Brazil. We pretty much got right to work. 

Conner and I worked on building mounts for the Raspberry Pi’s to be stacked on top of each other. I also worked on modifying the designs we had so that the ones we uploaded online would be accurate. 

Patrick and Victor worked hard on modifying code, correcting problems, and practicing driving the robot through the Pi-Cam.

As someone with very little robotics experience outside Mercersburg, I was fascinated by everything that I saw. We took a small walk through the rest of the venue and were able to see the other competitions that were being held such as multiple levels of robotic soccer, major league rescue, at home robot league (robots built to serve you in your house), and junior level competitions. Every robot is pretty much unique and more talented people before have never surrounded me. From the small toy robots that zip around the soccer field, to the human size robots built to serve, every person had created something that was impressively operative. Even our own rapidly manufactured robot competition showed impressive small scale versions of the larger major league rescue robots that could potentially be used to discover victims of accidents and natural disasters in the future.

So far, all I mostly have to say is “wow.” The amount of intelligence and creativity are inspiring and I can’t wait to see all the awesome things this competition brings. 

Maddie Rogers 
Mercersburg Class of 2017