FIRST LEGO League Challenge Programming: Difference between revisions

From ORTOP Wiki
(→‎Introductory Exercises for Coaches: Added separate link for TOC)
(→‎Slide Set for Coaches: Updated link to PDF of slides)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
There are several ways of programming ''FIRST'' LEGO League Challenge Robots.  The most popular new language created by LEGO Education based on [[Wikipedia:Scratch (programming language)|Scratch]] called Word Blocks. A version of this Scratch-based language called EV3 Classroom is also available for those using EV3 sets rather than SPIKE Prime. LEGO also provides a special version of a line-by-line language called Python for programming robots.
There are several ways of programming ''FIRST'' LEGO League Challenge Robots.  The most popular new language created by LEGO Education is based on [[Wikipedia:Scratch (programming language)|Scratch]] called Word Blocks. A version of this Scratch-based language called EV3 Classroom is also available for those using EV3 sets rather than SPIKE Prime. LEGO also provides a special version of a line-by-line language called Python for programming robots.
=General=
=General=
* [https://flltutorials.com/translations/en-us/RobotGame/ProgrammingQuickGuide.pdf Programming Skills Quick Guide] A PDF file with a series of brief guides on programming techniques with examples for both EV3 Lab and SPIKE Prime Word Blocks.
* [https://flltutorials.com/translations/en-us/RobotGame/ProgrammingQuickGuide.pdf Programming Skills Quick Guide] A PDF file with a series of brief guides on programming techniques with examples for both EV3 Lab and SPIKE Prime Word Blocks.
Line 11: Line 11:
[[file:SPIKEMoveStraightExample.png|200px|thumb||Sample Word Blocks program]]
[[file:SPIKEMoveStraightExample.png|200px|thumb||Sample Word Blocks program]]
The main programming language for SPIKE Prime is called Word Blocks, which is based on Scratch.  LEGO Education provides an [https://education.lego.com/en-us/start/spike-prime#Introduction online introduction] to the set and its software.  The software app can be downloaded and installed before or after receiving the SPIKE Prime set.  
The main programming language for SPIKE Prime is called Word Blocks, which is based on Scratch.  LEGO Education provides an [https://education.lego.com/en-us/start/spike-prime#Introduction online introduction] to the set and its software.  The software app can be downloaded and installed before or after receiving the SPIKE Prime set.  
* [https://education.lego.com/en-us/downloads/spike-legacy-app/software SPIKE Prime App 2] (2022 version)
* [https://education.lego.com/en-us/downloads/spike-legacy-app/software SPIKE Prime App Version 2] (2022 version)
** This older version of the app includes support for Python.
* [https://education.lego.com/en-us/downloads/spike-app/software SPIKE Prime App Version 3] (latest version)
* [https://education.lego.com/en-us/downloads/spike-app/software SPIKE Prime App 3] (latest version)
** This new version of the app includes a variety of improvements but also reduces the number of choices for Movement blocks.
** This new version of the app includes a variety of improvements but no longer has some of the blocks in the previous version and doesn't yet support Python.
** [https://legoeducation.atlassian.net/servicedesk/customer/portal/3/article/36817141835 LEGO Education description of SPIKE Prime App Version 3]
** [https://legoeducation.atlassian.net/servicedesk/customer/portal/3/article/36817141835 LEGO Education description of SPIKE Prime App 3]
** [https://youtu.be/K-aQmM0Zshs Youtube video about the changes in App Version 3]
** [https://youtu.be/K-aQmM0Zshs Youtube video about the changes in App 3]
** The current version of SPIKE App Version 3 will allow you to open projects saved using Spike App version 2 also known as Legacy.
** If you upgrade to App 3, it will update your hub to new firmware that works with App 3.
*** When you open Word Block projects created using Version 2 they are automatically translated so that the program will work in Spike App 3.
** If you decide to go back to App 2, you will need to change the firmware back to a version that works with App 2.  See [https://pybricks.com/install/spike-mindstorms/?fbclid=IwAR1S4O8fte0BHD5zoERNUofzYZoM8ol2IsFtF2K3-HV3MEoZyki8FY1Ugus#restoring-the-original-firmware this link] for a method of doing so.
*** To open a project created with Version 2
****Click on File then Open.
**** In the File Name field type *.* to get it to display your Version 2 projects by showing each name followed by ".llsp".
**** You can then select and open one of your Version 2 projects.
*** Even though it will be translated to App 3 you may need to make some adjustments.
** [https://drive.google.com/file/d/1wt6LBmDXXou251uZdjtgUkEDerI-EZ_o/view?usp=drive_link Slides showing how to convert Movement Blocks from App Version 2 to Version 3]  
** If you upgrade to version 3 of the SPIKE Prime App, it will update your hub to new firmware that works with the new app.
** If you decide to go back to version 2, you will need to change the firmware back to a version that works with App Version 2 of the App.  See [https://spike.legoeducation.com/hubdowngrade this link] to downgrade your Hub firmware to the compatible version.


=== [[Season-Independent SPIKE Prime Lessons|Season-Independent Lessons Using Small Printable Mat]]===
=== Slide Set for Coaches ===
One of the best ways for team members to learn how to program a LEGO robot is to have simple [https://docs.google.com/document/d/1--6E22xBUuKQ1b-GLcC6nJokAOofTrYOjNbM8WygI-Y/edit?usp=sharing challenges] with guidance on how they might solve those challenges. And, these challenges can performed on a 2x3 foot mat, allowing small groups or individuals to learn the skills they'll need for the annual challenge on the full-size mat. With this in mind, ORTOP has developed a set of [[Season-Independent SPIKE Prime Lessons|simple lessons]] that feature such challenges that are backed up by short videos that give hints on how to solve the challenges.  Follow [[Season-Independent SPIKE Prime Lessons|'''this link''']] to find out more.
Each year ORTOP holds workshops in the summer and early fall.
* [https://drive.google.com/file/d/17A06z5l7wok6PxLRLAXP2zKS-wLEfp12/view?usp=sharing Slides used in the workshops]


=== Introductory Exercises for Coaches ===
=== Introductory Exercises for Coaches ===
Line 32: Line 40:
* [https://drive.google.com/file/d/1S_8uGHlGD6MY3MUDsGMMZAOR1MwfC6X6/view?usp=sharing Appendix A - Walk through of SPIKE Prime Hub]
* [https://drive.google.com/file/d/1S_8uGHlGD6MY3MUDsGMMZAOR1MwfC6X6/view?usp=sharing Appendix A - Walk through of SPIKE Prime Hub]
* [https://drive.google.com/file/d/19VrlrxAS8d5DuFn_XFreSWpDn6_8bVuK/view?usp=sharing Appendix B - Walk through of SPIKE Prime Project Screen for writing programs]
* [https://drive.google.com/file/d/19VrlrxAS8d5DuFn_XFreSWpDn6_8bVuK/view?usp=sharing Appendix B - Walk through of SPIKE Prime Project Screen for writing programs]
=== [[Season-Independent SPIKE Prime Lessons|Season-Independent Lessons Using Small Printable Mat]]===
One of the best ways for team members to learn how to program a LEGO robot is to have simple [https://docs.google.com/document/d/1--6E22xBUuKQ1b-GLcC6nJokAOofTrYOjNbM8WygI-Y/edit?usp=sharing challenges] with guidance on how they might solve those challenges. And, these challenges can performed on a 2x3 foot mat, allowing small groups or individuals to learn the skills they'll need for the annual challenge on the full-size mat. With this in mind, ORTOP has developed a set of [[Season-Independent SPIKE Prime Lessons|simple lessons]] that feature such challenges that are backed up by short videos that give hints on how to solve the challenges.  Follow [[Season-Independent SPIKE Prime Lessons|'''this link''']] to find out more.


=== Videos ===
=== Videos ===
Line 116: Line 127:
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-2-playing-with-objects Training Camp 2 - Playing with Objects]
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-2-playing-with-objects Training Camp 2 - Playing with Objects]
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-3-react-to-lines Training Camp 3 - Reacting to Lines]
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-3-react-to-lines Training Camp 3 - Reacting to Lines]
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/spike-prime-the-guided-mission Guided Mission for 2021-22 '''FIRST''' LEGO League]
*** Material from FLL Tutorials relating to the Guided Mission
*** Material from FLL Tutorials relating to the Guided Mission
**** [https://flltutorials.com/en/Worksheets.html Code file with comments and relevant videos]
**** [https://flltutorials.com/en/Worksheets.html Code file with comments and relevant videos]
Line 211: Line 221:
== Mindstorms EV3 Lab Software ==
== Mindstorms EV3 Lab Software ==
[[File:EV3-Lab_Logo.png||thumb||EV3 Lab Icon]]
[[File:EV3-Lab_Logo.png||thumb||EV3 Lab Icon]]
[[File:EV3-Lab-MoveStraight.png|400px|thumb||EV3 Lab Sample Program]]
 
Mindstorms EV3 Lab also known as EV3-G was the main programming language provided by LEGO Education for the MINDSTORMS EV3 sets until fall 2020. EV3 Lab is graphical programming language where programming blocks are arranged horizontally. It is quite different from traditional programming languages.
Mindstorms EV3 Lab also known as EV3-G was the main programming language provided by LEGO Education for the MINDSTORMS EV3 sets until fall 2020. EV3 Lab is graphical programming language where programming blocks are arranged horizontally. It is quite different from traditional programming languages.


Line 221: Line 231:
* [https://drive.google.com/file/d/1w6gDjyBawbgZQ7EKU0jVsCsqURKqHXkE/view?usp=sharing  Lab 4 – Putting it All Together]
* [https://drive.google.com/file/d/1w6gDjyBawbgZQ7EKU0jVsCsqURKqHXkE/view?usp=sharing  Lab 4 – Putting it All Together]
* [https://drive.google.com/file/d/1aXMfXKqzKoUeZTm5B3SFpWBosZRUpjdx/view?usp=sharing  Appendix A - More Things You Will Need to Know about the EV3 Programming System]
* [https://drive.google.com/file/d/1aXMfXKqzKoUeZTm5B3SFpWBosZRUpjdx/view?usp=sharing  Appendix A - More Things You Will Need to Know about the EV3 Programming System]
=== Wiki Articles ===
=== Wiki Articles ===
* [[FIRST LEGO League Challenge Mindstorms EV3 Lab Programming Presentations|Programming Presentations]]
* [[FIRST LEGO League Challenge Mindstorms EV3 Lab Programming Presentations|Programming Presentations]]

Latest revision as of 14:12, 9 November 2024

There are several ways of programming FIRST LEGO League Challenge Robots. The most popular new language created by LEGO Education is based on Scratch called Word Blocks. A version of this Scratch-based language called EV3 Classroom is also available for those using EV3 sets rather than SPIKE Prime. LEGO also provides a special version of a line-by-line language called Python for programming robots.

General

SPIKE Prime Software

SPIKE Prime Word Blocks (Scratch)

SPIKE Prime Icon
Sample Word Blocks program

The main programming language for SPIKE Prime is called Word Blocks, which is based on Scratch. LEGO Education provides an online introduction to the set and its software. The software app can be downloaded and installed before or after receiving the SPIKE Prime set.

  • SPIKE Prime App Version 2 (2022 version)
  • SPIKE Prime App Version 3 (latest version)
    • This new version of the app includes a variety of improvements but also reduces the number of choices for Movement blocks.
    • LEGO Education description of SPIKE Prime App Version 3
    • Youtube video about the changes in App Version 3
    • The current version of SPIKE App Version 3 will allow you to open projects saved using Spike App version 2 also known as Legacy.
      • When you open Word Block projects created using Version 2 they are automatically translated so that the program will work in Spike App 3.
      • To open a project created with Version 2
        • Click on File then Open.
        • In the File Name field type *.* to get it to display your Version 2 projects by showing each name followed by ".llsp".
        • You can then select and open one of your Version 2 projects.
      • Even though it will be translated to App 3 you may need to make some adjustments.
    • Slides showing how to convert Movement Blocks from App Version 2 to Version 3
    • If you upgrade to version 3 of the SPIKE Prime App, it will update your hub to new firmware that works with the new app.
    • If you decide to go back to version 2, you will need to change the firmware back to a version that works with App Version 2 of the App. See this link to downgrade your Hub firmware to the compatible version.

Slide Set for Coaches

Each year ORTOP holds workshops in the summer and early fall.

Introductory Exercises for Coaches

Season-Independent Lessons Using Small Printable Mat

One of the best ways for team members to learn how to program a LEGO robot is to have simple challenges with guidance on how they might solve those challenges. And, these challenges can performed on a 2x3 foot mat, allowing small groups or individuals to learn the skills they'll need for the annual challenge on the full-size mat. With this in mind, ORTOP has developed a set of simple lessons that feature such challenges that are backed up by short videos that give hints on how to solve the challenges. Follow this link to find out more.

Videos

Videos for team members on programming a SPIKE Prime Robot

Episode 1: Introducing Eva the parrot and Eaglet the baby LEGO eagle.

Episode 2: Eva arranges for Eaglet to get a ride home while we learn more about programming turns.

Episode 3: Eaglet finds his lost cat while we learn how to use the built-in gyro to control the robot's turns.

Episode 4: Eaglet brings his lost cat home while we learn how to program an attachment for retrieving cats.

Episode 5: Eaglet's Chariot robot learns how to drive in the middle of the road while we learn how to program a color sensor.

Episode 6: Chariot makes a better turn to Yellow the cat as we use our gyro programming skills.

Episode 7: Chariot stays in the middle of the road while we learn how to use a color sensor to follow the edge of a line.

Episode 8: Chariot uses a motor's built-in rotation sensor to measure distance while it uses line following to stay in the middle of the road.

Episode 9: Eaglet visits the Animal Shelter with the help of his Chariot robot programmed using a My Block.

Episode 10: Chariot delivers food to the Animal Shelter while we learn how to use a variable to count stripes to improve the robot's navigation. We also learn more about use My Blocks as well as how to display numbers on the top of the hub.


Videos for Coaches

Information Specific to Particular Computers

External Resources

Software

Learning Resources

Focused Tutorials

Play Lists

SPIKE Prime Python

Videos on Programming SPIKE Prime Robots Using Python

GitHub Resources by ORTOP

External Resources

Mindstorms EV3 Software

Mindstorms EV3 Classroom (Scratch)

EV3 Classroom Logo
Sample EV3 Classroom Program

Mindstorms EV3 Classroom is a graphical programming language for the Mindstorms EV3 sets. It became the standard software for the EV3 Set for those running PCs with the 64-bit version of Windows 10, Chromebooks and Macs using macOS Catalina 10.15 in the fall of 2020. The Mac version also works with macOS Mojave 10.14. Those with earlier operating systems should continue to use EV3 Lab.

EV3 Classroom is based on an educational language called Scratch and is quite similar to Word Blocks, the graphical language provided by LEGO Education for its SPIKE Prime set. LEGO Education has also announced that EV3 Classroom will become available for and Chromebooks.

Videos

External Resources

Mindstorms EV3 Python

LEGO Education also provides a version of Python, a line-by-line programming language, for the Mindstorms EV3.

External Resources

Mindstorms EV3 Lab Software

EV3 Lab Icon

Mindstorms EV3 Lab also known as EV3-G was the main programming language provided by LEGO Education for the MINDSTORMS EV3 sets until fall 2020. EV3 Lab is graphical programming language where programming blocks are arranged horizontally. It is quite different from traditional programming languages.

Introductory Exercises

Wiki Articles

External Resources

Software

Documentation

Video Tutorials

Focused Tutorials

Play Lists