Αντιμετώπιση προβλημάτων

Γνώση Υπολογιστών >> Αντιμετώπιση προβλημάτων >  >> AI

Ποιοι είναι οι αλγόριθμοι που χρησιμοποιούνται στη ρομποτική;

Η ρομποτική βασίζεται σε μια τεράστια σειρά αλγορίθμων που καλύπτουν αρκετές βασικές περιοχές. Ακολουθεί μια κατανομή μερικών από τις πιο σημαντικές:

1. Αντίληψη/ανίχνευση: Αλγόριθμοι που επιτρέπουν στο ρομπότ να κατανοήσει το περιβάλλον του μέσω των αισθητήρων.

* Οράματα υπολογιστή:

* Ανίχνευση αντικειμένων: YOLO, SSD, ταχύτερο R-CNN, Mask R-CNN, Transformers (DETR, Deformable DETR)-Προσδιορισμός και εντοπισμός αντικειμένων σε εικόνες/βίντεο.

* Τμηματοποίηση εικόνας: U -net, deeplab - Διαχωρίζοντας μια εικόνα σε σημαντικές περιοχές, αναθέτοντας μια ετικέτα σε κάθε εικονοστοιχείο.

* Ανίχνευση και αντιστοίχιση χαρακτηριστικών: Κοσκινίστε, Surf, Orb - Εύρεση διακριτικών χαρακτηριστικών στις εικόνες για την αντιστοίχιση σε διαφορετικές απόψεις και συνθήκες.

* Δομή από την κίνηση (SFM): Ανασυγκρότηση της δομής 3D από μια σειρά 2D εικόνων.

* Visual Slam (ταυτόχρονη εντοπισμός και χαρτογράφηση): Orb-Slam, DSO-SLAM-ταυτόχρονα οικοδομώντας έναν χάρτη του περιβάλλοντος και καθορίζοντας τη θέση του ρομπότ μέσα σε αυτόν τον χάρτη χρησιμοποιώντας την όραση.

* Οπτική ροή: Lucas -Kanade, Farneback - Εκτιμώντας την κίνηση των αντικειμένων και το ίδιο το ρομπότ με βάση τις αλλαγές στα οπτικά χαρακτηριστικά.

* Εκτίμηση βάθους: Στερεοφωνική όραση, εκτίμηση μονοκύλινδρου βάθους με βαθιά μάθηση (π.χ. χρησιμοποιώντας μετασχηματιστές).

* Επεξεργασία LIDAR:

* Εγγραφή σύννεφων σημείων: ICP (επαναληπτικό πλησιέστερο σημείο), RANSAC - Σύννεφα σημείων ευθυγράμμισης από πολλαπλές σαρώσεις για να δημιουργήσετε ένα πλήρες μοντέλο 3D.

* Αναγνώριση αντικειμένων &ταξινόμηση: PointNet, PointNet ++, DGCNN - Απευθείας επεξεργασίας δεδομένων σύννεφων για τον εντοπισμό και ταξινόμηση αντικειμένων.

* κατάτμηση: Η καλλιέργεια της περιοχής, η τοποθέτηση αεροπλάνου, η κατάτμηση του νέφους με βάση τη βαθιά μάθηση.

* lidar slam: Loam (Odometry και χαρτογράφηση Lidar), Lego -Loam - παρόμοιο με το Visual Slam, αλλά χρησιμοποιώντας δεδομένα LIDAR.

* χαρτογράφηση πλέγματος πληρότητας: Αντιπροσωπεύοντας το περιβάλλον ως πλέγμα όπου κάθε κύτταρο υποδεικνύει αν είναι κατειλημμένο ή ελεύθερο.

* σύντηξη αισθητήρα: Συνδυάζοντας δεδομένα από πολλούς αισθητήρες για να αποκτήσετε μια πιο ακριβή και ισχυρή αντίληψη του περιβάλλοντος.

* φίλτρο Kalman: Εκτίμηση της κατάστασης ενός συστήματος (π.χ. θέση ρομπότ και ταχύτητα) συνδυάζοντας τα θορυβώδη δεδομένα αισθητήρων με ένα δυναμικό μοντέλο. Το εκτεταμένο φίλτρο Kalman (EKF), το φίλτρο Kalman Unscented (UKF) είναι παραλλαγές για μη γραμμικά συστήματα.

* Bayesian φιλτράρισμα: Ένα γενικό πλαίσιο για το συνδυασμό της προηγούμενης γνώσης με τα δεδομένα αισθητήρων για την ενημέρωση των πεποιθήσεων για το περιβάλλον. Τα φίλτρα σωματιδίων είναι μια συγκεκριμένη εφαρμογή.

* Συμπληρωματικό φίλτρο: Ανάμειξη της εξόδου διαφορετικών αισθητήρων με βάση τα χαρακτηριστικά συχνότητας τους (π.χ. χρησιμοποιώντας επιταχυνσιόμετρο για κίνηση υψηλής συχνότητας και γυροσκόπιο για μακροπρόθεσμο προσανατολισμό).

2. Εντοπισμός &χαρτογράφηση: Αλγόριθμοι που επιτρέπουν στο ρομπότ να γνωρίζει τη θέση του και να δημιουργήσει μια αναπαράσταση του περιβάλλοντος του. Συχνά επικαλύπτεται με την αντίληψη.

* SLAM (ταυτόχρονη εντοπισμός και χαρτογράφηση): Όπως αναφέρθηκε παραπάνω, τόσο το Visual όσο και το Lidar Slam είναι κρίσιμοι. Οι αλγόριθμοι κλειδιών περιλαμβάνουν:

* ekf slam: Μια πρώιμη προσέγγιση χρησιμοποιώντας το εκτεταμένο φίλτρο Kalman.

* Slam που βασίζεται σε γραφήματα: Αντιπροσωπεύοντας τον χάρτη ως γράφημα όπου οι κόμβοι είναι ρομπότ θέτει και οι άκρες είναι περιορισμοί μεταξύ των θέσεων. G2O, Ceres Solver είναι κοινές βιβλιοθήκες βελτιστοποίησης.

* Φίλτρο σωματιδίων Slam (Fastslam): Χρησιμοποιώντας ένα σύνολο σωματιδίων (υποθέσεις) για να αντιπροσωπεύουν τις πιθανές θέσεις ρομπότ και χάρτη.

* Graphs Factor: Μια γενίκευση του γραφήματος που επιτρέπει την πιο ευέλικτη μοντελοποίηση του θορύβου και των περιορισμών του αισθητήρα.

* μόνο εντοπισμός:

* εντοπισμός Monte Carlo (MCL): Χρησιμοποιώντας ένα φίλτρο σωματιδίων για την εκτίμηση της θέσης του ρομπότ, δίνοντας έναν γνωστό χάρτη.

* AMCL (προσαρμοστικός εντοπισμός Monte Carlo): Μια επέκταση του MCL που μπορεί να προσαρμόσει τον αριθμό των σωματιδίων με βάση την αβεβαιότητα στη στάση του ρομπότ.

* GPS (σύστημα παγκόσμιας τοποθέτησης): Για υπαίθρια περιβάλλοντα όπου είναι διαθέσιμο το σήμα GPS. Συχνά συγχωνευμένο με άλλους αισθητήρες.

* Χαρτογράφηση:

* χαρτογράφηση πλέγματος πληρότητας: Δημιουργία πιθανοτικού χάρτη του περιβάλλοντος.

* Χαρτογράφηση βασισμένη σε χαρακτηριστικά: Δημιουργία ενός χάρτη των σημαντικών χαρακτηριστικών στο περιβάλλον (π.χ. γωνίες, άκρες).

* Τοπολογική χαρτογράφηση: Που αντιπροσωπεύει το περιβάλλον ως γράφημα θέσεων και συνδέσεων μεταξύ τους. Χρήσιμο για πλοήγηση υψηλού επιπέδου.

* Σημασιολογική χαρτογράφηση: Αυξάνοντας τον χάρτη με σημασιολογικές πληροφορίες σχετικά με τα αντικείμενα και τα μέρη στο περιβάλλον (π.χ. "κουζίνα", "τραπέζι", "πρόσωπο").

3. Σχεδιασμός και πλοήγηση: Αλγόριθμοι για τον προσδιορισμό του καλύτερου δρόμου για να ακολουθήσει το ρομπότ για να επιτύχει ένα στόχο.

* Προγραμματισμός διαδρομής:

* a* search: Ένας αλγόριθμος αναζήτησης γραφημάτων που βρίσκει το συντομότερο μονοπάτι από μια αρχή σε ένα στόχο, χρησιμοποιώντας έναν ευρετικό για να καθοδηγήσει την αναζήτηση.

* Αλγόριθμος Dijkstra: Ένας άλλος αλγόριθμος αναζήτησης γραφημάτων που βρίσκει το συντομότερο μονοπάτι, αλλά χωρίς ευρετικό.

* rrt (ταχέως εξερευνώντας τυχαία δέντρο): Ένας αλγόριθμος που χτίζει ένα δέντρο πιθανών διαδρομών με τυχαία δειγματοληψία του χώρου διαμόρφωσης. Rrt*, ενημερωμένες rrt* είναι παραλλαγές που βελτιώνουν την απόδοση.

* PRM (πιθανός χάρτης πορείας): Ένας αλγόριθμος με βάση τη δειγματοληψία που δημιουργεί έναν χάρτη πορείας του περιβάλλοντος, ο οποίος στη συνέχεια μπορεί να χρησιμοποιηθεί για να σχεδιάσει διαδρομές μεταξύ οποιωνδήποτε δύο σημείων.

* Δυναμικά πεδία: Η δημιουργία ενός τεχνητού δυναμικού πεδίου όπου ο στόχος είναι ελκυστικός και τα εμπόδια είναι απωθητικά. Το ρομπότ ακολουθεί την κλίση του πεδίου.

* Βελτιστοποίηση τροχιάς: Διαμόρφωση του προβλήματος σχεδιασμού διαδρομής ως πρόβλημα βελτιστοποίησης και επίλυση του χρησιμοποιώντας τεχνικές όπως κάθοδο κλίσης ή διαδοχικό τετραγωνικό προγραμματισμό. Chomp, Trajopt.

* Προγραμματισμός κίνησης: Θεωρεί τη δυναμική και τους περιορισμούς του ρομπότ (π.χ. ταχύτητα, επιτάχυνση, όρια άρθρωσης) κατά τον προγραμματισμό μιας διαδρομής. Συχνά χρησιμοποιεί βελτιστοποίηση τροχιάς.

* Πλοήγηση:

* Έλεγχος PID: Ένας ευρέως χρησιμοποιούμενος αλγόριθμος ελέγχου για τη ρύθμιση της κίνησης του ρομπότ. Αναλογικοί, ολοκληρωμένοι, παράγωγοι όροι.

* Προγνωστικός έλεγχος μοντέλου (MPC): Μια προηγμένη τεχνική ελέγχου που βελτιστοποιεί την τροχιά του ρομπότ πάνω από έναν πεπερασμένο ορίζοντα, λαμβάνοντας υπόψη τη δυναμική και τους περιορισμούς του ρομπότ.

* Μάθηση ενίσχυσης: Εκπαίδευση του ρομπότ για πλοήγηση σε ένα περιβάλλον μέσω δοκιμών και σφάλματος. Q-Learning, Deep Q-Networks (DQN), Βελτιστοποίηση εγγύς πολιτικής (PPO). Ιδιαίτερα χρήσιμο για σύνθετα, δυναμικά περιβάλλοντα.

* Ρομποτική βασισμένη στη συμπεριφορά: Σχεδιάζοντας τη συμπεριφορά του ρομπότ ως συλλογή αντιδραστικών μονάδων που ανταποκρίνονται σε διαφορετικές εισόδους αισθητήρων. Αρχιτεκτονική υποκειμένων.

* Προγραμματισμός εργασιών: Σχεδιασμός υψηλότερου επιπέδου που συνεπάγεται τη διάσπαση ενός σύνθετου καθήκοντος σε μια ακολουθία ενεργειών. Ιεραρχικά δίκτυα εργασιών (HTNS).

4. Έλεγχος: Αλγόριθμοι για την εκτέλεση της προγραμματισμένης διαδρομής και τη διατήρηση της σταθερότητας.

* Έλεγχος PID: (Όπως αναφέρθηκε παραπάνω, που χρησιμοποιείται επίσης στη πλοήγηση).

* Έλεγχος τροφοδοσίας: Χρησιμοποιώντας ένα μοντέλο του συστήματος για την πρόβλεψη των απαιτούμενων εισόδων ελέγχου.

* Εκτίμηση κατάστασης: (Kalman Filters, κλπ.) Εκτίμηση της εσωτερικής κατάστασης του ρομπότ (θέση, ταχύτητα κ.λπ.) από δεδομένα αισθητήρων. Αυτό είναι ζωτικής σημασίας για τον έλεγχο ανατροφοδότησης.

* Έλεγχος δύναμης: Έλεγχος των δυνάμεων που ασκούν το ρομπότ στο περιβάλλον. Υβριδικός έλεγχος θέσης/δύναμης, έλεγχος σύνθετης αντίστασης, έλεγχος εισδοχής. Σημαντικό για τα καθήκοντα χειραγώγησης.

* Προσαρμοστικός έλεγχος: Προσαρμογή των παραμέτρων ελέγχου σε πραγματικό χρόνο για να αντισταθμιστεί οι αλλαγές στο περιβάλλον ή η δυναμική του ρομπότ.

* ισχυρός έλεγχος: Σχεδιασμός ελεγκτών που δεν είναι ευαίσθητοι στις αβεβαιότητες και τις διαταραχές.

* Μη γραμμικός έλεγχος: Τεχνικές για τον έλεγχο των ρομπότ με τη μη γραμμική δυναμική. Backstepping, έλεγχος συρόμενης λειτουργίας.

5. Χειραγώγηση: Αλγόριθμοι για την πιάση, τον χειρισμό και τη συναρμολόγηση αντικειμένων.

* Πιάση:

* Προγραμματισμός: Προσδιορισμός του καλύτερου τρόπου για να κατανοήσετε ένα αντικείμενο με βάση το σχήμα του και τη λαβή του ρομπότ.

* Κλείσιμο δύναμης: Εξασφαλίζοντας ότι η κατανόηση είναι σταθερή και μπορεί να αντισταθεί στις εξωτερικές δυνάμεις.

* μετρήσεις ποιότητας: Αξιολόγηση της ποιότητας μιας κατανόησης που βασίζεται σε παράγοντες όπως η σταθερότητα, η ευρωστία και η επιδεξιότητα.

* Βαθιά μάθηση για πιάσιμο: Η κατάρτιση των νευρωνικών δικτύων για να προβλέψει την κατανόηση θέτει απευθείας από εικόνες ή σύννεφα σημείων. Graspnet, Dex-Net.

* Προγραμματισμός κίνησης για χειραγώγηση:

* Σχεδιασμός βάσει δειγματοληψίας: (RRT, PRM) Σχεδιάζοντας την κίνηση του βραχίονα του ρομπότ, αποφεύγοντας ταυτόχρονα συγκρούσεις με το περιβάλλον και το αντικείμενο που χειρίζεται.

* Βελτιστοποίηση τροχιάς: Βελτιστοποίηση της τροχιάς του ρομπότ για την ελαχιστοποίηση της κατανάλωσης ενέργειας ή του χρόνου εκτέλεσης.

* Έλεγχος δύναμης για χειραγώγηση: (Όπως αναφέρθηκε παραπάνω)

* Σχεδιασμός συναρμολόγησης: Σχεδιασμός της ακολουθίας των ενεργειών που απαιτούνται για τη συναρμολόγηση ενός σύνθετου αντικειμένου.

* Διδακτορική χειραγώγηση: Αλγόριθμοι για τη χρήση πολλαπλών δακτύλων ή όπλων για την εκτέλεση σύνθετων εργασιών χειρισμού.

6. Μηχανική μάθηση και τεχνητή νοημοσύνη:

* Μάθηση ενίσχυσης: (Όπως αναφέρθηκε παραπάνω)

* Εποπτική μάθηση: Μοντέλα κατάρτισης για την πρόβλεψη της συμπεριφοράς ρομπότ ή την ταξινόμηση των δεδομένων αισθητήρων.

* Μάθημα μη εποπτείας: Ανακαλύπτοντας μοτίβα σε δεδομένα αισθητήρων χωρίς επισημασμένα παραδείγματα.

* βαθιά μάθηση: Χρησιμοποιώντας βαθιά νευρωνικά δίκτυα για αντίληψη, σχεδιασμό και έλεγχο.

* Εκμάθηση απομίμησης: Εκπαίδευση ενός ρομπότ για να μιμηθεί τη συμπεριφορά ενός ανθρώπινου διαδηλωτή.

* γενετικά μοντέλα: Δημιουργία μοντέλων που μπορούν να δημιουργήσουν νέα δεδομένα (π.χ. εικόνες, σύννεφα σημείων) για προσομοίωση ή αύξηση δεδομένων. Gans, Vaes.

* Επεξεργασία φυσικής γλώσσας (NLP): Επιτρέποντας τα ρομπότ να κατανοούν και να ανταποκρίνονται στις εντολές φυσικής γλώσσας.

Σημαντικές εκτιμήσεις:

* απόδοση σε πραγματικό χρόνο: Πολλοί αλγόριθμοι ρομποτικής πρέπει να τρέχουν σε πραγματικό χρόνο για να είναι χρήσιμοι.

* ευρωστία: Οι αλγόριθμοι πρέπει να είναι ανθεκτικοί στον θόρυβο, την αβεβαιότητα και τις αλλαγές στο περιβάλλον.

* Υπολογιστική πολυπλοκότητα: Πρέπει να ληφθεί υπόψη η υπολογιστική πολυπλοκότητα του αλγορίθμου, ειδικά για ρομπότ με περιορισμένη ισχύ επεξεργασίας.

* Ενσωμάτωση: Διαφορετικοί αλγόριθμοι πρέπει να ενσωματωθούν μαζί για να δημιουργηθούν ένα πλήρες ρομποτικό σύστημα.

* Προσομοίωση: Η προσομοίωση χρησιμοποιείται συχνά για την ανάπτυξη και δοκιμή αλγορίθμων ρομποτικής πριν από την ανάπτυξη τους σε πραγματικά ρομπότ. Gazebo, V-Rep/Coppeliasim, Pybullet είναι κοινά περιβάλλοντα προσομοίωσης.

* Πλαίσιο και βιβλιοθήκες: Το ROS (λειτουργικό σύστημα ρομπότ) είναι ένα ευρέως χρησιμοποιούμενο πλαίσιο που παρέχει μια συλλογή εργαλείων και βιβλιοθηκών για την ανάπτυξη λογισμικού ρομποτικής. Το OpenCV (για το Vision Computer), το PCL (βιβλιοθήκη σημείων σύννεφων), το TensorFlow, το Pytorch (για την εκμάθηση μηχανών) είναι επίσης απαραίτητες.

Αυτή η λίστα δεν είναι εξαντλητική, αλλά παρέχει μια καλή επισκόπηση των αλγορίθμων κλειδιών που χρησιμοποιούνται στη ρομποτική. Οι συγκεκριμένοι αλγόριθμοι που χρησιμοποιούνται σε ένα συγκεκριμένο ρομπότ θα εξαρτηθούν από το έργο, το περιβάλλον και το υλικό του ρομπότ. Το πεδίο της ρομποτικής εξελίσσεται συνεχώς, έτσι ώστε να αναπτύσσονται συνεχώς νέοι αλγόριθμοι και τεχνικές.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα