This deep-dive article records the exploits of the "Fins, Feathers and Fur" team in the 2016 Animal Allies FIRST® Lego® League season. It is for the interest of those thinking of starting their own team, or perhaps even other teams. There is a shorter, more general article at http://www.ros.net.au/robotic-innovators/2016-first-season.
How it all began
Our journey began when Ben Stanley visited the FIRST Lego League "Trash Trek" Australian Nationals at Macquarie University on 5 December 2015.
Ben saw teams competing in the Robot Game, where students must design, build and program their own robot made out of Lego to solve missions and earn points. The robot is not remote controlled, but must perform its task autonomously. Furthermore, if the robot breaks down, a penalty is imposed for retrieving it back to base. The robot game is played with dance music playing, and a party atmosphere. The referees and judges get dressed up in funny wigs and outfits. Everything at an FLL tournament is a bit strange.
Teams also present a research project, where they investigate a topic, find a problem, come up with a solution, and tell others about what they learned.
All this is done under the Core Values, emphasising teamwork, Gracious Professionalism®, what we learn is more important than what we win, and having FUN! The core values were on display on the day as teams encouraged each other to do well, and shared the results of their research projects with other teams!
Ben saw that these students had worked on problem directed learning - finding problems, and searching for their solutions. This process turns the normal classroom on its head, placing the students at the centre of the learning process.
Ben was so inspired by what he saw that he decided he had to start his own team.
Preparations began in January, with the building of the special tables for the robot game. In April we started meeting once a week in the evening at Toongabbie West Public School. Various students tried out their skills on the "Food Factor" challenge from 2011. We worked on coming up with a basic robot design that would be robust and reliable enough to navigate by dead reckoning. We had great problems getting the robot to drive the same path each time a program was run. We found that our robot was not rigid - it had a lot of flexibility. Even worse, the axles supporting the robot were flexing, and allowing the wheels to change angle. This did not help repeatable navigation. Better to learn this early in the year rather than later. We accomplished just a couple of missions from the Food Factor challenge, but we did come out of that time with a prototype robot. Youtube Video
Further work led to a rear attachment to help with lining up the robot in base before launching it on missions. The attachment was aligned into the corner of the table, firmly establishing the origin position and helping to point the robot. Unfortunately, this particular rear attachment was not robust enough to point the robot reliably.
Since we knew the theme of this year's challenge was "Animal Allies", we also chose a team name at this time. Jennifer suggested "Fins, Feathers and Fur" to tie in with the challenge theme. With no other suggestions, the team went with it.
Even before students joined the FLL preparations, they had all attended RoboCamp with Robot Obedience School.
2016 Challenge "Animal Allies"
When the "Animal Allies" challenge was released in August, we held a mission model assembly party, which was well attended, and the visitors really enjoyed it. The picture shows the blind man for mission M02 Service Dog Action, and the shark in its tank for mission M01 Shark Shipment in the background.
A death in the family wiped out FLL practice for most of September, but we started to meet seriously and regularly during the school holidays at the end of September. Many thanks to Michael Dlabaya for clearing out his garage for the team to meet at! The team members also stabilised at this point. Thanks are also due to the families who supported the team to meet often enough to make significant progress during October, often arranged hastily as circumstances allowed using WhatsApp.
During this time, the team continued to evolve our robot design. The robot flexibility problems were addressed by Oliver, who added additional wheel axle supports, and external framework around the outside of the robot. The external framework had several advantages for us:
- Extra wheel axle support to prevent wheel axle flexing
- Helps with using alignment jigs to aim the robot before mission launch, improving mission repeatability.
- Prevents mission models from becoming fouled by the robot wheels.
Various wheel arrangements were considered, built and tested:
- Two independently driven wheels with tyres and ball bearing castors (the ball bearing castors were found not to pass reliably over the service dog fence, so these were abandoned)
- Two independently driven wheels with tyres and swivelling castors (these were found to adversely influence dead-reckong, and were abandoned)
- Two independently driven wheels with tyres and two passive wheels without tyres. (The passive wheels slide over the mat and allow the robot to steer reliably, without influencing dead reckoning)
In the end, the third configuration prevailed, as it was found to be the most reliable and passed over the service dog fence.
Various tyres were also considered. We had plenty of the "Default Motorcycle Wheel" #2903/2902 commonly available with the NXT sets. However, this tyre compresses easily under load, changing its radius, which in turn makes dead reckoning unreliable. A YouTube Video (see 6:19) provides an excellent insight into the influence of various types of wheels on dead reckoning. The wheel #32020/#32019 seems to be a good choice, and we had plenty of them (see set #42043), but the team recognised that changing wheel would require re-work to their programs and chose to stay with the default motorcycle wheel #2903/2902.
For most of this time, we had students practising missions with different robots! Despite many exhortations to choose one robot design and clone it, this situation persisted until almost the last week of practise. Eventually, the team took a vote to select the design they would take to the tournament. The process of cloning proved to be very difficult. A key step seems to be to dismantle the master design and take photographs of every step so that it can be re-assembled multiple times.
After the single master design was established, programs written for the other robot designs had to be adjusted and tweaked to work with the new robot.
Our final robot had four motors, although our missions only used a maximum of three motors at once. Different missions used different motors. Initially we had light sensors pointed at the mat, but in the end nobody used them in their missions. They were ripped out during integration when we found the robot was getting stuck on the Service Dog warning fence.
Attachments were bolted on using pins wherever was most convenient. A single dog-gear on the front and an axle socket on the back provided a driving force.
All of the missions in the Animal Allies season are explained in a YouTube video.
Our team attempted six missions:
- M01 - Shark Shipment
- M02 - Service Dog Action
- M03 - Animal Conservation
- M06 - Milking Automation
- M10 - Beekeeping
- M11 - Prosthesis
Lucas kicked off the mission solving with his contribution of the Service Dog Action. Building on that success, he also got the Milking Automation to work. At one point, he could also return from the Milking Automation to base, but he didn't save that program and lost it. He never re-created it, so the Milking Automation was selected to be the final run of the match.
Owen joined the team and within just a few hours, wrote a program to solve the Shark Shipment mission to the first position. The second position was talked about many times, but the extra points were judged not to be worth the risks or effort required.
Dominic initially told me he couldn't program, but with some encouragement from mum and coach he tried, and surprised himself! He found he could get the robot to the Animal Conservation model, and with a bit of fiddling around, he could even align it! This was a great confidence booster for him. Further work also led to the robot operating the mechanism and returning back to base. We had great difficulty with our exchanger mission model. Those at the tournament worked much better than ours did. We also had problems with repeatability of positioning, which Jennifer solved by adding an attachment to the robot that would self-align to the exchanger model.
Lucas comes up with a lot of ideas, some of which prove to be very useful. One day he was playing with a carriage that happened to fit on one of the table walls. He thought it could be used for delivering manure samples to the research area. Oliver took this up and wondered if he could build an under-the-robot attachment that would use the wall for guidance, but be raised on stilts to move over the inconvenient ramp. Oliver progressed this "gantry" to include a drive train, and provided gears on the robot that could mesh with equivalent gears on the gantry. Some ideas were explored to be able to sit the robot on the gantry, to mesh the gears together, to be able to drive the gantry from the robot, but these were not completed.
Oliver built a one-way capture attachment that allowed him to grab the bee and the pig, and another attachment that allowed him to deposit the pig in the farmyard and the bee on the beehive and collect the honey. This attachment also utilised a self-aligning mechanism which would correct small errors in robot alignment.
The team built various jigs to help align their model in base to improve repeatability of the missions.
Only two team technicians are allowed up to the table to run the robot game. The team chose Oliver and Lucas to be their team technicians, changing attachments and selecting programs to run.
We didn't manage to squeeze all of the missions we could do into the match time of 0:02:30, so we had to pick and choose. After some arguing and bruised egos, the team chose together to abandon M10 in favour of M03. This was a pivotal team-building moment.
The missions were only integrated into a single run on the day before the tournament. One run was performed, and significant issues identified. At least one student was working the table all day on the day before the tournament trying to get things ready. It is the only time we met all day. In the end, we abandoned and went home due to the time, not because we felt we were ready. We would have to continue integration at the tournament!!!
Oliver attempted to build a master program the day before the tournament, but it was too late to pull that together. Instead, all the programs were integrated into one project. The technicians launched their programs from the menu built into the brick.
In the beginning, the team discussed various animals and problems that might go with each one. They narrowed their choice down to rabbits, whose problem was being used for animal testing, and sharks, who keep being killed by humans who fear being bitten, or who like to eat their fins. Research was principally performed by Jennifer, who explained her findings to the rest of the team. After finding that animal testing was banned in Australia, the team chose to focus on sharks instead.
The team visited the Sea Life Sydney Aquarium and attended the talk by the shark keeper.
The team turned their attention to the problem of sharks attacking swimmers. Jennifer consulted a marine biologist for advice, receiving a comprehensive reading list in return. (Thanks due to Sabine Piller.) Unfortunately, the reading list overwhelmed Jennifer. YouTube videos proved to be much more accessible to these young students. Discouraged and dispirited students were motivated by "encouragement" rewards for effort.
The team chose to present their project using a skit. Jennifer wrote the story to illustrate the problem, provide a solution, and then illustrate how it worked. Late in the process we discovered that some team members were less comfortable with acting than others. Those with experience performing at Wakakirri and Celebrating the Arts stepped in for acting parts (thanks Jennifer and Oliver). Owen also took an acting role, supported by Lucas and Dominic as stage-hands working the props. At the tournament, the team presented their skit with confidence and enthusiasm.
We talked about the core values from time to time, without focussing exclusively on them. I asked the team a few questions about what they would do in various circumstances, urging the team to consider a core values response. We also used situations as they arose to encourage core-values responses.
Our team spirit was supported by the design for the T-shirts, which started with an idea from Oliver. Starting with our team name, "Fins, Feathers and Fur", and tying in our project animal, the shark, Oliver wanted a picture of a flying tiger shark for the team mascot. Oliver selected some pictures from the internet to try to combine in to the desired result, but the magic of Photoshop (or GIMP in our case) proved to be too challenging. Mum stepped in and provided first and second prototype applique designs. The first prototype design met with the response "I won't wear that" from a few of the team members. A second prototype in different colours met with a much more favourable response - "That's Awesome - no, that's Jawsome!". There were even arguments over whether it looked more jawsome going to the left or to the right. "Jawsome" became our team chant. Several mothers, some of them ring-ins, embraced the doctrine of just-in-time manufacturing and fabricated the shirts a few days before the tournament. (Thanks to Tammy Stanley, Martha Irvine and Pennie Allain.)
We did several team building exercises, taken from ev3lessons.com, The team really loved these, and kept asking to do more. I think they would have done only team building exercises if I had let them!
The first exercise that I gave the team was to "be the pacman". They had 5 minutes to organise themselves to act out the pacman game. They took about 10 minutes to figure out their maze - the first time, they made it too small! But then they got into the groove and there were ghosts chasing the pacman around.
One exercise that the team really loved was for all the team to stand on a blanket, and then tell them to fold the blanket in half, without stepping on the floor. They all had to work together to solve that! They managed to fold the blanket in half twice, but only by getting to know each other better!
One unique exercise that I did with them was to build a replica set of animals for M03 - Animal Conservation. I paired them up, and gave one team member the instructions, and the parts to the other. The instruction reader had to explain to the assembler what part to grab and where to put it. This challenged the team to work on improving their communication skills, and to learn how to name Lego parts!
2016 "Animal Allies" Tournament - Macquarie University Regional 2
This was the first time Robot Obedience School has sent a team to a tournament. We knew our robot game needed fixing, that our project was under-prepared, and we were nervous about how much our team really knew about the Core Values. We were so nervous about turning up, to the point that some considered withdrawing. We obviously weren't alone in having those thoughts. Out of 20 teams registered to attend, 8 called in on Friday and cancelled because they "weren't ready". Another one team didn't show up or explain, leaving 11 teams on the day.
Our team blew us away with their performance.
- First robot game scored 50 points, landing them at the top of the score board!
- They explained their robot design off-the-cuff at the robot design summary.
- At the core values judging, all of the team members pitched in to explain how they had contributed as a team and to answer questions.
- During the project presentation, the skit went better than it could have, and again all team members pitched in and answered questions.
- Time at the practise tables helped to iron out some integration problems.
- Second robot game scored 64 points, with a few penalties. Our technicians learned a few lessons in strategy. We were 4th on the score board.
- The Master of ceremonies promised that if any team cracked 100 points, one of the referees would do "the worm". We weren't quite sure what that was, but it sounded good!
- More time at the practise tables helped solve some problems with the Animal Conservation mission.
- Third robot game scored 131 points, taking us to the top of the robot game score board!!!
- We all chanted for the referee to do "The worm", which was duly performed!
The technicians worked hard changing over the attachments on the robot, and launching the next program to complete the next mission and get more points.
The Worm was really spectacular. The photograph doesn't do it justice.
The kids were so excited to see what the other teams had done, and to offer help with what they had learned in the robot game. I received comments back saying how well my team exhibited Gracious Professionalism. And I was blown away that they topped the robot game score board and won the Robot Performance Award with 131 points!
The Masters of Ceremonies helped us to celebrate our achievements by posing in the picture with us!
Overall, the coach and parents were thrilled with the performance of the Fins, Feathers and Fur team, who surprised us all and pulled a rabbit out of a hat!
After the Season
After the season, the FLL fun continues. We have the opportunity to visit other teams and share what we have learned. We can participate in exhibition matches to demonstrate FLL to the wider public. All of these continue the learning opportunities offered by the FLL program.
I have watched my team members become more confident in their abilities. They have changed. Those who said "I can't do that" have had a go and discovered that, indeed, they can do that! And they have done it! And earned themselves a trophy for doing it!
FIRST® LEGO® League is a jointly held trademark of FIRST® (www.firstinspires.org) and the LEGO Group, neither of which is overseeing, involved with, or responsible for this activity, product, or service.