Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Γιάκα Χρυσούλα Δέλλας Βασίλης Παπαγεωργίου Τάσος Παπασταμόπουλος Γιώργος 4 Ρήγας Τάσος Σαββόπουλος-Βασιλόπουλος Γιώργος Στριγγλής Κων/νος Τσινοπούλου.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Γιάκα Χρυσούλα Δέλλας Βασίλης Παπαγεωργίου Τάσος Παπασταμόπουλος Γιώργος 4 Ρήγας Τάσος Σαββόπουλος-Βασιλόπουλος Γιώργος Στριγγλής Κων/νος Τσινοπούλου."— Μεταγράφημα παρουσίασης:

1

2 Γιάκα Χρυσούλα Δέλλας Βασίλης Παπαγεωργίου Τάσος Παπασταμόπουλος Γιώργος 4 Ρήγας Τάσος Σαββόπουλος-Βασιλόπουλος Γιώργος Στριγγλής Κων/νος Τσινοπούλου Δέσποινα 8 Υψηλάντης Κων/νος Ψαρρής Νίκος

3  Γλώσσα προγραμματισμού  Guido van Rossum το 1990  Open source  Διαχειρηση από Python Software Foundation  Προέλευση ονόματος :Monty Python  Στόχος: η αναγνωσιμότητα του κώδικά της ευκολία χρήσης της.  Πολλές βιβλιοθήκες που διευκολύνουν ιδιαίτερα αρκετές συνηθισμένες εργασίες και για την ταχύτητα εκμάθησης της.

4  Εύκολη  Εκμάθηση  Αναγνωσιμότητα  Συντήρηση  Γρήγορη Ανάπτυξη Εφαρμογών  Επεκτάσιμη  Ανοικτού κώδικα  Παίζει σχεδόν παντού  Όχι πια segmentation faults  Αυτόματη διαχείρηση μνήμης

5  Google  NASA  Yahoo!  MIT  RedHat και σχεδόν όλοι οι διανομείς linux  Intifex ...και πολλοί άλλοι

6  Προγραμματισμός στον παγκόσμιο ιστό  Έκπαιδευση  Επιστήμη  Scripting  Robotics  Διάφορες εφαρμογές ...πολλές άλλες!!

7  Web-page  Football Statistics  Robot Simulator  Robot Programming Language  Posting Grades

8  Physics Projects  Neural Simulators  Robotics Projects  Mechanisms of the Mind Projects

9 Η πρώτη έκδοση που δόθηκε στο κοινό ήταν η έκδοση το Αρχικά ήταν μια γλώσσα scripting για το λειτουργικό σύστημα Amoeba. Η Python είναι opensource και γλώσσα υψηλού επιπέδου. Κατασκευάστηκε στο CWI του Άμστερνταμ και συνεχίζεται στο CNRI του Reston

10

11

12 Συνήθως εγκαθίσταται με την εγκατάσταση του λειτουργικού συστήματος. Για να μάθετε την έκδοσή σας : Αν όχι, τότε την κατεβάζουμε από την επίσημη ιστοσελίδα Εκτελούμε #./configure #make #make install Μετά την εγκατάσταση -> export PATH=''$PATH:/usr/local/bin/python/''

13 Το κατεβάζουμε εύκολα από την επίσημη ιστοσελίδα Επιλέγουμε την κατάλληλη έκδοση ανάλογα με το σύστημά μας. Μετά την εγκατάσταση-> path %path%; C:\Python (command prompt)C:\Python

14

15 Στην Python οι μεταβλητές αποκτούν τύπο δυναμικά. Π.χ. >>> b = 2 # b is now integer >>> print b Output:2 >>> b = b * 2.0 # b is now float >>> print b Output:4.0

16 Η Python παρέχει μεγάλη ευελιξία για πράξεις μεταξύ συμβολοσειρών(strings). Το σύμβολο ‘+’ ενώνει 2 strings, ενώ το σύμβολο ‘:’ αποκόπτει τμήμα ενός string. Π.χ. >>> string1 = ‘Press return to exit’ >>> string2 = ‘the program’ >>> print string1+ ‘ ’ + string2 Press return to exit the program >>> print string1[0:12] Press return

17 Μια πλειάδα(tuple) είναι μια σειρά από αυθαίρετα αντικείμενα τα οποία διαχωρίζονται με κόμμα και περικλείονται με παρανθέσεις. Π.χ. >>> rec = (‘Smith’, ‘John’) # this is a tuple >>> lastName,firstName = rec # unpacking >>> print lastName Output: Smith >>> name = rec[1] + ‘ ’ + rec[0] >>> print name Output: John Smith

18 Μια λίστα είναι παρόμοια με μια πλειάδα, όμως μπορεί να μεταλλαχθεί. Π.χ. >>> a = [1.0, 2.0, 3.0] # Create a list >>> a.append(4.0) # Append 4.0 to list >>> print a Output: [1.0, 2.0, 3.0, 4.0] >>> a.insert(0,0.0) # Insert 0.0 in position 0 >>> print a Output: [0.0, 1.0, 2.0, 3.0, 4.0] >>> print len(a) # Determine length of list Output: 5

19 Δομή if else Π.χ. if a < 0.0: sign = ’negative’ elif a > 0.0: sign = ’positive’ else: sign = ’zero’

20 For loop Π.χ. nMax = 5 a = [] for n in range(1,nMax): a.append(1.0/n) print a Output: [1.0, 0.5, , 0.25]

21 While loop Π.χ. #create the list [1,1/2,1/3,…] nMax = 5 n = 1 a = [] # Create empty list while n < nMax: a.append(1.0/n) # Append element to list n = n + 1 print a Output: [1.0, 0.5, , 0.25]

22 Η δομή μιας συνάρτησης στην Python είναι : def όνομα_συνάρτησης (παράμετρος,παράμετρος2,…): εντολές return τιμές_επιστροφής

23 Έτοιμες μαθηματικές συναρτήσεις: - abs(a) Απόλυτη τιμή του a - max(σειρά) Το μεγαλύτερο στοιχείο της σειράς - min(σειρά) Το μικρότερο στοιχείο της σειράς - round(a,n) Στρογγυλοποίηση του a σε n δεκαδικά - cmp(a,b) Επιστρέφει: -1 αν a < b 0 αν a = b 1 αν a > b

24 Διάβασμα εισόδου από χρήστη με την χρήση της εντολής raw_input Π.χ. >>> a = raw_input(’Input a: ’) >>> 10 >>> print a Input a: 10 Τύπωση εξόδου με την χρήση της εντολής print Π.χ. >>> a=10 >>> print a Output:10

25 Μαθηματικές συναρτήσεις μέσω της math: Π.χ. >>> import math #import all from math or >>> from math import * #import * from math

26

27 Robotics in Python Λογισμικό προσομοίωσης της Microsoft. Χρησιμοποιείται για έλεγχο και προσομοίωση Ρομποτ. Απευθύνεται σε επαγγελματίες και ερασιτέχνες. Είναι συμβατό με μία ευρεία γκάμα αρχιτεκτωνικών.

28 ΒΑΣΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ Visual programming. 3D simulation. Έυκολη πρόσβαση στο Hardware(αισθητήρες). Υποστήριξη script language όπως Iron Python.

29 Iron Python Υλοποίηση της κλασικής Python. Υλοποιημένη σε c#. Δημιουργήθηκε για την Microsft Windows.

30 Interface Easy drag and drop

31 from datetime import datetime import time def RobotPosition(): print 'RobotPosition called' while True: px = str(base1.Position.X) pz = str(base1.Position.Z) print 'Position X and Z -> ' + px + ' / ' + pz time.sleep(0.5) def RobotDrive(left, right): print 'RobotDrive called' base1.Go(left, right) def RobotDrivePattern(): print 'RobotDrivePattern called' while True: base1.GoTo(1.0, 0.3) base1.Turn(90, 0.2) print 'Robot_Drive.py Ready'

32

33

34 Ακολουθούμε μια διαδρομή κατά μήκος του τοίχου επιλέγοντας στην αρχή αν θα τον έχουμε δεξιά η αριστερά μας.

35 Για τη συγκεκριμένη λύση διαλέξαμε ο τοίχος να είναι στα αριστερά μας. Τοποθετούμε κατάλληλα τους αισθητήρες πάνω στο ρομπότ. τοίχος 180 th απόσταση του LRF 270 th απόσταση του LRF 355 th απόσταση του LRF Δεξιά στροφή 30 μοιρών

36 Σε κάθε στιγμιότυπο ελέγχει τις τιμές που δίνουν οι 3 αισθητήρες απόστασης και στρίβει δεξιά  Αν είναι “κοντά” σε γωνία  Αν είναι “κοντά” σε πλαϊνό τοίχο  Αν είναι “κοντά” σε μπροστινό τοίχο

37 Αν δεν υπάρχει τοίχος στα αριστερά τότε στρίβει αριστερά τοίχος 355 η απόσταση του LRF Αριστερή στροφή 30 μοιρών

38 MAZE ● Ορισμός περιβάλλοντος ● Χρήση αισθητήρα.

39 MAZE (2)

40 Save and execute script

41 Maze 2Irs  Δύο Αισθητίρες Ir.  Turn 90 if ir2 free.  Else turn -90.

42 Ερωτήσεις?


Κατέβασμα ppt "Γιάκα Χρυσούλα Δέλλας Βασίλης Παπαγεωργίου Τάσος Παπασταμόπουλος Γιώργος 4 Ρήγας Τάσος Σαββόπουλος-Βασιλόπουλος Γιώργος Στριγγλής Κων/νος Τσινοπούλου."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google