No announcement yet.

iPad/Chrome EV3 software is so disappointing...

  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Look it up. There are many youtube videos about proportional line followers


    • #17
      This is going to be a lesson on line following. I give this same lesson to the kids on my teams each year.

      We call it line following, but really we are edge following. You can tell the robot to use the light sensor to send a reading back to the EV3. The EV3 can then take that reading and do something. For instance, if you wanted to follow the black line, initially you could say "Robot, if you see black, go straight. If you see white.... well...." And there's the problem. The black lines on the FLL table are surrounded by white lines. If the robot sees white, it doesn't know if it is on the right side or the left. So we have to change our approach. Edge following to the rescue.

      To keep things simple, let's just say we tell the robot it's target is 50% light/dark. You pick a particular side of the black line to follow. Let's say we choose to follow the right side. Now, if we see too much black, that means we need to turn right towards the white side. And if we see too much white, we need to turn left towards the black. That's where the proportional control comes in. Since I was targeting 50%, let's say now I only see 45% (lower percent means less reflected light). So that means I am just a little too much in the black, so I adjust my steering just a little. But if the reading goes even lower, say 25%, I can seer even harder back towards the white. The amount of steering is proportional to the error.

      Now, there are ways to line follow without proportional control. You can tell the robot to look for black or white. If it is dark enough, call it black. Otherwise it's white. Now, if the robot is seeing black, you turn to the white with some set amount of steering. And if it sees white, you turn to the black with some set amount. This sounds like proportional control, but with this we don't know "how black" or "how white"--only it is black or white. 1 or 0. No in-between. See the problem here? The robot is always turning. It never goes straight. So the robot wobbles a lot with this. Proportional line control can be very, very smooth and steady, and quite appropriate for FLL. Honestly, I have never seen a team use the WHITE-BLACK non-proportional line following, probably because it is so wobbly. I'm sure there are some teams out there trying it, but I have not personally seen it. I think most teams would just choose to not line follow. Many teams don't do any line following. Last year my team used line following. This year we did not.
      Norfolk, Virginia, USA
      FLL Coach and Regional Tournament Head judge since 2014


      • #18
        Yes sure! I saw the problem now!
        With proportional we can run, not only using 1 or 0, moving right/left.

        I found this interesting video:

        And with tablets I will not be able to use porportional control but since in the FLL it is not necessary to follow the lines, can be done in other ways from what I understood.

        Thanks a lot for the help!!


        • #19
          The proportional control can also be used for other things. You can use it to follow a heading from your gyro sensor. You can use it with the ultrasonic sensor to stay a certain distance from a wall. The program is very simple to put together and highly effective for helping your robot know where it is. Again, if possible, I think you should try to use a Mac or PC to run your programming.


          • #20
            Using proportional control to help solve the challenge is perhaps the least important argument for preferring the full featured application. From a competitive standpoint there is no benefit from using proportional control. I can make a really smooth line follower using a switch block and the same logic can be used to make an ultrasonic wall follower or a (heaven forbid) follow the gyro heading follower. None of this is terribly difficult and none of it offers an advantage in competition. I know this to be true because I judge teams all the time that do not use proportional control and still somehow manage to get really high scores and write impressive programs.

            I really like proportional control even though other than for demonstration purposes I almost never line follow or use the ultrasonic sensor to follow a wall, and I most definitely never use the gyro to make the robot "drive straight". I see no benefit in any of that, but I see a big benefit in proportional control. I proportional control to introduce the concept of mathematical modelling. There is something very pleasing about watching the robot wind its way around a long course marked out using electrical tape. It is very unlike commanding moves of fixed duration. Instead of looking all mechanical and dare I say "robotic", a robot smoothly following a line looks almost organic, almost intelligent. That must be a really complicated program, right? And then you unveil that that this magic is accomplished with one subtraction, one multiplication and a loop. Wow!

            I introduce teams to proportional control not so they will use it, but because I know they will want to use it and I can use that to introduce other mathematical concepts. Math sure was useful in that proportional controller. What else can we use math for? I bet we could use math to tell the robot how far t drive. It sure is annoying commanding move duration using degrees or rotations. Those aren't units of distances, so why do we use them? What is a "unit of distance" you ask? A unit provides additional information about a number when that number is used to represent a quantity. If you ask "How long is it before we have our snack?" you would not be satisfied if I said "Five". Is that five seconds or five minutes or five hours or five days? Seconds, minutes, hours and days are all units of time, and they are just as important to my answer as the number. Distance can be measured in inches of feet or miles or meters or centimeters. Degrees and rotations are angle units, not distance units. If we write our programs using distance units it will be easier to understand (move 8 inches is more meaningful than drive 0.75 rotations), and we can even change our robot design (wheel size and track width) and still have our old programs work as long as we correct the distance to motor duration conversion. After using math to compute motor duration for driving straight we might do the same for turning.

            None of this is really possible with the programming app. The ironic thing is it is usually schools that force iPads or Chrome book usage and in doing so limit opportunities to use FLL as a teaching tool. You still have the problem solving and research parts of STEM, but math and a lot of engineering are lost. The tablet app strikes even deeper in how much it limits what teams can learn about programming. I love my blocks. I really love my blocks. It saddens me each time I judge a team that doesn't use my blocks because I know how much other teams enjoy making their own programming tools. Here is this thing you just wrote that has a little block, just like those move blocks and wait blocks that come with the software. I can use my little block that I made in my program, and my teammates can use my little block in their programs. We might even use my little block to make another block. The my block tool provides a doorway to talk about things like software design, making reusable components, modular design, abstraction, separating implementation from interface, extensibility, building tools, programming frameworks, the list goes on and on. Now I don't drone on and on about these concepts, but when the team makes a my block I try to slip in a few terms while talking up just how awesome that new my block is and how they just discovered, all on their own, this fantastic idea that is so important to computer science

            So even though the tablet app will allow writing programs for FLL it is a terrible, horrible tool. Don't use it. Please don't use it.
            Last edited by Dean Hystad; 02-19-2019, 11:48 PM.