Τρίτη 29 Οκτωβρίου 2013

ActivityBot της Parallax με γλώσσα προγραμματισμού C. (Άρθρο από τον Νικο Γιαννακόπουλο, καθηγητή Μαθηματικών & Πληροφορικής)

-->
To BoeBot της Rarallax είναι μέχρι στιγμής ένα προϊόν κλειδί στην εκπαιδευτική ρομποτική. Τώρα όμως ο νεότερος αδερφός του, το ActivityBot αρχίζει να στρέφει τα φώτα της δημοσιότητας επάνω του!
 Ο on-board πολυπύρηνος μικροεπεξεργαστής Parallax Propeller που βρίσκεται πάνω του, κάνει αυτό το ρομπότ μία πολύ σοβαρή πρόταση στο χώρο της εκπαιδευτικής ρομποτικής. Με 8 επεξεργαστές σε ένα μόνο Chip Το ActivityBot είναι ικανό να κάνει πραγματική πολυεπεξεργασία! Εξειδικευμένοι servoκινητήρες αυξημένης ταχύτητας και οπτικοί κωδικοποιητές οδομετρίας (encoders) επιτρέπουν ελιγμούς και γρήγορες κινήσεις υψηλής ακρίβειας.
Μπορείς στην κυριολεξία να γίνεις ο απόλυτος ρομποτικός άρχοντας ελέγχοντας πόσο μακριά και πόσο γρήγορα θα πηγαίνει το ρομπότ σου. Όπως και τα υπόλοιπα kit εκπαιδευτικής ρομποτικής της Parallax και αυτό το ρομπότ υποστηρίζεται από μία μεγάλη ποικιλία αισθητήρων με τους οποίους μπορείς να δημιουργήσεις κυκλώματα πάνω στον πίνακα συνδέσεων του ρομπότ επιτρέποντας στο ρομπότ να κάνει αυτόνομη πλοήγηση. 
Ειδικά «μουστάκια» επιτρέπουν στο ρομπότ να πλοηγείται με την επαφή του σε διάφορα αντικείμενα, ο αισθητήρας υπερήχων κρατάει το ρομπότ μακριά από εμπόδια προτού καν πέσει πάνω σε αυτά. Το ActivityBot μπορεί να ανιχνεύσει τα επίπεδα φωτός με τους παρεχόμενους φωτο-αισθητήρες του και μπορεί να προγραμματιστεί ώστε ν’ ακολουθεί το φώς από έναν φακό. Με παρόμοια λειτουργικότητα οι αισθητήρες εκπομπής και λήψης υπερύθρων δίνουν άλλο ένα τρόπο στο ρομπότ να βλέπει τα αντικείμενα εμπρός του. Επίσης επειδή το AktivityBot είναι συναρμολογημένο σε ένα κλασικό αλουμινένιο σασί BoeBot, είναι απόλυτα συμβατό με όλα τα πρόσθετα εξαρτήματα του BoeBot που πιθανός να έχει κάποιος ήδη στην κατοχή του όπως: Διάταξη αισθητήρων για να ακολουθείς γραμμές στο πάτωμα, ρομποτικούς βραχίονες, περιστρεφόμενο ραντάρ υπερήχων κ.α. Όλα τα μαθήματα οι δραστηριότητες και επιδείξεις του ρομπότ βρίσκονται δωρεάν στην διεύθυνση ηλεκτρονικού εκπαιδευτικού προγράμματος της Parallax : http://learn.parallax.com/activitybot
Σε αυτή τη διεύθυνση παρέχονται όλες οι πληροφορίες που χρειάζεται κανείς ώστε να μάθει να προγραμματίζει τον πολυπύρηνο μικροεπεξεργαστή Parallax Propeller.
Ξεκινώντας από τα βασικά όπως: παρουσιάζοντας δεδομένα σε μία τερματική οθόνη, ενεργοποιώντας μαθηματικά κινητής υποδιαστολής, κανονίζοντας βρόχους επανάληψης και προσθέτοντας βιβλιοθήκες στα προγράμματά σου. Μπορείς να δημιουργήσεις απλά κυκλώματα και να μάθεις να αναβοσβήνεις ένα λαμπάκι να «διαβάζεις» ένα διακόπτη πατήματος, να βγάζεις ήχο από ένα ηχείο και να φτιάχνεις ένα μετρητή τάσης ρεύματος χρησιμοποιώντας τον μετατροπέα αναλογικού σε ψηφιακό που βρίσκεται πάνω στην μητρική πλακέτα.
Συνδέοντας απλές συσκευές σου δίνεται η δυνατότητα να έχεις πρόσβαση σε όλους τους δημοφιλείς αισθητήρες της Parallax συμπεριλαμβάνοντας να μάθεις πώς να παίζεις wav αρχεία ήχου, να ανιχνεύεις αποστάσεις με τον αισθητήρα υπερήχων (Ping sensor) και να μετράς κλίσεις και επιτάχυνση με το επιταχυνσιόμετρο MX2125.
Σε αυτές τις δικτυακές επιδείξεις (tutorials) μπορείς επίσης να μάθεις πώς να γράφεις συναρτήσεις και να κάνεις πολυπύρηνο προγραμματισμό με τις λειτουργίες της Γλώσσας προγραμματισμού C
Η γλώσσα προγραμματισμού Propeller C περιλαμβάνει το SimpleID. To SimpleID είναι απλό περιβάλλον διεπαφής χρήστη για ανάπτυξη ανοικτού κώδικα που σου επιτρέπει να προγραμματίσεις τον επεξεργαστή Propeller σε γλώσσα C.
Αποτελώντας ένα βασικό και αρκετά διαδεδομένο εργαλείο προγραμματισμού στην ανώτερη και ανώτατη εκπαίδευση η γλώσσα προγραμματισμού C βρίσκει τώρα τον συνδετικό της κρίκο με την εκπαιδευτική ρομποτική!!!
Το γεγονός αυτό δίνει στην Parallax ένα δυνατό προβάδισμα και τη καθιστά για μια ακόμη φορά μία από τις πιο αξιόλογες και καινοτόμες προτάσεις στο χώρο της εκπαιδευτικής ρομποτικής.
Αυτά λοιπόν μέχρι στιγμής τα νεότερα από το ActivityBot και το εκπαιδευτικό πρόγραμμα της Parallax βασισμένο στη C. Ένα πρόγραμμα που είναι διαρκώς σε εξέλιξη καθώς η εταιρεία ανανεώνει και προσθέτει καθημερινά νέα παραδείγματα, εκπαιδευτικές δραστηριότητες και εφαρμογές με όριο μόνο την φαντασία του χρήστη….


Πηγές:
Videos:

Δευτέρα 19 Δεκεμβρίου 2011

Ρομπότ αναγνώρισης φωνής με χρήση του μικροελεγκτή Parallax Propeller από το Νίκο Γιαννακόπουλο


Το project αυτό περιλαμβάνει τη κατασκευή ενός ρομπότ δύο τροχών (που ελέγχονται από σερβοκινητήρες) και ενός τρίτου βοηθητικού τροχού (two-wheeled differential drive robot) το οποίο έχει τη δυνατότητα να μαθαίνει τη φωνή του χρήστη και να υπακούει σε φωνητικές εντολές όπως : «Μπροστά», «Πίσω», «Δεξιά» και «Αριστερά»


Ο «εγκέφαλος» του ρομπότ είναι ο Parallax Propeller ο οποίος φιλοξενείται πάνω στο Propeller Demo Board το οποίο μεταξύ των άλλων συνδέσεων για εξωτερικές συσκευές διαθέτει ένα ενσωματωμένο μικρόφωνο ικανό να «ακούει» τους ήχους του περιβάλλοντος.
Το ρομπότ είναι εξαιρετικά εύκολης και απλής κατασκευής και σαν hardware το μόνο που απαιτεί είναι ένα απλό σασί ικανό να μεταφέρει το Propeller Demo Board.

Το software είναι γραμμένο σε γλώσσα προγραμματισμού SPIN η οποία είναι ένα λογισμικό ανοικτού κώδικα. Ο αρχικός κώδικας αναγνώρισης φωνής στον οποίο βασίστηκα και τροποποίησα προκειμένου να το χρησιμοποιήσω σε αυτό το ρομπότ είναι το “Goertzel Speech Recognition demo” γραμμένος από τον κ. Phil Pilgrim.
Στη συνέχεια παρουσιάζω δύο εκδοχές του ρομπότ. Η μία με χειροποίητο σασί επαναφορτιζόμενη μπαταρία και η άλλη με το έτοιμο σασί που παρέχει η Parallax στο γνωστό ρομπότ της το διάσημο Boe-Bot
A. Κατασκευή με χειροποίητο σασί

Όπως μπορεί κανείς να δει χρησιμοποιούνται δύο κομμάτια από plexiglas με μία τετράγωνη οπή εσωτερικά για να στηρίζεται η μπαταρία και δύο εξίσου χειροποίητα στηρίγματα για τους δύο σερβοκινητήρες (servo adapters).Επίσης θα χρειαστούν μερικές βίδες και παξιμάδια δύο τροχοί που να εφαρμόζουν σε servo motors και ένας βοηθητικός τροχός ελεύθερης περιστροφής. (δείτε το σχετικό video κατασκευής και λειτουργίας:
Propeller speech recognition robot
)
B. Για την κατασκευή με το έτοιμο σασί του (Boe-Bot) (προτείνεται) το ρομπότ περιλαμβάνει:


ΥΛΙΚΑ ΚΑΤΑΣΚΕΥΉΣ:
Propeller Demo Board
Boe Bot Chassis
Polyethylene Ball 1"2 X Boe-Bot/SumoBot Wheel & Tire
2 X Parallax (Futaba) Continuous Rotation Servo
4AA Battery Holder
1 X Green LED
1 X Red LED
1 X Yellow LED
2 X 1K ohm, 1/4 watt resistor
3 X 220 ohm, 1/4 watt resistor
Υλοποίηση κυκλώματος

Το κύκλωμα που υλοποιούμε πάνω στην breadboard είναι ένα κύκλωμα που εκτός από τους δύο σερβοκινητήρες διαθέτει και τρία LEDs (κόκκινο πράσινο και κίτρινο) που παίζουν το ρόλο της διεπαφής του ρομπότ με το χρήστη . Το Κόκκινο LED ανάβει όταν το ρομπότ «ακούει» μία εντολή δηλαδή όταν αρχικά «μαθαίνει» το σετ εντολών και κατόπιν όταν δέχεται μία φωνητική εντολή προς εκτέλεση. Το Πράσινο LED δείχνει ότι το ρομπότ έχει καταλάβει την εντολή και προχωρά στο επόμενο βήμα εκτέλεσης του προγράμματος. Το κίτρινο LED δείχνει ότι το ρομπότ άκουσε κάτι ακαθόριστο το οποίο δεν κατάλαβε και θα μας ζητήσει να το ξαναπούμε (θα ξανα-ανάψει αυτόματα το κόκκινο LED για νέα εισαγωγή της φωνητικής εντολής).
Το project μπορεί να προσαρμοστεί ανάλογα με τις ανάγκες του χρήστη και να δεχθεί διαφορετικό πλήθος φωνητικών εντολών που φυσικά ο προγραμματιστής πρέπει να προσθέσει τον κατάλληλο κώδικα.
Τον κώδικα μπορείτε να βρείτε στην ακόλουθη σύνδεση που παραπέμπει στο Forum της Parallax όπου δημοσιεύτηκε αρχικά το Project και κέρδισε και τον τίτλο του Project της εβδομάδας.

Το project παρουσιάστηκε στις 14 Δεκ. 2011 στην 5η Ημερίδα εκπαιδευτικών Πληροφορικής στην Πάτρα.

Παρασκευή 18 Νοεμβρίου 2011

Make ideas real with SketchUp

Inspired by the project "Make ideas real with SketchUp" I decided to make some images of my robotic creations in conjunction with their SketchUp models
Here is the result:
projects: Color sorter, Celestial globe, Nikos' 4WD Rover


Creator:Nikos Giannakopoulos (gianakop@gmail.com)

Τρίτη 9 Μαρτίου 2010

Parallax color sorter



Το πιο πρόσφατο project με τους μαθητές μου από το 3ο ΓΕΛ Πάτρας, είναι ένας χρωματικός ταξινομητής (color sorter).Τι ακριβώς κάνει; Ρίχνουμε διάφορες χρωματιστές μπάλες του Πινκγ-Πονγ μέσα σε έναν αυτόματο παροχέα που είναι ένας μηχανισμός που τις ανακατεύει και μετά τις βγάζει έξω μία-μία και ο ρομποτικός βραχίονας τις ξεχωρίζει αυτόματα τοποθετώντας σε ξεχωριστά δοχεία ανάλογα με το χρώμα τους! Την πολύπλοκη αυτή δουλειά έχει αναλάβει να κάνει ένας μικροελεγτής (microcontroller) και ένας αισθητήρας χρώματος (Color sensor) της Parallax! Και όλα αυτά φυσικά μέσα από ειδικό πρόγραμμα σε γλώσσα Bs2 που είναι φορτωμένο στη μνήμη του μικροελεγκτή από τον ηλεκτρονικό υπολογιστή μας!
Ομάδα μαθητών:
ΓΙΑΡΑΛΗΣ ΧΑΡΗΣ, ΚΑΛΗΣ ΑΝΑΣΤΑΣΙΟΣ, ΚΟΚΚΙΝΟΠΟΥΛΟΣ ΕΥΓΕΝΙΟΣ, ΛΑΜΠΡΗ ΕΛΕΝΗ, ΛΑΜΠΡΟΠΟΥΛΟΥ ΝΙΚΟΛΙΤΣΑ, ΜΑΤΣΟΥΡΗ ΚΑΣΣΙΑΝΝΗ-ΑΝΝΑ, ΜΑΥΡΟΜΑΤΗ ΒΑΣΙΛΙΚΗ, ΝΤΑΚΟΣ ΦΙΛΙΠΠΟΣ, ΞΑΝΘΗΣ ΝΙΚΟΛΑΟΣ, ΠΑΝΟΥΤΣΑΚΟΠΟΥΛΟΣ ΙΩΑΝΝΗΣ
Υπεύθυνος του project: ΓΙΑΝΝΑΚΟΠΟΥΛΟΣ ΝΙΚΟΣ
YouTube video: http://www.youtube.com/watch?v=ntmPa4EFgUY

Κυριακή 17 Ιανουαρίου 2010

2ος Πανελλήνιος διαγωνισμός εκπαιδευτικής ρομποτικής ΔΙΑΓΩΝΙΣΜΟΣ WRO2010 & Challenge ΛΥΚΕΙΟΥ

Προς τους μαθητές του Λυκείου που θα ήθελαν να συμμετάσχουν στον Πανελλήνιο διαγωνισμό εκπαιδευτικής ρομποτικής WRO2010 ή απλά και μόνο θέλουν να επιλύσουν το πρόβλημα (στα πλαίσια των μαθημάτων πληροφορικής και μόνο) ένα πολύ χρήσιμο βοήθημα που μπορούν πάρουν ιδέες για την υλοποίηση του μηχανικού μέρους του project είναι το διαδίκτυο.
Συγκεκριμένα τρείς καλές ιδέες για την υλοποίηση του ρομπότ Αναρριχητή της κατηγορίας του Λυκείου είναι κατά την προσωπική μου άποψη οι παρακάτω:
1. NXT Mindstorms Lego Climber
http://www.youtube.com/watch?v=HhRKnvZgy9A
2. Lego NXT Stair Climber
http://www.youtube.com/watch?v=1uuRyTmiGaw&feature=related
3. NXT Skyscraper Climber V1.0http://www.youtube.com/watch?v=QuLmMay4vik



Όπως είπα και παραπάνω οι τρείς προτεινόμενες ιδέες αποτελούν προσωπική άποψη σίγουρα είναι ένα πολύ μικρό δείγμα και ασφαλώς δεν πρέπει να περιορίσουν τη φαντασία σας. Ο καθένας μπορεί να ακολουθήσει οποιαδήποτε κατασκευή νομίζει ποιο λειτουργική και σε συνάρτηση πάντα με το δομικά στοιχεία Lego Mindstorms που διαθέτει αλλά και το πρόγραμμα που μπορεί να φτιάξει..
Άλλωστε το challenge του διαγωνισμού Λυκείου είναι λίγο ποιο πολύπλοκο αφού απαιτεί να παρθεί μία μπάλα από την κορυφή του στύλου και να μεταφερθεί στο έδαφος.
Περισσότερα θα διαπιστώσετε στην πράξη δοκιμάζοντας τις ιδέες που θα προκύψουν τόσο προγραμματιστικά όσο και κατασκευαστικά πάνω στην πίστα του διαγωνισμού (την οποία όσον αφορά το 3ο ΓΕΛ ΠΑΤΡΑΣ θα έχω στη διάθεσή σας στο εργαστήριο πληροφορικής του σχολείου).
Εκεί θα έχετε μια πρώτη ανάδραση και ανατροφοδότηση του προβλήματος (όπως μερικοί έχετε μάθει από το μάθημα της Τεχνολογίας Επικοινωνιών της Β’ Λυκείου) και ίσως ανακαλύψετε νέα προβλήματα που μπορούν να υπάρχουν με τις ιδέες που πιθανώς έχετε σκεφτεί από πλευράς προγραμματισμού και κατασκευής και να έχετε έτσι την ευκαιρία να τις βελτιώσετε.
Περισσότερα για τον διαγωνισμό (λεπτομέρειες, χρονοδιαγράμματα, ερωτήσεις) μπορείτε να βρείτε στο site http://www.wrohellas.gr/ (Δήλωση συμμετοχής μέχρι 1η Φεβρουαρίου 2010).ή (αφορά τους μαθητές του 3ου ΓΕΛ ΠΑΤΡΑΣ) να έρθετε σε επαφή μαζί μου στο εργαστήριο ή ηλεκτρονικά (gianakop@gmail.com). ΝΙΚΟΣ ΓΙΑΝΝΑΚΟΠΟΥΛΟΣ (ΠΕ19 - 3ο ΓΕΛ ΠΑΤΡΑΣ WEB: http://www.youtube.com/user/ngyt40).

Τρίτη 15 Σεπτεμβρίου 2009

Swap activity


One issue that students were asked to respond to the National examinations 2009 in informatics was the swap procedure.
From my personal experience as an examine marker I realized many types of misunderstandings of this topic even from very good students. This was my reason to create the “Swap robotic activity” according to the motif of WRO2009 competition’s task. Simultaneously, I try to make clear to the students how exactly the swap between two variables takes place
Here is the court for this activity:


NOTES:
All dimensions in the court are measured in mm.
A, and B positions are RANDOM but they must always be located on the white area. The minimum distance between A and B must be 250mm. Competitors are not supposed know these positions in advance.
RULES:
TEMP position is known and it is located at a specific point (at the bottom middle yellow area) as it is presented in the court.
Balls are common pong balls (diameter 20mm) in red and blue color.
For positions A, B and TEMP it would be perfect if we used empty refreshment cans 150ml (diameter 50mm and high 90mm) on top of which we can put the balls.
AIM:
The Robot must start from anywhere within the green area. Then it must swap the red and blue balls which are located in A and B positions, using the robot gripper and the TEMP position. It is not allowed to leave any ball in any other point on to the floor except for the positions A, B and Temp. After robot has achieved the above task, must turn back to the START position. Winner is the person who ends the task at the shortest time.
VIDEO of SWAP ACTIVITY with Lego NXT:http://www.youtube.com/watch?v=eQ6RxJa_OvI

Πέμπτη 16 Απριλίου 2009

1ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΡΟΜΠΟΤΙΚΗΣ


1ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΡΟΜΠΟΤΙΚΗΣ ΚΑΙ
Η ΣΥΜΜΕΤΟΧΗ ΤΟΥ 3ΟΥ ΓΕΛ ΠΑΤΡΑΣ

ΠΡΟΠΟΝΗΤΗΣ: ΓΙΑΝΝΑΚΟΠΟΥΛΟΣ ΝΙΚΟΣ (ΠΕ19)
ΟΜΑΔΕΣ ΜΑΘΗΤΩΝ:
ΟΜΑΔΑ 1
ΑΔΑΜΟΠΟΥΛΟΣ ΓΕΡΑΣΙΜΟΣ, ΒΑΡΙΑΝΤΖΑ ΕΛΕΝΗ,ΓΡΑΜΜΑΤΙΚΟΠΟΥΛΟΣ ΧΡΥΣΟΒΑΛΑΝΤΗΣ ΠΑΝΑΓΙΩΤΗΣ
ΟΜΑΔΑ 2
ΚΑΛΛΗΣ ΠΑΝΑΓΟΠΟΥΛΟΣ ΑΝΑΣΤΑΣΙΟΣ, ΓΙΑΡΑΛΗΣ ΧΑΡΙΛΑΟΣ,ΒΑΣΙΛΑΚΗΣ ΜΕΓΑΚΛΗΣ

Οι απόψεις των ομάδων του Σχολείου μας σχετικά με το διαγωνισμό.


Στην αρχή μας φάνηκε περίεργο. Πανελλήνιος διαγωνισμός εκπαιδευτικής ρομποτικής!!! Και τι είναι όλες αυτές οι πίστες και οι κανόνες και όλα αυτά τα θαυμαστά πράγματα που πρέπει να προγραμματίσουμε να κάνουν τα ρομποτάκια; Πως μπορούμε να τα κάνουμε όλα αυτά; Αποφασίσαμε να το τολμήσουμε. Μελετήσαμε τους κανόνες και κατασκευάσαμε την πίστα για την κατηγορία Λυκείου. Βασικό μας κίνητρο η περιέργεια και η πρόκληση για μάθηση. Αρχίσαμε με κάποιο φόβο και δισταγμό με ένα δανικό πακέτο Lego Mindstorms. Από τη πρώτη στιγμή που το έφερε ο προπονητής μας στο εργαστήριο ενθουσιαστήκαμε. Ήταν μια πρόκληση για όλους μας. Βλέπαμε τις εντολές να εκτελούνται από το ρομπότ και εμείς του βάζαμε να κάνει όλο και πιο δύσκολα πράγματα δοκιμάζοντας τους εαυτούς μας σε αυτό το υπέροχο περιβάλλον αλληλεπίδρασης. Πήγαινε μπροστά μέχρι να βρεις τη μαύρη γραμμή στο δάπεδο……. Σταμάτα 30 εκατοστά από τον τοίχο…… Στρίψε 90ο ……Πιάσε τη μπάλα. Εντολές που σχεδιάζαμε, αναλύαμε με βάση την απλή λογική, εφαρμόζαμε κανόνες των μαθηματικών και της φυσικής και υλοποιούσαμε στην πράξη προγραμματίζοντας το ρομπότ. Τα μαθηματικά, η φυσική και η πληροφορική αποκτούσαν άλλη διάσταση στα μάτια μας. Δεν ήταν απλά τα μαθήματα που συνήθως διαβάζουμε για να περάσουμε τις εξετάσεις. Αυτή τη φορά ήταν τα εργαλεία για να φέρουμε σε πέρας μία αποστολή. Ήταν τα εργαλεία που μας βοηθούσαν να λύσουμε το πρόβλημα που μας είχε κεντρίσει το ενδιαφέρον. Μετά το σχηματισμό της πρώτης ομάδας και τις πρώτες δοκιμές θέλαμε και άλλοι να συμμετέχουμε. Το κάνουμε έτσι και αλλιώς στο εργαστήριο. Ο διαγωνισμός είναι για εμάς το έναυσμα για να ξεκινήσουμε αυτό το υπέροχο ταξίδι στο κόσμο της γνώσης.