Sonntag, 2. April 2023

Entwicklungs Roboter für PiMowBot IT SW

  Sensoren Kamera und TOF

Im Februar habe ich über die Konstruktion meines MINIPiMowBots berichtet.
Mittlerweile ist er schon funktionsfähig, lässt sich über ein Web Interface steuern und kann mit den eingebauten Sensoren seine Umgebung erkennen. Mit diesen ausgewerten Informationen steuert ihn die zentrale PiMowBotIT-SW. Mithilfe des kleinen MINIS wird die SW permanent weiter entwickelt. In diesem Post möchte ich über die Funktion einiger der verbauten Sensoren berichten. Weitere Posts zu den hier noch nicht benannten Sensoren folgen.

Die Kamera

Sie erkennt das Grün vor sich und kann damit der Steuerung übermitteln, wo der MINIPiMowBot sich nicht hin bewegen soll. Diese Bilder sollen verdeutlichen, wie die Kamera-SW das erkennt und die jeweiligen Frames detektiert. Für diese Simulation habe ich den Fußoden mit grünen Foto Kartons ausgelegt und den MINIPiMowBot in den AutoMow Modus versetzt.

Die ToF Sensoren links und rechts


Sie erkennen Hindernisse in einem Abstand von ca. 140cm sehr sicher und geben diese Information an die Steuerung weiter. Über einen definierbaren Schwellwert in einer Optionsdatei z.B. 30cm leitet die zentrale Steuerung ein Wende- oder Ausweichmanöwer ein. Dieses Bild zeigt ein Blick durch die Kamera des MINIPiMowBots. Unten links und rechts sind die jeweiligen Abstandswerte eingeblendet, welche die ToF Sensoren detektieren.
Die 84 in der Mitte ist die Ausrichtung in Grad des Bots

Der ToF Sensor in der Mitte

Er ist auf einem Servo befestigt und kann je nach verwendetem Servo bis zu 360 Grad um den MINIPiMowBot schauen. Bei mir ist ein 270 Grad Servo verbaut. Auch diese Parameter lassen sich in der Optionsdatei festlegen. Mit einem Kommando von der Weboberfläche scannt der ToF wie ein LiDAR Sensor seine Umgebung und richtet sich dann auf die kürzeste Entfernung aus. Diese erkennt der MINIPiMowBot als Wand, an der er dann im AutoMow Modus in gleichem Abstand entlang fahren soll.


Die anderen Sensoren wie das INA Modul, den Kompass und das BME Modul
stelle ich dann in meinem nächsten Post vor.

Also bleibt dran, denn es bleibt spannend.

Freitag, 17. Februar 2023

Entwicklungs Roboter für PiMowBot IT SW

 Mittleres Frontteil und ToF Halterung

Nun ist es fast geschafft. Der MINIPiMowBot ist nahezu fertig. Es fehlt jetzt noch die Halterung für die Kamera und die Anbringung der Time of Flight Sensoren
Bevor ich genau wußte wie ich die Kamera montieren wollte habe ich einige Aufnahmen mit der Kamera des Zeros gemacht. Wenn der MINIPiMowBot sich bewegt, muss er mit der Kamera das was sich vor ihm abspielt erfassen. Dazu habe ich die Kamera möglichst hoch aber auch einigermaßen schräg montiert. Im Moment verwende ich eine Neigung bei der Kamera von ca. 65°. Damit kann er ca. 1m weit vorausschauen, und hat einen Blindbereich direkt vor dem Modell von ca. 10cm. In der Praxis werde ich sehen, ob das für die Reaktionen auf grünem Grund ausreicht, oder ob die Kamera nicht ganz so schräg montiert werden muss. Hier ist das Mittelteil der Front abgebildet.

Es wird einfach als letztes Teil zwischen die linke und rechte Front eingepasst. Stabilität bekommt es durch die Verschraubungen auf der linken und rechten Seite die dann auch durch die anderen Konstruktionen der Front gehen. Links und rechts neben der roten Konstruktionskomponente sind die Formteile für die ToFs abgebildet. Diese sind so konstruiert, dass sie einfach durch das dazugehörige Frontteil gesteckt werden. Aufgrund des aufeinander abgestimmten Außendurchmessers sitzen sie sehr stramm in der Front und müssen nicht zusätzlich verschraubt werden. Die ToFs werden zuvor mit Kunststoff M3 Schrauben und Muttern an die Formteile angeschraubt.

Sollte der Winkel der Kamera also zu steil ausgefallen sein, so muss nur die Konstruktion für den Kamerahalter erneuert werden 
Zum Schluss werden nun noch einfach die beiden Abdeckungen der Front  oben als Abschlußkante aufgesetzt. Mit den M3 Muttern auf den Gewindestangen verschraubt und dann die kleinen Blenden in die runden Befestigungslöcher eingesetzt.

Soweit zur Konstruktion des MINIPiMowBots. Mit Fusion360 arbeite ich seit ca. 2 Jahren, seit dem ich meinen Prusa Mini+ besitze. Fusion 360 ist sehr mächtig. Sicher nutze ich noch nicht alle Funktionen die Fusion bietet. Was mir sehr gut gefällt ist die Konstruktion von aufeinander abgestimmter Formteile. Je nach Erfordernis z.B. hier bei den ToF-Halterungen, oder bei den Blenden für die Befestigungsmuttern, lassen sich in Kombination mit dem 3d Drucker hervorragend einzelne Komponenten passgenau erstellen. Die Zeit, die ich für Konstruktion und drucken der Konstruktionsteile benötigt habe, würde ich auf gut 40 Std. schätzen. Nicht jede Konstruktion hat auf Anhieb gepasst, weil ich nicht alles bedacht habe. Da konnte dann der Drucker nichts dafür. Dann musste eben noch einmal das Teil überarbeitet werden. Aber in Summe denke ich ist es ein gutes Modell geworden, welches eine Menge an Möglichkeiten bietet zusätzliche Sensoren anzubringen.

Im nächsten Post zu dem MINIPiMowBot, werde ich auf die eingesetzte SW auf dem Raspberry Pi Zero eingehen und einen kurzen Ausblick auf die Features geben die ich gerne mit dem MINIPiMowBot noch umsetzen möchte. 

Entwicklungs Roboter für PiMowBot IT SW

Vordere Konstruktion

Nachdem nun der PiZero seinen Platz (hier nach zu lesen) im MINIPiMowBot gefunden hat, können wir uns mit dem vorderen Teil des Modells beschäftigen. Da ich bei meinen eigenen Konstruktionen bisher immer ein wenig nachbessern musste, wähle ich die 3d Drucke nie übermäßig groß. Lieber baue ich aufeinander auf, als einen 7Std. Druck in die Tonne zu treten. Diese Überlegung war auch Grundlage der folgenden Konstruktionen. Auf dem folgenden Bild lässt sich gut erkennen, dass sich eine Fronthälfte, hier die linke Front, aus 5 Bausteinen zusammensetzt. 


1 Stoßstange-links , 2 Front-Unten-links, 3 Front-Mitte-links,
4 Front-oben-links, 5 Abdeckung-links.

Alles wird auf das Frontchassis 6 aufgesetzt und mit unterschiedlich langen M3 Schrauben verschraubt. Für die Löcher, die man oben in der Abdeckung erkennen kann, habe ich mir aus einer M3 Gewindestange passende Schrauben zurecht gesägt. 

Diese Bild zeigt die Einzelteile der linken Front. Die Verbindungen zu den Konstruktionskomponenten lassen sich gut erkennen. Die einzelnen Komponenten werden  zusammen gesteckt und anschließend durch die Gewindeschrauben fixiert. Alle Komponenten haben damit einen sehr stabilen Halt. 
Links und rechts in der Bodenplatte habe ich noch große Durchführungen vorgesehen. Hier könnten z.B. zusätzliche Spulen, oder Fotosensoren installiert werden, um die Begrenzung des Arbeitsbereiches vom MINIPiMowBot zu detektieren. Die Bodenplatte wird einfach jeweils mit 2 M3 Schrauben an den linken und rechten Rad-Spoiler  an geschraubt. Die Aufnahme für das Bugrad erkennt man gut in der Mitte der Bodenplatte. Es ist eine Standard Umlenkrolle mit Kugellager. Sie hat oben einen 6mm Dorn und wird durch in die Aufnahme in der Bodenplatte gesteckt. Eine Klemmvorrichtung mit M3 Mutter und Schraube ist vorgesehen, die ich bei mir aber nicht installiert habe. Es hat genügend Halt durch das PETG Material der Bodenplatte.
Die Frontteile 1 - 5 werden dann einfach für die rechte Hälfte gespiegelt.

Im nächsten Post gehe ich auf das Mittelteil mit der Kamera Befestigung und die Konstruktion für die ToF Sensoren ein. 

Mittwoch, 15. Februar 2023

Entwicklungs Roboter für PiMowBot IT SW

Rad-Spoiler und Pi Halterung

Ab heute geht es in meinem Blog zum MINIPiMowBot um den Aufbau der Konstruktionsteile die sich vor den Antriebsrädern befinden. Nachdem das Heck hier beschrieben wurde, sind heute die Rad Spoiler vorn und die Halterung des Pi Zero's an der Reihe.
   
Zur besseren Übersicht habe ich die Zeichnung wieder ein wenig vereinfacht. In grau sind die Servohalterungen dargestellt. Die Spoiler sind die Konstruktionen 1 und 2 Sie werden einfach vor die Servo-Motoren aufgeschraubt. Man kann auch gut erkennen wie die hintere Spitze der Konstruktion und die vordere äußere Kante des Spoilers das Antriebsrad dann schützen werden.
Direkt zwischen die beiden Spoiler 1 und 2 findet dann der Pi platz. Er steht hochkant und ist mit einem einfachen Klemmblock an der Headerleiste befestigt.

Der Klemmbügel wird einfach oberhalb der Headerleiste (hier nicht in der Zeichnung vorhanden) aufgesetzt und mit der Grundplatte festgeschraubt. Der Pi lässt sich dann mittels dieser Schrauben bei Bedarf einfach lösen. Bei mir saß die Konstruktion so stramm zwischen den beiden Spoilern, dass ich sie erst später mit der Grundplatte verschrauben musste.
Für die Anschlüsse der Sensoren habe ich mir schon vor einigen Monaten eine Expanderplatine ätzen lassen. Mit ihr ist es einfach den Pi mit Sensoren zu verbinden. Für die Belegung der Steck-Kontakte habe ich mir eine Standard Belegung definiert, die identisch mit den meisten i2c Entwicklungboards ist also VCC, GND, SCL, SDA.
 

Diese Bild zeigt das Expander Board auf einem Pi 4.

Im nächsten Teil werde ich erklären wie ich die ToF Sensoren und die Kamera in den MINIPiMowBot integriert habe. Also dran bleiben!







Entwicklungs Roboter für PiMowBot IT SW

Hall- /Lightsensoren und Akku Halterung
 
Nachdem im letzten Post die Halterung für die Servos zusammengebaut wurden, laufen wir heute auf das erste Problem. Um die Radumdrehungen des Antriebes auszuwerten werden im PiMowBot Hall Sensoren eingesetzt. Dies funktionieren sehr zuverlässig und sind auch Schmutzunempfindlich. Bei dem MINIPiMowBot habe ich die auch verbaut, jedoch stellte ich bei der Kalibrierung des Kompasses fest, dass die Magnete sich negativ auf das MPU also den Kompass ausgewirkt haben. Es gelang mir aber auch nicht eine andere Position für das Kompassmodul zu finden. Das Modell ist einfach sehr kompakt. Also habe ich Lichtempfindliche Sensoren eingesetzt. Die NeoDym Magnete gegen Weiße Kappen von Heftzwecken ausgetauscht und eine entsprechende Halterung konstruiert. Es handelt sich bei den Infrarot Sensoren um TCRT5000 Bausteine auf einem kleinen Entwicklungsboard.

Die Bords für das linke und rechte Rad werden auf die schwarze Halterung geschraubt, und diese dann auf die Montage Platten. Mit Hilfe der Langlöcher lassen sich die Sensoren wunderbar auf den passenden Abstand zum Rad ein justieren. Damit das ganze jetzt Stabilität bekommt, sitzt - wie im letzten Post beschrieben - die Halterung für die StepDown Regler oben darüber und fixiert somit die Montageplatten fest zwischen Halterung und Servobefestigung.
Bei meinen bisherigen Modellen bin ich bei Probefahrten oft mit den Antriebsrädern hängen geblieben. Vor allem wenn die Kurven zu eng genommen wurden. Daher habe ich für vorn und hinten an die Servobefestigungen Spoiler  konstruiert. Die hinteren Spoiler bilden dann auch die Aufnahme für die Akkuhalterung.

Im folgenden Bild habe ich die Perspektive auf die Rückansicht gewechselt. Hier kann man die hinteren Konstruktionsteile sehr gut erkennen. Auch wie sie sich wieder aus 2 hälften zusammen setzen.
Ein Schalter habe ich links und die Ladebuchse rechts integriert.

Als letztes für heute die Akkuhalterung.
Sie verbindet wieder die beiden Spoiler miteinander und gibt mit der grünen Stoßstange die notwendige Stabilität. Später auf den Fotos läßt gut das standard Akkufach für die drei 18650 Lippos erkennen.



Die Akkuhalterung wird einfach auf die beiden Formteile aufgeschraubt und verbindet diese miteinander. Die grüne Stoßstange verbirgt Unebenheiten an der Stoßkante der beiden Formteile und erhöht die Stabilität. Damit habe ich den Zusammenbau des hinteren Teils des MINIPiMowBots erklärt. Es sind nicht einmal 20 Konstruktionszeichnungen, da die meisten Teile für links und rechts identisch sind und nur für den Druck gespiegelt werden mussten

Im kommenden Post geht es dann mit der Halterung für den Pi und dem vorderen Teil des Modells weiter.

  

Dienstag, 14. Februar 2023

Entwicklungs Roboter für PiMowBotIT SW

Halterungen für Servos und L298 Brücken Modul

Im letzten Post hatte ich schon auf die zu erfüllenden  Standards meines Modells hingewiesen. Da mein 3D Drucker nur ein Druckfeld von 18x18x18cm hat und ich nicht so gerne super große Bauteile drucke, habe ich mich entschieden Komponenten zu konstruieren die sich aneinander setzten lassen.
Ich bin mit der Servo Befestigung gestartet.
Wie ihr sehen könnt, besteht die Befestigung aus zwei gespiegelten Befestigungsblöcken.

Die Servo Motoren werden gegeneinander gerichtet in die Halterungen hinein gelegt und mit M3 Schrauben verschraubt. Hierzu habe ich keine Einpressbuchsen  benutzt, sondern die Muttern werden seitlich in die dafür vorgesehenen Fächer gesteckt. in der Mitte stoßen die Halter direkt voreinander und bieten noch Platz für die Aufnahme des L298er Moduls, welches wie beim originalen PiMowBot die Ansteuerung der Servo Motoren übernimmt.

Für die notwendige Stabilität sorgt dann zum einem oben eine Halterung auf der die StepDown Regler für den Pi, für die Antriebsmotoren und für den Regler zum Laden der LiPo Akkus montiert werden. Unten verbindet eine aus PLA Filament gedruckte Grundplatte die beiden Servohalter. Diese hatte ich ganz zum Schluß konstruiert und  montiert, dazu musste ich nochmals einige Schraubverbindungen gelöst werden, aber das war nicht weiter störend. 

Auf dem grünen Stabilisator finden die 3 StepDown Regler Platz. Sie wird mit M3 Schrauben von unten durch die Servo Halterungen befestigt. An den Seiten sieht man wieder die Fächer für die M3 Muttern.

Der nächste Post befasst sich dann mit der Akku-Halterung und den Hall Sensoren.

 

Montag, 13. Februar 2023

Entwicklungs Roboter für PiMowBot IT SW

Erste Überlegungen und das erste Antriebs-Rad

Meine bisherigen umgerüsteten / selbstgebauten Mähroboter eigneten sich nicht besonders gut um in der Wohnung an zusätzlicher SW zu entwickeln und diese dann zu testen. Also musste ein kleineres Modell her.  Über was sollte dieses Modell verfügen und was sollte es können?

1. Es sollten alle Sensoren vorhanden sein, die auch im PiMowBot verbaut sind.
2. Das Modell sollte über Antriebsmotoren verfügen die sich nicht zu schnell drehen
3. Die Motore sollten aber auch genügend Kraft haben um das Modell sicher zu bewegen
4. Die Antriebsräder sollten eine Gummi Beschichtung haben, damit das Modell auch gut
    auf glattem Untergrund fährt
5. Die benötigten Teile mussten sich mit meinem Prusa Mini+ drucken lassen,
    er hat einen 18x18x18 cm Druckbereich.

Als erstes habe ich mich mit dem Antrieb beschäftigt.

Mir fielen die Dichtungslippenringe von HT Rohren ein. Ich kannte die noch als Rundprofil Ringe, aktuell sind die interessant geformt. Aber ein Ring von einem 90mm HT Rohr erschien mir als passende Größe. In meiner Bastelkiste habe ich einen MG995 Servo gefunden. Da habe ich die Elektronik ausgebaut. Der Motor wird nun direkt mit Spannung versorgt.
Ein Rad, passend für den Dichtungsring und den Servo habe ich dann konstruiert und gedruckt. Damit die Hall Sensoren auch angesprochen werden, erhielten die Räder Speichen mit kleinen Aussparungen für die NeoDym Magnete.

Die Räder haben eine Nut, in der die Dichtungsringe exakt hinein passen. Beim rechten Rad ist die schwarze Halterung für die NeoDym Magnete erkennbar. Sie ist so konstruiert, dass sie einfach auf das Rad wie eine Radkappe von innen aufgesetzt wird. Die Magnete können somit nicht herausfallen.

Morgen stelle ich die Halterungen für die Servo Antriebsmotoren vor.



Entwicklungs Roboter für PiMowBot IT SW

Die Idee und der Bedarf

Seit fast einem Jahr war ich hier nicht mehr online. Aber auf der faulen Haut habe ich nicht gelegen. Vieles ist beim Mähroboter zwischenzeitlich entstanden. In diesem Beitag möchte ich den 3D gedruckten Mini-PiMowBot vorstellen.

Warum kam es dazu?
Im Herbst und Winter bin ich zur Weiterentwicklung von Add-On SW immer mit dem großen Mäher durch die Wohnung gefahren. Das war ziemlich uncool. Daher habe ich mir überlegt ein kleineres Modell zu bauen, welches bis auf den Mähantrieb aber alle Funktionen beinhaltet. 

 

Vielleicht kennt ihr noch mein erstes Modell ? Dieses eignete sich sehr gut um erste Erfahrungen mit der SW zu machen. Aber im Laufe der Zeit stellten sich doch einige mechanische Schwachstellen ein.
Daher habe ich mich entschlossen ein kpl. neues Modell zu bauen. Den Spannungsbogen will ich nicht zu groß aufbauen. Hier mein fertig aufgebautes Modell.

 
 

und hier eine erste Fahrt

Welche Überlegungen ich zu diesem Modell hatte, und wie ich es dann umgesetzt habe, schreibe ich in den nächsten Tagen hier in diesem Blog.
Wenn ihr also wissen wollt wie es weiter geht dann abonniert einfach diesen Blogbeitrag.