Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
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
Ερωτήσεις?
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.