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

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

Python And Robotics.

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


Παρουσίαση με θέμα: "Python And Robotics."— Μεταγράφημα παρουσίασης:

1 Python And Robotics

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

3 About Python Γλώσσα προγραμματισμού 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 Non-Numerical Projects
Web-page Football Statistics Robot Simulator Robot Programming Language Posting Grades

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

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

10 Ιστορική αναδρομή

11 Ιστορική αναδρομή

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

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

14 Εισαγωγή Στην Python

15 Μεταβλητές Στην Python οι μεταβλητές αποκτούν τύπο δυναμικά. Π.χ. >>> b = 2 # b is now integer >>> print b Output:2 >>> b = b * 2.0 # b is now float 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 Output: [0.0, 1.0, 2.0, 3.0, 4.0] >>> print len(a) # Determine length of list Output: 5

19 Λογικές εκφράσεις/βρόχοι (1)
Δομή if else Π.χ. if a < 0.0: sign = ’negative’ elif a > 0.0: sign = ’positive’ else: sign = ’zero’

20 Λογικές εκφράσεις/βρόχοι (2)
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 Λογικές εκφράσεις/βρόχοι (3)
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 Συναρτήσεις (1) Η δομή μιας συνάρτησης στην Python είναι : def όνομα_συνάρτησης (παράμετρος,παράμετρος2,…): εντολές return τιμές_επιστροφής

23 Συναρτήσεις (2) Έτοιμες μαθηματικές συναρτήσεις: - 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 Python with MSRDS

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 Robot Drive 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' base1.GoTo(1.0, 0.3) base1.Turn(90, 0.2) print 'Robot_Drive.py Ready'

32 Invoke Script

33 MAZE EXPLORER

34 ΓΕΝΙΚΗ ΛΥΣΗ Ακολουθούμε μια διαδρομή κατά μήκος του τοίχου επιλέγοντας στην αρχή αν θα τον έχουμε δεξιά η αριστερά μας.

35 ΓΕΝΙΚΗ ΛΥΣΗ (1) Για τη συγκεκριμένη λύση διαλέξαμε ο τοίχος να είναι στα αριστερά μας. Τοποθετούμε κατάλληλα τους αισθητήρες πάνω στο ρομπότ. τοίχος 270th απόσταση του LRF τοίχος 180th απόσταση του LRF 355th απόσταση του LRF Δεξιά στροφή 30 μοιρών

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

37 ΑΛΓΟΡΙΘΜΟΣ (1) Αν δεν υπάρχει τοίχος στα αριστερά τότε στρίβει αριστερά Αριστερή στροφή 30 μοιρών 355η απόσταση του LRF τοίχος

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

39 MAZE (2)

40 Save and execute script

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

42 Ερωτήσεις?


Κατέβασμα ppt "Python And Robotics."

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


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