Tag Archives: sensors

Sensors First - Progress Report

I wrote previously about my plans to change how I teach programming to my LEGO robotics students. By including sensor use as a starting point, my hope is to equip students with the experience to know when sensors can do a better job than simply aiming the robot toward the target and hoping for the best.

Yesterday was my first open ended challenge after beginning this approach. Students needed to build and program their robots to retrieve the loops located at the ends of the black line paths. The time available for them to do so was kept short. As one more way to advantage sensors over a trial and error approach, I told them that I might tell them to start their robot anywhere along the line, and that they could only pick up their robot once while retrieving the two loops.

I really didn't need that final requirement. Students quickly figured out how to adapt the line following tricks I taught them to this task. In a forty minute period, all of the teams made progress and were able to make contact with the loop using a collection mechanism.

The most satisfying result? Not a single group spent significant time aiming their robot. They clearly didn't feel the need, which is a step in the right direction.


Sensors First - A Changed Approach

I presented to some FIRST LEGO League teachers on the programming software for the LEGO Mindstorms EV3 last week. My goal was to present the basics of programming in the system so that these teachers could coach their students through the process of building a program.

The majority of programs that students create are the end product of a lot of iteration. Students generally go through this process to build a program to do a given task:

  1. Make an estimate (or measurement) of how far the motors must rotate in order to move the robot to a given location.
  2. Program the motors to run for this distance.
  3. Run the program to see how close the robot gets to the desired location.
  4. Adjust the number in Step 1. Repeat until the robot ends up in the right location.

Once the program gets the robot to the right location, this process is repeated for the next task that the robot must perform. I've also occasionally suggested a mathematical approach to calculate these distances, but the reality is that students would rather just try again and again until the robot program works. It's a great way to introduce students to the idea of programming as a sequence of instructions, as well as familiarity with the idea that getting a program right on the first try is a rarity. It's how I've instructed students for years - a low bar for entry given that this requires a simple program, and a high ceiling since the rest of programming instructions are extensions of this concept.

I now believe, however, that another common complaint that coaches (including me) have had about student programs is a direct consequence of this approach. Most programs (excluding those students with a lot of experience) require the robot to be aimed correctly at the beginning of the program. As a result, students spend substantial time aiming their robot, believing that this effort will result in a successful run. While repeatability is something that we emphasize with students (I have a five in a row success rule before calling a mission program completed) it's the method that is more at fault here.

The usual approach in this situation is to suggest that students use sensors in the program to help with repeatability. The reason they don't do so isn't that they don't know how to use sensors. It is that the aim and shoot method is, or seems, good enough. It is so much easier in the student's mind to continue the simpler approach than invest in a new method. It's like when I've asked my math students to add the numbers from 1 to 30, for example. Despite the fact that they have learned how to quickly calculate arithmetic series before, many of them pick up their calculators and enter the numbers into a sum, one at a time, and then hit enter. The human tendency is to stick to those patterns and ideas that are familiar until there is truly a need to expand beyond them. We stick with what works for us.

One of my main points to the teachers in my presentation was that I'm making a subtle change to how I coach my students through this process. I'm calling it 'sensors first'.

The tasks I give my students in the beginning to learn programming are going to require sensors in order to complete. Instead of telling students to program their robot to drive a given distance and stop, I'll ask them to drive their robot forward until a sensor on their robot sees a red line. I'll also require that I start the robot anywhere I want in the test of their program.

It's a subtle difference, and requires no difference in the programming. In the EV3 software, here's what it looks like in both cases, using wheels to control the distance, and a sensor:
Screen Shot 2014-09-21 at 1.29.24 PM

What am I hoping will be different?

  • Students will look to the challenges I give them with the design requirement built in that aim-and-shoot isn't an option that will result in success. If they start off thinking that way, they might always think how a sensor could be used to make the initial position of the robot irrelevant. FLL games always have a number of printed features on the mat that can be used to help with this sort of task.
  • When I do give tasks where the students can start the robot wherever they choose, students will (hopefully) think first whether or not the starting position should matter or not. In cases where it doesn't, then they might decide to still use a sensor to guide them (hopefully for a reason), or drop down to a distance based approach when it makes sense to do so. This means students will be routinely thinking what tool will best do the job, rather than trying to use one tool to do everything.
  • This philosophy might even prompt a more general need for ways to reduce the uncertainty and compound error effect associated with an aim and shoot approach. Using the side of the table as a way to guide straight line driving is a common and simple approach.

These sorts of problem solving approaches are exactly the way successful engineering design cycle works. Solutions should be found that maximize the effectiveness of a design while minimizing costs. I'm hoping this small change to the way I teach my students this year gets them spending more time using the tools built into the robot well, rather than trying to make a robot with high variability (caster wheels, anyone?) do the same thing two times in a row.

How China Keeps Me Learning: Part I

Ever since moving to Hangzhou, China in August of 2010, I've been amazed at the number of ways it has forced me to use my own problem solving and critical thinking skills. I've remarked inwards that talking about these experiences would help greatly in describing the sorts of experiences I want my own students to have, as well as the factors that have helped me be successful as I've explored. Now that I am taking the time to write about my experiences, I think this theme is a good one to return to from time to time to describe how these experiences I have relate to my classroom.

Hangzhou has a number of truly incredible places within its city limits. Some are incredibly beautiful. A few of them, however, are incredible for how they address my geeky-tinkerer side.

This building is one of two that sit on opposite sides of the road in the North-east section of Hangzhou. Inside are rows and rows of little booths that each sell electronic parts. Some specialize in motors or solar cells. Others have all different electronic components from resistors to circuit boards to jumper wires, all on display.

I've been to this place several times to get parts, other times just to wander around and gawk at the amazing quantity of raw materials there for projects not yet materialized. This week I returned for a different reason. My parents decided to take a big step and visit my wife (Josie) and I here in China, so they have been on numerous adventures with us for the past week. Another post on that is imminent, so stay tuned.

My dad is an engineer and was the first person I thought of when I walked into the building for the first time and saw what was there, so I knew I had to take my dad there for a visit. I also had a vague goal for what I wanted to get while I was there: sensors. Whether for robots or for upcoming units in physics, I knew it would be good to see what was available there so I had more available for experimentation in the classroom and to think ahead.

One other thing to be aware of: I don't speak Mandarin. I know some basic greetings and scattered vocabulary, but don't know 'sensor', 'resistor', or even 'electric' either in symbolic or spoken Mandarin. On every visit to the market, I have always had to resort to sketches and diagrams to communicate. This, however, is the most entertaining and enriching part of these trips to the market - figuring out how to say what I am looking for. This was my first visit to the market since my summer acquisition of an iPad, which together with Google Translate, tended to improve the quality of my communication with the dealers to an extent this time. It was, however, still a challenge.

After some wandering around and some awkward interactions with parts dealers that weren't sure why we were there, my dad and I ended up in a booth with a pair of women intrigued by the site of us in their store. I get the impression on every visit that foreigners don't enter the building with any regularity, so I'm used to it. I pulled out the iPad and entered 'gas sensors' , showing the translation to the women. They pointed to a column of plastic containers beneath a glass counter, gesturing and pointing while saying (in Mandarin) what each one was. Eventually with Translate's help, they ended up identifying the various gases that they had sensors for, and I came to the conclusion that I needed to do more research before making any purchases. Bottom line - they had some great stuff, much of it exactly what I was looking for.

I went through a similar process in getting some platinum temperature sensors and aluminum blocks with strain gauges for measuring a cantilevered force.

Needless to say, the whole experience was a good one. We all left happy and having had a good time. Here's just a start of what's bouncing around in my head for how this experience connects to set up learning opportunities for my students:

I felt free to experiment and play in my learning environment.

I loosely defined goals for my time at the market, but there was no pressure for me to buy anything if I didn't want to. If my attempts to communicate and find what I was looking for were unsuccessful, I would have other chances to figure it out later on. I wasn't being evaluated on my time at the market - I was instead free to have fun and try my best to achieve the goals I set for myself.

How much time do we give our students to experiment and play with the material we want to teach them? How are we making the most of the tools we have available to let them do this?

I had the tools I needed to make up for my weaknesses.

The iPad translating capability really made it possible for me to communicate in the way I needed to communicate to achieve my goals. I do want to learn more Mandarin, but I don't see it necessary that I learn Mandarin completely before I visit the market for my other learning goals. Since my goal had nothing to do with learning the language, but instead to use the tools I had (iPad, electronics market, seemingly amused dad looking on) to reach a desired outcome, I felt free to be creative in how I used the tools to have success.

I speak enough Spanish to be able to have been able to joke and shoot the breeze with cab drivers, store clerks, etc. in the Latin American countries that Josie and I have visited. I have really missed that ability here in China, though I am getting better. The technology lets me be comfortable and interact in a way that makes the entire process enjoyable rather than frustrating. Some frustration is to be expected when trying something new, but not so much to be uncomfortable throughout the process.

How much do the learning goals we set for our students require students have acquired previous skills? How do we address deficiencies in these skills when they arise? Do we give them the tools so they can reach the goals we set for them, or do we modify the goals themselves for these students?

I accepted that I was going to make mistakes, and felt comfortable changing my approach in response to these mistakes.

There were many times when even Google Translate failed to communicate exactly what I was saying (or what the parts dealers were saying) not to mention the challenges that arose in figuring out what I wanted to ask. There were times when I used the Mandarin I did have to confirm that I understood what they were saying, and many times they showed me that I did not. In either case, the dealers were incredibly patient and supportive in figuring out how to help me. It was clear that they were enjoying the process as much as I was, which made me appreciate the time they were willing to take to get me what I wanted. I knew instantly from their reactions to my translated questions whether I had communicated clearly to them, and we were both gesturing and checking that we understood each other as often as possible.

How do we encourage and acknowledge mistake-making as part of the learning process? How do our students feel about making mistakes? How do we develop an environment in which students feel comfortable experimenting and getting things wrong along the way to getting them right?

I love these trips to the market because the feeling of exhilaration and achievement I get when I succeed is worth every moment of frustration. The worst thing that can happen is I walk away empty handed. What usually happens is a scene like the one below:

Somewhere along the line in my classroom, however, students get the feeling that there's a lot more at stake, that others (unfortunately including me) must be judging their abilities when they don't get a question right the first time. Students get the feeling that they shouldn't need to use the tools they have in front of them (graphing calculator, laptop, Geogebra, etc) to learn if they are smart enough. How do I show them that it isn't about being smart, it is about working hard to get it right in the end? Is it enough to value the mistakes they make? Do I need to share my own mistakes in doing things? (This is part of my plan, at the moment, and is partly why I made the decision to commit time to blogging about what I do in the classroom.)

If I can turn my lessons into explorations and activities in which students feel safe experimenting with concepts, sharing their ideas and helping each other learn, it would make every other goal I have for what I want my students to achieve possible. I'm all ears if you have ideas on how to make this happen!