SlideShare a Scribd company logo
Teaching Method and Flexible Tools
MATERIALS FOR STUDENTS
ACTIVITIES GROUP 6 –
(SECONDARY LEVEL)
This project has been funded with support from the European Commission. This
publication reflects the views only of the author, and the Commission cannot be
held responsible for any use which may be made of the information contained
therein
Programming Nao,
a humanoid robot
Speech, Motion, Parallel processing, Loops, Subprograms
Boštjan Resinovič, School Center Celje
Nao
 humanoid robot made by Aldebaran
(now Softbank)
 movement
 face and object detection and
recognition
 speech synthesis and recognition in
multiple languages
 web interaction
 can be programmed in a dedicated
visual programing language
Choregraphe and in several text
based languages (Python, C++, …)
Installing Choregraphe
 you can download the trial version at
https://developer.softbankrobotics.com/us-en/downloads/nao-v5-v4
 you can register as a developer and receive a free lifelong license at
https://community.ald.softbankrobotics.com/en/developerprogram
1. Sign in, Create new account, logout
2. login at the above URL again, fill in the questionnaire (if it doesn‘t show up, click
Join)
3. choose Resources and then Software, select NAO as your robot and download
Choregraphe (carefull, if you don‘t select NAO, the version for Pepper, a different
robot, will be downloaded)
4. install Choregraphe using the licence number you received by email when you
joined the Developer (step 2)
Using Choregraphe
 Choregraphe automatically connects to a VIRTUAL ROBOT if you don‘t have a real
one, so you will be able to do A LOT of things with Nao even if you don‘t have one
at all!
Using Choregraphe
 Commands are represented by boxes.
 Boxes are located in the Box Libraries (left bottom panel).
 Programs are written by placing boxes in the main panel (central panel) and
connecting them with lines indicating the program flow.
 Commands are executed from left to right (boxes have inputs on the left and
outputs on the right).
 Programs are triggered by clicking on the green arrow in the tool bar and
stopped by clicking the red square in the tool bar (or when they‘re finished).
 The robot‘s (a real or virtual one‘s) movement is animated in the Robot View
(right bottom panel).
 The robot‘s speech and user input are available through the Dialog (bottom
right panel).
 If any of the panels are not visible, they can be shown through the View
menu.
Let‘s do some squats
 Let‘s try to program the robot to do some squats and count them.
 Motivation:
 learn to work with a humanoid robot and simultaneously learn lessons in computer
programming
 working with Nao is fun, so programming can be fun as well
 Goals:
 learn some basic commands to make the robot speak and move
 make the robot do more than one thing at the same time (parallelism)
 perform actions multiple times (loops)
 place some code in a custom box (subprograms)
Basics – speech and motion
 Let‘s start with doing only one squat.
 Write and run the following program:
 the robot should fist stand up if necessary
 the language is set to English (click on the wrench)
 the robot says: „Ok, doing my one and only squat.“ (double click on the Say box, choose
English and write the text)
 the robot does a squat (crouch with the Rest box and Stand Up again)
 at the end it says „That was hard. I've had enough!“
 Observe the Dialog and the Robot View panels.
Parallelism
 Let‘s move the first Say box so the robot will do a squat and speak at the same
time.
 Run the program and observe the Dialog and the Robot View panels.
 What happened and why?
Parallelism
 The second Say box is triggered as soon as the first signal reaches it.
 Saying „Ok, doing my one and only squat.“ takes much less time then doing a squat.
 So the robot says „That was hard. I've had enough!“ before the squat is completed!
 Immediately after that the program ends and the robot still hasn‘t finished doing the
squat!
 In parallel processing SYNCHRONIZATION is often needed!
Parallelism
 Let‘s add the Wait For Signals box to synchronize the speech and movement
of the robot.
 Run the program and observe the Dialog and the Robot View panels.
Repetition (loops)
 In order to repeat actions several times loops are used in programming
languages.
 In Choregraphe we can use the Counter box:
 two inputs (squares on the left of the box)
 the upper one increases the counter by one,
 the lower one reinitializes the counter
 two outputs (squares on the right of the box)
 the upper one outputs the current number,
 the lower one is triggered when the loop ends (the current number exceeds the final value)
 parameters (accessible by clicking the wrench)
 initial and final value
 step
 example: initial=4, final=10, step=2 => we count like this: 4, 6, 8, 10
Repetition (loops)
 Let‘s write a program in which the robot will do five squats and count them.
 the robot says „Hello, I will do five squats.“
 the robot does a squat in a loop that will repeat five times
 the Counter controls the number of repetitions (initial=1, final=5, step=1)
 the current number from the counter is passed to the Say Text box and it stimulates the
robot‘s motion
 after a squat is done and the number pronounced the Wait For Signals returns the control
to the Counter box which determines whether to do another repetition or finish
 when the counting is finished (the robot has done five squats), the robot says
„That was hard. I've had enough!“
Repetition (loops)
Subprograms
 Let‘s create a new custom box Squat&Count which
 represents a subprogram containing the complete code for a squat
 hides the details and thus increases readability
 offers usage of the new box many times (even in other programs)
 Select the four boxes, right click and select Convert to box
Subprograms
 The final code now contains everything it had before but some of the code is
in a subprogram (nested in a new box).
 The subprogram‘s code can be seen by double clicking the Squat&Count box.
 Clicking the root box brings us back to the main program (top level of code).
The result
What we learned
 robot specific
 speech
 movement
 general computer programming
 parallel processing
 synchronization
 loops
 subprograms

More Related Content

What's hot

Inspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsInspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other Tools
St. Petersburg College
 
Fostering Creative and Critical Thinking using iPads in Primary Mathematics
Fostering Creative and Critical Thinking using iPads in Primary MathematicsFostering Creative and Critical Thinking using iPads in Primary Mathematics
Fostering Creative and Critical Thinking using iPads in Primary Mathematics
Joanne Villis
 
Approaches to teaching primary computing
Approaches to teaching primary computingApproaches to teaching primary computing
Approaches to teaching primary computing
JEcomputing
 
Coding for Teachers and Kids Workshop Presentation
Coding for Teachers and Kids Workshop PresentationCoding for Teachers and Kids Workshop Presentation
Coding for Teachers and Kids Workshop Presentation
Joanne Villis
 
Coding: the smart future for our kids - Chau Au
Coding: the smart future for our kids - Chau AuCoding: the smart future for our kids - Chau Au
Coding: the smart future for our kids - Chau Au
PublicLibraryServices
 
Uwcsea day 1v2
Uwcsea day 1v2Uwcsea day 1v2
Coding with kids
Coding with kidsCoding with kids
Coding with kids
Azzurra Ragone
 
Baleap tel sig conference slides
Baleap tel sig conference slidesBaleap tel sig conference slides
Baleap tel sig conference slides
Phil Longwell
 
Getting students to collaborate in Breakout Rooms in Remote Teaching
Getting students to collaborate in Breakout Rooms in Remote TeachingGetting students to collaborate in Breakout Rooms in Remote Teaching
Getting students to collaborate in Breakout Rooms in Remote Teaching
Phil Longwell
 
iPads and the primary computing curriculum
iPads and the primary computing curriculumiPads and the primary computing curriculum
iPads and the primary computing curriculum
JEcomputing
 
Raspberry Pi and Python Case Study
Raspberry Pi and Python Case StudyRaspberry Pi and Python Case Study
Raspberry Pi and Python Case StudySilvia Tinena Coris
 
Web2.0 tools affordances for education
Web2.0 tools affordances for educationWeb2.0 tools affordances for education
Web2.0 tools affordances for educationJon Crellin
 
Getting Started with Screencasting
Getting Started with ScreencastingGetting Started with Screencasting
Getting Started with Screencasting
rubiales 62
 
Technology 101
Technology 101Technology 101
Technology 101
Glenda Lynn Rose
 

What's hot (16)

Inspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsInspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other Tools
 
Fostering Creative and Critical Thinking using iPads in Primary Mathematics
Fostering Creative and Critical Thinking using iPads in Primary MathematicsFostering Creative and Critical Thinking using iPads in Primary Mathematics
Fostering Creative and Critical Thinking using iPads in Primary Mathematics
 
Approaches to teaching primary computing
Approaches to teaching primary computingApproaches to teaching primary computing
Approaches to teaching primary computing
 
Coding for Teachers and Kids Workshop Presentation
Coding for Teachers and Kids Workshop PresentationCoding for Teachers and Kids Workshop Presentation
Coding for Teachers and Kids Workshop Presentation
 
Coding: the smart future for our kids - Chau Au
Coding: the smart future for our kids - Chau AuCoding: the smart future for our kids - Chau Au
Coding: the smart future for our kids - Chau Au
 
Uwcsea day 1v2
Uwcsea day 1v2Uwcsea day 1v2
Uwcsea day 1v2
 
Coding with kids
Coding with kidsCoding with kids
Coding with kids
 
Baleap tel sig conference slides
Baleap tel sig conference slidesBaleap tel sig conference slides
Baleap tel sig conference slides
 
Getting students to collaborate in Breakout Rooms in Remote Teaching
Getting students to collaborate in Breakout Rooms in Remote TeachingGetting students to collaborate in Breakout Rooms in Remote Teaching
Getting students to collaborate in Breakout Rooms in Remote Teaching
 
iPads and the primary computing curriculum
iPads and the primary computing curriculumiPads and the primary computing curriculum
iPads and the primary computing curriculum
 
Groupboard
GroupboardGroupboard
Groupboard
 
presentation4
presentation4presentation4
presentation4
 
Raspberry Pi and Python Case Study
Raspberry Pi and Python Case StudyRaspberry Pi and Python Case Study
Raspberry Pi and Python Case Study
 
Web2.0 tools affordances for education
Web2.0 tools affordances for educationWeb2.0 tools affordances for education
Web2.0 tools affordances for education
 
Getting Started with Screencasting
Getting Started with ScreencastingGetting Started with Screencasting
Getting Started with Screencasting
 
Technology 101
Technology 101Technology 101
Technology 101
 

Similar to Coding io1--materials for students-group6

Getting Started with Robotics
Getting Started with RoboticsGetting Started with Robotics
Getting Started with Roboticss0133116
 
10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx
10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx
10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx
paynetawnya
 
Module 5 task 1 laura vilar
Module 5 task 1 laura vilarModule 5 task 1 laura vilar
Module 5 task 1 laura vilar
Laura Vilar
 
Introductoin to Python.ppt
Introductoin to Python.pptIntroductoin to Python.ppt
Introductoin to Python.ppt
TyronHawkinsOBato
 
Introduction to flowcharts and algorithms
Introduction to flowcharts and algorithmsIntroduction to flowcharts and algorithms
Introduction to flowcharts and algorithmsasrctw
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basic
Sara Samol
 
SoMachine 4.1 quickstart
SoMachine 4.1 quickstartSoMachine 4.1 quickstart
SoMachine 4.1 quickstart
Julien Dubois
 
Introducing Small Basic.pdf
Introducing Small Basic.pdfIntroducing Small Basic.pdf
Introducing Small Basic.pdf
Snehlata Parashar
 
Using Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) EnvironmentUsing Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) Environment
Mahmoud Samir Fayed
 
Mastering python lesson2
Mastering python lesson2Mastering python lesson2
Mastering python lesson2
Ruth Marvin
 
RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
NhaTruongThanh
 
ie450RobotStudio.ppt
ie450RobotStudio.pptie450RobotStudio.ppt
ie450RobotStudio.ppt
NhaTruongThanh
 
IT PROJECT.pptx
IT PROJECT.pptxIT PROJECT.pptx
IT PROJECT.pptx
samnanda6
 
ForLoops.pptx
ForLoops.pptxForLoops.pptx
ForLoops.pptx
RabiyaZhexembayeva
 
Boo Manifesto
Boo ManifestoBoo Manifesto
Boo Manifesto
hu hans
 
Mastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loopsMastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loops
Ruth Marvin
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basicAn I
 
Lab a
Lab aLab a
Lab a
sam-pee
 
Moreno Xec
Moreno XecMoreno Xec
Moreno Xec
ebermoreno22
 
Presentation of programming languages for beginners
Presentation of programming languages for beginnersPresentation of programming languages for beginners
Presentation of programming languages for beginners
Clement Levallois
 

Similar to Coding io1--materials for students-group6 (20)

Getting Started with Robotics
Getting Started with RoboticsGetting Started with Robotics
Getting Started with Robotics
 
10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx
10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx
10.USING THE ECLIPSE DEBUGGERupdated 8618This t.docx
 
Module 5 task 1 laura vilar
Module 5 task 1 laura vilarModule 5 task 1 laura vilar
Module 5 task 1 laura vilar
 
Introductoin to Python.ppt
Introductoin to Python.pptIntroductoin to Python.ppt
Introductoin to Python.ppt
 
Introduction to flowcharts and algorithms
Introduction to flowcharts and algorithmsIntroduction to flowcharts and algorithms
Introduction to flowcharts and algorithms
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basic
 
SoMachine 4.1 quickstart
SoMachine 4.1 quickstartSoMachine 4.1 quickstart
SoMachine 4.1 quickstart
 
Introducing Small Basic.pdf
Introducing Small Basic.pdfIntroducing Small Basic.pdf
Introducing Small Basic.pdf
 
Using Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) EnvironmentUsing Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) Environment
 
Mastering python lesson2
Mastering python lesson2Mastering python lesson2
Mastering python lesson2
 
RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
 
ie450RobotStudio.ppt
ie450RobotStudio.pptie450RobotStudio.ppt
ie450RobotStudio.ppt
 
IT PROJECT.pptx
IT PROJECT.pptxIT PROJECT.pptx
IT PROJECT.pptx
 
ForLoops.pptx
ForLoops.pptxForLoops.pptx
ForLoops.pptx
 
Boo Manifesto
Boo ManifestoBoo Manifesto
Boo Manifesto
 
Mastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loopsMastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loops
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basic
 
Lab a
Lab aLab a
Lab a
 
Moreno Xec
Moreno XecMoreno Xec
Moreno Xec
 
Presentation of programming languages for beginners
Presentation of programming languages for beginnersPresentation of programming languages for beginners
Presentation of programming languages for beginners
 

More from Georgeta Manafu

Formular sel Tr Ankara
Formular sel  Tr AnkaraFormular sel  Tr Ankara
Formular sel Tr Ankara
Georgeta Manafu
 
Formular sel Mk
Formular sel MkFormular sel Mk
Formular sel Mk
Georgeta Manafu
 
Linkommunity C3
Linkommunity C3Linkommunity C3
Linkommunity C3
Georgeta Manafu
 
Gantt MY CODE SIBLING - MYCODESIB
Gantt MY CODE SIBLING - MYCODESIBGantt MY CODE SIBLING - MYCODESIB
Gantt MY CODE SIBLING - MYCODESIB
Georgeta Manafu
 
Ppt new werd - en
Ppt   new werd - enPpt   new werd - en
Ppt new werd - en
Georgeta Manafu
 
newWERD
newWERDnewWERD
Ppt newWERD
Ppt   newWERDPpt   newWERD
Ppt newWERD
Georgeta Manafu
 
Linkommunity poster
Linkommunity posterLinkommunity poster
Linkommunity poster
Georgeta Manafu
 
Activ martie mai 2019-en
Activ martie mai 2019-enActiv martie mai 2019-en
Activ martie mai 2019-en
Georgeta Manafu
 
Formular draft
Formular   draftFormular   draft
Formular draft
Georgeta Manafu
 
Report on the monitoring of student safety and security in school
Report on the monitoring of student safety and security in schoolReport on the monitoring of student safety and security in school
Report on the monitoring of student safety and security in school
Georgeta Manafu
 
Formular C1
Formular   C1Formular   C1
Formular C1
Georgeta Manafu
 
Turbine eoliene ilie tradus
Turbine eoliene ilie tradusTurbine eoliene ilie tradus
Turbine eoliene ilie tradus
Georgeta Manafu
 
Razele x tradus
Razele x tradusRazele x tradus
Razele x tradus
Georgeta Manafu
 
Radiatii nucleare-padureanu tradus
Radiatii nucleare-padureanu  tradusRadiatii nucleare-padureanu  tradus
Radiatii nucleare-padureanu tradus
Georgeta Manafu
 
Panouri solare tradus
Panouri solare tradusPanouri solare tradus
Panouri solare tradus
Georgeta Manafu
 
Dozimetrul(1)
Dozimetrul(1)Dozimetrul(1)
Dozimetrul(1)
Georgeta Manafu
 
Dozimetrul en
Dozimetrul enDozimetrul en
Dozimetrul en
Georgeta Manafu
 

More from Georgeta Manafu (20)

Formular sel Tr Ankara
Formular sel  Tr AnkaraFormular sel  Tr Ankara
Formular sel Tr Ankara
 
Formular sel Mk
Formular sel MkFormular sel Mk
Formular sel Mk
 
Linkommunity C3
Linkommunity C3Linkommunity C3
Linkommunity C3
 
Gantt MY CODE SIBLING - MYCODESIB
Gantt MY CODE SIBLING - MYCODESIBGantt MY CODE SIBLING - MYCODESIB
Gantt MY CODE SIBLING - MYCODESIB
 
Ppt new werd - en
Ppt   new werd - enPpt   new werd - en
Ppt new werd - en
 
newWERD
newWERDnewWERD
newWERD
 
Ppt newWERD
Ppt   newWERDPpt   newWERD
Ppt newWERD
 
Linkommunity poster
Linkommunity posterLinkommunity poster
Linkommunity poster
 
Activ martie mai 2019-en
Activ martie mai 2019-enActiv martie mai 2019-en
Activ martie mai 2019-en
 
Formular draft
Formular   draftFormular   draft
Formular draft
 
Bb11ee109(1)
Bb11ee109(1)Bb11ee109(1)
Bb11ee109(1)
 
B9ae6301
B9ae6301B9ae6301
B9ae6301
 
Report on the monitoring of student safety and security in school
Report on the monitoring of student safety and security in schoolReport on the monitoring of student safety and security in school
Report on the monitoring of student safety and security in school
 
Formular C1
Formular   C1Formular   C1
Formular C1
 
Turbine eoliene ilie tradus
Turbine eoliene ilie tradusTurbine eoliene ilie tradus
Turbine eoliene ilie tradus
 
Razele x tradus
Razele x tradusRazele x tradus
Razele x tradus
 
Radiatii nucleare-padureanu tradus
Radiatii nucleare-padureanu  tradusRadiatii nucleare-padureanu  tradus
Radiatii nucleare-padureanu tradus
 
Panouri solare tradus
Panouri solare tradusPanouri solare tradus
Panouri solare tradus
 
Dozimetrul(1)
Dozimetrul(1)Dozimetrul(1)
Dozimetrul(1)
 
Dozimetrul en
Dozimetrul enDozimetrul en
Dozimetrul en
 

Recently uploaded

Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
Celine George
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
Celine George
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 

Recently uploaded (20)

Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 

Coding io1--materials for students-group6

  • 1. Teaching Method and Flexible Tools MATERIALS FOR STUDENTS ACTIVITIES GROUP 6 – (SECONDARY LEVEL) This project has been funded with support from the European Commission. This publication reflects the views only of the author, and the Commission cannot be held responsible for any use which may be made of the information contained therein
  • 2. Programming Nao, a humanoid robot Speech, Motion, Parallel processing, Loops, Subprograms Boštjan Resinovič, School Center Celje
  • 3. Nao  humanoid robot made by Aldebaran (now Softbank)  movement  face and object detection and recognition  speech synthesis and recognition in multiple languages  web interaction  can be programmed in a dedicated visual programing language Choregraphe and in several text based languages (Python, C++, …)
  • 4. Installing Choregraphe  you can download the trial version at https://developer.softbankrobotics.com/us-en/downloads/nao-v5-v4  you can register as a developer and receive a free lifelong license at https://community.ald.softbankrobotics.com/en/developerprogram 1. Sign in, Create new account, logout 2. login at the above URL again, fill in the questionnaire (if it doesn‘t show up, click Join) 3. choose Resources and then Software, select NAO as your robot and download Choregraphe (carefull, if you don‘t select NAO, the version for Pepper, a different robot, will be downloaded) 4. install Choregraphe using the licence number you received by email when you joined the Developer (step 2)
  • 5. Using Choregraphe  Choregraphe automatically connects to a VIRTUAL ROBOT if you don‘t have a real one, so you will be able to do A LOT of things with Nao even if you don‘t have one at all!
  • 6. Using Choregraphe  Commands are represented by boxes.  Boxes are located in the Box Libraries (left bottom panel).  Programs are written by placing boxes in the main panel (central panel) and connecting them with lines indicating the program flow.  Commands are executed from left to right (boxes have inputs on the left and outputs on the right).  Programs are triggered by clicking on the green arrow in the tool bar and stopped by clicking the red square in the tool bar (or when they‘re finished).  The robot‘s (a real or virtual one‘s) movement is animated in the Robot View (right bottom panel).  The robot‘s speech and user input are available through the Dialog (bottom right panel).  If any of the panels are not visible, they can be shown through the View menu.
  • 7. Let‘s do some squats  Let‘s try to program the robot to do some squats and count them.  Motivation:  learn to work with a humanoid robot and simultaneously learn lessons in computer programming  working with Nao is fun, so programming can be fun as well  Goals:  learn some basic commands to make the robot speak and move  make the robot do more than one thing at the same time (parallelism)  perform actions multiple times (loops)  place some code in a custom box (subprograms)
  • 8. Basics – speech and motion  Let‘s start with doing only one squat.  Write and run the following program:  the robot should fist stand up if necessary  the language is set to English (click on the wrench)  the robot says: „Ok, doing my one and only squat.“ (double click on the Say box, choose English and write the text)  the robot does a squat (crouch with the Rest box and Stand Up again)  at the end it says „That was hard. I've had enough!“  Observe the Dialog and the Robot View panels.
  • 9. Parallelism  Let‘s move the first Say box so the robot will do a squat and speak at the same time.  Run the program and observe the Dialog and the Robot View panels.  What happened and why?
  • 10. Parallelism  The second Say box is triggered as soon as the first signal reaches it.  Saying „Ok, doing my one and only squat.“ takes much less time then doing a squat.  So the robot says „That was hard. I've had enough!“ before the squat is completed!  Immediately after that the program ends and the robot still hasn‘t finished doing the squat!  In parallel processing SYNCHRONIZATION is often needed!
  • 11. Parallelism  Let‘s add the Wait For Signals box to synchronize the speech and movement of the robot.  Run the program and observe the Dialog and the Robot View panels.
  • 12. Repetition (loops)  In order to repeat actions several times loops are used in programming languages.  In Choregraphe we can use the Counter box:  two inputs (squares on the left of the box)  the upper one increases the counter by one,  the lower one reinitializes the counter  two outputs (squares on the right of the box)  the upper one outputs the current number,  the lower one is triggered when the loop ends (the current number exceeds the final value)  parameters (accessible by clicking the wrench)  initial and final value  step  example: initial=4, final=10, step=2 => we count like this: 4, 6, 8, 10
  • 13. Repetition (loops)  Let‘s write a program in which the robot will do five squats and count them.  the robot says „Hello, I will do five squats.“  the robot does a squat in a loop that will repeat five times  the Counter controls the number of repetitions (initial=1, final=5, step=1)  the current number from the counter is passed to the Say Text box and it stimulates the robot‘s motion  after a squat is done and the number pronounced the Wait For Signals returns the control to the Counter box which determines whether to do another repetition or finish  when the counting is finished (the robot has done five squats), the robot says „That was hard. I've had enough!“
  • 15. Subprograms  Let‘s create a new custom box Squat&Count which  represents a subprogram containing the complete code for a squat  hides the details and thus increases readability  offers usage of the new box many times (even in other programs)  Select the four boxes, right click and select Convert to box
  • 16. Subprograms  The final code now contains everything it had before but some of the code is in a subprogram (nested in a new box).  The subprogram‘s code can be seen by double clicking the Squat&Count box.  Clicking the root box brings us back to the main program (top level of code).
  • 18. What we learned  robot specific  speech  movement  general computer programming  parallel processing  synchronization  loops  subprograms