Sunday, December 31, 2017

December 31, 2017

Today, Cooper and Coach Steve built the silliest thing ever - an outhouse to go on the toilet to flip the lever! It's a hilarious idea, and it's effective on the toilet! Pretty soon, we're going to get a guy with a sweating face to put in there as if he was on the toilet! 🤣 Only problem is we can't figure out how to deliver it to the toilet. It's huge!

                                                                 Until next time, keep building!

Monday, December 18, 2017

December 18, 2017 - New SuperPUDS!

We didn't have practice today, but we did work on a new block - SuperPUDSTouch. It just uses the touch sensor to end SuperPUDS, our all-purpose driving block. You can find more on SuperPUDS here. In this case, it uses SuperPUDSVariable, which is the basic version that ends on a variable, with a wait to change the variable to true when the touch sensor makes contact with anything. This specific version of SuperPUDS is different from every other one, because it is built differently than all of the others, based around SPV instead of being a different ending.

We will likely end up changing all of our SuperPUDS blocks to be like this new one.

Why do we need this? For the Hulk mission run (which utilizes the claw), we need to hit a lot of things to know where to go. SuperPUDSTouch will help a lot to find the right position, because we'll know right when we hit the mission model or wall.

                                                                 Until next time, keep building!

Tuesday, December 12, 2017

December 12, 2017

The Brainiac Maniacs came to visit our practice today. We showed them our robot and the missions it could complete. We think they liked seeing how we've been able to combine missions into a single run, with simple driving. They really liked seeing our code and listening to our mission strategies.

How it sits with the new axles
How Mater is supposed to attach
We discovered one problem with the newest changes we made to She-Hulk. The new yellow axles interfere with its ability to open all the way, and then Mater won't fit on the arm correctly. We'll have to change the new axles.

After that, we had the Brainiac Maniacs play the Minefield game we had already set up for them. It's our favorite Core Values Challenge.

                                                                 Until next time, keep building!

Saturday, December 9, 2017

Yellow Pipes and White Teeth

Max worked on picking up the yellow pipe today. The plan is to pick it up using axles that stick out of the front of the claw.

One of the biggest problems was making sure the arm was lifted to the correct height, so that the axles would go in the pipe's loop. But then we noticed that the claw could just slide up the ramp...so we wondered if we might not have to raise the arm at all. If it could slide up the ramp without getting stuck on the front, then the sticks would line up just right.

Max needed something to put on the outside of the claw, that was rounded enough to slide up the front edge of the ramp. Corrugated pipe, maybe? Or, Bionicle Teeth!


First, Max tried installing teeth by using Axle Pin 3s, but those let the teeth rotate, as seen in the above video. That might have worked, but then a second idea was to freeze the teeth in place by locking the axles with a thin beam 2.


                                                                 Until next time, keep building!


Thursday, December 7, 2017

Wall Squaring Woes

In our original design plan, the EV3 Intelligent Brick ("Brain") itself was the back of the robot. This meant that we'd run the Brain's bottom edge into the wall if we wanted to square up.

The problem with this was that the sensor cables' clips touched the wall first. When the robot kept backing up, it unplugged its own cables!

So, we added some beams to be standoffs. They hit the wall first, to protect the clips.

The standoffs worked well during our Regional tournament, but none of our runs there actually used wall squaring. None of our programs had the robot back itself into a wall to square up to it. Once we tried adding such a run, we noticed a bad thing. It didn't work!


Those beams just got stuck on the wall. They would need to slide sideways on the wall for the robot to square itself, but they couldn't slide. So, we added some wheels, and that worked great! At least, for a while.


Our very first mission run (which doesn't do any wall squaring) flips the arm from the back of the robot to the front. When we tried this with the wheeled standoffs, we discovered a problem.



We needed to either move the wheels inward (we tried that, but then the robot wouldn't square up), or rebuild the arm. Yuck! But Soren thought maybe we could just rebuild the "easy side" of the arm, which is the side that doesn't have any gears. Soren actually did that in about 10 minutes, and then we had one standoff wheel out far enough to work.



So now, we can successfully wall-square, but only coming at the wall from one side. All of our run plans only need that one side, so we should be good to go!

Before
After

                                                                 Until next time, keep building!

Thursday, November 30, 2017

What We Would Like to Achieve Before Sectionals

Project

  • Schedule Elementary School visits with MnDOT at Turtle Lake and Snail Lake
  • Complete a bag cost breakdown
  • Add how we applied the data from the survey
  • QR Code on pamphlets
  • Distribute the fliers to the ECFE
  • Ask the city of Shoreview to add a link to our bag site on their city website
  • Edit the script
  • Manufacture and sell bags in shops

Robot

  •  Simplify attachments
  • Add fire truck, well, and toilet to Cooper's mission
  • Add second manhole cover to Max's mission
  • Engineering Notebook (hello!)

Core Values

  • Create a challenge for the 4th grade team
  • Do more Core Values as a team
  • Mentor "Brainiacs"
  • Hold a review with "The Dots"
                                                                                        Until next time, keep building!

November 30, 2017

Today is our second practice after the Regionals tournament and a well-earned week long break. At practice today, we are attempting to fix Hulk Smash by not getting caught on the ramp as often and approaching the manhole cover from a different angle. Also, Cooper will investigate options to flush the toilet.

                                                                                         Until next time, keep building!

Friday, November 17, 2017

SuperPUDS

SuperPUDS is our main driving block and is very important. It combines DriveStr8, which uses gyro errors to drive mostly straight, and PowerUp, a block that gradually changes power over a specific amount of time.



SuperPUDSVariable is the most basic version - it simply ends on a variable. This one needs other action from outside the block to end it, unlike the others which end in the block alone.


SuperPUDS can have any ending condition you need - you can change the variable to a different condition or just use the base SuperPUDSVariable - the latter is used in our new SuperPUDSTouch block.

Overall, SuperPUDS is a very universal block that is very reliable as well. But, we still need to discuss the components.

PowerUp

PowerUp is actually a reference to
Super Mario power-ups. These are a few of them.
Source : https://orig00.deviantart.net/a84e/f/2
014/085/9/1/random_ma
rio_s_power_ups_1_by_superlakitu-d7bqawj.png
PowerUp is the “PU” portion of SuperPUDS. It allows changing the motor power: for instance, it can start the motors slowly and then speed them up. Many teams call this “ramping up,” and the reverse is “ramping down.” (Really, PowerUp is simpler. It doesn’t do anything with motors. It just outputs a number that changes over time. We wire this output into a motor block as the Power input.)

Our old PowerUp was incredibly over-complicated. We didn't know linear functions at that time, so we ended up writing very complicated code that was basically a linear function. Now that we do know them, we can easily write the program in a jiffy!


DriveStr8

Okay, DriveStr8 is really complicated. Get ready.

DriveStr8 is a PID Gyro controller. It didn’t start out this complicated. Originally, DriveStr8 was inspired by Builderdude35’s video “How to Make your Robot Drive Straight with the EV3 Gyro.” He shows how to write a proportional controller: in a loop, over and over,

  1. Read the Gyro angle
  2. Subtract it from the desired heading (call the difference the “error”)
  3. Multiply the error by a gain (this makes it “proportional”)
  4. Wire that into a Move Steering block as the Steer input, so that the Robot steers back to the desired heading.


This is also really commonly used for Line Following, using Reflected Light Intensity instead of the Gyro. This is something every FLL team should learn. Builderdude35 has a lot of videos on Line Following, too. The one called “PID Line Follower for EV3 - The Ultimate Line Follower!” sounds really great, but we watched it and Did. Not. Get. It. What is PID?

YouTube has lots of videos on PID. They tell you that it stands for “Proportional Integral Derivative.” We know what proportional means. The other two words are from Calculus, though. Finally, we found a video that explains it as past, present, and future errors, and that made enough sense for us to figure it out.

Present error is the current error in the Gyro. This is the P term, for Proportional. There are two big problems with using just a proportional Gyro controller:

  1. It wobbles a lot.
  2. It settles on the wrong value most of the time. (Ask for a heading of 20, and you’ll maybe get 17 or 22 instead.) This doesn’t seem like a huge deal, as the Gyro’s accuracy is supposed to be 3 degrees anyway, but we wanted something more reliable.



This picture shows a test we did, with a marker taped onto the robot. The robot started with a Gyro reading of 0, and we ran SuperPUDS for 5 seconds with a desired heading of 20 degrees. The orange lines show it driving with only proportional control (using only the present error). It’s really wobbly in the beginning, and in three different tests, it didn’t do a very good job driving in a repeatable path.

Here’s a corresponding plot of the Gyro readings. The orange line was from one of these tests. You can see that it settled at around 17 degrees.


Fixing the Wrong Value Issue

The fix for the “wrong value” issue is the past error. This is sort of like the robot attempting to learn from its mistakes. It adds together all of the previous errors. That’s a bit strange, so let’s say it again: the past error adds together all of the previous errors. Why would you do this? Because it tells you if you’re continually wrong to the same side. If, instead, you wobble back and forth, then the cumulative value is around zero. If you’re always wrong to the same side, then the cumulative error keeps growing.

So, we can take the past error times a gain, which is typically low for later on when the numbers get big. This helps the robot get aligned to where it should be, not where it’s been if that was wrong.

The blue lines in the above pictures show what happens when we include the past error. It gets the 20 degrees correct, but it’s still wobbly at the beginning.


Fixing the Wobbles

We can fix the wobbling by asking the robot to predict the future. This is based on the gyro rate, which the robot kindly will give us. This means we don’t have to guess what it is. If the gyro rate is high, then the robot is steering hard, and it will probably overshoot the desired heading. Did you catch that? We’re predicting the future heading, based on the current rate! We can apply another steering correction to counteract this. Being able to accurately predict allows for straighter driving more consistently. The green lines in our pics show the effect of including the future error. Notice how consistent they are, compared to without the future correction!

Is your mind blown?

                                                                 Until next time, keep building!

Thursday, November 16, 2017

Mission Run 3 Rundown

She-Hulk

Includes-

Manhole Covers
Pipe Removal

This run is worth 80 points.


Manhole Covers

This mission is the bulk of the points of this run. It's worth 60 of the 80! That's 75%! Anyways, what happens is the She-Hulk attachment, a claw, grabs a manhole cover, and the claw turns and opens to drop the cover, now flipped. This happens to both covers.

Pipe Removal

This is the yellow pipe in between the ramps. What our robot does is uses those green and yellow extendo-arms on the claw (look on the right side of the left image - you'll know what I mean) and pulls up by the loop on the pipe.
                                                                 Until next time, keep building!


Mission Run 1 Rundown

Mater Mission

Includes -

Filter
Pump Addition
Flow
Rain

This run is worth 95 points.

Filter

For this starting run, we simply have the robot drive forwards, with a giant rack called Mater attached to the arm. There is a red lever on this, which hits the button as the robot drives forward for the next segment.










Pump Addition

This is quite a simple run. The robot merely drives forward, then left to put the pump in place.











Flow

While Pump Addition is going on, the robot is getting ready for its next move. It uses another little lever on Mater to push the box up and get the water out. This helps the other team as well.



















Rain

For the last segment, the Mater rack goes out as the robot drives back. It pushes the small brick to drop the rains, then leaves the rack there for the rest of the run.


                                                                       Until next time, keep building!

                                                                         

Basic Mission Overview

For our missions this year, we have 2 big mission runs (a third one is in the works). We have planned out a spreadsheet evaluating all of the missions by difficulty to navigate to, difficulty to activate, maximum points, potential groups with other missions, and attachments we can use. Here is the spreadsheet we used to do all of this research in to the missions.
                                                             
                                                                              Until next time, keep building!

Wednesday, November 15, 2017

November 15, 2017 - Batmobile!

Today, Cooper finished tweaking Batmobile to where it needs to be for Regionals. Now, it drops water in to the fountain after driving over, turns the faucet, and uses a mini-attachment, Robin, to swing the slingshot in to the target. This is our final mission run in order, because the robot needs to stay by the faucet to keep it turned and to keep the slingshot in the target.

Also, most of our team went to a practice for the Brainiac Maniacs to mentor them on how to be a better team. We discussed important Core Values items and practices, like not saying "no". We also analyzed their robot chassis, reviewed the missions, looked at their programs, suggested they use more MyBlocks and implement more sensors, and encouraged more code commenting. We also told them a lot more. It was very helpful for them!

                                                                 Until next time, keep building!

Saturday, November 11, 2017

November 11, 2017

Well, Regionals are one week away, so naturally we've decided to write a complicated new program.

Vaughan started writing a Master Control program, which selects a mission run based on what color the color sensor sees. We had this idea several weeks ago, to avoid having to push a button on the robot and risk pushing it out of alignment.


We wanted to make sure the sensor would reliably detect the color we were showing it, so we did some testing.


We placed each of the "cards" in front of the sensor, and watched Port View.

  • Red: 4 away from the guard, and 5 against the guard
  • Blue: 3 away from the guard, and 2 against the guard
  • Black: 1 or 3 away from the guard, then 1 or 3 against the guard
  • Light Green: 3 away from the guard, and 2 against the guard
  • Green: Always 3
  • Yellow: 1 away from the guard, and 4 against the guard
  • White: 1 away from the guard, and 6 against the guard
Translating into colors, that's
  • Red: Yellow away from the guard, and Red against the guard
  • Blue: Green away from the guard, and Blue against the guard
  • Black: Black or Green
  • Light Green: Green away from the guard, and Blue against the guard
  • Green: Always Green
  • Yellow: Black away from the guard, and Yellow against the guard
  • White: Black away from the guard, and White against the guard
So, if we use Red, we shouldn't use Yellow. If we use Blue, we shouldn't use Green. And we just shouldn't use Black at all.


                                                                 Until next time, keep building!

Thursday, October 26, 2017

October 26, 2017

Today, Joe built the Mater Arm.  They also started to program the filter mission.  The idea for Mater came from a previous mission build. It was used because there are a lot of things in a line. One restraint was the base size and how long we needed the arm to be. An idea we liked was they changed the rule about junk on the field and so we decided to dump the arm out and leave it on the field. The rack-and-pinion was also used to easily get around and activate obstacles.

                                                                 Until next time, keep building!

Thursday, September 28, 2017

September 28, 2017

Today, we started talking about snow as a possible Project topic. Both of our coaches say their kids like to dig forts into the big piles of snow that snowplows push into their yards, and the parents are always worried that it's going to collapse. We could look at ways to make snow play safer.

Cooper didn't think it was a good idea. He thought snow forts wouldn't qualify as an appropriate HYDRO DYNAMICS project.

Vote totals at the end of the meeting:
  • Sprinklers - 1
  • Shower pad - 3
  • Snow forts - 2
  • Don't care - 1
We don't have agreement from everyone, so no decision yet.

                                                                 Until next time, keep building!

Saturday, September 23, 2017

September 23, 2017

Max and Soren finished building the arm today. It's pretty cool! It fits around the chassis and brain, so it can flip over to either the front or the back of the robot.
 

Afterward, we accidentally let Max's dog Lucy out, and had to chase her around the neighborhood.

                                                                 Until next time, keep building!

Tuesday, September 19, 2017

September 19, 2017

Today, Max earned his title "Designated Adult." It was his turn to run practice, and he decided that we all needed to put away the LEGO and work on Project, since we don't have a Project at all yet. Coach Steve was sad, but he said it's good that at least one person is adult enough to say we need to do Project work. We looked for ideas about lawn sprinklers and shower heads.

                                                                 Until next time, keep building!

Thursday, September 14, 2017

Meet the Team!

Here is the info on every member of the Brickstormers Team!

Cody



Jobs: MyBlock creator, Core Values challenge designer
Interests: Video Games, Plush Toys, Pokémon
Years in FLL: 4
Fun Fact: I have almost 100 plush toys!

Cooper

Jobs: Building big attachments
Interests: Sports, video games, books
Years in FLL: 3
Fun Fact: One of my friends does not like cheese and bread.
Joe

Jobs: building and dropping fancy things
Interests: Making new LEGO animals
Years in FLL: 2
Fun Fact: Likes omelets

Max
Jobs: Building, being the designated adult
Interests: Football, Cello
Years in FLL: 3
Fun Fact: He has played the cello for 4 years





Spencer

Jobs: Building, being bossy (in a good way)
Interests: Baseball, snowboarding
Years in FLL: 5
Fun Fact: Part of the original Brickstormers


Soren
Jobs: Building, having enthusiasm
Interests: Acting, video games
Years in FLL: 3
Fun Fact: Soren went on tour for a play (Matilda).








Vaughan

Jobs: Programming, fidgeting
Interests: Video games, Video games and Video games
Years in FLL: 1
Fun Fact: He has played piano for 3 months






And now, the Coaches!

Stephen (Steve)

Jobs: Coach
Interests: Lego
Years Coaching: 5
Fun Fact: My real job is programming supercomputers to do scientific simulations.




Tara

Jobs: Coach, wrestling referee, snack provider
Interests: Core Values
Years Coaching: 5
Fun Fact: By day, I am an IT consultant.  By night, we play with LEGO and enjoy watching the team complete Core Value challenges and play a little Pokémon too.

That's the whole team!

                                                            Until next time, keep building!

Tuesday, September 12, 2017

September 12, 2017

So here's the plan.

  1. Drive north from Base, using a rack-and-pinion arm (called Mater, in honor of a similar attachment we used in TRASH TREK) to do Filter, Pump Addition, and Rain. Run into the pump to complete Flow.
  2. Drive east from Base, pushing a cart (Robin) to the Fountain to deliver a Big Water as the robot drives past. The robot will have a huge arm that can flip over the top of the robot. Use it to flip the manhole cover, and throw the yellow pipe base to Base. Drive over the ramp, flip the other manhole cover, and use the arm to flip the firetruck over the robot to put out the fire. Take a penalty to return to Base.
  3. Drive east from Base to go do the Faucet, Slingshot, and Water Well.
Over the weekend, Max and Soren spent five hours starting to build attachments. Max built Robin (which works really well), and Soren accidentally found an idea for flipping the manhole covers.

                                                                 Until next time, keep building!

Thursday, September 7, 2017

September 7, 2017

Today, we decided that our Missions spreadsheet didn't really indicate which Missions were best: with only a couple of exceptions (that are really difficult), they're all about the same number of points. It looks like high-scoring teams will be the ones who just do a lot of missions. So, we're going to look for mission runs that can include several different missions in one run.

                                                                 Until next time, keep building!

Tuesday, August 29, 2017

August 29, 2017

Today was our pre-season practice, and we met at Davanni's to talk about the new challenge. We looked at the Project, and completely ignored it and went straight to mission runs. We also made some spreadsheets for mission runs and how hard we thought they were, and a task spreadsheet.And, of course, we ate pizza.

                                                                                  Until next time, keep building!