Social bot

Social bot

Τέσσερα διαφορετικά ρομπότ τα οποία μπορούν να επικοινωνούν μαζί μας αξιοποιώντας τεχνητή νοημοσύνη

Αναλυτική περιγραφή ιδέας

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

Έχουμε μελετήσει 4 διαφορετικά σχέδια για τα ρομπότ μας τα οποία θα τα υλοποιήσουμε εισάγοντας και τις δικές μας τροποποιήσεις. Το πρώτο μας σχέδιο βασίζεται στο ρομπότ Buddy και δεν έχει πόδια ή ρόδες αλλά μπορεί να κινεί μόνο τον λαιμό του, ενώ η επικοινωνία με τους ανθρώπους βασίζεται σε απλούς αισθητήρες (απόστασης και ήχου), κινήσεις του λαιμού και απλά ηχητικά εφέ. Το δεύτερο σχέδιο βασίζεται στο ρομπότ Juno και αντί για πόδια έχει 2 ρόδες. Το ρομπότ αυτό θα συνδέεται μέσω Bluetooth με το κινητό μας τηλέφωνο και θα μπορούμε να επικοινωνήσουμε μαζί του από εκεί, δίνοντας του απλές φωνητικές εντολές. Το τρίτο μας σχέδιο βασίζεται στο Otto και το τέταρτο στο MobBob. Και τα δυο σχέδια έχουν πόδια ενώ στο τέταρτο τοποθετείται και το κινητό τηλέφωνο που λειτουργεί ως πρόσωπο.

Σχέδιο 1 – Αφροξυλάνθη

Η Αφροξυλάνθη βασίζεται στο ρομποτάκι Buddy το οποίο μπορεί να αντιλαμβάνεται αν είμαστε κοντά του και αξιοποιώντας τους σέρβο κινητήρες του και την τεχνητή νοημοσύνη να μας λέει ανέκδοτα, να παίζει μουσική και να χορεύει, αλληλοεπιδρώντας μαζί μας.

Συγκέντρωση υλικών

Τα σχέδια κατασκευής παρουσιάζονται παρακάτω:

Ηλεκτρονικά στοιχεία που χρειάζεται:

Οδηγίες συναρμολόγησης και σύνδεσης των ηλεκτρονικών συστημάτων:

Σχέδιο 2 – Juno

Συγκέντρωση υλικών

Αρχικά ελέγξτε ότι έχετε όλα τα παρακάτω μέρη που έχουμε εκτυπώσει στον 3Δ εκτυπωτή μας.

Τα μέρη από τα οποία αποτελείται το ρομπότ

Επίσης ελέγξτε ότι έχετε τα παρακάτω ηλεκτρονικά στοιχεία και εργαλεία:

Συναρμολόγηση

Βήμα 1: Τοποθέτηση των υποδοχέων για τους κινητήρες στο σώμα του ρομπότ

Χρησιμοποιήστε 2 βίδες για κάθε υποδοχέων καθώς και ένα κατσαβίδι

Βήμα 2: Τοποθέτηση κινητήρων στους υποδοχείς

Βήμα 3: Τοποθέτηση τροχών

Βήμα 4: Τοποθέτηση πλακέτας Uno και bluetooth

Σύνδεση καλωδίων

Σύνδεση bluetooth

Συνδέουμε τα 3V του Arduino με το VCC, την γείωση με την γείωση (GND), το TX του Arduino με το RXD του bluetooth και το RX του Arduino με το TXD του bluetooth

Σύνδεση κινητήρων

Βιδώνουμε καλά τα καλώδια από τους 2 κινητήρες στις υποδοχές OUT1 μέχρι και OUT4. Ύστερα συνδέουμε τις υποδοχές του οδηγού με το Arduino όπως φαίνεται στην εικόνα

Σύνδεση μπαταρίας και διακόπτη

Συνδέουμε τον θετικό πόλο της μπαταρίας με τον διακόπτη και τον διακόπτη με την υποδοχή 12V του οδηγού. Επίσης συνδέουμε την υποδοχή GND του οδηγού τον αρνητικό πόλο της μπαταρίας καθώς και με την υποδοχή GND του Arduino. Τέλος συνδέουμε την υποδοχή 5V του οδηγού με την υποδοχή VIN του Arduino.

Τροποποίηση σχεδίου για το κεφάλι

Μπορείτε να αντιγράψετε το σχέδιο του κεφαλιού του ρομπότ στον λογαριασμό σας στο TinkerCAD και να κάνετε ότι αλλαγές θέλετε: https://www.tinkercad.com/things/gwttCgiZg9D-juno-face

Σχέδιο 3 – Otto

Το Otto είναι ένα project ανοικτού κώδικα, συμβατό με το Arduino, εκτυπώσιμο από 3D εκτυπωτή και αποτελεί μια πραγματική ευκαιρία για να γνωρίσει κάποιος το χώρο της ρομποτικής αλλά και να διασκεδάσει. Το ρομποτάκι μπορεί να κινείται, να αποφεύγει εμπόδια, να χορεύει, να παράγει ήχους αλλά και εικόνες και κείμενα από την Led Matrix οθόνη που έχει.

https://www.printables.com/model/225166-otto-diy-humanoid-robot-alike/files

Σχέδιο 4 – MobBob

Συγκέντρωση υλικών

Ελέγξτε ότι έχετε τις παρακάτω εκτυπώσεις

Επίσης θα πρέπει να έχετε 4 servo κινητήρες, ένα Arduino uno ή νάνο, μια μονάδα bluetooth και μια μπαταρία 9V.

Αρχικοποίηση κινητήρων

Όλοι οι κινητήρες servo που χρησιμοποιούμε στο ρομπότ θα πρέπει πριν συναρμολογηθούν να αρχικοποιηθούν ώστε να βρίσκονται στην μέση δηλαδή στις 90 μοίρες, αφού ο κάθε κινητήρας μπορεί να γυρίσει μεταξύ του 0 και του 180.

Για να το πετύχουμε αυτό θα συνδέσουμε κάθε κινητήρα με την σειρά σε ένα Arduino στο Pin 9 και θα τρέξουμε ένα πρόγραμμα που θα γυρνάει τον κινητήρα στην θέση 90. Αρχικά θα φτιάξουμε το πρόγραμμα. Χρησιμοποιούμε το Arduino IDE και γράφουμε τον παρακάτω κώδικα:

#include <Servo.h>    // Βιβλιοθήκη για σερβοκινητήρες

Servo myservo;        // Αντικείμενο σερβοκινητήρα

void setup() {
  myservo.attach(9);  // Ενεργοποιούμε τον κινητήρα που είναι στο pin 9

}

void loop() {
  myservo.write(90);  // Στέλνουμε τον κινητήρα στην μέση, δηλαδή στις 90 μοίρες
}

Αφού γράψουμε το πρόγραμμα το αποθηκεύουμε στον υπολογιστή. Μετά συνδέουμε το Ardhuino στον υπολογιστή με καλώδιο USB και ελέγχουμε ότι στα “εργαλεία” είναι επιλεγμένη η πλακέτα Arduino Uno και επίσης στην θύρα, επιλέγουμε αυτή στην οποία φαίνεται να είναι συνδεδεμένη η πλακέτα. Αφού είμαστε έτοιμοι ανεβάζουμε το πρόγραμμα στην πλακέτα με το πλήκτρο “Ανέβασμα” (δεξί πράσινο βελάκι.

Τώρα συνδέουμε στο Ardunino έναν έναν όλους τους κινητήρες μας στο pin 9 σύμφωνα με το παρακάτω πίνακα:

  • Καφέ καλώδιο κινητήρα στο GND
  • Κόκκινο καλώδιο κινητήρα στο 5V
  • Πορτοκαλί καλώδιο κινητήρα στο 9

Μόλις συνδέουμε τον κινητήρα, αυτό θα γυρνάει στις 90 μοίρες. Τον βγάζουμε και βάζουμε τον επόμενο.

Συναρμολόγηση

Συνδεσμολογία

Πρόγραμμα Arduino

Το πρόγραμμα που θα περάσουμε στο arduino είναι σε αυτόν τον σύνδεσμο: https://github.com/cevinius/MobBob/blob/master/ArduinoCode/MobBob-Control-Bluetooth/MobBob-Control-Bluetooth.ino

Εφαρμογή για κινητό

Την εφαρμογή μπορείτε να την κατεβάσετε από αυτόν τον σύνδεσμο: https://apkpure.com/mobbob/com.cevinius.MobBob

Φωτογραφίες από την υλοποίηση

Παρουσίαση από μαθητές

3 Σχόλια

Αφήστε μια απάντηση