Play
Part 1 - Step by Step
- InstructInstruct students that they are going to build on what they have learned in previous Labs to complete a challenge. The goal is to have the Code Base collect three Martian rock samples (all three Disks) from different locations, and deliver them to the correct sorting area based on their color. Students will use the [My Block] that they created with you in Engage to sort the Disks. They will need to create a project that drives to collect each of the Disks, and uses the [My Block] to sort them when the Code Base returns the Disks to the Mars base.
- Show students the new Field setup with the Disk placement and sorting areas marked with the ‘R,G B.’ You may want to have them mark the Disk locations with a dry erase marker to make sure that they return the Disks to the proper locations during testing.
- Students will build this project with their group, then test it on the Mars surface (the Field). This animation below shows one possible way that the Code Base can move to complete this challenge.
Video file- Provide students with the drive distances to collect the Disks, so that they can focus on the sequencing the code for this project.
- To collect the Red Disk - 400 mm (~16 inches)
- To collect the Green Disk - 425 mm (~17 inches), turn, 300 mm (~12 inches)
- To collect the Blue Disk - 150 mm (~6 inches), turn, 400 mm (~16 inches)
- ModelModel for students how to get started with their projects in VEXcode GO.
- If necessary, show students how to connect the Brain on their Code Base to their device in VEXcode GO. Because connection steps vary between devices, see the Connecting articles of the VEXcode GO VEX Library for specific steps to connect the VEX GO Brain to your computer or tablet.
- If necessary, model the steps from the Configure a Code Base VEX Library article or show students the Configuring your Robot tutorial in VEXcode GO, and ensure students can see the Drivetrain blocks in the Toolbox.
- Once the Code Base is configured, students can build their projects. If they have not done so already, have students name their project as Geo Challenge and save it to their device. See the Open and Save section of the VEXcode GO VEX Library for device-specific steps to save a VEXcode GO project.
If necessary, model for students how to test their project on the Field.
- Show them how to set up to test by placing the Code Base at the Mars Base, and each of the Disks in the positions shown in the image below.
- Once the Code Base is in place, select 'Start' in VEXcode GO to test the project. Show students the Start a Project tutorial video in VEXcode GO if necessary.
For students who finish early and need additional challenges, have students switch the Disk locations and adjust the code have the Code Base drive to collect the Disks. Does your project still work? What do you have to change to have the Code Base collect the Disks from the new locations?
- FacilitateFacilitate a conversation with students as they test their projects.
- How does the Code Base need to move to collect the Disks? Can you show me with your hands?
- Does the Code Base need to turn? How far? In which direction?
- How does the Code Base know what color the Disk is? What blocks are used to have the Code Base detect the color of the Disk?
- At what point in the project should you add the [My block command]?
- This should be after the Code Base has collected the Disk and returned to the Mars Base starting location.
Prepare students for the trial and error that is an intrinsic part of this challenge. You may want to use the Problem-solving Cycle graphic from the Background page as a visual aide to establish a structure for the problem-solving process with your students. See the Preparing for the Open-Ended Challenge in this Unit section of the Background page for more strategies to help students troubleshoot their projects and come up with their own solutions.
Encourage students to use [Comment blocks] to plan and organize their projects as they did in previous Labs. The following image is an example of how [Comment] blocks could be added before they start adding to their projects to complete the challenge.
If students need additional support to troubleshoot, use the Project Stepping feature to help students go through their project one block at a time to see how each block is being executed in their project. For more information on how to use the Project Stepping feature, view the Stepping Through Blocks tutorial in VEXcode GO.
Focus on the concept, not the precision.
- The goal of this Lab is to focus on the concept of using the Electromagnet and Eye Sensor in a project. If students slightly misaligned their robot, or the Disk is not exactly in the right place when they drive to it, let them know that it's ok to move the Disk slightly to make sure it gets picked up by the Electromagnet. Also, let students know that it’s okay to nudge the Disk into the sorting area if it is mostly, but not completely in the sorting area square.
- Students might not get to the 3rd Disk due to accumulated error. If the students don’t get the Code Base to the 3rd Disk, allow them to push it to the Code Base. You can contextualize this as an effect of unpredictable Martian winds affecting the moves and turns of the the Code Base. The goal of the challenge is not to address the precision within the drive parameters, but rather to focus on coding with conditionals and [My Blocks] to complete a challenge.
- RemindRemind students to check the parameters in the [Drive for] and [Turn for] blocks to make sure the project has the correct distances needed to collect then sort the Disks.
- Remind students to look at the highlight feature in VEXcode GO as they are testing their projects. By following the highlighting, they can clearly visualize the project flow of the [My Block], to see when the project is moving from the stack of blocks to collect the Disk, and then to the [My Block] to sort the disk.
- Also, remind students that they shouldn’t have to change any of the blocks in the [Define] block sequence since these will drive to the correct sorting locations. They will just need to add the [My block command] into their projects in the correct sequence to have the Code Base sort the Disks, once they have been collected and brought back to the Mars Base starting location.
In order to encourage a growth mindset and help students embrace the trial and error that is a part of coding and encourage them to learn from the mistakes along the way, ask questions such as:
- What mistake have you made that has taught you something?
- What did you learn from this mistake? How can it help you when coding the Code Base next time?
- What have you learned from past mistakes that is helping you with this challenge?
- AskAsk students to think about how their project has changed from Lab 3 to Lab 4.
- How has your project changed from Lab 3 until now? What have you added? How has this changed the behaviors of the Code Base?
- What could the Code Base do in Lab 3? What can it do now? What have you added to your project to make this happen?
Mid-Play Break & Group Discussion
As soon as every group has successfully collected and sorted at least one Disk, come together for a brief conversation.
Check in on students' progress and talk about how the [My block] is functioning in their projects. Ensure that students understand that they are using a [My block] to reuse the sections of code that repeat in their project - the code that has the robot sort the Disks.
- Who was able to collect one Disk? Two Disks? Was anyone able to collect all 3 Disks? If time allows, have students share their strategies and challenges with one another so that students can learn from each other, and value the process, not just the product, of the challenge.
Show what happens in the project flow with a [My block]. Use a student project or show the animation below as an example and watch the project run together. Draw attention to how the highlight moves to the [Define] block sequence when it reaches the [My block] command in the project.
Ensure that students understand the project flow and how the [My Block] functions in their project. Use the following questions to guide a discussion on the project flow with the [My Block]:
- How does the highlight move in your project? When does it move to the [My Block]?
- The highlight moves to the [Define] block sequence when it reaches the [My block] command in the project.
- How is the [My Block] functioning in your project to help you sort the disks?
- Each time the Code Base collects a Disk, it will check the color of the Disk and deliver it to the correct sorting area as defined in the [My block].
- The blocks in the [My blocks definition] have the Code Base deliver the Disks to the proper sorting area based on their color, while the blocks under the {When started} block drive the robot to collect the Disks.
Part 2 - Step by Step
- InstructInstruct students that they are going to continue to work on their projects to have the Code Base collect and deliver all three Martian Rock samples (Disks) to the proper sorting locations.
- The following animation shows one possible way that the Code Base can move to complete the challenge.
Video file - ModelModel for students how to continue with their projects in VEXcode GO.
- If the connection has timed out during the Mid-Play Break discussion, show students how to connect the Brain on their Code Base to their device in VEXcode GO. Because connection steps vary between devices, see the Connecting articles of the VEXcode GO VEX Library for specific steps to connect the VEX GO Brain to your computer or tablet.
If necessary, model for students how to test their project on the Field.
- Show them how to set up to test by placing the Code Base at the Mars Base.
- Once the Code Base is in place, select 'Start' in VEXcode GO to test the project. Show students the Start a Project tutorial video in VEXcode GO if necessary.
For students who finish early and need additional challenges, have students switch the Disk locations and adjust their projects to have the Code Base collect the Disks from the new locations and sort them. Does your project still work? What do you have to change to have the Code Base collect the Disks from the new locations?
- FacilitateFacilitate a conversation with students as they build and test their projects with questions such as:
- What do you have to add to your project to have the Code Base collect all three Disks?
- How does the Code Base need to move to collect the Disk(s)? Can you show me with your hands?
- Can you explain, with words or gestures, what your robot is doing, and what you want your robot to do?
- Does the Code Base need to turn? How far? In which direction?
- What parameters do you have to change to have the Code Base collect each Disk, then return to the Mars Base?
- At what point in the project should you add the [My block command]?
- This should be after the Code Base has collected the Disk and returned to the Mars Base starting location.
Encourage students to persevere through the trial and error that is an intrinsic part of this challenge, just like the scientists working with the Perseverance Rover have to continue to overcome challenges to complete its mission. Refer to the Problem-solving Cycle graphic as a visual aide to establish a structure for the problem-solving process with your students. See the Preparing for the Open-Ended Challenge in this Unit section of the Background page for more strategies to help students troubleshoot their projects and come up with their own solutions.
Focus on the concept, not the precision.
- The goal of this Lab is to focus on the concept of using the Electromagnet and Eye Sensor in a project. If students slightly misaligned their robot, or the Disk is not exactly in the right place when they drive to it, let them know that it's ok to move the Disk slightly to make sure it gets picked up by the Electromagnet. Also, let students know that it’s okay to nudge the Disk into the sorting area if it is mostly, but not completely in the sorting area square.
- Students might not get to the 3rd Disk due to accumulated error. If the students don’t get the Code Base to the 3rd Disk, allow them to push it to the Code Base. You can contextualize this as an effect of unpredictable Marian winds affecting the moves and turns of the Code Base. The goal of the unit is not to address the precision w/ in the drive parameters, but rather to focus on coding with conditionals and the [My Block] to complete a challenge.
If students need additional support to troubleshoot, use the Project Stepping feature to help students go through their project one block at a time to see how each block is being executed in their project. For more information on how to use the Project Stepping feature, view the Stepping Through Blocks tutorial in VEXcode GO.
There are many possible solutions for this challenge. The following is one example for reference.
- RemindRemind students to look at the highlight feature in VEXcode GO as they are testing their projects. By following the highlighting, they can clearly visualize the project flow of the [My Block], to see when the project is moving from the stack of blocks to collect the Disk, and then to the [My Block] to sort the disk.
- Also, remind students that they shouldn’t have to change any of the blocks inside the [My Block definition] since these will drive to the correct sorting locations. They will just need to add the [My Block command] into their projects in the correct sequence to have the Code Base sort the Disks, once they have been collected and brought back to the Mars Base.
In order to encourage a growth mindset and help students embrace the trial and error that is a part of coding and encourage them to learn from the mistakes along the way, ask questions such as:
- What mistake have you made that has taught you something?
- What did you learn from this mistake? How can it help you when coding the Code Base next time?
- What have you learned from past mistakes that is helping you with this challenge?
Talk students through problem-solving each issue as you circle the classroom. This will be an iterative process, so remind students that scientists who code the Mars rovers also have to try multiple times to get the rover to move how they intended.
- How did your group identify the problem in your project?
- How did you work together to fix it?
- Did you try using the Step button to slow down your project to help you see the problem more clearly?
- What was one problem-solving success you've had in your group so far?
- What is something you learned in other Labs that you using in this Lab?
- AskAsk students how they might use a [My Block] to code the Perseverance Rover to sort Martian rock samples into two categories: rocks that show signs of ancient life, and rocks that do not.