Ich möchte einen Roboter bauen, der so klein wie möglich und mit so wenig "empfindlichen" Teilen wie möglich ist (die Bots werden ineinander schlagen).
Ich habe mich gefragt, ob es möglich ist, einen kleinen Chip zu verwenden, der Bluetooth- / IR- / WLAN-Befehle zum Bewegen der Motoren empfängt und im Gegenzug Feedback basierend auf Sensoren wie einem Beschleunigungsmesser zurücksendet (um einen Aufprall zu erkennen).
Mit dem PiCy kann ich wahrscheinlich so etwas erreichen
Dies ist jedoch etwas größer als ich es gerne hätte (aufgrund der Größe des Pi) und ich bin mir nicht sicher, wie lange der Pi dauern würde, um kontinuierliche Stöße zu erzielen.
Ich möchte daher versuchen, das Gehirn (den Pi) zur Seite der Arena zu verschieben und einfach einen kleinen Chip zu verwenden, um Bewegungsbefehle zu empfangen und Daten vom Beschleunigungsmesser zurückzusenden.
Haben Sie Empfehlungen für einen solchen Chip? Wifi wäre meine Wahl, aber wenn es die Größe beeinflusst, könnte ich BT versuchen
Bearbeiten: Nach weiteren Recherchen scheint es, dass ein Arduino Nano mit einem WiFi RedBack-Schild die Arbeit zusammen mit so etwas für die Motoren erledigen könnte: http://www.gravitech.us/2mwfecoadfor.html
Es gibt zwei Ansätze, um die von Ihnen beschriebenen Roboter zu bauen.
Das erste ist, wie Sie vorschlagen, die Entkopplung der Rechenleistung vom Rest des Roboters, der die Sensoren und Aktoren hält. Dazu benötigen Sie eine gewisse Kommunikation zwischen der Verarbeitungseinheit (PC / RPi / Anderer Mikrocontroller) und Ihrem Roboter. Eine kostengünstige Lösung hierfür ist die Verwendung billiger Bluetooth-Module (suchen Sie bei eBay nach "Serial Bluetooth Module", sie sollten nicht mehr als 5 US-Dollar kosten). Auf der Roboterseite benötigen Sie ebenfalls einen Mikrocontroller, da Sie die Daten vom Bluetooth empfangen, verarbeiten und in Steuersignale für die Motoren umwandeln müssen. Darüber hinaus ist derselbe Mikrocontroller für das Lesen der Sensoren und das Zurücksenden der Daten an die Fernverarbeitungseinheit verantwortlich.
Der zweite Ansatz besteht darin, eine einzelne Verarbeitungseinheit zu haben, die sich auf dem Roboter befindet. Dieselbe Steuerung liest die Sensoren, liefert die Informationen und steuert die Motoren. Da der Roboter, den Sie beschreiben, einfach ist, könnte dieser Controller auf einem einfachen Mikrocontroller implementiert werden. Sie können Ihren eigenen Controller erstellen (mit PIC / AVR / ARM) oder eine fertige Lösung wie Arduino, BasicStamp usw. verwenden. Optional können Sie eine Bluetooth-Verbindung mit einem PC für die Telemetrie herstellen (Beobachtung der Sensorwerte und / oder manuelle Steuerung der Roboter).
Für Ihr Projekt erscheint der zweite Ansatz ansprechender. Es kostet viel weniger und Roboter reagieren schneller, da die Verarbeitung direkt am Roboter erfolgt. Da der erste Ansatz auch eine Verarbeitungseinheit am Roboter erfordert, scheint es ein Overkill zu sein, eine zweite Einheit für die Verarbeitung zu verwenden. Auf der anderen Seite können Sie mit dem ersten Ansatz Ihre Robotersteuerung in einem übergeordneten System (PC / RPi) entwickeln, das je nach Erfahrung eine komfortablere Umgebung bietet.
quelle
Ich glaube, ich habe den perfekten Controller für dieses Projekt gefunden:
http://www.robotshop.com/de/dagu-micro-magician-robot-controller.html
Mit dem Micro Magician kann ich 2 einfache Gleichstrommotoren steuern, Stöße und Abstürze mit dem Beschleunigungsmesser erkennen UND Bewegungsbefehle vom IR-Empfänger empfangen! Ziemlich toll für die Größe.
Das einzige Teil des Puzzles ist das Zurücksenden der Daten an die Fernbedienung (Beschleunigungsmesserdaten). Ich bin mir nicht sicher, ob ich einen IR-Sender oder vielleicht BT / Wifi anschließen könnte?
Bearbeiten: sieht so aus, als könnte dies den Job machen! http://www.dawnrobotics.co.uk/dagu-arduino-bluetooth-module/
Jetzt finden Sie kleine Motoren ...
quelle